diff --git a/CI/watch_list.py b/CI/watch_list.py
index 01ef30f95fc99c3481c9e78eff944fb31d8114be..6a73a4834d9b84d1ba8fb0f43fb98fb131039bb2 100644
--- a/CI/watch_list.py
+++ b/CI/watch_list.py
@@ -20,3 +20,7 @@ WATCH_LIST['MuonIdentification'] = set(['jomeyer','wleight'])
 WATCH_LIST['AGDD'] = set(['jomeyer'])
 WATCH_LIST['(eflow)|(PFlow)|(PFO)'] = set(['mhodgkin'])
 WATCH_LIST['InDetBeamSpot'] = set(['csuster'])
+WATCH_LIST['MuonEfficiencyCorrections'] = set(['nkoehler','jojunnge'])
+WATCH_LIST['MuonTPTools'] = set(['nkoehler','jojunnge'])
+WATCH_LIST['MuonPerformanceAlgs'] = set(['nkoehler','jojunnge'])
+WATCH_LIST['MuonPerformanceHistUtils'] = set(['nkoehler','jojunnge'])
\ No newline at end of file
diff --git a/Calorimeter/CaloRec/python/CaloCellGetter.py b/Calorimeter/CaloRec/python/CaloCellGetter.py
index 9ebd2ff6e40ed3d9754dc37735069c9505f74a3f..0b62ce90d70e17c31e37a0431ca3ee5f4f86e2d8 100644
--- a/Calorimeter/CaloRec/python/CaloCellGetter.py
+++ b/Calorimeter/CaloRec/python/CaloCellGetter.py
@@ -415,6 +415,8 @@ class CaloCellGetter (Configured)  :
             try:
                 from LArCellRec.LArCellRecConf import LArBadFebMaskingTool
                 theLArBadFebMaskingTool = LArBadFebMaskingTool()
+                if (rec.doExpressProcessing() or athenaCommonFlags.isOnline()): # In online or express processing, EventInfo::LArError is triggered if >=4 FEB with data corrupted
+                    theLArBadFebMaskingTool.minFebInError = 4
             except:
                 mlog.error("could not get handle to LArBadFebMaskingTool Quit")
                 print traceback.format_exc()
diff --git a/Calorimeter/CaloRec/share/CaloRec_jobOptions.py b/Calorimeter/CaloRec/share/CaloRec_jobOptions.py
index bbd147bfd607acd0104aa0380e893793e380ca7b..b93b51daf465196d8d90d107bd45b7bb3a07e01d 100644
--- a/Calorimeter/CaloRec/share/CaloRec_jobOptions.py
+++ b/Calorimeter/CaloRec/share/CaloRec_jobOptions.py
@@ -34,6 +34,8 @@ if globalflags.DataSource()=='data':
                 # check format1 & results mode
                 if (larcool.format()==1 and larcool.runType()==2) :
                     larRODFlags.keepDSPRaw = True
+                if (larcool.format()==0):
+                    larRODFlags.keepDSPRaw = False      # raw data transparent mode, no DSP energy
 
    
 
diff --git a/Control/AthViews/AthViews/ViewHelper.h b/Control/AthViews/AthViews/ViewHelper.h
index 7cd424a378e462db738236fe78912dc524022b2b..a75683f4ec0e30294a1f5cda501c5bbf060f949b 100644
--- a/Control/AthViews/AthViews/ViewHelper.h
+++ b/Control/AthViews/AthViews/ViewHelper.h
@@ -84,6 +84,9 @@ namespace ViewHelper
                 return StatusCode::SUCCESS;
         }
 
+	
+
+	
 	//Function to run a set of views with the named algorithms
 	inline StatusCode RunViews( std::vector< SG::View* > const& ViewVector, std::vector< std::string > const& AlgorithmNames,
 			EventContext const& InputContext, SmartIF< IService > & AlgPool )
@@ -113,6 +116,26 @@ namespace ViewHelper
 		return StatusCode::SUCCESS;
 	}
 
+
+	// a varaint of RunViews accepting ready to use contexts
+	// useful ehne contexts neeed to be made anyways for the purpose of filling the handles
+	// to avoid confusion it start from small run
+	inline StatusCode runInViews( std::vector<EventContext>& contexts, const std::vector< std::string >& algorithms, SmartIF< IService > & algPool) {
+	  if ( contexts.empty() )
+	    return StatusCode::SUCCESS;
+	  
+	  tbb::task_list allTasks;
+	  for ( EventContext& ctx: contexts ) {
+
+	    tbb::task * viewTask  = new ( tbb::task::allocate_root() )GraphExecutionTask( algorithms, &ctx, algPool );
+	    allTasks.push_back( *viewTask );
+
+	  }
+	  tbb::task::spawn_root_and_wait( allTasks );
+
+	  return StatusCode::SUCCESS;
+	}
+	
 	//Function merging view data into a single collection
 	template< typename T >
 	inline StatusCode MergeViewCollection( std::vector< SG::View* > const& ViewVector, SG::ReadHandle< T > & QueryHandle, T & OutputData )
diff --git a/Control/AthenaBaseComps/AthenaBaseComps/AthCnvSvc.h b/Control/AthenaBaseComps/AthenaBaseComps/AthCnvSvc.h
index 2144c9d12602ae11fbf7274c1b6fb10cea21ef5d..af4867204932a163aad1e5002084761aa22e2a06 100644
--- a/Control/AthenaBaseComps/AthenaBaseComps/AthCnvSvc.h
+++ b/Control/AthenaBaseComps/AthenaBaseComps/AthCnvSvc.h
@@ -14,6 +14,7 @@
 // STL includes
 #include <string>
 #include <unordered_map>
+#include <mutex>
 
 // GaudiKernel
 #include "GaudiKernel/IConversionSvc.h"
@@ -315,6 +316,9 @@ protected:
   long                m_type;
   /// List of conversion workers
   Workers             m_workers;
+  /// Mutex to protect Converter creation
+  typedef std::mutex CallMutex;
+  CallMutex           m_conv_mut;
 }; 
 
 // I/O operators
diff --git a/Control/AthenaBaseComps/src/AthCnvSvc.cxx b/Control/AthenaBaseComps/src/AthCnvSvc.cxx
index 9edeb8ed02534eeb6e1d945cfb6c5c40bb35f630..05fba2dca2426c3871fbfcaf9b66538538a179ac 100644
--- a/Control/AthenaBaseComps/src/AthCnvSvc.cxx
+++ b/Control/AthenaBaseComps/src/AthCnvSvc.cxx
@@ -386,6 +386,7 @@ AthCnvSvc::removeConverter(const CLID& clid)
 IConverter*
 AthCnvSvc::converter(const CLID& clid)
 {
+  std::lock_guard<CallMutex> lock(m_conv_mut);
   Workers::iterator worker = m_workers.find (clid);
   if ( worker != m_workers.end() ) {
     return worker->second.converter();
diff --git a/Control/AthenaCommon/python/BeamFlags.py b/Control/AthenaCommon/python/BeamFlags.py
index a20d2543f88b2c19c90d7c66fb371f440057c4f5..fd0316389ae695f5562b8f8a6ab8b77cea950470 100644
--- a/Control/AthenaCommon/python/BeamFlags.py
+++ b/Control/AthenaCommon/python/BeamFlags.py
@@ -34,7 +34,7 @@ class bunchSpacing(JobProperty):
     """
     statusOn=True
     allowedTypes=['int']
-    StoredValue=50  
+    StoredValue=25  
 #
 #
 class numberOfCollisions(JobProperty):
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/GenericMonitoringTool.h b/Control/AthenaMonitoring/AthenaMonitoring/GenericMonitoringTool.h
index 369e15c3a757e6c20d9255bc7aae75c1d0948a9d..4847b74bd75549ee5e3431021e057373a55ef292 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/GenericMonitoringTool.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/GenericMonitoringTool.h
@@ -56,7 +56,7 @@
  * -# kVecUO adds the content of the monitored varaible to the bins as if monitored varaible would be another histogram treating oth and last elements as under/overflows
  *
  * @author Tomasz Bold <Tomasz.Bold@cern.ch>
- * @author Wang Meng
+ * @author Piotr Sarna
  */
 
 class GenericMonitoringTool : public AthAlgTool {
@@ -79,4 +79,4 @@ private:
 #include "AthenaMonitoring/MonitoredScalar.h"
 #include "AthenaMonitoring/MonitoredCollection.h"
 
-#endif /* AthenaMonitoring_GenericMonitoringTool_h */
\ No newline at end of file
+#endif /* AthenaMonitoring_GenericMonitoringTool_h */
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/GenericMonitoringToolTest.h b/Control/AthenaMonitoring/AthenaMonitoring/GenericMonitoringToolTest.h
deleted file mode 100644
index 2379788c1ab01529c7594955bb3440ad4ac36d3e..0000000000000000000000000000000000000000
--- a/Control/AthenaMonitoring/AthenaMonitoring/GenericMonitoringToolTest.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef AthenaMonitoring_GenericMonitoringToolTest_h
-#define AthenaMonitoring_GenericMonitoringToolTest_h
-
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "AthenaMonitoring/GenericMonitoringTool.h"
-
-class GenericMonitoringToolTest : public AthAlgorithm {
-public:
-	GenericMonitoringToolTest(const std::string& name, ISvcLocator* pSvcLocator);
-	StatusCode initialize();
-	StatusCode beginRun();
-	StatusCode execute();
-	StatusCode finalize();
-
-private:
-    ToolHandle<GenericMonitoringTool> m_monitoringTool;
-
-    void scalarTest();
-    void valuesCollectionTest();
-    void objectsCollectionTest();
-    void inLoopTest();
-};
-
-#endif
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h b/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h
index 1e9263a9eb6c08c5a627efb194d74ee80d870162..7ad482e13da7a4dc2619d6842877bc75075cae64 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h
@@ -15,8 +15,18 @@
 #include "AthenaMonitoring/HistogramFiller.h"
 
 namespace Monitored {
+  /**
+   * @brief Class used to collect local (scope) quantities and ship them to monitotoring output (histograms)
+   * For examples @see GenericMonFilling_test.cxx
+   **/
     class MonitoredScope {
     public:
+      /**
+       * @brief Named constructor 
+       * @arg tool - a handle to a monitoring tool, if invalid nothing is done (cheap)
+       * @arg scopeMonitored - list of varaibles to be shipped to monitoring output
+       **/
+      
         template <typename... T>
         static MonitoredScope declare(ToolHandle<GenericMonitoringTool> tool, T&&... scopeMonitored) {
             return MonitoredScope(tool, {std::forward<T>(scopeMonitored)...});
@@ -31,14 +41,22 @@ namespace Monitored {
                 delete filler;
             }
         }
-        
+
+	/**
+	 * @brief explicitely fill the monitoring output
+	 **/
         virtual void save() {
             for (auto filler : m_histogramsFillers) {
                 filler->fill();
             }
         }
-        
-        void setAutoSaveEnabled(bool isEnabled) {
+        /**
+	 * @berief enables/disables filling whne the MonitoredScope leaves the scope
+	 * Tpically one time fill, this should be left intact (true) 
+	 * while in tight loop this should disabled "setAutoSave(false)"
+	 * and explicit call to save used with the same scope object.
+	 **/
+        void setAutoSave(bool isEnabled) {
             m_autoSave = isEnabled;
         }
     protected:
diff --git a/Control/AthenaMonitoring/share/GenericMon.txt b/Control/AthenaMonitoring/share/GenericMon.txt
index a72b007bf5527cde6d45bef43b62fb2a02097b21..555ba9af7f600728442afbfbaf228d6d614062ef 100644
--- a/Control/AthenaMonitoring/share/GenericMon.txt
+++ b/Control/AthenaMonitoring/share/GenericMon.txt
@@ -20,7 +20,8 @@ THistSvc.Output= {"EXPERT DATAFILE='expert-monitoring.root' OPT='RECREATE'" };
 ToolSvc.MonTool.OutputLevel =0;
 ToolSvc.MonTool.HistogramsGroupName="TestGroup";
 ToolSvc.MonTool.Histograms = { "EXPERT, TH1F, Eta, #eta of Clusters; #eta; number of RoIs, 2, -2.500000, 2.500000, "};
-ToolSvc.MonTool.Histograms += { "EXPERT, TH1F, Phi, #phi of Clusters; #phi; number of RoIs, 2, 3.15, 3.15, " };
+ToolSvc.MonTool.Histograms += { "EXPERT, TH1F, Phi, #phi of Clusters; #phi; number of RoIs, 2, -3.15, 3.15, " };
+ToolSvc.MonTool.Histograms += { "EXPERT, TH2F, Eta,Phi, #eta vs #phi of Clusters; #eta; #phi; number of RoIs,  2, -2.500000, 2.500000, 2, -3.15, 3.15, " };
 // intentionally a very small number of bins
 // RoICache_test.OutputLevel=3;
 
diff --git a/Control/AthenaMonitoring/src/GenericMonitoringToolTest.cxx b/Control/AthenaMonitoring/src/GenericMonitoringToolTest.cxx
deleted file mode 100644
index 1fafff507f7eabdeddc1e44bddde95ceabd2e84a..0000000000000000000000000000000000000000
--- a/Control/AthenaMonitoring/src/GenericMonitoringToolTest.cxx
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
-* Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include <iostream>
-#include <string>
-#include <vector>
-#include <list>
-#include <array>
-#include <set>
-
-#include "AthenaMonitoring/GenericMonitoringToolTest.h"
-
-using namespace std;
-using namespace Monitored;
-
-GenericMonitoringToolTest::GenericMonitoringToolTest(const string& name, ISvcLocator* pSvcLocator)
-	: AthAlgorithm(name, pSvcLocator), m_monitoringTool("") {
-    declareProperty("GenericMonitoringTool", m_monitoringTool, "Generic monitored variables tool");
-}
-
-StatusCode GenericMonitoringToolTest::initialize() {
-	return StatusCode::SUCCESS;
-}
-
-StatusCode GenericMonitoringToolTest::beginRun() {
-	return StatusCode::SUCCESS;
-}
-
-StatusCode GenericMonitoringToolTest::execute() {
-    scalarTest();
-    valuesCollectionTest();
-    objectsCollectionTest();
-    inLoopTest();
-
-	return StatusCode::SUCCESS;
-}
-
-StatusCode GenericMonitoringToolTest::finalize() {
-	return StatusCode::SUCCESS;
-}
-
-class Scalar {
-public:
-    Scalar() : m_value(0) { }
-    Scalar(double value) : m_value(value) { }
-    
-    void operator=(double value) { m_value = value; }
-    operator double() const { return m_value; }
-private:
-    double m_value;
-};
-
-class Track {
-public:
-    Track() : m_eta(0), m_phi(0) {}
-    Track(double e, double p) : m_eta(e), m_phi(p) {}
-    double eta() const { return m_eta; }
-    double phi() const { return m_phi; }
-private:
-    double m_eta, m_phi;
-};
-
-// this is the most typical case
-void GenericMonitoringToolTest::scalarTest () {
-    std::cout << "scalarTest" << std::endl;
-    
-    auto roiPhi = MonitoredScalar::declare("phi", -99.0); //deducted double
-    auto roiEta = MonitoredScalar::declare<double>("eta", -99); //explicite double
-    auto scalarObj = MonitoredScalar::declare("scalar", Scalar(15)); //class object convertable to number
-    //    auto error = MonitoredScalar::declare("error", "compile error value");
-    
-    auto monitorIt = MonitoredScope::declare(m_monitoringTool, roiPhi, roiEta, scalarObj);  // this is binding to histograms
-    
-    //    auto roiPhiCopy = roiPhi; //error - copy constuctor prohibited
-    //    roiEta = roiPhi; //error - assign prohibited
-    //
-    //     do some computation
-    roiPhi = 0.45;
-    roiEta = -0.34;
-    scalarObj = 7.1;
-} // save happens here
-
-void GenericMonitoringToolTest::valuesCollectionTest() {
-    std::cout << "valuesCollectionTest" << std::endl;
-    
-    std::vector<int> someVectorValues;
-    std::list<Scalar> someListValues;
-    std::set<double> someSetValues;
-    std::array<double, 2> someArrayValues;
-    double someRawArrayValues[2];
-    
-    auto vector = MonitoredCollection::declare("vector values", someVectorValues);
-    auto list = MonitoredCollection::declare("list values", someListValues);
-    auto set = MonitoredCollection::declare("set values", someSetValues);
-    auto array = MonitoredCollection::declare("array values", someArrayValues);
-    auto rawArray = MonitoredCollection::declare("raw array values", someRawArrayValues);
-    
-    auto monitorIt = MonitoredScope::declare(m_monitoringTool, vector, list, set, array, rawArray); // this is binding to histograms
-    
-    someVectorValues.push_back(3);
-    someVectorValues.push_back(1);
-    
-    someListValues.push_back(Scalar(3.5f));
-    someListValues.push_back(Scalar(7.11f));
-    
-    someSetValues.insert(0.4);
-    someSetValues.insert(-0.6);
-    
-    someArrayValues[0] = 1.3;
-    someArrayValues[1] = 0.2;
-    
-    someRawArrayValues[0] = 3.1415;
-    someRawArrayValues[1] = -3;
-} // save happens here
-
-void GenericMonitoringToolTest::objectsCollectionTest() {
-    std::cout << "objectsCollectionTest" << std::endl;
-    
-    Track tracks[2];
-    
-    auto eta = MonitoredCollection::declare("eta", tracks, &Track::eta);
-    auto phi = MonitoredCollection::declare("phi", tracks, [](const Track& t) { return t.phi(); });
-    
-    auto monitorIt = MonitoredScope::declare(m_monitoringTool, eta, phi); // this is binding to histograms
-    
-    tracks[0] = Track(0.1, 0.9);
-    tracks[1] = Track(1.3, 1.);
-} // save happens here
-
-void GenericMonitoringToolTest::inLoopTest() {
-    std::cout << "inLoopTest" << std::endl;
-    
-    auto phi = MonitoredScalar::declare<double>("phi", -99); //explicite double
-    auto eta = MonitoredScalar::declare("eta", -99.1); //deducted double
-    
-    auto monitorIt = MonitoredScope::declare(m_monitoringTool, phi, eta); // this is binding to histograms
-    monitorIt.setAutoSaveEnabled(false); // required to avoid doubled last value
-    
-    for ( int i = 0; i < 3; ++i ) {
-        phi = i+0.2;
-        monitorIt.save(); // fast
-    }
-} // save happens here
diff --git a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
index 735c73e26dad3a8635fb2f418d7d3de6c10687ac..b3162e0ca5a21e3cd94c6d30dd6717d7f6e8e208 100755
--- a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
+++ b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
@@ -7,8 +7,6 @@
 #include "AthenaMonitoring/DQBadLBFilterTool.h"
 #include "AthenaMonitoring/TriggerTranslatorSimple.h"
 #include "AthenaMonitoring/GenericMonitoringTool.h"
-#include "AthenaMonitoring/GenericMonitoringToolTest.h"
-
 
 #include "GaudiKernel/DeclareFactoryEntries.h"
 
@@ -21,7 +19,6 @@ DECLARE_TOOL_FACTORY(DQDummyFilterTool)
 DECLARE_TOOL_FACTORY(DQBadLBFilterTool)
 DECLARE_TOOL_FACTORY(TriggerTranslatorToolSimple)
 DECLARE_TOOL_FACTORY(GenericMonitoringTool)
-DECLARE_ALGORITHM_FACTORY(GenericMonitoringToolTest)
 
 DECLARE_FACTORY_ENTRIES(AthenaMonitoring) {
   DECLARE_ALGORITHM(AthenaMon)
@@ -33,5 +30,4 @@ DECLARE_FACTORY_ENTRIES(AthenaMonitoring) {
   DECLARE_ALGTOOL(DQBadLBFilterTool)
   DECLARE_ALGTOOL(TriggerTranslatorToolSimple)
   DECLARE_ALGTOOL(GenericMonitoringTool)
-  DECLARE_ALGORITHM(GenericMonitoringToolTest)
 }
diff --git a/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx b/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx
index 9741cb8b73e2708e8ca2226f733db508f3bade4b..84fb3e2fd77bedbc7daf831ca9e89081e28ea74a 100644
--- a/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx
+++ b/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx
@@ -20,59 +20,258 @@
 #include "AthenaMonitoring/MonitoredScalar.h"
 
 
+using namespace Monitored;
 
+TH1* getHist( ITHistSvc* histSvc, const std::string& histName ) {
+  TH1* h(0);
+  histSvc->getHist( histName, h );
+  VALUE( h ) NOT_EXPECTED( (TH1*)0 );
+  return h;
+}
 
 
-void resetHist(ITHistSvc* histSvc, const std::string& histName) {
-  TH1* h(0);
-  histSvc->getHist(histName, h);
-  VALUE ( h ) NOT_EXPECTED ( (TH1*)0 );
-  h->Reset();
+void resetHist( ITHistSvc* histSvc, const std::string& histName ) {
+  getHist( histSvc, histName )->Reset();
+}
+
+
+void resetHists( ITHistSvc* histSvc ) {
+  resetHist(histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" );
+  resetHist(histSvc, "/EXPERT/TestGroup/Eta");
+  resetHist(histSvc, "/EXPERT/TestGroup/Phi");
 }
 
 
+
 double contentInBin1DHist(ITHistSvc* histSvc, const std::string& histName, int bin) {
-  TH1* h(0);
-  histSvc->getHist(histName, h);
+  TH1* h = getHist(histSvc, histName);
   // this are in fact securing basic correctness of the tests
-  VALUE ( h )   NOT_EXPECTED ( nullptr );  
-  VALUE ( bin >= 1 ) EXPECTED ( true );
-  VALUE ( bin <= h->GetXaxis()->GetNbins()+1 ) EXPECTED ( true );
+  VALUE( h )   NOT_EXPECTED( nullptr );  
+  VALUE( bin >= 1 ) EXPECTED( true );
+  VALUE( bin <= h->GetXaxis()->GetNbins()+1 ) EXPECTED( true );
   return h->GetBinContent(bin);
 }
 
-bool noToolBehaviourCorrect(ToolHandle<GenericMonitoringTool>& monTool) {
-  using namespace Monitored;
-  auto x = MonitoredScalar::declare("x", -99.0);
-  auto monitorIt = MonitoredScope::declare(monTool, x);
+double contentInBin2DHist(ITHistSvc* histSvc, const std::string& histName, int bin1, int bin2) {
+  TH2* h(0);
+  histSvc->getHist(histName, h);
+  // this are in fact securing basic correctness of the tests
+  VALUE( h )   NOT_EXPECTED( nullptr );  
+  VALUE( bin1 >= 1 ) EXPECTED( true );
+  VALUE( bin1 <= h->GetXaxis()->GetNbins()+1 ) EXPECTED( true );
+  VALUE( bin2 >= 1 ) EXPECTED( true );
+  VALUE( bin2 <= h->GetYaxis()->GetNbins()+1 ) EXPECTED( true );
+  return h->GetBinContent( bin1, bin2 );
+}
+
+
+bool noToolBehaviourCorrect( ToolHandle<GenericMonitoringTool>& monTool ) {
+  auto x = MonitoredScalar::declare( "x", -99.0 );
+  auto monitorIt = MonitoredScope::declare( monTool, x );
   return true;
 }
 
 
-bool fillFromScalarWorked(ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc* histSvc) {
-  resetHist(histSvc, "/EXPERT/TestGroup/Eta");
-  resetHist(histSvc, "/EXPERT/TestGroup/Phi");
-  using namespace Monitored;
+bool fillFromScalarWorked( ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc* histSvc ) {
+  resetHists( histSvc );
   {
-    auto roiPhi = MonitoredScalar::declare("Phi", -99.0); //deducted double      
-    auto roiEta = MonitoredScalar::declare<double>("Eta", -99); //explicit double
-    auto monitorIt = MonitoredScope::declare(monTool, roiPhi, roiEta);
+    auto roiPhi = MonitoredScalar::declare( "Phi", -99.0 ); //deduced double      
+    auto roiEta = MonitoredScalar::declare<double>( "Eta", -99 ); //explicit double
+    auto monitorIt = MonitoredScope::declare( monTool, roiPhi, roiEta );
+    roiPhi = 0.1;
+    roiEta = -0.2;    
+  }
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 1) ) EXPECTED( 0 );
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 2) ) EXPECTED( 1 );
+  
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 1) ) EXPECTED( 1 );
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 0 );
+
+  return true;
+}
+
+bool fillFromScalarIndependentScopesWorked(ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc* histSvc) {
+  resetHists( histSvc ); 
+  
+  auto roiPhi = MonitoredScalar::declare( "Phi", -99.0 ); 
+  auto roiEta = MonitoredScalar::declare<double>( "Eta", -99 );
+  
+  for ( size_t i =0; i < 3; ++i ) { 
+    auto monitorIt = MonitoredScope::declare( monTool, roiPhi );   
+    roiPhi = 0.1;
+    roiEta = -0.2;    
+  }
+  
+  VALUE( contentInBin1DHist( histSvc, "/EXPERT/TestGroup/Phi", 1 ) ) EXPECTED( 0 );
+  VALUE( contentInBin1DHist( histSvc, "/EXPERT/TestGroup/Phi", 2 ) ) EXPECTED( 3 );
+  
+  VALUE( contentInBin1DHist( histSvc, "/EXPERT/TestGroup/Eta", 1 ) ) EXPECTED( 0 );
+  VALUE( contentInBin1DHist( histSvc, "/EXPERT/TestGroup/Eta", 2 ) ) EXPECTED( 0 );
+
+  for ( size_t i =0; i < 10; ++i ) { 
+    auto monitorIt = MonitoredScope::declare( monTool, roiEta );   
     roiPhi = 0.1;
     roiEta = -0.2;    
   }
-  VALUE ( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 1) ) EXPECTED ( 0 );
-  VALUE ( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 2) ) EXPECTED ( 1 );
+
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 1) ) EXPECTED( 0 );
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 2) ) EXPECTED( 3 );
+  
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 1) ) EXPECTED( 10 );
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 0 );
+
+  return true;
+}
+
+bool fill2DWorked( ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc* histSvc ) {
+  resetHists( histSvc );
+
+  
+  auto roiPhi = MonitoredScalar::declare( "Phi", -99.0 ); 
+  auto roiEta = MonitoredScalar::declare( "Eta", -99.0 );
+  {
+    auto monitorIt = MonitoredScope::declare( monTool, roiEta, roiPhi );
+    roiEta = 0.2;
+    roiPhi = -0.1;
+  }
+  VALUE( contentInBin2DHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi", 1, 1 ) ) EXPECTED( 0 );
+  VALUE( contentInBin2DHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi", 1, 2 ) ) EXPECTED( 0 );
+  VALUE( contentInBin2DHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi", 2, 1 ) ) EXPECTED( 1 );
+  VALUE( contentInBin2DHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi", 2, 2 ) ) EXPECTED( 0 );
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 1 ); // counts also visible in 1 D
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 1) ) EXPECTED( 1 );
+  
+
+  
+  // 2 D Hist fill should not affect 1 D
+  resetHists( histSvc );
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" )->GetEntries() ) EXPECTED( 0 );
+  {
+    auto monitorIt = MonitoredScope::declare( monTool, roiEta );
+    roiEta = 0.2;
+    roiPhi = -0.1;
+  }
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" )->GetEntries() ) EXPECTED( 0 );
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 1 );
+  
+  {
+    auto monitorIt = MonitoredScope::declare( monTool, roiPhi );
+    roiEta = 0.2;
+    roiPhi = -0.1;
+  }
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" )->GetEntries() ) EXPECTED( 0 ); // still no entries as scope used above is not having both needed varaibles
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 1 ); // no increase of counts
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 1) ) EXPECTED( 1 );
+
   
-  VALUE ( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 1) ) EXPECTED ( 1 );
-  VALUE ( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED ( 0 );
+  return true;
+}  
+
+
+bool fillExplcitelyWorked( ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc* histSvc ) {
+  resetHists( histSvc );
+  auto roiPhi = MonitoredScalar::declare( "Phi", -99.0 ); 
+  auto roiEta = MonitoredScalar::declare( "Eta", -99.0 );
+  {
+    auto monitorIt = MonitoredScope::declare( monTool, roiEta, roiPhi );
+    monitorIt.setAutoSave(false);
+    roiEta = 0.2;
+    roiPhi = -0.1;
+  }
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" )->GetEntries() ) EXPECTED( 0 ); //  auto filling was disabled so no entries
+  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 = MonitoredScope::declare( monTool, roiEta, roiPhi );
+  monitorIt.setAutoSave(false);
+  for ( size_t i = 0; i < 3; ++i ) {
+    monitorIt.save();
+  }
+  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 ); 
+  
+  return true;
+}
+
+class Scalar {
+public:
+    Scalar() : m_value(0) { }
+    Scalar(double value) : m_value(value) { }
+    
+    void operator=(double value) { m_value = value; }
+    operator double() const { return m_value; }
+private:
+    double m_value;
+};
+
+class Track {
+public:
+    Track() : m_eta(0), m_phi(0) {}
+    Track(double e, double p) : m_eta(e), m_phi(p) {}
+    double eta() const { return m_eta; }
+    double phi() const { return m_phi; }
+private:
+    double m_eta, m_phi;
+};
+
+
+bool fillFromNonTrivialSourcesWorked( ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc* histSvc ) {
+  resetHists( histSvc );
+  {
+    auto eta = MonitoredScalar::declare("Eta", Scalar(0.2)); //class object convertable to number
+    auto monitorIt = MonitoredScope::declare( monTool, eta );
+  }
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 1 ); 
 
+  resetHists( histSvc );
+  {
+    std::vector<float> eta( {0.2, 0.1} );
+    std::set<double> phi( {-1, 1} ) ;
+    auto vectorT   = MonitoredCollection::declare("Eta", eta);
+    auto setT      = MonitoredCollection::declare("Phi", phi);
+    auto monitorIt = MonitoredScope::declare( monTool, vectorT, setT );
+  }
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 2 ); 
+
+  resetHists( histSvc );
+  {
+    
+    std::array<double, 2> eta( {0.1, 0.7} );
+    double phi[2]={-2., -1.};
+    auto arrayT = MonitoredCollection::declare("Eta", eta);
+    auto rawArrayT   = MonitoredCollection::declare("Phi", phi);
+    auto monitorIt = MonitoredScope::declare( monTool, arrayT, rawArrayT );    
+  }
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 2 );
+
+  resetHists( histSvc );
+  {
+    Track tracks[2];
+    
+    auto eta = MonitoredCollection::declare( "Eta", tracks, &Track::eta );
+    auto phi = MonitoredCollection::declare( "Phi", tracks, [](const Track& t ) { return t.phi(); });
+    
+    auto monitorIt = MonitoredScope::declare( monTool, eta, phi ); // this is binding to histograms
+    
+    tracks[0] = Track(0.1, 0.9);
+    tracks[1] = Track(1.3, 1.);
+  }
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Eta", 2) ) EXPECTED( 1 );
+  VALUE( contentInBin1DHist(histSvc, "/EXPERT/TestGroup/Phi", 2) ) EXPECTED( 1 );
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" )->GetEntries() ) EXPECTED( 2 ); 
+  
+  
   return true;
 }
+  
+
+
 
 template<typename T>
 class InvalidToolHandle : public ToolHandle<T> {
 public:
-  InvalidToolHandle() : ToolHandle<T>("") {}
+  InvalidToolHandle() : ToolHandle<T>( "") {}
   StatusCode retrieve( T*& ) const override {
     return StatusCode::FAILURE;
   }
@@ -83,33 +282,37 @@ public:
 int main() {
   //CxxUtils::ubsan_suppress ([]() { TInterpreter::Instance(); } );
   ISvcLocator* pSvcLoc;
-  if (!Athena_test::initGaudi("GenericMon.txt",  pSvcLoc)) {
+  if (!Athena_test::initGaudi( "GenericMon.txt",  pSvcLoc)) {
     std::cerr << "ERROR This test can not be run" << std::endl;
     return -1;
   }
   MsgStream log(Athena::getMessageSvc(), "GenericMonFilling_test");
 
   ITHistSvc* histSvc;
-  if( pSvcLoc->service("THistSvc", histSvc, true).isFailure()  ) {
+  if( pSvcLoc->service( "THistSvc", histSvc, true).isFailure()  ) {
     log << MSG::ERROR << "THistSvc not available " << endmsg;
     return -1;
   }
   
   // we need to test what happens to the monitoring when tool is not valid
   InvalidToolHandle<GenericMonitoringTool> m_emptyMon;
-  VALUE ( m_emptyMon.isValid() ) EXPECTED ( false ); // self test
+  VALUE( m_emptyMon.isValid() ) EXPECTED( false ); // self test
   log << MSG::DEBUG << " mon tool validity " << m_emptyMon.isValid() << endmsg;
 
     
   
-  ToolHandle<GenericMonitoringTool> m_validMon("GenericMonitoringTool/MonTool");
+  ToolHandle<GenericMonitoringTool> m_validMon( "GenericMonitoringTool/MonTool" );
   if ( m_validMon.retrieve().isFailure() ) {
     log << MSG::ERROR << "Failed to acquire the MonTool tools via the ToolHandle" << endmsg;
     return -1;
   }
   
-  assert( fillFromScalarWorked(m_validMon, histSvc) );
-  assert( noToolBehaviourCorrect(m_emptyMon) );
+  assert( fillFromScalarWorked( m_validMon, histSvc ) );
+  assert( noToolBehaviourCorrect( m_emptyMon ) );
+  assert( fillFromScalarIndependentScopesWorked( m_validMon, histSvc ) );
+  assert( fill2DWorked( m_validMon, histSvc ) );
+  assert( fillExplcitelyWorked( m_validMon, histSvc ) );
+  assert( fillFromScalarIndependentScopesWorked( m_validMon, histSvc ) );
   log << MSG::DEBUG << "All OK"  << endmsg;
   return 0;
 }
diff --git a/Control/AthenaMonitoring/test/GenericMonParsing_test.cxx b/Control/AthenaMonitoring/test/GenericMonParsing_test.cxx
index ef81755a607d57bf9426df6ee8e049bafa22d6f7..609b083cca917bc8c5de33d6a9e85a9712237eb7 100644
--- a/Control/AthenaMonitoring/test/GenericMonParsing_test.cxx
+++ b/Control/AthenaMonitoring/test/GenericMonParsing_test.cxx
@@ -7,6 +7,7 @@
 #undef NDEBUG
 #include <cassert>
 #include "TestTools/expect.h"
+#include "TestTools/expect_exception.h"
 #include "AthenaMonitoring/HistogramDef.h"
 using namespace Monitored;
 
@@ -33,8 +34,9 @@ bool parsing2DWorks() {
   VALUE ( def.path )         EXPECTED ( "SHIFT" );
   VALUE ( def.type )         EXPECTED ( "TH2F" );
   VALUE ( def.name.size() )  EXPECTED ( 2 );
-  VALUE ( std::string(def.name[0]) ) EXPECTED ( "Eta");
-  VALUE ( std::string(def.name[1]) ) EXPECTED ( "Phi");
+  VALUE ( std::string( def.name[0] ) ) EXPECTED ( "Eta");
+  VALUE ( std::string( def.name[1] ) ) EXPECTED ( "Phi");
+  VALUE ( def.alias ) EXPECTED( "Eta_vs_Phi" );
   VALUE ( def.xbins )        EXPECTED ( 50 );
   VALUE ( def.xmin )         EXPECTED ( -2.5 );
   VALUE ( def.xmax )         EXPECTED (  2.5 );
@@ -45,10 +47,36 @@ bool parsing2DWorks() {
   return true;
 }
 
+bool parsingLabeledWorks() {
+  auto def = HistogramDef::parse("SHIFT, TH1D, Cut, Cut counter, 5, 0, 5, Cut1:Cut2:Eta:Pt:R");
+  VALUE ( def.ok )           EXPECTED ( true ) ;
+  VALUE ( def.path )         EXPECTED ( "SHIFT" );
+  VALUE ( def.type )         EXPECTED ( "TH1D" );
+  VALUE ( def.name.size() )  EXPECTED ( 1 );
+  VALUE ( std::string( def.name[0]) ) EXPECTED ( "Cut");
+  VALUE ( def.labels.size() )EXPECTED ( 5 );
+  VALUE ( std::string( def.labels[0] ) ) EXPECTED ( "Cut1");
+  VALUE ( std::string( def.labels[1] ) ) EXPECTED ( "Cut2");
+  VALUE ( std::string( def.labels[2] ) ) EXPECTED ( "Eta");
+  VALUE ( std::string( def.labels[3] ) ) EXPECTED ( "Pt");
+  VALUE ( std::string( def.labels[4] ) ) EXPECTED ( "R");
+
+  return true;
+}
+
+bool badDefGeneratesExecption() {
+  EXPECT_EXCEPTION( HistogramDefParseException,
+		    HistogramDef::parse("S, TH1D, x, 2.5, 0, 45") ); //2.5 bins can not be valid
+  return true;
+}
+
+
 int main() {
   assert( parsing1DWorks() );
   assert( parsing2DWorks() );
-  // TODO extend to 3D and labeled histograms
+  assert( parsing2DWorks() );
+  assert( parsingLabeledWorks() );
+  assert( badDefGeneratesExecption() );
   std::cout << "all ok" << std::endl;
   return 0;
 }
diff --git a/Control/GaudiSequencer/src/AthSequencer.h b/Control/GaudiSequencer/src/AthSequencer.h
index 75f9c4a356a6e41e5c5da7c41d73a845e3cd9887..516d33275e0ceb77d85a589b730077f212b6c5f4 100644
--- a/Control/GaudiSequencer/src/AthSequencer.h
+++ b/Control/GaudiSequencer/src/AthSequencer.h
@@ -102,7 +102,7 @@ public:
   /**
    ** Reset the AthSequencer executed state for the current event.
    **/
-  void resetExecuted( );
+  virtual void resetExecuted( ) override;
 
   /**
    ** Has the StopOverride mode been set?
diff --git a/Control/IOVSvc/src/CondInputLoader.cxx b/Control/IOVSvc/src/CondInputLoader.cxx
index 756c5826b28710ccb3b96758d488a929c8c0608c..7788811f130ab991b3b0b4963f334c193632c423 100644
--- a/Control/IOVSvc/src/CondInputLoader.cxx
+++ b/Control/IOVSvc/src/CondInputLoader.cxx
@@ -216,16 +216,19 @@ CondInputLoader::execute()
     now.set_run_number(thisEventInfo->runNumber());
     now.set_event_number(thisEventInfo->eventNumber());
     now.set_time_stamp(thisEventInfo->timeStamp());
+    now.set_time_stamp_ns_offset(thisEventInfo->timeStampNSOffset());
   }
   else {
 #ifdef GAUDI_SYSEXECUTE_WITHCONTEXT
     now.set_run_number(getContext().eventID().run_number());
     now.set_event_number(getContext().eventID().event_number());
     now.set_time_stamp(getContext().eventID().time_stamp());
+    now.set_time_stamp_ns_offset(getContext().eventID().time_stamp_ns_offset());
 #else
     now.set_run_number(getContext()->eventID().run_number());
     now.set_event_number(getContext()->eventID().event_number());
     now.set_time_stamp(getContext()->eventID().time_stamp());
+    now.set_time_stamp_ns_offset(getContext()->eventID().time_stamp_ns_offset());
 #endif
   }
 
diff --git a/Control/IOVSvc/src/IOVSvc.cxx b/Control/IOVSvc/src/IOVSvc.cxx
index 40f3fb3f2eb76089b3b3edeca7a240f5972b5819..7ba6821ff3625ed7503a98cf7b25e1c72f8d09b3 100755
--- a/Control/IOVSvc/src/IOVSvc.cxx
+++ b/Control/IOVSvc/src/IOVSvc.cxx
@@ -853,7 +853,7 @@ IOVSvc::createCondObj(CondContBase* ccb, const DataObjID& id,
     return StatusCode::SUCCESS;
   }
 
-  IOVTime t(now.run_number(), now.event_number(), now.time_stamp());
+  IOVTime t(now.run_number(), now.event_number(), (long long)now.time_stamp()*1000000000+now.time_stamp_ns_offset());
   IOVRange range;
   IOpaqueAddress* ioa;
   std::string tag;
diff --git a/Control/SGComps/src/SGInputLoader.h b/Control/SGComps/src/SGInputLoader.h
index 8c9ffe8f85085eb075e5632138469f2fe4786a99..6273e4df6a44a00ab58c0ac9516367ea4b690ead 100644
--- a/Control/SGComps/src/SGInputLoader.h
+++ b/Control/SGComps/src/SGInputLoader.h
@@ -43,9 +43,9 @@ class SGInputLoader
   //SGInputLoader &operator=(const SGInputLoader &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: 
diff --git a/Control/SGTools/SGTools/DataBucket.h b/Control/SGTools/SGTools/DataBucket.h
index 459cf9a63ef697081efc3db45be9da6fd79c2e52..df328df6d05ab45eef70d0fe5fc5821c3ef90b9c 100755
--- a/Control/SGTools/SGTools/DataBucket.h
+++ b/Control/SGTools/SGTools/DataBucket.h
@@ -36,6 +36,7 @@ namespace SG {
     DataBucket(): m_ptr(0) {}  //needed by the generic converters
     DataBucket(T* data);                 
     DataBucket(std::unique_ptr<T> data);
+    DataBucket(std::unique_ptr<const T> data);
     DataBucket(SG::DataObjectSharedPtr<T> data);
   
     // DESTRUCTOR:
diff --git a/Control/SGTools/SGTools/DataBucket.icc b/Control/SGTools/SGTools/DataBucket.icc
index 97ee42150e386f560363a3bce43b5ddf4c249717..c9c88d390479c5b7142bee929af935de41040ecc 100755
--- a/Control/SGTools/SGTools/DataBucket.icc
+++ b/Control/SGTools/SGTools/DataBucket.icc
@@ -81,12 +81,15 @@ SG::DataBucket<T>::DataBucket(T* data)
 
 template <typename T> 
 SG::DataBucket<T>::DataBucket(std::unique_ptr<T> data)
-  : m_ptr(data.release())
+  : DataBucket (data.release())
+{
+}
+
+template <typename T> 
+SG::DataBucket<T>::DataBucket(std::unique_ptr<const T> data)
+    // Rely on our caller to retain constness.
+  : DataBucket (const_cast<T*> (data.release()))
 {
-  // If T is a DataObject, increase the refcount.
-  typedef typename ClassID_traits<T>::is_DataObject_tag tag;
-  if (m_ptr)
-    SG::db_maybe_ref (m_ptr, tag());
 }
 
 template <typename T> 
diff --git a/Control/SGTools/SGTools/StorableConversions.h b/Control/SGTools/SGTools/StorableConversions.h
index 7560a63809a8e81d4eca58d63f9b51de5abccedc..883cdfd89abc92fc2039e802546dfded9ab9b831 100755
--- a/Control/SGTools/SGTools/StorableConversions.h
+++ b/Control/SGTools/SGTools/StorableConversions.h
@@ -29,6 +29,7 @@
 #include "boost/mpl/identity.hpp"
 #include "boost/mpl/eval_if.hpp"
 #include <memory>
+#include <type_traits>
 
 //
 //<<<<<< FORWARD DECLARATIONS                                           >>>>>>
@@ -197,7 +198,8 @@ namespace SG {
 
   template <typename T>
   DataObject* asStorable(std::unique_ptr<T> pObject) {
-    typedef typename DataBucketTrait<T>::type bucket_t;
+    typedef typename std::remove_const<T>::type T_nc;
+    typedef typename DataBucketTrait<T_nc>::type bucket_t;
     return new bucket_t (std::move(pObject));
   }  
 
@@ -219,8 +221,9 @@ namespace SG {
                      , IRegisterTransient* irt,
                      bool isConst /*= true*/)
   {
-    typedef typename DataBucketTrait<T>::type bucket_t;
-    DataBucketTrait<T>::init();
+    typedef typename std::remove_const<T>::type T_nc;
+    typedef typename DataBucketTrait<T_nc>::type bucket_t;
+    DataBucketTrait<T_nc>::init();
 
     //check inputs
     if (0 == pDObj) {
@@ -233,7 +236,7 @@ namespace SG {
     }
 
     // get T* from DataBucket:
-    SG::DataBucket<T>* bucketPtr = dynamic_cast<bucket_t*>(pDObj);
+    SG::DataBucket<T_nc>* bucketPtr = dynamic_cast<bucket_t*>(pDObj);
     bool success(0 != bucketPtr);
     if (success)
       pTrans = *bucketPtr;
@@ -241,7 +244,7 @@ namespace SG {
       // Try to use BaseInfo information to convert pointers.
       DataBucketBase* b = dynamic_cast<DataBucketBase*>(pDObj);
       if (b) {
-        pTrans = b->template cast<T> (irt, isConst);
+        pTrans = b->template cast<T_nc> (irt, isConst);
         if (pTrans)
           success = true;
       }
diff --git a/Control/SGTools/test/DataBucket_test.cxx b/Control/SGTools/test/DataBucket_test.cxx
index acb5c3a2b6c55ed06b467a183d5e6db7405f2ce0..39cbb6f704cbb917f64313e8d24b9d06e9d64613 100755
--- a/Control/SGTools/test/DataBucket_test.cxx
+++ b/Control/SGTools/test/DataBucket_test.cxx
@@ -404,6 +404,27 @@ int main () {
     assert (X5::log.empty());
     delete b4;
     assert (X5::log == std::vector<int> {11});
+    X5::log.clear();
+  }
+
+  {
+    std::unique_ptr<const X5> p (new X5(12));
+    DataBucketBase* b5 = new SG::DataBucket<X5> (std::move(p));
+    assert (p.get() == 0);
+    assert (X5::log.empty());
+    delete b5;
+    assert (X5::log == std::vector<int> {12});
+    X5::log.clear();
+  }
+
+  {
+    std::unique_ptr<const X5> p (new X5(13));
+    DataObject* b6 = asStorable (std::move(p));
+    assert (p.get() == 0);
+    assert (X5::log.empty());
+    delete b6;
+    assert (X5::log == std::vector<int> {13});
+    X5::log.clear();
   }
 
   {
diff --git a/Control/StoreGate/StoreGate/VarHandleBase.h b/Control/StoreGate/StoreGate/VarHandleBase.h
index a70f6847e4f920e0caecd890b96f73ea141a0ccc..30adb6f8552781334f54a9a9406cb8a1642681e5 100644
--- a/Control/StoreGate/StoreGate/VarHandleBase.h
+++ b/Control/StoreGate/StoreGate/VarHandleBase.h
@@ -358,7 +358,7 @@ namespace SG {
      */
     const void* put_impl (const EventContext* ctx,
                           std::unique_ptr<DataObject> dobj,
-                          void* dataPtr,
+                          const void* dataPtr,
                           bool allowMods,
                           bool returnExisting,
                           IProxyDict* & store) const;
diff --git a/Control/StoreGate/StoreGate/WriteHandle.h b/Control/StoreGate/StoreGate/WriteHandle.h
index 3f8a7a60ff087d7aee39ecb791b1ac9e358a567c..1a2d758c8544bcbdde1b2e5335cfe4fb21bcf3de 100644
--- a/Control/StoreGate/StoreGate/WriteHandle.h
+++ b/Control/StoreGate/StoreGate/WriteHandle.h
@@ -276,6 +276,24 @@ public:
                           bool returnExisting = false) const;
 
 
+  /**
+   * @brief Record an object to the store.
+   * @param data The object to record.
+   * @param returnExisting Allow an existing object?
+   *
+   * Unlike record(), this does not change the handle object.
+   * That means that will not be able to get the object back
+   * by dereferencing the handle.
+   * Returns the object placed in the store, or nullptr if there
+   * was an error.
+   * If there was already an object in the store with the given key,
+   * then return null, unless @c returnExisting is true, in which case
+   * return success.  In either case, @c data is destroyed.
+   */
+  const_pointer_type put (std::unique_ptr<const T> data,
+                          bool returnExisting = false) const;
+
+
   /**
    * @brief Record an object to the store.
    * @param ctx The event context to use.
@@ -296,6 +314,26 @@ public:
                           bool returnExisting = false) const;
 
 
+  /**
+   * @brief Record an object to the store.
+   * @param ctx The event context to use.
+   * @param data The object to record.
+   * @param returnExisting Allow an existing object?
+   *
+   * Unlike record(), this does not change the handle object.
+   * That means that will not be able to get the object back
+   * by dereferencing the handle.
+   * Returns the object placed in the store, or nullptr if there
+   * was an error.
+   * If there was already an object in the store with the given key,
+   * then return null, unless @c returnExisting is true, in which case
+   * return success.  In either case, @c data is destroyed.
+   */
+  const_pointer_type put (const EventContext& ctx,
+                          std::unique_ptr<const T> data,
+                          bool returnExisting = false) const;
+
+
   /**
    * @brief Record an object to the store.
    * @param data The object to record.
@@ -347,6 +385,28 @@ public:
        std::unique_ptr<AUXSTORE> auxstore) const;
 
 
+  /**
+   * @brief Record an object and its auxiliary store to the store.
+   * @param data The object to record.
+   * @param auxstore Auxiliary store object.
+   *
+   * Unlike record(), this does not change the handle object.
+   * That means that will not be able to get the object back
+   * by dereferencing the handle.
+   * Returns the object placed in the store, or nullptr if there
+   * was an error.
+   * If there was already an object in the store with the given key,
+   * then return null, and the objects passed in are destroyed.
+   *
+   * Unlike the version taking unique_ptr<T>, this does not alter the
+   * store pointer of @c data.
+   */
+  template <class AUXSTORE>
+  const_pointer_type
+  put (std::unique_ptr<const T> data,
+       std::unique_ptr<const AUXSTORE> auxstore) const;
+
+
   /**
    * @brief Record an object and its auxiliary store to the store.
    * @param ctx The event context to use.
@@ -368,6 +428,30 @@ public:
        std::unique_ptr<AUXSTORE> auxstore) const;
 
 
+  /**
+   * @brief Record an object and its auxiliary store to the store.
+   * @param ctx The event context to use.
+   * @param data The object to record.
+   * @param auxstore Auxiliary store object.
+   *
+   * Unlike record(), this does not change the handle object.
+   * That means that will not be able to get the object back
+   * by dereferencing the handle.
+   * Returns the object placed in the store, or nullptr if there
+   * was an error.
+   * If there was already an object in the store with the given key,
+   * then return null, and the objects passed in are destroyed.
+   *
+   * Unlike the version taking unique_ptr<T>, this does not alter the
+   * store pointer of @c data.
+   */
+  template <class AUXSTORE>
+  const_pointer_type
+  put (const EventContext& ctx,
+       std::unique_ptr<const T> data,
+       std::unique_ptr<const AUXSTORE> auxstore) const;
+
+
   /**
    * @brief Alternate notation for record.  Records a non-const object.
    * @param data Object to record.
@@ -485,6 +569,27 @@ private:
          std::unique_ptr<AUXSTORE> auxstore) const;
 
 
+  /**
+   * @brief Helper for recording an object and its auxiliary store to the store.
+   * @param ctx The event context, or nullptr to use the current context.
+   * @param data The object to record.
+   * @param auxstore Auxiliary store object.
+   *
+   * Unlike record(), this does not change the handle object.
+   * That means that will not be able to get the object back
+   * by dereferencing the handle.
+   * Returns the object placed in the store, or nullptr if there
+   * was an error.
+   * If there was already an object in the store with the given key,
+   * then return null, and the objects passed in are destroyed.
+   */
+  template <class AUXSTORE>
+  typename WriteHandle<T>::const_pointer_type
+  doPut (const EventContext* ctx,
+         std::unique_ptr<const T> data,
+         std::unique_ptr<const AUXSTORE> auxstore) const;
+
+
   /**
    * @brief Record an object and its auxiliary store to the store.
    * @param data The object to record.
diff --git a/Control/StoreGate/StoreGate/WriteHandle.icc b/Control/StoreGate/StoreGate/WriteHandle.icc
index cb955e396f906bb1cc06fd1e817c2fa8f417c680..9da7fb85098d0d93eb99c9c7bf88117707050305 100644
--- a/Control/StoreGate/StoreGate/WriteHandle.icc
+++ b/Control/StoreGate/StoreGate/WriteHandle.icc
@@ -357,6 +357,31 @@ WriteHandle<T>::put (std::unique_ptr<T> data,
 }
 
 
+/**
+ * @brief Record an object to the store.
+ * @param data The object to record.
+ * @param returnExisting Allow an existing object?
+ *
+ * Unlike record(), this does not change the handle object.
+ * That means that will not be able to get the object back
+ * by dereferencing the handle.
+ * Returns the object placed in the store, or nullptr if there
+ * was an error.
+ * If there was already an object in the store with the given key,
+ * then return null, unless @c returnExisting is true, in which case
+ * return success.  In either case, @c data is destroyed.
+ */
+template <class T>
+inline
+typename WriteHandle<T>::const_pointer_type
+WriteHandle<T>::put (std::unique_ptr<const T> data,
+                     bool returnExisting /*= false*/) const
+{
+  IProxyDict* store = nullptr;
+  return doPut (nullptr, std::move(data), returnExisting, store);
+}
+
+
 /**
  * @brief Record an object to the store.
  * @param ctx The event context to use.
@@ -384,6 +409,33 @@ WriteHandle<T>::put (const EventContext& ctx,
 }
 
 
+/**
+ * @brief Record an object to the store.
+ * @param ctx The event context to use.
+ * @param data The object to record.
+ * @param returnExisting Allow an existing object?
+ *
+ * Unlike record(), this does not change the handle object.
+ * That means that will not be able to get the object back
+ * by dereferencing the handle.
+ * Returns the object placed in the store, or nullptr if there
+ * was an error.
+ * If there was already an object in the store with the given key,
+ * then return null, unless @c returnExisting is true, in which case
+ * return success.  In either case, @c data is destroyed.
+ */
+template <class T>
+inline
+typename WriteHandle<T>::const_pointer_type
+WriteHandle<T>::put (const EventContext& ctx,
+                     std::unique_ptr<const T> data,
+                     bool returnExisting /*= false*/) const
+{
+  IProxyDict* store = nullptr;
+  return doPut (&ctx, std::move(data), returnExisting, store);
+}
+
+
 /**
  * @brief Record an object to the store.
  * @param data The object to record.
@@ -453,6 +505,33 @@ WriteHandle<T>::put (std::unique_ptr<T> data,
 }
 
 
+
+/**
+ * @brief Record an object and its auxiliary store to the store.
+ * @param data The object to record.
+ * @param auxstore Auxiliary store object.
+ *
+ * Unlike record(), this does not change the handle object.
+ * That means that will not be able to get the object back
+ * by dereferencing the handle.
+ * Returns the object placed in the store, or nullptr if there
+ * was an error.
+ * If there was already an object in the store with the given key,
+ * then return null, and the objects passed in are destroyed.
+ *
+ * Unlike the version taking unique_ptr<T>, this does not alter the
+ * store pointer of @c data.
+ */
+template <class T>
+template <class AUXSTORE>
+typename WriteHandle<T>::const_pointer_type
+WriteHandle<T>::put (std::unique_ptr<const T> data,
+                     std::unique_ptr<const AUXSTORE> auxstore) const
+{
+  return doPut (nullptr, std::move(data), std::move(auxstore));
+}
+
+
 /**
  * @brief Record an object and its auxiliary store to the store.
  * @param ctx The event context to use.
@@ -478,6 +557,34 @@ WriteHandle<T>::put (const EventContext& ctx,
 }
 
 
+/**
+ * @brief Record an object and its auxiliary store to the store.
+ * @param ctx The event context to use.
+ * @param data The object to record.
+ * @param auxstore Auxiliary store object.
+ *
+ * Unlike record(), this does not change the handle object.
+ * That means that will not be able to get the object back
+ * by dereferencing the handle.
+ * Returns the object placed in the store, or nullptr if there
+ * was an error.
+ * If there was already an object in the store with the given key,
+ * then return null, and the objects passed in are destroyed.
+ *
+ * Unlike the version taking unique_ptr<T>, this does not alter the
+ * store pointer of @c data.
+ */
+template <class T>
+template <class AUXSTORE>
+typename WriteHandle<T>::const_pointer_type
+WriteHandle<T>::put (const EventContext& ctx,
+                     std::unique_ptr<const T> data,
+                     std::unique_ptr<const AUXSTORE> auxstore) const
+{
+  return doPut (&ctx, std::move(data), std::move(auxstore));
+}
+
+
 /**
  * @brief Alternate notation for record.  Records a non-const object.
  * @param data Object to record.
@@ -626,7 +733,7 @@ WriteHandle<T>::doPut (const EventContext* ctx,
   // make sure the BaseInfo(Base) structure is initialized
   SG::BaseInfo<elt_t>::baseinfo();
 
-  void* dataPtr(data.get());
+  const void* dataPtr = data.get();
   std::unique_ptr<DataObject> dobj (SG::asStorable (std::move (data)));
   return reinterpret_cast<const T*>
     (this->put_impl (ctx, std::move(dobj), dataPtr, false, returnExisting, store));
@@ -685,6 +792,47 @@ WriteHandle<T>::doPut (const EventContext* ctx,
 }
 
 
+/**
+ * @brief Helper for recording an object and its auxiliary store to the store.
+ * @param ctx The event context, or nullptr to use the current context.
+ * @param data The object to record.
+ * @param auxstore Auxiliary store object.
+ *
+ * Unlike record(), this does not change the handle object.
+ * That means that will not be able to get the object back
+ * by dereferencing the handle.
+ * Returns the object placed in the store, or nullptr if there
+ * was an error.
+ * If there was already an object in the store with the given key,
+ * then return null, and the objects passed in are destroyed.
+ */
+template <class T>
+template <class AUXSTORE>
+typename WriteHandle<T>::const_pointer_type
+WriteHandle<T>::doPut (const EventContext* ctx,
+                       std::unique_ptr<const T> data,
+                       std::unique_ptr<const AUXSTORE> auxstore) const
+{
+  IProxyDict* store = nullptr;
+  const T* ptr = this->doPut (ctx, std::move(data), false, store);
+  if (!ptr) return nullptr;
+
+  SG::DataObjectSharedPtr<DataObject> dobj
+    (SG::asStorable (std::move (auxstore)));
+  SG::DataProxy* proxy = store->recordObject (std::move(dobj),
+                                              this->name() + "Aux.",
+                                              false,
+                                              false);
+  if (!proxy) {
+    REPORT_ERROR (StatusCode::FAILURE)
+      << "recordObject of aux store failed";
+    return nullptr;
+  }
+
+  return ptr;
+}
+
+
 /**
  * @brief Record an object and its auxiliary store to the store.
  * @param data The object to record.
diff --git a/Control/StoreGate/share/VarHandleBase_test.ref b/Control/StoreGate/share/VarHandleBase_test.ref
index 1e63014e13a596957deace5cef7462db73721c5c..599addabd332e8919bc0c0d8c849d56e63bae236 100644
--- a/Control/StoreGate/share/VarHandleBase_test.ref
+++ b/Control/StoreGate/share/VarHandleBase_test.ref
@@ -1,18 +1,17 @@
 
 
 Initializing Gaudi ApplicationMgr using job opts ../share/VarHandleBase_test.txt
-JobOptionsSvc        INFO # =======> /afs/cern.ch/user/s/ssnyder/atlas-work7/Control/StoreGate/share/../share/VarHandleBase_test.txt
+JobOptionsSvc        INFO # =======> /home/sss/atlas/dvtest/build/../tests/../share/VarHandleBase_test.txt
 JobOptionsSvc        INFO # (1,1): ApplicationMgr.ExtSvc = ["StoreGateSvc/OtherStore"]
 JobOptionsSvc        INFO # (2,1): OtherStore.ProxyProviderSvc = ""
 JobOptionsSvc        INFO Job options successfully read in from ../share/VarHandleBase_test.txt
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
-                                                   Welcome to ApplicationMgr (GaudiCoreSvc v28r1)
-                                          running on lxplus042.cern.ch on Fri Apr  7 05:54:35 2017
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
+                                          running on karma on Wed May 10 14:56:34 2017
 ====================================================================================================================================
 ApplicationMgr       INFO Application Manager Configured successfully
-ClassIDSvc           INFO  getRegistryEntries: read 217 CLIDRegistry entries for module ALL
-ClassIDSvc          ERROR uncheckedSetTypePackageForID: PyAnalysisExamples-00-00-00 can not set CLID <86839352> for type name MyObj: Known CLID for this name <293847295> It was set by StoreGate-00-00-00
+ClassIDSvc           INFO  getRegistryEntries: read 306 CLIDRegistry entries for module ALL
 EventLoopMgr      WARNING Unable to locate service "EventSelector" 
 EventLoopMgr      WARNING No events will be processed from external input.
 HistogramPersis...WARNING Histograms saving not required.
@@ -57,12 +56,12 @@ VarHandle(FooSv...WARNING FILE:LINE (void*SG::VarHandleBase::typeless_dataPointe
 VarHandle(FooSv...WARNING FILE:LINE (void*SG::VarHandleBase::typeless_dataPointer_fromProxy(SG::DataProxy*, bool) const): Proxy  [293847295/foo] is in an invalid state
 VarHandle(FooSv...WARNING FILE:LINE (void*SG::VarHandleBase::typeless_dataPointer_fromProxy(SG::DataProxy*, bool) const): Request for an invalid object; requested CLID = 293847295, proxy primary ID is 293847296
 test9
-VarHandleBase @0x7fff26bc2b00 store=FooSvc, clid=293847295, key=foo----------- ptr@0, proxy@0
+VarHandleBase @0x7fff1c585020 store=FooSvc, clid=293847295, key=foo----------- ptr@0, proxy@0
 test10
 ServiceManager      FATAL No Service factory for FooSvc available.
 VarHandleKey.Se...  ERROR ServiceLocatorHelper::service: can not locate service FooSvc
-VarHandle(Store...  ERROR FILE:LINE (const void*SG::VarHandleBase::put_impl(const EventContext*, std::unique_ptr<DataObject>, void*, bool, bool, IProxyDict*&) const): code 0: recordObject failed
-VarHandle(FooSv...  ERROR FILE:LINE (const void*SG::VarHandleBase::put_impl(const EventContext*, std::unique_ptr<DataObject>, void*, bool, bool, IProxyDict*&) const): code 0: Attempt to record an object with a null key
+VarHandle(Store...  ERROR FILE:LINE (const void*SG::VarHandleBase::put_impl(const EventContext*, std::unique_ptr<DataObject>, const void*, bool, bool, IProxyDict*&) const): code 0: recordObject failed
+VarHandle(FooSv...  ERROR FILE:LINE (const void*SG::VarHandleBase::put_impl(const EventContext*, std::unique_ptr<DataObject>, const void*, bool, bool, IProxyDict*&) const): code 0: Attempt to record an object with a null key
 test11
 VarHandle(FooSv...  ERROR FILE:LINE (const void*SG::VarHandleBase::get_impl(const EventContext*, bool) const): code 0: get_impl called for a non-read handle.
 VarHandle(FooSv...  ERROR FILE:LINE (const void*SG::VarHandleBase::get_impl(const EventContext*, bool) const): code 0: Cannot initialize a Read/Write/Update handle with a null key.
diff --git a/Control/StoreGate/src/VarHandleBase.cxx b/Control/StoreGate/src/VarHandleBase.cxx
index c237328719d917b8a810231da3e48586e0c53610..a7848c219b5ea1b88e4cd023c2d215b1b69fd87d 100644
--- a/Control/StoreGate/src/VarHandleBase.cxx
+++ b/Control/StoreGate/src/VarHandleBase.cxx
@@ -696,7 +696,7 @@ namespace SG {
   const void*
   VarHandleBase::put_impl (const EventContext* ctx,
                            std::unique_ptr<DataObject> dobj,
-                           void* dataPtr,
+                           const void* dataPtr,
                            bool allowMods,
                            bool returnExisting,
                            IProxyDict* & store) const
diff --git a/Control/StoreGate/test/WriteHandle_test.cxx b/Control/StoreGate/test/WriteHandle_test.cxx
index 77799e82acf98535d6d8f24ef2d22c1c34f27841..d2ce53840f75cef02bdac8c12b91335e9cb3a78f 100644
--- a/Control/StoreGate/test/WriteHandle_test.cxx
+++ b/Control/StoreGate/test/WriteHandle_test.cxx
@@ -529,6 +529,14 @@ void test9()
   o = h4.put (ctx2, std::make_unique<MyObj>(26));
   assert (o->x == 26);
   assert (MyObj::deleted.empty());
+
+  SG::WriteHandle<MyObj> h6 ("foo6");
+  assert (h6.setProxyDict (&testStore).isSuccess());
+  o = h6.put (std::make_unique<const MyObj>(33));
+  assert (o->x == 33);
+  o = h6.put (ctx2, std::make_unique<const MyObj>(34));
+  assert (o->x == 34);
+  assert (MyObj::deleted.empty());
 }
 
 
@@ -597,6 +605,20 @@ void test10()
   assert (o->x == 40);
   assert (MyObj::deleted.empty());
   assert (MyObjAux::deleted.empty());
+
+  SG::WriteHandle<MyObj> h10 ("foo10");
+  assert (h10.setProxyDict (&testStore).isSuccess());
+  auto ptrs10 = makeWithAux(40);
+  o = h10.put (std::unique_ptr<const MyObj>(std::move(ptrs10.first)),
+               std::unique_ptr<const MyObjAux>(std::move(ptrs10.second)));
+  assert (o->x == 40);
+  auto ptrs11 = makeWithAux(50);
+  o = h10.put (ctx2,
+               std::unique_ptr<const MyObj>(std::move(ptrs11.first)),
+               std::unique_ptr<const MyObjAux>(std::move(ptrs11.second)));
+  assert (o->x == 50);
+  assert (MyObj::deleted.empty());
+  assert (MyObjAux::deleted.empty());
 }
 
 
diff --git a/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config b/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config
index 4cb4754c422661635fd82ff3cb0ec532dfa91776..ead679a9474f2d1b4067dc2ab8697961b4485dfe 100644
--- a/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config
@@ -4002,16 +4002,16 @@ dir L1Calo {
   }
   hist ppm_em_1d_tt_adc_SignalProfileLArEMECA {
   }
-        hist ppm_em_1d_tt_adc_SignalProfileLArEMECC {
-        }
-        hist ppm_em_1d_tt_adc_SignalProfileLArFCAL1A {
-        }
-        hist ppm_em_1d_tt_adc_SignalProfileLArFCAL1C {
-        }
-        hist ppm_em_1d_tt_adc_SignalProfileLArOverlapA {
-        }
-        hist ppm_em_1d_tt_adc_SignalProfileLArOverlapC {
-        }
+  hist ppm_em_1d_tt_adc_SignalProfileLArEMECC {
+  }
+  hist ppm_em_1d_tt_adc_SignalProfileLArFCAL1A {
+  }
+  hist ppm_em_1d_tt_adc_SignalProfileLArFCAL1C {
+  }
+  hist ppm_em_1d_tt_adc_SignalProfileLArOverlapA {
+  }
+  hist ppm_em_1d_tt_adc_SignalProfileLArOverlapC {
+  }
   hist ppm_had_1d_tt_adc_SignalProfileLArFCAL23A {
   }
   hist ppm_had_1d_tt_adc_SignalProfileLArFCAL23C {
@@ -4282,7 +4282,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_adc_LArEMECA_fineTimeVsLumi {
           output = L1Calo/PPM/Stability/FineTime/FineTime_Lumi
         }
-        hist ppm_em_1d_profile_adc_LArEMECA_fineTimeVsLumi {
+        hist ppm_em_1d_profile_adc_LArEMECC_fineTimeVsLumi {
           output = L1Calo/PPM/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_fineTimeVsLumi {
@@ -4545,7 +4545,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_LArEMECA_pedestalCorrectionVsBCN {
           output = L1Calo/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
-        hist ppm_em_1d_profile_adc_LArEMECC_pedestalCorrectionVsBCN {
+        hist ppm_em_1d_profile_LArEMECC_pedestalCorrectionVsBCN {
           output = L1Calo/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArFCAL1A_pedestalCorrectionVsBCN {
@@ -4711,7 +4711,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_adc_LArEMECA_etCorrelationVsLumi {
           output = L1Calo/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
         }
-        hist ppm_em_1d_profile_adc_LArEMECA_etCorrelationVsLumi {
+        hist ppm_em_1d_profile_adc_LArEMECC_etCorrelationVsLumi {
           output = L1Calo/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_etCorrelationVsLumi {
diff --git a/DataQuality/DataQualityConfigurations/config/L1Calo/cosmics_run.config b/DataQuality/DataQualityConfigurations/config/L1Calo/cosmics_run.config
index eb1a472e6963388b112e145faad847787e7394cf..795a5c2166f15274c2857c57646929388fb9cd30 100644
--- a/DataQuality/DataQualityConfigurations/config/L1Calo/cosmics_run.config
+++ b/DataQuality/DataQualityConfigurations/config/L1Calo/cosmics_run.config
@@ -4256,7 +4256,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_adc_LArEMECA_fineTimeVsLumi {
           output = L1Calo/PPM/Stability/FineTime/FineTime_Lumi
         }
-        hist ppm_em_1d_profile_adc_LArEMECA_fineTimeVsLumi {
+        hist ppm_em_1d_profile_adc_LArEMECC_fineTimeVsLumi {
           output = L1Calo/PPM/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_fineTimeVsLumi {
@@ -4519,7 +4519,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_LArEMECA_pedestalCorrectionVsBCN {
           output = L1Calo/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
-        hist ppm_em_1d_profile_adc_LArEMECC_pedestalCorrectionVsBCN {
+        hist ppm_em_1d_profile_LArEMECC_pedestalCorrectionVsBCN {
           output = L1Calo/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArFCAL1A_pedestalCorrectionVsBCN {
@@ -4685,7 +4685,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_adc_LArEMECA_etCorrelationVsLumi {
           output = L1Calo/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
         }
-        hist ppm_em_1d_profile_adc_LArEMECA_etCorrelationVsLumi {
+        hist ppm_em_1d_profile_adc_LArEMECC_etCorrelationVsLumi {
           output = L1Calo/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_etCorrelationVsLumi {
diff --git a/DataQuality/DataQualityConfigurations/config/L1Calo/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/L1Calo/heavyions_run.config
index 91df6166a90388ec49a7631d2cb66207e43ea1f5..a0250b4e0cae3455364b7cc2bbfbb78b7b9c1838 100644
--- a/DataQuality/DataQualityConfigurations/config/L1Calo/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/L1Calo/heavyions_run.config
@@ -4257,7 +4257,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_adc_LArEMECA_fineTimeVsLumi {
           output = L1Calo/PPM/Stability/FineTime/FineTime_Lumi
         }
-        hist ppm_em_1d_profile_adc_LArEMECA_fineTimeVsLumi {
+        hist ppm_em_1d_profile_adc_LArEMECC_fineTimeVsLumi {
           output = L1Calo/PPM/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_fineTimeVsLumi {
@@ -4520,7 +4520,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_LArEMECA_pedestalCorrectionVsBCN {
           output = L1Calo/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
-        hist ppm_em_1d_profile_adc_LArEMECC_pedestalCorrectionVsBCN {
+        hist ppm_em_1d_profile_LArEMECC_pedestalCorrectionVsBCN {
           output = L1Calo/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArFCAL1A_pedestalCorrectionVsBCN {
@@ -4686,7 +4686,7 @@ dir L1Calo {
         hist ppm_em_1d_profile_adc_LArEMECA_etCorrelationVsLumi {
           output = L1Calo/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
         }
-        hist ppm_em_1d_profile_adc_LArEMECA_etCorrelationVsLumi {
+        hist ppm_em_1d_profile_adc_LArEMECC_etCorrelationVsLumi {
           output = L1Calo/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_etCorrelationVsLumi {
diff --git a/DataQuality/DataQualityConfigurations/config/MDT/collisions_run.config b/DataQuality/DataQualityConfigurations/config/MDT/collisions_run.config
index d8ea9fee5d8be48b9a536cb1e3ef02c41b7dd080..b983c882d5dcd5a2ea4b5eacba4109e1357a1463 100644
--- a/DataQuality/DataQualityConfigurations/config/MDT/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/MDT/collisions_run.config
@@ -1002,7 +1002,7 @@ algorithm MDTBMid_BinsGreaterThanThreshold {
   name = Bins_GreaterThanNonZeroMedian_Threshold
   BinThreshold = 0.10
   MinBinThreshold = 1
-  TotalBins = 180
+  TotalBins = 192 
   thresholds = MDTBMid_thresholds
   reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_MDTPostProcess.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_MDTPostProcess.cxx
index 21576bbcc9166e299be83cbf07d75dc28c859fd4..b4c9697cad3162cfb653b56cc9d6327185177a85 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_MDTPostProcess.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_MDTPostProcess.cxx
@@ -524,12 +524,16 @@ void MonitoringFile::MDTChamEff( std::string inFilename, std::string title, int
 						xAxis = dirName(0,1) + dirName(4,1) + "4";
 						yAxis = "M,13";
 					}
+                                        if(EffG && dirName(0,3) == "BMF"){
+                                                xAxis = dirName(0,1) + dirName(4,1) + returnString(TString(dirName(3,1)).Atoi()*2-1);
+                                        
+                                        } 
 					double tubeLength = 4.9615;
 					double tubeRadiusScale = 1;
 					// 	    double maxTubeLengthBarrel = 4961.5;  // just FYI
 					// 	    double maxTubeLengthEndcap = 5941.5;  // just FYI 
 					GetTubeLength(tubeLength,dirName);    // should always fill tubeLength
-					if(dirName(0,3) == "BME") tubeRadiusScale = 0.25;
+					if(dirName(0,3) == "BME" || dirName(0,3) == "BMG") tubeRadiusScale = 0.25;
 					double chamb_vol = (double)numTubesInChamber*tubeLength*0.0006881*tubeRadiusScale;   // 0.0006881 m2 = pi*tube_r^2
 					// BME tubes are half the radius = 1/4 the volume/
 					//double noiseCut_vol = (double)nTubes_noiseCut*tubeLength*0.0006881*tubeRadiusScale; // these represent the total volume in (m3) covered by the tubes in the chamber
@@ -550,6 +554,7 @@ void MonitoringFile::MDTChamEff( std::string inFilename, std::string title, int
 					if( !hvOff ) {
 						TString eta_ring = dirName(0,2) + dirName(4,1);
 						TString eta_stat = dirName(3,1);
+                                                if(dirName(0,3)=="BMF") eta_stat = returnString(TString(dirName(3,1)).Atoi()*2-1);
 						if(eta_stat=="5"||eta_stat=="6"||eta_stat=="7"||eta_stat=="8") eta_ring+="5,6";
 						if(eta_stat=="3"||eta_stat=="4") eta_ring+="3,4";
 						if(eta_stat=="1"||eta_stat=="2"||eta_stat=="0") eta_ring+="1,2";
@@ -1507,6 +1512,11 @@ void MonitoringFile::MDT2DHWName(TString hardware_name, TString &stateta_IMO_c,
 		eta_s = returnString( TString(hardware_name(3,1)).Atoi() + 1 );
 	}
 
+        //BMF1,2,3 corresponds to eta stations 1,3,5
+        if( hardware_name(0,3) == "BMF"){
+            eta_s = returnString(TString(hardware_name(3,1)).Atoi()*2 - 1);
+        }
+
 	stateta_c = hardware_name(0,2);
 	stateta_c += hardware_name(4,1);
 	stateta_c+=eta_s;
@@ -1662,6 +1672,7 @@ void MonitoringFile::GetTubeLength( double & tubeLength, TString dirName ) {
 	else if( dirName(0,4) == "BIR2" || dirName(0,4) == "BIR4" || dirName(0,4) == "BIR5" ) tubeLength = 1.5365;
 	else if( dirName(0,4) == "BIR3" || dirName(0,4) == "BIR6" ) tubeLength = 1.1055;
 	else if( dirName(0,3) == "BME" ) tubeLength = 2.15; //approximate!
+	else if( dirName(0,3) == "BMG" ) tubeLength = 1.12; //approximate!
 	else if( dirName(0,3) == "BML" ) tubeLength = 3.5515;
 	else if( dirName(0,3) == "BMS" || dirName(0,3) == "BMF" ) tubeLength = 3.0715;
 	else if( dirName(0,3) == "BOL" ) tubeLength = 4.9615;
diff --git a/Event/xAOD/xAODForward/Root/AFPDefs.cxx b/Event/xAOD/xAODForward/Root/AFPDefs.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..650d1b76ca09025dec9a324cf76e42e46da8bf23
--- /dev/null
+++ b/Event/xAOD/xAODForward/Root/AFPDefs.cxx
@@ -0,0 +1,37 @@
+// 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.
+ */
+// $Id$
+/**
+ * @file xAODForward/AFPDefs.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Jun, 2017
+ * @brief Provide definitions for constants.
+ *
+ * A name defined in class scope like
+ *   static const int foo = 1;
+ *
+ * still needs a separate definition if it is ever bound to a reference.
+ * This can cause link failures, but often only in debug builds.
+ * See <https://stackoverflow.com/questions/5391973/undefined-reference-to-static-const-int>
+ */
+
+#include "xAODForward/AFPClusterAlgID.h"
+#include "xAODForward/AFPPixelLayerID.h"
+#include "xAODForward/AFPStationID.h"
+
+// These are all initialized in the headers; can't repeat it here.
+
+
+const int xAOD::AFPClusterAlgID::singleHit;
+const int xAOD::AFPClusterAlgID::nearestNeighbour;
+const int xAOD::AFPPixelLayerID::firstFromIP;
+const int xAOD::AFPPixelLayerID::secondFromIP;
+const int xAOD::AFPPixelLayerID::thirdFromIP;
+const int xAOD::AFPPixelLayerID::fourthFromIP;
+const int xAOD::AFPStationID::farA;
+const int xAOD::AFPStationID::nearA;
+const int xAOD::AFPStationID::nearC;
+const int xAOD::AFPStationID::farC;
+
diff --git a/Event/xAOD/xAODForward/xAODForward/AFPPixelLayerID.h b/Event/xAOD/xAODForward/xAODForward/AFPPixelLayerID.h
index 2a03e03772d61f423dc454729255acb354b16327..93a357c38e1e2878d18a69168cefb316cae5e0e1 100644
--- a/Event/xAOD/xAODForward/xAODForward/AFPPixelLayerID.h
+++ b/Event/xAOD/xAODForward/xAODForward/AFPPixelLayerID.h
@@ -57,7 +57,7 @@ namespace xAOD
   class AFPPixelLayerID
   {
   public:
-    static const int fristFromIP = 0; ///< the silicon layer closest to the interaction point
+    static const int firstFromIP = 0; ///< the silicon layer closest to the interaction point
     static const int secondFromIP = 1; ///< the second silicon layer counting from the interaction point
     static const int thirdFromIP = 2; ///< the third silicon layer counting from the interaction point
     static const int fourthFromIP = 3; ///< the fourth (last) silicon layer counting from the interaction point
diff --git a/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx b/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx
index f08360e6d5e85d50d611948ed3fe18cf8433a49c..22dc910c803cc1b60525149748878ca45b209d3d 100644
--- a/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx
+++ b/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx
@@ -257,6 +257,8 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(PFO_v1, float, centerMag, setCenterMag)
   AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(PFO_v1, float, charge, setCharge)
 
+
+
   /** specaial implementations for floats, for eflowRec JetETMiss variables, to reduce disk space usage */
 
   template<> void PFO_v1::setAttribute(const std::string& AttributeType, const xAOD::PFODetails::PFOLeptonType& anAttribute){
@@ -647,7 +649,7 @@ namespace xAOD {
     else if (!p_acc->isAvailable(*this)) {return nullptr;}
     else {
       const std::vector<ElementLink<IParticleContainer> >& theLinks = (*p_acc)(*this);
-      if(index<=theLinks.size()) {
+      if(index<theLinks.size()) {
 	ElementLink<IParticleContainer> theLink = theLinks[index];
 	if (theLink.isValid()){
 	  const IParticle *theParticle = *theLink;
@@ -669,7 +671,7 @@ namespace xAOD {
     else if (!p_acc->isAvailable(*this)) {return nullptr;}
     else {
       const std::vector<ElementLink<IParticleContainer> >& theLinks = (*p_acc)(*this);
-      if(index<=theLinks.size()) {
+      if(index<theLinks.size()) {
 	ElementLink<IParticleContainer> theLink = theLinks[index];
 	if (theLink.isValid()){
 	  const IParticle *theParticle = *theLinks[index];
diff --git a/Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h b/Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h
index 2eedb4689df88908ce6155abb153c451e80dbf43..e1348718b80993184d2ad8a66fdf530d62899c1b 100644
--- a/Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h
+++ b/Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h
@@ -87,6 +87,10 @@ namespace PFODetails
     eflowRec_LAYERENERGY_MINIFCAL2,
     eflowRec_LAYERENERGY_MINIFCAL3,
     eflowRec_EM_PROBABILITY,
+    eflowRec_layerVectorCellOrdering,
+    eflowRec_radiusVectorCellOrdering,
+    eflowRec_avgEdensityVectorCellOrdering,
+    eflowRec_layerHED,
     /** These variables belong to the cell-based particle flow algorithm */
     cellBased_FIRST_ETA = 400, 
     cellBased_SECOND_R, 
diff --git a/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h b/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h
index c3710ec4fc41cac24f4ac45bd90a1f23c4873498..f04f35555f460c330b087647c1d703f26bc3791d 100644
--- a/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h
+++ b/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h
@@ -90,6 +90,10 @@ namespace xAOD{
         DEFINE_PFO_ACCESSOR(eflowRec_LAYERENERGY_MINIFCAL1);
         DEFINE_PFO_ACCESSOR(eflowRec_LAYERENERGY_MINIFCAL2);
         DEFINE_PFO_ACCESSOR(eflowRec_LAYERENERGY_MINIFCAL3);
+        DEFINE_PFO_ACCESSOR(eflowRec_layerVectorCellOrdering);
+        DEFINE_PFO_ACCESSOR(eflowRec_radiusVectorCellOrdering);
+        DEFINE_PFO_ACCESSOR(eflowRec_avgEdensityVectorCellOrdering);
+        DEFINE_PFO_ACCESSOR(eflowRec_layerHED);
 	DEFINE_PFO_ACCESSOR(eflowRec_EM_PROBABILITY);
 	DEFINE_PFO_ACCESSOR(cellBased_FIRST_ETA); 
 	DEFINE_PFO_ACCESSOR(cellBased_SECOND_R); 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_DCSConditionsSvc.cxx b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_DCSConditionsSvc.cxx
index a888fe2e371208f7cb3fb51ae7af23b644a3ce8e..eff7ecdaf9a5f4482be56ab1e7ee13b350ca4fa7 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_DCSConditionsSvc.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_DCSConditionsSvc.cxx
@@ -351,20 +351,20 @@ StatusCode SCT_DCSConditionsSvc::fillData(int &/* i */, std::list<std::string>&
 	      }
 	      else m_pBadModules->remove(channelNumber, param);
 	      if (m_returnHVTemp){
-		m_pModulesHV->insert(make_pair(channelNumber,hvval));
+		(*m_pModulesHV)[channelNumber]=hvval;
 	      }
 	    }catch(...){
         ATH_MSG_DEBUG("Exception caught while trying to access HVCHVOLT_RECV");
 	    }
 	  } else if (m_returnHVTemp && param == "MOCH_TM0_RECV") {
 	    try{
-	    m_pModulesTemp0->insert(make_pair(channelNumber, (*attrList).second[param].data<float>()));
+              (*m_pModulesTemp0)[channelNumber]=(*attrList).second[param].data<float>();
 	    }catch(...){
 	      ATH_MSG_DEBUG("Exception caught while trying to access MOCH_TM0_RECV");
 	    }
 	  } else if (m_returnHVTemp && param == "MOCH_TM1_RECV") { //2 temp sensors per module
 	    try{
-	      m_pModulesTemp1->insert(make_pair(channelNumber, (*attrList).second[param].data<float>()));
+	      (*m_pModulesTemp1)[channelNumber]=(*attrList).second[param].data<float>();
 	    }catch(...){
         ATH_MSG_DEBUG("Exception caught while trying to access MOCH_TM1_RECV");
 	    }
@@ -375,7 +375,7 @@ StatusCode SCT_DCSConditionsSvc::fillData(int &/* i */, std::list<std::string>&
       }
       m_dataFilled=true;
     }
-  
+
   //we are done with the db folders and have the data locally. 
   if (!m_dropFolder){
     std::list<std::string>::const_iterator itr2_key(keys.begin());
diff --git a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/SiLorentzAngleSvc.cxx b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/SiLorentzAngleSvc.cxx
index 1599b19d12ce3ecba276173376bd51de82a485b3..29cc3911c7c9021fbfc0e7d53865414b0f3202ea 100644
--- a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/SiLorentzAngleSvc.cxx
+++ b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/SiLorentzAngleSvc.cxx
@@ -100,6 +100,11 @@ StatusCode SiLorentzAngleSvc::initialize() {
     const PixelID * idHelper;
     CHECK(m_detStore->retrieve(idHelper,"PixelID"));
     maxHash = idHelper->wafer_hash_max();
+
+    // Check layout
+    if      (maxHash<2000) { ATH_MSG_INFO("Suppose RUN-1 geometry..."); }
+    else if (maxHash<2100) { ATH_MSG_INFO("Suppose RUN-2 geometry..."); }
+    else                   { ATH_MSG_INFO("Suppose RUN-4 geometry..."); }
   } 
   else { // SCT
     const SCT_ID * idHelper;
@@ -107,11 +112,6 @@ StatusCode SiLorentzAngleSvc::initialize() {
    maxHash = idHelper->wafer_hash_max();
   }
 
-  // Check layout
-  if      (maxHash<2000) { ATH_MSG_INFO("Suppose RUN-1 geometry..."); }
-  else if (maxHash<2100) { ATH_MSG_INFO("Suppose RUN-2 geometry..."); }
-  else                   { ATH_MSG_INFO("Suppose RUN-4 geometry..."); }
-
   // In case geoInitialize is called more than once (not likely in practice) 
   m_cacheValid.clear(); 
   m_magFieldCacheValid.clear(); 
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/SCT_Digitization/ISCT_Amp.h b/InnerDetector/InDetDigitization/SCT_Digitization/SCT_Digitization/ISCT_Amp.h
index 43d15c4c7f9ddb25cd94d68cc60e7f6a5777a5f2..0d21e2d941f99fef4fdf5b07eec254942f60c416 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/SCT_Digitization/ISCT_Amp.h
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/SCT_Digitization/ISCT_Amp.h
@@ -46,11 +46,6 @@ public:
   /** Neighbour strip cross talk response strip to a list of charges with times */
   virtual float crosstalk(const list_t &Charges, const float timeOverThreshold) const =0;
   virtual void crosstalk(const list_t &Charges, const float timeOverThreshold, std::vector<float> &resp) const =0;
-
-  /** diagnostics */
-  virtual void AccumulateAverages(const list_t &Charges) =0;
-  virtual void PrintAverages() const =0;
-  virtual void PrintAverages(const char *fname) const =0;
 };
 
 #endif // SIDIGITIZATION_ISCT_AMP_H
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
index ecc03522eedad7c2ea266c95efba8e445f7e4659..9c6a3c57f7eb0c1e39e8ab43b730503352d3b272 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
@@ -27,7 +27,6 @@ def getSCT_Amp(name="SCT_Amp", **kwargs):
     kwargs.setdefault("deltaT", 1.0)
     kwargs.setdefault("Tmin", -25.0)
     kwargs.setdefault("Tmax", 150.0)
-    kwargs.setdefault("NbAverage", 0)
     from SCT_Digitization.SCT_DigitizationConf import SCT_Amp
     return SCT_Amp(name, **kwargs)
 
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.cxx
index e46893fa64061d8ddcdadf24efba3eca1aa23115..4fb20fc691fa3422e1f6f67f9d0b5a65c299cedc 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.cxx
@@ -26,7 +26,6 @@ SCT_Amp::SCT_Amp(const std::string& type, const std::string& name,const IInterfa
   declareProperty("deltaT",m_dt=1.0);
   declareProperty("Tmin",m_tmin=-25.0);
   declareProperty("Tmax",m_tmax=150.0);
-  declareProperty("NbAverage",m_Navr=0);
 }
 
 // Destructor
@@ -55,10 +54,6 @@ StatusCode SCT_Amp::initialize() {
   m_NormConstNeigh = exp(3.0-sqrt(3.0))/(6*(2.0*sqrt(3.0)-3.0));
   m_NormConstNeigh *= (m_CrossFactor2sides/2.0)*(1.0-m_CrossFactorBack);
 
-  int Narr = int((m_tmax-m_tmin)/m_dt)+1 ;
-  m_InAvr.resize(Narr+1); m_OutAvr.resize(Narr+1); m_SideAvr.resize(Narr+1) ;
-  m_InAvr.clear(); m_OutAvr.clear(); m_SideAvr.clear();
-
 #ifdef SCT_DIG_DEBUG
   ATH_MSG_INFO (  "\tAmp created, PeakTime = " << m_PeakTime );
   ATH_MSG_INFO (  "\tResponse will be CR-RC^3 with tp = " << m_PeakTime/3.0 );
@@ -66,7 +61,6 @@ StatusCode SCT_Amp::initialize() {
   ATH_MSG_INFO (  "\tCoupling to backplane = " << m_CrossFactorBack );
   ATH_MSG_INFO (  "\tNormalization for central " << m_NormConstCentral );
   ATH_MSG_INFO (  "\tNormalization for neighbour " << m_NormConstNeigh  );
-  ATH_MSG_INFO (  "\tAverages for " << Narr << " times prepared" );
 #endif
 
   return sc ;
@@ -76,7 +70,6 @@ StatusCode SCT_Amp::initialize() {
 // Finalize 
 //----------------------------------------------------------------------
 StatusCode SCT_Amp::finalize() {
-  //  PrintAverages(std::string("tape.avpul").c_str()) ;
   StatusCode sc = AthAlgTool::finalize();
   if (sc.isFailure()) {
     ATH_MSG_FATAL ( "SCT_Amp::finalize() failed" );
@@ -177,64 +170,3 @@ void SCT_Amp::crosstalk(const list_t & Charges,const float timeOfThreshold, std:
   for(short bin=0; bin<bin_max; ++bin) response[bin] = response[bin]*m_NormConstNeigh;
   return;
 }
-//----------------------------------------------------------------------
-// diagnostics
-//----------------------------------------------------------------------
-void SCT_Amp::AccumulateAverages(const list_t & Charges) {
-
-  if(m_Navr>=0) { 
-    int Narr = int((m_tmax-m_tmin)/m_dt)+1 ;	
-    // input charge integrated
-    list_t::const_iterator p_charge = Charges.begin();
-    list_t::const_iterator p_charge_end = Charges.end();
-    for(; p_charge != p_charge_end; ++p_charge) {
-      float ch=p_charge->charge() ;
-      float tC = p_charge->time() ;
-      int indx = int((tC - m_tmin)/m_dt)+1 ;
-      for(int i=indx; i<=Narr; ++i) {
-	m_InAvr[i] += ch ;
-      }
-    }
-    // output and side signals
-    for(float tr=m_tmin; tr<=m_tmax; tr+=m_dt) {
-      int i = int((tr - m_tmin)/m_dt)+1 ;
-      m_OutAvr[i] += this->response(Charges,tr) ;
-      m_SideAvr[i] += this->crosstalk(Charges,tr) ;
-    }
-    m_Navr++ ;
-  }
-}
-
-//----------------------------------------------------------------------
-// Printing on the screen
-//----------------------------------------------------------------------
-void SCT_Amp::PrintAverages() const {
-  ATH_MSG_INFO (  "Averages after " << m_Navr );
-  if(m_Navr>0) {
-    int Narr = int((m_tmax-m_tmin)/m_dt)+1 ;
-    for(int i=0;i<=Narr;++i) {
-      ATH_MSG_INFO (  m_tmin+m_dt*i << " " );
-      ATH_MSG_INFO (  m_InAvr[i]/m_Navr << " " );
-      ATH_MSG_INFO (  m_OutAvr[i]/m_Navr << " " );
-      ATH_MSG_INFO (  m_SideAvr[i]/m_Navr  ) ;
-    }
-  }    
-}
-
-//----------------------------------------------------------------------
-// Printing and saving in a file
-//----------------------------------------------------------------------
-void SCT_Amp::PrintAverages(const char *fname) const {
-  ATH_MSG_INFO (  "Averages after " << m_Navr <<  " to " << fname );
-  std::ofstream avrfile(fname) ;    
-    if(m_Navr>0) {
-      int Narr = int((m_tmax-m_tmin)/m_dt)+1 ;
-      for(int i=0;i<=Narr;++i) {
-	avrfile << m_tmin+m_dt*i << " " ;
-	avrfile << m_InAvr[i]/m_Navr << " " ;
-	avrfile << m_OutAvr[i]/m_Navr << " " ;
-	avrfile << m_SideAvr[i]/m_Navr << std::endl ; 
-      }
-    }
-    avrfile.close() ;
-}
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.h b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.h
index cb43837d01c9240109d5484aba8bc23e9bb8777f..19275bb7d5745cf44b2365ef278a6c28373c4c5f 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.h
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Amp.h
@@ -42,11 +42,6 @@ class SCT_Amp : public AthAlgTool, virtual public ISCT_Amp {
   float crosstalk(const list_t &Charges, const float timeOverThreshold) const;
   void crosstalk(const list_t &Charges, const float timeOverThreshold, std::vector<float> &resp) const;
 
-  /** diagnostics */
-  void AccumulateAverages(const list_t &Charges);
-  void PrintAverages() const;
-  void PrintAverages(const char *fname) const;
-    
 private:
 
   /** signal peak time */   
@@ -64,10 +59,6 @@ private:
   /** Normalisation factor for the neighbour strip signal response */
   float m_NormConstNeigh ;
 
-  /** diagnostics average */
-  int m_Navr;  
-  std::vector<float> m_InAvr,m_OutAvr,m_SideAvr; 
-
   float m_tmin, m_tmax, m_dt ;
 
 };
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt
index a7dabe7934a459ed6836fc268637345c9a0ac624..b4562ec3ff7ebfefcf1e51afd61c9aaf30fd23ef 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt
@@ -11,13 +11,13 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/ByteStreamData
                           GaudiKernel
                           InnerDetector/InDetRawEvent/InDetRawData
+                          InnerDetector/InDetConditions/InDetByteStreamErrors
                           PRIVATE
                           Control/AthenaBaseComps
                           Control/StoreGate
                           DetectorDescription/Identifier
                           Event/EventInfo
                           Event/xAOD/xAODEventInfo
-                          InnerDetector/InDetConditions/InDetByteStreamErrors
                           InnerDetector/InDetConditions/SCT_ConditionsServices
                           InnerDetector/InDetDetDescr/InDetIdentifier
                           InnerDetector/InDetDetDescr/InDetReadoutGeometry
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h
index 54a422e21305a88355d674f8b566fd9538149ff5..88d473aef535fe3567db699f11c9c536902bd4eb 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h
@@ -9,6 +9,7 @@
 #include "ByteStreamData/RawEvent.h"
 #include "InDetRawData/SCT_RDO_Container.h"
 #include "InDetRawData/InDetTimeCollection.h"
+#include "InDetByteStreamErrors/InDetBSErrContainer.h"
 
 #include <set>
 #include <string>
@@ -31,7 +32,8 @@ class ISCTRawDataProviderTool : virtual public IAlgTool
 
   //! this is the main decoding method
   virtual StatusCode convert( std::vector<const ROBFragment*>&,
-			      SCT_RDO_Container*) = 0;
+			      SCT_RDO_Container&,
+                              InDetBSErrContainer* errs) = 0;
 
 };
 
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCT_RodDecoder.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCT_RodDecoder.h
index 19eeef3dae47d9c544095b0dcf2c65e886b9a3b8..bdd93e4319641ea292bc201178411cdb4f9e195c 100755
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCT_RodDecoder.h
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCT_RodDecoder.h
@@ -20,14 +20,13 @@
 #include "InDetRawData/SCT_RDO_Container.h"
 //Cannot fwd declare RawEvent, due to typedef in the .h. Needed for OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
 #include "ByteStreamData/RawEvent.h"
+#include "InDetByteStreamErrors/InDetBSErrContainer.h"
 
 class IInterface;
 class InterfaceID;
 class StatusCode;
 
 class IdentifierHash;
-//this is a bit naughty:
-//using OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment;
 
 class ISCT_RodDecoder : virtual public IAlgTool {
  public: 
@@ -41,7 +40,10 @@ class ISCT_RodDecoder : virtual public IAlgTool {
   /** @brief Decode the rob data fragment and fill the collection SCT_RDO_Collection 
    *  with the RDO built by the makeRDO(..) method
    **/
-  virtual StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*,SCT_RDO_Container*,std::vector<IdentifierHash>* vec=0) = 0;
+  virtual StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment&,
+                                    SCT_RDO_Container&,
+                                    InDetBSErrContainer* errs,
+                                    std::vector<IdentifierHash>* vec=0) = 0;
 };
 
 inline const InterfaceID& ISCT_RodDecoder::interfaceID() {
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
index 9461029a5f41d2bb3d86addeb08739d0cf1b29e7..df05cb3f4bd6596724ce7395c4577286ca6ec0ae 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
@@ -32,6 +32,7 @@ SCTRawDataProvider::SCTRawDataProvider(const std::string& name,
   declareProperty("RDOKey", m_rdoContainerKey = std::string("SCT_RDOs"));
   declareProperty("LVL1IDKey", m_lvl1CollectionKey = std::string("SCT_LVL1ID"));
   declareProperty("BCIDKey", m_bcidCollectionKey = std::string("SCT_BCID"));
+  declareProperty("ByteStreamErrContainer", m_bsErrContainerKey = std::string("SCT_ByteStreamErrs"));
   declareProperty ("ProviderTool", m_rawDataTool);
   declareProperty ("CablingSvc",   m_cabling);
 }
@@ -58,18 +59,22 @@ StatusCode SCTRawDataProvider::initialize() {
   ATH_CHECK( m_rdoContainerKey.initialize() );
   ATH_CHECK( m_lvl1CollectionKey.initialize() );
   ATH_CHECK( m_bcidCollectionKey.initialize() );
+  ATH_CHECK( m_bsErrContainerKey.initialize() );
   return StatusCode::SUCCESS;
 }
 
 /// --------------------------------------------------------------------
 /// Execute
 
-StatusCode SCTRawDataProvider::execute() {
-
+StatusCode SCTRawDataProvider::execute()
+{
   SG::WriteHandle<SCT_RDO_Container> rdoContainer(m_rdoContainerKey);
-  rdoContainer = std::make_unique<SCT_RDO_Container>(m_sct_id->wafer_hash_max()); 
+  ATH_CHECK( rdoContainer.record (std::make_unique<SCT_RDO_Container>(m_sct_id->wafer_hash_max()) ) );
   ATH_CHECK(rdoContainer.isValid());
   
+  SG::WriteHandle<InDetBSErrContainer> bsErrContainer(m_bsErrContainerKey);
+  ATH_CHECK( bsErrContainer.record (std::make_unique<InDetBSErrContainer>()) );
+
   //// do we need this??  rdoIdc->cleanup();
 
   /** ask ROBDataProviderSvc for the vector of ROBFragment for all SCT ROBIDs */
@@ -131,7 +136,7 @@ StatusCode SCTRawDataProvider::execute() {
   }
 
   /** ask SCTRawDataProviderTool to decode it and to fill the IDC */
-  if (m_rawDataTool->convert(listOfRobf,&(*rdoContainer))==StatusCode::FAILURE)
+  if (m_rawDataTool->convert(listOfRobf, *rdoContainer, bsErrContainer.ptr()).isFailure())
     msg(MSG::ERROR) << "BS conversion into RDOs failed" << endmsg;
   
   return StatusCode::SUCCESS;
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h
index 2fa847356912788d7a538eaff7e34ee75198df2a..eecc400f34e6e41ff8a6739aba84b6cef2866134 100755
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h
@@ -26,6 +26,7 @@
 /** other */
 #include "InDetRawData/InDetTimeCollection.h"
 #include "InDetRawData/SCT_RDO_Container.h"
+#include "InDetByteStreamErrors/InDetBSErrContainer.h"
 #include "StoreGate/ReadHandleKey.h"
 #include "StoreGate/WriteHandleKey.h"
 #include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h"
@@ -72,6 +73,7 @@ class SCTRawDataProvider : public AthAlgorithm
   SG::WriteHandleKey<SCT_RDO_Container> m_rdoContainerKey;
   SG::WriteHandleKey<InDetTimeCollection> m_lvl1CollectionKey;
   SG::WriteHandleKey<InDetTimeCollection> m_bcidCollectionKey;
+  SG::WriteHandleKey<InDetBSErrContainer> m_bsErrContainerKey;
 
 };
 
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx
index c645a1836efef0b98ac4667c3494a82a8c4d5e78..713b3b5f3e7754bfa033660445a0c308cdacf641 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.cxx
@@ -93,7 +93,10 @@ void SCTRawDataProviderTool::handle(const Incident& inc) {
   }  
 }
 
-StatusCode SCTRawDataProviderTool::convert( std::vector<const ROBFragment*>& vecRobs,SCT_RDO_Container* rdoIdc ){
+StatusCode SCTRawDataProviderTool::convert( std::vector<const ROBFragment*>& vecRobs,
+                                            SCT_RDO_Container& rdoIdc,
+                                            InDetBSErrContainer* errs)
+{
   if(vecRobs.empty()) return StatusCode::SUCCESS;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "SCTRawDataProviderTool::convert()" << endmsg;
   static int DecodeErrCount = 0;
@@ -114,7 +117,7 @@ StatusCode SCTRawDataProviderTool::convert( std::vector<const ROBFragment*>& vec
 					      << std::hex<<robid<<std::dec
 					      << " already decoded, skip" << endmsg; 
     } else {
-      sc = m_decoder->fillCollection( &**rob_it, rdoIdc);
+      sc = m_decoder->fillCollection( **rob_it, rdoIdc, errs);
       if ( sc==StatusCode::FAILURE ) {
 	if ( DecodeErrCount < 100 ) {
 	  msg(MSG::ERROR) << "Problem with SCT ByteStream Decoding!" << endmsg;
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h
index dca41372c4b9c70674d0a293ab3b21d5d98b0542..78921cc182b0b4a6a1b6b979e2e39491e0afd31e 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProviderTool.h
@@ -27,11 +27,11 @@ class ISCT_ByteStreamErrorsSvc;
 class ISCT_RodDecoder;
 
 class SCTRawDataProviderTool : virtual public ISCTRawDataProviderTool, 
-                               virtual public AthAlgTool, 
-                               virtual public IIncidentListener
+  virtual public AthAlgTool, 
+  virtual public IIncidentListener
 {
 
- public:
+public:
    
   //! AlgTool InterfaceID
   //  static const InterfaceID& interfaceID( ) ;
@@ -41,20 +41,21 @@ class SCTRawDataProviderTool : virtual public ISCTRawDataProviderTool,
 			    const IInterface* parent ) ;
 
   //! destructor 
-  virtual ~SCTRawDataProviderTool() ;
+  virtual ~SCTRawDataProviderTool();
 
   //! initialize
-  virtual StatusCode initialize();
+  virtual StatusCode initialize() override;
 
   //! finalize
-  virtual StatusCode finalize();
+  virtual StatusCode finalize()  override;
   
   //! this is the main decoding method
   virtual StatusCode convert( std::vector<const ROBFragment*>& vecRobs,
-			      SCT_RDO_Container*               rdoIdc );
+			      SCT_RDO_Container&               rdoIdc,
+                              InDetBSErrContainer*             errs) override;
 
   /** function to be executed at BeginEvent incident */
-  virtual void handle(const Incident& inc);
+  virtual void handle(const Incident& inc) override;
 
 private: 
   
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.cxx
index 76ccb34f6355ee551de0f7442de6254dad200a9d..744a682f569910b6fabc4623496e9372466d0fc9 100755
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.cxx
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.cxx
@@ -10,7 +10,6 @@
 #include <algorithm>
 #include <iostream>
 //Gaudi
-#include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/IIncidentSvc.h"
 //Athena
 #include "ByteStreamData/RawEvent.h"
@@ -36,7 +35,6 @@ SCT_RodDecoder::SCT_RodDecoder
      m_byteStreamErrSvc("SCT_ByteStreamErrorsSvc",name),
      m_condensedMode(false),
      m_superCondensedMode(false),
-     m_errorHit(nullptr),
      m_singleCondHitNumber(0),
      m_pairedCondHitNumber(0),
      m_firstExpHitNumber(0),
@@ -66,12 +64,10 @@ SCT_RodDecoder::SCT_RodDecoder
      m_truncatedRODNumber(0),
      m_numMissingLinkHeader(0),
      m_numUnknownOfflineId(0),
-     m_bsErrContainerName(""),
      m_incidentSvc("IncidentSvc", name)
 {
   declareProperty("CablingSvc",m_cabling);
   declareProperty("ErrorsSvc",m_byteStreamErrSvc);
-  declareProperty("ByteStreamErrContainer",m_bsErrContainerName=std::string("SCT_ByteStreamErrs"));
   declareProperty("TriggerMode",m_triggerMode=true);
   declareInterface< ISCT_RodDecoder  >( this );
 }
@@ -81,13 +77,13 @@ SCT_RodDecoder::~SCT_RodDecoder() {
 }
 
 StatusCode SCT_RodDecoder::initialize() {
-  StatusCode sc = AlgTool::initialize(); 
+  ATH_CHECK( AlgTool::initialize() );
 
-  if (sc.isFailure()) return sc;
+  ATH_CHECK( m_incidentSvc.retrieve() );
  
   /** Retrieve cabling service */
   ATH_CHECK(m_cabling.retrieve());
-  msg(MSG::DEBUG) << "Retrieved service " << m_cabling << endmsg;
+  ATH_MSG_DEBUG( "Retrieved service " << m_cabling  );
 
   ATH_CHECK(detStore()->retrieve(m_indet_mgr,"SCT")) ;
   
@@ -95,84 +91,64 @@ StatusCode SCT_RodDecoder::initialize() {
 
   ATH_CHECK(m_byteStreamErrSvc.retrieve()) ;
 
-  ATH_CHECK(m_bsErrContainerName.initialize());
-
-  IIncidentSvc* incsvc;
-  sc = service("IncidentSvc", incsvc);
-  int priority = 100;
-  if( sc.isSuccess() ) {
-    incsvc->addListener( this, "BeginEvent", priority);
-    incsvc->addListener( this, "EndEvent", priority);
-  }
-
-  m_errorHit = new std::vector<int>;
   return StatusCode::SUCCESS ;
 }
-/** at the start of every event, create the InDetBSErrContainer and record it to SG */
-void
-SCT_RodDecoder::handle(const Incident& inc) {
-  if ((inc.type() == "BeginEvent") && (! m_triggerMode) ){
-    m_bsErrCont = SG::makeHandle(m_bsErrContainerName);
-    StatusCode sc = m_bsErrCont.record(std::make_unique<InDetBSErrContainer>());
-    if (sc.isFailure() ) msg(MSG::ERROR) << "Failed to record BSErrors to SG"<<endmsg;
-  }
-  m_byteStreamErrSvc->setCondensedReadout(m_condensedMode);
-  return;
-}
 
 StatusCode 
 SCT_RodDecoder::finalize() {
   
   /** print out summaries of data and errors decoded */
-  msg(MSG::INFO)<<"SCT BytestreamCnv summary: "<<m_headnumber  <<" link headers found"  <<endmsg;
+  ATH_MSG_INFO("SCT BytestreamCnv summary: "<<m_headnumber  <<" link headers found"   );
   if(m_condensedMode) {
-    msg(MSG::INFO)<<"SCT decoding bytestream summary: "<<m_singleCondHitNumber <<" single strips with hit in condensed mode"  <<endmsg;
-    msg(MSG::INFO)<<"SCT decoding bytestream summary: "<<m_pairedCondHitNumber <<" paired strips with hit in condensed mode"  <<endmsg;
+    ATH_MSG_INFO("SCT decoding bytestream summary: "<<m_singleCondHitNumber <<" single strips with hit in condensed mode"   );
+    ATH_MSG_INFO("SCT decoding bytestream summary: "<<m_pairedCondHitNumber <<" paired strips with hit in condensed mode"   );
   } else {
-    msg(MSG::INFO)<<"SCT decoding bytestream summary: "<<m_firstExpHitNumber <<" first strips with hit in expanded mode"  <<endmsg;
-    msg(MSG::INFO)<<"SCT decoding bytestream summary: "<<m_evenExpHitNumber <<" consecutive paired strips with hit in expanded mode"  <<endmsg;
-    msg(MSG::INFO)<<"SCT decoding bytestream summary: "<<m_lastExpHitNumber <<" last consecutive strip with hit in expanded mode"  <<endmsg;
+    ATH_MSG_INFO("SCT decoding bytestream summary: "<<m_firstExpHitNumber <<" first strips with hit in expanded mode"   );
+    ATH_MSG_INFO("SCT decoding bytestream summary: "<<m_evenExpHitNumber <<" consecutive paired strips with hit in expanded mode"   );
+    ATH_MSG_INFO("SCT decoding bytestream summary: "<<m_lastExpHitNumber <<" last consecutive strip with hit in expanded mode"   );
   }
 
-  msg(MSG::INFO)<<"SCT BytestreamCnv summary: "<<m_trailnumber <<" link trailers found" <<endmsg;
-  if (m_head_error_bcid > 0)      msg(MSG::INFO)<<"SCT BytestreamCnv summary: header-> "       <<m_head_error_bcid<<" BCID errors found"<<endmsg;
-  if (m_head_error_lvl1id > 0)    msg(MSG::INFO)<<"SCT BytestreamCnv summary: header-> "       <<m_head_error_lvl1id<<" LVL1d errors found"<<endmsg;
-  if (m_head_error_timeout > 0)   msg(MSG::INFO)<<"SCT BytestreamCnv summary: header-> "       <<m_head_error_timeout   <<" timeout errors found"<<endmsg;
-  if (m_head_error_formatter > 0) msg(MSG::INFO)<<"SCT BytestreamCnv summary: header-> "       <<m_head_error_formatter <<" formatter errors found"<<endmsg;
-  if (m_head_error_preamb > 0)    msg(MSG::INFO)<<"SCT BytestreamCnv summary: header-> "       <<m_head_error_preamb<<" preamble errors found"<<endmsg;
-  if (m_maskedLinkNumber > 0)     msg(MSG::INFO)<<"SCT BytestreamCnv summary: header-> " <<m_maskedLinkNumber<<" masked links found"<<endmsg;
-  if (m_trail_error_overflow > 0) msg(MSG::INFO)<<"SCT BytestreamCnv summary: trailer-> "      <<m_trail_error_overflow <<" trailer data overflow errors found"<<endmsg;
-  if (m_trail_error_limit > 0)    msg(MSG::INFO)<<"SCT BytestreamCnv summary: trailer-> "      <<m_trail_error_limit<<" header trailer limit errors found"<<endmsg; 
-  if (m_trail_error_bit > 0)      msg(MSG::INFO)<<"SCT BytestreamCnv summary: trailer-> "      <<m_trail_error_bit<<" trailer bit errors found"<<endmsg; 
-  if (m_config_data_bit > 0)      msg(MSG::INFO)<<"SCT BytestreamCnv summary: raw Data-> "     <<m_config_data_bit <<" raw data found: Config data mode"<<endmsg;
-  if (m_flag_error_bit > 0)       msg(MSG::INFO)<<"SCT BytestreamCnv summary: flag-> "         <<m_flag_error_bit<<" module link flag bit errors found"<<endmsg;
-  if (m_cond_hit1_error > 0)      msg(MSG::INFO)<<"SCT BytestreamCnv summary: hit-> "          <<m_cond_hit1_error<<" 1st hit error found in condensed mode" <<endmsg;
-  if (m_cond_hit2_error > 0)      msg(MSG::INFO)<<"SCT BytestreamCnv summary: hit-> "          <<m_cond_hit2_error<<" 2nd hit error found in condensed mode" <<endmsg;
-  if (m_chip_number_error > 0)    msg(MSG::INFO)<<"SCT BytestreamCnv summary: hit-> "          <<m_chip_number_error<<" Chip number > 5 error found"<<endmsg;
-  if (m_unknown_data_format > 0)  msg(MSG::INFO)<<"SCT BytestreamCnv summary: unknown data-> " <<m_unknown_data_format<<" Unknown data format found"<<endmsg;
-  if (m_RODClockErrorNumber > 0)  msg(MSG::INFO)<<"SCT BytestreamCnv summary: ROD status word-> " <<m_RODClockErrorNumber<<" ROD clock errors found"<<endmsg;
-  if (m_maskedRODNumber > 0)      msg(MSG::INFO)<<"SCT BytestreamCnv summary: ROB status word-> " <<m_maskedRODNumber<<" masked RODs found"<<endmsg;
-  if (m_truncatedRODNumber > 0)   msg(MSG::INFO)<<"SCT BytestreamCnv summary: ROB status word-> " <<m_truncatedRODNumber<<" truncated ROBFragments"<<endmsg;
-  msg(MSG::INFO)<<"Number of SCT hits in ByteStream-> "<<m_nHits<<endmsg;
-  msg(MSG::INFO)<<"Number of SCT RDOs created->       "<<m_nRDOs<<endmsg;
-
-  if (m_numMissingLinkHeader > 0) msg(MSG::WARNING)<<"SCT Missing Link Headers found "<<m_numMissingLinkHeader<<endmsg;
+  ATH_MSG_INFO("SCT BytestreamCnv summary: "<<m_trailnumber <<" link trailers found"  );
+  if (m_head_error_bcid > 0)      ATH_MSG_INFO("SCT BytestreamCnv summary: header-> "       <<m_head_error_lvl1id<<" LVL1d errors found" );
+  if (m_head_error_timeout > 0)   ATH_MSG_INFO("SCT BytestreamCnv summary: header-> "       <<m_head_error_timeout   <<" timeout errors found" );
+  if (m_head_error_formatter > 0) ATH_MSG_INFO("SCT BytestreamCnv summary: header-> "       <<m_head_error_formatter <<" formatter errors found" );
+  if (m_head_error_preamb > 0)    ATH_MSG_INFO("SCT BytestreamCnv summary: header-> "       <<m_head_error_preamb<<" preamble errors found" );
+  if (m_maskedLinkNumber > 0)     ATH_MSG_INFO("SCT BytestreamCnv summary: header-> " <<m_maskedLinkNumber<<" masked links found" );
+  if (m_trail_error_overflow > 0) ATH_MSG_INFO("SCT BytestreamCnv summary: trailer-> "      <<m_trail_error_overflow <<" trailer data overflow errors found" );
+  if (m_trail_error_limit > 0)    ATH_MSG_INFO("SCT BytestreamCnv summary: trailer-> "      <<m_trail_error_limit<<" header trailer limit errors found" );
+  if (m_trail_error_bit > 0)      ATH_MSG_INFO("SCT BytestreamCnv summary: trailer-> "      <<m_trail_error_bit<<" trailer bit errors found" );
+  if (m_config_data_bit > 0)      ATH_MSG_INFO("SCT BytestreamCnv summary: raw Data-> "     <<m_config_data_bit <<" raw data found: Config data mode" );
+  if (m_flag_error_bit > 0)       ATH_MSG_INFO("SCT BytestreamCnv summary: flag-> "         <<m_flag_error_bit<<" module link flag bit errors found" );
+  if (m_cond_hit1_error > 0)      ATH_MSG_INFO("SCT BytestreamCnv summary: hit-> "          <<m_cond_hit1_error<<" 1st hit error found in condensed mode"  );
+  if (m_cond_hit2_error > 0)      ATH_MSG_INFO("SCT BytestreamCnv summary: hit-> "          <<m_cond_hit2_error<<" 2nd hit error found in condensed mode"  );
+  if (m_chip_number_error > 0)    ATH_MSG_INFO("SCT BytestreamCnv summary: hit-> "          <<m_chip_number_error<<" Chip number > 5 error found" );
+  if (m_unknown_data_format > 0)  ATH_MSG_INFO("SCT BytestreamCnv summary: unknown data-> " <<m_unknown_data_format<<" Unknown data format found" );
+  if (m_RODClockErrorNumber > 0)  ATH_MSG_INFO("SCT BytestreamCnv summary: ROD status word-> " <<m_RODClockErrorNumber<<" ROD clock errors found" );
+  if (m_maskedRODNumber > 0)      ATH_MSG_INFO("SCT BytestreamCnv summary: ROB status word-> " <<m_maskedRODNumber<<" masked RODs found" );
+  if (m_truncatedRODNumber > 0)   ATH_MSG_INFO("SCT BytestreamCnv summary: ROB status word-> " <<m_truncatedRODNumber<<" truncated ROBFragments" );
+  ATH_MSG_INFO("Number of SCT hits in ByteStream-> "<<m_nHits );
+  ATH_MSG_INFO("Number of SCT RDOs created->       "<<m_nRDOs );
+
+  if (m_numMissingLinkHeader > 0) ATH_MSG_WARNING("SCT Missing Link Headers found "<<m_numMissingLinkHeader );
   if (m_numUnknownOfflineId  > 0) ATH_MSG_WARNING("SCT unknown onlineId found "<<m_numUnknownOfflineId);
 
 
-  StatusCode sc = AlgTool::finalize();
-  if (sc.isFailure()) return sc ;
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) <<"SCT_RodDecoder::finalize()"<<endmsg;
-  delete m_errorHit;
-  return sc;
+  ATH_CHECK(  AlgTool::finalize() );
+  ATH_MSG_DEBUG("SCT_RodDecoder::finalize()" );
+
+  return StatusCode::SUCCESS;
 }
 
 
 StatusCode
-SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment* robFrag,SCT_RDO_Container* rdoIdc,std::vector<IdentifierHash>* vecHash ){
-  uint32_t robid = robFrag->rod_source_id();
+SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment& robFrag,
+                                SCT_RDO_Container& rdoIdc,
+                                InDetBSErrContainer* errs,
+                                std::vector<IdentifierHash>* vecHash )
+{
+  uint32_t robid = robFrag.rod_source_id();
   /**determine whether this data was generated using the ROD simulator */
-  uint32_t rod_datatype = robFrag->rod_detev_type();
+  uint32_t rod_datatype = robFrag.rod_detev_type();
   if ((rod_datatype >> 20 ) & 1)   m_byteStreamErrSvc->setRODSimulatedData();
 
   /** look for the bit that denotes "Super-condensed" mode.*/
@@ -192,7 +168,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
   //bool ErrorHeader = false;
   //bool ErrorTrailer = false;
 
-  bool saved[768*2];
+  bool saved[768*2] = {false};
   int ABCerror = 0;
   int wordcount = -1;
   RawWord robData;
@@ -208,31 +184,30 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 
   IdentifierHash currentLinkIdHash;
 
-  memset(saved,0,768*2);
-  m_errorHit->clear();
+  std::vector<int> errorHit;
 
   StatusCode sc = StatusCode::SUCCESS;
 
   /// look at ROB status word ////////////////////////
 
-  if (robFrag->nstatus() !=0) {  
+  if (robFrag.nstatus() !=0) {  
     const uint32_t* rob_status;
-    robFrag->status(rob_status);
+    robFrag.status(rob_status);
     if ((*rob_status) != 0) {
       ATH_MSG_DEBUG("ROB status word for robid "<<std::hex<<robid<<" is non-zero "<<(*rob_status)<<std::dec);
       /// first store generic "ROBFragmentError" error type..
-      addRODError(robid,SCT_ByteStreamErrors::ROBFragmentError);
+      addRODError(robid,SCT_ByteStreamErrors::ROBFragmentError, errs);
       sc = StatusCode::RECOVERABLE;
       /// now look for specific problems, e.g. truncated or masked-off RODs
       if (((*rob_status) >> 27) & 0x1) {
         if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"ROB status word for robid "<<std::hex<<robid<<std::dec<<" indicates data truncation."<<endmsg;
-        addRODError(robid,SCT_ByteStreamErrors::TruncatedROD);
+        addRODError(robid,SCT_ByteStreamErrors::TruncatedROD, errs);
         m_truncatedRODNumber++;
         return sc;
       }
       if ((((*rob_status) >> 29) & 0x1) ||(((*rob_status) >> 31) & 0x1)) {
         ATH_MSG_DEBUG("ROB status word for robid "<<std::hex<<robid<<std::dec<<" indicates resource was masked off.");
-        addRODError(robid,SCT_ByteStreamErrors::MaskedROD);
+        addRODError(robid,SCT_ByteStreamErrors::MaskedROD, errs);
         m_maskedRODNumber++;
         return sc;
       }
@@ -242,9 +217,9 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
   /// look at ROD status words /////////
 
   OFFLINE_FRAGMENTS_NAMESPACE::PointerType vRodStatus;
-  int vRodStatusSize = robFrag->rod_nstatus();
+  int vRodStatusSize = robFrag.rod_nstatus();
 
-  robFrag->rod_status(vRodStatus);
+  robFrag.rod_status(vRodStatus);
   for (int j=0; j< vRodStatusSize; j++) {
     uint32_t statusWord = vRodStatus[j];
     /** check for clock errors in second ROD status word */
@@ -253,7 +228,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
       int bocClockError = (statusWord >> 17) & 0x1;
       if (timClockError || bocClockError) {
         ATH_MSG_DEBUG(" Clock error in ROD status word: "<<timClockError<<" "<<bocClockError);
-        addRODError(robid,SCT_ByteStreamErrors::RODClockError);
+        addRODError(robid,SCT_ByteStreamErrors::RODClockError, errs);
         m_RODClockErrorNumber++;
         sc=StatusCode::RECOVERABLE;
       }
@@ -269,8 +244,8 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
   bool foundHeader = false;
   
   OFFLINE_FRAGMENTS_NAMESPACE::PointerType vRobData;
-  int vRobDataSize = robFrag->rod_ndata();
-  robFrag->rod_data( vRobData ); 
+  int vRobDataSize = robFrag.rod_ndata();
+  robFrag.rod_data( vRobData ); 
   
   for (int i=0; i<vRobDataSize; i++ ) {
     wordcount++;
@@ -287,7 +262,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
       if (d[n]&0x8000) {
 	if (!foundHeader) {
 	  ATH_MSG_INFO(" Missing link header in ROD "<<std::hex<<robid<<std::dec);
-	  addRODError(robid,SCT_ByteStreamErrors::MissingLinkHeaderError);
+	  addRODError(robid,SCT_ByteStreamErrors::MissingLinkHeaderError, errs);
 	  m_numMissingLinkHeader++;
 	  sc = StatusCode::RECOVERABLE;
 	  continue;
@@ -309,7 +284,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  if(chip>5){
 	    ATH_MSG_DEBUG("    Hit super-condensed : xxx Chip number = "<<chip<<" > 5 "<<" for hit "<<std::hex<<d[n]) ;
 	    m_chip_number_error++ ;
-	    addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	    addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	    sc=StatusCode::RECOVERABLE;
 	    continue ;
 	  }
@@ -318,10 +293,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  if ((side == 1) && ((linkNb%2)==0)) { 
 	    if (((strip != oldstrip) || (side!=oldside)) && (groupSize>0)) { /** if it is a new cluster,  
 							 * make RDO with the previous cluster */
-	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[oldside*768+oldstrip] = rdoMade; 
 	      }
@@ -334,10 +309,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  if ((side == 0) && ((linkNb%2)!=0)) {
 	    if (((strip != oldstrip) || (side!=oldside)) && (groupSize>0)) { /** if it is a new cluster,  
 							 * make RDO with the previous cluster */
-	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[oldside*768+oldstrip] = rdoMade; 
 	      }
@@ -357,10 +332,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  if ((strip != oldstrip) || (side!=oldside)){ 
 	    /** if it is a new cluster,  
 	     * make RDO with the previous cluster */
-	    int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	    int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	    if ( rdoMade == -1 ) {
 	      sc=StatusCode::RECOVERABLE;
-	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	    } else {
 	      saved[oldside*768+oldstrip] = rdoMade; 
 	    }
@@ -385,7 +360,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  if(chip>5){
 	    ATH_MSG_DEBUG("    Hit condensed : xxx Chip number = "<<chip<<" > 5 "<<" for hit "<<std::hex<<d[n]) ;
 	    m_chip_number_error++ ;
-	    addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	    addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	    sc=StatusCode::RECOVERABLE;
 	    continue ;
 	  }
@@ -394,10 +369,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  if ((side == 1) && ((linkNb%2)==0)) { 
 	    if (((strip != oldstrip) || (side!=oldside)) && (groupSize>0)) { /** if it is a new cluster,  
 							 * make RDO with the previous cluster */
-	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[oldside*768+oldstrip] = rdoMade; 
 	      }
@@ -410,10 +385,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  if ((side == 0) && ((linkNb%2)!=0)) {
 	    if (((strip != oldstrip) || (side!=oldside)) && (groupSize>0)) { /** if it is a new cluster,  
 							 * make RDO with the previous cluster */
-	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[oldside*768+oldstrip] = rdoMade; 
 	      }
@@ -433,10 +408,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	    if ((strip != oldstrip) || (side!=oldside)){ 
 	      /** if it is a new cluster,  
 	       * make RDO with the previous cluster */
-	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[oldside*768+oldstrip] = rdoMade; 
 	      }
@@ -447,7 +422,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
       
 	    if (d[n]&0x4){ /** Error in the hit */
 	      ATH_MSG_DEBUG( "    Hit condensed : xxx ERROR in 1-hit "<<std::hex<<d[n]) ;
-	      m_errorHit->push_back(groupSize);
+	      errorHit.push_back(groupSize);
 	      ERRORS = (ERRORS | 0x10) ;
 	      m_cond_hit1_error++ ;
 	      sc=StatusCode::RECOVERABLE;
@@ -455,7 +430,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	    groupSize = (groupSize>=2 ? groupSize : 1);
 	  } else { /** 2-hits */
 	    if (strip > 767) {
-	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      sc=StatusCode::RECOVERABLE;
 
 	      ATH_MSG_DEBUG("Condensed mode - strip number out of range");
@@ -466,10 +441,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	    if ((strip != oldstrip) || (side!=oldside)) { /** if it is a new cluster, 
 				      * make RDO with the previous cluster 
 				      */
-	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(oldstrip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[oldside*768+oldstrip] = rdoMade; 
 	      }
@@ -479,14 +454,14 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	    }    
 	    if (d[n]&0x4) { /** Error in the first hit */
 	      ATH_MSG_DEBUG( "    Hit condensed : xxx ERROR in 1st hit"<<std::hex<<d[n]);
-	      m_errorHit->push_back(groupSize);
+	      errorHit.push_back(groupSize);
 	      m_cond_hit1_error++ ;
 	      ERRORS = (ERRORS | 0x10) ;
 	      sc=StatusCode::RECOVERABLE;
 	    }
 	    if (d[n]&0x8) { /** Error in the second hit */
 	      ATH_MSG_DEBUG( "    Hit condensed : xxx ERROR in 2nd hit"<<std::hex<<d[n]) ;
-	      m_errorHit->push_back(groupSize);
+	      errorHit.push_back(groupSize);
 	      m_cond_hit1_error++ ;
 	      ERRORS = (ERRORS | 0x20) ;
 	      sc=StatusCode::RECOVERABLE;
@@ -510,7 +485,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	    if(chip>5){
 	      ATH_MSG_DEBUG( "Expanded hit: First hit xxx ERROR chip Nb = " <<chip<< " > 5" ) ;   
 	      m_chip_number_error++ ;
-	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      continue ;
 	    }
       
@@ -524,10 +499,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	    }
 	    onlineId = ((robid & 0xFFFFFF)|(linkNb << 24)) ; 
 	    groupSize =  1 ;
-	    int rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash) ;
+	    int rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	    if ( rdoMade == -1 ) {
 	      sc=StatusCode::RECOVERABLE;
-	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	    } else { 
 	      saved[side*768+strip] = rdoMade; 
 	    }
@@ -535,7 +510,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  } else {  /** next hits cluster expanded */
 	    if (d[n]&0x80) { /** paired hits */
 	      if (strip > 767) {
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 		sc=StatusCode::RECOVERABLE;
 		ATH_MSG_DEBUG("Expanded mode - strip number out of range");
 		continue;
@@ -544,27 +519,27 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	      if(chip>5){
 		ATH_MSG_DEBUG( "Expanded Hit: paired hits xxx ERROR chip Nb = "<<chip<<" > 5") ;  
 		m_chip_number_error++ ;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 		continue ;
 	      }
 	      /** first hit from the pair  */
 	      strip++;
 	      tbin = d[n]&0x7;
 	      groupSize = 1;
-	      int rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[side*768+strip] = rdoMade; 
 	      }
 	      /** second hit from the pair */
 	      strip++;
 	      tbin = (d[n] >> 4) & 0x7 ;
-	      rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[side*768+strip] = rdoMade; 
 	      }
@@ -574,16 +549,16 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	      if(chip>5){
 		ATH_MSG_DEBUG("Expanded Hit: last hit xxx ERROR chip Nb = "<<chip<<" > 5") ;  
 		m_chip_number_error++ ;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 		continue ;
 	      }     
 	      strip++;
 	      tbin = d[n]&0x7;
 	      groupSize = 1;
-	      int rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+	      int rdoMade = this->makeRDO(strip,groupSize,tbin,onlineId,ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	      if ( rdoMade == -1 ) {
 		sc=StatusCode::RECOVERABLE;
-		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+		addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	      } else {
 		saved[side*768+strip] = rdoMade; 
 	      }
@@ -602,10 +577,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	
         m_headnumber++ ;
         if (saved[side*768+strip]==false && oldstrip>=0) {
-	  int rdoMade = this->makeRDO(strip, groupSize, tbin, onlineId, ERRORS,rdoIdc,vecHash,skipHash,lastHash); 
+	  int rdoMade = this->makeRDO(strip, groupSize, tbin, onlineId, ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
 	  if ( rdoMade == -1 ) {
 	    sc=StatusCode::RECOVERABLE;
-	    addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	    addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	  } else {
 	    saved[side*768+strip] = rdoMade; 
 	  }
@@ -619,7 +594,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	//ErrorHeader = false ;
 	ERRORS = 0 ;
 	memset(saved,0,768*2);
-	m_errorHit->clear();
+	errorHit.clear();
 
 	/** Link Number (or stream) in the ROD fragment */
 	int rodlinkNb = d[n] & 0x7F ;  
@@ -628,7 +603,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	linkNb  = ((( rodlinkNb >>4)&0x7)*12+(rodlinkNb &0xF)) ;
 	onlineId = ((robid & 0xFFFFFF)|(linkNb << 24)) ;     
 	if ((onlineId ==0) || (linkNb > 95)) {
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	  ATH_MSG_DEBUG("Header: xxx Link nb out of range (skipping following data)"<<std::dec<<linkNb) ;
 	  break;
@@ -639,46 +614,53 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	if (d[n] >> 7 & 0x1) {
 	  ATH_MSG_DEBUG("Masked link "<<onlineId<<" "<<currentLinkIdHash);
 	  //no counter increment here , is that correct? (sar)
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::MaskedLink);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::MaskedLink, errs);
 	  sc=StatusCode::RECOVERABLE; 
 	}
 	if (d[n]&0x800){
 	  ATH_MSG_DEBUG( "    Header: xxx TimeOut Error " <<currentLinkIdHash);
 	  m_head_error_timeout++;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::TimeOutError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::TimeOutError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
   
 	if (d[n]&0x1000){
 	  ATH_MSG_DEBUG( "    Header: xxx Preamble Error " <<currentLinkIdHash) ;
 	  m_head_error_preamb++ ;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::PreambleError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::PreambleError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
   
 	if (d[n]&0x400){ 
 	  ATH_MSG_DEBUG( "    Header: xxx LVL1 ID Error " <<currentLinkIdHash);
 	  m_head_error_lvl1id++ ;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::LVL1IDError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::LVL1IDError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
   
 	if (d[n]&0x200){
 	  ATH_MSG_DEBUG( "    Header: xxx BCID Error " << currentLinkIdHash) ;
 	  m_head_error_bcid++ ;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::BCIDError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::BCIDError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
   
 	if ((d[n]&0xF) > 11) {
 	  ATH_MSG_DEBUG("    Header: xxx Error in formatter " << currentLinkIdHash) ;
 	  m_head_error_formatter++ ;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::FormatterError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::FormatterError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
-  
-	if (d[n]&0x100)  m_condensedMode = true ;
-	else             m_condensedMode = false ;
+
+        bool condensedMode = false;
+	if (d[n]&0x100)  condensedMode = true ;
+
+        if (condensedMode != m_condensedMode) {
+          m_condensedMode = condensedMode;
+          // This does not appear to be used.  Can it be removed???
+          m_byteStreamErrSvc->setCondensedReadout(m_condensedMode);
+        }
+
 	continue;
   
       } // end header
@@ -696,7 +678,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  //ErrorTrailer = true;
 	  ATH_MSG_DEBUG( "    Trailer: xxx Trailer ERROR " << std::hex << d[n] ) ;
 	  m_trail_error_bit++ ;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::TrailerError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::TrailerError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
   
@@ -704,7 +686,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  //ErrorTrailer = true;/** no data should appear between header and trailer */
 	  ATH_MSG_DEBUG( "    Trailer: xxx Header-Trailer limit ERROR " << std::hex << d[n] ) ;
 	  m_trail_error_limit++ ;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::HeaderTrailerLimitError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::HeaderTrailerLimitError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
   
@@ -712,7 +694,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 	  //ErrorTrailer = true; /** not sure if there are hit elements before (probably yes but in principle they are fine) */
 	  ATH_MSG_DEBUG( "    Trailer: xxx Data Overflow ERROR " << std::hex << d[n] );
 	  m_trail_error_overflow++ ;
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::TrailerOverflowError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::TrailerOverflowError, errs);
 	  sc=StatusCode::RECOVERABLE;
 	}
 	if (d[n] & 0xF) { 
@@ -751,23 +733,23 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
          * want to transmit this information ? */
         IdentifierHash flagIdHash(0);
 	if (onlineId == 0) {
-	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+	  addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
 	  continue ;
 	} else {
 	  flagIdHash = m_cabling->getHashFromOnlineId(onlineId) ;
 	}
 	ATH_MSG_DEBUG(" xxx Flagged ABCD ERROR in chip "<<chip<<" Error code ABCerror "<<ABCerror<<" Link Nb (or Stream) "<<linkNb) ;
 	m_flag_error_bit++ ;
-	addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError);
-	if(     chip==0) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip0);
-	else if(chip==1) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip1);
-	else if(chip==2) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip2);
-	else if(chip==3) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip3);
-	else if(chip==4) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip4);
-	else if(chip==5) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip5);
-	if(ABCerror & 0x1) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Error1);
-	if(ABCerror & 0x2) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Error2);
-	if(ABCerror & 0x4) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Error4);
+	addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError, errs);
+	if(     chip==0) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip0, errs);
+	else if(chip==1) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip1, errs);
+	else if(chip==2) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip2, errs);
+	else if(chip==3) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip3, errs);
+	else if(chip==4) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip4, errs);
+	else if(chip==5) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Chip5, errs);
+	if(ABCerror & 0x1) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Error1, errs);
+	if(ABCerror & 0x2) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Error2, errs);
+	if(ABCerror & 0x4) addSingleError(flagIdHash, SCT_ByteStreamErrors::ABCDError_Error4, errs);
 	sc=StatusCode::RECOVERABLE;
 	continue;
       } else if (((d[n]>>13)&0x7) == 0x3){
@@ -776,7 +758,7 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
         ///---------------------------------------------------------------------
         IdentifierHash rawIdHash(0);
         if (onlineId == 0) {
-          addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+          addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
           continue ;
         } else {
           rawIdHash = m_cabling->getHashFromOnlineId(onlineId) ;
@@ -785,13 +767,13 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
         ATH_MSG_DEBUG( " xxx Raw Data Mode "<<std::hex<<d[n]<<std::dec<<": Config Data Mode ");
         /** too many errors in the BS for the ROD to decode the data */
         m_config_data_bit++ ;
-        addSingleError(rawIdHash, SCT_ByteStreamErrors::RawError);
+        addSingleError(rawIdHash, SCT_ByteStreamErrors::RawError, errs);
         sc=StatusCode::RECOVERABLE;
         continue;
       } else {
         ATH_MSG_DEBUG( "Data word format unknown " );
         m_unknown_data_format++ ;
-        addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+        addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
         sc=StatusCode::RECOVERABLE;
       }
     } //end of 16-bit word loop
@@ -799,10 +781,10 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
 
   /** create RDO of the last ink or stream of the event */
   if (saved[side*768+strip]==false && oldstrip>=0){
-    int rdoMade = makeRDO(strip, groupSize, tbin, onlineId, ERRORS,rdoIdc,vecHash,skipHash,lastHash);
+    int rdoMade = makeRDO(strip, groupSize, tbin, onlineId, ERRORS,rdoIdc,vecHash,skipHash,lastHash, errorHit);
     if ( rdoMade == -1 ) {
       sc=StatusCode::RECOVERABLE;
-      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError);
+      addSingleError(currentLinkIdHash, SCT_ByteStreamErrors::ByteStreamParseError, errs);
     } else {
       saved[side*768+strip] = rdoMade; 
     }
@@ -821,7 +803,9 @@ SCT_RodDecoder::fillCollection( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*
  *            on as StatusCode::RECOVERABLE by fillCollection().
  */
 
-int SCT_RodDecoder::makeRDO(int strip, int groupSize,int tbin, uint32_t onlineId, int ERRORS, SCT_RDO_Container* rdoIdc, std::vector<IdentifierHash>* vecHash,IdentifierHash& skipHash, IdentifierHash& lastHash){
+int SCT_RodDecoder::makeRDO(int strip, int groupSize,int tbin, uint32_t onlineId, int ERRORS, SCT_RDO_Container& rdoIdc, std::vector<IdentifierHash>* vecHash,IdentifierHash& skipHash, IdentifierHash& lastHash,
+                            const std::vector<int>& errorHit)
+{
 
   // IIncidentSvc* incsvc;
 
@@ -867,7 +851,6 @@ int SCT_RodDecoder::makeRDO(int strip, int groupSize,int tbin, uint32_t onlineId
   /** get identifier from the hash, this is not nice */
   Identifier idColl= m_sct_id->wafer_id(idCollHash);
 
-  SCT_RDORawData *RDO = 0 ;      
   SCT_RDO_Collection* theColl = 0;
   SCT_RDO_Container::const_iterator itColl;
 
@@ -887,10 +870,10 @@ int SCT_RodDecoder::makeRDO(int strip, int groupSize,int tbin, uint32_t onlineId
 
   ATH_MSG_DEBUG("Output Raw Data "<<std::hex<<" Coll "<<idColl.getString()<<":-> "<<m_sct_id->print_to_string(iddigit)<<std::dec) ;
   
-  itColl = rdoIdc->indexFind( idCollHash );
+  itColl = rdoIdc.indexFind( idCollHash );
   
   /** Check if the Collection is already created.*/
-  if ( itColl != rdoIdc->end() ) {
+  if ( itColl != rdoIdc.end() ) {
     theColl = const_cast<SCT_RDO_Collection*>(&**itColl); //very nasty!!
   } else {
     ATH_MSG_DEBUG( " Collection ID = " << idCollHash<< " does not exist, create it " );
@@ -899,41 +882,48 @@ int SCT_RodDecoder::makeRDO(int strip, int groupSize,int tbin, uint32_t onlineId
     /** set the Identifier to be nice to downstream clients */
     theColl->setIdentifier(idColl);
     /** add collection into IDC */
-    StatusCode sc = rdoIdc->addCollection(theColl, idCollHash);
-    if (sc.isFailure()) msg(MSG::ERROR) <<"Failed to add SCT RDO collection to container"<<endmsg;
+    if (rdoIdc.addCollection(theColl, idCollHash).isFailure()) {
+      ATH_MSG_ERROR("Failed to add SCT RDO collection to container" );
+    }
   }
   
   /** Now the Collection is there for sure. Create RDO and push it
    * into Collection. 
    */
-  RDO = new SCT3_RawData( iddigit, rawDataWord, m_errorHit );
   m_nRDOs++;
-  theColl->push_back( RDO );
+  theColl->push_back( std::make_unique<SCT3_RawData> ( iddigit,
+                                                       rawDataWord,
+                                                       &errorHit ) );
   return 1;
 }
 
 void 
-SCT_RodDecoder::addRODError(uint32_t rodid, int errorType) {
+SCT_RodDecoder::addRODError(uint32_t rodid, int errorType,
+                            InDetBSErrContainer* errs)
+{
   std::vector<IdentifierHash> idHashes;
   m_cabling->getHashesForRod(idHashes,rodid);
   std::vector<IdentifierHash>::iterator hashIt = idHashes.begin();
   std::vector<IdentifierHash>::iterator hashEnd = idHashes.end();
   for (; hashIt != hashEnd; ++hashIt) {
-    addSingleError(*hashIt, errorType);
+    addSingleError(*hashIt, errorType, errs);
   }
   return;
 }
 
 bool 
-SCT_RodDecoder::addSingleError(const IdentifierHash & idHash, const int bsErrorType){
+SCT_RodDecoder::addSingleError(const IdentifierHash idHash,
+                               const int bsErrorType,
+                               InDetBSErrContainer* errs)
+{
   bool ok(true);
   if (m_triggerMode) {
     m_byteStreamErrSvc->addErrorCount(bsErrorType);
   } else {
     ok=idHash.is_valid();
     if (ok){
-      std::pair<IdentifierHash, int>* err = new std::pair<IdentifierHash, int>(std::make_pair(idHash, bsErrorType)); 
-      m_bsErrCont->push_back(err);
+      errs->push_back( std::make_unique<std::pair<IdentifierHash, int> >
+                         (idHash, bsErrorType) );
     }
   }
   return ok;
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.h
index eb361e46d98c079d1cbe91c1feca619defebfb25..2788e591ac2e3c5aad871dab1ae74ae75f50a12c 100755
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.h
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCT_RodDecoder.h
@@ -20,12 +20,8 @@
 #include "SCT_RawDataByteStreamCnv/ISCT_RodDecoder.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/IIncidentListener.h"
 #include "InDetByteStreamErrors/InDetBSErrContainer.h"
 
-#include "StoreGate/WriteHandleKey.h"
-#include "StoreGate/WriteHandle.h"
-
 class ISCT_CablingSvc;
 class ISCT_ByteStreamErrorsSvc;
 class SCT_ID;
@@ -40,7 +36,8 @@ namespace InDetDD{
  *  also inserts them to the collection.
  *  This tool is used by the SCTRawCollByteStreamTool
  **/
-class SCT_RodDecoder : virtual public ISCT_RodDecoder, virtual public IIncidentListener, virtual public AthAlgTool {
+class SCT_RodDecoder : public AthAlgTool, public ISCT_RodDecoder
+{
  public: 
   //@name Usual AlgTool methods
   //@{
@@ -51,41 +48,43 @@ class SCT_RodDecoder : virtual public ISCT_RodDecoder, virtual public IIncidentL
   virtual ~SCT_RodDecoder(); 
 
   /** AlgTool initialize */
-  virtual StatusCode initialize();
+  virtual StatusCode initialize() override;
 
   /** AlgTool finalize*/
-  virtual StatusCode finalize();
-  //@}
-  /** function to be executed at BeginEvent incident */
-  virtual void handle(const Incident& inc);
+  virtual StatusCode finalize() override;
   
   /** @brief Decode the rob data fragment and fill the collection SCT_RDO_Collection 
    *  with the RDO built by the makeRDO(..) method
    **/
-  virtual StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment* robFrag,
-				    SCT_RDO_Container* rdoIdc,
-				    std::vector<IdentifierHash>* vecHash = 0);
+  virtual StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment& robFrag,
+				    SCT_RDO_Container& rdoIdc,
+                                    InDetBSErrContainer* errs,
+				    std::vector<IdentifierHash>* vecHash = 0)
+    override;
+
 
+private:
   /// method that builds the RawData RDO and add it to the collection 
   int makeRDO(int strip, int groupSize, int tbin, 
 	      uint32_t onlineId, int ERRORS,
-	      SCT_RDO_Container* rdoIdc,
+	      SCT_RDO_Container& rdoIdc,
 	      std::vector<IdentifierHash>* vecHash, 
-	      IdentifierHash& skipHash, IdentifierHash& lastHash);
+	      IdentifierHash& skipHash, IdentifierHash& lastHash,
+              const std::vector<int>& errorHit);
 
   /// add an error for each wafer in a problematic ROD.
-  void addRODError(uint32_t rodid, int errorType);
-
+  void addRODError(uint32_t rodid, int errorType,
+                      InDetBSErrContainer* errs);
 
- private:
-  bool addSingleError(const IdentifierHash & idHash, const int bsErrorType);
+  bool addSingleError(const IdentifierHash idHash,
+                      const int bsErrorType,
+                      InDetBSErrContainer* errs);
   const SCT_ID* m_sct_id;
   const InDetDD::SCT_DetectorManager *m_indet_mgr;
   ServiceHandle<ISCT_CablingSvc> m_cabling;
   ServiceHandle<ISCT_ByteStreamErrorsSvc> m_byteStreamErrSvc;
   bool m_condensedMode ;
   bool m_superCondensedMode ;
-  std::vector<int>* m_errorHit;
   /** Summary of the decoding process */
   //  unsigned int m_hitnumber;             //!< Total number of decoded hits
   unsigned int  m_singleCondHitNumber;  //!< Total number of single hit decoded in condensed mode
@@ -118,13 +117,9 @@ class SCT_RodDecoder : virtual public ISCT_RodDecoder, virtual public IIncidentL
   unsigned int m_numMissingLinkHeader;
   unsigned int m_numUnknownOfflineId;
   
-  SG::WriteHandle<InDetBSErrContainer> m_bsErrCont;
-  SG::WriteHandleKey<InDetBSErrContainer> m_bsErrContainerName;
-
   bool m_triggerMode;
 
   ServiceHandle<IIncidentSvc> m_incidentSvc;
-
 };
 
 
diff --git a/InnerDetector/InDetExample/InDetBeamSpotExample/cron/cronsetup.sh b/InnerDetector/InDetExample/InDetBeamSpotExample/cron/cronsetup.sh
index e29de1e7928682ba73d16602b5a7c59e720c207f..370a04a06c37c7571533ddabb6001b44375445c9 100755
--- a/InnerDetector/InDetExample/InDetBeamSpotExample/cron/cronsetup.sh
+++ b/InnerDetector/InDetExample/InDetBeamSpotExample/cron/cronsetup.sh
@@ -1,29 +1,42 @@
-#!/usr/bin/env bash
-
-# General setup for cron jobs
+#!/bin/bash
 
+# General setup for cron jobs:
 export AtlasSetup=/afs/cern.ch/atlas/software/dist/AtlasSetup
 alias asetup='source $AtlasSetup/scripts/asetup.sh'
-source /afs/cern.ch/atlas/software/dist/AtlasSetup/scripts/asetup.sh --input  /afs/cern.ch/user/a/atlidbs/cron/asetup.cron
-export CMDSETUP='source /afs/cern.ch/atlas/software/dist/AtlasSetup/scripts/asetup.sh --input  /afs/cern.ch/user/a/atlidbs/cron/asetup.cron'
+asetup="/afs/cern.ch/atlas/software/dist/AtlasSetup/scripts/asetup.sh"
+asetup_cfg="/afs/cern.ch/user/a/atlidbs/cron/asetup.cron"
+source "$asetup" --input "$asetup_cfg"
+# We need the AtlasProject to get the platform:
+project="$(eval "echo \$${AtlasProject}_PLATFORM")"
+project="${project:-$CMTCONFIG}"
+csetup="/afs/cern.ch/user/a/atlidbs/cron/build/${project}/setup.sh"
+# The cmake setup.sh gives us the built version of the IBDS package:
+source "$csetup"
+# This variable is used in jobs submitted by JobRunner:
+export CMDSETUP="source '$asetup' --input '$asetup_cfg' && source '$csetup'"
+unset asetup asetup_cfg project csetup
 
+# Environment:
 export TASKDB='auth_file:/afs/cern.ch/user/a/atlidbs/private/beamspotdbinfo_w.dat'
 
-# Some debugging output in case of network problems
-echo "------------------------------"
+# Debugging output (in case of network problems):
+echo '------------------------------'
 echo "Host name = ${HOSTNAME}"
-echo "------------------------------"
-echo "/usr/kerberos/bin/klist:"
-#/usr/kerberos/bin/klist
+echo '------------------------------'
+echo '/usr/bin/klist:'
 /usr/bin/klist
-echo "------------------------------"
-echo "/usr/kerberos/bin/kvno host/lxadm10.cern.ch"
+echo '------------------------------'
+echo '/usr/bin/kvno host/lxadm10.cern.ch'
 /usr/bin/kvno host/lxadm10.cern.ch
-echo "------------------------------"
-echo "/usr/sue/bin/tokens"
+echo '------------------------------'
+echo '/usr/bin/tokens'
 /usr/bin/tokens
-echo "------------------------------"
-echo "/usr/bin/id"
+echo '------------------------------'
+echo '/usr/bin/id'
 /usr/bin/id
-echo "------------------------------"
-
+echo '------------------------------'
+echo 'Executables:'
+which beamspotman.py
+which beamspotnt.py
+which taskman.py
+echo '------------------------------'
diff --git a/InnerDetector/InDetExample/InDetBeamSpotExample/python/DiskUtils.py b/InnerDetector/InDetExample/InDetBeamSpotExample/python/DiskUtils.py
index 25320aeee4431a69aeb25e5e0c08d8e7cd80bb17..bda5049513618057fedfc7ac7931b1c1a4eb4afb 100644
--- a/InnerDetector/InDetExample/InDetBeamSpotExample/python/DiskUtils.py
+++ b/InnerDetector/InDetExample/InDetBeamSpotExample/python/DiskUtils.py
@@ -1,19 +1,20 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
-import os, re, fnmatch, commands
+import os, re, fnmatch, subprocess
 
 # StorageManager to deal with listing, copying, reading files from different storage systems
 from collections import namedtuple
 StorageManager = namedtuple('StorageManager', ['name', 'prefix', 'cp', 'ls', 'longls'])
 CastorMgr = StorageManager(name='castor', prefix='root://castoratlas/', cp='xrdcp', ls='nsls %s', longls='nsls -l %s')
 RFIOMgr = StorageManager(name='rfio', prefix='rfio:', cp='rfcp', ls='rfdir %s', longls='rfdir %s')
-#EOSMgr = StorageManager(name='eos', prefix='root://eosatlas/', cp='xrdcp', ls='/afs/cern.ch/project/eos/installation/0.1.0-22d/bin/eos.select ls', longls='/afs/cern.ch/project/eos/installation/0.1.0-22d/bin/eos.select ls -l')
-#EOSMgr = StorageManager(name='eos', prefix='root://eosatlas/', cp='xrdcp', ls='eos ls', longls='eos ls -l')
-EOSMgr = StorageManager(name='eos', prefix='root://eosatlas/', cp='xrdcp', ls='/bin/sh -l -c "eos ls %s"', longls='/bin/sh -l -c "eos ls -l %s"')    
-UnixMgr = StorageManager(name='unix', prefix='', cp='cp', ls='ls %s', longls='ls -l %s')    
+# As a workaround to athena's xrootd library being binary-incompatible with the
+# eos executable we set LD_LIBRARY_PATH. This can be reverted to the commented
+# out line once the eos executable learns to pick up the right library.
+# EOSMgr = StorageManager(name='eos', prefix='root://eosatlas/', cp='xrdcp', ls='/bin/sh -l -c "eos ls %s"', longls='/bin/sh -l -c "eos ls -l %s"')
+EOSMgr = StorageManager(name='eos', prefix='root://eosatlas/', cp='xrdcp', ls='/bin/sh -l -c "LD_LIBRARY_PATH=/usr/lib64/ eos ls %s"', longls='/bin/sh -l -c "LD_LIBRARY_PATH=/usr/lib64/ eos ls -l %s"')
+UnixMgr = StorageManager(name='unix', prefix='', cp='cp', ls='ls %s', longls='ls -l %s')
 
 # Can also use 'xrd castoratlas ls'/'xrd eosatlas ls' but always does a long listing and so much slower than 'nsls'/'eos ls'
-# source /afs/cern.ch/project/eos/installation/pro/etc/setup.sh for eos aliases until installed by default
 
 def _hasWildcard(name) :
     """
@@ -64,10 +65,10 @@ def filelist(files, prefix=None):
              if prefix=True it will determin the prefix based on the pathname
 
     ex:
-    >>> filelist('/castor/cern.ch/atlas/*')
-    >>> filelist('/castor/cern.ch/atl*/foo?[bar]/*.pool.root.?')
-    >>> filelist('/eos/atlas/*', prefix='root://eosatlas/')
-    >>> filelist('/castor/cern.ch/atlas/*', prefix=True)
+    filelist('/castor/cern.ch/atlas/*')
+    filelist('/castor/cern.ch/atl*/foo?[bar]/*.pool.root.?')
+    filelist('/eos/atlas/*', prefix='root://eosatlas/')
+    filelist('/castor/cern.ch/atlas/*', prefix=True)
     """
 
     path, fname = os.path.split(files)
@@ -80,12 +81,12 @@ def filelist(files, prefix=None):
 
     mgr = storageManager(path)
 
-    sc, flist = commands.getstatusoutput(mgr.ls % path)
-    if sc: # command failed
-        print flist
+    try:
+        flist = subprocess.check_output(mgr.ls % path, shell=True).split()
+    except subprocess.CalledProcessError as err:
+        print err.output
         return []
-        
-    flist = flist.split()
+
     if not (os.path.basename(files) in ['', '*']): # no need to filter
         pattern = fnmatch.translate(os.path.basename(files))
         flist = filter(lambda x: re.search(pattern, x), flist)
@@ -109,9 +110,9 @@ def ls(path, longls=False):
     mgr = storageManager(path)
 
     if longls:
-        return commands.getoutput(mgr.longls % path)
+        return subprocess.check_output(mgr.longls % path, shell=True)
     else:
-        return commands.getoutput(mgr.ls % path)
+        return subprocess.check_output(mgr.ls % path, shell=True)
 
 def cp(src, dest='.'):
     src = rationalise(src)
@@ -121,5 +122,5 @@ def cp(src, dest='.'):
 
     cp = 'cp'
     if srcmgr.cp == 'xrdcp' or destmgr.cp == 'xrdcp': cp = 'xrdcp'
-    
+
     return os.system('%s %s%s %s%s' %(cp, srcmgr.prefix, src, destmgr.prefix, dest))
diff --git a/InnerDetector/InDetExample/InDetBeamSpotExample/python/ExtractLBFileMap.py b/InnerDetector/InDetExample/InDetBeamSpotExample/python/ExtractLBFileMap.py
index eba583f8922d036a2f6a20ce656580685f33ca0a..52e6b1253d62e70062cb0d47c53317c17c435b49 100755
--- a/InnerDetector/InDetExample/InDetBeamSpotExample/python/ExtractLBFileMap.py
+++ b/InnerDetector/InDetExample/InDetBeamSpotExample/python/ExtractLBFileMap.py
@@ -5,17 +5,14 @@ import user
 import sys, traceback
 import os, re,commands,fnmatch
 from glob import glob
-# Turn off X11 requirement in ROOT
-sys.argv = sys.argv[:1] + ['-b'] + sys.argv[1:]
-from PyUtils.Helpers import ShutUp
 import ROOT
+from PyUtils.Helpers import ShutUp, ROOT6Setup
+ROOT6Setup()
 rootMsg = ShutUp()
 rootMsg.mute()
-# Turn off X11 requirement in ROOT
-sys.argv.remove('-b')
 from PyCool import coral
 from time import ctime
-import PyCintex
+import cppyy
 import AthenaROOTAccess.transientTree
 rootMsg.unMute()
 
@@ -116,15 +113,14 @@ def extractFromFiles(fileNames):
                                                              branchNames = branchNames)
 
             try:
-                brs = tt.GetListOfBranches()
-                for br in brs:
-                    if not br.GetObjClassName() == 'EventStreamInfo': continue
+                for br in tt.GetListOfBranches():
+                    if not br.GetClassName() == 'EventStreamInfo': continue
 
                     # Find LBs in a given file
                     for lb in getLBs(tt, br.GetName()):
-                        fname = fileName.split('/')[-1]                            
+                        fname = fileName.split('/')[-1]
                         try:
-                            lbDict[fname].append(lb) 
+                            lbDict[fname].append(lb)
                         except KeyError:
                             lbDict[fname] = [lb]
                     #print 'Added lbs for Dict'
diff --git a/InnerDetector/InDetExample/InDetBeamSpotExample/python/JobRunner.py b/InnerDetector/InDetExample/InDetBeamSpotExample/python/JobRunner.py
index f2c71e1ad56f42248f9fe7533db40cca02923547..fbc8db071221578fbf35bcf34096160a0479cbdc 100644
--- a/InnerDetector/InDetExample/InDetBeamSpotExample/python/JobRunner.py
+++ b/InnerDetector/InDetExample/InDetBeamSpotExample/python/JobRunner.py
@@ -21,6 +21,7 @@ import time
 import pprint
 import glob
 import re
+import subprocess
 
 
 # Default template of job submission script
@@ -337,7 +338,6 @@ class JobRunner:
 
         # Make sure start directory where script and config files will be written to exists
         os.makedirs('%(jobdir)s' % jobConfig) 
-        #os.system('mkdir -p %(jobdir)s' % jobConfig)
 
         # Write job configuration file
         config = open(jobConfig['configfile'],'w')
@@ -434,9 +434,10 @@ class JobRunner:
         logfile = jobConfig['logfile']
         exitstatus = jobConfig['exitstatus']
         # Write only to standard output, don't produce log file
-        #status = os.system(scriptfile) >> 8   # Convert to standard Unix exit code
+        #status = subprocess.call(scriptfile, shell=True) >> 8   # Convert to standard Unix exit code
         # Write to both stdout and log file, preserve exit status code
-        status = os.system('%s 2>&1 | tee %s ; exit `cat %s`' % (scriptfile,logfile,exitstatus)) >> 8   # Convert to standard Unix exit code 
+        status = subprocess.call('%s 2>&1 | tee %s ; exit `cat %s`'
+            % (scriptfile,logfile,exitstatus), shell=True) >> 8   # Convert to standard Unix exit code
         return status
 
 
@@ -445,7 +446,7 @@ class JobRunner:
         if not jobnr in self.jobs:
             raise JobRunnerError, 'Job number %s is not configured' % jobnr
         jobConfig = self.jobs[jobnr]
-        os.system('touch '+jobConfig['subflag'])
+        subprocess.call('touch '+jobConfig['subflag'], shell=True)
         status = self.submitJob(jobConfig)
         self.jobStatus[jobnr] = status
 
@@ -512,7 +513,8 @@ class JobRunner:
                         msg += "\n    %-20s = %s" % (i,data[k][i])
                 else:
                     msg += "\n\n%-20s = %s" % (k,data[k])
-            os.system("echo '%s' | mail -s '%s' '%s'" % (msg,subject,self.getParam('logmail')))
+            subprocess.call("echo '%s' | mail -s '%s' '%s'" %
+                (msg,subject,self.getParam('logmail')), shell=True)
 
 
 #
diff --git a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
index a8c0ce8fa77b61e2e20dd875cd44601af6ae5453..f9a982e9927da2f3253bd965ca7a3ab16d695974 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
@@ -1152,6 +1152,13 @@ class doStoreTrackSeeds(InDetFlagsJobProperty):
   allowedTypes = ['bool']
   StoredValue  = False
 
+class checkDeadElementsOnTrack(InDetFlagsJobProperty): 
+  """Enable check for dead modules and FEs""" 
+  statusOn     = True 
+  allowedTypes = ['bool']
+  StoredValue  = False
+
+
 ##-----------------------------------------------------------------------------
 ## 2nd step
 ## Definition of the InDet flag container
@@ -1413,6 +1420,7 @@ class InDetJobProperties(JobPropertyContainer):
        self.checkThenSet(self.doBremRecovery         , False)
        self.checkThenSet(self.doCaloSeededBrem       , False)
        self.checkThenSet(self.doHadCaloSeededSSS     , False)
+       self.checkThenSet(self.checkDeadElementsOnTrack,False)
        # --- turn off TRT
        DetFlags.makeRIO.TRT_setOff()
        DetFlags.TRT_setOff()
@@ -2757,7 +2765,8 @@ _list_InDetJobProperties = [Enabled,
                             doDBM,
                             doParticleConversion,
                             doStoreTrackSeeds,
-                            doHIP300
+                            doHIP300,
+                            checkDeadElementsOnTrack
                            ]
 for j in _list_InDetJobProperties: 
     jobproperties.InDetJobProperties.add_JobProperty(j)
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py
index 01e43c0bcf703c07fa96e49f89bb2c21b5682c34..26fce2f11046c3dd8cc2af8e9d303b2e0d079c1f 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py
@@ -6,6 +6,13 @@ from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
 # These lines were previously in SCT_Monitoring_ConditionsAccess.py
 ########################################################################
 
+doTriggger_InDetSCTHitsTool = False
+TrigDecisionTool_InDetSCTHitsTool = ""
+if globalflags.DataSource == "data":
+  from RecExConfig.RecFlags import rec
+  if rec.doTrigger():
+    doTriggger_InDetSCTHitsTool = True
+    TrigDecisionTool_InDetSCTHitsTool = DQMonFlags.nameTrigDecTool()
 from SCT_Monitoring.SCT_MonitoringConf import SCTHitsNoiseMonTool
 InDetSCTHitsTool = SCTHitsNoiseMonTool ( name                         = "InDetSCTHitsNoiseMonTool",
                                          OutputLevel                  = 4,
@@ -13,12 +20,9 @@ InDetSCTHitsTool = SCTHitsNoiseMonTool ( name                         = "InDetSC
                                          CheckRate                    = 1000,
                                          doPositiveEndcap             = True,
                                          doNegativeEndcap             = True,
-                                         doTrigger = globalflags.DataSource == "data")
+                                         doTrigger = doTriggger_InDetSCTHitsTool,
+                                         TrigDecisionTool = TrigDecisionTool_InDetSCTHitsTool)
 
-from RecExConfig.RecFlags import rec
-if not rec.doTrigger():
-  InDetSCTHitsTool.doTrigger=False
-	
 InDetSCTHitsTool.tracksName = InDetKeys.SCTTracks() if  InDetFlags.doTrackSegmentsSCT() else InDetKeys.UnslimmedTracks()
 
 ToolSvc += InDetSCTHitsTool
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py
index 76f685470193d6550e429875faf39a975fec0d29..9c73bb591a171208e824e3ea3a4a9523836c7830 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py
@@ -837,6 +837,18 @@ if InDetFlags.loadSummaryTool():
     AtlasTrackSummaryTool = AtlasTrackSummaryTool()
     ToolSvc += AtlasTrackSummaryTool
 
+    #
+    # Loading Pixel test tool
+    #
+    from InDetTestPixelLayer.InDetTestPixelLayerConf import InDet__InDetTestPixelLayerTool
+    InDetTestPixelLayerTool = InDet__InDetTestPixelLayerTool(name = "InDetTestPixelLayerTool",
+                                                             CheckActiveAreas=InDetFlags.checkDeadElementsOnTrack(),
+                                                             CheckDeadRegions=InDetFlags.checkDeadElementsOnTrack(),
+                                                             CheckDisabledFEs=InDetFlags.checkDeadElementsOnTrack())
+    ToolSvc += InDetTestPixelLayerTool
+    if (InDetFlags.doPrintConfigurables()):
+        print InDetTestPixelLayerTool
+
     #
     # Loading Configurable HoleSearchTool
     #
@@ -844,8 +856,10 @@ if InDetFlags.loadSummaryTool():
     InDetHoleSearchTool = InDet__InDetTrackHoleSearchTool(name = "InDetHoleSearchTool",
                                                           Extrapolator = InDetExtrapolator,
                                                           usePixel      = DetFlags.haveRIO.pixel_on(),
-                                                          useSCT        = DetFlags.haveRIO.SCT_on(),
-                                                          CountDeadModulesAfterLastHit = True)
+                                                          useSCT        = DetFlags.haveRIO.SCT_on(),                                                          
+                                                          CountDeadModulesAfterLastHit = True,
+                                                          PixelLayerTool = InDetTestPixelLayerTool)
+
     if (DetFlags.haveRIO.SCT_on()):
       InDetHoleSearchTool.SctSummarySvc = InDetSCT_ConditionsSummarySvc
     else:
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMainMon.h b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMainMon.h
index 5e736217baadb1e1cbdaa97bdd32dd13a3177332..1c1eefd06c490a6e8aaf2bc82a823ee453ac46e0 100755
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMainMon.h
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMainMon.h
@@ -138,7 +138,7 @@ public:
    void FillSummaryHistos(PixelMon2DMaps* occupancy, TH1F_LW* A, TH1F_LW* C, TH1F_LW* IBL, TH1F_LW* B0, TH1F_LW* B1, TH1F_LW* B2);
    int ParseDetailsString(std::string & detailsMod);
    bool OnTrack(Identifier id, bool isCluster);
-   int getErrorCategory(int bit, bool isibl);
+   int getErrorState(int bit, bool isibl);
 	std::string makeHistname(std::string set, bool ontrk);
 	std::string makeHisttitle(std::string set, std::string axis, bool ontrk);
    bool GetFEID( int pixlayer, int phiid, int etaid, int &oufephi, int &outfeeta);
@@ -206,14 +206,9 @@ private:
    unsigned int m_currentBCID;
    int m_runNum;
    int m_ntracksPerEvent;
-   int m_nGood_IBL2D;
-   int m_nGood_IBL3D;
-   int m_nGood_B0;
-   int m_nGood_B1;
-   int m_nGood_B2;
-   int m_nGood_ECC;
-   int m_nGood_ECA;
-   int m_nActivAndSync_mod[PixLayerIBL2D3D::COUNT];
+   int m_nGood_mod[PixLayerIBL2D3D::COUNT];
+   int m_nActive_mod[PixLayerIBL2D3D::COUNT];
+
    unsigned int m_nRefresh;
    unsigned int m_nRefresh5min;
 
@@ -247,6 +242,11 @@ private:
       "B0",   "B1",   "B2",
       "DBMA", "DBMC", "IBL", "IBL2D", "IBL3D"
    };
+   std::string m_modLabel_PixLayerDisk[PixLayerDisk::COUNT] = {
+      "ECA0", "ECA1", "ECA2",
+      "ECC0", "ECC1", "ECC2",
+      "B0",   "B1",   "B2", "IBL"
+   };
 
    bool m_doRDO;              //storegate type flags from jobOptions
    bool m_doRODError;
@@ -278,6 +278,7 @@ private:
    bool m_doRefresh5min;
    bool m_isFirstBook;
    bool m_doDegFactorMap;
+   bool m_doOfflineAnalysis;
 
    bool m_doHeavyIonMon;  //modifications for heavy ion monitoring
 
@@ -296,6 +297,12 @@ private:
 
    std::vector<double> m_hitocc_stock[PixLayer::COUNT];
 
+   int                   m_ClusPerEventArray_disksA[48][3];
+   int                   m_ClusPerEventArray_disksC[48][3];
+   int                   m_ClusPerEventArray_lI[14][20];
+   int                   m_ClusPerEventArray_l0[22][13];
+   int                   m_ClusPerEventArray_l1[38][13];
+   int                   m_ClusPerEventArray_l2[52][13];
 
    //////////////////////Histograms///////////////////////////
    
@@ -314,34 +321,35 @@ private:
    /// the number of hits
    TProfile_LW*            m_hits_per_lumi;
    TH1I_LW*                m_num_hits;
-   TH1I_LW*                m_num_hits_low;
+   PixelMon2DMaps*         m_hitmap_mon;
+   PixelMon2DMaps*         m_hitmap_tmp;
    TH1F_LW*                m_nhits_mod[PixLayer::COUNT];
    TProfile_LW*            m_hits_per_lumi_mod[PixLayer::COUNT];
    TH1F_LW*                m_nlargeevt_per_lumi_mod[PixLayerIBL2D3D::COUNT];
    TH1F_LW*                m_totalhits_per_bcid_mod[PixLayerIBL2D3D::COUNT];
-   PixelMon2DMaps*         m_hitmap_mon;
-   PixelMon2DMaps*         m_hitmap_tmp;
    /// hit occupancy
    TProfile_LW*            m_avgocc_per_lumi;
    TProfile_LW*            m_avgocc_ratioIBLB0_per_lumi;
    TProfile_LW*            m_avgocc_per_lumi_mod[PixLayerIBL2D3D::COUNT];
    TProfile_LW*            m_avgocc_per_bcid_mod[PixLayerIBL2D3D::COUNT];
-   TProfile_LW*            m_avgocc_wSyncMod_per_lumi_mod[PixLayerIBL2D3D::COUNT];
+   TProfile2D_LW*          m_avgocc_per_bcid_per_lumi_mod[PixLayerIBL2D3D::COUNT];
+   TProfile_LW*            m_avgocc_active_per_lumi_mod[PixLayerIBL2D3D::COUNT];
    TH2F_LW*                m_maxocc_per_lumi_mod[PixLayerIBL2D3D::COUNT];
    TH1F_LW*                m_maxocc_per_bcid_mod[PixLayerIBL2D3D::COUNT];
    PixelMon2DMaps*         m_occupancy;
    PixelMon2DMapsLW*       m_average_pixocc;
+   PixelMon2DProfilesLW*   m_occupancy_pix_evt;
    PixelMon2DMaps*         m_occupancy_10min;
    TProfile*               m_occupancy_time1;
    TProfile*               m_occupancy_time2;
    TProfile*               m_occupancy_time3;
-   TH1F_LW*                m_occupancy_summary_low_mod[PixLayer::COUNT];
    TH1F_LW*                m_occupancy_summary_mod[PixLayer::COUNT];
    TH3F*                   m_nFEswithHits_mod[PixLayer::COUNT];
    /// hit tot
    TH1F_LW*                m_hit_ToT[PixLayerIBL2D3DDBM::COUNT];
-   TH1F_LW*                m_hit_ToT_Mon_mod[PixLayer::COUNT];
+   TH2F_LW*                m_hit_ToT_per_lumi_mod[PixLayerIBL2D3D::COUNT];
    TH1F_LW*                m_hit_ToT_tmp_mod[PixLayer::COUNT];
+   TH1F_LW*                m_hit_ToT_Mon_mod[PixLayer::COUNT];
    TProfile2D_LW*          m_ToT_etaphi_mod[PixLayer::COUNT];
    TProfile_LW*            m_hit_ToTMean_mod[PixLayer::COUNT];
    /// timing
@@ -385,9 +393,6 @@ private:
    TH1F_LW*                m_Details_mod4_ToT;  
 
 
-   //PixelMonModules2D*    m_pixel_noise_map;
-   //PixelMonModules1D*    m_pixel_occupancy_spectrum;
-
    //-----------------
    // track histograms
    //-----------------
@@ -412,8 +417,7 @@ private:
    PixelMon2DProfilesLW*   m_misshits_ratio_tmp;
    PixelMon2DProfilesLW*   m_misshits_ratio_mon;
    /// hit efficiency
-   TProfile_LW*            m_hiteff_incl_mod[PixLayerDBM::COUNT];
-   TProfile_LW*            m_hiteff_actv_mod[PixLayerDBM::COUNT];
+   TProfile_LW*            m_hiteff_incl_mod[PixLayerDisk::COUNT];
    /// Lorentz Angle
    TProfile2D_LW*          m_LorentzAngle_IBL;
    TProfile2D_LW*          m_LorentzAngle_IBL2D;
@@ -424,8 +428,6 @@ private:
    /// degradation factor
    TProfile2D_LW*          m_degFactorMap;
    TProfile_LW*            m_degFactorMap_per_lumi;
-   TProfile2D_LW*          m_degFactorMap_eta_per_lumi;
-   //TProfile2D_LW*          m_degFactorMap_phi_per_lumi;
 
    /// cluster size
    TH1F_LW*                m_clusize_ontrack_mod[PixLayerIBL2D3D::COUNT];
@@ -467,74 +469,51 @@ private:
    TH1F_LW*              m_2cluster_ToT_mod[PixLayer::COUNT];
    TH1F_LW*              m_3cluster_ToT_mod[PixLayer::COUNT];
    TH1F_LW*              m_bigcluster_ToT_mod[PixLayer::COUNT];
-
    TH1F_LW*              m_cluster_Q_mod[PixLayerIBL2D3DDBM::COUNT];
    TH1F_LW*              m_1cluster_Q_mod[PixLayer::COUNT];
    TH1F_LW*              m_2cluster_Q_mod[PixLayer::COUNT];
    TH1F_LW*              m_3cluster_Q_mod[PixLayer::COUNT];
    TH1F_LW*              m_bigcluster_Q_mod[PixLayer::COUNT];
-
    PixelMonProfiles*     m_clussize_map;
    PixelMonProfiles*     m_cluscharge_map;
    PixelMonProfiles*     m_clusToT_map;
    TH1F_LW*              m_cluster_groupsize;
    TH1F_LW*              m_cluster_col_width;
    TH1F_LW*              m_cluster_row_width;
-   //TH1F_LW*              m_cluster_row_width_IBL;
    TH1F_LW*              m_cluster_col_width_mod[PixLayerIBL2D3D::COUNT];
    TH1F_LW*              m_cluster_row_width_mod[PixLayerIBL2D3D::COUNT];
    TH1F_LW*              m_cluster_groupsize_mod[PixLayerIBL2D3D::COUNT];
    TH1F_LW*              m_cluster_LVL1A;
-   //TH1F_LW*              m_cluster_LVL1A_highToT;
    TH1F_LW*              m_cluster_LVL1A1d_mod[PixLayer::COUNT];
    TProfile_LW*          m_clusterSize_eta;
    TH2F_LW*              m_clusToT_vs_eta_mod[PixLayer::COUNT];
-   //TProfile_LW*          m_clusQ_vs_eta_mod[PixLayer::COUNT];
-   //TH2F_LW*              m_clusQ_vs_eta_mod[PixLayer::COUNT];
    TH2F_LW*              m_ToT_vs_clussize_mod[PixLayer::COUNT];
-   //TH2F_LW*              m_Q_vs_clussize_mod[PixLayer::COUNT];
    TProfile_LW*          m_clussize_vs_eta_mod[PixLayer::COUNT];
 
    PixelMon2DMaps*       m_clustermap_mon;
    PixelMon2DMaps*       m_clustermap_tmp;
    PixelMon2DMaps*       m_cluster_occupancy;
    TH2F_LW*              m_cluster_occupancy_FE_B0_mon;
-   //TH2F_LW*              m_cluster_occupancy_FE_L0_B11_S2_C6;
-   //TH2F_LW*              m_cluster_occupancy_isgood_FE_L0_B11_S2_C6;
    TProfile*             m_cluster_occupancy_time1;
    TProfile*             m_cluster_occupancy_time2;
    TProfile*             m_cluster_occupancy_time3;
 
-   //TProfile2D_LW*        m_cluster_totmean_L0_B11_S2_C6;
    PixelMon2DMaps*       m_clusocc_sizenot1; 
    PixelMonModulesProf*  m_cluseff_mod;
    PixelMonModules1D*    m_cluster_ToT_mod;
    PixelMonModules1D*    m_cluster_size_mod;
    PixelMonModules1D*    m_cluster_num_mod;
-   //PixelMonModules1D*    m_cluster_num_mod_ontrack;
    TH1I_LW*              m_num_clusters;
-   TH1I_LW*              m_num_clusters_low;
    TProfile_LW*          m_clusters_per_track_per_lumi_mod[PixLayer::COUNT];
    TH1I_LW*              m_num_clusters_mod[PixLayer::COUNT];
    TH1F_LW*              m_cluster_occupancy_summary_mod[PixLayer::COUNT];
-   TH1F_LW*              m_cluster_occupancy_summary_low_mod[PixLayer::COUNT];
+   PixelMonProfiles*     m_cluster_LVL1A_mod;
+   PixelMonProfiles*     m_clus_LVL1A_sizenot1;
+   TProfile_LW*          m_clustersOnOffTrack_per_lumi;
    /// Quick status
    TH2F_LW*              m_clusters_onTrack_L0_B11_S2_C6;
    TH2F_LW*              m_clusters_offTrack_L0_B11_S2_C6;
 
-   int                   m_ClusPerEventArray_disksA[48][3];
-   int                   m_ClusPerEventArray_disksC[48][3];
-   int                   m_ClusPerEventArray_lI[14][20];
-   int                   m_ClusPerEventArray_l0[22][13];
-   int                   m_ClusPerEventArray_l1[38][13];
-   int                   m_ClusPerEventArray_l2[52][13];
-   PixelMonProfiles*     m_cluster_LVL1A_mod;
-   PixelMonProfiles*     m_clus_LVL1A_sizenot1;
-   TProfile_LW*          m_clustersOnOffTrack_per_lumi;
-   PixelMon2DProfilesLW* m_lowToTHitsFraction_7;
-   PixelMon2DProfilesLW* m_lowToTHitsFraction_9;
-   PixelMon2DProfilesLW* m_lowToTHitsFraction_11;
-   PixelMon2DProfilesLW* m_lowToTHitsFraction_13;
 
    ///
    ///Status histograms
@@ -553,32 +532,32 @@ private:
    ///
    /// ROD Error histograms
    ///
-   TProfile_LW*          m_ErrorFraction_per_evt[ErrorCategory::COUNT][PixLayerIBL2D3D::COUNT];
-   TProfile_LW*          m_errors_per_lumi_mod[PixLayerIBL2D3D::COUNT];
-   TProfile_LW*          m_SyncErrors_per_lumi_PIX;
-   TProfile_LW*          m_SyncErrors_per_lumi_mod[PixLayerIBL2D3D::COUNT];
-   TProfile_LW*          m_OpticalErrors_per_lumi_mod[PixLayerIBL2D3D::COUNT];
-   TProfile_LW*          m_SEU_Errors_per_lumi_mod[PixLayerIBL2D3D::COUNT];
-   TProfile_LW*          m_TruncationErrors_per_lumi_mod[PixLayerIBL2D3D::COUNT];
-   TProfile_LW*          m_TimeoutErrors_per_lumi_mod[PixLayerIBL2D3D::COUNT]; 
+   static const int      kNumErrorBits{32};
+   static const int      kNumErrorStates{16};
+   TProfile_LW*          m_errhist_errcat_LB[PixLayerIBL2D3D::COUNT][ErrorCategory::COUNT];
+   TProfile_LW*          m_errhist_errtype_LB[PixLayerIBL2D3D::COUNT][ErrorCategoryMODROD::COUNT - 3];
+   PixelMon2DMapsLW*     m_errhist_errcat_map[ErrorCategory::COUNT];
+   PixelMon2DMapsLW*     m_errhist_errtype_map[ErrorCategoryMODROD::COUNT];
+   TProfile_LW*          m_errhist_errcat_avg[ErrorCategory::COUNT][PixLayerIBL2D3D::COUNT];
+   TProfile_LW*          m_errhist_tot_LB[PixLayerIBL2D3D::COUNT];
+   TProfile2D_LW*        m_errhist_per_bit_LB[PixLayerIBL2D3D::COUNT];
+   TProfile2D_LW*        m_errhist_per_type_LB[PixLayerIBL2D3D::COUNT];
+   TProfile_LW*          m_errhist_syncerr_LB_pix;
    TProfile*             m_error_time1;       
    TProfile*             m_error_time2;       
    TProfile*             m_error_time3;       
    PixelMonModules1D*    m_errors;
-   PixelMon2DMapsLW*     m_ErrorTypeMap[ErrorCategoryMODROD::COUNT];
-   PixelMon2DMapsLW*     m_ErrorCategoryMap[ErrorCategory::COUNT];
-   PixelMon2DMapsLW*     m_ErrorStateMap[16];
-
-   TProfile_LW*          m_errorStates_per_lumi_mod[PixLayer::COUNT-1][16];
-   TProfile2D_LW*        m_ErrorBit_per_lumi_mod[PixLayerIBL2D3D::COUNT];
-   TProfile2D_LW*        m_Error_per_lumi_mod[PixLayerIBL2D3D::COUNT];
-   TH1I_LW*              m_bad_mod_errors_mod[PixLayer::COUNT];
-   TH3F*                 m_nFEswithTruncErr_mod[PixLayer::COUNT];
-
-   TH1F_LW*              m_errors_ServiceRecordUnweight_IBL;
-   TH1F_LW*              m_errors_ServiceRecordWeight_IBL;
-   
-   PixelMon2DLumiMaps*   m_errors_int_LB[16];
+
+   // Histograms in 'ErrorsExpert' folder
+   PixelMon2DLumiMaps*   m_errhist_expert_LB_maps[kNumErrorStates];
+   PixelMon2DMapsLW*     m_errhist_expert_maps[kNumErrorStates];
+   TProfile_LW*          m_errhist_expert_LB[PixLayer::COUNT-1][kNumErrorStates];
+   TH3F*                 m_errhist_expert_fe_trunc_err_3d[PixLayer::COUNT];
+   TH1F_LW*              m_errhist_expert_servrec_ibl_unweighted;
+   TH1F_LW*              m_errhist_expert_servrec_ibl_weighted;
+   TH1F_LW*              m_errhist_expert_servrec_ibl_count;
+
+   // Histograms in low-stat folder
    PixelMon2DMapsLW*     m_errors_LB;
    PixelMon2DMapsLW*     m_errors_RODSync_mod;
    PixelMon2DMapsLW*     m_errors_ModSync_mod;
@@ -604,10 +583,8 @@ private:
 
    TH1I_LW*           m_num_hits_LB;
    TH1F_LW*           m_hit_ToT_LB_mod[PixLayer::COUNT];
-   TH1I_LW*           m_num_hits_low_LB;
    TH1F_LW*           m_cluster_ToT_LB;      
    TH1I_LW*           m_num_clusters_LB;                                
-   TH1I_LW*           m_num_clusters_low_LB;  
 
    //---------------------
    // DCS Monitoring
@@ -765,6 +742,7 @@ private:
          for (auto lbmap : *m_fsm_status) delete lbmap.second;
          delete m_tempModule;
          delete m_tempInlet;
+         delete m_tempOutlet;
          delete m_hv_voltage;
          delete m_lv_voltage;
          delete m_hv_current;
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMon2DProfilesLW.h b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMon2DProfilesLW.h
index b00b12da14f5eaac75c5ccee77020bb0f80aa67d..59851d164d6479a6a422a0d12a7509bec9c272c7 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMon2DProfilesLW.h
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMon2DProfilesLW.h
@@ -8,21 +8,27 @@
 #include <string.h>
 
 class TProfile2D_LW;
+class TH2F_LW;
 class Identifier;
 class PixelID;
 class StatusCode;
+class PixelMon2DMaps;
+class PixelMon2DMapsLW;
 
-// A helper class to remove a lot of the code duplication.
-// This is a collection of 5 2D histograms which make up the '2D mapsLW' used a lot of in the monitoring.
-// Each of the 2D mapsLW correspond to a detector region (B0, B1, B2, ECA, ECC).
+// A helper class to facilitate definition of per-layer 2D profile maps.
+// It defines a collection of TProfile2D_LW histograms for each pixel layer, which then can be declared or
+// filled in a single call.
 // This books and formats the histograms in the constructor. The fill method will take the identifier 
 // as the input and fill the correct histogram and bin. The histograms are also public so that they
 // can be formated/accessed like any other histograms in the monitoring.
+//
+// N.B. the type of histograms is the same as for PixelMonProfiles class,
+// but the filling methods are somewhat different. Candidate for cleanup.
 
 class PixelMon2DProfilesLW
 {
 public:
-  PixelMon2DProfilesLW(std::string name, std::string title, bool doIBL, bool errorHist);
+  PixelMon2DProfilesLW(std::string name, std::string title, bool doIBL, bool errorHist, bool copy2DFEval);
   ~PixelMon2DProfilesLW();
   TProfile2D_LW* IBL;
   TProfile2D_LW* IBL2D;
@@ -34,11 +40,15 @@ public:
   TProfile2D_LW* C;
   //TProfile2D_LW* DBMA;
   //TProfile2D_LW* DBMC;
-  void Fill(Identifier &id, const PixelID* pixID, bool doIBL, bool errorHist, float weight);
+  void Fill(Identifier &id, const PixelID* pixID, float value);
   void Fill2DMon(PixelMon2DProfilesLW* oldmap);
-  StatusCode regHist(ManagedMonitorToolBase::MonGroup &group, bool doIBL, bool errorHist);
+  void FillFromMap(PixelMon2DMaps* inputmap, bool clear_inputmap);
+  StatusCode regHist(ManagedMonitorToolBase::MonGroup &group);
 private:
-  void formatHist(bool doIBL, bool errorHist);
+  void formatHist();
+  bool mDoIBL;
+  bool mDoErrorHist;
+  bool mCopy2DFEval;
 };
 
 #endif
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonModules.h b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonModules.h
index 1b4528bd7d99a6a1f168511c1dcc60f6e774825e..5e2eb8d1db2ce3d897741a841f874b1995935fbe 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonModules.h
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonModules.h
@@ -56,7 +56,7 @@ virtual ~PixelMonModules1D();
       virtual void Reset();
       double GetBinContent(double value, Identifier &id, const PixelID* pixID);
    private:
-      TH1F* m_Dummy;         //shouldn't be used unless messed up;
+      TH1F* m_Dummy;           //shouldn't be used unless messed up;
       TH1F* &getHist(int i); //make looping over all the histos easier.
 };
 
@@ -80,7 +80,7 @@ virtual ~PixelMonModulesProf();
       virtual void Reset();
       //double GetBinContent(double value, Identifier &id, const PixelID* pixID);
    private:
-      TProfile_LW* m_Dummy;         //shouldn't be used unless messed up;
+      TProfile_LW* m_Dummy;           //shouldn't be used unless messed up;
       TProfile_LW* &getHist(int i); //make looping over all the histos easier.
 };
 
@@ -102,7 +102,7 @@ class PixelMonModules2D : public PixelMonModules
       void Fill(double value0, double value1, Identifier &id, const PixelID* pixID,bool doIBL);
       virtual void Reset();
    private:
-      TH2F* m_Dummy;         //shouldn't be used unless messed up;
+      TH2F* m_Dummy;           //shouldn't be used unless messed up;
       TH2F* &getHist(int i); //make looping over all the histos easier.
 };
 
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonProfiles.h b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonProfiles.h
index a1cff59487d78f62288681f2f2a35f363db8fffd..cfea601049ba54b456f02e405f823c5736e1263d 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonProfiles.h
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/PixelMonitoring/PixelMonProfiles.h
@@ -7,25 +7,28 @@
 #include "AthenaMonitoring/ManagedMonitorToolBase.h"
 #include <string.h>
 
-//class TProfile2D;
 class TProfile2D_LW;
 class Identifier;
 class PixelID;
 class StatusCode;
 
-// A helper class to remove a lot of the code duplication.
-// This is a collection of 5 2D PROFILE histograms. It books and formats the histograms in the constructor.
+// A helper class to facilitate definition of per-layer 2D profile maps.
+// It defines a collection of TProfile2D_LW histograms for each pixel layer, which then can be declared or
+// filled in a single call.
 // The fill method will take the identifier as the input and fill the correct histogram and bin.
 // The histograms are also public so that they can be formated/accessed just like any other histograms in the monitoring.
+//
+// N.B. the type of histograms is the same as for PixelMon2DProfilesLW class,
+// but the filling methods are somewhat different. Candidate for cleanup.
 
 class PixelMonProfiles
 {
    public:
       PixelMonProfiles(std::string name, std::string title);
       ~PixelMonProfiles();
+      TProfile2D_LW* IBL;
       TProfile2D_LW* IBL2D;
       TProfile2D_LW* IBL3D;
-      TProfile2D_LW* IBL;
       TProfile2D_LW* B0;
       TProfile2D_LW* B1;
       TProfile2D_LW* B2;
@@ -37,7 +40,6 @@ class PixelMonProfiles
       StatusCode regHist(ManagedMonitorToolBase::MonGroup &group);
    private:
       void formatHist();
-      
 };
 
 #endif
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Clusters.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Clusters.cxx
index 64d3159c0f81f2bd12e7e315e8691b2f59681027..b038cab146be1be956abbda2c65e588a64f3cb89 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Clusters.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Clusters.cxx
@@ -8,12 +8,8 @@
 
 #include "PixelMonitoring/PixelMainMon.h"
 #include "InDetRawData/InDetTimeCollection.h"
-//#include "TrkSpacePoint/SpacePointContainer.h"
 #include "InDetPrepRawData/PixelClusterContainer.h"         
 #include "InDetConditionsSummaryService/IInDetConditionsSvc.h"
-//#include "TrkParameters/MeasuredAtaPlane.h"
-//#include "TrkParameters/MeasuredPerigee.h"
-//#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
 #include "PixelConditionsServices/IPixelByteStreamErrorsSvc.h"
 #include "InDetIdentifier/PixelID.h"
 #include "TH1F.h"   
@@ -29,19 +25,12 @@
 #include "LWHists/TProfile2D_LW.h"
 #include <sstream>
 
-//#include "InDetRawData/InDetRawDataContainer.h"
-//#include "InDetRawData/InDetRawDataCLASS_DEF.h" 
-//#include "TrkTrack/TrackCollection.h"            
-//#include "InDetReadoutGeometry/SiDetectorElement.h"
-//#include "TrkTrackSummary/TrackSummary.h"
 #include "PixelMonitoring/PixelMon2DMaps.h"
 #include "PixelMonitoring/DBMMon2DMaps.h"
 #include "PixelMonitoring/PixelMonModules.h"
 #include "PixelMonitoring/PixelMonProfiles.h"
 #include "PixelMonitoring/PixelMon2DProfilesLW.h"
 
-//#include "EventInfo/EventInfo.h"
-//#include "EventInfo/TriggerInfo.h"
 #include "PixelCabling/IPixelCablingSvc.h"
 
 
@@ -51,294 +40,216 @@
 
 StatusCode PixelMainMon::BookClustersMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Clusters" << endmsg;  
-   
-   std::string path = "Pixel/Clusters";
-   if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/ClustersOnTrack");
-   if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/ClustersOnPixelTrack");
-   MonGroup clusterShift(   this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                         
-   MonGroup clusterExpert ( this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                                      
-
-   std::string pathT = "Pixel/Timing";
-   if(m_doOnTrack) pathT.replace(pathT.begin(), pathT.end(), "Pixel/TimingOnTrack");
-   if(m_doOnPixelTrack) pathT.replace(pathT.begin(), pathT.end(), "Pixel/TimingOnPixelTrack");
-   MonGroup timeShift(  this, pathT.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                                 
-   MonGroup timeExpert( this, pathT.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                                         
-
-   std::string addOnTrack = "_OnTrack";
-
-   int nbins_LB = m_lbRange;  double min_LB   = -0.5; double max_LB = min_LB + (1.0*nbins_LB);        
-   int nbins_BCID = m_bcidRange; double min_BCID  = -0.5; double max_BCID = min_BCID + (1.0*nbins_BCID);        
-   int nbins_npix = 300; double min_npix = -0.5; double max_npix = min_npix + (1.0*nbins_npix);
-   int nbins_nwid = 50;  double min_nwid = -0.5; double max_nwid = min_nwid + (1.0*nbins_nwid);
-   int nbins_eta = 13;   double min_eta = -6.5;  double max_eta = min_eta + (1.0*nbins_eta);
-   int nbins_tot = 300;  double min_tot = -0.5; double max_tot = min_tot + (1.0*nbins_tot);
-   int nbins_ibl_tot = 150;  double min_ibl_tot = -0.5; double max_ibl_tot = min_tot + (1.0*nbins_tot);
-   int nbins_Q = 70;     double min_Q = -0.5; double max_Q = min_Q + (3000.0*nbins_Q);
-   //int nbins_nevt = 50;  double min_nevt = -0.5; double max_nevt = min_nevt + (1.0*nbins_nevt);
-   int nbins_lvl1 = 14;  double min_lvl1 = -1.5; double max_lvl1 = min_lvl1 + (1.0*nbins_lvl1);
-   std::string atext_LB = ";lumi block"; 
-   std::string atext_BCID = ";BCID"; 
-   std::string atext_clu = ";# clusters/event"; 
-   std::string atext_npix = ";# pixels/cluster"; 
-   std::string atext_nclu = ";# clusters"; 
-   std::string atext_nevt = ";# events"; 
-   std::string atext_cluw = ";cluster width"; 
-   std::string atext_eta = ";Module eta index"; 
-   std::string atext_tot = ";ToT [BC]"; 
-   std::string atext_Q = ";Charge [e]"; 
-   std::string atext_lvl1 = ";LVL1A"; 
-   std::string tmp;
-   std::string tmp2;
-   std::string atitles;
-   std::string hname;
-   std::string htitles;
-   std::string modlabel[8];
-   modlabel[0]="ECA"; modlabel[1]="ECC";
-   modlabel[2]="B0";  modlabel[3]="B1";  modlabel[4]="B2"; modlabel[5]="IBL"; modlabel[6]="IBL2D"; modlabel[7]="IBL3D"; 
-
-   std::string modlabel2[PixLayerIBL2D3DDBM::COUNT];
-   modlabel2[0]="ECA0"; modlabel2[1]="ECA1"; modlabel2[2]="ECA2"; 
-   modlabel2[3]="ECC0"; modlabel2[4]="ECC1"; modlabel2[5]="ECC2"; 
-   modlabel2[6]="B0";  modlabel2[7]="B1";  modlabel2[8]="B2"; 
-   modlabel2[9]="DBMA";modlabel2[10]="DBMC";
-   modlabel2[11]="IBL"; modlabel2[12]="IBL2D"; modlabel2[13]="IBL3D"; 
-
-   StatusCode sc;
-
-   hname = makeHistname("ClusterSize_vs_eta", false);
-   htitles = makeHisttitle("Average cluster size as a function of barrel module eta", (atext_eta+atext_cluw), false);
-   sc = clusterExpert.regHist(m_clusterSize_eta = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta));
-
-   hname = makeHistname("LargeClusters_per_lumi", true);
-   htitles = makeHisttitle("Average number of large clusters (with >10 pixels) per event", (atext_LB+atext_clu), true);
-   sc = clusterShift.regHist(m_largeclusters_per_lumi = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-   hname = makeHistname("VeryLargeClusters_per_lumi", true);
-   htitles = makeHisttitle("Average number of very large clusters (with >50 pixels) per event", (atext_LB+atext_clu), true);
-   sc = clusterShift.regHist(m_verylargeclusters_per_lumi = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-   hname = makeHistname("HighNClusters_per_lumi", true);
-   htitles = makeHisttitle("Number of events with >1000 clusters/event", (atext_LB+atext_nevt), true);
-   sc = clusterExpert.regHist(m_highNclusters_per_lumi = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-   hname = makeHistname("Clusters_per_lumi", true);
-   htitles = makeHisttitle("Average number of pixel clusters per event", (atext_LB+atext_clu), true);
-   sc = clusterShift.regHist(m_clusters_per_lumi = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-   hname = makeHistname("TotalClusters_per_lumi", true);
-   htitles = makeHisttitle("Total number of pixel clusters", (atext_LB+atext_nclu), true);
-   sc = clusterShift.regHist(m_totalclusters_per_lumi = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-   hname = makeHistname("Cluster_groupsize", true);
-   htitles = makeHisttitle("Number of pixels in a cluster", (atext_npix+atext_nclu), true);
-   sc = clusterExpert.regHist(m_cluster_groupsize = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_npix, min_npix, max_npix));
-
-   hname = makeHistname("Cluster_column_width", false);
-   htitles = makeHisttitle("Column width of a cluster", (atext_cluw+atext_nclu), false);
-   sc = clusterExpert.regHist(m_cluster_col_width = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid)); 
-
-   hname = makeHistname("Cluster_row_width", false);
-   htitles = makeHisttitle("Row width of a cluster", (atext_cluw+atext_nclu), false);
-   sc = clusterExpert.regHist(m_cluster_row_width = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
-
-   hname = makeHistname("Cluster_LVL1A", true);
-   htitles = makeHisttitle("Cluster Level 1 Accept", (atext_lvl1+atext_nclu), true);
-   sc = timeShift.regHist(m_cluster_LVL1A = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_lvl1, min_lvl1, max_lvl1));
-
-   /// Histograms for each layer
-   for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-      hname = makeHistname(("Clusters_per_lumi_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Average number of pixel clusters per event per LB, "+modlabel[i]), (atext_LB+atext_clu), false);
-      sc = clusterExpert.regHist(m_clusters_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-      //hname = makeHistname(("TotalClusters_per_lumi_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("Total number of pixel clusters per LB, "+modlabel[i]), (atext_LB+atext_nclu), false);
-      //sc = clusterExpert.regHist(m_totalclusters_per_lumi_mod[i] = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-      //hname = makeHistname(("TotalClusters_per_bcid_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("Total number of pixel clusters per BCID, "+modlabel[i]), (atext_LB+atext_nclu), false);
-      //sc = clusterExpert.regHist(m_totalclusters_per_bcid_mod[i] = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
-
-      //hname = makeHistname(("Cluster_groupsize_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("Number of pixels in a cluster, "+modlabel[i]), (atext_npix+atext_nclu), false);
-      //sc = clusterExpert.regHist(m_cluster_groupsize_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_npix+1, min_npix, max_npix+1));
-
-      //hname = makeHistname(("Cluster_column_width_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("Column width of a cluster, "+modlabel[i]), (atext_cluw+atext_nclu), false);
-      //sc = clusterExpert.regHist(m_cluster_col_width_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
-
-      //hname = makeHistname(("Cluster_row_width_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("Row width of a cluster, "+modlabel[i]), (atext_cluw+atext_nclu), false);
-      //sc = clusterExpert.regHist(m_cluster_row_width_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
-
-      //hname = makeHistname(("Clusters_row_width_per_lumi_"+modlabel[i]), true);
-      //htitles = makeHisttitle("Average row width per LB", (atext_LB+atext_clu), true);
-      //sc = clusterShift.regHist(m_clusters_row_width_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-      //hname = makeHistname(("Clusters_column_width_per_lumi_"+modlabel[i]), true);
-      //htitles = makeHisttitle("Average column width per LB", (atext_LB+atext_clu), true);
-      //sc = clusterShift.regHist(m_clusters_col_width_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-      //hname = makeHistname(("Clusters_row_width_per_bcid_"+modlabel[i]), true);
-      //htitles = makeHisttitle("Average row width per BCID", (atext_BCID+atext_clu), true);
-      //sc = clusterShift.regHist(m_clusters_row_width_per_bcid_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
-
-      //hname = makeHistname(("Clusters_column_width_per_bcid_"+modlabel[i]), true);
-      //htitles = makeHisttitle("Average column width per BCID", (atext_BCID+atext_clu), true);
-      //sc = clusterShift.regHist(m_clusters_col_width_per_bcid_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
-
-      //hname = makeHistname(("Cluster_ToT_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("Cluster ToT, "+modlabel[i]), (atext_tot+atext_nclu), false);
-      //sc = clusterExpert.regHist(m_cluster_ToT1d_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
-
-      hname = makeHistname(("1Hit_Cluster_ToT_"+modlabel[i]), false);
-      htitles = makeHisttitle(("ToT for 1-hit clusters, "+modlabel[i]), (atext_tot+atext_nclu), false);
-      sc = clusterExpert.regHist(m_1cluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
-
-      hname = makeHistname(("2Hit_Cluster_ToT_"+modlabel[i]), false);
-      htitles = makeHisttitle(("ToT for 2-hit clusters, "+modlabel[i]), (atext_tot+atext_nclu), false);
-      sc = clusterExpert.regHist(m_2cluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
-
-      hname = makeHistname(("3Hit_Cluster_ToT_"+modlabel[i]), false);
-      htitles = makeHisttitle(("ToT for 3-hit clusters, "+modlabel[i]), (atext_tot+atext_nclu), false);
-      sc = clusterExpert.regHist(m_3cluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
-
-      hname = makeHistname(("BigHit_Cluster_ToT_"+modlabel[i]), false);
-      htitles = makeHisttitle(("ToT for cluster size > 3, "+modlabel[i]), (atext_tot+atext_nclu), false);
-      sc = clusterExpert.regHist(m_bigcluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
-
-      //hname = makeHistname(("Cluster_Q_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("Charge, "+modlabel[i]), (atext_Q+atext_nclu), false);
-      //sc = clusterExpert.regHist(m_cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
-
-      hname = makeHistname(("1Hit_Cluster_Q_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Charge for 1-hit clusters, "+modlabel[i]), (atext_Q+atext_nclu), false);
-      sc = clusterExpert.regHist(m_1cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
-
-      hname = makeHistname(("2Hit_Cluster_Q_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Charge for 2-hit clusters, "+modlabel[i]), (atext_Q+atext_nclu), false);
-      sc = clusterExpert.regHist(m_2cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
-
-      hname = makeHistname(("3Hit_Cluster_Q_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Charge for 3-hit clusters, "+modlabel[i]), (atext_Q+atext_nclu), false);
-      sc = clusterExpert.regHist(m_3cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
-
-      hname = makeHistname(("BigHit_Cluster_Q_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Charge for cluster size > 3, "+modlabel[i]), (atext_Q+atext_nclu), false);
-      sc = clusterExpert.regHist(m_bigcluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
-
-      hname = makeHistname(("Cluster_LVL1A_"+modlabel[i]), true);
-      if(i != PixLayer::kIBL) htitles = makeHisttitle(("Cluster Level 1 Accept with ToT > 15, "+modlabel[i]), (atext_lvl1+atext_nclu), false);
-      else htitles = makeHisttitle(("Cluster Level 1 Accept with ToT > 4, "+modlabel[i]), (atext_lvl1+atext_nclu), false);
-      sc = timeExpert.regHist(m_cluster_LVL1A1d_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_lvl1, min_lvl1, max_lvl1));
-
-      //hname = makeHistname(("ClusterSize_OnTrack_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("cluster size  for clusters on tracks, "+modlabel[i]), ";cluster size;#clusters", false);
-      //sc = clusterExpert.regHist(m_clusize_ontrack_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
-
-      //hname = makeHistname(("ClusterSize_OffTrack_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("cluster size  for clusters out of tracks , "+modlabel[i]), ";cluster size;#clusters", false);
-      //sc = clusterExpert.regHist(m_clusize_offtrack_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
-
-      hname = makeHistname(("Cluster_groupsize_vs_eta_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Number of pixels per cluster vs eta, "+modlabel[i]), (atext_eta+atext_npix), false);
-      sc = clusterExpert.regHist(m_clussize_vs_eta_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta));
-
-      if(m_doESD && !m_doOnline){
-         //hname = makeHistname(("ClusterQ_vs_eta_"+modlabel[i]), false);
-         //htitles = makeHisttitle(("Cluster charge vs eta, "+modlabel[i]), (atext_eta+atext_Q), false);
-         //sc = clusterExpert.regHist(m_clusQ_vs_eta_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta ));
-
-         //hname = makeHistname(("Cluster_groupsize_vs_eta_"+modlabel[i]), false);
-         //htitles = makeHisttitle(("Number of pixels per cluster vs eta, "+modlabel[i]), (atext_eta+atext_npix), false);
-         //sc = clusterExpert.regHist(m_clussize_vs_eta_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta));
-
-         hname = makeHistname(("ClusterToT_vs_eta_"+modlabel[i]), false);
-         htitles = makeHisttitle(("Cluster ToT vs eta, "+modlabel[i]), (atext_eta+atext_tot), false);
-         sc = clusterExpert.regHist(m_clusToT_vs_eta_mod[i] = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta, nbins_tot, min_tot, max_tot));
-
-         hname = makeHistname(("ClusterToT_vs_groupsize_"+modlabel[i]), false);
-         htitles = makeHisttitle(("Cluster ToT vs groupsize, "+modlabel[i]), (atext_tot+atext_npix), false);
-         sc= clusterExpert.regHist(m_ToT_vs_clussize_mod[i] = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot, nbins_npix, min_npix, max_npix));
-
-         hname = makeHistname(("ClusterQ_vs_groupsize_"+modlabel[i]), false);
-         htitles = makeHisttitle(("Cluster Charge vs groupsize, "+modlabel[i]), (atext_tot+atext_npix), false);
-         //sc= clusterExpert.regHist(m_Q_vs_clussize_mod[i] = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q, nbins_npix, min_npix, max_npix));
-
-      }
-   }
-   for(int i=0; i<PixLayerIBL2D3DDBM::COUNT; i++){
-      hname = makeHistname(("Cluster_ToT_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Cluster ToT, "+modlabel2[i]), (atext_tot+atext_nclu), false);
-      if( i<PixLayer::kIBL ){
-         sc = clusterExpert.regHist(m_cluster_ToT1d_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
-      }else if(m_doIBL){
-         sc = clusterExpert.regHist(m_cluster_ToT1d_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_ibl_tot, min_ibl_tot, max_ibl_tot));
-      }
-
-      hname = makeHistname(("Cluster_Q_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Charge, "+modlabel2[i]), (atext_Q+atext_nclu), false);
-      sc = clusterExpert.regHist(m_cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
-   }
-   for(int i=0; i<PixLayerIBL2D3D::COUNT; i++){
-      hname = makeHistname(("Cluster_groupsize_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Number of pixels in a cluster, "+modlabel[i]), (atext_npix+atext_nclu), false);
-      sc = clusterExpert.regHist(m_cluster_groupsize_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_npix+1, min_npix, max_npix+1));
-
-      hname = makeHistname(("Cluster_column_width_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Column width of a cluster, "+modlabel[i]), (atext_cluw+atext_nclu), false);
-      sc = clusterExpert.regHist(m_cluster_col_width_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
-
-      hname = makeHistname(("Cluster_row_width_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Row width of a cluster, "+modlabel[i]), (atext_cluw+atext_nclu), false);
-      sc = clusterExpert.regHist(m_cluster_row_width_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
-
-      hname = makeHistname(("TotalClusters_per_lumi_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Total number of pixel clusters per LB, "+modlabel[i]), (atext_LB+atext_nclu), false);
-      sc = clusterExpert.regHist(m_totalclusters_per_lumi_mod[i] = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-      hname = makeHistname(("TotalClusters_per_bcid_"+modlabel[i]), false);
-      htitles = makeHisttitle(("Total number of pixel clusters per BCID, "+modlabel[i]), (atext_LB+atext_nclu), false);
-
-      hname = makeHistname(("Clusters_row_width_per_lumi_"+modlabel[i]), true);
-      htitles = makeHisttitle("Average row width per LB", (atext_LB+atext_clu), true);
-      sc = clusterShift.regHist(m_clusters_row_width_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-      hname = makeHistname(("Clusters_column_width_per_lumi_"+modlabel[i]), true);
-      htitles = makeHisttitle("Average column width per LB", (atext_LB+atext_clu), true);
-      sc = clusterShift.regHist(m_clusters_col_width_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
-
-      hname = makeHistname(("Clusters_row_width_per_bcid_"+modlabel[i]), true);
-      htitles = makeHisttitle("Average row width per BCID", (atext_BCID+atext_clu), true);
-      sc = clusterShift.regHist(m_clusters_row_width_per_bcid_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
-
-      hname = makeHistname(("Clusters_column_width_per_bcid_"+modlabel[i]), true);
-      htitles = makeHisttitle("Average column width per BCID", (atext_BCID+atext_clu), true);
-      sc = clusterShift.regHist(m_clusters_col_width_per_bcid_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
-
-      hname = makeHistname(("ClusterSize_OnTrack_"+modlabel[i]), false);
-      htitles = makeHisttitle(("cluster size  for clusters on tracks, "+modlabel[i]), ";cluster size;#clusters", false);
-      sc = clusterExpert.regHist(m_clusize_ontrack_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
-
-      hname = makeHistname(("ClusterSize_OffTrack_"+modlabel[i]), false);
-      htitles = makeHisttitle(("cluster size  for clusters out of tracks , "+modlabel[i]), ";cluster size;#clusters", false);
-      sc = clusterExpert.regHist(m_clusize_offtrack_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
-
-   }
-
+  if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "start booking pixel cluster monitoring histograms" << endmsg;  
+  
+  std::string path = "Pixel/Clusters";
+  if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/ClustersOnTrack");
+  if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/ClustersOnPixelTrack");
+  MonGroup clusterShift(   this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                         
+  MonGroup clusterExpert ( this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                                      
+  
+  std::string pathT = "Pixel/Timing";
+  if(m_doOnTrack) pathT.replace(pathT.begin(), pathT.end(), "Pixel/TimingOnTrack");
+  if(m_doOnPixelTrack) pathT.replace(pathT.begin(), pathT.end(), "Pixel/TimingOnPixelTrack");
+  MonGroup timeShift(  this, pathT.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                                 
+  MonGroup timeExpert( this, pathT.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms                                         
+  
+  std::string addOnTrack = "_OnTrack";
+  
+  int nbins_LB = m_lbRange;  double min_LB   = -0.5; double max_LB = min_LB + (1.0*nbins_LB);        
+  int nbins_BCID = m_bcidRange; double min_BCID  = -0.5; double max_BCID = min_BCID + (1.0*nbins_BCID);        
+  int nbins_npix = 300; double min_npix = -0.5; double max_npix = min_npix + (1.0*nbins_npix);
+  int nbins_nwid = 50;  double min_nwid = -0.5; double max_nwid = min_nwid + (1.0*nbins_nwid);
+  int nbins_eta = 13;   double min_eta = -6.5;  double max_eta = min_eta + (1.0*nbins_eta);
+  int nbins_tot = 300;  double min_tot = -0.5; double max_tot = min_tot + (1.0*nbins_tot);
+  int nbins_ibl_tot = 150;  double min_ibl_tot = -0.5; double max_ibl_tot = min_tot + (1.0*nbins_tot);
+  int nbins_Q = 70;     double min_Q = -0.5; double max_Q = min_Q + (3000.0*nbins_Q);
+  int nbins_lvl1 = 14;  double min_lvl1 = -1.5; double max_lvl1 = min_lvl1 + (1.0*nbins_lvl1);
+  std::string atext_LB = ";lumi block"; 
+  std::string atext_BCID = ";BCID"; 
+  std::string atext_clu = ";# clusters/event"; 
+  std::string atext_npix = ";# pixels/cluster"; 
+  std::string atext_nclu = ";# clusters"; 
+  std::string atext_nevt = ";# events"; 
+  std::string atext_cluw = ";cluster width"; 
+  std::string atext_eta = ";Module eta index"; 
+  std::string atext_tot = ";ToT [BC]"; 
+  std::string atext_Q = ";Charge [e]"; 
+  std::string atext_lvl1 = ";LVL1A"; 
+  std::string tmp;
+  std::string tmp2;
+  std::string atitles;
+  std::string hname;
+  std::string htitles;
+
+  StatusCode sc;
+  
+  hname = makeHistname("ClusterSize_vs_eta", false);
+  htitles = makeHisttitle("Average cluster size as a function of barrel module eta", (atext_eta+atext_cluw), false);
+  sc = clusterExpert.regHist(m_clusterSize_eta = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta));
+  
+  hname = makeHistname("LargeClusters_per_lumi", true);
+  htitles = makeHisttitle("Average number of large clusters (with >10 pixels) per event", (atext_LB+atext_clu), true);
+  sc = clusterShift.regHist(m_largeclusters_per_lumi = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+  
+  hname = makeHistname("VeryLargeClusters_per_lumi", true);
+  htitles = makeHisttitle("Average number of very large clusters (with >50 pixels) per event", (atext_LB+atext_clu), true);
+  sc = clusterShift.regHist(m_verylargeclusters_per_lumi = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+  
+  hname = makeHistname("HighNClusters_per_lumi", true);
+  htitles = makeHisttitle("Number of events with >1000 clusters/event", (atext_LB+atext_nevt), true);
+  sc = clusterExpert.regHist(m_highNclusters_per_lumi = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+  
+  hname = makeHistname("Clusters_per_lumi", true);
+  htitles = makeHisttitle("Average number of pixel clusters per event", (atext_LB+atext_clu), true);
+  sc = clusterShift.regHist(m_clusters_per_lumi = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+  
+  hname = makeHistname("TotalClusters_per_lumi", true);
+  htitles = makeHisttitle("Total number of pixel clusters", (atext_LB+atext_nclu), true);
+  sc = clusterShift.regHist(m_totalclusters_per_lumi = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+  
+  hname = makeHistname("Cluster_groupsize", true);
+  htitles = makeHisttitle("Number of pixels in a cluster", (atext_npix+atext_nclu), true);
+  sc = clusterExpert.regHist(m_cluster_groupsize = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_npix, min_npix, max_npix));
+  
+  hname = makeHistname("Cluster_column_width", false);
+  htitles = makeHisttitle("Column width of a cluster", (atext_cluw+atext_nclu), false);
+  sc = clusterExpert.regHist(m_cluster_col_width = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid)); 
+  
+  hname = makeHistname("Cluster_row_width", false);
+  htitles = makeHisttitle("Row width of a cluster", (atext_cluw+atext_nclu), false);
+  sc = clusterExpert.regHist(m_cluster_row_width = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
+  
+  hname = makeHistname("Cluster_LVL1A", true);
+  htitles = makeHisttitle("Cluster Level 1 Accept", (atext_lvl1+atext_nclu), true);
+  sc = timeShift.regHist(m_cluster_LVL1A = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_lvl1, min_lvl1, max_lvl1));
+  
+  /// per-layer histograms
+  for (int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++) {
+    hname = makeHistname(("Clusters_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Average number of pixel clusters per event per LB, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_clu), false);
+    sc = clusterExpert.regHist(m_clusters_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+    
+    hname = makeHistname(("1Hit_Cluster_ToT_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("ToT for 1-hit clusters, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_nclu), false);
+    sc = clusterExpert.regHist(m_1cluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
+    
+    hname = makeHistname(("2Hit_Cluster_ToT_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("ToT for 2-hit clusters, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_nclu), false);
+    sc = clusterExpert.regHist(m_2cluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
+    
+    hname = makeHistname(("3Hit_Cluster_ToT_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("ToT for 3-hit clusters, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_nclu), false);
+    sc = clusterExpert.regHist(m_3cluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
+    
+    hname = makeHistname(("BigHit_Cluster_ToT_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("ToT for cluster size > 3, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_nclu), false);
+    sc = clusterExpert.regHist(m_bigcluster_ToT_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
+    
+    hname = makeHistname(("1Hit_Cluster_Q_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Charge for 1-hit clusters, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_Q+atext_nclu), false);
+    sc = clusterExpert.regHist(m_1cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
+    
+    hname = makeHistname(("2Hit_Cluster_Q_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Charge for 2-hit clusters, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_Q+atext_nclu), false);
+    sc = clusterExpert.regHist(m_2cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
+    
+    hname = makeHistname(("3Hit_Cluster_Q_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Charge for 3-hit clusters, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_Q+atext_nclu), false);
+    sc = clusterExpert.regHist(m_3cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
+    
+    hname = makeHistname(("BigHit_Cluster_Q_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Charge for cluster size > 3, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_Q+atext_nclu), false);
+    sc = clusterExpert.regHist(m_bigcluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
+    
+    hname = makeHistname(("Cluster_LVL1A_"+m_modLabel_PixLayerIBL2D3D[i]), true);
+    if(i != PixLayer::kIBL) htitles = makeHisttitle(("Cluster Level 1 Accept with ToT > 15, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_lvl1+atext_nclu), false);
+    else htitles = makeHisttitle(("Cluster Level 1 Accept with ToT > 4, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_lvl1+atext_nclu), false);
+    sc = timeExpert.regHist(m_cluster_LVL1A1d_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_lvl1, min_lvl1, max_lvl1));
+    
+    hname = makeHistname(("Cluster_groupsize_vs_eta_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Number of pixels per cluster vs eta, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_eta+atext_npix), false);
+    sc = clusterExpert.regHist(m_clussize_vs_eta_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta));
+    
+    if (m_doESD && !m_doOnline){
+      hname = makeHistname(("ClusterToT_vs_eta_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+      htitles = makeHisttitle(("Cluster ToT vs eta, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_eta+atext_tot), false);
+      sc = clusterExpert.regHist(m_clusToT_vs_eta_mod[i] = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_eta, min_eta, max_eta, nbins_tot, min_tot, max_tot));
+      
+      hname = makeHistname(("ClusterToT_vs_groupsize_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+      htitles = makeHisttitle(("Cluster ToT vs groupsize, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_npix), false);
+      sc= clusterExpert.regHist(m_ToT_vs_clussize_mod[i] = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot, nbins_npix, min_npix, max_npix));
+    }
+  }
+  for (int i=0; i<PixLayerIBL2D3D::COUNT; i++){
+    hname = makeHistname(("Cluster_ToT_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Cluster ToT, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_nclu), false);
+    if ( i<PixLayer::kIBL ){
+      sc = clusterExpert.regHist(m_cluster_ToT1d_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot, min_tot, max_tot));
+    } else if(m_doIBL){
+      sc = clusterExpert.regHist(m_cluster_ToT1d_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_ibl_tot, min_ibl_tot, max_ibl_tot));
+    }
+
+    hname = makeHistname(("Cluster_Q_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Charge, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_Q+atext_nclu), false);
+    sc = clusterExpert.regHist(m_cluster_Q_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_Q, min_Q, max_Q));
+    
+    hname = makeHistname(("Cluster_groupsize_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Number of pixels in a cluster, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_npix+atext_nclu), false);
+    sc = clusterExpert.regHist(m_cluster_groupsize_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_npix+1, min_npix, max_npix+1));
+    
+    hname = makeHistname(("Cluster_column_width_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Column width of a cluster, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_cluw+atext_nclu), false);
+    sc = clusterExpert.regHist(m_cluster_col_width_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
+    
+    hname = makeHistname(("Cluster_row_width_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Row width of a cluster, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_cluw+atext_nclu), false);
+    sc = clusterExpert.regHist(m_cluster_row_width_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_nwid, min_nwid, max_nwid));
+    
+    hname = makeHistname(("TotalClusters_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Total number of pixel clusters per LB, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_nclu), false);
+    sc = clusterExpert.regHist(m_totalclusters_per_lumi_mod[i] = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+    
+    hname = makeHistname(("TotalClusters_per_bcid_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("Total number of pixel clusters per BCID, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_nclu), false);
+    
+    hname = makeHistname(("Clusters_row_width_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), true);
+    htitles = makeHisttitle("Average row width per LB", (atext_LB+atext_clu), true);
+    sc = clusterShift.regHist(m_clusters_row_width_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+    
+    hname = makeHistname(("Clusters_column_width_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), true);
+    htitles = makeHisttitle("Average column width per LB", (atext_LB+atext_clu), true);
+    sc = clusterShift.regHist(m_clusters_col_width_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+    
+    hname = makeHistname(("Clusters_row_width_per_bcid_"+m_modLabel_PixLayerIBL2D3D[i]), true);
+    htitles = makeHisttitle("Average row width per BCID", (atext_BCID+atext_clu), true);
+    sc = clusterShift.regHist(m_clusters_row_width_per_bcid_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
+    
+    hname = makeHistname(("Clusters_column_width_per_bcid_"+m_modLabel_PixLayerIBL2D3D[i]), true);
+    htitles = makeHisttitle("Average column width per BCID", (atext_BCID+atext_clu), true);
+    sc = clusterShift.regHist(m_clusters_col_width_per_bcid_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
+    
+    hname = makeHistname(("ClusterSize_OnTrack_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("cluster size  for clusters on tracks, "+m_modLabel_PixLayerIBL2D3D[i]), ";cluster size;#clusters", false);
+    sc = clusterExpert.regHist(m_clusize_ontrack_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
+    
+    hname = makeHistname(("ClusterSize_OffTrack_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+    htitles = makeHisttitle(("cluster size  for clusters out of tracks , "+m_modLabel_PixLayerIBL2D3D[i]), ";cluster size;#clusters", false);
+    sc = clusterExpert.regHist(m_clusize_offtrack_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
+  }
+  
    
-   if (m_doOnTrack || m_doOnPixelTrack) { 
-     sc = clusterExpert.regHist(m_clustersOnOffTrack_per_lumi = TProfile_LW::create("ClustersOnOffTrack_per_lumi",("Fraction pixel clusters on track per event per LB" + m_histTitleExt + ";lumi block; fraction clusters/event").c_str(),2500,-0.5,2499.5));
-   }
+  if (m_doOnTrack || m_doOnPixelTrack) { 
+    sc = clusterExpert.regHist(m_clustersOnOffTrack_per_lumi = TProfile_LW::create("ClustersOnOffTrack_per_lumi",("Fraction pixel clusters on track per event per LB" + m_histTitleExt + ";lumi block; fraction clusters/event").c_str(),2500,-0.5,2499.5));
+  }
 
    
-   if(m_do2DMaps)
-   {
+  if (m_do2DMaps)
+    {
       tmp = "Cluster_Occupancy"; tmp2 = "Cluster occupancy";
       m_cluster_occupancy = new PixelMon2DMaps(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
       sc = m_cluster_occupancy->regHist(clusterShift);
-
+      
       tmp = "Cluster_LVL1A_Mod"; tmp2 = "Average cluster Level 1 Accept";
       m_cluster_LVL1A_mod = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
       sc = m_cluster_LVL1A_mod->regHist(timeShift);
@@ -351,7 +262,7 @@ StatusCode PixelMainMon::BookClustersMon(void)
       m_clus_LVL1A_sizenot1 = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
       sc = m_clus_LVL1A_sizenot1->regHist(timeShift); 
 
-      if(m_doOnline){
+      if (m_doOnline){
         tmp = "ClusterMap_Mon"; tmp2 = "Cluster map for monitoring";
         m_clustermap_mon = new PixelMon2DMaps(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
         sc = m_clustermap_mon->regHist(clusterShift);
@@ -360,517 +271,427 @@ StatusCode PixelMainMon::BookClustersMon(void)
         m_clustermap_tmp = new PixelMon2DMaps(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
         sc = m_clustermap_tmp->regHist(clusterShift);
       }
-      if(!m_doOnline){
-         tmp = "Cluster_Size_Map"; tmp2 = "Average cluster size map";
-         //if(m_doOnTrack) { tmp = tmp + addOnTrack; tmp2 = tmp2 + addOnTrack; }
-	      m_clussize_map = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
-	      sc = m_clussize_map->regHist(clusterExpert);
-
-         tmp = "Cluster_Charge_Map"; tmp2 = "Average cluster charge map";
-         //if(m_doOnTrack) { tmp = tmp + addOnTrack; tmp2 = tmp2 + addOnTrack; }
-	      m_cluscharge_map = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
-	      sc = m_cluscharge_map->regHist(clusterExpert);
-
-         tmp = "Cluster_ToT_Map"; tmp2 = "Average cluster ToT map";
-         //if(m_doOnTrack) { tmp = tmp + addOnTrack; tmp2 = tmp2 + addOnTrack; }
-	      m_clusToT_map = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
-	      sc = m_clusToT_map->regHist(clusterExpert);
-
-         //hname = makeHistname("Cluster_lowToTHitsFraction7_Map", true);
-         //tmp2 = "Average fraction of low tot (<7) hits in one cluster";
-	      //m_lowToTHitsFraction_7 = new PixelMon2DProfilesLW(hname.c_str(), (tmp2 + m_histTitleExt).c_str(), m_doIBL, false);
-	      //sc = m_lowToTHitsFraction_7->regHist(clusterExpert, m_doIBL, false);
-
-         hname = makeHistname("Cluster_lowToTHitsFraction9_Map", true);
-         tmp2 = "Average fraction of low tot (<9) hits in one cluster";
-	      m_lowToTHitsFraction_9 = new PixelMon2DProfilesLW(hname.c_str(), (tmp2 + m_histTitleExt).c_str(), m_doIBL, false);
-	      sc = m_lowToTHitsFraction_9->regHist(clusterExpert, m_doIBL, false);
-
-         hname = makeHistname("Cluster_lowToTHitsFraction11_Map", true);
-         tmp2 = "Average fraction of low tot (<11) hits in one cluster";
-	      m_lowToTHitsFraction_11= new PixelMon2DProfilesLW(hname.c_str(), (tmp2 + m_histTitleExt).c_str(), m_doIBL, false);
-	      sc = m_lowToTHitsFraction_11->regHist(clusterExpert, m_doIBL, false);
-
-         //hname = makeHistname("Cluster_lowToTHitsFraction13_Map", true);
-         //tmp2 = "Average fraction of low tot (<13) hits in one cluster";
-	      //m_lowToTHitsFraction_13 = new PixelMon2DProfilesLW(hname.c_str(), (tmp2 + m_histTitleExt).c_str(), m_doIBL, false);
-	      //sc = m_lowToTHitsFraction_13->regHist(clusterExpert, m_doIBL, false);
-
-         hname = makeHistname("Cluster_Occupancy_FEMap_mon", true);
-         tmp2 = "Cluster Occ.";
-         sc = clusterExpert.regHist(m_cluster_occupancy_FE_B0_mon = TH2F_LW::create((hname+"_B0").c_str(), (tmp2 + ", B0 " + ";eta index of FE;phi index of FE").c_str(), 13*8, -48.5, -48.5+(13*8), 22*2, -0.5, -0.5+(22*2)));
-
-         ///
-         /// Study for Quick Status
-         ///
-         //hname = makeHistname("Cluster_Occupamcy_L0_B11_S2_C6", true);
-         //tmp2 = "Cluster Occupancy., L0_B11_S2_C6;lumi block;FE ID (8*(pix_phi/164) + (eta_pix/18);# clusters";
-         //sc = clusterExpert.regHist(m_cluster_occupancy_FE_L0_B11_S2_C6 = TH2F_LW::create((hname+"_L0_B11_S2_C6").c_str(), tmp2.c_str(), nbins_LB, min_LB, max_LB, 16, -0.5, -0.5+16));
-         //m_cluster_occupancy_FE_L0_B11_S2_C6->SetOption("colz");
-
-         //hname = makeHistname("Cluster_Occupamcy_isGood_L0_B11_S2_C6", true);
-         //tmp2 = "Cluster Occupancy., L0_B11_S2_C6(isGood);lumi block;FE ID (8*(pix_phi/164) + (eta_pix/18);# clusters";
-         //sc = clusterExpert.regHist(m_cluster_occupancy_isgood_FE_L0_B11_S2_C6 = TH2F_LW::create((hname+"_L0_B11_S2_C6").c_str(), tmp2.c_str(), nbins_LB, min_LB, max_LB, 16, -0.5, -0.5+16));
-         //m_cluster_occupancy_isgood_FE_L0_B11_S2_C6->SetOption("colz");
-
-         //hname = makeHistname("Cluster_ToTMean_L0_B11_S2_C6", true);
-         //tmp2 = "Cluster ToT Mean, L0_B11_S2_C6;lumi block;FE ID (8*(pix_phi/164) + (eta_pix/18);Mean Cluster ToT";
-         //sc = clusterExpert.regHist(m_cluster_totmean_L0_B11_S2_C6 = TProfile2D_LW::create((hname+"_L0_B11_S2_C6").c_str(), tmp2.c_str(), nbins_LB, min_LB, max_LB, 16, -0.5, -0.5+16));
-         //m_cluster_totmean_L0_B11_S2_C6->SetOption("colz");
-
-         ///
-         /// For FE map (temporary)
-         ///
-         const int nmod = 13;
-         const char *mod[nmod] = { "M6C", "M5C", "M4C", "M3C", "M2C", "M1C", "M0","M1A", "M2A", "M3A", "M4A", "M5A", "M6A" } ;
-         const int nstave0 = 22;
-         const char *stave0[nstave0] = {"B11_S2", "B01_S1", "B01_S2", "B02_S1", "B02_S2",
-                                        "B03_S1", "B03_S2", "B04_S1", "B04_S2", "B05_S1",
-                                        "B05_S2", "B06_S1", "B06_S2", "B07_S1", "B07_S2",
-                                        "B08_S1", "B08_S2", "B09_S1", "B09_S2", "B10_S1", "B10_S2", "B11_S1"
-                                        };
-         for(unsigned int x=0 ; x < m_cluster_occupancy_FE_B0_mon->GetNbinsX() ; x++){
-            //if( x%8 == 0 ) m_cluster_occupancy_FE_B0->GetXaxis()->SetBinLabel( x+1, mod[x/8] );
-            if( x%8 == 0 ) m_cluster_occupancy_FE_B0_mon->GetXaxis()->SetBinLabel( x+1, mod[x/8] );
-         }
-         for(unsigned int y=0 ; y < m_cluster_occupancy_FE_B0_mon->GetNbinsY() ; y++){
-            //if( y%2 == 0 ) m_cluster_occupancy_FE_B0->GetYaxis()->SetBinLabel( y+1, stave0[y/2] );
-            if( y%2 == 0 ) m_cluster_occupancy_FE_B0_mon->GetYaxis()->SetBinLabel( y+1, stave0[y/2] );
-         }
-         //m_cluster_occupancy_FE_B0->GetXaxis()->LabelsOption("v");
-         //m_cluster_occupancy_FE_B0_mon->GetXaxis()->LabelsOption("v");
-         //m_cluster_occupancy_FE_B0->GetYaxis()->SetLabelSize(0.03);
-         m_cluster_occupancy_FE_B0_mon->GetYaxis()->SetLabelSize(0.03);
-         //m_cluster_occupancy_FE_B0->SetOption("colz");
-         m_cluster_occupancy_FE_B0_mon->SetOption("colz");
+      if (!m_doOnline){
+	tmp = "Cluster_Size_Map"; tmp2 = "Average cluster size map";
+	m_clussize_map = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
+	sc = m_clussize_map->regHist(clusterExpert);
+	
+	tmp = "Cluster_Charge_Map"; tmp2 = "Average cluster charge map";
+	m_cluscharge_map = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
+	sc = m_cluscharge_map->regHist(clusterExpert);
+	
+	tmp = "Cluster_ToT_Map"; tmp2 = "Average cluster ToT map";
+	m_clusToT_map = new PixelMonProfiles(tmp.c_str(), (tmp2 + m_histTitleExt).c_str());
+	sc = m_clusToT_map->regHist(clusterExpert);
+	
+
+	hname = makeHistname("Cluster_Occupancy_FEMap_mon", true);
+	tmp2 = "Cluster Occ.";
+	sc = clusterExpert.regHist(m_cluster_occupancy_FE_B0_mon = TH2F_LW::create((hname+"_B0").c_str(), (tmp2 + ", B0 " + ";eta index of FE;phi index of FE").c_str(), 13*8, -48.5, -48.5+(13*8), 22*2, -0.5, -0.5+(22*2)));
+	
+	
+	///
+	/// For FE map (temporary)
+	///
+	const int nmod = 13;
+	const char *mod[nmod] = { "M6C", "M5C", "M4C", "M3C", "M2C", "M1C", "M0","M1A", "M2A", "M3A", "M4A", "M5A", "M6A" } ;
+	const int nstave0 = 22;
+	const char *stave0[nstave0] = {"B11_S2", "B01_S1", "B01_S2", "B02_S1", "B02_S2",
+				       "B03_S1", "B03_S2", "B04_S1", "B04_S2", "B05_S1",
+				       "B05_S2", "B06_S1", "B06_S2", "B07_S1", "B07_S2",
+				       "B08_S1", "B08_S2", "B09_S1", "B09_S2", "B10_S1", "B10_S2", "B11_S1"
+	};
+	for(unsigned int x=0 ; x < m_cluster_occupancy_FE_B0_mon->GetNbinsX() ; x++){
+	  if( x%8 == 0 ) m_cluster_occupancy_FE_B0_mon->GetXaxis()->SetBinLabel( x+1, mod[x/8] );
+	}
+	for(unsigned int y=0 ; y < m_cluster_occupancy_FE_B0_mon->GetNbinsY() ; y++){
+	  if( y%2 == 0 ) m_cluster_occupancy_FE_B0_mon->GetYaxis()->SetBinLabel( y+1, stave0[y/2] );
+	}
+	m_cluster_occupancy_FE_B0_mon->GetYaxis()->SetLabelSize(0.03);
+	m_cluster_occupancy_FE_B0_mon->SetOption("colz");
       }
-   }
+    }
 
-   if(m_doModules)
-   {
+  if (m_doModules)
+    {
       m_cluseff_mod = new PixelMonModulesProf("Clus_track_eff", ("Proportion of clusters on track vs t in module" + m_histTitleExt).c_str(), 2500,-0.5,2499.5,m_doIBL);
       sc = m_cluseff_mod->regHist(this,(path+"/Modules_Cluseff").c_str(),run, m_doIBL);
-
+      
       m_cluster_size_mod = new PixelMonModules1D("Cluster_size", ("Cluster size in Module" + m_histTitleExt).c_str(), 20,-0.5,19.5,m_doIBL);
       sc = m_cluster_size_mod->regHist(this,(path+"/Modules_ClusterSize").c_str(),run,m_doIBL);
       
       m_cluster_num_mod = new PixelMonModules1D("Cluster_num", ("Number of clusters per event in module" + m_histTitleExt).c_str(), 30,-0.5,29.5,m_doIBL);
       sc = m_cluster_num_mod->regHist(this,(path+"/Modules_NumberOfClusters").c_str(),run,m_doIBL);
       
-      //m_cluster_num_mod_ontrack = new PixelMonModules1D("Cluster_num_ontrack", ("Number of clusters on track per track per event in module" + m_histTitleExt).c_str(), 30,-0.5,29.5,m_doIBL);
-      //sc = m_cluster_num_mod->regHist(this,(path+"/Modules_NumberOfClusters").c_str(),run,m_doIBL);
-      
       m_cluster_ToT_mod = new PixelMonModules1D("Cluster_ToT", ("Cluster ToT in Module" + m_histTitleExt).c_str(), 200,0.,200.,m_doIBL);
       sc = m_cluster_ToT_mod->regHist(this,(path+"/Modules_ClusToT").c_str(),run,m_doIBL);
-   }
-   if(m_doOffline)
-   {
-   }
-   if(m_doOnline)
-   {
-     sc = clusterShift.regHist(m_cluster_occupancy_time1= new TProfile("cluster_occupancy_time_10min", ("Module hit occupancy as function of time over 10 minutes. 6 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
-     sc = clusterShift.regHist(m_cluster_occupancy_time2= new TProfile("cluster_occupancy_time_1hr",   ("Module hit occupancy as function of time over 1 hour.  36 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
-     sc = clusterShift.regHist(m_cluster_occupancy_time3= new TProfile("cluster_occupancy_time_6hr",   ("Module hit occupancy as function of time over 6 hours.  3.6 min/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
-   }
-   if(m_doHighOccupancy)
-   {
-     int max_clusters = 40000;
-     int max_clusters_region = 8000;
-     int max_avclusters = 50;
-     if (m_doHeavyIonMon) { max_clusters = 100000; max_clusters_region = 40000; max_avclusters = 1000; }
-     tmp = "num_clusters"; tmp2 = "Number of pixel clusters in an event";
-     if(m_doOnTrack) { tmp = tmp + addOnTrack; tmp2 = tmp2 + addOnTrack; }
-     tmp = "num_clusters"; tmp2 = "Number of pixel clusters in an event";
-     sc = clusterShift.regHist(m_num_clusters      = TH1I_LW::create(tmp.c_str(),            (tmp2 + ";# pixel clusters/event" + m_histTitleExt + ";# events").c_str(), 1000,0.,(int)max_clusters));
-     
-     for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-       hname = makeHistname(("num_clusters_"+modlabel[i]), false);
-       tmp2 = "Number of pixel clusters in an event, " + modlabel[i] + m_histTitleExt + ";# pixel clusters/event;# events";
-       sc = clusterExpert.regHist(m_num_clusters_mod[i] = TH1I_LW::create(hname.c_str(), tmp2.c_str(), 160, 0., (int)max_clusters_region));
-
-       if(m_doOnTrack || m_doOnPixelTrack) { 
-          hname = makeHistname(("num_clusters_per_track_per_lumi_"+modlabel[i]), true);
-          tmp2 = "Number of pixel clusters in an event, " + modlabel[i] + m_histTitleExt + atext_LB + ";Avg #clusters/track/event";
-          sc = clusterExpert.regHist(m_clusters_per_track_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), tmp2.c_str(), nbins_LB, min_LB, max_LB));
-       }
-
-       hname = makeHistname(("cluster_occupancy_summary_" + modlabel[i]), true);
-       tmp2 = "Average cluster occupancy, " + modlabel[i] + m_histTitleExt + ";average # of clusters per module per event;# modules";
-       sc = clusterExpert.regHist(m_cluster_occupancy_summary_mod[i]= TH1F_LW::create(hname.c_str(), tmp2.c_str(), 100, 0., max_avclusters));
-     }
+    }
+  if (m_doOnline)
+    {
+      sc = clusterShift.regHist(m_cluster_occupancy_time1= new TProfile("cluster_occupancy_time_10min", ("Module hit occupancy as function of time over 10 minutes. 6 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
+      sc = clusterShift.regHist(m_cluster_occupancy_time2= new TProfile("cluster_occupancy_time_1hr",   ("Module hit occupancy as function of time over 1 hour.  36 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
+      sc = clusterShift.regHist(m_cluster_occupancy_time3= new TProfile("cluster_occupancy_time_6hr",   ("Module hit occupancy as function of time over 6 hours.  3.6 min/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
+    }
+  
+  if (m_doLowOccupancy || m_doHighOccupancy) {
+
+    ///
+    /// binning
+    ///
+    int nbins_clusters = 1000;       float max_clusters = 40000.;
+    int nbins_clusters_region = 200; float max_clusters_region = 8000.;
+    int nbins_avclusters = 100;      float max_avclusters = 50.;
+    
+    if(m_doLowOccupancy){
+      nbins_clusters = 200;        max_clusters = 200.;
+      nbins_clusters_region = 200; max_clusters_region = 8000.;
+      nbins_avclusters = 50;       max_avclusters = 2.;
+    }
+    if (m_doHeavyIonMon) {max_clusters = 100000; max_clusters_region = 40000; max_avclusters = 1000; }
+    
+    tmp = "num_clusters"; tmp2 = "Number of pixel clusters in an event";
+    if (m_doOnTrack) { tmp = tmp + addOnTrack; tmp2 = tmp2 + addOnTrack; }
+    tmp = "num_clusters"; tmp2 = "Number of pixel clusters in an event";
+    sc = clusterShift.regHist(m_num_clusters = TH1I_LW::create(tmp.c_str(), (tmp2 + ";# pixel clusters/event" + m_histTitleExt + ";# events").c_str(), nbins_clusters, 0., max_clusters));
+    
+    for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
+      
+      hname = makeHistname(("num_clusters_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+      tmp2 = "Number of pixel clusters in an event, " + m_modLabel_PixLayerIBL2D3D[i] + m_histTitleExt + ";# pixel clusters/event;# events";
+      sc = clusterExpert.regHist(m_num_clusters_mod[i] = TH1I_LW::create(hname.c_str(), tmp2.c_str(), nbins_clusters_region, 0., max_clusters_region));
+      
+      hname = makeHistname(("cluster_occupancy_summary_" + m_modLabel_PixLayerIBL2D3D[i]), true);
+      tmp2 = "Average cluster occupancy, " + m_modLabel_PixLayerIBL2D3D[i] + m_histTitleExt + ";average # of clusters per module per event;# modules";
+      sc = clusterExpert.regHist(m_cluster_occupancy_summary_mod[i]= TH1F_LW::create(hname.c_str(), tmp2.c_str(), nbins_avclusters, 0., max_avclusters));
 
-     //tmp = "cluster_occupancy_summary"; tmp2 = "Average cluster occupancy";
-     //sc = clusterExpert.regHist(m_ecA_cluster_occupancy_summary     = TH1F_LW::create((tmp + "_ECA").c_str(), (tmp2 + ", ECA" + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 100,0.,(int)max_avclusters));
-     //sc = clusterExpert.regHist(m_ecC_cluster_occupancy_summary     = TH1F_LW::create((tmp + "_ECC").c_str(), (tmp2 + ", ECC" + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 100,0.,(int)max_avclusters));
-     //sc = clusterExpert.regHist(m_bar_layI_cluster_occupancy_summary= TH1F_LW::create((tmp + "_IBL").c_str(), (tmp2 + ", IBL" + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 100,0.,(int)max_avclusters));
-     //sc = clusterExpert.regHist(m_bar_lay0_cluster_occupancy_summary= TH1F_LW::create((tmp + "_B0").c_str(),  (tmp2 + ", B0"  + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 100,0.,(int)max_avclusters));
-     //sc = clusterExpert.regHist(m_bar_lay1_cluster_occupancy_summary= TH1F_LW::create((tmp + "_B1").c_str(),  (tmp2 + ", B1"  + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 100,0.,(int)max_avclusters));
-     //sc = clusterExpert.regHist(m_bar_lay2_cluster_occupancy_summary= TH1F_LW::create((tmp + "_B2").c_str(),  (tmp2 + ", B2"  + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 100,0.,(int)max_avclusters));
-   }
-   if(m_doLowOccupancy)
-   {
-      tmp = "num_clusters_low_occupancy"; tmp2 = "Number of pixel clusters in an event";
-      if(m_doOnTrack) { tmp = tmp + addOnTrack; tmp2 = tmp2 + addOnTrack; }
-      sc = clusterShift.regHist(m_num_clusters_low                        = TH1I_LW::create(tmp.c_str(),  (tmp2 + m_histTitleExt + ";# pixel clusters/event;# events").c_str(), 200,-0.5,199.5));
-      //tmp = "cluster_occupancy_summary_low_occupancy"; tmp2 = "Average cluster occupancy";
-      ////if(m_doOnTrack) { tmp = tmp + addOnTrack; tmp2 = tmp2 + addOnTrack; }
-      //sc = clusterExpert.regHist(m_ecA_cluster_occupancy_summary_low      = TH1F_LW::create((tmp + "_ECA").c_str(), (tmp2 + ", ECA" + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 50,0.,2.));
-      //sc = clusterExpert.regHist(m_ecC_cluster_occupancy_summary_low      = TH1F_LW::create((tmp + "_ECC").c_str(), (tmp2 + ", ECC" + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 50,0.,2.));
-      //sc = clusterExpert.regHist(m_bar_layI_cluster_occupancy_summary_low = TH1F_LW::create((tmp + "_IBL").c_str(), (tmp2 + ", IBL" + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 50,0.,2.));
-      //sc = clusterExpert.regHist(m_bar_lay0_cluster_occupancy_summary_low = TH1F_LW::create((tmp + "_B0").c_str(),  (tmp2 + ", B0"  + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 50,0.,2.));
-      //sc = clusterExpert.regHist(m_bar_lay1_cluster_occupancy_summary_low = TH1F_LW::create((tmp + "_B1").c_str(),  (tmp2 + ", B1"  + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 50,0.,2.));
-      //sc = clusterExpert.regHist(m_bar_lay2_cluster_occupancy_summary_low = TH1F_LW::create((tmp + "_B2").c_str(),  (tmp2 + ", B2"  + m_histTitleExt + ";average # of clusters per module per event;# modules").c_str(), 50,0.,2.));
-
-      for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-        hname = makeHistname(("cluster_occupancy_summary_low_occupancy_" + modlabel[i]), true);
-        tmp2 = "Average cluster occupancy, " + modlabel[i] + m_histTitleExt + ";average # of clusters per module per event;# modules";
-        sc = clusterExpert.regHist(m_cluster_occupancy_summary_low_mod[i]= TH1F_LW::create(hname.c_str(), tmp2.c_str(), 50, 0., 2.));
+      if(m_doOnTrack || m_doOnPixelTrack) { 
+	hname = makeHistname(("num_clusters_per_track_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), true);
+	tmp2 = "Number of pixel clusters in an event, " + m_modLabel_PixLayerIBL2D3D[i] + m_histTitleExt + atext_LB + ";Avg #clusters/track/event";
+	sc = clusterExpert.regHist(m_clusters_per_track_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), tmp2.c_str(), nbins_LB, min_LB, max_LB));
       }
-   }
-
-   /// Quick Status
-   if(m_doOnTrack || m_doOnPixelTrack) { 
-     hname = makeHistname("Clusters_onTrack_per_lumi_L0_B11_S2_C6", false);
-     htitles = makeHisttitle("Number of clusters on track, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits", false);
-     sc = clusterExpert.regHist(m_clusters_onTrack_L0_B11_S2_C6 = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
-     m_clusters_onTrack_L0_B11_S2_C6->SetOption("colz");
-
-     hname = makeHistname("Clusters_offTrack_per_lumi_L0_B11_S2_C6", false);
-     htitles = makeHisttitle("Number of clusters not on track, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits", false);
-     sc = clusterExpert.regHist(m_clusters_offTrack_L0_B11_S2_C6 = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
-     m_clusters_offTrack_L0_B11_S2_C6->SetOption("colz");
-   }
-
-
-   if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;   
-   return StatusCode::SUCCESS;
+      
+    }
+    
+  }
+ 
+  /// Quick Status
+  if (m_doOfflineAnalysis) {
+    if (m_doOnTrack || m_doOnPixelTrack) { 
+      hname = makeHistname("Clusters_onTrack_per_lumi_L0_B11_S2_C6", false);
+      htitles = makeHisttitle("Number of clusters on track, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits", false);
+      sc = clusterExpert.regHist(m_clusters_onTrack_L0_B11_S2_C6 = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
+      m_clusters_onTrack_L0_B11_S2_C6->SetOption("colz");
+      
+      hname = makeHistname("Clusters_offTrack_per_lumi_L0_B11_S2_C6", false);
+      htitles = makeHisttitle("Number of clusters not on track, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits", false);
+      sc = clusterExpert.regHist(m_clusters_offTrack_L0_B11_S2_C6 = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
+      m_clusters_offTrack_L0_B11_S2_C6->SetOption("colz");
+    }
+  }
+  
+  
+  if ( sc.isFailure() && msgLvl(MSG::WARNING) ) msg(MSG::WARNING)  << "Pixel cluster monitoring histograms not booked" << endmsg;   
+  return StatusCode::SUCCESS;
 }
 
 
 StatusCode PixelMainMon::BookClustersLumiBlockMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Clusters for lowStat" << endmsg;  
-   
-   std::string path = "Pixel/LumiBlock";
-   if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnTrack");
-   if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnPixelTrack");
-   MonGroup lumiBlockHist(   this, path.c_str(), lowStat, ATTRIB_MANAGED); //declare a group of histograms                                  
-
-   StatusCode sc;
-
-   sc = lumiBlockHist.regHist(m_cluster_ToT_LB  = TH1F_LW::create("Cluster_ToT_LB", ("Cluster Time over Threshold" + m_histTitleExt + ";ToT;# clusters").c_str(), 300,-0.5,299.5));   
-
-   if(m_do2DMaps) {
-     m_cluster_occupancy_LB = new PixelMon2DMaps("Cluster_Occupancy_LB", ("Cluster Occupancy" + m_histTitleExt).c_str());
-     sc = m_cluster_occupancy_LB->regHist(lumiBlockHist);
-   }
-   if(m_doHighOccupancy) {
-     sc = lumiBlockHist.regHist(m_num_clusters_LB = TH1I_LW::create("num_clusters_LB", ("Number of pixel clusters per event" + m_histTitleExt + ";# pixel clusters/event;# events").c_str(), 150,0.,15000.));
-   }
-   if(m_doLowOccupancy) {
-     sc = lumiBlockHist.regHist(m_num_clusters_low_LB = TH1I_LW::create("num_clusters_low_occupancy_LB", ("Number of pixel clusters per event" + m_histTitleExt + ";# pixel clusters/event;# events").c_str(), 200,-0.5,199.5));
-   }
-
-   if(m_doModules) {
-     m_cluster_num_mod_LB = new PixelMonModules1D("Cluster_num_LB", ("Number of clusters per event in module" + m_histTitleExt).c_str(), 20,-0.5,59.5,m_doIBL);
-     sc = m_cluster_num_mod_LB->regHist(this,(path+"/Modules_NumberOfClusters").c_str(),lowStat,m_doIBL);
-     m_cluster_ToT_mod_LB = new PixelMonModules1D("Cluster_ToT_mod_LB", ("Cluster ToT in Module" + m_histTitleExt).c_str(), 75,0.,300.,m_doIBL);
-     sc = m_cluster_ToT_mod_LB->regHist(this,(path+"/Modules_ClusToT").c_str(),lowStat,m_doIBL);
-   }
-   
-   if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;   
-   return StatusCode::SUCCESS;
+  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Clusters for lowStat" << endmsg;  
+  
+  std::string path = "Pixel/LumiBlock";
+  if (m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnTrack");
+  if (m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnPixelTrack");
+  MonGroup lumiBlockHist(   this, path.c_str(), lowStat, ATTRIB_MANAGED); //declare a group of histograms                                  
+  
+  StatusCode sc;
+
+  sc = lumiBlockHist.regHist(m_cluster_ToT_LB  = TH1F_LW::create("Cluster_ToT_LB", ("Cluster Time over Threshold" + m_histTitleExt + ";ToT;# clusters").c_str(), 300,-0.5,299.5));   
+  
+  if (m_do2DMaps) {
+    m_cluster_occupancy_LB = new PixelMon2DMaps("Cluster_Occupancy_LB", ("Cluster Occupancy" + m_histTitleExt).c_str());
+    sc = m_cluster_occupancy_LB->regHist(lumiBlockHist);
+  }
+  if (m_doLowOccupancy || m_doHighOccupancy) {
+    int nbins_nclusters = 150; double min_nclusters = -0.5; double max_nclusters = min_nclusters + 15000.0;
+    if(m_doLowOccupancy) { nbins_nclusters = 200; max_nclusters = min_nclusters + 200.0;}
+    sc = lumiBlockHist.regHist(m_num_clusters_LB = TH1I_LW::create("num_clusters_LB", ("Number of pixel clusters per event" + m_histTitleExt + ";# pixel clusters/event;# events").c_str(), nbins_nclusters, min_nclusters, max_nclusters));
+  }
+  
+  if (m_doModules) {
+    m_cluster_num_mod_LB = new PixelMonModules1D("Cluster_num_LB", ("Number of clusters per event in module" + m_histTitleExt).c_str(), 20,-0.5,59.5,m_doIBL);
+    sc = m_cluster_num_mod_LB->regHist(this,(path+"/Modules_NumberOfClusters").c_str(),lowStat,m_doIBL);
+    m_cluster_ToT_mod_LB = new PixelMonModules1D("Cluster_ToT_mod_LB", ("Cluster ToT in Module" + m_histTitleExt).c_str(), 75,0.,300.,m_doIBL);
+    sc = m_cluster_ToT_mod_LB->regHist(this,(path+"/Modules_ClusToT").c_str(),lowStat,m_doIBL);
+  }
+  
+  if (sc.isFailure() && msgLvl(MSG::WARNING) ) msg(MSG::WARNING)  << "Per LB pixel cluster monitoring histograms not booked" << endmsg;   
+  return StatusCode::SUCCESS;
 }
- 
+
 StatusCode PixelMainMon::FillClustersMon(void)
 {
-   StatusCode sc = evtStore()->retrieve(m_Pixel_clcontainer, m_Pixel_SiClustersName);
-   if (sc.isFailure()  || !m_Pixel_clcontainer)
-   {
-      if(msgLvl(MSG::INFO)) msg(MSG::INFO)  <<"Pixel Cluster container for Pixels not found"<< endmsg;
-      if(m_storegate_errors) m_storegate_errors->Fill(3.,3.);  
+  StatusCode sc = evtStore()->retrieve(m_Pixel_clcontainer, m_Pixel_SiClustersName);
+  if (sc.isFailure()  || !m_Pixel_clcontainer)
+    {
+      if (msgLvl(MSG::INFO)) msg(MSG::INFO)  <<"Pixel Cluster container for Pixels not found"<< endmsg;
+      if (m_storegate_errors) m_storegate_errors->Fill(3.,3.);  
       return StatusCode::SUCCESS;
-   } else {
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  <<"Pixel Cluster container for Pixels found" <<endmsg;
-   }
-
-   int nclusters=0;
-   //int nclusters_ECA=0;
-   //int nclusters_ECC=0;
-   //int nclusters_IBL=0;
-   //int nclusters_B0=0;
-   //int nclusters_B1=0;
-   //int nclusters_B2=0;
-   int nclusters_mod[PixLayer::COUNT] = {0};
-   int nlargeclusters=0;
-   int nverylargeclusters=0;
-   int nclusters_all=0;
-   int nclusters_ontrack=0;
-
-   if (m_doModules){
-      if(m_doIBL){
-	      for(int i=0;i<20;i++){
-	         for(int j=0;j<14;j++) m_ClusPerEventArray_lI[j][i]=0;
-	      }
+    } else {
+    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  <<"Pixel Cluster container for Pixels found" <<endmsg;
+  }
+
+  int nclusters=0;
+  int nclusters_mod[PixLayer::COUNT] = {0};
+  int nlargeclusters=0;
+  int nverylargeclusters=0;
+  int nclusters_all=0;
+  int nclusters_ontrack=0;
+
+  if (m_doModules){
+    if(m_doIBL){
+      for(int i=0;i<20;i++){
+	for(int j=0;j<14;j++) m_ClusPerEventArray_lI[j][i]=0;
       }
-      for(int i=0;i<13;i++){
-	      for(int j=0;j<22;j++) m_ClusPerEventArray_l0[j][i]=0;
-	      for(int j=0;j<38;j++) m_ClusPerEventArray_l1[j][i]=0;
-	      for(int j=0;j<52;j++) m_ClusPerEventArray_l2[j][i]=0;
-	   }
-      for(int j=0;j<3;j++){
-	      for(int i=0;i<48;i++){
-	         m_ClusPerEventArray_disksA[i][j]=0;
-	         m_ClusPerEventArray_disksC[i][j]=0;
-	      }
-	   }
-   }//end Initialize
-
-   Identifier clusID;
-   IdentifierHash id_hash;
-   InDet::PixelClusterContainer::const_iterator colNext = m_Pixel_clcontainer->begin();
-   InDet::PixelClusterContainer::const_iterator lastCol = m_Pixel_clcontainer->end();
-   DataVector<PixelCluster>::const_iterator p_clus;
-     
-   for (; colNext != lastCol; ++colNext) 
-   {
+    }
+    for(int i=0;i<13;i++){
+      for(int j=0;j<22;j++) m_ClusPerEventArray_l0[j][i]=0;
+      for(int j=0;j<38;j++) m_ClusPerEventArray_l1[j][i]=0;
+      for(int j=0;j<52;j++) m_ClusPerEventArray_l2[j][i]=0;
+    }
+    for(int j=0;j<3;j++){
+      for(int i=0;i<48;i++){
+	m_ClusPerEventArray_disksA[i][j]=0;
+	m_ClusPerEventArray_disksC[i][j]=0;
+      }
+    }
+  }
+
+  Identifier clusID;
+  InDet::PixelClusterContainer::const_iterator colNext = m_Pixel_clcontainer->begin();
+  InDet::PixelClusterContainer::const_iterator lastCol = m_Pixel_clcontainer->end();
+  DataVector<PixelCluster>::const_iterator p_clus;
+  
+  for (; colNext != lastCol; ++colNext) 
+    {
       const InDet::PixelClusterCollection* ClusterCollection(*colNext);
       
       if (!ClusterCollection) 
-      {
-         if(m_storegate_errors) m_storegate_errors->Fill(3.,5.);  //first entry (1). is for RDO, second (4) is for data problem
-         continue;
-      }
+	{
+	  if(m_storegate_errors) m_storegate_errors->Fill(3.,5.);  //first entry (1). is for RDO, second (4) is for data problem
+	  continue;
+	}
       for(p_clus=ClusterCollection->begin(); p_clus!=ClusterCollection->end(); ++p_clus)
-      {
-         clusID=(*p_clus)->identify();
-         id_hash = m_pixelid->wafer_hash(clusID);
-         int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(clusID), m_pixelid->layer_disk(clusID), m_doIBL);
-         int pixlayerdbm = GetPixLayerIDDBM(m_pixelid->barrel_ec(clusID), m_pixelid->layer_disk(clusID), m_doIBL);
-         int pixlayeribl2d3d = pixlayer;
-         if( pixlayeribl2d3d == PixLayerIBL2D3D::kIBL ){
-            pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(clusID), m_pixelid->layer_disk(clusID), m_pixelid->eta_module(clusID), m_doIBL);
-         }
-         int pixlayeribl2d3ddbm = pixlayerdbm;
-         if( pixlayeribl2d3ddbm == PixLayerDBM::kIBL ){
-            pixlayeribl2d3ddbm = GetPixLayerIDIBL2D3DDBM(m_pixelid->barrel_ec(clusID), m_pixelid->layer_disk(clusID), m_pixelid->eta_module(clusID), m_doIBL);
-         }
-         if(pixlayer == 99) continue;
-
-         //std::cout << id_hash << std::endl;
-
-         int lumiblock = m_manager->lumiBlockNumber();
-
-	      const PixelCluster& cluster = **p_clus;
-	      const InDet::SiWidth clusWidth = cluster.width();
-
-         //note: description is wrong in SiWidth! <x,y> = <row,col>
-         int npixHitsInClusterRaw = cluster.rdoList().size();
-         int npixHitsInCluster = cluster.rdoList().size();
-         if( npixHitsInCluster > m_cluster_groupsize_mod[pixlayer]->getXMax()){
-            npixHitsInCluster = (int)(m_cluster_groupsize_mod[pixlayer]->getXMax()-0.5);
-         }
-         int colWidth = clusWidth.colRow().y();
-         int rowWidth = clusWidth.colRow().x();
-
-
-	      nclusters_all++; // count all clusters for ontrack
-
-         
-         /// Quick Status
-         int fephi=0;
-         int feeta=0;
-         if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(clusID), m_pixelid->eta_index(clusID), fephi, feeta) ){
-            if(m_doOnTrack || m_doOnPixelTrack) { 
-               if(m_pixelid->phi_module(clusID) == 0 && m_pixelid->eta_module(clusID) < 0 ){
-                  if(OnTrack(clusID,true) ){
-                     if(m_clusters_onTrack_L0_B11_S2_C6) m_clusters_onTrack_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (16*fabs(6+m_pixelid->eta_module(clusID)))+(8.0*fephi)+feeta );
-                  }else{
-                     if(m_clusters_offTrack_L0_B11_S2_C6) m_clusters_offTrack_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (16*fabs(6+m_pixelid->eta_module(clusID)))+(8.0*fephi)+feeta );
-                  }
-               }
-            }
-         }
-
-
-         if( (m_doOnTrack || m_doOnPixelTrack) && !OnTrack(clusID,true) ){
-	         continue;
-            /// if we only want hits on track, and the hit is NOT on the track, skip filling.
-            /// true means doing clusters, false means rdos
+	{
+	  clusID=(*p_clus)->identify();
+	  int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(clusID), m_pixelid->layer_disk(clusID), m_doIBL);
+
+	  int pixlayeribl2d3d = pixlayer;
+	  if( pixlayeribl2d3d == PixLayerIBL2D3D::kIBL ){
+	    pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(clusID), m_pixelid->layer_disk(clusID), m_pixelid->eta_module(clusID), m_doIBL);
+	  }
+
+	  if(pixlayer == 99) continue;
+	  
+	  int lumiblock = m_manager->lumiBlockNumber();
+	  
+	  const PixelCluster& cluster = **p_clus;
+	  const InDet::SiWidth clusWidth = cluster.width();
+	  
+	  //note: description is wrong in SiWidth! <x,y> = <row,col>
+	  int npixHitsInClusterRaw = cluster.rdoList().size();
+	  int npixHitsInCluster = cluster.rdoList().size();
+	  if( npixHitsInCluster > m_cluster_groupsize_mod[pixlayer]->getXMax()){
+	    npixHitsInCluster = (int)(m_cluster_groupsize_mod[pixlayer]->getXMax()-0.5);
+	  }
+	  int colWidth = clusWidth.colRow().y();
+	  int rowWidth = clusWidth.colRow().x();
+
+	  nclusters_all++; // count all clusters for ontrack
+	  
+	  /// Quick Status
+	  int fephi=0;
+	  int feeta=0;
+	  if ( m_doOfflineAnalysis ) {
+	    if ( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(clusID), m_pixelid->eta_index(clusID), fephi, feeta) ) {
+	      if ( m_doOnTrack || m_doOnPixelTrack ) { 
+		if ( m_pixelid->phi_module(clusID) == 0 && m_pixelid->eta_module(clusID) < 0 ) {
+		  if ( OnTrack(clusID,true) ) {
+		    if ( m_clusters_onTrack_L0_B11_S2_C6 ) m_clusters_onTrack_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (16*fabs(6+m_pixelid->eta_module(clusID)))+(8.0*fephi)+feeta );
+		  } else {
+		    if ( m_clusters_offTrack_L0_B11_S2_C6 ) m_clusters_offTrack_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (16*fabs(6+m_pixelid->eta_module(clusID)))+(8.0*fephi)+feeta );
+		  }
+		}
 	      }
-
-
-	      nclusters_ontrack++;
-
-
-         //////////////////////////////////////////////////////
-         /////////////Start main fill block here///////////////
-         //be sure to check each histo exists before filling it
-         //////////////////////////////////////////////////////
-         
-         //if( m_currentBCID != ) continue;
-         ///
-         /// Fill LVL1 Accepted
-         ///
-         if(m_cluster_LVL1A)     m_cluster_LVL1A->Fill(cluster.LVL1A());   
-	      if(m_cluster_LVL1A_mod) m_cluster_LVL1A_mod->Fill(clusID,m_pixelid,cluster.LVL1A()+0.00001,m_doIBL); //avoid filling exactly zero to distinguish from disabled modules
-	      if(cluster.rdoList().size()>1 
-            && m_clus_LVL1A_sizenot1) m_clus_LVL1A_sizenot1->Fill(clusID,m_pixelid,cluster.LVL1A()+0.00001,m_doIBL); //avoid filling exactly zero to distinguish from disabled modules
-	      if(pixlayer != PixLayer::kIBL){
-            if(cluster.totalToT() > 15 && m_cluster_LVL1A1d_mod[pixlayer]) m_cluster_LVL1A1d_mod[pixlayer]->Fill(cluster.LVL1A());
-	      }else{
-            if(cluster.totalToT() > 4  && m_cluster_LVL1A1d_mod[pixlayer]) m_cluster_LVL1A1d_mod[pixlayer]->Fill(cluster.LVL1A());
-         }
-
-         ///
-         /// Fill ToT
-         ///
-         if(m_cluster_ToT_mod) m_cluster_ToT_mod->Fill(cluster.totalToT(),clusID,m_pixelid,m_doIBL);   
-	      if(m_cluster_ToT1d_mod[pixlayerdbm]) m_cluster_ToT1d_mod[pixlayerdbm]->Fill(cluster.totalToT());     
-         if(pixlayerdbm == PixLayerDBM::kIBL && m_cluster_ToT1d_mod[pixlayeribl2d3ddbm]) m_cluster_ToT1d_mod[pixlayeribl2d3ddbm]->Fill(cluster.totalToT());     
-         if(cluster.rdoList().size()==1 && m_1cluster_ToT_mod[pixlayer] ) m_1cluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
-	      if(cluster.rdoList().size()==2 && m_2cluster_ToT_mod[pixlayer] ) m_2cluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
-	      if(cluster.rdoList().size()==3 && m_3cluster_ToT_mod[pixlayer] ) m_3cluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
-	      if(cluster.rdoList().size()>3  && m_bigcluster_ToT_mod[pixlayer] ) m_bigcluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
-
-         ///
-         /// Fill Charge
-	      ///
-         if(m_cluster_Q_mod[pixlayerdbm]) m_cluster_Q_mod[pixlayerdbm]->Fill(cluster.totalCharge());
-	      if(pixlayerdbm == PixLayerDBM::kIBL  && m_cluster_Q_mod[pixlayeribl2d3ddbm]) m_cluster_Q_mod[pixlayeribl2d3ddbm]->Fill(cluster.totalCharge());
-	      if(cluster.rdoList().size()==1 && m_1cluster_Q_mod[pixlayer] ) m_1cluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
-	      if(cluster.rdoList().size()==2 && m_2cluster_Q_mod[pixlayer] ) m_2cluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
-	      if(cluster.rdoList().size()==3 && m_3cluster_Q_mod[pixlayer] ) m_3cluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
-	      if(cluster.rdoList().size()> 3 && m_bigcluster_Q_mod[pixlayer] ) m_bigcluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
-
-         ///
-         /// Fill Cluster efficiency
-         ///
-         if(OnTrack(clusID,true)){
-	         if(m_cluseff_mod) m_cluseff_mod->Fill(m_manager->lumiBlockNumber(),1.,clusID,m_pixelid,m_doIBL);
-            if(m_clusize_ontrack_mod[pixlayer]) m_clusize_ontrack_mod[pixlayer]->Fill(cluster.rdoList().size());
-            if(pixlayer == PixLayer::kIBL && m_clusize_ontrack_mod[pixlayeribl2d3d]) m_clusize_ontrack_mod[pixlayeribl2d3d]->Fill( npixHitsInClusterRaw );
-         }else{
-            if(m_cluseff_mod) m_cluseff_mod->Fill(m_manager->lumiBlockNumber(),0.,clusID,m_pixelid,m_doIBL);
-            if(m_clusize_offtrack_mod[pixlayer]) m_clusize_offtrack_mod[pixlayer]->Fill(cluster.rdoList().size());
-            if(pixlayer == PixLayer::kIBL && m_clusize_offtrack_mod[pixlayeribl2d3d]) m_clusize_offtrack_mod[pixlayeribl2d3d]->Fill(npixHitsInClusterRaw);
-         }
-         
-         ///
-         /// Fill the number of pixel hits in a cluster
-         ///
-         if(m_cluster_groupsize) m_cluster_groupsize->Fill(npixHitsInClusterRaw);  
-         if(m_cluster_col_width) m_cluster_col_width->Fill(colWidth);                         
-         if(m_cluster_row_width) m_cluster_row_width->Fill(rowWidth);                         
-         if(m_clusterSize_eta && m_pixelid->barrel_ec(clusID)==0 ) m_clusterSize_eta->Fill(m_pixelid->eta_module(clusID), npixHitsInClusterRaw);    
-         if(m_cluster_groupsize_mod[pixlayer]) m_cluster_groupsize_mod[pixlayer]->Fill( npixHitsInCluster );
-         if(pixlayer == PixLayer::kIBL && m_cluster_groupsize_mod[pixlayeribl2d3d]) m_cluster_groupsize_mod[pixlayeribl2d3d]->Fill( npixHitsInCluster );
-         if(m_cluster_col_width_mod[pixlayer]) m_cluster_col_width_mod[pixlayer]->Fill( colWidth );
-         if(pixlayer == PixLayer::kIBL && m_cluster_col_width_mod[pixlayeribl2d3d]) m_cluster_col_width_mod[pixlayeribl2d3d]->Fill( colWidth );
-         if(m_cluster_row_width_mod[pixlayer]) m_cluster_row_width_mod[pixlayer]->Fill( rowWidth );
-         if(pixlayer == PixLayer::kIBL && m_cluster_row_width_mod[pixlayeribl2d3d]) m_cluster_row_width_mod[pixlayeribl2d3d]->Fill( rowWidth );
-         if(m_clusters_col_width_per_lumi_mod[pixlayer]) m_clusters_col_width_per_lumi_mod[pixlayer]->Fill(m_manager->lumiBlockNumber(), colWidth);
-         if(pixlayer == PixLayer::kIBL && m_clusters_col_width_per_lumi_mod[pixlayeribl2d3d]) m_clusters_col_width_per_lumi_mod[pixlayeribl2d3d]->Fill(lumiblock, colWidth);
-         if(m_clusters_row_width_per_lumi_mod[pixlayer]) m_clusters_row_width_per_lumi_mod[pixlayer]->Fill(m_manager->lumiBlockNumber(), rowWidth);
-         if(pixlayer == PixLayer::kIBL && m_clusters_row_width_per_lumi_mod[pixlayeribl2d3d]) m_clusters_row_width_per_lumi_mod[pixlayeribl2d3d]->Fill(lumiblock, rowWidth);
-         if(m_clusters_col_width_per_bcid_mod[pixlayer]) m_clusters_col_width_per_bcid_mod[pixlayer]->Fill(1.0*m_currentBCID, colWidth);
-         if(pixlayer == PixLayer::kIBL && m_clusters_col_width_per_bcid_mod[pixlayeribl2d3d]) m_clusters_col_width_per_bcid_mod[pixlayeribl2d3d]->Fill(1.0*m_currentBCID, colWidth);
-         if(m_clusters_row_width_per_bcid_mod[pixlayer]) m_clusters_row_width_per_bcid_mod[pixlayer]->Fill(1.0*m_currentBCID, rowWidth);
-         if(pixlayer == PixLayer::kIBL && m_clusters_row_width_per_bcid_mod[pixlayeribl2d3d]) m_clusters_row_width_per_bcid_mod[pixlayeribl2d3d]->Fill(1.0*m_currentBCID, rowWidth);
-
-
-	      ///
-         /// Total Number of Clusters
-         ///
-         if(m_totalclusters_per_lumi) m_totalclusters_per_lumi->Fill(lumiblock); 
-         if(m_totalclusters_per_lumi_mod[pixlayer] ) m_totalclusters_per_lumi_mod[pixlayer]->Fill( lumiblock );
-         if(pixlayer == PixLayer::kIBL && m_totalclusters_per_lumi_mod[pixlayeribl2d3d] ) m_totalclusters_per_lumi_mod[pixlayeribl2d3d]->Fill( lumiblock );
-         if(m_totalclusters_per_bcid_mod[pixlayer] ) m_totalclusters_per_bcid_mod[pixlayer]->Fill( 1.0*m_currentBCID );
-         if(pixlayer == PixLayer::kIBL && m_totalclusters_per_bcid_mod[pixlayeribl2d3d] ) m_totalclusters_per_bcid_mod[pixlayeribl2d3d]->Fill( 1.0*m_currentBCID );
-
-         ///
-         /// Fill Occupancy
-         ///
-         if(m_cluster_occupancy) m_cluster_occupancy->Fill(clusID,m_pixelid,m_doIBL);
-	      if(cluster.rdoList().size()>1 && m_clusocc_sizenot1) m_clusocc_sizenot1->Fill(clusID,m_pixelid,m_doIBL); 
-	      if(m_doOnline && m_clustermap_tmp) m_clustermap_tmp->Fill(clusID, m_pixelid, m_doIBL);
-
-         /// 2D Map
-	      if(m_clussize_map) m_clussize_map->Fill(clusID,m_pixelid,cluster.rdoList().size(),m_doIBL);
-	      if(m_cluscharge_map) m_cluscharge_map->Fill(clusID,m_pixelid,cluster.totalCharge(),m_doIBL);
-	      if(m_clusToT_map) m_clusToT_map->Fill(clusID,m_pixelid,cluster.totalToT(),m_doIBL);
-
-	      if(m_cluster_size_mod)m_cluster_size_mod->Fill(cluster.rdoList().size(),clusID,m_pixelid,m_doIBL);  
-
-	 
-	      float nhits=0;
-	      float nlowToT_7=0;
-	      float nlowToT_9=0;
-	      float nlowToT_11=0;
-	      float nlowToT_13=0;
-	      for(unsigned int i=0;i<cluster.totList().size();i++){
-	         nhits++;
-            float tmptot = cluster.totList().at(i);
-            if(tmptot<7) {nlowToT_7++;}
-	         if(tmptot<9) {nlowToT_9++;}
-	         if(tmptot<11){nlowToT_11++;}
-	         if(tmptot<13){nlowToT_13++;}
-	      }
-         //if(m_lowToTHitsFraction_7)  m_lowToTHitsFraction_7->Fill(clusID, m_pixelid, m_doIBL, false, (1.0*nlowToT_7)/(1.0*nhits));
-         if(m_lowToTHitsFraction_9  && nhits>0) m_lowToTHitsFraction_9->Fill(clusID, m_pixelid, m_doIBL, false, (1.0*nlowToT_9)/(1.0*nhits));
-         if(m_lowToTHitsFraction_11 && nhits>0) m_lowToTHitsFraction_11->Fill(clusID,m_pixelid, m_doIBL, false, (1.0*nlowToT_11)/(1.0*nhits));
-         //if(m_lowToTHitsFraction_13) m_lowToTHitsFraction_13->Fill(clusID,m_pixelid, m_doIBL, false, (1.0*nlowToT_13)/(1.0*nhits));
-	 
-	      if(m_clusToT_vs_eta_mod[pixlayer])  m_clusToT_vs_eta_mod[pixlayer]->Fill(m_pixelid->eta_module(clusID), cluster.totalToT());
-	      if(m_ToT_vs_clussize_mod[pixlayer]) m_ToT_vs_clussize_mod[pixlayer]->Fill(cluster.totalToT(), cluster.rdoList().size());
-         if(m_clussize_vs_eta_mod[pixlayer]) m_clussize_vs_eta_mod[pixlayer]->Fill( 1.0*m_pixelid->eta_module(clusID), cluster.rdoList().size() );
-
-
-         //if(m_clusQ_vs_eta_mod[pixlayer]) m_clusQ_vs_eta_mod[pixlayer]->Fill( m_pixelid->eta_module(clusID), cluster.totalCharge() );
-         //if(m_clussize_vs_eta_mod[pixlayer]) m_clussize_vs_eta_mod[pixlayer]->Fill( 1.0, 1.0);
-
-         nclusters++;
-         nclusters_mod[pixlayer]++;
-	      if(cluster.rdoList().size() > 10) nlargeclusters++;
-	      if(cluster.rdoList().size() > 50) nverylargeclusters++;
-
-         if (m_doModules)//fill module cluster arrays 
-         {
-            if(m_pixelid->barrel_ec(clusID)==2 ) m_ClusPerEventArray_disksA[m_pixelid->phi_module(clusID)][m_pixelid->layer_disk(clusID)]++;
-            if(m_pixelid->barrel_ec(clusID)==-2) m_ClusPerEventArray_disksC[m_pixelid->phi_module(clusID)][m_pixelid->layer_disk(clusID)]++;
-            if(m_pixelid->barrel_ec(clusID)==0 )
-            {
-   	         if(m_doIBL && m_pixelid->layer_disk(clusID)==0) m_ClusPerEventArray_lI[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+10]++;
-               if(m_pixelid->layer_disk(clusID)==0+m_doIBL)    m_ClusPerEventArray_l0[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+6]++;
-               if(m_pixelid->layer_disk(clusID)==1+m_doIBL)    m_ClusPerEventArray_l1[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+6]++;
-               if(m_pixelid->layer_disk(clusID)==2+m_doIBL)    m_ClusPerEventArray_l2[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+6]++;
-            }  
-         }
-
-	      if (m_doLumiBlock) {
-	         if (m_cluster_occupancy_LB) m_cluster_occupancy_LB->Fill(clusID,m_pixelid,m_doIBL);
-	         if (m_cluster_ToT_LB)m_cluster_ToT_LB->Fill(cluster.totalToT());     
-	         if (m_cluster_ToT_mod_LB) m_cluster_ToT_mod_LB->Fill(cluster.totalToT(),clusID,m_pixelid,m_doIBL);   
-	      }
-
-         /// Quick Status
-         fephi=0;
-         feeta=0;
-         if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(clusID), m_pixelid->eta_index(clusID), fephi, feeta) ){
-            if(m_doOnline){
-              if(m_cluster_occupancy_FE_B0_mon) m_cluster_occupancy_FE_B0_mon->Fill( (8.0*m_pixelid->eta_module(clusID))+(1.0*feeta), (2.0*m_pixelid->phi_module(clusID))+(1.0*fephi));
-              if(m_doRefresh5min && m_cluster_occupancy_FE_B0_mon) m_cluster_occupancy_FE_B0_mon->Reset();
             }
-         }
+	  }
+	  
+	  if( (m_doOnTrack || m_doOnPixelTrack) && !OnTrack(clusID,true) ){
+	    continue;
+	    /// if we only want hits on track, and the hit is NOT on the track, skip filling.
+	    /// true means doing clusters, false means rdos
+	  }
+	  
+	  
+	  nclusters_ontrack++;
+	  
+	  
+	  //////////////////////////////////////////////////////
+	  /////////////Start main fill block here///////////////
+	  //be sure to check each histo exists before filling it
+	  //////////////////////////////////////////////////////
+	  
+	  //if( m_currentBCID != ) continue;
+	  ///
+	  /// Fill LVL1 Accepted
+	  ///
+	  if (m_cluster_LVL1A) m_cluster_LVL1A->Fill(cluster.LVL1A());   
+	  if (m_cluster_LVL1A_mod) m_cluster_LVL1A_mod->Fill(clusID,m_pixelid,cluster.LVL1A()+0.00001,m_doIBL); //avoid filling exactly zero to distinguish from disabled modules
+	  if (cluster.rdoList().size()>1 && m_clus_LVL1A_sizenot1) m_clus_LVL1A_sizenot1->Fill(clusID,m_pixelid,cluster.LVL1A()+0.00001,m_doIBL); //avoid filling exactly zero to distinguish from disabled modules
+	  if (pixlayer != PixLayer::kIBL) {
+	    if (cluster.totalToT() > 15 && m_cluster_LVL1A1d_mod[pixlayer]) m_cluster_LVL1A1d_mod[pixlayer]->Fill(cluster.LVL1A());
+	  } else {
+	    if (cluster.totalToT() > 4  && m_cluster_LVL1A1d_mod[pixlayer]) m_cluster_LVL1A1d_mod[pixlayer]->Fill(cluster.LVL1A());
+	  }
+	  
+	  ///
+	  /// Fill ToT
+	  ///
+	  if (m_cluster_ToT_mod) m_cluster_ToT_mod->Fill(cluster.totalToT(),clusID,m_pixelid,m_doIBL);   
+	  
+	  if (m_cluster_ToT1d_mod[pixlayer]) m_cluster_ToT1d_mod[pixlayer]->Fill(cluster.totalToT());
+	  if (pixlayer == PixLayer::kIBL && m_cluster_ToT1d_mod[pixlayeribl2d3d]) m_cluster_ToT1d_mod[pixlayeribl2d3d]->Fill(cluster.totalToT());
+
+	  if (cluster.rdoList().size()==1 && m_1cluster_ToT_mod[pixlayer]   ) m_1cluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
+	  if (cluster.rdoList().size()==2 && m_2cluster_ToT_mod[pixlayer]   ) m_2cluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
+	  if (cluster.rdoList().size()==3 && m_3cluster_ToT_mod[pixlayer]   ) m_3cluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
+	  if (cluster.rdoList().size()>3  && m_bigcluster_ToT_mod[pixlayer] ) m_bigcluster_ToT_mod[pixlayer]->Fill(cluster.totalToT());
+	  
+	  ///
+	  /// Fill Charge
+	  ///
+	  if (m_cluster_Q_mod[pixlayer]) m_cluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
+	  if (pixlayer == PixLayer::kIBL && m_cluster_Q_mod[pixlayeribl2d3d]) m_cluster_Q_mod[pixlayeribl2d3d]->Fill(cluster.totalCharge());
+	  
+	  if (cluster.rdoList().size()==1 && m_1cluster_Q_mod[pixlayer]   ) m_1cluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
+	  if (cluster.rdoList().size()==2 && m_2cluster_Q_mod[pixlayer]   ) m_2cluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
+	  if (cluster.rdoList().size()==3 && m_3cluster_Q_mod[pixlayer]   ) m_3cluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
+	  if (cluster.rdoList().size()> 3 && m_bigcluster_Q_mod[pixlayer] ) m_bigcluster_Q_mod[pixlayer]->Fill(cluster.totalCharge());
+	  
+	  ///
+	  /// Fill Cluster efficiency
+	  ///
+	  if ( OnTrack(clusID,true) ) {
+	    if (m_cluseff_mod) m_cluseff_mod->Fill(m_manager->lumiBlockNumber(),1.,clusID,m_pixelid,m_doIBL);
+
+	    if (m_clusize_ontrack_mod[pixlayer]) m_clusize_ontrack_mod[pixlayer]->Fill(cluster.rdoList().size());
+	    if (pixlayer == PixLayer::kIBL && m_clusize_ontrack_mod[pixlayeribl2d3d]) m_clusize_ontrack_mod[pixlayeribl2d3d]->Fill( npixHitsInClusterRaw );
+	  } else {
+            if (m_cluseff_mod) m_cluseff_mod->Fill(m_manager->lumiBlockNumber(),0.,clusID,m_pixelid,m_doIBL);
+
+            if (m_clusize_offtrack_mod[pixlayer]) m_clusize_offtrack_mod[pixlayer]->Fill(cluster.rdoList().size());
+            if (pixlayer == PixLayer::kIBL && m_clusize_offtrack_mod[pixlayeribl2d3d]) m_clusize_offtrack_mod[pixlayeribl2d3d]->Fill(npixHitsInClusterRaw);
+	  }
+	  
+	  ///
+	  /// Fill the number of pixel hits in a cluster
+	  ///
+	  if (m_cluster_groupsize) m_cluster_groupsize->Fill(npixHitsInClusterRaw);  
+	  if (m_cluster_col_width) m_cluster_col_width->Fill(colWidth);                         
+	  if (m_cluster_row_width) m_cluster_row_width->Fill(rowWidth);                         
+	  if (m_clusterSize_eta && m_pixelid->barrel_ec(clusID)==0 ) m_clusterSize_eta->Fill(m_pixelid->eta_module(clusID), npixHitsInClusterRaw);
+    
+	  if (m_cluster_groupsize_mod[pixlayer]) m_cluster_groupsize_mod[pixlayer]->Fill( npixHitsInCluster );
+	  if (pixlayer == PixLayer::kIBL && m_cluster_groupsize_mod[pixlayeribl2d3d]) m_cluster_groupsize_mod[pixlayeribl2d3d]->Fill( npixHitsInCluster );
+
+	  if (m_cluster_col_width_mod[pixlayer]) m_cluster_col_width_mod[pixlayer]->Fill( colWidth );
+	  if (pixlayer == PixLayer::kIBL && m_cluster_col_width_mod[pixlayeribl2d3d]) m_cluster_col_width_mod[pixlayeribl2d3d]->Fill( colWidth );
+
+	  if (m_cluster_row_width_mod[pixlayer]) m_cluster_row_width_mod[pixlayer]->Fill( rowWidth );
+	  if (pixlayer == PixLayer::kIBL && m_cluster_row_width_mod[pixlayeribl2d3d]) m_cluster_row_width_mod[pixlayeribl2d3d]->Fill( rowWidth );
+
+	  if (m_clusters_col_width_per_lumi_mod[pixlayer]) m_clusters_col_width_per_lumi_mod[pixlayer]->Fill(m_manager->lumiBlockNumber(), colWidth);
+	  if (pixlayer == PixLayer::kIBL && m_clusters_col_width_per_lumi_mod[pixlayeribl2d3d]) m_clusters_col_width_per_lumi_mod[pixlayeribl2d3d]->Fill(lumiblock, colWidth);
+
+	  if (m_clusters_row_width_per_lumi_mod[pixlayer]) m_clusters_row_width_per_lumi_mod[pixlayer]->Fill(m_manager->lumiBlockNumber(), rowWidth);
+	  if (pixlayer == PixLayer::kIBL && m_clusters_row_width_per_lumi_mod[pixlayeribl2d3d]) m_clusters_row_width_per_lumi_mod[pixlayeribl2d3d]->Fill(lumiblock, rowWidth);
+
+	  if (m_clusters_col_width_per_bcid_mod[pixlayer]) m_clusters_col_width_per_bcid_mod[pixlayer]->Fill(1.0*m_currentBCID, colWidth);
+	  if (pixlayer == PixLayer::kIBL && m_clusters_col_width_per_bcid_mod[pixlayeribl2d3d]) m_clusters_col_width_per_bcid_mod[pixlayeribl2d3d]->Fill(1.0*m_currentBCID, colWidth);
+
+	  if (m_clusters_row_width_per_bcid_mod[pixlayer]) m_clusters_row_width_per_bcid_mod[pixlayer]->Fill(1.0*m_currentBCID, rowWidth);
+	  if (pixlayer == PixLayer::kIBL && m_clusters_row_width_per_bcid_mod[pixlayeribl2d3d]) m_clusters_row_width_per_bcid_mod[pixlayeribl2d3d]->Fill(1.0*m_currentBCID, rowWidth);
+	  
+	  
+	  ///
+	  /// Total Number of Clusters
+	  ///
+	  if (m_totalclusters_per_lumi) m_totalclusters_per_lumi->Fill(lumiblock); 
+	  if (m_totalclusters_per_lumi_mod[pixlayer] ) m_totalclusters_per_lumi_mod[pixlayer]->Fill( lumiblock );
+	  if (pixlayer == PixLayer::kIBL && m_totalclusters_per_lumi_mod[pixlayeribl2d3d] ) m_totalclusters_per_lumi_mod[pixlayeribl2d3d]->Fill( lumiblock );
+	  if (m_totalclusters_per_bcid_mod[pixlayer] ) m_totalclusters_per_bcid_mod[pixlayer]->Fill( 1.0*m_currentBCID );
+	  if (pixlayer == PixLayer::kIBL && m_totalclusters_per_bcid_mod[pixlayeribl2d3d] ) m_totalclusters_per_bcid_mod[pixlayeribl2d3d]->Fill( 1.0*m_currentBCID );
+	  
+	  ///
+	  /// Fill Occupancy
+	  ///
+	  if (m_cluster_occupancy) m_cluster_occupancy->Fill(clusID,m_pixelid,m_doIBL);
+	  if (cluster.rdoList().size()>1 && m_clusocc_sizenot1) m_clusocc_sizenot1->Fill(clusID,m_pixelid,m_doIBL); 
+	  if (m_doOnline && m_clustermap_tmp) m_clustermap_tmp->Fill(clusID, m_pixelid, m_doIBL);
+	  
+	  /// 2D Map
+	  if (m_clussize_map) m_clussize_map->Fill(clusID,m_pixelid,cluster.rdoList().size(),m_doIBL);
+	  if (m_cluscharge_map) m_cluscharge_map->Fill(clusID,m_pixelid,cluster.totalCharge(),m_doIBL);
+	  if (m_clusToT_map) m_clusToT_map->Fill(clusID,m_pixelid,cluster.totalToT(),m_doIBL);
+	  
+	  if (m_cluster_size_mod)m_cluster_size_mod->Fill(cluster.rdoList().size(),clusID,m_pixelid,m_doIBL);  
+	  
+	  if (m_clusToT_vs_eta_mod[pixlayer])  m_clusToT_vs_eta_mod[pixlayer]->Fill(m_pixelid->eta_module(clusID), cluster.totalToT());
+	  if (m_ToT_vs_clussize_mod[pixlayer]) m_ToT_vs_clussize_mod[pixlayer]->Fill(cluster.totalToT(), cluster.rdoList().size());
+	  if (m_clussize_vs_eta_mod[pixlayer]) m_clussize_vs_eta_mod[pixlayer]->Fill( 1.0*m_pixelid->eta_module(clusID), cluster.rdoList().size() );
+	  
+	  
+	  nclusters++;
+	  nclusters_mod[pixlayer]++;
+	  if (cluster.rdoList().size() > 10) nlargeclusters++;
+	  if (cluster.rdoList().size() > 50) nverylargeclusters++;
+	  
+	  if (m_doModules)//fill module cluster arrays 
+	    {
+	      if (m_pixelid->barrel_ec(clusID)==2 ) m_ClusPerEventArray_disksA[m_pixelid->phi_module(clusID)][m_pixelid->layer_disk(clusID)]++;
+	      if (m_pixelid->barrel_ec(clusID)==-2) m_ClusPerEventArray_disksC[m_pixelid->phi_module(clusID)][m_pixelid->layer_disk(clusID)]++;
+	      if (m_pixelid->barrel_ec(clusID)==0 )
+		{
+		  if (m_doIBL && m_pixelid->layer_disk(clusID)==0) m_ClusPerEventArray_lI[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+10]++;
+		  if (m_pixelid->layer_disk(clusID)==0+m_doIBL)    m_ClusPerEventArray_l0[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+6]++;
+		  if (m_pixelid->layer_disk(clusID)==1+m_doIBL)    m_ClusPerEventArray_l1[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+6]++;
+		  if (m_pixelid->layer_disk(clusID)==2+m_doIBL)    m_ClusPerEventArray_l2[m_pixelid->phi_module(clusID)][m_pixelid->eta_module(clusID)+6]++;
+		}  
+	    }
+
+	  if (m_doLumiBlock) {
+	    if (m_cluster_occupancy_LB) m_cluster_occupancy_LB->Fill(clusID,m_pixelid,m_doIBL);
+	    if (m_cluster_ToT_LB)m_cluster_ToT_LB->Fill(cluster.totalToT());     
+	    if (m_cluster_ToT_mod_LB) m_cluster_ToT_mod_LB->Fill(cluster.totalToT(),clusID,m_pixelid,m_doIBL);   
+	  }
+
+	  /// Quick Status
+	  fephi=0;
+	  feeta=0;
+	  if ( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(clusID), m_pixelid->eta_index(clusID), fephi, feeta) ){
+            if (m_doOnline){
+              if (m_cluster_occupancy_FE_B0_mon) m_cluster_occupancy_FE_B0_mon->Fill( (8.0*m_pixelid->eta_module(clusID))+(1.0*feeta), (2.0*m_pixelid->phi_module(clusID))+(1.0*fephi));
+              if (m_doRefresh5min && m_cluster_occupancy_FE_B0_mon) m_cluster_occupancy_FE_B0_mon->Reset();
+            }
+	  }
 	 
-         ///////////End of main fill block////////////////////
-      } // PixelClusterContainer loop
-   }//end of event loop
-   
-   //////////////////////Fill after event block////////////////
-   if(m_doOnline)//should we fill these mid run or only at the end?
-   {
-      //FillSummaryHistos(m_cluster_occupancy,m_ecA_cluster_occupancy_summary,m_ecC_cluster_occupancy_summary,m_bar_layI_cluster_occupancy_summary,m_bar_lay0_cluster_occupancy_summary,m_bar_lay1_cluster_occupancy_summary,m_bar_lay2_cluster_occupancy_summary);
+	  ///////////End of main fill block////////////////////
+	} // PixelClusterContainer loop
+    }//end of event loop
+  
+  //////////////////////Fill after event block////////////////
+  if (m_doOnline)//should we fill these mid run or only at the end?
+    {
       FillSummaryHistos(m_cluster_occupancy,
                         m_cluster_occupancy_summary_mod[PixLayer::kECA],
                         m_cluster_occupancy_summary_mod[PixLayer::kECC],
@@ -878,92 +699,83 @@ StatusCode PixelMainMon::FillClustersMon(void)
                         m_cluster_occupancy_summary_mod[PixLayer::kB0],
                         m_cluster_occupancy_summary_mod[PixLayer::kB1],
                         m_cluster_occupancy_summary_mod[PixLayer::kB2]);
-      FillSummaryHistos(m_cluster_occupancy,
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kECA],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kECC],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kIBL],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kB0],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kB1],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kB2]);
-      //FillSummaryHistos(m_cluster_occupancy,m_ecA_cluster_occupancy_summary_low,m_ecC_cluster_occupancy_summary_low,m_bar_layI_cluster_occupancy_summary_low,m_bar_lay0_cluster_occupancy_summary_low,m_bar_lay1_cluster_occupancy_summary_low,m_bar_lay2_cluster_occupancy_summary_low);
-     if(m_doRefresh) {
-       if(m_clustermap_mon && m_clustermap_tmp) m_clustermap_mon->Fill2DMon(m_clustermap_tmp);
+      if (m_doRefresh) {
+	if (m_clustermap_mon && m_clustermap_tmp) m_clustermap_mon->Fill2DMon(m_clustermap_tmp);
      }
-   }      
-
-
-   if(m_clusters_per_lumi)m_clusters_per_lumi->Fill(m_manager->lumiBlockNumber(), nclusters); 
-   //if(m_clusters_per_lumi_PIX)m_clusters_per_lumi_PIX->Fill(m_manager->lumiBlockNumber(),nclusters-nclusters_IBL); 
-   for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-      if(m_clusters_per_lumi_mod[i]) m_clusters_per_lumi_mod[i]->Fill( m_manager->lumiBlockNumber(), nclusters_mod[i]);
-      if(m_doOnTrack || m_doOnPixelTrack) { 
-        if(m_clusters_per_track_per_lumi_mod[i] && m_ntracksPerEvent>0) m_clusters_per_track_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(), (1.0*nclusters_mod[i])/(1.0*m_ntracksPerEvent));
-      }
-   }
-
-   if(m_largeclusters_per_lumi)m_largeclusters_per_lumi->Fill(m_manager->lumiBlockNumber(), nlargeclusters); 
-   if(m_verylargeclusters_per_lumi)m_verylargeclusters_per_lumi->Fill(m_manager->lumiBlockNumber(),nverylargeclusters); 
-   if((nclusters>=1000) && m_highNclusters_per_lumi) m_highNclusters_per_lumi->Fill(m_manager->lumiBlockNumber()); 
-   if (m_doOnTrack || m_doOnPixelTrack) {
-     if(m_clustersOnOffTrack_per_lumi && nclusters_all>0) m_clustersOnOffTrack_per_lumi->Fill(m_manager->lumiBlockNumber(),(float)nclusters_ontrack/nclusters_all); 
-   }
-
-   ////Fill some histograms only if =< 50% of modules disabled
-   if (!m_majorityDisabled) {
-     
-      if(m_num_clusters) m_num_clusters->Fill(nclusters);
-      if(m_num_clusters_low) m_num_clusters_low->Fill(nclusters);
-      
-      for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-         if(m_num_clusters_mod[i]) m_num_clusters_mod[i]->Fill( nclusters_mod[i] );
-      }
-
-      if(m_cluster_occupancy_time1&&m_cluster_occupancy_time2&&m_cluster_occupancy_time3) FillTimeHisto(double(nclusters/(1744.0+280*m_doIBL)),m_cluster_occupancy_time1, m_cluster_occupancy_time2, m_cluster_occupancy_time3,10.,60.,360. );
-      if(m_doLumiBlock && m_num_clusters_LB) m_num_clusters_LB->Fill(nclusters);
-      if(m_doLumiBlock && m_num_clusters_low_LB) m_num_clusters_low_LB->Fill(nclusters);
-     
-      if (m_doModules)
+    }      
+  
+
+  if (m_clusters_per_lumi)m_clusters_per_lumi->Fill(m_manager->lumiBlockNumber(), nclusters); 
+  //if(m_clusters_per_lumi_PIX)m_clusters_per_lumi_PIX->Fill(m_manager->lumiBlockNumber(),nclusters-nclusters_IBL); 
+  for ( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
+    if (m_clusters_per_lumi_mod[i]) m_clusters_per_lumi_mod[i]->Fill( m_manager->lumiBlockNumber(), nclusters_mod[i]);
+    if (m_doOnTrack || m_doOnPixelTrack) { 
+      if (m_clusters_per_track_per_lumi_mod[i] && m_ntracksPerEvent>0) m_clusters_per_track_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(), (1.0*nclusters_mod[i])/(1.0*m_ntracksPerEvent));
+    }
+  }
+  
+  if (m_largeclusters_per_lumi)m_largeclusters_per_lumi->Fill(m_manager->lumiBlockNumber(), nlargeclusters); 
+  if (m_verylargeclusters_per_lumi)m_verylargeclusters_per_lumi->Fill(m_manager->lumiBlockNumber(),nverylargeclusters); 
+  if ((nclusters>=1000) && m_highNclusters_per_lumi) m_highNclusters_per_lumi->Fill(m_manager->lumiBlockNumber()); 
+  if (m_doOnTrack || m_doOnPixelTrack) {
+    if (m_clustersOnOffTrack_per_lumi && nclusters_all>0) m_clustersOnOffTrack_per_lumi->Fill(m_manager->lumiBlockNumber(),(float)nclusters_ontrack/nclusters_all); 
+  }
+  
+  /// Fill some histograms only if =< 50% of modules disabled
+  ///
+  if (!m_majorityDisabled) {
+    
+    if (m_num_clusters) m_num_clusters->Fill(nclusters);
+    //if(m_num_clusters_low) m_num_clusters_low->Fill(nclusters);
+    
+    for ( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
+      if (m_num_clusters_mod[i]) m_num_clusters_mod[i]->Fill( nclusters_mod[i] );
+    }
+    
+    if (m_cluster_occupancy_time1&&m_cluster_occupancy_time2&&m_cluster_occupancy_time3) FillTimeHisto(double(nclusters/(1744.0+280*m_doIBL)),m_cluster_occupancy_time1, m_cluster_occupancy_time2, m_cluster_occupancy_time3,10.,60.,360. );
+    if (m_doLumiBlock && m_num_clusters_LB) m_num_clusters_LB->Fill(nclusters);
+    
+    if (m_doModules)
       {
-	      PixelID::const_id_iterator idIt       = m_pixelid->wafer_begin();
-	      PixelID::const_id_iterator idItEnd    = m_pixelid->wafer_end();
-	      for (; idIt != idItEnd; ++idIt) 
+	PixelID::const_id_iterator idIt       = m_pixelid->wafer_begin();
+	PixelID::const_id_iterator idItEnd    = m_pixelid->wafer_end();
+	for (; idIt != idItEnd; ++idIt) 
+	  {
+	    Identifier WaferID = *idIt;
+	    if (m_pixelid->barrel_ec(WaferID)==2 ) m_cluster_num_mod->Fill( m_ClusPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	    if (m_pixelid->barrel_ec(WaferID)==-2) m_cluster_num_mod->Fill( m_ClusPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	    if (m_pixelid->barrel_ec(WaferID)==0 )                                                                                                                                       
 	      {
-	         Identifier WaferID = *idIt;
-	         if(m_pixelid->barrel_ec(WaferID)==2 ) m_cluster_num_mod->Fill( m_ClusPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	         if(m_pixelid->barrel_ec(WaferID)==-2) m_cluster_num_mod->Fill( m_ClusPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	         if(m_pixelid->barrel_ec(WaferID)==0 )                                                                                                                                       
-	         {
-		         if(m_doIBL && m_pixelid->layer_disk(WaferID)==0) m_cluster_num_mod->Fill( m_ClusPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
-		         if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) m_cluster_num_mod->Fill( m_ClusPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		         if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_cluster_num_mod->Fill( m_ClusPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		         if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_cluster_num_mod->Fill( m_ClusPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-	         }  
-	         if (m_doLumiBlock) {
-	            if(m_pixelid->barrel_ec(WaferID)==2 ) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	            if(m_pixelid->barrel_ec(WaferID)==-2) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	            if(m_pixelid->barrel_ec(WaferID)==0 )                                                                                                                                       
-		         {
-		            if(m_doIBL && m_pixelid->layer_disk(WaferID)==0) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
-		            if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		            if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		            if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		         }  
-	         }
-	      }
+		if (m_doIBL && m_pixelid->layer_disk(WaferID)==0) m_cluster_num_mod->Fill( m_ClusPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
+		if (m_pixelid->layer_disk(WaferID)==0+m_doIBL) m_cluster_num_mod->Fill( m_ClusPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+		if (m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_cluster_num_mod->Fill( m_ClusPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+		if (m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_cluster_num_mod->Fill( m_ClusPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+	      }   
+	    if (m_doLumiBlock) {
+	      if (m_pixelid->barrel_ec(WaferID)==2 ) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	      if (m_pixelid->barrel_ec(WaferID)==-2) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	      if (m_pixelid->barrel_ec(WaferID)==0 )                                                                                                                                       
+		{
+		  if (m_doIBL && m_pixelid->layer_disk(WaferID)==0) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
+		  if (m_pixelid->layer_disk(WaferID)==0+m_doIBL) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+		  if (m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+		  if (m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_cluster_num_mod_LB->Fill( m_ClusPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+		}  
+	    }
+	  }
       }
-   }
-   ////////////////////End fill after event block///////////
-   if(nclusters==0 && m_storegate_errors) m_storegate_errors->Fill(3.,4.);//first entry for RDO, second for size = 0
-
-   return StatusCode::SUCCESS;
+  } //if (!m_majorityDisabled)
+  ////////////////////End fill after event block///////////
+  if (nclusters==0 && m_storegate_errors) m_storegate_errors->Fill(3.,4.);//first entry for RDO, second for size = 0
+  
+  return StatusCode::SUCCESS;
 }
 
 
 StatusCode PixelMainMon::ProcClustersMon(void)
 {
-   if(m_doOffline) //run these only for offline
-   {
-      //FillSummaryHistos(m_cluster_occupancy,m_ecA_cluster_occupancy_summary,m_ecC_cluster_occupancy_summary,m_bar_layI_cluster_occupancy_summary,m_bar_lay0_cluster_occupancy_summary,m_bar_lay1_cluster_occupancy_summary,m_bar_lay2_cluster_occupancy_summary);
+  if (m_doOffline)
+    {
       FillSummaryHistos(m_cluster_occupancy,
                         m_cluster_occupancy_summary_mod[PixLayer::kECA],
                         m_cluster_occupancy_summary_mod[PixLayer::kECC],
@@ -971,21 +783,13 @@ StatusCode PixelMainMon::ProcClustersMon(void)
                         m_cluster_occupancy_summary_mod[PixLayer::kB0],
                         m_cluster_occupancy_summary_mod[PixLayer::kB1],
                         m_cluster_occupancy_summary_mod[PixLayer::kB2]);
-      FillSummaryHistos(m_cluster_occupancy,
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kECA],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kECC],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kIBL],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kB0],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kB1],
-                        m_cluster_occupancy_summary_low_mod[PixLayer::kB2]);
-      //FillSummaryHistos(m_cluster_occupancy,m_ecA_cluster_occupancy_summary_low,m_ecC_cluster_occupancy_summary_low,m_bar_layI_cluster_occupancy_summary_low,m_bar_lay0_cluster_occupancy_summary_low,m_bar_lay1_cluster_occupancy_summary_low,m_bar_lay2_cluster_occupancy_summary_low);
-   }
+    }
    
-   double events = m_event;
-   if(events==0) return StatusCode::SUCCESS; //if no events, the rest of the test is pointless and would divide by 0
-   if( m_event != m_event2) events = m_event2;
-
-   return StatusCode::SUCCESS;
+  double events = m_event;
+  if (events==0) return StatusCode::SUCCESS; //if no events, the rest of the test is pointless and would divide by 0
+  if ( m_event != m_event2) events = m_event2;
+  
+  return StatusCode::SUCCESS;
 }
 
 
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/DBMMon2DMaps.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/DBMMon2DMaps.cxx
index de1cd83d04e3af0adffba121b07242ec42108c39..c4fcfb3cbb7aae754ad2f3141159891f485990da 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/DBMMon2DMaps.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/DBMMon2DMaps.cxx
@@ -93,5 +93,6 @@ StatusCode DBMMon2DMaps::regHist(ManagedMonitorToolBase::MonGroup &group)
    StatusCode sc = StatusCode::SUCCESS;
    if (group.regHist(DBMA).isFailure()) sc = StatusCode::FAILURE;
    if (group.regHist(DBMC).isFailure()) sc = StatusCode::FAILURE;
+  
    return sc;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Errors.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Errors.cxx
index 2872a11c42cf447e4892d478128ac0e2181baa80..f2f57f5ba278afa51b83707e9e968dbc3adfc194 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Errors.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Errors.cxx
@@ -7,16 +7,10 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 #include "PixelMonitoring/PixelMainMon.h"
-//#include "InDetRawData/InDetTimeCollection.h"
-//#include "TrkSpacePoint/SpacePointContainer.h"
-//#include "InDetPrepRawData/PixelClusterContainer.h"         
-//#include "TrkParameters/MeasuredAtaPlane.h"
-//#include "TrkParameters/MeasuredPerigee.h"
-//#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
 #include "PixelConditionsServices/IPixelByteStreamErrorsSvc.h"
 #include "InDetIdentifier/PixelID.h"
-#include "TH1F.h"   
-#include "TH1I.h"   
+#include "TH1F.h"
+#include "TH1I.h"
 #include "TH2F.h"
 #include "TH3F.h"
 #include "TH2I.h"
@@ -30,11 +24,7 @@
 #include "LWHists/TProfile2D_LW.h"
 #include <sstream>
 
-//#include "InDetRawData/InDetRawDataContainer.h"
-//#include "InDetRawData/InDetRawDataCLASS_DEF.h" 
-//#include "TrkTrack/TrackCollection.h"            
 #include "InDetReadoutGeometry/SiDetectorElement.h"
-//#include "TrkTrackSummary/TrackSummary.h"
 #include "PixelMonitoring/PixelMon2DMapsLW.h"
 #include "PixelMonitoring/PixelMonModules.h"
 #include "PixelMonitoring/PixelMon2DLumiMaps.h"
@@ -47,46 +37,84 @@
 
 StatusCode PixelMainMon::BookRODErrorMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Errors" << endmsg;  
+   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "starting Book Errors" << endmsg;
 
-   /// Set the paths and a group of histograms
    std::string path = "Pixel/Errors";
    std::string path2 = "Pixel/ErrorsExpert";
-   if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/ErrorsOnTrack");
-   if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/ErrorsOnPixelTrack");
-   MonGroup rodHistos( this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms
-   MonGroup rodExpert( this, path2.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms
-
-   /// error label
-   static const int nerror = ErrorCategory::COUNT;
-   static const int nerror_modrod = ErrorCategoryMODROD::COUNT;
-   const std::string errorType[nerror_modrod] = {"SyncErrors_Mod", "SyncErrors_ROD", "TruncErrors_Mod", "TruncErrors_ROD", "OpticalErrors_RODMod", "SEUErrors_RODMod", "TimeoutErrors_RODMod"};
-   const std::string errorType2[nerror_modrod] = {"SyncErrors_Mod", "SyncErrors_ROD", "TruncErrors_Mod", "TruncErrors_ROD", "Preamble/headerErrors", "SEUErrors", "TimeoutErrors"};
-   const std::string errorCategory[nerror] = {"SyncErrors", "TruncErrors", "OpticalErrors", "SEUErrors", "TimeoutErrors"};
-   const std::string errorCategory2[nerror] = {"SyncErrors", "TruncErrors", "Preamble/headerErrors", "SEUErrors", "TimeoutErrors"};
-   
-   /// module label
-   static const int nlayers = PixLayer::COUNT;
-   static const int nlayersIBL2d3d = PixLayerIBL2D3D::COUNT;
-   const std::string modlabel2[nlayersIBL2d3d] = {"ECA", "ECC", "B0", "B1", "B2", "IBL", "IBL2D", "IBL3D"};
-
-   unsigned int  nmod_eta[nlayers] = {3, 3, 13, 13, 13, 32};
-   //float min_eta[nlayers] = {-0.5, -0.5, -6.5, -6.5, -6.5, -16.5};
-   //float max_eta[nlayers] = {2.5, 3.5, 6.5, 6.5, 6.5, 15.5};
-
-   /// Set the number of bins, max/min bin
-   std::string atext_LB = ";lumi block"; 
-   std::string atext_err = ";# errors/event"; 
-   std::string atext_erf = ";# errors/module/event"; 
-   std::string atext_erb = ";Error bit"; 
-   std::string atext_ers = ";Error state"; 
-   std::string axisTitle_LB = ";lumi block;# errors/event";
-   std::string axisTitle_ES = ";Error State;# Errors";
+   if (m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/ErrorsOnTrack");
+   if (m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/ErrorsOnPixelTrack");
+   MonGroup rodHistos(this, path.c_str(), run, ATTRIB_MANAGED); //declare a group of histograms
+   MonGroup rodExpert(this, path2.c_str(), run, ATTRIB_MANAGED); //declare a group of histograms
+
+   const std::array <std::pair <std::string, std::string>, kNumErrorStates > error_state_labels = {{
+       std::make_pair("Mod_Sync_BCID1_errors",         "Synchronization Module BCID1 errors"),
+       std::make_pair("Mod_Sync_BCID2_errors",         "Synchronization Module BCID2 errors"),
+       std::make_pair("Mod_Sync_LVL1ID_errors",        "Synchronization Module LVL1ID errors"),
+       std::make_pair("ROD_Sync_BCID_errors",          "Synchronization ROD BCID errors"),
+       std::make_pair("ROD_Sync_LVL1ID_errors",        "Synchronization ROD LVL1ID errors"),
+       std::make_pair("Mod_Trunc_EOC_errors",          "Truncation Module EOC errors"),
+       std::make_pair("Mod_Trunc_Hit_Overflow_errors", "Truncation Module Hit Overflow errors"),
+       std::make_pair("Mod_Trunc_EoE_Overflow_errors", "Truncation Module EoE Overflow errors"),
+       std::make_pair("ROD_Trunc_HT_Limit_errors",     "Truncation ROD H/T Limit errors"),
+       std::make_pair("ROD_Trunc_ROD_OF_errors",       "Truncation ROD Overflow errors"),
+       std::make_pair("Optical_Errors",                "Preamble/header Errors"),
+       std::make_pair("SEU_Hit_Parity",                "SEU Hit Parity errors"),
+       std::make_pair("SEU_Register_Parity",           "SEU Register Parity errors"),
+       std::make_pair("SEU_Hamming",                   "SEU Hamming Code errors"),
+       std::make_pair("ROD_Timeout",                   "ROD Formatter Timeout errors"),
+       std::make_pair("FE_Warning",                    "FE Warning errors"),
+     }};
+
+   const char * errorBitsPIX[kNumErrorBits] = {
+                                    "ROD Trunc FIFO Overflow",   "ROD Trunc H/T Limit",       "2",                 "3",
+                                    "Module Trunc EoC",          "SEU Hit Parity",            "SEU Reg Parity",    "SEU Hamming Code",
+                                    "FE Warning (Bit Flip)",     "9",                         "10",                "11",
+                                    "Module Trunc Hit Overflow", "Module Trunc EoE Overflow", "Module Sync BCID1", "Module Sync BCID2",
+                                    "Module Sync LVL1ID",        "17",                        "18",                "19",
+                                    "ROD Sync BCID",             "ROD Sync LVL1ID",           "Timeout",           "Optical",
+                                    "24",                        "25",                        "26",                "27",
+                                    "28",                        "29",                        "30",                "31"
+   };
+
+   const char* errorBitsIBL[kNumErrorBits] = {
+                                   "Row/ Column Error", "Limit Error",          "Timeout Error",       "BCID Error",
+                                   "LVL1ID Error",      "Preamble Error",       "Masked Link",         "Timeout Error",
+                                   "BCID counter",      "Hamming code 0",       "Hamming code 1",      "Hamming code 2",
+                                   "L1_in counter",     "L1 request counter",   "L1 register",         "L1 Trigger ID",
+                                   "readout processor", "Skipped trig counter", "Truncated event flag","Triple Redundant",
+                                   "Write reg data",    "Address error",        "Other CMD decoder",   "CMD decoder bit flip",
+                                   "CMD decoder SEU",   "Data bus address",     "Triple redundant",    "27",
+                                   "28",                "29",                   "30",                  "31"
+   };
+
+   const std::array <std::pair <std::string, std::string>, ErrorCategoryMODROD::COUNT> error_type_labels = {{
+       std::make_pair("SyncErrors_Mod",        "SyncErrors_Mod"),
+       std::make_pair("SyncErrors_ROD",        "SyncErrors_ROD"),
+       std::make_pair("TruncErrors_Mod",       "TruncErrors_Mod"),
+       std::make_pair("TruncErrors_ROD",       "TruncErrors_ROD"),
+       std::make_pair("OpticalErrors_RODMod",  "Preamble/headerErrors"),
+       std::make_pair("SEUErrors_RODMod",      "SEUErrors"),
+       std::make_pair("TimeoutErrors_RODMod",  "TimeoutErrors"),
+     }};
+
+   const std::array <std::pair <std::string, std::string>, ErrorCategory::COUNT> error_cat_labels = {{
+       std::make_pair("SyncErrors",     "SyncErrors"),
+       std::make_pair("TruncErrors",    "TruncErrors"),
+       std::make_pair("OpticalErrors",  "Preamble/headerErrors"),
+       std::make_pair("SEUErrors",      "SEUErrors"),
+       std::make_pair("TimeoutErrors",  "TimeoutErrors"),
+     }};
+
+   const std::string modlabel2[PixLayerIBL2D3D::COUNT] = {"ECA", "ECC", "B0", "B1", "B2", "IBL", "IBL2D", "IBL3D"};
+
+   unsigned int nmod_eta[PixLayer::COUNT] = {3, 3, 13, 13, 13, 32};
+
+   std::string atext_LB  = ";lumi block";
+   std::string atext_err = ";# errors/event";
+   std::string atext_erf = ";# errors/module/event";
+   std::string atext_erb = ";Error bit";
+   std::string atext_ers = ";Error state";
    int nbins_LB = m_lbRange; float minbin_LB = -0.5; float maxbin_LB = minbin_LB + (1.0*nbins_LB);
-   int nbins_ES = 32;   float minbin_ES = -0.5; float maxbin_ES = minbin_ES + (1.0*nbins_ES);
-   std::string tmp;
-   std::string tmp2;
-   std::string tmp3[nerror] = {"SyncErrorsFrac_per_event", "TruncationErrorsFrac_per_event", "OpticalErrorsFrac_per_event", "SEUErrorsFrac_per_event", "TimeoutErrorsFrac_per_event"};
    std::string hname;
    std::string htitles;
 
@@ -94,546 +122,390 @@ StatusCode PixelMainMon::BookRODErrorMon(void)
 
    hname = makeHistname("SyncErrors_per_lumi_PIX", false);
    htitles = makeHisttitle("Average Synchronization errors per event, PIXEL BARREL", (atext_LB+atext_err), false);
-   sc = rodHistos.regHist(m_SyncErrors_per_lumi_PIX = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
-
-   for( int i=0; i<nlayersIBL2d3d; i++){
-      hname = makeHistname(("errors_per_lumi_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Average number of errors per event, "+modlabel2[i]), (atext_LB+atext_err), false);
-      sc = rodHistos.regHist(m_errors_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
-
-      hname = makeHistname(("SyncErrors_per_lumi_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Average Synchronization errors per event, "+modlabel2[i]), (atext_LB+atext_err), false);
-      sc = rodHistos.regHist(m_SyncErrors_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
-
-      hname = makeHistname(("OpticalErrors_per_lumi_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Average Preamble/header errors per event, "+modlabel2[i]), (atext_LB+atext_err), false);
-      sc = rodHistos.regHist(m_OpticalErrors_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
+   sc = rodHistos.regHist(m_errhist_syncerr_LB_pix = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
 
-      hname = makeHistname(("SEUErrors_per_lumi_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Average SEU errors per event, "+modlabel2[i]), (atext_LB+atext_err), false);
-      sc = rodHistos.regHist(m_SEU_Errors_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
+   for (int i = 0; i < PixLayerIBL2D3D::COUNT; i++) {
+      for (int j = 0; j < ErrorCategory::COUNT; ++j) {
+         hname = makeHistname((error_cat_labels[j].first + "_per_lumi_" + modlabel2[i]), false);
+         htitles = makeHisttitle(("Average " + error_cat_labels[j].second + ", " + modlabel2[i]), (atext_LB+atext_err), false);
+         sc = rodHistos.regHist(m_errhist_errcat_LB[i][j] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
+      }
 
-      hname = makeHistname(("TruncationErrors_per_lumi_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Average Truncation errors per event, "+modlabel2[i]), (atext_LB+atext_err), false);
-      sc = rodHistos.regHist(m_TruncationErrors_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
+      for (int j = 0; j < ErrorCategoryMODROD::COUNT - 3; ++j) {
+         hname = makeHistname((error_type_labels[j].first + "_per_lumi_" + modlabel2[i]), false);
+         htitles = makeHisttitle(("Average " + error_type_labels[j].second + ", " + modlabel2[i]), (atext_LB+atext_err), false);
+         sc = rodHistos.regHist(m_errhist_errtype_LB[i][j] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
+      }
 
-      hname = makeHistname(("TimeoutErrors_per_lumi_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Average Timeout errors per event, "+modlabel2[i]), (atext_LB+atext_err), false);
-      sc = rodHistos.regHist(m_TimeoutErrors_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
+      hname = makeHistname(("errors_per_lumi_"+modlabel2[i]), false);
+      htitles = makeHisttitle(("Average number of errors per event, "+modlabel2[i]), (atext_LB+atext_err), false);
+      sc = rodHistos.regHist(m_errhist_tot_LB[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
 
       hname = makeHistname(("ErrorBit_per_lumi_"+modlabel2[i]), false);
       htitles = makeHisttitle(("Average Errors per module per event, "+modlabel2[i]), (atext_LB+atext_erb+atext_err), false);
-      sc = rodHistos.regHist(m_ErrorBit_per_lumi_mod[i] = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB, 31, 0., 31.));
-      m_ErrorBit_per_lumi_mod[i]->SetOption("colz");
+      sc = rodHistos.regHist(m_errhist_per_bit_LB[i] = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB, 31, 0., 31.));
+      m_errhist_per_bit_LB[i]->SetOption("colz");
 
       hname = makeHistname(("Error_per_lumi_"+modlabel2[i]), false);
       htitles = makeHisttitle(("Average Errors per module per event, "+modlabel2[i]), (atext_LB+atext_ers+atext_err), false);
-      sc = rodHistos.regHist(m_Error_per_lumi_mod[i] = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB, 7, 0., 7.));
-      m_Error_per_lumi_mod[i]->SetOption("colz");
-
-      for( int j=0; j<nerror; j++){
-         hname = makeHistname((tmp3[j]+"_"+modlabel2[i]), false);
-         htitles = makeHisttitle((tmp3[j]+", "+modlabel2[i]), (atext_LB+atext_erf), false);
-         sc = rodHistos.regHist(m_ErrorFraction_per_evt[j][i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
-      }
-   }
-   
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-   static const int nerrState = 16;
-   std::string histErrorName[nerrState][2];
-   histErrorName[0][0] = "Mod_Sync_BCID1_errors";         histErrorName[0][1] = "Synchronization Module BCID1 errors per event per LB";
-   histErrorName[1][0] = "Mod_Sync_BCID2_errors";         histErrorName[1][1] = "Synchronization Module BCID2 errors per event per LB";
-   histErrorName[2][0] = "Mod_Sync_LVL1ID_errors";        histErrorName[2][1] = "Synchronization Module LVL1ID errors per event per LB";
-   histErrorName[3][0] = "ROD_Sync_BCID_errors";          histErrorName[3][1] = "Synchronization ROD BCID errors per event per LB";
-   histErrorName[4][0] = "ROD_Sync_LVL1ID_errors";        histErrorName[4][1] = "Synchronization ROD LVL1ID errors per event per LB";
-   histErrorName[5][0] = "Mod_Trunc_EOC_errors";          histErrorName[5][1] = "Truncation Module EOC errors per event per LB";
-   histErrorName[6][0] = "Mod_Trunc_Hit_Overflow_errors"; histErrorName[6][1] = "Truncation Module Hit Overflow errors per event per LB";
-   histErrorName[7][0] = "Mod_Trunc_EoE_Overflow_errors"; histErrorName[7][1] = "Truncation Module EoE Overflow errors per event per LB";
-   histErrorName[8][0] = "ROD_Trunc_HT_Limit_errors";     histErrorName[8][1] = "Truncation ROD H/T Limit errors per event per LB";
-   histErrorName[9][0] = "ROD_Trunc_ROD_OF_errors";       histErrorName[9][1] = "Truncation ROD Overflow errors per event per LB";
-   histErrorName[10][0] = "Optical_Errors";               histErrorName[10][1]= "Preamble/header Errors per event per LB";
-   histErrorName[11][0] = "SEU_Hit_Parity";               histErrorName[11][1]= "SEU Hit Parity errors per event per LB";
-   histErrorName[12][0] = "SEU_Register_Parity";          histErrorName[12][1]= "SEU Register Parity errors per event per LB";
-   histErrorName[13][0] = "SEU_Hamming";                  histErrorName[13][1]= "SEU Hamming Code errors per event per LB";
-   histErrorName[14][0] = "ROD_Timeout";                  histErrorName[14][1]= "ROD Formatter Timeout errors per event per LB";
-   histErrorName[15][0] = "FE_Warning";                   histErrorName[15][1]= "FE Warning errors per event per LB";
-   for(int j=0; j<nerrState; j++){
-      for (int i=0; i<nlayers-1; i++) {
-         hname = makeHistname((histErrorName[j][0]+"_per_lumi_"+modlabel2[i]), false);
-         htitles = makeHisttitle(("Average "+histErrorName[j][1]+", "+modlabel2[i]), (atext_LB+atext_erf), false);
-         sc = rodExpert.regHist(m_errorStates_per_lumi_mod[i][j] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
-      }
-      bool errorHist = false;
-      hname = makeHistname((histErrorName[j][0]+"_Map"), false);
-      htitles = makeHisttitle((histErrorName[j][1]), (atext_LB+atext_erf), false);
-      m_ErrorStateMap[j] = new PixelMon2DMapsLW(hname.c_str(), htitles.c_str(), m_doIBL, errorHist);
-      sc = m_ErrorStateMap[j]->regHist(rodExpert, m_doIBL, errorHist);
-   }
-
-   for( int i=0; i<nlayers; i++){
-      hname = makeHistname(("Bad_Module_Errors_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("Errors for Bad Module, "+modlabel2[i]), (atext_LB+atext_erf), false);
-      sc = rodExpert.regHist(m_bad_mod_errors_mod[i]  = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_ES, minbin_ES, maxbin_ES));
-
-      //hname = makeHistname(("Errors_EtaID_"+modlabel2[i]), false);
-      //htitles = makeHisttitle(("Errors vs Eta Module ID, "+modlabel2[i]), ";eta module ID;Error State;# Errors", false);
-      //sc = rodExpert.regHist(m_errors_etaid_mod[i] = TH2F_LW::create(hname.c_str(), htitles.c_str(), nmod_eta[i], min_eta[i], max_eta[i], 32,-0.5,31.5));
-
-      //tmp = "Errors_EtaID_per_event_" + modlabel2[i];
-      //tmp2 = "Errors vs Eta Module ID/event, " + modlabel2[i] + m_histTitleExt + ";#eta module ID;Error State;# Errors";
-      //sc = rodExpert.regHist(m_errors_etaid_per_evt_mod[i] = TH2F_LW::create( tmp.c_str(), tmp2.c_str(), nmod_eta[i], min_eta[i], max_eta[i], 32,-0.5,31.5));
-   }
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-   const char * errorBitsPIX[32] = {"ROD Trunc FIFO Overflow",   "ROD Trunc H/T Limit",       "2",                 "3",
-                                    "Module Trunc EoC",          "SEU Hit Parity",            "SEU Reg Parity",    "SEU Hamming Code",
-                                    "FE Warning (Bit Flip)",     "9",                         "10",                "11",
-                                    "Module Trunc Hit Overflow", "Module Trunc EoE Overflow", "Module Sync BCID1", "Module Sync BCID2",
-                                    "Module Sync LVL1ID",        "17",                        "18",                "19",
-                                    "ROD Sync BCID",             "ROD Sync LVL1ID",           "Timeout",           "Optical",
-                                    "24",                        "25",                        "26",                "27",
-                                    "28",                        "29",                        "30",                "31"
-                                    };
-
+      sc = rodHistos.regHist(m_errhist_per_type_LB[i] = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB, 7, 0., 7.));
+      m_errhist_per_type_LB[i]->SetOption("colz");
 
-   const char* errorBitsIBL[32] = {"Row/ Column Error", "Limit Error",          "Timeout Error",       "BCID Error", 
-                                   "LVL1ID Error",      "Preamble Error",       "Masked Link",         "Timeout Error",
-                                   "BCID counter",      "Hamming code 0",       "Hamming code 1",      "Hamming code 2",
-                                   "L1_in counter",     "L1 request counter",   "L1 register",         "L1 Trigger ID",
-                                   "readout processor", "Skipped trig counter", "Truncated event flag","Triple Redundant",
-                                   "Write reg data",    "Address error",        "Other CMD decoder",   "CMD decoder bit flip",
-                                   "CMD decoder SEU",   "Data bus address",     "Triple redundant",    "27",
-                                   "28",                "29",                   "30",                  "31"
-                                   };
-
-   //const char *disk[3] = { "Disk 1", "Disk 2", "Disk 3" };
-   //const char *mod[13] = { "M6C", "M5C", "M4C", "M3C", "M2C", "M1C", "M0","M1A", "M2A", "M3A", "M4A", "M5A", "M6A" } ;
-   //const char *modIBL[32] = {"C8","","C7","",
-	//			                 "C6","","C5","",
-	//			                 "C4","","C3","",
-	//			                 "C2","","C1","",
-	//			                 "A1","","A2","",
-	//			                 "A3","","A4","",
-	//			                 "A5","","A6","",
-	//			                 "A7","","A8",""};
-
-   for(int i=0; i<nlayers; i++){
-      for( unsigned int x=1; x<=nmod_eta[i]; x++){
-         if(i == PixLayer::kECA || i == PixLayer::kECC){
-            //m_errors_etaid_mod[i]->GetXaxis()->SetBinLabel(x, disk[x-1]);
-            //m_errors_etaid_per_evt_mod[i]->GetXaxis()->SetBinLabel(x, disk[x-1]);
-         }
-         if(i >= PixLayer::kB0  && i <= PixLayer::kB2){
-            //m_errors_etaid_mod[i]->GetXaxis()->SetBinLabel(x, mod[x-1]);
-            //m_errors_etaid_per_evt_mod[i]->GetXaxis()->SetBinLabel(x, mod[x-1]);
+      if (i < PixLayerIBL2D3D::kIBL) {
+         for (unsigned int y = 1; y <= m_errhist_per_bit_LB[i]->GetYaxis()->GetNbins(); y++) {
+            m_errhist_per_bit_LB[i]->GetYaxis()->SetBinLabel(y, errorBitsPIX[y-1]);
          }
-         if(i == PixLayer::kIBL){
-            //m_errors_etaid_mod[i]->GetXaxis()->SetBinLabel(x, modIBL[x-1]);
-            //m_errors_etaid_per_evt_mod[i]->GetXaxis()->SetBinLabel(x, modIBL[x-1]);
+      } else {
+         for (unsigned int y = 1; y <= m_errhist_per_bit_LB[i]->GetYaxis()->GetNbins(); y++) {
+            m_errhist_per_bit_LB[i]->GetYaxis()->SetBinLabel(y, errorBitsIBL[y-1]);
          }
       }
-      for( unsigned int y=1; y<=32; y++){
-         if(i != PixLayer::kIBL){
-            //m_errors_etaid_mod[i]->GetYaxis()->SetBinLabel(y, errorBitsPIX[y-1]);
-            //m_errors_etaid_per_evt_mod[i]->GetYaxis()->SetBinLabel(y, errorBitsIBL[y-1]);
-         }else{
-            //m_errors_etaid_mod[i]->GetYaxis()->SetBinLabel(y, errorBitsIBL[y-1]);
-            //m_errors_etaid_per_evt_mod[i]->GetYaxis()->SetBinLabel(y, errorBitsPIX[y-1]);
-         }
-      }
-   }
-   for( int i=0; i<nlayersIBL2d3d; i++){
-      for( unsigned int y=1; y<=m_ErrorBit_per_lumi_mod[i]->GetYaxis()->GetNbins(); y++){
-         if( i < PixLayerIBL2D3D::kIBL )
-            m_ErrorBit_per_lumi_mod[i]->GetYaxis()->SetBinLabel(y, errorBitsPIX[y-1]);
-         else
-            m_ErrorBit_per_lumi_mod[i]->GetYaxis()->SetBinLabel(y, errorBitsIBL[y-1]);
-      }
-      for( unsigned int y=1; y<=m_Error_per_lumi_mod[i]->GetYaxis()->GetNbins(); y++){
-         if( i < PixLayerIBL2D3D::kIBL )
-            m_Error_per_lumi_mod[i]->GetYaxis()->SetBinLabel(y, errorType2[y-1].c_str());
-         else
-            m_Error_per_lumi_mod[i]->GetYaxis()->SetBinLabel(y, errorType2[y-1].c_str());
+
+      for (unsigned int y = 1; y <= m_errhist_per_type_LB[i]->GetYaxis()->GetNbins(); y++) {
+         m_errhist_per_type_LB[i]->GetYaxis()->SetBinLabel(y, error_type_labels[y-1].second.c_str());
       }
-   }
 
-   for( int j=0; j<nlayers; j++){
-      for (int i=0;i<32;i++){
-         if( j<PixLayer::kIBL ){
-            m_bad_mod_errors_mod[j]->GetXaxis()->SetBinLabel(i+1,errorBitsPIX[i]);
-         }else{
-            m_bad_mod_errors_mod[j]->GetXaxis()->SetBinLabel(i+1,errorBitsIBL[i]);
-         }
+      const std::string tmp[ErrorCategory::COUNT] = {"SyncErrorsFrac_per_event", "TruncationErrorsFrac_per_event", "OpticalErrorsFrac_per_event", "SEUErrorsFrac_per_event", "TimeoutErrorsFrac_per_event"};
+      for (int j = 0; j < ErrorCategory::COUNT; j++) {
+         hname = makeHistname((tmp[j]+"_"+modlabel2[i]), false);
+         htitles = makeHisttitle((tmp[j]+", "+modlabel2[i]), (atext_LB+atext_erf), false);
+         sc = rodHistos.regHist(m_errhist_errcat_avg[j][i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
       }
    }
 
-   if(m_doOnline)
-   {
-      tmp = "errors_over_time"; tmp2 = "Number of Errors as function of time over";
+   if (m_doOnline) {
+      const std::string tmp = "errors_over_time";
+      const std::string tmp2 = "Number of Errors as function of time over";
       int nbin = 99; float min = 0.0; float max = 1.0;
-      sc = rodHistos.regHist(m_error_time1 = new TProfile( (tmp + "_10min").c_str(), (tmp2 + " 10 minutes. 6 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), nbin, min, max, "i"));    
-      sc = rodHistos.regHist(m_error_time2 = new TProfile( (tmp + "_1hr").c_str(),   (tmp2 + " 1 hour.  36 sec/bin"   + m_histTitleExt + ";time;module occupancy").c_str(), nbin, min, max, "i"));    
-      sc = rodHistos.regHist(m_error_time3 = new TProfile( (tmp + "_6hr").c_str(),   (tmp2 + " 6 hours.  3.6 min/bin" + m_histTitleExt + ";time;module occupancy").c_str(), nbin, min, max, "i"));
+      sc = rodHistos.regHist(m_error_time1 = new TProfile((tmp + "_10min").c_str(), (tmp2 + " 10 minutes. 6 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), nbin, min, max, "i"));
+      sc = rodHistos.regHist(m_error_time2 = new TProfile((tmp + "_1hr").c_str(),   (tmp2 + " 1 hour.  36 sec/bin"   + m_histTitleExt + ";time;module occupancy").c_str(), nbin, min, max, "i"));
+      sc = rodHistos.regHist(m_error_time3 = new TProfile((tmp + "_6hr").c_str(),   (tmp2 + " 6 hours.  3.6 min/bin" + m_histTitleExt + ";time;module occupancy").c_str(), nbin, min, max, "i"));
    }
 
-   if (m_doModules)  
-   {
-      m_errors = new PixelMonModules1D("errors", ("Errors in module:ErrorType" + m_histTitleExt + ";Number of Errors").c_str(), 7,0.5,7.5,m_doIBL);
-      sc = m_errors->regHist(this,(path+"/ModulesErrors").c_str(),run,m_doIBL);
-      for(int k=0; k<7; k++) m_errors->SetBinLabel(errorType2[k].c_str(),k+1);
+   if (m_doModules) {
+      m_errors = new PixelMonModules1D("errors", ("Errors in module:ErrorType" + m_histTitleExt + ";Number of Errors").c_str(), 7, 0.5, 7.5, m_doIBL);
+      sc = m_errors->regHist(this, (path+"/ModulesErrors").c_str(), run, m_doIBL);
+      for (int k = 0; k < 7; k++) m_errors->SetBinLabel(error_type_labels[k].second.c_str(), k+1);
    }
 
-   if(m_do2DMaps && !m_doOnline)
-   {
-      for( int i=0; i<nerror_modrod; i++){
-         m_ErrorTypeMap[i] = new PixelMon2DMapsLW(errorType[i].c_str(), (errorType2[i] + m_histTitleExt).c_str(), m_doIBL, false);
-         sc = m_ErrorTypeMap[i]->regHist(rodHistos, m_doIBL, false);
+   if (m_do2DMaps && !m_doOnline) {
+      for (int i = 0; i < ErrorCategoryMODROD::COUNT - 3; i++) {
+         m_errhist_errtype_map[i] = new PixelMon2DMapsLW(error_type_labels[i].first, (error_type_labels[i].second + m_histTitleExt).c_str(), m_doIBL, false);
+         sc = m_errhist_errtype_map[i]->regHist(rodHistos, m_doIBL, false);
       }
-      for( int i=0; i<nerror; i++){
-         m_ErrorCategoryMap[i] = new PixelMon2DMapsLW( errorCategory[i].c_str(), (errorCategory2[i] + m_histTitleExt).c_str(), m_doIBL, false);
-         sc = m_ErrorCategoryMap[i]->regHist(rodHistos, m_doIBL, false);
+      for (int i = 0; i < ErrorCategory::COUNT; i++) {
+         m_errhist_errcat_map[i] = new PixelMon2DMapsLW(error_cat_labels[i].first.c_str(), (error_cat_labels[i].second + m_histTitleExt).c_str(), m_doIBL, false);
+         sc = m_errhist_errcat_map[i]->regHist(rodHistos, m_doIBL, false);
       }
+   }
 
-      //for (int i=0; i<nlayers-1; i++) {
-      for (int i=0; i<1; i++) {
-         for(int j=0; j<nerrState; j++){
-      tmp = histErrorName[j][0] + "_int_LB";
-      tmp2 = histErrorName[j][1] + m_histTitleExt;
-      m_errors_int_LB[j]  = new PixelMon2DLumiMaps( tmp.c_str(), tmp2.c_str(), "# Errors", m_doIBL, false);
-      sc = m_errors_int_LB[j]->regHist(rodExpert,m_doIBL, false);
-         }
+   if (m_do2DMaps && !m_doOnline) {
+      for (int j = 0; j < kNumErrorStates; j++) {
+         m_errhist_expert_LB_maps[j]  = new PixelMon2DLumiMaps(error_state_labels[j].first + "_int_LB", error_state_labels[j].second + " per event per LB" + m_histTitleExt, "# Errors", m_doIBL, false);
+         sc = m_errhist_expert_LB_maps[j]->regHist(rodExpert, m_doIBL, false);
       }
+   }
 
+   for (int j = 0; j < kNumErrorStates; j++) {
+      for (int i = 0; i < PixLayer::COUNT - 1; i++) {
+         hname = makeHistname((error_state_labels[j].first+"_per_lumi_"+modlabel2[i]), false);
+         htitles = makeHisttitle(("Average "+error_state_labels[j].second+" per event per LB, "+modlabel2[i]), (atext_LB+atext_erf), false);
+         sc = rodExpert.regHist(m_errhist_expert_LB[i][j] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB));
+      }
+      hname = makeHistname((error_state_labels[j].first+"_Map"), false);
+      htitles = makeHisttitle((error_state_labels[j].second + " per event per LB"), "", false);
+      m_errhist_expert_maps[j] = new PixelMon2DMapsLW(hname.c_str(), htitles.c_str(), m_doIBL, false);
+      sc = m_errhist_expert_maps[j]->regHist(rodExpert, m_doIBL, false);
    }
 
-   hname = makeHistname("ServiceRecord_Unweighted_IBL_", false);
+   hname = makeHistname("ServiceRecord_Unweighted_IBL", false);
    htitles = makeHisttitle("ServiceRecord Unweighted,_IBL", ";SR;Count", false);
-   sc = rodExpert.regHist(m_errors_ServiceRecordUnweight_IBL = TH1F_LW::create(hname.c_str(), htitles.c_str(), 32, -0.5, 31.5));
+   sc = rodExpert.regHist(m_errhist_expert_servrec_ibl_unweighted = TH1F_LW::create(hname.c_str(), htitles.c_str(), 32, -0.5, 31.5));
 
-   hname = makeHistname("ServiceRecord_Weighted_IBL_", false);
+   hname = makeHistname("ServiceRecord_Weighted_IBL", false);
    htitles = makeHisttitle("ServiceRecord Weighted,_IBL", ";SR;Count", false);
-   sc = rodExpert.regHist(m_errors_ServiceRecordWeight_IBL = TH1F_LW::create(hname.c_str(), htitles.c_str(), 32, -0.5, 31.5));
+   sc = rodExpert.regHist(m_errhist_expert_servrec_ibl_weighted = TH1F_LW::create(hname.c_str(), htitles.c_str(), 32, -0.5, 31.5));
 
-   for (int i=0;i<32;i++){
-     if(m_errors_ServiceRecordUnweight_IBL) m_errors_ServiceRecordUnweight_IBL->GetXaxis()->SetBinLabel(i+1,errorBitsIBL[i]);
-     if(m_errors_ServiceRecordWeight_IBL) m_errors_ServiceRecordWeight_IBL->GetXaxis()->SetBinLabel(i+1,errorBitsIBL[i]);
+   hname = makeHistname("ServiceRecord_Count_IBL", false);
+   htitles = makeHisttitle("ServiceRecord Count,_IBL", ";SR;Count", false);
+   sc = rodExpert.regHist(m_errhist_expert_servrec_ibl_count = TH1F_LW::create(hname.c_str(), htitles.c_str(), 100, -0.5, 99.5));
+
+   if (m_errhist_expert_servrec_ibl_unweighted) {
+      for (int i = 0; i < kNumErrorBits; i++) {
+         m_errhist_expert_servrec_ibl_unweighted->GetXaxis()->SetBinLabel(i+1, errorBitsIBL[i]);
+      }
    }
 
+   if (m_errhist_expert_servrec_ibl_weighted) {
+      for (int i = 0; i < kNumErrorBits; i++) {
+         m_errhist_expert_servrec_ibl_weighted->GetXaxis()->SetBinLabel(i+1, errorBitsIBL[i]);
+      }
+   }
 
-   for( int i=0; i<PixLayer::COUNT; i++){
-     hname   = makeHistname(("nFEswithTruncErr_"+m_modLabel_PixLayerIBL2D3D[i]), false);
-     htitles = makeHisttitle(("Number of FEs with FE EoC Trunc error, "+m_modLabel_PixLayerIBL2D3D[i]), ";lumi block;eta index of module;# FEs with errors in a module in an event;# event #times # modules", false);
-     sc = rodExpert.regHist(m_nFEswithTruncErr_mod[i] = new TH3F(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB, nmod_eta[i], -0.5, -0.5 + nmod_eta[i], 18, -0.5, 17.5));
+   for (int i = 0; i < PixLayer::COUNT; i++) {
+      hname   = makeHistname(("nFEswithTruncErr_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+      htitles = makeHisttitle(("Number of FEs with FE EoC Trunc error, "+m_modLabel_PixLayerIBL2D3D[i]), ";lumi block;eta index of module;# FEs with errors in a module in an event;# event #times # modules", false);
+      sc = rodExpert.regHist(m_errhist_expert_fe_trunc_err_3d[i] = new TH3F(hname.c_str(), htitles.c_str(), nbins_LB, minbin_LB, maxbin_LB, nmod_eta[i], -0.5, -0.5 + nmod_eta[i], 18, -0.5, 17.5));
    }
-   if(sc.isFailure()) if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;   
+   if (sc.isFailure() && msgLvl(MSG::WARNING))
+      msg(MSG::WARNING)  << "histograms not booked" << endmsg;
    return StatusCode::SUCCESS;
 }
 
 StatusCode PixelMainMon::BookRODErrorLumiBlockMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Errors for lowStat" << endmsg;  
-   
+   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "starting Book Errors for lowStat" << endmsg;
+
    std::string path = "Pixel/LumiBlock";
-   if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnTrack");
-   if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnPixelTrack");
-   MonGroup lumiBlockHist(   this, path.c_str(), lowStat, ATTRIB_MANAGED); //declare a group of histograms
+   if (m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnTrack");
+   if (m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnPixelTrack");
+   MonGroup lumiBlockHist(this, path.c_str(), lowStat, ATTRIB_MANAGED); //declare a group of histograms
 
    StatusCode sc;
-   
-   if (m_do2DMaps && !m_doOnline) {
-     m_errors_LB = new PixelMon2DMapsLW("Errors_LB", ("Errors" + m_histTitleExt).c_str(), m_doIBL, true);
-     sc = m_errors_LB->regHist(lumiBlockHist, m_doIBL, true);
 
-     m_errors_RODSync_mod = new PixelMon2DMapsLW("Errors_RODSync_LB",
-                                                ("Errors_RODSync" + m_histTitleExt).c_str(), m_doIBL, true);
-     sc = m_errors_RODSync_mod->regHist(lumiBlockHist, m_doIBL, true);
+   if (m_do2DMaps && !m_doOnline) {
+      m_errors_LB = new PixelMon2DMapsLW("Errors_LB", ("Errors" + m_histTitleExt).c_str(), m_doIBL, false);
+      sc = m_errors_LB->regHist(lumiBlockHist, m_doIBL, false);
 
-     m_errors_ModSync_mod = new PixelMon2DMapsLW("Errors_ModSync_LB",
-                                                ("Errors_ModSync" + m_histTitleExt).c_str(), m_doIBL, true);
-     sc = m_errors_ModSync_mod->regHist(lumiBlockHist, m_doIBL, true);
+      m_errors_RODSync_mod = new PixelMon2DMapsLW("Errors_RODSync_LB", ("Errors_RODSync" + m_histTitleExt).c_str(), m_doIBL, false);
+      sc = m_errors_RODSync_mod->regHist(lumiBlockHist, m_doIBL, false);
 
+      m_errors_ModSync_mod = new PixelMon2DMapsLW("Errors_ModSync_LB", ("Errors_ModSync" + m_histTitleExt).c_str(), m_doIBL, false);
+      sc = m_errors_ModSync_mod->regHist(lumiBlockHist, m_doIBL, false);
    }
-   
-   if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;   
+
+   if (sc.isFailure() && msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "histograms not booked" << endmsg;
    return StatusCode::SUCCESS;
 }
 
 StatusCode PixelMainMon::FillRODErrorMon(void)
 {
+   const int kLumiBlock = m_manager->lumiBlockNumber();
+   const int kNumFEs{16};
 
-   int LBnum = m_manager->lumiBlockNumber();
-   PixelID::const_id_iterator idIt     = m_pixelid->wafer_begin();
-   PixelID::const_id_iterator idItEnd  = m_pixelid->wafer_end();
-
-   const float nmodLayer[PixLayerIBL2D3D::COUNT] = {144., 144., 286., 494., 676., 280., 168., 112};
-
-   static const int nErrorBits = 32;
+   static constexpr int kNumModulesPhi[PixLayer::COUNT] = {48, 48, 22, 38, 52, 14};
+   static constexpr int kNumModulesEta[PixLayer::COUNT] = { 3,  3, 13, 13, 13, 20};
 
-   uint64_t errors=0;
-   //int nErrors_mod[PixLayer::COUNT]={0};
-   int nErrors_mod[PixLayerIBL2D3D::COUNT]={0};
-   //int nErrors_PIX=0;
+   // Error counters: total; errors by bit; errors by state (sync etc.)
+   int num_errors[PixLayerIBL2D3D::COUNT] = {0};
+   int num_errors_per_bit[PixLayerIBL2D3D::COUNT][kNumErrorBits] = {0};
+   int num_errors_per_state[PixLayer::COUNT - 1][kNumErrorStates] = {0}; // no IBL here
 
-   int nErrorBit_mod[PixLayerIBL2D3D::COUNT][nErrorBits] = {0};
-   int nErrors_cat_mod[PixLayer::COUNT-1][16] = {0};
-   
-   // iranai
-   //int nOtherRODErrors_IBL=0;
-   //int nChipErrors_IBL=0;
+   // Counter for erroneous modules on the layer, per error type and
+   // category (error cat. = error type w/o ROD/MOD distinction).
+   int num_errormodules_per_cat[PixLayerIBL2D3D::COUNT][ErrorCategory::COUNT] = {0};
+   int num_errormodules_per_type[PixLayerIBL2D3D::COUNT][ErrorCategoryMODROD::COUNT] = {0};
 
-   int nErrorsCategory_permod[PixLayerIBL2D3D::COUNT][ErrorCategory::COUNT] = {0};
-   //int nErrorsCategory_permod[ErrorCategory::COUNT][PixLayer::COUNT] = {0};
+   // Counter for erroneous FEs per module per layer.
+   int num_errorFEs_EA[kNumModulesPhi[PixLayer::kECA]][kNumModulesEta[PixLayer::kECA]][kNumFEs] = {0};
+   int num_errorFEs_EC[kNumModulesPhi[PixLayer::kECC]][kNumModulesEta[PixLayer::kECC]][kNumFEs] = {0};
+   int num_errorFEs_B0[kNumModulesPhi[PixLayer::kB0] ][kNumModulesEta[PixLayer::kB0] ][kNumFEs] = {0};
+   int num_errorFEs_B1[kNumModulesPhi[PixLayer::kB1] ][kNumModulesEta[PixLayer::kB1] ][kNumFEs] = {0};
+   int num_errorFEs_B2[kNumModulesPhi[PixLayer::kB2] ][kNumModulesEta[PixLayer::kB2] ][kNumFEs] = {0};
 
-   int nErrorTypes_mod[PixLayerIBL2D3D::COUNT][ErrorCategoryMODROD::COUNT];// = {0};
-
-   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
-      for( int j=0; j<ErrorCategoryMODROD::COUNT; j++){
-         nErrorTypes_mod[i][j] = 0;
-      }
-   }
-
-
-   static constexpr int nmod_phi[PixLayer::COUNT] = {48, 48, 22, 38, 52, 14};
-   static constexpr int nmod_eta[PixLayer::COUNT] = {3, 3, 13, 13, 13, 20};
-
-   int fewithErr_EA[ nmod_phi[PixLayer::kECA]][ nmod_eta[PixLayer::kECA]][16];
-   int fewithErr_EC[ nmod_phi[PixLayer::kECC]][ nmod_eta[PixLayer::kECC]][16];
-   int fewithErr_B0[ nmod_phi[PixLayer::kB0] ][ nmod_eta[PixLayer::kB0] ][16];
-   int fewithErr_B1[ nmod_phi[PixLayer::kB1] ][ nmod_eta[PixLayer::kB1] ][16];
-   int fewithErr_B2[ nmod_phi[PixLayer::kB2] ][ nmod_eta[PixLayer::kB2] ][16];
-   for(int i=0; i<PixLayer::COUNT; i++){
-      for( int phi=0; phi<nmod_phi[i]; phi++){
-         for(int eta=0; eta<nmod_eta[i]; eta++){
-           for(int j=0 ; j<16 ; j++){
-             if(i==PixLayer::kECA) fewithErr_EA[phi][eta][j]=0;
-             if(i==PixLayer::kECC) fewithErr_EC[phi][eta][j]=0;
-             if(i==PixLayer::kB0)  fewithErr_B0[phi][eta][j]=0;
-             if(i==PixLayer::kB1)  fewithErr_B1[phi][eta][j]=0;
-             if(i==PixLayer::kB2)  fewithErr_B2[phi][eta][j]=0;
-           }
-         }
-      }
-   }
+   PixelID::const_id_iterator idIt    = m_pixelid->wafer_begin();
+   PixelID::const_id_iterator idItEnd = m_pixelid->wafer_end();
 
    ///// Pixel ID Loop
-   for (; idIt != idItEnd; ++idIt) 
-   {
+   for (; idIt != idItEnd; ++idIt) {
       Identifier WaferID = *idIt;
-      IdentifierHash id_hash = m_pixelid->wafer_hash(WaferID); 
-      errors = m_ErrorSvc->getModuleErrors(id_hash);
-
-      bool isIBL=false;
-      //bool isError[16] = {false};
-      bool hasError[ErrorCategory::COUNT] = {false};
-      bool hasErrorMODROD[ErrorCategoryMODROD::COUNT] = {false};
-
-      if (m_ErrorSvc->isActive(id_hash) && m_pixelid->barrel_ec(WaferID)==0 && m_pixelid->layer_disk(WaferID)==0 && m_doIBL){isIBL=true;}
-      
-      int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_doIBL);
-      int pixlayeribl2d3d = 0;
-      if( pixlayer == PixLayerIBL2D3D::kIBL){
-         pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_pixelid->eta_module(WaferID), m_doIBL);
-      }
-
-      if(pixlayer == 99) continue;
+      IdentifierHash id_hash = m_pixelid->wafer_hash(WaferID);
+      const uint64_t kErrorWord = m_ErrorSvc->getModuleErrors(id_hash);
+
+      bool is_ibl = false;
+      if (m_ErrorSvc->isActive(id_hash) && m_pixelid->barrel_ec(WaferID) == 0 && m_pixelid->layer_disk(WaferID) == 0 && m_doIBL) is_ibl = true;
+
+      // Determine layer; functions return '99' for non-sensible IDs.
+      const int kLayer = GetPixLayerID(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_doIBL);
+      const int kLayerIBL = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_pixelid->eta_module(WaferID), m_doIBL);
+      if (kLayer == 99) continue;
+
+      // Boolean whether current module has an error of type/category.
+      bool has_err_cat[ErrorCategory::COUNT] = {false};
+      bool has_err_type[ErrorCategoryMODROD::COUNT] = {false};
+
+      for (unsigned int bit = 0; bit < kNumErrorBits; bit++) {
+         if ((kErrorWord & (static_cast<uint64_t>(1)<<bit)) != 0) {
+            num_errors[kLayer]++;
+            num_errors_per_bit[kLayer][bit]++;
+            if (kLayerIBL != 99) {
+               num_errors[kLayerIBL]++;
+               num_errors_per_bit[kLayerIBL][bit]++;
+            }
 
-      //for (unsigned int kBit=0; kBit<40; kBit++)
-      for (unsigned int kBit=0; kBit<nErrorBits; kBit++)
-      {
-         //if( (errors & (1<<kBit)) !=0 )
-         if( (errors & (static_cast<uint64_t>(1)<<kBit)) !=0 )
-         {
-            //m_errors_etaid_mod[pixlayer]->Fill( GetEtaID(WaferID, m_pixelid, m_doIBL, false), kBit);
-	         //TH2FSetBinScaled(m_errors_etaid_per_evt_mod[pixlayer], m_errors_etaid_mod[pixlayer], m_event);
+            int error_type = 0;
+            int error_cat = 0;
+
+            if (!is_ibl) {
+               if (bit == 14 || bit == 15 || bit == 16) error_type = 1;  // module synchronization errors   (14: BCID, 15: BCID. 16: LVL1ID)
+               if (bit == 20 || bit == 21)              error_type = 2;  // ROD synchronization errors      (20: BCID, 21: LVL1ID)
+               if (bit == 4  || bit == 12 || bit == 13) error_type = 3;  // module truncation errors        (4: EOC, 12: hit overflow, 13: EoE overflow)
+               if (bit == 0  || bit == 1)               error_type = 4;  // ROD truncation errors           (0: FIFO Overflow, 1: H/T Limit)
+               if (bit == 23)                           error_type = 5;  // optical errors                  (23: preamble (bitflip))
+               if (bit >= 5  && bit <= 7)               error_type = 6;  // SEU (single event upset) errors (5,6,7: hit parity, register parity, hammingcode)
+               if (bit == 22)                           error_type = 7;  // timeout errors                  (22: timeout on ROD formatter)
+            } else {
+               if (bit == 3  || bit == 4  || bit == 8)  error_type = 1;  // synchronization error   (3:LVL1ID, 4:BCID, 8:BCID counter error)
+               if (bit == 0 || bit == 18)               error_type = 3;  // module truncation error (0:Row/Column error, 18:Truncated event)
+               if (bit == 1)                            error_type = 4;  // ROD truncation error    (1:Limit error)
+               if (bit == 5)                            error_type = 5;  // optical error           (5:Preable error)
+               if (bit == 9 || bit == 10 || bit == 11 || bit == 19 || bit == 23 || bit == 24 || bit == 26) error_type = 6;  // SEU   (9,10,11: hammingcode, 19:Triple redundant, 23:Bit flip, 24:SEU, 26:Triple redundant)
+               if (bit == 2 || bit == 7)                error_type = 7;  // Timeout error           (2:Trailer timeout error, 7:readout timeout
+            }
 
+            if (error_type) { //if there were any errors we care about
+               if (error_type == 1 || error_type == 2) error_cat = ErrorCategory::kSync;
+               if (error_type == 3 || error_type == 4) error_cat = ErrorCategory::kTrunc;
+               if (error_type == 5) error_cat = ErrorCategory::kOpt;
+               if (error_type == 6) error_cat = ErrorCategory::kSeu;
+               if (error_type == 7) error_cat = ErrorCategory::kTout;
 
-  	         if (m_ErrorSvc->isActive(id_hash)&&!m_ErrorSvc->isGood(id_hash)){
-               m_bad_mod_errors_mod[pixlayer]->Fill(kBit);
-            }
+               if (m_errors) m_errors->Fill(error_type, WaferID, m_pixelid, m_doIBL);
 
-            nErrors_mod[pixlayer]++;
-            nErrorBit_mod[pixlayer][kBit]++;
-            if(pixlayeribl2d3d != 0){
-               nErrors_mod[pixlayeribl2d3d]++;
-               nErrorBit_mod[pixlayeribl2d3d][kBit]++;
-            }
+               if (m_doLumiBlock && m_errors_LB) {
+                  m_errors_LB->Fill(WaferID, m_pixelid, m_doIBL, true);
+               }
 
-            int ErrorType = 0;
-            int kErrorCategory = 0;
-	         /*
-             * if(kBit==20||kBit==21||kBit==14||kBit==16)ErrorType=1;
-             * if(kBit==23)ErrorType=2;
-             * if(kBit>=5&&kBit<=7)ErrorType=3;
-             * if(kBit==4||kBit==12||kBit==13||kBit==1||kBit==0)ErrorType=4;
-             * if(kBit==22)ErrorType=5;
-	          */
-	         if(!isIBL){
-	           if(kBit==14||kBit==15||kBit==16) ErrorType=1;  // module synchronization errors   (14: BCID, 15: BCID. 16: LVL1ID)
-	           if(kBit==20||kBit==21)           ErrorType=2;  // ROD synchronization errors      (20: BCID, 21: LVL1ID)
-	           if(kBit==4 ||kBit==12||kBit==13) ErrorType=3;  // module truncation errors        (4: EOC, 12: hit overflow, 13: EoE overflow)
-	           if(kBit==0 ||kBit==1 )           ErrorType=4;  // ROD truncation errors           (0: FIFO Overflow, 1: H/T Limit)
-	           if(kBit==23)                     ErrorType=5;  // optical errors                  (preamble (bitflip))
-	           if(kBit>=5 &&kBit<=7 )           ErrorType=6;  // SEU (single event upset) errors (hit parity, register parity, hammingcode)
-	           if(kBit==22)                     ErrorType=7;  // timeout errors                  (timeout on ROD formatter)
-	         }else{//CCC CCCC CCCC CCCC CCCC EPpl bzhv  
-	            if(kBit==3||kBit==4||kBit==8) ErrorType = 1;  // synchronization error   (3:LVL1ID, 4:BCID, 8:BCID counter error)
-	            if(kBit==0||kBit==18)         ErrorType = 3;  // module truncation error (0:Row/Column error, 18:Truncated event)
-	            if(kBit==1)                   ErrorType = 4;  // ROD truncation error    (1:Limit error)
-	            if(kBit==5)                   ErrorType = 5;  // optical error           (5:Preable error)
-	            if(kBit==9||kBit==10||kBit==11||kBit==19||kBit==23||kBit==24||kBit==26) ErrorType = 6;  // SEU   (9,10,11: hammingcode, 19:Triple redundant, 23:Bit flip, 24:SEU, 26:Triple redundant)
-	            if(kBit==2||kBit==7)          ErrorType = 7;  // Timeout error           (2:Trailer timeout error, 7:readout timeout
-	         }
-
-            if(ErrorType)//if there were any errors we care about
-            {
-               if(ErrorType == 1 || ErrorType == 2) kErrorCategory = ErrorCategory::kSync;
-               if(ErrorType == 3 || ErrorType == 4) kErrorCategory = ErrorCategory::kTrunc;
-               if(ErrorType == 5) kErrorCategory = ErrorCategory::kOpt;
-               if(ErrorType == 6) kErrorCategory = ErrorCategory::kSeu;
-               if(ErrorType == 7) kErrorCategory = ErrorCategory::kTout;
-
-               //if(m_errorTypes) m_errorTypes->Fill(ErrorType);
-               if(m_errors) m_errors->Fill(ErrorType, WaferID, m_pixelid, m_doIBL);
-
-               //fill all the 2d maps for each error type
-               if(m_ErrorTypeMap[ErrorType-1] && !m_doOnline) m_ErrorTypeMap[ErrorType-1]->Fill(WaferID,m_pixelid,m_doIBL, false);
-
-	            if(m_doLumiBlock){
-		            if(m_errors_LB) m_errors_LB->Fill(WaferID,m_pixelid,m_doIBL, true);
-	            }
-	       
-	            /// Count the each error
-               if( !hasErrorMODROD[ErrorType-1] ){
-                  nErrorTypes_mod[pixlayer][ErrorType-1]++;
-                  if(pixlayeribl2d3d != 0) nErrorTypes_mod[pixlayeribl2d3d][ErrorType-1]++;
-                  hasErrorMODROD[ErrorType-1] = true;
+               if (!has_err_type[error_type-1]) {
+                  if (m_errhist_errtype_map[error_type-1] && !m_doOnline) {
+                     m_errhist_errtype_map[error_type-1]->Fill(WaferID, m_pixelid, m_doIBL, false);
+                  }
+                  num_errormodules_per_type[kLayer][error_type-1]++;
+                  if (kLayerIBL != 99) num_errormodules_per_type[kLayerIBL][error_type-1]++;
+                  has_err_type[error_type-1] = true;
                }
-               if( !hasError[kErrorCategory] ){
-                  if(m_ErrorCategoryMap[kErrorCategory] && !m_doOnline) m_ErrorCategoryMap[kErrorCategory]->Fill(WaferID,m_pixelid,m_doIBL, false);
-                  nErrorsCategory_permod[pixlayer][kErrorCategory]++;
-                  if(pixlayeribl2d3d != 0) nErrorsCategory_permod[pixlayeribl2d3d][kErrorCategory]++;
-                  hasError[kErrorCategory] = true;
+               if (!has_err_cat[error_cat]) {
+                  if (m_errhist_errcat_map[error_cat] && !m_doOnline) {
+                     m_errhist_errcat_map[error_cat]->Fill(WaferID, m_pixelid, m_doIBL, false);
+                  }
+                  num_errormodules_per_cat[kLayer][error_cat]++;
+                  if (kLayerIBL != 99) {
+                     num_errormodules_per_cat[kLayerIBL][error_cat]++;
+                  }
+                  has_err_cat[error_cat] = true;
                }
 
-               ///
-               ///
-               ///
-               if( kBit==4 ){ /// EoC trunc error
-                 int fephi=0;
-                 int feeta=0;
-                 if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta) ){
-                   fewithErr_B0[m_pixelid->phi_module(WaferID)][(int)(fabs(6+m_pixelid->eta_module(WaferID)))][(int)((8*fephi)+feeta)] = 1;
-                 }
-                 if( pixlayer == PixLayer::kB1 && GetFEID( pixlayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta) ){
-                   fewithErr_B1[m_pixelid->phi_module(WaferID)][(int)(fabs(6+m_pixelid->eta_module(WaferID)))][(int)((8*fephi)+feeta)] = 1;
-                 }
-                 if( pixlayer == PixLayer::kB2 && GetFEID( pixlayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta) ){
-                   fewithErr_B2[m_pixelid->phi_module(WaferID)][(int)(fabs(6+m_pixelid->eta_module(WaferID)))][(int)((8*fephi)+feeta)] = 1;
-                 }
-                 if( pixlayer == PixLayer::kECA && GetFEID( pixlayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta) ){
-                   fewithErr_EA[m_pixelid->phi_module(WaferID)][(int)m_pixelid->layer_disk(WaferID)][(int)((8*fephi)+feeta)] = 1;
-                 }
-                 if( pixlayer == PixLayer::kECC && GetFEID( pixlayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta) ){
-                   fewithErr_EC[m_pixelid->phi_module(WaferID)][(int)m_pixelid->layer_disk(WaferID)][(int)((8*fephi)+feeta)] = 1;
-                 }
+               if (bit == 4) { /// EoC trunc error
+                  int fephi = 0;
+                  int feeta = 0;
+                  if (kLayer == PixLayer::kB0 && GetFEID(kLayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta)) {
+                     num_errorFEs_B0[m_pixelid->phi_module(WaferID)][(int)(fabs(6+m_pixelid->eta_module(WaferID)))][(int)((8*fephi)+feeta)] = 1;
+                  }
+                  if (kLayer == PixLayer::kB1 && GetFEID(kLayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta)) {
+                     num_errorFEs_B1[m_pixelid->phi_module(WaferID)][(int)(fabs(6+m_pixelid->eta_module(WaferID)))][(int)((8*fephi)+feeta)] = 1;
+                  }
+                  if (kLayer == PixLayer::kB2 && GetFEID(kLayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta)) {
+                     num_errorFEs_B2[m_pixelid->phi_module(WaferID)][(int)(fabs(6+m_pixelid->eta_module(WaferID)))][(int)((8*fephi)+feeta)] = 1;
+                  }
+                  if (kLayer == PixLayer::kECA && GetFEID(kLayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta)) {
+                     num_errorFEs_EA[m_pixelid->phi_module(WaferID)][(int)m_pixelid->layer_disk(WaferID)][(int)((8*fephi)+feeta)] = 1;
+                  }
+                  if (kLayer == PixLayer::kECC && GetFEID(kLayer, m_pixelid->phi_index(WaferID), m_pixelid->eta_index(WaferID), fephi, feeta)) {
+                     num_errorFEs_EC[m_pixelid->phi_module(WaferID)][(int)m_pixelid->layer_disk(WaferID)][(int)((8*fephi)+feeta)] = 1;
+                  }
                }
-               
-            } // End of if(ErrorType)
-           
-            if( getErrorCategory(kBit, isIBL) != 99 ){
-               nErrors_cat_mod[pixlayer][getErrorCategory(kBit, isIBL)]++;
-               if(m_ErrorStateMap[getErrorCategory(kBit, isIBL)])
-                  m_ErrorStateMap[getErrorCategory(kBit, isIBL)]->Fill(WaferID, m_pixelid, m_doIBL, true);
-               if( m_errors_int_LB[getErrorCategory(kBit, isIBL)])
-                  m_errors_int_LB[getErrorCategory(kBit, isIBL)]->Fill(LBnum,WaferID,m_pixelid,1,m_doIBL,true);
+            } // End of if(error_type)
+
+            if (getErrorState(bit, is_ibl) != 99) {
+               num_errors_per_state[kLayer][getErrorState(bit, is_ibl)]++;
+               if (m_errhist_expert_maps[getErrorState(bit, is_ibl)])
+                  m_errhist_expert_maps[getErrorState(bit, is_ibl)]->Fill(WaferID, m_pixelid, m_doIBL, true);
+               if (m_errhist_expert_LB_maps[getErrorState(bit, is_ibl)])
+                  m_errhist_expert_LB_maps[getErrorState(bit, is_ibl)]->Fill(kLumiBlock, WaferID, m_pixelid, 1, m_doIBL, true);
             }
 
-            if(pixlayer == PixLayer::kIBL){
-              if(kBit > 7){ // part of service record
-                if(m_errors_ServiceRecordUnweight_IBL) m_errors_ServiceRecordUnweight_IBL->Fill(kBit);
-                if(m_errors_ServiceRecordWeight_IBL)   m_errors_ServiceRecordWeight_IBL->Fill(kBit, m_ErrorSvc->getServiceRecordCount(kBit));
-              }
+            if (kLayer == PixLayer::kIBL) {
+               if (m_errhist_expert_servrec_ibl_unweighted) m_errhist_expert_servrec_ibl_unweighted->Fill(bit);
+               if (m_errhist_expert_servrec_ibl_weighted)   m_errhist_expert_servrec_ibl_weighted->Fill(bit, m_ErrorSvc->getServiceRecordCount(bit));
+               if (m_errhist_expert_servrec_ibl_count)    m_errhist_expert_servrec_ibl_count->Fill(m_ErrorSvc->getServiceRecordCount(bit));
             }
-         }//end bit shifting
-      }//end for loop over bits
-	   
-      if(m_doLumiBlock){
-		   if(m_errors_ModSync_mod && hasErrorMODROD[0]) m_errors_ModSync_mod->Fill(WaferID,m_pixelid,m_doIBL, true);
-		   if(m_errors_RODSync_mod && hasErrorMODROD[1]) m_errors_RODSync_mod->Fill(WaferID,m_pixelid,m_doIBL, true);
-	   }
+         } //end bit shifting
+      } //end for loop over bits
+
+      if (m_doLumiBlock) {
+         if (m_errors_ModSync_mod && has_err_type[0])
+            m_errors_ModSync_mod->Fill(WaferID, m_pixelid, m_doIBL, true);
+         if (m_errors_RODSync_mod && has_err_type[1])
+            m_errors_RODSync_mod->Fill(WaferID, m_pixelid, m_doIBL, true);
+      }
    } //end loop over all identifiers
- /// 
-   
-   double errorSum = 0;
-   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++) errorSum += nErrors_mod[i];
-   if(m_error_time1&&m_error_time2&&m_error_time3)FillTimeHisto(errorSum,  m_error_time1, m_error_time2, m_error_time3,10.,60.,360.);
-
-   for( int i=0; i<PixLayer::COUNT-1; i++){
-      for( int j=0; j<16; j++) {
-         if( m_errorStates_per_lumi_mod[i][j] ) m_errorStates_per_lumi_mod[i][j]->Fill(LBnum, nErrors_cat_mod[i][j]);
+
+
+   double total_errors = 0;
+   for (int i = 0; i < PixLayerIBL2D3D::COUNT; i++) total_errors += num_errors[i];
+   if (m_error_time1 && m_error_time2 && m_error_time3) {
+      FillTimeHisto(total_errors,  m_error_time1, m_error_time2, m_error_time3, 10., 60., 360.);
+   }
+
+   for (int i = 0; i < PixLayer::COUNT - 1; i++) {
+      for (int j = 0; j < kNumErrorStates; j++) {
+         if (m_errhist_expert_LB[i][j]) {
+            m_errhist_expert_LB[i][j]->Fill(kLumiBlock, (float) num_errors_per_state[i][j]/m_nActive_mod[i]);
+         }
       }
    }
 
-   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
-      for( int j=0; j<32; j++){
-         if(m_ErrorBit_per_lumi_mod[i] && nmodLayer[i] > 0) m_ErrorBit_per_lumi_mod[i]->Fill(LBnum, j, nErrorBit_mod[i][j]/nmodLayer[i]);
+   for (int i = 0; i < PixLayerIBL2D3D::COUNT; i++) {
+      if (m_errhist_per_bit_LB[i] && m_nActive_mod[i] > 0) {
+         for (int j = 0; j < kNumErrorBits; j++) {
+            m_errhist_per_bit_LB[i]->Fill(kLumiBlock, j, (float) num_errors_per_bit[i][j]/m_nActive_mod[i]);
+         }
       }
-      for( int j=0; j<ErrorCategoryMODROD::COUNT; j++){
-         if(m_Error_per_lumi_mod[i] && nmodLayer[i] > 0) m_Error_per_lumi_mod[i]->Fill(LBnum, j, nErrorTypes_mod[i][j]/nmodLayer[i]);
+      if (m_errhist_per_type_LB[i] && m_nActive_mod[i] > 0) {
+         for (int j = 0; j < ErrorCategoryMODROD::COUNT; j++) {
+            m_errhist_per_type_LB[i]->Fill(kLumiBlock, j, (float) num_errormodules_per_type[i][j]/m_nActive_mod[i]);
+         }
       }
    }
 
-   
-   for(int i=0; i<PixLayerIBL2D3D::COUNT; i++){
 
-      m_nActivAndSync_mod[i] = nErrorsCategory_permod[i][ErrorCategory::kSync];
-      if(i == PixLayerIBL2D3D::kIBL){
-         m_nActivAndSync_mod[i] = 2*nErrorsCategory_permod[PixLayerIBL2D3D::kIBL2D][ErrorCategory::kSync] + nErrorsCategory_permod[PixLayerIBL2D3D::kIBL3D][ErrorCategory::kSync];
+   for (int i = 0; i < PixLayerIBL2D3D::COUNT; i++) {
+      if (m_errhist_tot_LB[i]) m_errhist_tot_LB[i]->Fill(kLumiBlock, num_errors[i]);
+
+      for (int j = 0; j < ErrorCategory::COUNT; ++j) {
+         if (m_errhist_errcat_LB[i][j]) m_errhist_errcat_LB[i][j]->Fill(kLumiBlock, num_errormodules_per_cat[i][j]);
       }
 
-      if(m_errors_per_lumi_mod[i]) m_errors_per_lumi_mod[i]->Fill(LBnum, nErrors_mod[i]);
-      if(m_SyncErrors_per_lumi_mod[i]) m_SyncErrors_per_lumi_mod[i]->Fill(LBnum, nErrorsCategory_permod[i][ErrorCategory::kSync]);
-      if(m_OpticalErrors_per_lumi_mod[i]) m_OpticalErrors_per_lumi_mod[i]->Fill(LBnum, nErrorsCategory_permod[i][ErrorCategory::kOpt]);
-      if(m_SEU_Errors_per_lumi_mod[i]) m_SEU_Errors_per_lumi_mod[i]->Fill(LBnum, nErrorsCategory_permod[i][ErrorCategory::kSeu]);
-      if(m_TimeoutErrors_per_lumi_mod[i]) m_TimeoutErrors_per_lumi_mod[i]->Fill(LBnum, nErrorsCategory_permod[i][ErrorCategory::kTout]);
-      if(m_TruncationErrors_per_lumi_mod[i]) m_TruncationErrors_per_lumi_mod[i]->Fill(LBnum, nErrorsCategory_permod[i][ErrorCategory::kTrunc]);
+      for (int j = 0; j < ErrorCategoryMODROD::COUNT - 3; ++j) {
+         if (m_errhist_errtype_LB[i][j]) m_errhist_errtype_LB[i][j]->Fill(kLumiBlock, num_errormodules_per_type[i][j]);
+      }
 
-      for( int j=0; j<ErrorCategory::COUNT; j++){
-         if(m_ErrorFraction_per_evt[j][i] && nmodLayer[i] > 0) m_ErrorFraction_per_evt[j][i]->Fill(LBnum, nErrorsCategory_permod[i][j]/nmodLayer[i]);
+      for (int j = 0; j < ErrorCategory::COUNT; j++) {
+         if (m_errhist_errcat_avg[j][i] && m_nActive_mod[i] > 0) {
+            m_errhist_errcat_avg[j][i]->Fill(kLumiBlock, (float) num_errormodules_per_cat[i][j]/m_nActive_mod[i]);
+         }
       }
    }
-   if(m_SyncErrors_per_lumi_PIX) m_SyncErrors_per_lumi_PIX->Fill(LBnum, nErrorsCategory_permod[PixLayerIBL2D3D::kB0][ErrorCategory::kSync] + nErrorsCategory_permod[PixLayerIBL2D3D::kB1][ErrorCategory::kSync] + nErrorsCategory_permod[PixLayerIBL2D3D::kB2][ErrorCategory::kSync] );
-
-   ///
-   ///
-   ///
-   for(int i=0; i<PixLayer::COUNT; i++){
-     for( int phi=0; phi<nmod_phi[i]; phi++){
-       for(int eta=0; eta<nmod_eta[i]; eta++){
-         int nfes = 0;
-         for(int j=0 ; j<16 ; j++){
-           if(i==PixLayer::kECA) nfes += fewithErr_EA[phi][eta][j];
-           if(i==PixLayer::kECC) nfes += fewithErr_EC[phi][eta][j];
-           if(i==PixLayer::kB0)  nfes += fewithErr_B0[phi][eta][j];
-           if(i==PixLayer::kB1)  nfes += fewithErr_B1[phi][eta][j];
-           if(i==PixLayer::kB2)  nfes += fewithErr_B2[phi][eta][j];
+   if (m_errhist_syncerr_LB_pix) {
+      m_errhist_syncerr_LB_pix->Fill(kLumiBlock, num_errormodules_per_cat[PixLayerIBL2D3D::kB0][ErrorCategory::kSync]
+                                     + num_errormodules_per_cat[PixLayerIBL2D3D::kB1][ErrorCategory::kSync]
+                                     + num_errormodules_per_cat[PixLayerIBL2D3D::kB2][ErrorCategory::kSync]);
+   }
+
+   for (int i = 0; i < PixLayer::COUNT; i++) {
+      for (int phi = 0; phi < kNumModulesPhi[i]; phi++) {
+         for (int eta = 0; eta < kNumModulesEta[i]; eta++) {
+            int nfes = 0;
+            for (int j = 0; j < kNumFEs; j++) {
+               if (i == PixLayer::kECA) nfes += num_errorFEs_EA[phi][eta][j];
+               if (i == PixLayer::kECC) nfes += num_errorFEs_EC[phi][eta][j];
+               if (i == PixLayer::kB0)  nfes += num_errorFEs_B0[phi][eta][j];
+               if (i == PixLayer::kB1)  nfes += num_errorFEs_B1[phi][eta][j];
+               if (i == PixLayer::kB2)  nfes += num_errorFEs_B2[phi][eta][j];
+            }
+            if (m_errhist_expert_fe_trunc_err_3d[i]) m_errhist_expert_fe_trunc_err_3d[i]->Fill(m_manager->lumiBlockNumber(), eta, nfes);
          }
-         //std::cout << "DDDDD " << i << " " << phi << " " << eta << " " << nfes << std::endl;
-         if(m_nFEswithTruncErr_mod[i]) m_nFEswithTruncErr_mod[i]->Fill(m_manager->lumiBlockNumber(), eta, nfes);
-       }
-     }
+      }
    }
-      
+
    return StatusCode::SUCCESS;
 }
 
-int PixelMainMon::getErrorCategory(int bit, bool isibl)
+int PixelMainMon::getErrorState(int bit, bool isibl)
 {
    int erstate = 99;
-   if(!isibl){
-      switch( bit ){
+   if (!isibl) {
+      switch (bit) {
          case 14:
             erstate = 0; break;
          case 15:
@@ -669,7 +541,6 @@ int PixelMainMon::getErrorCategory(int bit, bool isibl)
          default:
             erstate = 99; break;
       }
-   }else{
    }
    return erstate;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/HelperFunctions.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/HelperFunctions.cxx
index 1238ef20b8af3b4778ebe282497dc6021e34fc0e..30dab39c7f6cf69556da9f905d0ff334fee924c0 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/HelperFunctions.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/HelperFunctions.cxx
@@ -484,7 +484,6 @@ int PixelMainMon::ParseDetailsString(std::string & detailsMod)
 
 bool PixelMainMon :: GetFEID( int pixlayer, int phiid, int etaid, int &oufephi, int &outfeeta)
 {
-   bool dodebug = false;
    bool isValid = true;
    int npixPerFe_phi, npixPerFe_eta;
    if( pixlayer == PixLayer::kECA || pixlayer == PixLayer::kECC) {
@@ -500,6 +499,5 @@ bool PixelMainMon :: GetFEID( int pixlayer, int phiid, int etaid, int &oufephi,
    }
    oufephi = phiid/npixPerFe_phi;
    outfeeta= etaid/npixPerFe_eta;
-   if(dodebug) std::cout << "pix phi id=" << phiid << "==> fe:" << oufephi << "  pix eta id=" << etaid << "==> fe:" << outfeeta << std::endl;
    return isValid;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Hits.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Hits.cxx
index d8bc4de2aec0cb250bc5268aee4f5c64c009c9f2..2553e3cb5f5db5ebc040007784266a344e678230 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Hits.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Hits.cxx
@@ -9,12 +9,6 @@
 #include "PixelMonitoring/PixelMainMon.h"
 #include "InDetRawData/InDetTimeCollection.h"
 #include "InDetConditionsSummaryService/IInDetConditionsSvc.h"
-//#include "TrkSpacePoint/SpacePointContainer.h"
-//#include "InDetPrepRawData/PixelClusterContainer.h"         
-//#include "TrkParameters/MeasuredAtaPlane.h"
-//#include "TrkParameters/MeasuredPerigee.h"
-//#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-//#include "PixelConditionsServices/IPixelByteStreamErrorsSvc.h"
 #include "InDetIdentifier/PixelID.h"
 #include "TH1F.h"   
 #include "TH1I.h"   
@@ -34,6 +28,7 @@
 #include "InDetRawData/InDetRawDataCLASS_DEF.h" 
 #include "PixelMonitoring/PixelMon2DMaps.h"
 #include "PixelMonitoring/PixelMon2DMapsLW.h"
+#include "PixelMonitoring/PixelMon2DProfilesLW.h"
 #include "PixelMonitoring/DBMMon2DMaps.h"
 #include "PixelMonitoring/PixelMonModules.h"
 #include "PixelMonitoring/PixelMon2DLumiProfiles.h"
@@ -102,6 +97,7 @@ StatusCode PixelMainMon::BookHitsMon(void)
    htitles = makeHisttitle("Average pixel occupancy ratio of IBL/B0 per event per LB", (atext_LB+";ratio"), false);
    sc = rdoShift.regHist(m_avgocc_ratioIBLB0_per_lumi = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
 
+
    for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){ // not include IBL2D and IBL3D
       hname = makeHistname(("Hits_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
       htitles = makeHisttitle(("Average number of pixel hits per event, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_hit), false);
@@ -127,9 +123,9 @@ StatusCode PixelMainMon::BookHitsMon(void)
       htitles = makeHisttitle(("Average pixel occupancy per BCID, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_BCID+atext_occ), false);
       sc = rdoExpert.regHist(m_avgocc_per_bcid_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_BCID, min_BCID, max_BCID));
 
-      hname = makeHistname(("AvgOcc_wSyncMod_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
-      htitles = makeHisttitle(("Average pixel occupancy for active and (good or sync) mod per event, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_occ), false);
-      sc = rdoExpert.regHist(m_avgocc_wSyncMod_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+      hname = makeHistname(("AvgOcc_active_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+      htitles = makeHisttitle(("Average pixel occupancy for active per event, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_occ), false);
+      sc = rdoExpert.regHist(m_avgocc_active_per_lumi_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
 
       hname = makeHistname(("MaxOcc_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
       htitles = makeHisttitle(("Max. pixel occupancy per event, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_occ), false);
@@ -146,6 +142,7 @@ StatusCode PixelMainMon::BookHitsMon(void)
       hname = makeHistname(("nLargeEvent_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
       htitles = makeHisttitle(("Number of large events (hitocc > 0.7#times 10^{-3}), "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_nevt), false);
       sc = rdoShift.regHist(m_nlargeevt_per_lumi_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+
    }
 
    for(int i=0; i<PixLayerIBL2D3DDBM::COUNT; i++){
@@ -158,30 +155,41 @@ StatusCode PixelMainMon::BookHitsMon(void)
       }
    }
    
-   if(m_doOnline)
-   {
-      m_hitmap_mon = new PixelMon2DMaps("HitMap_Mon", ("Hit map for monitoring" + m_histTitleExt).c_str()); sc = m_hitmap_mon->regHist(rdoShift);
-      m_hitmap_tmp = new PixelMon2DMaps("HitMap_tmp", ("Hit map for monitoring" + m_histTitleExt).c_str()); sc = m_hitmap_tmp->regHist(rdoShift);
-      
-      for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
+   m_hitmap_tmp = new PixelMon2DMaps("HitMap_tmp", ("Hit map for monitoring" + m_histTitleExt).c_str()); sc = m_hitmap_tmp->regHist(rdoShift);
+
+   for( int i=0; i<PixLayer::COUNT; i++){
+     hname   = makeHistname(("nFEswithHits_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+     htitles = makeHisttitle(("Number of FEs with hits, "+m_modLabel_PixLayerIBL2D3D[i]), ";lumi block;eta index of module;# FEs with hits in a module in an event;# event #times # modules", false);
+     sc = rdoExpert.regHist(m_nFEswithHits_mod[i] = new TH3F(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, nmod_eta[i], -0.5, -0.5 + nmod_eta[i], 18, -0.5, 17.5));
+   }
+     
+   if (m_doOnline)
+     {
+       sc = rdoShift.regHist(m_occupancy_time1= new TProfile("occupancy_time_10min", ("Module hit occupancy as function of time over 10 minutes. 6 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
+       sc = rdoShift.regHist(m_occupancy_time2= new TProfile("occupancy_time_1hr",   ("Module hit occupancy as function of time over 1 hour.  36 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
+       sc = rdoShift.regHist(m_occupancy_time3= new TProfile("occupancy_time_6hr",   ("Module hit occupancy as function of time over 6 hours.  3.6 min/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
+       
+       m_hitmap_mon = new PixelMon2DMaps("HitMap_Mon", ("Hit map for monitoring" + m_histTitleExt).c_str()); sc = m_hitmap_mon->regHist(rdoShift);
+       
+       for (int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
          hname = makeHistname(("Hit_ToT_Mon_"+m_modLabel_PixLayerIBL2D3D[i]), false);
          htitles = makeHisttitle(("Hit ToT Monitoring, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_nhit), false);
-         if( i<PixLayer::kIBL ){
-            sc = rdoExpert.regHist(m_hit_ToT_Mon_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot3, min_tot3, max_tot3));
-         }else{
-            sc = rdoExpert.regHist(m_hit_ToT_Mon_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot4, min_tot4, max_tot4));
+         if ( i<PixLayer::kIBL ){
+	   sc = rdoExpert.regHist(m_hit_ToT_Mon_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot3, min_tot3, max_tot3));
+         } else {
+	   sc = rdoExpert.regHist(m_hit_ToT_Mon_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot4, min_tot4, max_tot4));
          }
 
          hname = makeHistname(("Hit_ToT_tmp_"+m_modLabel_PixLayerIBL2D3D[i]), false);
          htitles = makeHisttitle(("Hit ToT tmp, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_tot+atext_nhit), false);
-         if( i<PixLayer::kIBL ){
-            sc = rdoExpert.regHist(m_hit_ToT_tmp_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot3, min_tot3, max_tot3));
-         }else{
-            sc = rdoExpert.regHist(m_hit_ToT_tmp_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot4, min_tot4, max_tot4));
+         if ( i<PixLayer::kIBL ){
+	   sc = rdoExpert.regHist(m_hit_ToT_tmp_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot3, min_tot3, max_tot3));
+         } else{
+	   sc = rdoExpert.regHist(m_hit_ToT_tmp_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_tot4, min_tot4, max_tot4));
          }
-      }
-   }
-
+       }
+     }
+   
    if(m_doModules && !m_doOnline){
       for( int i=0; i<PixLayer::COUNT; i++){
          tmp = "ToT_etaphi"; tmp2 = "Average Hit ToT Map"; atitles = ";Module eta;Module phi;Avg. ToT";
@@ -191,151 +199,135 @@ StatusCode PixelMainMon::BookHitsMon(void)
       }
    }
       
-   if(m_doTiming)
-   {
-      sc = timeExpert.regHist(m_Lvl1ID_PIX     = TH1I_LW::create("LvlID_PIX",  ("Level 1 ID (PIX)" + m_histTitleExt + ";level 1 ID" + atext_nhit).c_str(), 20,-0.5,19.5));
-      sc = timeExpert.regHist(m_Lvl1ID_IBL     = TH1I_LW::create("LvlID_IBL",  ("Level 1 ID (IBL)" + m_histTitleExt + ";level 1 ID" + atext_nhit).c_str(), 40,-0.5,39.5));
-      sc = timeShift.regHist(m_BCID            = TH1I_LW::create("Pixel_BCID", ("BCID" + m_histTitleExt + ";Pixel BCID" + atext_nhit).c_str(), 300,-0.5,299.5));//2808 bunches but have a few extra bins to check 
-      sc = timeShift.regHist(m_Atlas_BCID      = TH1F_LW::create("Atlas_BCID", ("BCID" + m_histTitleExt + ";ATLAS BCID" + atext_nhit).c_str(), 3500,-0.5,3499.5));
-      sc = timeShift.regHist(m_Atlas_BCID_hits = TH2F_LW::create("Atlas_BCID_Hits",  ("BCID" + m_histTitleExt + ";BCID" + atext_nhit).c_str(), 3500,-0.5,3499.5,100,0,25000));
-      sc = timeExpert.regHist(m_BCID_Profile   = TProfile_LW::create("Atlas_BCID_Profile",  ("BCID_Profile" + m_histTitleExt + ";BCID" + atext_nhit).c_str(), 3500,-0.5,3499.5));  
-      sc = timeShift.regHist(m_Lvl1A = TH1F_LW::create("Lvl1A", ("Hit Level 1 Accept" + m_histTitleExt + ";Level 1 Accept" + atext_nhit).c_str(), 14, -1.5, 12.5));
-
-      for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
+   if (m_doTiming)
+     {
+       sc = timeExpert.regHist(m_Lvl1ID_PIX     = TH1I_LW::create("LvlID_PIX",  ("Level 1 ID (PIX)" + m_histTitleExt + ";level 1 ID" + atext_nhit).c_str(), 20,-0.5,19.5));
+       sc = timeExpert.regHist(m_Lvl1ID_IBL     = TH1I_LW::create("LvlID_IBL",  ("Level 1 ID (IBL)" + m_histTitleExt + ";level 1 ID" + atext_nhit).c_str(), 40,-0.5,39.5));
+       sc = timeShift.regHist(m_BCID            = TH1I_LW::create("Pixel_BCID", ("BCID" + m_histTitleExt + ";Pixel BCID" + atext_nhit).c_str(), 300,-0.5,299.5));
+       sc = timeShift.regHist(m_Atlas_BCID      = TH1F_LW::create("Atlas_BCID", ("BCID" + m_histTitleExt + ";ATLAS BCID" + atext_nhit).c_str(), 3500,-0.5,3499.5));
+       sc = timeShift.regHist(m_Atlas_BCID_hits = TH2F_LW::create("Atlas_BCID_Hits",  ("BCID" + m_histTitleExt + ";BCID" + atext_nhit).c_str(), 3500,-0.5,3499.5,100,0,25000));
+       sc = timeExpert.regHist(m_BCID_Profile   = TProfile_LW::create("Atlas_BCID_Profile",  ("BCID_Profile" + m_histTitleExt + ";BCID" + atext_nhit).c_str(), 3500,-0.5,3499.5));  
+       sc = timeShift.regHist(m_Lvl1A = TH1F_LW::create("Lvl1A", ("Hit Level 1 Accept" + m_histTitleExt + ";Level 1 Accept" + atext_nhit).c_str(), 14, -1.5, 12.5));
+       
+       for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
          tmp = "ROD_Module_BCID_" + m_modLabel_PixLayerIBL2D3D[i];
          tmp2 = "Difference between BCID of RODs and Modules, " + m_modLabel_PixLayerIBL2D3D[i] + m_histTitleExt + ";BCID:ROD-Module (#bc) ;Number of Pixels";
          sc = timeExpert.regHist(m_diff_ROD_vs_Module_BCID_mod[i] = TH1I_LW::create(tmp.c_str(), tmp2.c_str(),101,-50.5,50.5));
-
+	 
          tmp = "Lvl1ID_diff_ATLAS_mod_" + m_modLabel_PixLayerIBL2D3D[i];
          tmp2 = "ATLAS_{Level 1 ID} - Module_{Level 1 ID}, " + m_modLabel_PixLayerIBL2D3D[i] + m_histTitleExt + ";#Delta Level 1 ID; # hits";
          sc = timeExpert.regHist(m_Lvl1ID_diff_mod_ATLAS_mod[i] = TH1I_LW::create(tmp.c_str(), tmp2.c_str(), 201, -200.5, 200.5));
-      }
+       }
 
-      for(int i=0; i<PixLayerDBM::COUNT-1+(int)(m_doIBL); i++){
+       for(int i=0; i<PixLayerDBM::COUNT-1+(int)(m_doIBL); i++){
          hname = makeHistname(("Lvl1A_"+m_modLabel_PixLayerIBL2D3DDBM[i]), false);
          htitles = makeHisttitle(("Hit Level 1 Accept, "+m_modLabel_PixLayerIBL2D3DDBM[i]), (atext_lv1+atext_nhit), false);
          sc = timeShift.regHist(m_Lvl1A_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 14, -1.5, 12.5));
-      }
-   }
-
-   if(m_do2DMaps)
-   {
-      m_occupancy = new PixelMon2DMaps("Occupancy", ("hit map"+ m_histTitleExt).c_str());
-      sc = m_occupancy->regHist(rdoShift);
-
-      m_average_pixocc = new PixelMon2DMapsLW("Occupancy_per_pixel", ("#hits / pixel" + m_histTitleExt).c_str(), m_doIBL, false);
-      sc = m_average_pixocc->regHist(rdoShift, m_doIBL, false);
-     
-      m_Lvl1ID_diff_mod_ATLAS_per_LB = new PixelMon2DLumiProfiles("Lvl1ID_diff_ATLAS_mod_per_LB", ("ATLAS_{Level 1 ID} - Module_{Level 1 ID} per LB" + m_histTitleExt).c_str(),"#Delta Level 1 ID",m_doIBL,false);
-      sc = m_Lvl1ID_diff_mod_ATLAS_per_LB->regHist(timeExpert,m_doIBL,false);
-
-      m_Lvl1ID_absdiff_mod_ATLAS_per_LB = new PixelMon2DLumiProfiles("Lvl1ID_absdiff_ATLAS_mod_per_LB", ("ATLAS_{Level 1 ID} - Module_{Level 1 ID} per LB" + m_histTitleExt).c_str(),"#Delta Level 1 ID",m_doIBL,false);
-      sc = m_Lvl1ID_absdiff_mod_ATLAS_per_LB->regHist(timeExpert,m_doIBL,false);
-   }
-
-   if(m_doModules)
-   {
-      m_hit_num_mod = new PixelMonModules1D("Hit_num", ("Number of hits in a module in an event" + m_histTitleExt).c_str(), 15,-0.5,149.5,m_doIBL);
-      sc = m_hit_num_mod->regHist(this,(path+"/Modules_NumberOfHits").c_str(),run, m_doIBL);
-      m_hiteff_mod = new PixelMonModulesProf("Hit_track_eff", ("Proportion of hits on track" + m_histTitleExt).c_str(), 2500,-0.5,2499.5,m_doIBL);
-      sc = m_hiteff_mod->regHist(this,(path+"/Modules_HitEff").c_str(),run, m_doIBL);
-   }
-   if(m_doModules || m_doFEChipSummary)
-   {
-      m_FE_chip_hit_summary = new PixelMonModules1D("FE_Chip_Summary", ("FE Chip Summary" + m_histTitleExt).c_str(), 16,-0.5,15.5,m_doIBL);
-      sc = m_FE_chip_hit_summary->regHist(this,(path+"/Modules_FEChipSummary").c_str(),run, m_doIBL);
-   }
-   if(m_doOnline)
-   {
-      sc = rdoShift.regHist(m_occupancy_time1= new TProfile("occupancy_time_10min", ("Module hit occupancy as function of time over 10 minutes. 6 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
-      sc = rdoShift.regHist(m_occupancy_time2= new TProfile("occupancy_time_1hr",   ("Module hit occupancy as function of time over 1 hour.  36 sec/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
-      sc = rdoShift.regHist(m_occupancy_time3= new TProfile("occupancy_time_6hr",   ("Module hit occupancy as function of time over 6 hours.  3.6 min/bin" + m_histTitleExt + ";time;module occupancy").c_str(), 99,0.,1.,"i"));
-      if(m_doLowOccupancy){ }
-      if(m_doHighOccupancy){ }
-   }
-   if(m_doHighOccupancy)
-   {
-      int max_hits = 80000;
-      int max_avhits = 100;
-      if (m_doHeavyIonMon) { max_hits = 350000; max_avhits = 2500; }
-      sc = rdoShift.regHist(m_num_hits= TH1I_LW::create("num_hits",  ("Number of pixel hits in an event" + m_histTitleExt + ";# pixel hits/event;# events").c_str(), 2500,0.,(int)max_hits));
-
-      for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
+       }
+     }
+
+   if (m_do2DMaps)
+     {
+       m_occupancy = new PixelMon2DMaps("Occupancy", ("hit map"+ m_histTitleExt).c_str());
+       sc = m_occupancy->regHist(rdoShift);
+       
+       m_average_pixocc = new PixelMon2DMapsLW("Occupancy_per_pixel", ("#hits / pixel" + m_histTitleExt).c_str(), m_doIBL, false);
+       sc = m_average_pixocc->regHist(rdoShift, m_doIBL, false);
+       
+       m_occupancy_pix_evt = new PixelMon2DProfilesLW("Occupancy_per_pixel_event", ("#hits / pixel / event" + m_histTitleExt).c_str(), m_doIBL, false, false);
+       sc = m_occupancy_pix_evt->regHist(rdoShift);
+             
+       m_Lvl1ID_diff_mod_ATLAS_per_LB = new PixelMon2DLumiProfiles("Lvl1ID_diff_ATLAS_mod_per_LB", ("ATLAS_{Level 1 ID} - Module_{Level 1 ID} per LB" + m_histTitleExt).c_str(),"#Delta Level 1 ID",m_doIBL,false);
+       sc = m_Lvl1ID_diff_mod_ATLAS_per_LB->regHist(timeExpert,m_doIBL,false);
+       
+       m_Lvl1ID_absdiff_mod_ATLAS_per_LB = new PixelMon2DLumiProfiles("Lvl1ID_absdiff_ATLAS_mod_per_LB", ("ATLAS_{Level 1 ID} - Module_{Level 1 ID} per LB" + m_histTitleExt).c_str(),"#Delta Level 1 ID",m_doIBL,false);
+       sc = m_Lvl1ID_absdiff_mod_ATLAS_per_LB->regHist(timeExpert,m_doIBL,false);
+     }
+   
+   if (m_doModules)
+     {
+       m_hit_num_mod = new PixelMonModules1D("Hit_num", ("Number of hits in a module in an event" + m_histTitleExt).c_str(), 15,-0.5,149.5,m_doIBL);
+       sc = m_hit_num_mod->regHist(this,(path+"/Modules_NumberOfHits").c_str(),run, m_doIBL);
+       m_hiteff_mod = new PixelMonModulesProf("Hit_track_eff", ("Proportion of hits on track" + m_histTitleExt).c_str(), 2500,-0.5,2499.5,m_doIBL);
+       sc = m_hiteff_mod->regHist(this,(path+"/Modules_HitEff").c_str(),run, m_doIBL);
+     }
+   if (m_doFEChipSummary)
+     {
+       m_FE_chip_hit_summary = new PixelMonModules1D("FE_Chip_Summary", ("FE Chip Summary" + m_histTitleExt).c_str(), 16,-0.5,15.5,m_doIBL);
+       sc = m_FE_chip_hit_summary->regHist(this,(path+"/Modules_FEChipSummary").c_str(),run, m_doIBL);
+     }
+   if (m_doLowOccupancy || m_doHighOccupancy)
+     {
+       int nbins_hits = 2000;  float max_hits = 80000.0;
+       int nbins_avhits = 100; float max_avhits = 100.0;
+       
+       if(m_doLowOccupancy){
+         nbins_hits = 200;  max_hits = 200.0;
+         nbins_avhits = 50; max_avhits = 2.0;
+       }
+       
+       if(m_doHeavyIonMon){ max_hits = 350000; max_avhits = 2500; }
+       
+       sc = rdoShift.regHist(m_num_hits= TH1I_LW::create("num_hits",  ("Number of pixel hits in an event" + m_histTitleExt + ";# pixel hits/event;# events").c_str(), nbins_hits, 0., max_hits));
+       
+       for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
          hname = makeHistname(("Occupancy_Summary_"+m_modLabel_PixLayerIBL2D3D[i]), false);
          htitles = makeHisttitle(("Average hit occupancy, "+m_modLabel_PixLayerIBL2D3D[i]), ";average # hits in a module in an event;# modules", false);
-         sc = rdoExpert.regHist(m_occupancy_summary_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 100,0.,(int)max_avhits));
-      }
-   }
-   if(m_doLowOccupancy)
-   {
-      sc = rdoShift.regHist(m_num_hits_low= TH1I_LW::create("num_hits_low_occupancy",  ("Number of pixel hits per event" + m_histTitleExt + ";# pixel hits/event;# events").c_str(), 200,-0.5,199.5));
-      
-      for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-         hname = makeHistname(("Occupancy_Summary_Low_"+m_modLabel_PixLayerIBL2D3D[i]), false);
-         htitles = makeHisttitle(("Average hit occupancy(low), "+m_modLabel_PixLayerIBL2D3D[i]), ";average # hits in a module in an event;# modules", false);
-         sc = rdoExpert.regHist(m_occupancy_summary_low_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 50, 0., 2.));
-      }
-   }
-
-   if(m_doPixelOccupancy)
-   {
-     m_pixel_occupancy = new PixelMonModules2D("Pixel_Occupancy", ("Pixel Occupancy" + m_histTitleExt).c_str(), 160, -0.,160.,336,0.,336.,m_doIBL);
-     sc = m_pixel_occupancy->regHist(this,(path+"/PixelOccupancy").c_str(),run, m_doIBL);
-     // if(m_doNoiseMap)
-     //  {
-     //    m_pixel_noise_map = new PixelMonModules2D("Pixel_Noise_Map", ("Pixel Noise Map" + m_histTitleExt).c_str(), 160, -0.,160.,336,0.,336.,m_doIBL);
-     //    sc = m_pixel_noise_map->regHist(this,(path+"/PixelNoiseMap").c_str(),run, m_doIBL);
-     //  }
-     //  if(m_doSpectrum)
-     //  {
-     //     double edge_ini = 1e-9;
-     //     double edge[8];
-     //     for(int i=0; i<8; i++)
-     //     {
-     //        edge[i]= edge_ini;
-     //        edge_ini=edge_ini*10;
-     //     }
-     // 	 m_pixel_occupancy_spectrum = new PixelMonModules1D("Pixel_Occupancy_spectrum", ("Pixel Noise Map" + m_histTitleExt).c_str(), 7, edge,m_doIBL);
-     //     sc = m_pixel_occupancy_spectrum->regHist(this,(path+"/PixelOccupancySpectrum").c_str(),run, m_doIBL);
-     //  }
-   }
-   if(m_doRodSim)
-   {
-      sc = rdoExpert.regHist(m_RodSim_BCID_minus_ToT= TH1F_LW::create("RodSim_BCID_minus_ToT",  ("BCID - ToT" + m_histTitleExt).c_str(), 300,-0.5,299.5));
-      sc = rdoExpert.regHist(m_RodSim_FrontEnd_minus_Lvl1ID= TH1F_LW::create("RodSim_FrontEnd_minus_Lvl1ID",  ("Front End Chip - Lvl1ID" + m_histTitleExt).c_str(), 33,-16.5,16.5));
-   }
-   if(m_doDetails)
-   {
-      sc = rdoExpert.regHist(m_Details_mod1_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod1).c_str(),  ("number of pixel hits per event for mod1" + m_histTitleExt).c_str(), 100,-0.,100)); 
-      sc = rdoExpert.regHist(m_Details_mod2_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod2).c_str(),  ("number of pixel hits per event for mod2" + m_histTitleExt).c_str(), 100,-0.,100));  
-      sc = rdoExpert.regHist(m_Details_mod3_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod3).c_str(),  ("number of pixel hits per event for mod3" + m_histTitleExt).c_str(), 100,-0.,100));  
-      sc = rdoExpert.regHist(m_Details_mod4_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod4).c_str(),  ("number of pixel hits per event for mod4" + m_histTitleExt).c_str(), 100,-0.,100));
-      //New ranges for 2 FEI4Bs:
-      sc = rdoExpert.regHist(m_Details_mod1_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod1).c_str(),   ("column vs row hitmap for mod1" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));  
-      sc = rdoExpert.regHist(m_Details_mod2_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod2).c_str(),   ("column vs row hitmap for mod2" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));   
-      sc = rdoExpert.regHist(m_Details_mod3_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod3).c_str(),   ("column vs row hitmap for mod3" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));   
-      sc = rdoExpert.regHist(m_Details_mod4_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod4).c_str(),   ("column vs row hitmap for mod4" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));   
-      sc = rdoExpert.regHist(m_Details_mod1_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod1).c_str(),  ("ToT mod1" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
-      sc = rdoExpert.regHist(m_Details_mod2_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod2).c_str(),  ("ToT mod2" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
-      sc = rdoExpert.regHist(m_Details_mod3_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod3).c_str(),  ("ToT mod3" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
-      sc = rdoExpert.regHist(m_Details_mod4_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod4).c_str(),  ("ToT mod4" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
-   }
-
-   /// Quick Status
-   hname = makeHistname("Hits_per_lumi_L0_B11_S2_C6", false);
-   htitles = makeHisttitle("Number of hits, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits", false);
-   sc = rdoShift.regHist(m_nhits_L0_B11_S2_C6 = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
-   m_nhits_L0_B11_S2_C6->SetOption("colz");
-
-   hname = makeHistname("Occupancy_per_lumi_L0_B11_S2_C6", false);
-   htitles = makeHisttitle("Average pixel occupancy per event, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits/pixel/event", false);
-   sc = rdoShift.regHist(m_occupancy_L0_B11_S2_C6 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
-   m_occupancy_L0_B11_S2_C6->SetOption("colz");
-
-   for( int i=0; i<PixLayer::COUNT; i++){
-     hname   = makeHistname(("nFEswithHits_"+m_modLabel_PixLayerIBL2D3D[i]), false);
-     htitles = makeHisttitle(("Number of FEs with hits, "+m_modLabel_PixLayerIBL2D3D[i]), ";lumi block;eta index of module;# FEs with hits in a module in an event;# event #times # modules", false);
-     sc = rdoExpert.regHist(m_nFEswithHits_mod[i] = new TH3F(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, nmod_eta[i], -0.5, -0.5 + nmod_eta[i], 18, -0.5, 17.5));
+         sc = rdoExpert.regHist(m_occupancy_summary_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), nbins_avhits, 0., max_avhits));
+       }
+     }
+   if (m_doPixelOccupancy)
+     {
+       m_pixel_occupancy = new PixelMonModules2D("Pixel_Occupancy", ("Pixel Occupancy" + m_histTitleExt).c_str(), 160, -0.,160.,336,0.,336.,m_doIBL);
+       sc = m_pixel_occupancy->regHist(this,(path+"/PixelOccupancy").c_str(),run, m_doIBL);
+     }
+   if (m_doRodSim)
+     {
+       sc = rdoExpert.regHist(m_RodSim_BCID_minus_ToT= TH1F_LW::create("RodSim_BCID_minus_ToT",  ("BCID - ToT" + m_histTitleExt).c_str(), 300,-0.5,299.5));
+       sc = rdoExpert.regHist(m_RodSim_FrontEnd_minus_Lvl1ID= TH1F_LW::create("RodSim_FrontEnd_minus_Lvl1ID",  ("Front End Chip - Lvl1ID" + m_histTitleExt).c_str(), 33,-16.5,16.5));
+     }
+
+   if (m_doDetails)
+     /// 4 special modules
+     {
+       sc = rdoExpert.regHist(m_Details_mod1_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod1).c_str(),  ("number of pixel hits per event for mod1" + m_histTitleExt).c_str(), 100,-0.,100)); 
+       sc = rdoExpert.regHist(m_Details_mod2_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod2).c_str(),  ("number of pixel hits per event for mod2" + m_histTitleExt).c_str(), 100,-0.,100));  
+       sc = rdoExpert.regHist(m_Details_mod3_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod3).c_str(),  ("number of pixel hits per event for mod3" + m_histTitleExt).c_str(), 100,-0.,100));  
+       sc = rdoExpert.regHist(m_Details_mod4_num_hits  = TH1F_LW::create(("Details_num_hits_"+m_DetailsMod4).c_str(),  ("number of pixel hits per event for mod4" + m_histTitleExt).c_str(), 100,-0.,100));
+       //New ranges for 2 FEI4Bs:
+       sc = rdoExpert.regHist(m_Details_mod1_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod1).c_str(),   ("column vs row hitmap for mod1" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));  
+       sc = rdoExpert.regHist(m_Details_mod2_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod2).c_str(),   ("column vs row hitmap for mod2" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));   
+       sc = rdoExpert.regHist(m_Details_mod3_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod3).c_str(),   ("column vs row hitmap for mod3" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));   
+       sc = rdoExpert.regHist(m_Details_mod4_occupancy = TH2F_LW::create(("Details_occupancy_"+m_DetailsMod4).c_str(),   ("column vs row hitmap for mod4" + m_histTitleExt).c_str(), 160,-0.5,155.5,336,-0.5,335.5));   
+       sc = rdoExpert.regHist(m_Details_mod1_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod1).c_str(),  ("ToT mod1" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
+       sc = rdoExpert.regHist(m_Details_mod2_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod2).c_str(),  ("ToT mod2" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
+       sc = rdoExpert.regHist(m_Details_mod3_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod3).c_str(),  ("ToT mod3" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
+       sc = rdoExpert.regHist(m_Details_mod4_ToT       = TH1F_LW::create(("Details_ToT_"+m_DetailsMod4).c_str(),  ("ToT mod4" + m_histTitleExt).c_str(), 300,-0.5,299.5));  
+     }
+
+   if (m_doOfflineAnalysis) {
+     /// Quick Status
+     ///
+     hname = makeHistname("Hits_per_lumi_L0_B11_S2_C6", false);
+     htitles = makeHisttitle("Number of hits, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits", false);
+     sc = rdoShift.regHist(m_nhits_L0_B11_S2_C6 = TH2F_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
+     m_nhits_L0_B11_S2_C6->SetOption("colz");
+
+     hname = makeHistname("Occupancy_per_lumi_L0_B11_S2_C6", false);
+     htitles = makeHisttitle("Average pixel occupancy per event, L0_B11_S2_C6", ";lumi block;FE ID (16*(6-eta_mod) + 8*(pix_phi/164) + (eta_pix/18);#hits/pixel/event", false);
+     sc = rdoShift.regHist(m_occupancy_L0_B11_S2_C6 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB, 96, -0.5, -0.5+96));
+     m_occupancy_L0_B11_S2_C6->SetOption("colz");
+
+     for(int i=0; i<PixLayerIBL2D3D::COUNT; i++){
+        hname = makeHistname(("AvgOcc_per_BCID_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+        htitles = makeHisttitle(("Average pixel occupancy per BCID per lumi, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_BCID+atext_occ), false);
+        sc = rdoExpert.regHist(m_avgocc_per_bcid_per_lumi_mod[i] = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 2000, -0.5, -0.5+2000, nbins_BCID, min_BCID, max_BCID));
+
+        hname = makeHistname(("Hit_ToT_per_lumi_"+m_modLabel_PixLayerIBL2D3D[i]), false);
+        htitles = makeHisttitle(("Hit ToT per lumi, "+m_modLabel_PixLayerIBL2D3D[i]), (atext_LB+atext_tot+atext_occ), false);
+        sc = rdoExpert.regHist(m_hit_ToT_per_lumi_mod[i] = TH2F_LW::create(hname.c_str(), htitles.c_str(), 2000, -0.5, -0.5+2000, nbins_tot3, min_tot3, max_tot3));
+
+     }
    }
 
    if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;         
@@ -363,16 +355,15 @@ StatusCode PixelMainMon::BookHitsLumiBlockMon(void)
 
    StatusCode sc;
 
-   if(m_doHighOccupancy) {
+   if(m_doLowOccupancy || m_doHighOccupancy) {
+      int nbins_hits = 100;  double min_hits = -0.5; double max_hits = min_hits + 25000.0;
+      if(m_doLowOccupancy){
+         nbins_hits = 200;  max_hits = min_hits + 200.0;
+      }
       hname = makeHistname("num_hits_LB", false);
       htitles = makeHisttitle("Number of pixel hits in an event", (atext_hit+atext_nevt), false);
-      sc = lumiBlockHist.regHist(m_num_hits_LB = TH1I_LW::create(hname.c_str(), htitles.c_str(), 100, -0.5, 24999.5));
+      sc = lumiBlockHist.regHist(m_num_hits_LB = TH1I_LW::create(hname.c_str(), htitles.c_str(), nbins_hits, min_hits, max_hits));
    }
-   if(m_doLowOccupancy) {
-      hname = makeHistname("num_hits_low_LB", false);
-      htitles = makeHisttitle("Number of pixel hits in an event", (atext_hit+atext_nevt), false);
-      sc = lumiBlockHist.regHist(m_num_hits_low_LB = TH1I_LW::create(hname.c_str(), htitles.c_str(), 200, -0.5, 199.5));
-   }   
    if(m_doModules) {
       hname = makeHistname("num_Hits_mod_LB", false);
       htitles = makeHisttitle("Number of pixel hits in a module in an event", (atext_hit+atext_nevt), false);
@@ -402,570 +393,478 @@ StatusCode PixelMainMon::BookHitsLumiBlockMon(void)
 
 StatusCode PixelMainMon::FillHitsMon(void) //Called once per event
 {
-   if(m_lumiTool){
-      //float mu = m_lumiTool->lbAverageInteractionsPerCrossing();
-      //if(m_mu_vs_lumi) m_mu_vs_lumi->Fill( m_manager->lumiBlockNumber(),mu);
-   }else{
-      msg(MSG::ERROR)  << "No lumitool found in FillHitsMon!"<<endmsg;
-   }
-
-   StatusCode sc;
-
-   // get ROD BCID
-   const InDetTimeCollection *Pixel_BCIDColl = 0;  
-   if ( evtStore()->contains<InDetTimeCollection>("PixelBCID") )  sc = evtStore()->retrieve(Pixel_BCIDColl, "PixelBCID"); 
-   int n_pix_bcid_nrobs   = 0;   //pixel BCID robs counter
-   int prev_pix_bcid = 0;
-   
-   if ( !sc.isFailure() && Pixel_BCIDColl!=0 ) 
-   {
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Found Pixel BCID collection"<<endmsg;
-
-      for ( InDetTimeCollection::const_iterator ipix_bcid = Pixel_BCIDColl->begin(); ipix_bcid != Pixel_BCIDColl->end(); ++ipix_bcid ) 
-      {
-         if (!(*ipix_bcid)) continue;
-         //Current bcid
-         const unsigned int pix_bcid = (*ipix_bcid)->second;
-	 
-	      ///if ( ipix_bcid > Pixel_BCIDColl->begin() && m_diff_ROD_BCID){
-         ///   m_diff_ROD_BCID->Fill(n_pix_bcid_nrobs-1,prev_pix_bcid-pix_bcid); 
-         ///}
-	      prev_pix_bcid = pix_bcid;
-         n_pix_bcid_nrobs++;
-      } // End for loop
-   }
-   if (sc.isFailure()) if(msgLvl(MSG::INFO)) {msg(MSG::INFO)  << "Could not find the data object PixelBCID" << " !" << endmsg;}
-
-   //needed for the rodSim histos and timing/trigger histogram
-   //long int extLvl1ID = -1;
-   //   std::vector<int> trigid; trigid.clear(); // Trigger ID
-   if(m_doRodSim || m_doTiming)
-   {
-      const EventInfo* thisEventInfo;
-      sc=evtStore()->retrieve(thisEventInfo);
-      if(sc != StatusCode::SUCCESS) 
-      {
-	      if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "No EventInfo object found" << endmsg;
-      }else{
-	      if (m_doRodSim|| m_doTiming) {
-	      //extLvl1ID = thisEventInfo->trigger_info()->extendedLevel1ID();
-	      }
-       /*if (m_doTiming) {
-        * std::vector<unsigned int> level1TriggerInfo_t = thisEventInfo->trigger_info()->level1TriggerInfo();
-        * for (unsigned int j=16; j<24 && j<level1TriggerInfo_t.size(); ++j) {
-        *   for (unsigned int i=0; i<32; ++i) {
-        *      if ( (level1TriggerInfo_t[j] >> i) & 0x1 ) trigid.push_back(i+(j%8)*32); // Found the ID
-        *   } // Loop over bits in the last word
-        *} // Loop from 16-24 bits
-	      }*/
-      }
-   }
 
-   int DetailsMod1 = 0;
-   int DetailsMod2 = 0;
-   int DetailsMod3 = 0;
-   int DetailsMod4 = 0;
-   int nhitsM1=0;
-   int nhitsM2=0;
-   int nhitsM3=0;
-   int nhitsM4=0;
-   if(m_doDetails)
-   {
+  int DetailsMod1 = 0;
+  int DetailsMod2 = 0;
+  int DetailsMod3 = 0;
+  int DetailsMod4 = 0;
+  int nhitsM1=0;
+  int nhitsM2=0;
+  int nhitsM3=0;
+  int nhitsM4=0;
+  if(m_doDetails)
+    {
       DetailsMod1 = ParseDetailsString(m_DetailsMod1); 
       DetailsMod2 = ParseDetailsString(m_DetailsMod2); 
       DetailsMod3 = ParseDetailsString(m_DetailsMod3); 
       DetailsMod4 = ParseDetailsString(m_DetailsMod4); 
-   }
-
-   static constexpr int nmod_phi[PixLayer::COUNT] = {48, 48, 22, 38, 52, 14};
-   static constexpr int nmod_eta[PixLayer::COUNT] = {3, 3, 13, 13, 13, 20};
+    }
 
-   int HitPerEventArray_disksA[ nmod_phi[PixLayer::kECA] ][ nmod_eta[PixLayer::kECA] ];
-   int HitPerEventArray_disksC[ nmod_phi[PixLayer::kECC] ][ nmod_eta[PixLayer::kECC] ];
-   int HitPerEventArray_l0[ nmod_phi[PixLayer::kB0] ][ nmod_eta[PixLayer::kB0] ];
-   int HitPerEventArray_l1[ nmod_phi[PixLayer::kB1] ][ nmod_eta[PixLayer::kB1] ];
-   int HitPerEventArray_l2[ nmod_phi[PixLayer::kB2] ][ nmod_eta[PixLayer::kB2] ];
-   int HitPerEventArray_lI[ nmod_phi[PixLayer::kIBL] ][ nmod_eta[PixLayer::kIBL] ];
-
-   ///if (m_doModules)
-   ///{
-      for(int i=0; i<PixLayer::COUNT; i++){
-         for( int phi=0; phi<nmod_phi[i]; phi++){
-            for(int eta=0; eta<nmod_eta[i]; eta++){
-               if(i==PixLayer::kECA) HitPerEventArray_disksA[phi][eta]=0;
-               if(i==PixLayer::kECC) HitPerEventArray_disksC[phi][eta]=0;
-               if(i==PixLayer::kB0)  HitPerEventArray_l0[phi][eta]=0;
-               if(i==PixLayer::kB1)  HitPerEventArray_l1[phi][eta]=0;
-               if(i==PixLayer::kB2)  HitPerEventArray_l2[phi][eta]=0;
-               if(i==PixLayer::kIBL) HitPerEventArray_lI[phi][eta]=0;
-            }
-         }
+  static constexpr int nmod_phi[PixLayer::COUNT] = {48, 48, 22, 38, 52, 14};
+  static constexpr int nmod_eta[PixLayer::COUNT] = {3, 3, 13, 13, 13, 20};
+  
+  int HitPerEventArray_disksA[ nmod_phi[PixLayer::kECA] ][ nmod_eta[PixLayer::kECA] ];
+  int HitPerEventArray_disksC[ nmod_phi[PixLayer::kECC] ][ nmod_eta[PixLayer::kECC] ];
+  int HitPerEventArray_l0[ nmod_phi[PixLayer::kB0] ][ nmod_eta[PixLayer::kB0] ];
+  int HitPerEventArray_l1[ nmod_phi[PixLayer::kB1] ][ nmod_eta[PixLayer::kB1] ];
+  int HitPerEventArray_l2[ nmod_phi[PixLayer::kB2] ][ nmod_eta[PixLayer::kB2] ];
+  int HitPerEventArray_lI[ nmod_phi[PixLayer::kIBL] ][ nmod_eta[PixLayer::kIBL] ];
+  
+  for(int i=0; i<PixLayer::COUNT; i++){
+    for( int phi=0; phi<nmod_phi[i]; phi++){
+      for(int eta=0; eta<nmod_eta[i]; eta++){
+	if(i==PixLayer::kECA) HitPerEventArray_disksA[phi][eta]=0;
+	if(i==PixLayer::kECC) HitPerEventArray_disksC[phi][eta]=0;
+	if(i==PixLayer::kB0)  HitPerEventArray_l0[phi][eta]=0;
+	if(i==PixLayer::kB1)  HitPerEventArray_l1[phi][eta]=0;
+	if(i==PixLayer::kB2)  HitPerEventArray_l2[phi][eta]=0;
+	if(i==PixLayer::kIBL) HitPerEventArray_lI[phi][eta]=0;
       }
-   ///}//end doModules
-
-   double nhits=0;
-   double nhits_mod[PixLayerIBL2D3D::COUNT]={0};
-   int nhits_L0_B11_S2_C6[96] = {0};
-
-   int fewithHits_EA[ nmod_phi[PixLayer::kECA]][ nmod_eta[PixLayer::kECA]][16];
-   int fewithHits_EC[ nmod_phi[PixLayer::kECC]][ nmod_eta[PixLayer::kECC]][16];
-   int fewithHits_B0[ nmod_phi[PixLayer::kB0] ][ nmod_eta[PixLayer::kB0] ][16];
-   int fewithHits_B1[ nmod_phi[PixLayer::kB1] ][ nmod_eta[PixLayer::kB1] ][16];
-   int fewithHits_B2[ nmod_phi[PixLayer::kB2] ][ nmod_eta[PixLayer::kB2] ][16];
-   for(int i=0; i<PixLayer::COUNT; i++){
-      for( int phi=0; phi<nmod_phi[i]; phi++){
-         for(int eta=0; eta<nmod_eta[i]; eta++){
-           for(int j=0 ; j<16 ; j++){
-             if(i==PixLayer::kECA) fewithHits_EA[phi][eta][j]=0;
-             if(i==PixLayer::kECC) fewithHits_EC[phi][eta][j]=0;
-             if(i==PixLayer::kB0)  fewithHits_B0[phi][eta][j]=0;
-             if(i==PixLayer::kB1)  fewithHits_B1[phi][eta][j]=0;
-             if(i==PixLayer::kB2)  fewithHits_B2[phi][eta][j]=0;
-           }
-         }
+    }
+  }
+  
+  double nhits=0;
+  double nhits_mod[PixLayerIBL2D3D::COUNT]={0};
+  int nhits_L0_B11_S2_C6[96] = {0};
+  
+  int fewithHits_EA[ nmod_phi[PixLayer::kECA]][ nmod_eta[PixLayer::kECA]][16];
+  int fewithHits_EC[ nmod_phi[PixLayer::kECC]][ nmod_eta[PixLayer::kECC]][16];
+  int fewithHits_B0[ nmod_phi[PixLayer::kB0] ][ nmod_eta[PixLayer::kB0] ][16];
+  int fewithHits_B1[ nmod_phi[PixLayer::kB1] ][ nmod_eta[PixLayer::kB1] ][16];
+  int fewithHits_B2[ nmod_phi[PixLayer::kB2] ][ nmod_eta[PixLayer::kB2] ][16];
+  for(int i=0; i<PixLayer::COUNT; i++){
+    for( int phi=0; phi<nmod_phi[i]; phi++){
+      for(int eta=0; eta<nmod_eta[i]; eta++){
+	for(int j=0 ; j<16 ; j++){
+	  if(i==PixLayer::kECA) fewithHits_EA[phi][eta][j]=0;
+	  if(i==PixLayer::kECC) fewithHits_EC[phi][eta][j]=0;
+	  if(i==PixLayer::kB0)  fewithHits_B0[phi][eta][j]=0;
+	  if(i==PixLayer::kB1)  fewithHits_B1[phi][eta][j]=0;
+	  if(i==PixLayer::kB2)  fewithHits_B2[phi][eta][j]=0;
+	}
       }
-   }
-
-   Identifier rdoID;
-
-   int nGood_mod[PixLayerIBL2D3D::COUNT] = {m_nGood_ECA, m_nGood_ECC, m_nGood_B0, m_nGood_B1, m_nGood_B2, (int)((2* m_nGood_IBL2D)+m_nGood_IBL3D), m_nGood_IBL2D, m_nGood_IBL3D};
-   int nchannels[PixLayerIBL2D3D::COUNT] = {46080, 46080, 46080, 46080, 46080, 26880, 53760, 26880};
-   double nactivechannels = 0.;
-   double nactivechannels_mod[PixLayerIBL2D3D::COUNT];
-   double nactivechannels_wSync_mod[PixLayerIBL2D3D::COUNT];
-   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
-      nactivechannels_mod[i] = 1.0*nchannels[i]*nGood_mod[i];
-      nactivechannels_wSync_mod[i] = 1.0 * nchannels[i] * m_nActivAndSync_mod[i];
-      nactivechannels =+ nactivechannels_mod[i];
-   }
-
-
-   // retrieve Pixel RDO container from storegate
-   sc=evtStore()->retrieve(m_rdocontainer,m_Pixel_RDOName);
-   if (sc.isFailure() || !m_rdocontainer) 
-   {
-      if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not find the data object " << m_Pixel_RDOName << " !" << endmsg;
-      if(m_storegate_errors) m_storegate_errors->Fill(1.,3.);  //first entry (1). is for RDO, second (2) is for retrieve problem
+    }
+  }
+  
+  Identifier rdoID;
+  
+  int nChannels_mod[PixLayerIBL2D3D::COUNT] = {46080, 46080, 46080, 46080, 46080, 26880, 53760, 26880};
+  double nActiveChannels_total = 0.;
+  double nGoodChannels_layer[PixLayerIBL2D3D::COUNT];
+  double nActiveChannels_layer[PixLayerIBL2D3D::COUNT];
+  for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
+    nGoodChannels_layer[i]   = 1.0 * nChannels_mod[i] * m_nGood_mod[i];
+    nActiveChannels_layer[i] = 1.0 * nChannels_mod[i] * m_nActive_mod[i];
+    nActiveChannels_total    =+ nGoodChannels_layer[i];
+  }
+
+  StatusCode sc;
+
+  // get Pixel ROD BCID (II - tbc ROD BCID seems to be of the last ROD, why not to take the one from ATLAS in main?)
+  // this BCID is used for ATLAS fill, but also for diff ROD-module in m_diff_ROD_vs_Module_BCID [# of Hits!]
+  // change to hit BCID versus ATLAS BCID, useful?? (code in use since Run1)
+  //
+  const InDetTimeCollection *Pixel_BCIDColl = 0;  
+  if ( evtStore()->contains<InDetTimeCollection>("PixelBCID") )  sc = evtStore()->retrieve(Pixel_BCIDColl, "PixelBCID"); 
+  int pix_rod_bcid      = 0;
+  if ( !sc.isFailure() && Pixel_BCIDColl!=0 ) 
+    {
+      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Found Pixel BCID collection"<<endmsg;
+      for ( InDetTimeCollection::const_iterator ipix_bcid = Pixel_BCIDColl->begin(); ipix_bcid != Pixel_BCIDColl->end(); ++ipix_bcid ) 
+	{
+	  if (!(*ipix_bcid)) continue;
+	  const unsigned int pix_bcid = (*ipix_bcid)->second;
+	  pix_rod_bcid = pix_bcid;
+	} 
+    }
+  if (sc.isFailure()) if(msgLvl(MSG::INFO)) {msg(MSG::INFO)  << "Could not find the data object PixelBCID" << " !" << endmsg;}
+
+  // get ATLAS LVL1ID
+  //
+  int lvl1idATLAS(-1);
+  const EventInfo* thisEventInfo;
+  sc=evtStore()->retrieve(thisEventInfo);
+  if (sc != StatusCode::SUCCESS)
+    {
+      if (msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "No EventInfo object found" << endmsg;
+    } else 
+    {
+      lvl1idATLAS = (int)((thisEventInfo->trigger_info()->extendedLevel1ID())&0xf);
+    }
+  
+  // retrieve Pixel RDO container from storegate
+  sc=evtStore()->retrieve(m_rdocontainer,m_Pixel_RDOName);
+  if (sc.isFailure() || !m_rdocontainer) 
+    {
+      if (msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not find the data object " << m_Pixel_RDOName << " !" << endmsg;
+      if (m_storegate_errors) m_storegate_errors->Fill(1.,3.);  //first entry (1). is for RDO, second (2) is for retrieve problem
       return StatusCode::SUCCESS;  //fail gracefully and keep going in the next tool
-   } else {
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Data object " << m_Pixel_RDOName << " found" << endmsg;
-   }
+    } else {
+    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Data object " << m_Pixel_RDOName << " found" << endmsg;
+  }
 
-   PixelRDO_Container::const_iterator colNext   = m_rdocontainer->begin();
-   PixelRDO_Container::const_iterator lastCol   = m_rdocontainer->end();
-   DataVector<PixelRDORawData>::const_iterator p_rdo;
+  PixelRDO_Container::const_iterator colNext   = m_rdocontainer->begin();
+  PixelRDO_Container::const_iterator lastCol   = m_rdocontainer->end();
+  DataVector<PixelRDORawData>::const_iterator p_rdo;
   
-   for (; colNext != lastCol; ++colNext) // Pixel ROD Loop
-   {
+  for (; colNext != lastCol; ++colNext) // Pixel RDO (hits) Loop
+    {
       const InDetRawDataCollection<PixelRDORawData>* PixelCollection(*colNext);
       if (!PixelCollection) 
-      {
-         if(m_storegate_errors) m_storegate_errors->Fill(1.,5.);  //first entry (1). is for RDO, second (4) is for data problem
-         continue;
-      }
+	{
+	  if(m_storegate_errors) m_storegate_errors->Fill(1.,5.);  //first entry (1). is for RDO, second (4) is for data problem
+	  continue;
+       }
       
-      for(p_rdo=PixelCollection->begin(); p_rdo!=PixelCollection->end(); ++p_rdo) {
-
-
-	      rdoID=(*p_rdo)->identify();
-         int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_doIBL);
-         int pixlayerdbm = GetPixLayerIDDBM(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_doIBL);
-         int pixlayeribl2d3d = pixlayer;
-         if( pixlayeribl2d3d == PixLayer::kIBL ){
-            pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_pixelid->eta_module(rdoID), m_doIBL);
-         }
-         int pixlayeribl2d3ddbm = pixlayerdbm;
-         if( pixlayeribl2d3ddbm == PixLayerDBM::kIBL ){
-            pixlayeribl2d3ddbm = GetPixLayerIDIBL2D3DDBM(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_pixelid->eta_module(rdoID), m_doIBL);
-         }
-
-
-	      bool isIBL = false;
-	      if (m_pixelid->barrel_ec(rdoID)==0 && m_doIBL && m_Lvl1A_mod[PixLayerDBM::kIBL] && m_pixelid->layer_disk(rdoID)==0) isIBL = true;
-
-         if(m_doOnTrack || m_doOnPixelTrack) if(!OnTrack(rdoID,false) ) continue; //if we only want hits on track, and the hit is NOT on the track, skip filling
-         
-         /////////////Start main fill block here///////////////
-         //be sure to check each histo exists before filling it
-
-	      /// Fill Occupancy
-         if(m_occupancy) m_occupancy->Fill(rdoID, m_pixelid, m_doIBL);
-         if(m_occupancy_10min && m_doLumiBlock) m_occupancy_10min->Fill(rdoID, m_pixelid, m_doIBL);
-         if(m_average_pixocc && nchannels[pixlayeribl2d3d] > 0) m_average_pixocc->WeightingFill(rdoID, m_pixelid, m_doIBL, 1.0/( 1.0*nchannels[pixlayeribl2d3d]) );
-	      if(m_doOnline && m_hitmap_tmp) m_hitmap_tmp->Fill(rdoID, m_pixelid, m_doIBL);
-         
-         /// Fill Lvl1A
-	      if(m_Lvl1A){
-	         m_Lvl1A->Fill((*p_rdo)->getLVL1A());
-            if(pixlayerdbm != 99 && m_Lvl1A_mod[pixlayerdbm]) m_Lvl1A_mod[pixlayerdbm]->Fill( (*p_rdo)->getLVL1A());
-	      }
-         if(pixlayer != 99 && m_Lvl1A_10min_mod[pixlayer] && m_doLumiBlock ) m_Lvl1A_10min_mod[pixlayer]->Fill( (*p_rdo)->getLVL1A() );
-	      if(isIBL && m_Lvl1ID_IBL) m_Lvl1ID_IBL->Fill((*p_rdo)->getLVL1ID()%32);
-	      if(!isIBL && m_Lvl1ID_PIX) m_Lvl1ID_PIX->Fill((*p_rdo)->getLVL1ID());
-
-         
-         const EventInfo* thisEventInfo;
-         sc=evtStore()->retrieve(thisEventInfo);
-	      
-         
-         /// Fill difference of Lvl1
-         if(sc != StatusCode::SUCCESS)
-         {
-	         if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "No EventInfo object found" << endmsg;
-         }else{
-	         int lvl1idMOD = (int)(*p_rdo)->getLVL1ID();
-	         int lvl1idATLAS = (int)((thisEventInfo->trigger_info()->extendedLevel1ID())&0xf);
-	         int difflvl1id = lvl1idATLAS - lvl1idMOD%32;
-	         
-            if(pixlayer != 99 && m_Lvl1ID_diff_mod_ATLAS_mod[pixlayer]) m_Lvl1ID_diff_mod_ATLAS_mod[pixlayer]->Fill(difflvl1id);
-	   
-	         //	   int lvl1id = (thisEventInfo->trigger_info()->extendedLevel1ID())&0xf;
-	         if(m_Lvl1ID_diff_mod_ATLAS_per_LB) m_Lvl1ID_diff_mod_ATLAS_per_LB->Fill(m_manager->lumiBlockNumber(),rdoID,m_pixelid,difflvl1id,m_doIBL,false);
-	         if(m_Lvl1ID_absdiff_mod_ATLAS_per_LB) m_Lvl1ID_absdiff_mod_ATLAS_per_LB->Fill(m_manager->lumiBlockNumber(),rdoID,m_pixelid,fabs(difflvl1id),m_doIBL,false);
-         }
-         
-         /// Fill BCID
-         if(m_BCID) m_BCID->Fill((*p_rdo)->getBCID());
-	      if(m_Atlas_BCID) m_Atlas_BCID->Fill(prev_pix_bcid); //defined at the start of the method
-         if(m_BCID_Profile) m_BCID_Profile->Fill(double(prev_pix_bcid),double(nhits));          
-         if(pixlayer != 99 && m_diff_ROD_vs_Module_BCID_mod[pixlayer]) m_diff_ROD_vs_Module_BCID_mod[pixlayer]->Fill( (prev_pix_bcid&0x000000ff)-(*p_rdo)->getBCID() ); 
-	      if(m_RodSim_FrontEnd_minus_Lvl1ID) m_RodSim_FrontEnd_minus_Lvl1ID->Fill(m_pixelCableSvc->getFE(&rdoID,rdoID) -(*p_rdo)->getLVL1ID());
-         if(m_RodSim_BCID_minus_ToT) m_RodSim_BCID_minus_ToT->Fill((*p_rdo)->getBCID() - (*p_rdo)->getToT() );
-
-
-	      if(m_FE_chip_hit_summary) m_FE_chip_hit_summary->Fill(m_pixelCableSvc->getFE(&rdoID,rdoID),rdoID,m_pixelid,m_doIBL);
-
-	      if(m_hiteff_mod){
-	         if(OnTrack(rdoID,false)){
-	            m_hiteff_mod->Fill(m_manager->lumiBlockNumber(),1.,rdoID,m_pixelid,m_doIBL);
-	         }else{
-	            m_hiteff_mod->Fill(m_manager->lumiBlockNumber(),0.,rdoID,m_pixelid,m_doIBL);
-	         }
-	      }
+      for (p_rdo=PixelCollection->begin(); p_rdo!=PixelCollection->end(); ++p_rdo) {
+	
+	rdoID=(*p_rdo)->identify();
+	if (m_doOnTrack || m_doOnPixelTrack) if(!OnTrack(rdoID,false) ) continue; //if we only want hits on track, and the hit is NOT on the track, skip filling
+
+	int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_doIBL);
+	int pixlayerdbm = GetPixLayerIDDBM(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_doIBL);
+	int pixlayeribl2d3d = pixlayer;
+	if ( pixlayeribl2d3d == PixLayer::kIBL ){
+	  pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_pixelid->eta_module(rdoID), m_doIBL);
+	}
+	int pixlayeribl2d3ddbm = pixlayerdbm;
+	if ( pixlayeribl2d3ddbm == PixLayerDBM::kIBL ){
+	  pixlayeribl2d3ddbm = GetPixLayerIDIBL2D3DDBM(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_pixelid->eta_module(rdoID), m_doIBL);
+	}
+	bool isIBL = false;
+	if (m_pixelid->barrel_ec(rdoID)==0 && m_doIBL && m_Lvl1A_mod[PixLayerDBM::kIBL] && m_pixelid->layer_disk(rdoID)==0) isIBL = true;
+	
+	/////////////Start main fill block here///////////////
+	//be sure to check each histo exists before filling it
+	
+	/// Fill Occupancy
+	if ( m_occupancy) m_occupancy->Fill(rdoID, m_pixelid, m_doIBL);
+	if ( m_occupancy_10min && m_doLumiBlock) m_occupancy_10min->Fill(rdoID, m_pixelid, m_doIBL);
+	if ( m_hitmap_tmp ) m_hitmap_tmp->Fill(rdoID, m_pixelid, m_doIBL);
+	if ( m_average_pixocc && nChannels_mod[pixlayeribl2d3d] > 0 ) m_average_pixocc->WeightingFill(rdoID, m_pixelid, m_doIBL, 1.0/( 1.0*nChannels_mod[pixlayeribl2d3d]) );
+
+       
+	/// Fill Lvl1A
+	if (m_Lvl1A) {
+	  m_Lvl1A->Fill((*p_rdo)->getLVL1A());
+	  if(pixlayerdbm != 99 && m_Lvl1A_mod[pixlayerdbm]) m_Lvl1A_mod[pixlayerdbm]->Fill( (*p_rdo)->getLVL1A());
+	}
+	if (pixlayer != 99 && m_Lvl1A_10min_mod[pixlayer] && m_doLumiBlock ) m_Lvl1A_10min_mod[pixlayer]->Fill( (*p_rdo)->getLVL1A() );
+	if(isIBL && m_Lvl1ID_IBL) m_Lvl1ID_IBL->Fill((*p_rdo)->getLVL1ID()%32);
+	if(!isIBL && m_Lvl1ID_PIX) m_Lvl1ID_PIX->Fill((*p_rdo)->getLVL1ID());
+	
+       
+	/// Fill difference of Lvl1
+	int lvl1idMOD = (int)(*p_rdo)->getLVL1ID();
+	int difflvl1id = lvl1idATLAS - lvl1idMOD%32;	  
+	if(pixlayer != 99 && m_Lvl1ID_diff_mod_ATLAS_mod[pixlayer]) m_Lvl1ID_diff_mod_ATLAS_mod[pixlayer]->Fill(difflvl1id);
+	
+	if(m_Lvl1ID_diff_mod_ATLAS_per_LB) m_Lvl1ID_diff_mod_ATLAS_per_LB->Fill(m_manager->lumiBlockNumber(),rdoID,m_pixelid,difflvl1id,m_doIBL,false);
+	if(m_Lvl1ID_absdiff_mod_ATLAS_per_LB) m_Lvl1ID_absdiff_mod_ATLAS_per_LB->Fill(m_manager->lumiBlockNumber(),rdoID,m_pixelid,fabs(difflvl1id),m_doIBL,false);
+	
+	
+	/// Fill BCID
+	if (m_BCID) m_BCID->Fill((*p_rdo)->getBCID());
+	if (m_Atlas_BCID) m_Atlas_BCID->Fill(pix_rod_bcid); //defined at the start of the method
+	if (m_BCID_Profile) m_BCID_Profile->Fill(double(pix_rod_bcid),double(nhits));          
+	if (pixlayer != 99 && m_diff_ROD_vs_Module_BCID_mod[pixlayer]) m_diff_ROD_vs_Module_BCID_mod[pixlayer]->Fill( (pix_rod_bcid&0x000000ff)-(*p_rdo)->getBCID() ); 
+	if (m_doRodSim) {
+	  if (m_RodSim_FrontEnd_minus_Lvl1ID) m_RodSim_FrontEnd_minus_Lvl1ID->Fill(m_pixelCableSvc->getFE(&rdoID,rdoID) -(*p_rdo)->getLVL1ID());
+	  if (m_RodSim_BCID_minus_ToT) m_RodSim_BCID_minus_ToT->Fill((*p_rdo)->getBCID() - (*p_rdo)->getToT() );
+	}
+       
+	if (m_FE_chip_hit_summary) m_FE_chip_hit_summary->Fill(m_pixelCableSvc->getFE(&rdoID,rdoID),rdoID,m_pixelid,m_doIBL);
+	
+	if (m_hiteff_mod) {
+	  if (OnTrack(rdoID,false)) {
+	    m_hiteff_mod->Fill(m_manager->lumiBlockNumber(),1.,rdoID,m_pixelid,m_doIBL);
+	  } else {
+	    m_hiteff_mod->Fill(m_manager->lumiBlockNumber(),0.,rdoID,m_pixelid,m_doIBL);
+	  }
+	}
 	    
 
-         /// Fill ToT
-         if(pixlayerdbm != 99 && m_hit_ToT[pixlayerdbm]) m_hit_ToT[pixlayerdbm]->Fill((*p_rdo)->getToT());
-	      if(pixlayer != 99 && m_hit_ToTMean_mod[pixlayer]) m_hit_ToTMean_mod[pixlayer]->Fill(m_manager->lumiBlockNumber(), (*p_rdo)->getToT());
-         if(pixlayerdbm == PixLayerDBM::kIBL){
-            int ibl2d3d = GetPixLayerIDIBL2D3DDBM(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_pixelid->eta_module(rdoID), m_doIBL);
-            if(m_hit_ToT[ibl2d3d]) m_hit_ToT[ibl2d3d]->Fill((*p_rdo)->getToT());
-         }
-         if(m_doLumiBlock && pixlayer != 99){
-            if(m_hit_ToT_LB_mod[pixlayer]) m_hit_ToT_LB_mod[pixlayer]->Fill((*p_rdo)->getToT());
-         }
-         if(pixlayer != 99 && m_ToT_etaphi_mod[pixlayer] ) m_ToT_etaphi_mod[pixlayer]->Fill(m_pixelid->eta_module(rdoID), m_pixelid->phi_module(rdoID), (*p_rdo)->getToT());
-
-
-         /// Monitoring!!
-         if(m_doOnline)
-         {
-            if(pixlayer != 99 && m_hit_ToT_tmp_mod[pixlayer]) m_hit_ToT_tmp_mod[pixlayer]->Fill((*p_rdo)->getToT());
-         }
-	 
-	      /// Not yet modified for IBL geometry:
-         if(m_doDetails){
-            int currentID = 1000000 + (-m_pixelid->barrel_ec(rdoID) + 2)*100000 + (m_pixelid->layer_disk(rdoID))*10000 + (m_pixelid->phi_module(rdoID))*100 + (m_pixelid->eta_module(rdoID) + 6); 
-	         if(m_Details_mod1_occupancy && currentID==DetailsMod1) m_Details_mod1_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
-            if(m_Details_mod2_occupancy && currentID==DetailsMod2) m_Details_mod2_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
-            if(m_Details_mod3_occupancy && currentID==DetailsMod3) m_Details_mod3_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
-            if(m_Details_mod4_occupancy && currentID==DetailsMod4) m_Details_mod4_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
-            if(m_Details_mod1_ToT && currentID==DetailsMod1) m_Details_mod1_ToT->Fill((*p_rdo)->getToT());     
-            if(m_Details_mod2_ToT && currentID==DetailsMod2) m_Details_mod2_ToT->Fill((*p_rdo)->getToT());     
-            if(m_Details_mod3_ToT && currentID==DetailsMod3) m_Details_mod3_ToT->Fill((*p_rdo)->getToT());     
-            if(m_Details_mod4_ToT && currentID==DetailsMod4) m_Details_mod4_ToT->Fill((*p_rdo)->getToT());  
-         }
-         if(m_pixel_occupancy) m_pixel_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID),rdoID, m_pixelid,m_doIBL);
-
-         if(pixlayer != 99) nhits_mod[pixlayer]++;
-         nhits++;
-         nhitsM1++;
-         nhitsM2++;
-         nhitsM3++;
-         nhitsM4++;
-
-	      ///if (m_doModules)//fill module hit arrays so we can calculate the number of hits/event/module 
-         ///{
-	         if(m_pixelid->barrel_ec(rdoID)==2 ) HitPerEventArray_disksA[m_pixelid->phi_module(rdoID)][m_pixelid->layer_disk(rdoID)]++;
-
-	         if(m_pixelid->barrel_ec(rdoID)==-2) HitPerEventArray_disksC[m_pixelid->phi_module(rdoID)][m_pixelid->layer_disk(rdoID)]++;
-
-	         if(m_pixelid->barrel_ec(rdoID)==0 )
-            {
- 	            if(m_doIBL && m_pixelid->layer_disk(rdoID)==0) HitPerEventArray_lI[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+10]++;
-               if(m_pixelid->layer_disk(rdoID)==0+m_doIBL) HitPerEventArray_l0[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+6]++;
-               if(m_pixelid->layer_disk(rdoID)==1+m_doIBL) HitPerEventArray_l1[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+6]++;
-               if(m_pixelid->layer_disk(rdoID)==2+m_doIBL) HitPerEventArray_l2[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+6]++;
-            } 
-         ///}
-        
-         /// Quick Status
-         int fephi=0;
-         int feeta=0;
-         if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
-           if(m_pixelid->phi_module(rdoID) == 0 && m_pixelid->eta_module(rdoID) < 0 && m_nhits_L0_B11_S2_C6)
-             m_nhits_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (16*fabs(6+m_pixelid->eta_module(rdoID)))+(8.0*fephi)+feeta );
-           nhits_L0_B11_S2_C6[ (int)(16*fabs(6+m_pixelid->eta_module(rdoID)))+(8*fephi)+feeta ]++;
-         }
-
-         if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
-           fewithHits_B0[m_pixelid->phi_module(rdoID)][(int)(fabs(6+m_pixelid->eta_module(rdoID)))][(int)((8*fephi)+feeta)] = 1;
-         }
-         if( pixlayer == PixLayer::kB1 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
-           fewithHits_B1[m_pixelid->phi_module(rdoID)][(int)(fabs(6+m_pixelid->eta_module(rdoID)))][(int)((8*fephi)+feeta)] = 1;
-         }
-         if( pixlayer == PixLayer::kB2 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
-           fewithHits_B2[m_pixelid->phi_module(rdoID)][(int)(fabs(6+m_pixelid->eta_module(rdoID)))][(int)((8*fephi)+feeta)] = 1;
-         }
-         if( pixlayer == PixLayer::kECA && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
-           fewithHits_EA[m_pixelid->phi_module(rdoID)][(int)m_pixelid->layer_disk(rdoID)][(int)((8*fephi)+feeta)] = 1;
-         }
-         if( pixlayer == PixLayer::kECC && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
-           fewithHits_EC[m_pixelid->phi_module(rdoID)][(int)m_pixelid->layer_disk(rdoID)][(int)((8*fephi)+feeta)] = 1;
-         }
-
-         ///////////End of main fill block////////////////////
+	/// Fill ToT
+	if (pixlayerdbm != 99 && m_hit_ToT[pixlayerdbm]) m_hit_ToT[pixlayerdbm]->Fill((*p_rdo)->getToT());
+	if (pixlayer != 99 && m_hit_ToTMean_mod[pixlayer]) m_hit_ToTMean_mod[pixlayer]->Fill(m_manager->lumiBlockNumber(), (*p_rdo)->getToT());
+	if (pixlayerdbm == PixLayerDBM::kIBL){
+	  int ibl2d3d = GetPixLayerIDIBL2D3DDBM(m_pixelid->barrel_ec(rdoID), m_pixelid->layer_disk(rdoID), m_pixelid->eta_module(rdoID), m_doIBL);
+	  if(m_hit_ToT[ibl2d3d]) m_hit_ToT[ibl2d3d]->Fill((*p_rdo)->getToT());
+	}
+	if (m_doLumiBlock && pixlayer != 99){
+	  if(m_hit_ToT_LB_mod[pixlayer]) m_hit_ToT_LB_mod[pixlayer]->Fill((*p_rdo)->getToT());
+	}
+	if (pixlayer != 99 && m_ToT_etaphi_mod[pixlayer] ) m_ToT_etaphi_mod[pixlayer]->Fill(m_pixelid->eta_module(rdoID), m_pixelid->phi_module(rdoID), (*p_rdo)->getToT());
+		
+	if (m_doOnline)
+	  {
+	    if(pixlayer != 99 && m_hit_ToT_tmp_mod[pixlayer]) m_hit_ToT_tmp_mod[pixlayer]->Fill((*p_rdo)->getToT());
+	  }
+	
+	/// Not yet modified for IBL geometry:
+	if (m_doDetails) {
+	  int currentID = 1000000 + (-m_pixelid->barrel_ec(rdoID) + 2)*100000 + (m_pixelid->layer_disk(rdoID))*10000 + (m_pixelid->phi_module(rdoID))*100 + (m_pixelid->eta_module(rdoID) + 6); 
+	  if(m_Details_mod1_occupancy && currentID==DetailsMod1) m_Details_mod1_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
+	  if(m_Details_mod2_occupancy && currentID==DetailsMod2) m_Details_mod2_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
+	  if(m_Details_mod3_occupancy && currentID==DetailsMod3) m_Details_mod3_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
+	  if(m_Details_mod4_occupancy && currentID==DetailsMod4) m_Details_mod4_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID));
+	  if(m_Details_mod1_ToT && currentID==DetailsMod1) m_Details_mod1_ToT->Fill((*p_rdo)->getToT());     
+	  if(m_Details_mod2_ToT && currentID==DetailsMod2) m_Details_mod2_ToT->Fill((*p_rdo)->getToT());     
+	  if(m_Details_mod3_ToT && currentID==DetailsMod3) m_Details_mod3_ToT->Fill((*p_rdo)->getToT());     
+	  if(m_Details_mod4_ToT && currentID==DetailsMod4) m_Details_mod4_ToT->Fill((*p_rdo)->getToT());  
+	}
+	if (m_pixel_occupancy) m_pixel_occupancy->Fill(m_pixelid->eta_index(rdoID),m_pixelid->phi_index(rdoID),rdoID, m_pixelid,m_doIBL);
+	
+	if (pixlayer != 99) nhits_mod[pixlayer]++;
+	nhits++;
+	nhitsM1++;
+	nhitsM2++;
+	nhitsM3++;
+	nhitsM4++;
+	
+	///if (m_doModuleas)//fill module hit arrays so we can calculate the number of hits/event/module 
+	///{
+	if(m_pixelid->barrel_ec(rdoID)==2 ) HitPerEventArray_disksA[m_pixelid->phi_module(rdoID)][m_pixelid->layer_disk(rdoID)]++;
+	if(m_pixelid->barrel_ec(rdoID)==-2) HitPerEventArray_disksC[m_pixelid->phi_module(rdoID)][m_pixelid->layer_disk(rdoID)]++;
+	if(m_pixelid->barrel_ec(rdoID)==0 )
+	  {
+	    if(m_doIBL && m_pixelid->layer_disk(rdoID)==0) HitPerEventArray_lI[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+10]++;
+	    if(m_pixelid->layer_disk(rdoID)==0+m_doIBL) HitPerEventArray_l0[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+6]++;
+	    if(m_pixelid->layer_disk(rdoID)==1+m_doIBL) HitPerEventArray_l1[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+6]++;
+	    if(m_pixelid->layer_disk(rdoID)==2+m_doIBL) HitPerEventArray_l2[m_pixelid->phi_module(rdoID)][m_pixelid->eta_module(rdoID)+6]++;
+	  } 
+	///}
+	
+	/// Quick Status
+	int fephi=0;
+	int feeta=0;
+	if (m_doOfflineAnalysis) {
+	  if ( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
+	    if (m_pixelid->phi_module(rdoID) == 0 && m_pixelid->eta_module(rdoID) < 0 && m_nhits_L0_B11_S2_C6) {
+	      m_nhits_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (16*fabs(6+m_pixelid->eta_module(rdoID)))+(8.0*fephi)+feeta );
+	      nhits_L0_B11_S2_C6[ (int)(16*fabs(6+m_pixelid->eta_module(rdoID)))+(8*fephi)+feeta ]++;
+	    }
+	  }
+	  /// for Pixel Operation TF
+	  if (pixlayer != 99 && m_hit_ToT_per_lumi_mod[pixlayer] && nGoodChannels_layer[pixlayer]>0) m_hit_ToT_per_lumi_mod[pixlayer]->Fill(m_manager->lumiBlockNumber(), (*p_rdo)->getToT(), 1.0/nGoodChannels_layer[pixlayer]);
+	  if (pixlayer == PixLayer::kIBL && m_hit_ToT_per_lumi_mod[pixlayeribl2d3d] && nGoodChannels_layer[pixlayeribl2d3d]>0) m_hit_ToT_per_lumi_mod[pixlayeribl2d3d]->Fill(m_manager->lumiBlockNumber(), (*p_rdo)->getToT(), 1.0/nGoodChannels_layer[pixlayeribl2d3d]);
+	}
+	if ( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
+	  fewithHits_B0[m_pixelid->phi_module(rdoID)][(int)(fabs(6+m_pixelid->eta_module(rdoID)))][(int)((8*fephi)+feeta)] = 1;
+	}
+	if ( pixlayer == PixLayer::kB1 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
+	  fewithHits_B1[m_pixelid->phi_module(rdoID)][(int)(fabs(6+m_pixelid->eta_module(rdoID)))][(int)((8*fephi)+feeta)] = 1;
+	}
+	if ( pixlayer == PixLayer::kB2 && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
+	  fewithHits_B2[m_pixelid->phi_module(rdoID)][(int)(fabs(6+m_pixelid->eta_module(rdoID)))][(int)((8*fephi)+feeta)] = 1;
+	}
+	if ( pixlayer == PixLayer::kECA && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
+	  fewithHits_EA[m_pixelid->phi_module(rdoID)][(int)m_pixelid->layer_disk(rdoID)][(int)((8*fephi)+feeta)] = 1;
+	}
+	if ( pixlayer == PixLayer::kECC && GetFEID( pixlayer, m_pixelid->phi_index(rdoID), m_pixelid->eta_index(rdoID), fephi, feeta) ){
+	  fewithHits_EC[m_pixelid->phi_module(rdoID)][(int)m_pixelid->layer_disk(rdoID)][(int)((8*fephi)+feeta)] = 1;
+	}
+	
+	///////////End of main fill block////////////////////
       }
-   } //end of ROD loop
+    } //end of RDO (hit) loop
    
    
 
-   ////////////////////Fill after event block////////////////
-   if(m_doOnline)//should we fill these mid run or only at the end?
-   {
+  ////////////////////Fill after event block////////////////
+  if (m_doOnline)//should we fill these mid run or only at the end?
+    {
       FillSummaryHistos(m_occupancy, m_occupancy_summary_mod[PixLayer::kECA], m_occupancy_summary_mod[PixLayer::kECC], 
-                                     m_occupancy_summary_mod[PixLayer::kIBL], m_occupancy_summary_mod[PixLayer::kB0], 
-                                     m_occupancy_summary_mod[PixLayer::kB1],  m_occupancy_summary_mod[PixLayer::kB2]);
-      FillSummaryHistos(m_occupancy, m_occupancy_summary_low_mod[PixLayer::kECA], m_occupancy_summary_low_mod[PixLayer::kECC], 
-                                     m_occupancy_summary_low_mod[PixLayer::kIBL], m_occupancy_summary_low_mod[PixLayer::kB0], 
-                                     m_occupancy_summary_low_mod[PixLayer::kB1],  m_occupancy_summary_low_mod[PixLayer::kB2]);
-      if(m_doRefresh) {
-         for(int i=0; i<PixLayer::COUNT; i++){
-            if( m_hit_ToT_Mon_mod[i] && m_hit_ToT_tmp_mod[i]) TH1FFillMonitoring(m_hit_ToT_Mon_mod[i], m_hit_ToT_tmp_mod[i]);
-         }
-         if(m_hitmap_mon) m_hitmap_mon->Fill2DMon(m_hitmap_tmp);
-      }
-   }//end of doOnline loop processing                                  
-
-
-   /// Fill number of hits per lLB
-   if(m_hits_per_lumi) m_hits_per_lumi->Fill(m_manager->lumiBlockNumber(), nhits);     
-   for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-      if(m_hits_per_lumi_mod[i]) m_hits_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(), nhits_mod[i]);
-   }
-
-   /// Fill average occupancy
-   double avgocc = 0;
-   double avgocc_mod[PixLayerIBL2D3D::COUNT] = {0};
-   double avgocc_wSync_mod[PixLayerIBL2D3D::COUNT] = {0};
-   if(nactivechannels>0) avgocc = nhits/nactivechannels;
-   if(m_avgocc_per_lumi) m_avgocc_per_lumi->Fill(m_manager->lumiBlockNumber(), avgocc);
-
-   //for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
-      if(nactivechannels_mod[i] > 0){
-         avgocc_mod[i] = nhits_mod[i]/nactivechannels_mod[i];
-      }
-      if( nactivechannels_wSync_mod[i] > 0){
-         avgocc_wSync_mod[i] = nhits_mod[i]/nactivechannels_wSync_mod[i];
-      }
-      ///
-      if(m_avgocc_per_lumi_mod[i]) m_avgocc_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(),avgocc_mod[i]);
-      if(m_avgocc_per_bcid_mod[i]) m_avgocc_per_bcid_mod[i]->Fill(prev_pix_bcid, avgocc_mod[i]);
-      if(m_avgocc_wSyncMod_per_lumi_mod[i]) m_avgocc_wSyncMod_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(),avgocc_wSync_mod[i]);
-      if(m_maxocc_per_lumi_mod[i]) m_maxocc_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(), avgocc_mod[i]);
-      if(m_maxocc_per_bcid_mod[i]){
-         int bin = m_maxocc_per_bcid_mod[i]->GetXaxis()->FindBin( 1.0*prev_pix_bcid );
-         double content = m_maxocc_per_bcid_mod[i]->GetBinContent( bin );
-         if( avgocc_mod[i] > content ) m_maxocc_per_bcid_mod[i]->SetBinContent(bin, avgocc_mod[i]);
+			m_occupancy_summary_mod[PixLayer::kIBL], m_occupancy_summary_mod[PixLayer::kB0], 
+			m_occupancy_summary_mod[PixLayer::kB1],  m_occupancy_summary_mod[PixLayer::kB2]);
+      if(m_occupancy_time1&&m_occupancy_time2&&m_occupancy_time3) FillTimeHisto(double(nhits/(1744.0+280*m_doIBL)),m_occupancy_time1, m_occupancy_time2, m_occupancy_time3,10.,60.,360. );
+      if (m_doRefresh) {
+	for(int i=0; i<PixLayer::COUNT; i++)
+	  if( m_hit_ToT_Mon_mod[i] && m_hit_ToT_tmp_mod[i]) TH1FFillMonitoring(m_hit_ToT_Mon_mod[i], m_hit_ToT_tmp_mod[i]);
+	if ( m_hitmap_tmp && m_hitmap_mon) {
+	  if ( m_occupancy_pix_evt ) m_occupancy_pix_evt->FillFromMap(m_hitmap_tmp, false);
+	  m_hitmap_mon->Fill2DMon(m_hitmap_tmp);
+	}
       }
-      if(m_totalhits_per_bcid_mod[i]) m_totalhits_per_bcid_mod[i]->Fill(1.0*prev_pix_bcid, nhits_mod[i]);
-      if(avgocc_mod[i] > 0.0007 && m_nlargeevt_per_lumi_mod[i]) m_nlargeevt_per_lumi_mod[i]->Fill( m_lumiBlockNum );
-      //if(m_avgocc_LBvsBCID_mod[i]) m_avgocc_LBvsBCID_mod[i]->Fill(1.0*prev_pix_bcid, m_manager->lumiBlockNumber(), avgocc_mod[i] );
-   }
-
-   if(avgocc_mod[PixLayer::kB0] > 0 && m_avgocc_ratioIBLB0_per_lumi) 
-      m_avgocc_ratioIBLB0_per_lumi->Fill(m_manager->lumiBlockNumber(), avgocc_mod[PixLayer::kIBL]/avgocc_mod[PixLayer::kB0]);
-
-   if(m_occupancy_time1&&m_occupancy_time2&&m_occupancy_time3) FillTimeHisto(double(nhits/(1744.0+280*m_doIBL)),m_occupancy_time1, m_occupancy_time2, m_occupancy_time3,10.,60.,360. );
-
-   if(m_Atlas_BCID_hits) m_Atlas_BCID_hits->Fill(prev_pix_bcid,nhits);
-
-   /// Fill the #hit per module per event
-   //if(!m_doOnline){
-   for(int i=0; i<PixLayer::COUNT; i++){
-      for(int phi=0; phi<nmod_phi[i]; phi++){
-         for(int eta=0; eta<nmod_eta[i]; eta++){
-	   if(i == PixLayer::kECA && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_disksA[phi][eta] );
-	   if(i == PixLayer::kECC && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_disksC[phi][eta] );
-	   if(i == PixLayer::kB0  && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_l0[phi][eta]);
-      if(i == PixLayer::kB1  && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_l1[phi][eta]);
-      if(i == PixLayer::kB2  && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_l2[phi][eta]);
-	   if(i == PixLayer::kIBL && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_lI[phi][eta]);
-         }
-      }
-   }
-
-   /// Put the #hits per event for each layer
-   if( m_event == 0){
-      for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-         m_hitocc_stock[i].push_back( avgocc_mod[i] );
-      }
-   }else if( !newLumiBlockFlag() ){
-      for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-         m_hitocc_stock[i].push_back( avgocc_mod[i] );
+    } //end of doOnline loop processing                                  
+  
+  /// Fill number of hits per lLB
+  if (m_hits_per_lumi) m_hits_per_lumi->Fill(m_manager->lumiBlockNumber(), nhits);     
+  for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++) 
+    if (m_hits_per_lumi_mod[i]) m_hits_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(), nhits_mod[i]);
+  
+  /// Fill average occupancy
+  if ( !m_doOnline && m_occupancy_pix_evt && m_hitmap_tmp) m_occupancy_pix_evt->FillFromMap(m_hitmap_tmp, true);
+  
+  double avgocc = 0;
+  double avgocc_mod[PixLayerIBL2D3D::COUNT] = {0};
+  double avgocc_active_mod[PixLayerIBL2D3D::COUNT] = {0};
+  if(nActiveChannels_total>0) avgocc = nhits/nActiveChannels_total;
+  if(m_avgocc_per_lumi) m_avgocc_per_lumi->Fill(m_manager->lumiBlockNumber(), avgocc);
+
+  if (m_doOfflineAnalysis) {
+    for( int i=0; i<PixLayerIBL2D3D::COUNT; i++)
+      if(m_avgocc_per_bcid_per_lumi_mod[i]) m_avgocc_per_bcid_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(), pix_rod_bcid, avgocc_mod[i]);  
+  }
+
+  for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
+    if(nGoodChannels_layer[i] > 0){
+      avgocc_mod[i] = nhits_mod[i]/nGoodChannels_layer[i];
+    }
+    if( nActiveChannels_layer[i] > 0){
+      avgocc_active_mod[i] = nhits_mod[i]/nActiveChannels_layer[i];
+    }
+    ///
+    if(m_avgocc_per_lumi_mod[i]) m_avgocc_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(),avgocc_mod[i]);
+    if(m_avgocc_per_bcid_mod[i]) m_avgocc_per_bcid_mod[i]->Fill(pix_rod_bcid, avgocc_mod[i]);
+    if(m_avgocc_active_per_lumi_mod[i]) m_avgocc_active_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(),avgocc_active_mod[i]);
+
+    if(m_maxocc_per_lumi_mod[i]) m_maxocc_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(), avgocc_mod[i]);
+    if(m_maxocc_per_bcid_mod[i]){
+      int bin = m_maxocc_per_bcid_mod[i]->GetXaxis()->FindBin( 1.0*pix_rod_bcid );
+      double content = m_maxocc_per_bcid_mod[i]->GetBinContent( bin );
+      if( avgocc_mod[i] > content ) m_maxocc_per_bcid_mod[i]->SetBinContent(bin, avgocc_mod[i]);
+    }
+    if(m_totalhits_per_bcid_mod[i]) m_totalhits_per_bcid_mod[i]->Fill(1.0*pix_rod_bcid, nhits_mod[i]);
+    if(avgocc_mod[i] > 0.0007 && m_nlargeevt_per_lumi_mod[i]) m_nlargeevt_per_lumi_mod[i]->Fill( m_lumiBlockNum );
+  }
+  
+  if(avgocc_mod[PixLayer::kB0] > 0 && m_avgocc_ratioIBLB0_per_lumi) 
+    m_avgocc_ratioIBLB0_per_lumi->Fill(m_manager->lumiBlockNumber(), avgocc_mod[PixLayer::kIBL]/avgocc_mod[PixLayer::kB0]);
+  
+  
+  if(m_Atlas_BCID_hits) m_Atlas_BCID_hits->Fill(pix_rod_bcid,nhits);
+  
+  /// Fill the #hit per module per event
+  for(int i=0; i<PixLayer::COUNT; i++){
+    for(int phi=0; phi<nmod_phi[i]; phi++){
+      for(int eta=0; eta<nmod_eta[i]; eta++){
+	if(i == PixLayer::kECA && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_disksA[phi][eta] );
+	if(i == PixLayer::kECC && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_disksC[phi][eta] );
+	if(i == PixLayer::kB0  && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_l0[phi][eta]);
+	if(i == PixLayer::kB1  && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_l1[phi][eta]);
+	if(i == PixLayer::kB2  && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_l2[phi][eta]);
+	if(i == PixLayer::kIBL && m_nhits_mod[i]) m_nhits_mod[i]->Fill( HitPerEventArray_lI[phi][eta]);
       }
-   }
-   /// Fill some histograms only if =< 50% of modules disabled
-   if(!m_majorityDisabled) {
-
+    }
+  }
+  
+  /// Put the #hits per event for each layer
+  if ( m_event == 0) {
+    for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++) {
+      m_hitocc_stock[i].push_back( avgocc_mod[i] );
+    }
+  } else if ( !newLumiBlockFlag() ) {
+    for( int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++) {
+      m_hitocc_stock[i].push_back( avgocc_mod[i] );
+    }
+  }
+  /// Fill some histograms only if =< 50% of modules disabled
+  if(!m_majorityDisabled) {
+    if (m_doDetails) {
       if(m_Details_mod1_num_hits) m_Details_mod1_num_hits->Fill(nhitsM1);
       if(m_Details_mod2_num_hits) m_Details_mod2_num_hits->Fill(nhitsM2);
       if(m_Details_mod3_num_hits) m_Details_mod3_num_hits->Fill(nhitsM3);
       if(m_Details_mod4_num_hits) m_Details_mod4_num_hits->Fill(nhitsM4);
-     
-      if(m_num_hits) m_num_hits->Fill(nhits);
-      if(m_num_hits_low) m_num_hits_low->Fill(nhits);
-      if(m_doLumiBlock){ 
-         if(m_num_hits_LB) m_num_hits_LB->Fill(nhits);
-         if(m_num_hits_low_LB) m_num_hits_low_LB->Fill(nhits);
-      }
-
-      if (m_doModules) 
+    }
+    if(m_num_hits) m_num_hits->Fill(nhits);
+    if(m_doLumiBlock){ 
+      if(m_num_hits_LB) m_num_hits_LB->Fill(nhits);
+    }
+    
+    if (m_doModules) 
       {
-	      PixelID::const_id_iterator idIt    = m_pixelid->wafer_begin();
-	      PixelID::const_id_iterator idItEnd = m_pixelid->wafer_end();
-	      for (; idIt != idItEnd; ++idIt) {
-	         Identifier WaferID = *idIt;
-	         if(m_pixelid->barrel_ec(WaferID)==2 ){
-	            m_hit_num_mod->Fill( HitPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	         }
-	         if(m_pixelid->barrel_ec(WaferID)==-2) m_hit_num_mod->Fill( HitPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	         if(m_pixelid->barrel_ec(WaferID)==0 )
-	         {
-		         if(m_doIBL && m_pixelid->layer_disk(WaferID)==0) {
-		            m_hit_num_mod->Fill( HitPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
-		         }
-		         if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) {
-		            m_hit_num_mod->Fill( HitPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		         }
-		         if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_hit_num_mod->Fill( HitPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		         if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_hit_num_mod->Fill( HitPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-	         }  
-	     
-	         if (m_doLumiBlock) {
-	            if(m_pixelid->barrel_ec(WaferID)==2 ) m_hit_num_mod_LB->Fill( HitPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	            if(m_pixelid->barrel_ec(WaferID)==-2) m_hit_num_mod_LB->Fill( HitPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
-	            if(m_pixelid->barrel_ec(WaferID)==0 )                                                                                                                                       
-		         {
-		            if(m_doIBL && m_pixelid->layer_disk(WaferID)==0) m_hit_num_mod_LB->Fill( HitPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
-		            if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) m_hit_num_mod_LB->Fill( HitPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		            if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_hit_num_mod_LB->Fill( HitPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		            if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_hit_num_mod_LB->Fill( HitPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
-		         }  
-	         }
+	PixelID::const_id_iterator idIt    = m_pixelid->wafer_begin();
+	PixelID::const_id_iterator idItEnd = m_pixelid->wafer_end();
+	for (; idIt != idItEnd; ++idIt) {
+	  Identifier WaferID = *idIt;
+	  if(m_pixelid->barrel_ec(WaferID)==2 ){
+	    m_hit_num_mod->Fill( HitPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	  }
+	  if(m_pixelid->barrel_ec(WaferID)==-2) m_hit_num_mod->Fill( HitPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	  if(m_pixelid->barrel_ec(WaferID)==0 )
+	    {
+	      if(m_doIBL && m_pixelid->layer_disk(WaferID)==0) {
+		m_hit_num_mod->Fill( HitPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
+	      }
+	      if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) {
+		 m_hit_num_mod->Fill( HitPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
 	      }
+	      if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_hit_num_mod->Fill( HitPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+	      if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_hit_num_mod->Fill( HitPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+	    }  
+	  
+	  if (m_doLumiBlock) {
+	    if(m_pixelid->barrel_ec(WaferID)==2 ) m_hit_num_mod_LB->Fill( HitPerEventArray_disksA[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	    if(m_pixelid->barrel_ec(WaferID)==-2) m_hit_num_mod_LB->Fill( HitPerEventArray_disksC[m_pixelid->phi_module(WaferID)][m_pixelid->layer_disk(WaferID)], WaferID, m_pixelid ,m_doIBL);
+	    if(m_pixelid->barrel_ec(WaferID)==0 )                                                                                                                                       
+	      {
+		if(m_doIBL && m_pixelid->layer_disk(WaferID)==0) m_hit_num_mod_LB->Fill( HitPerEventArray_lI[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+10], WaferID, m_pixelid ,m_doIBL);
+		if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) m_hit_num_mod_LB->Fill( HitPerEventArray_l0[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+		if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_hit_num_mod_LB->Fill( HitPerEventArray_l1[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+		if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_hit_num_mod_LB->Fill( HitPerEventArray_l2[m_pixelid->phi_module(WaferID)][m_pixelid->eta_module(WaferID)+6], WaferID, m_pixelid ,m_doIBL);
+	      }  
+	  }
+	}
       }
-   }
-
-   /// Quick Status
-   for(int i=0 ; i<96 ; i++){
-     if( m_occupancy_L0_B11_S2_C6 ) m_occupancy_L0_B11_S2_C6->Fill(m_manager->lumiBlockNumber(), i, (1.0*nhits_L0_B11_S2_C6[i]/(18.0*164.0)));
-   }
-
-   for(int i=0; i<PixLayer::COUNT; i++){
-      for( int phi=0; phi<nmod_phi[i]; phi++){
-         for(int eta=0; eta<nmod_eta[i]; eta++){
-           int nfes = 0;
-           for(int j=0 ; j<16 ; j++){
-             if(i==PixLayer::kECA) nfes += fewithHits_EA[phi][eta][j];
-             if(i==PixLayer::kECC) nfes += fewithHits_EC[phi][eta][j];
-             if(i==PixLayer::kB0)  nfes += fewithHits_B0[phi][eta][j];
-             if(i==PixLayer::kB1)  nfes += fewithHits_B1[phi][eta][j];
-             if(i==PixLayer::kB2)  nfes += fewithHits_B2[phi][eta][j];
-           }
-           //std::cout << "DDDDD " << i << " " << phi << " " << eta << " " << nfes << std::endl;
-           if(m_nFEswithHits_mod[i]) m_nFEswithHits_mod[i]->Fill(m_manager->lumiBlockNumber(), eta, nfes);
-         }
-       }
-   }
-
-   ////////////////////End fill after event block///////////
-   if(nhits==0 && m_storegate_errors) m_storegate_errors->Fill(1.,4.);//first entry for RDO, second for size = 0
-      
-   return StatusCode::SUCCESS;
+  }
+  
+  /// Quick Status
+  if (m_doOfflineAnalysis) {
+    if( m_occupancy_L0_B11_S2_C6 ) {
+      for(int i=0 ; i<96 ; i++)
+	m_occupancy_L0_B11_S2_C6->Fill(m_manager->lumiBlockNumber(), i, (1.0*nhits_L0_B11_S2_C6[i]/(18.0*164.0)));
+    }
+  }
+  
+  for(int i=0; i<PixLayer::COUNT; i++){
+    for( int phi=0; phi<nmod_phi[i]; phi++){
+      for(int eta=0; eta<nmod_eta[i]; eta++){
+	int nfes = 0;
+	for(int j=0 ; j<16 ; j++){
+	  if(i==PixLayer::kECA) nfes += fewithHits_EA[phi][eta][j];
+	  if(i==PixLayer::kECC) nfes += fewithHits_EC[phi][eta][j];
+	  if(i==PixLayer::kB0)  nfes += fewithHits_B0[phi][eta][j];
+	  if(i==PixLayer::kB1)  nfes += fewithHits_B1[phi][eta][j];
+	  if(i==PixLayer::kB2)  nfes += fewithHits_B2[phi][eta][j];
+	}
+	if(m_nFEswithHits_mod[i]) m_nFEswithHits_mod[i]->Fill(m_manager->lumiBlockNumber(), eta, nfes);
+      }
+    }
+  }
+  
+  ////////////////////End fill after event block///////////
+  if(nhits==0 && m_storegate_errors) m_storegate_errors->Fill(1.,4.);//first entry for RDO, second for size = 0
+  
+  return StatusCode::SUCCESS;
 }
 
 StatusCode PixelMainMon::ProcHitsMon(void)
 {
    
-   double events = m_event;
-   if(events==0) return StatusCode::SUCCESS; //if no events, the rest of the test is pointless and would divide by 0
-
-   if(m_doPixelOccupancy && m_pixel_occupancy && (m_doNoiseMap||m_doSpectrum) )//flags need to be set, and the right histograms need to exist
-   {
-      if(msgLvl(MSG::WARNING)){
-         msg(MSG::WARNING)  << "Starting to fill pixel granularity histograms." << endmsg;   
-         msg(MSG::WARNING)  << "This is very CPU and memory intensive and should not normmally be turned on" << endmsg;   
-         msg(MSG::WARNING)  << "Please be patient, it will take a while to fill these histograms" << endmsg;   
-      }
-
-      //if(m_pixel_noise_map) m_pixel_noise_map->Reset();
-      //if(m_pixel_occupancy_spectrum) m_pixel_occupancy_spectrum->Reset();
-
-      PixelID::const_id_iterator idIt    = m_pixelid->wafer_begin();
-      PixelID::const_id_iterator idItEnd = m_pixelid->wafer_end();
-      for (; idIt != idItEnd; ++idIt) 
-      {
-         Identifier WaferID = *idIt;
-         for(int phiIndex=0; phiIndex < m_pixelid->phi_index_max(WaferID); phiIndex++)
-         {
-            for(int etaIndex=0; etaIndex < m_pixelid->eta_index_max(WaferID); etaIndex++)
-            {
-               double occ_spec=0;
-               if(m_pixelid->barrel_ec(WaferID)==2 ) occ_spec = m_pixel_occupancy->A[m_pixelid->layer_disk(WaferID)][m_pixelid->phi_module(WaferID)]->GetBinContent(etaIndex,phiIndex);
-               if(m_pixelid->barrel_ec(WaferID)==-2) occ_spec = m_pixel_occupancy->C[m_pixelid->layer_disk(WaferID)][m_pixelid->phi_module(WaferID)]->GetBinContent(etaIndex,phiIndex);
-               if(m_pixelid->barrel_ec(WaferID)==0 )                                                                                                                                       
-               {
-		            if(m_pixelid->layer_disk(WaferID)==0 && m_doIBL) occ_spec = m_pixel_occupancy->IBL[m_pixelid->eta_module(WaferID)+10][m_pixelid->phi_module(WaferID)]->GetBinContent(etaIndex,phiIndex);
-		            if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) occ_spec = m_pixel_occupancy->B0[m_pixelid->eta_module(WaferID)+6][m_pixelid->phi_module(WaferID)]->GetBinContent(etaIndex,phiIndex);
-                  if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) occ_spec = m_pixel_occupancy->B1[m_pixelid->eta_module(WaferID)+6][m_pixelid->phi_module(WaferID)]->GetBinContent(etaIndex,phiIndex);
-                  if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) occ_spec = m_pixel_occupancy->B2[m_pixelid->eta_module(WaferID)+6][m_pixelid->phi_module(WaferID)]->GetBinContent(etaIndex,phiIndex);
-               }  
-               occ_spec = occ_spec/events;
-
-               //if(m_pixel_noise_map) m_pixel_noise_map->Fill(etaIndex,phiIndex,WaferID, m_pixelid,occ_spec,m_doIBL);   //fill the right pixel, give it pointers to the right module, and a weight of 'occ_spec'
-               //if(m_pixel_occupancy_spectrum) m_pixel_occupancy_spectrum->Fill(occ_spec, WaferID, m_pixelid, m_doIBL);   //fill the pixel occupancy and give a pointer to the right module.  Will fill 80M times total in this loop...
-            }
-         }
-      }
-   }
-   if(m_doOffline) //run these only for offline
-   {
+  double events = m_event;
+  if (events==0) return StatusCode::SUCCESS; //if no events, the rest of the test is pointless and would divide by 0
+  
+  if (m_doOffline)
+    {
       FillSummaryHistos(m_occupancy, m_occupancy_summary_mod[PixLayer::kECA], m_occupancy_summary_mod[PixLayer::kECC], 
-                                     m_occupancy_summary_mod[PixLayer::kIBL], m_occupancy_summary_mod[PixLayer::kB0], 
-                                     m_occupancy_summary_mod[PixLayer::kB1],  m_occupancy_summary_mod[PixLayer::kB2]);
-      FillSummaryHistos(m_occupancy, m_occupancy_summary_low_mod[PixLayer::kECA], m_occupancy_summary_low_mod[PixLayer::kECC], 
-                                     m_occupancy_summary_low_mod[PixLayer::kIBL], m_occupancy_summary_low_mod[PixLayer::kB0], 
-                                     m_occupancy_summary_low_mod[PixLayer::kB1],  m_occupancy_summary_low_mod[PixLayer::kB2]);
-   }
-
-   if(m_average_pixocc) {  
-      if( m_num_hits->GetEntries() == m_event ){
-         m_event2 = m_num_hits->GetEntries();
-      }else{
-      }
-
-   }
-
+			m_occupancy_summary_mod[PixLayer::kIBL], m_occupancy_summary_mod[PixLayer::kB0], 
+			m_occupancy_summary_mod[PixLayer::kB1],  m_occupancy_summary_mod[PixLayer::kB2]);
+    }
 
-   //for( int i=0; i<PixLayer::COUNT; i++){
-   //   double max = 0;
-   //   for( unsigned int j=0; j<m_hitocc_stock[i].size(); j++){
-   //      if(max < m_hitocc_stock[i].at(j)) max = m_hitocc_stock[i].at(j);
-   //   }
-   //   if(m_maxocc_per_lumi_mod[i] && max != 0) m_maxocc_per_lumi_mod[i]->Fill(m_lumiBlockNum, max);
-   //}
+  if (m_average_pixocc && m_num_hits->GetEntries() == m_event) {  
+    m_event2 = m_num_hits->GetEntries();     //FIXME USED in Clusters!!!
+  }
 
   return StatusCode::SUCCESS;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMainMon.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMainMon.cxx
index eb5af2595f472b8f0db8a546088047a0e6f24ab7..2db9485b677ddc90f346bca627cbee2245a831da 100755
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMainMon.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMainMon.cxx
@@ -80,8 +80,8 @@ bool is_file_exist(const char *fileName)
 }
 
 PixelMainMon::PixelMainMon(const std::string & type, 
-      const std::string & name,
-      const IInterface* parent) :
+   const std::string & name,
+   const IInterface* parent) :
    ManagedMonitorToolBase(type, name, parent),
    m_pixelCondSummarySvc("PixelConditionsSummarySvc",name),
    m_ErrorSvc("PixelByteStreamErrorsSvc",name),
@@ -109,28 +109,29 @@ PixelMainMon::PixelMainMon(const std::string & type,
 
    //declareProperty("TrkSummaryTool",            m_trkSummaryTool);
 
-   declareProperty("RDOName",         m_Pixel_RDOName         = "PixelRDOs");  //storegate container names
-   declareProperty("RODErrorName",    m_detector_error_name   = "pixel_error_summary");   
-   declareProperty("SpacePointName",  m_Pixel_SpacePointsName = "PixelSpacePoints"); 
-   declareProperty("ClusterName",     m_Pixel_SiClustersName  = "PixelClusters");  
-   declareProperty("TrackName",       m_TracksName            = "Pixel_Cosmic_Tracks");         
-
-   declareProperty("onTrack",         m_doOnTrack        = false); //using inner detector tracks
-   declareProperty("onPixelTrack",    m_doOnPixelTrack   = false); //using pixel only tracks
-   declareProperty("do2DMaps",        m_do2DMaps         = false);   
-   declareProperty("doModules",       m_doModules        = false); 
-   declareProperty("doFEChipSummary", m_doFEChipSummary  = false);
-   declareProperty("doOffline",       m_doOffline        = false);
-   declareProperty("doOnline",        m_doOnline         = false);
-   declareProperty("doLowOccupancy",  m_doLowOccupancy   = false);
-   declareProperty("doHighOccupancy", m_doHighOccupancy  = false);
-   declareProperty("doPixelOccupancy",m_doPixelOccupancy = false); 
-   declareProperty("doRodSim",        m_doRodSim         = false);
-   declareProperty("doDetails",       m_doDetails        = false);
-   declareProperty("doSpectrum",      m_doSpectrum       = false);
-   declareProperty("doNoiseMap",      m_doNoiseMap       = false);
-   declareProperty("doTiming",        m_doTiming         = false);
-   declareProperty("doLumiBlock",     m_doLumiBlock      = false);
+   declareProperty("RDOName",          m_Pixel_RDOName         = "PixelRDOs");  //storegate container names
+   declareProperty("RODErrorName",     m_detector_error_name   = "pixel_error_summary");   
+   declareProperty("SpacePointName",   m_Pixel_SpacePointsName = "PixelSpacePoints"); 
+   declareProperty("ClusterName",      m_Pixel_SiClustersName  = "PixelClusters");  
+   declareProperty("TrackName",        m_TracksName            = "Pixel_Cosmic_Tracks");         
+
+   declareProperty("onTrack",          m_doOnTrack         = false); //using inner detector tracks
+   declareProperty("onPixelTrack",     m_doOnPixelTrack    = false); //using pixel only tracks
+   declareProperty("do2DMaps",         m_do2DMaps          = false);   
+   declareProperty("doModules",        m_doModules         = false); 
+   declareProperty("doFEChipSummary",  m_doFEChipSummary   = false);
+   declareProperty("doOffline",        m_doOffline         = false);
+   declareProperty("doOnline",         m_doOnline          = false);
+   declareProperty("doLowOccupancy",   m_doLowOccupancy    = false);
+   declareProperty("doHighOccupancy",  m_doHighOccupancy   = false);
+   declareProperty("doPixelOccupancy", m_doPixelOccupancy  = false); 
+   declareProperty("doRodSim",         m_doRodSim          = false);
+   declareProperty("doDetails",        m_doDetails         = false);
+   declareProperty("doSpectrum",       m_doSpectrum        = false);
+   declareProperty("doNoiseMap",       m_doNoiseMap        = false);
+   declareProperty("doTiming",         m_doTiming          = false);
+   declareProperty("doLumiBlock",      m_doLumiBlock       = false);
+   declareProperty("doOfflineAnalysis",m_doOfflineAnalysis = false); // !!! if true using a lot of memory to be absolutely avoided for monitoring
 
    declareProperty("doRDO",           m_doRDO        = false); //flags to turn on/off parts of the code
    declareProperty("doErrors",        m_doRODError   = false);
@@ -166,40 +167,96 @@ PixelMainMon::PixelMainMon(const std::string & type,
    m_nRefresh = 0;
    m_nRefresh5min = 0;
    m_ntracksPerEvent = 0;
+   memset(m_nGood_mod, 0, sizeof(m_nGood_mod));
+   memset(m_nActive_mod, 0, sizeof(m_nActive_mod));
+   m_pixelid =0;
+   m_event =0;
+   m_event2 =0;
+   m_startTime =0; 
+   m_majorityDisabled =0;
+   m_lumiBlockNum =0;
+   m_currentTime =0;
+   m_LBstartTime =0;
+   m_LBendTime =0;
+   m_runNum =0;
+   m_idHelper =0;
+   m_Pixel_clcontainer =0;
+   m_Pixel_spcontainer =0;
+   m_tracks =0;
 
-   //initalize all the histograms to 0 to start
+   ///
+   /// Initalize all pointers for histograms
+   /// 
+   ///
+   /// Event info
+   ///
    m_events_per_lumi = 0;
-   m_storegate_errors = 0;
-   m_mu_vs_lumi = 0;
    m_mu_vs_bcid = 0;
-   m_hiteff_mod = 0;
+   m_mu_vs_lumi = 0;
+   m_storegate_errors = 0;
+   ///
+   /// Hits
+   ///
+   /// number of hits
    m_hits_per_lumi = 0;
-
+   m_num_hits = 0;
+   m_hitmap_tmp = 0;
+   m_hitmap_mon = 0;
+   memset(m_nhits_mod, 0, sizeof(m_nhits_mod));
+   memset(m_hits_per_lumi_mod, 0, sizeof(m_hits_per_lumi_mod));
+   memset(m_nlargeevt_per_lumi_mod, 0, sizeof(m_nlargeevt_per_lumi_mod));
+   memset(m_totalhits_per_bcid_mod, 0, sizeof(m_totalhits_per_bcid_mod));
+   /// hit occupancy
    m_avgocc_per_lumi = 0;
-
-   m_Lvl1A = 0;
+   m_avgocc_ratioIBLB0_per_lumi = 0;
+   memset(m_avgocc_per_lumi_mod, 0, sizeof(m_avgocc_per_lumi_mod));
+   memset(m_avgocc_per_bcid_mod, 0, sizeof(m_avgocc_per_bcid_mod));
+   memset(m_avgocc_per_bcid_per_lumi_mod, 0, sizeof(m_avgocc_per_bcid_per_lumi_mod));
+   memset(m_avgocc_active_per_lumi_mod, 0, sizeof(m_avgocc_active_per_lumi_mod));
+   memset(m_maxocc_per_lumi_mod, 0, sizeof(m_maxocc_per_lumi_mod));
+   memset(m_maxocc_per_bcid_mod, 0, sizeof(m_maxocc_per_bcid_mod));
+   m_occupancy = 0;
+   m_average_pixocc = 0;
+   m_occupancy_pix_evt = 0;
+   m_occupancy_10min = 0;
+   m_occupancy_time1 = 0;
+   m_occupancy_time2 = 0;
+   m_occupancy_time3 = 0;
+   memset(m_occupancy_summary_mod, 0, sizeof(m_occupancy_summary_mod));
+   memset(m_nFEswithHits_mod, 0, sizeof(m_nFEswithHits_mod));
+   /// hit tot
+   memset(m_hit_ToT, 0, sizeof(m_hit_ToT));
+   memset(m_hit_ToT_per_lumi_mod, 0, sizeof(m_hit_ToT_per_lumi_mod));
+   memset(m_hit_ToT_tmp_mod, 0, sizeof(m_hit_ToT_tmp_mod));
+   memset(m_hit_ToT_Mon_mod, 0, sizeof(m_hit_ToT_Mon_mod));
+   memset(m_ToT_etaphi_mod, 0, sizeof(m_ToT_etaphi_mod));
+   memset(m_hit_ToTMean_mod, 0, sizeof(m_hit_ToTMean_mod));
+   /// timing
    m_Lvl1ID_PIX = 0;                
    m_Lvl1ID_IBL = 0;                
-   m_Lvl1ID_diff_mod_ATLAS_per_LB = 0;
-   m_Lvl1ID_absdiff_mod_ATLAS_per_LB = 0;
-   m_BCID = 0;                  
    m_Atlas_BCID = 0;            
    m_Atlas_BCID_hits = 0;            
+   m_BCID = 0;                  
    m_BCID_Profile = 0;          
-   ///m_diff_ROD_BCID = 0;         
-   m_occupancy = 0;
-   m_occupancy_10min = 0;
-   m_average_pixocc = 0;
-   m_avgocc_ratioIBLB0_per_lumi = 0;
-   m_hitmap_tmp = 0;
+   m_Lvl1A = 0;
+   memset(m_Lvl1A_mod, 0, sizeof(m_Lvl1A_mod));
+   memset(m_Lvl1A_10min_mod, 0, sizeof(m_Lvl1A_10min_mod));
+   memset(m_Lvl1ID_diff_mod_ATLAS_mod, 0, sizeof(m_Lvl1ID_diff_mod_ATLAS_mod));
+   memset(m_diff_ROD_vs_Module_BCID_mod, 0, sizeof(m_diff_ROD_vs_Module_BCID_mod));
+   m_Lvl1ID_diff_mod_ATLAS_per_LB = 0;
+   m_Lvl1ID_absdiff_mod_ATLAS_per_LB = 0;
+   /// Quick status
+   m_nhits_L0_B11_S2_C6 = 0;
+   m_occupancy_L0_B11_S2_C6 = 0;
+   /// module histo
+   m_hit_num_mod = 0;
+   m_hiteff_mod = 0;
    m_FE_chip_hit_summary = 0;
-   m_occupancy_time1 = 0;
-   m_occupancy_time2 = 0;
-   m_occupancy_time3 = 0;
-   m_num_hits = 0;
-   m_num_hits_low = 0;
+   m_pixel_occupancy = 0;
+   /// ROD Sim
    m_RodSim_BCID_minus_ToT = 0;
    m_RodSim_FrontEnd_minus_Lvl1ID = 0;
+   /// details
    m_Details_mod1_num_hits = 0;
    m_Details_mod2_num_hits = 0;
    m_Details_mod3_num_hits = 0;
@@ -212,42 +269,51 @@ PixelMainMon::PixelMainMon(const std::string & type,
    m_Details_mod2_ToT = 0;     
    m_Details_mod3_ToT = 0;     
    m_Details_mod4_ToT = 0;  
-   m_pixel_occupancy = 0;
-   //m_pixel_noise_map = 0;
-   //m_pixel_occupancy_spectrum = 0;
-   m_hit_num_mod = 0;
-
-   //-------------------
-   // track histograms
-   //-------------------
-   m_degFactorMap = 0;
-   m_degFactorMap_per_lumi = 0;
-   m_degFactorMap_eta_per_lumi = 0;
-   //m_degFactorMap_phi_per_lumi = 0;
+   ///
+   /// track histograms
+   ///
+   /// track quality
    m_track_res_phi = 0; 
    m_track_pull_phi = 0;
    m_track_res_eta = 0; 
    m_track_pull_eta = 0;
    m_track_chi2 = 0;
-   m_track_chi2_bcl1 = 0;
-   m_track_chi2_bcl0 = 0;
-   m_track_chi2_bclgt1 = 0;
-   m_track_chi2_bcl1_highpt = 0;
-   m_track_chi2_bcl0_highpt = 0;
-   m_track_chi2_bclgt1_highpt = 0;
+   /// the number of tracks
    m_tracksPerEvt_per_lumi = 0;
-   //m_tracksPerEvtPerMu_per_lumi = 0;
-   
-   //m_cluster_occupancy_FE_B0 = 0;
-   m_cluster_occupancy_FE_B0_mon = 0;
-   
+   m_tracksPerEvtPerMu_per_lumi = 0;
+   /// track state on surface
+   m_tsos_hitmap = 0;
+   m_tsos_holemap = 0;
+   m_tsos_outliermap = 0;
+   //m_tsos_measratio = 0;
+   //m_tsos_holeratio = 0;
+   m_misshits_ratio = 0;
+   m_tsos_holeratio_tmp = 0;
+   m_tsos_holeratio_mon = 0;
+   m_misshits_ratio_tmp = 0;
+   m_misshits_ratio_mon = 0;
+   /// hit efficiency
+   memset(m_hiteff_incl_mod, 0, sizeof(m_hiteff_incl_mod));
+   /// Lorentz Angle
    m_LorentzAngle_IBL = 0;
    m_LorentzAngle_IBL2D = 0;
    m_LorentzAngle_IBL3D = 0;
    m_LorentzAngle_B0 = 0;
    m_LorentzAngle_B1 = 0;
    m_LorentzAngle_B2 = 0;
-
+   /// degradation factor
+   m_degFactorMap = 0;
+   m_degFactorMap_per_lumi = 0;
+   /// cluster size
+   memset(m_clusize_ontrack_mod, 0, sizeof(m_clusize_ontrack_mod));
+   memset(m_clusize_offtrack_mod, 0, sizeof(m_clusize_offtrack_mod));
+   /// module histo
+   m_track_chi2_bcl1 = 0;
+   m_track_chi2_bcl0 = 0;
+   m_track_chi2_bclgt1 = 0;
+   m_track_chi2_bcl1_highpt = 0;
+   m_track_chi2_bcl0_highpt = 0;
+   m_track_chi2_bclgt1_highpt = 0;
    m_clustot_vs_pt = 0;
    m_clustot_lowpt = 0;
    m_1hitclustot_lowpt = 0;
@@ -256,50 +322,68 @@ PixelMainMon::PixelMainMon(const std::string & type,
    m_1hitclustot_highpt = 0;
    m_2hitclustot_highpt = 0;
    m_tsos_hiteff_vs_lumi = 0;
-   m_tsos_hitmap = 0;
-   m_tsos_holemap = 0;
-   m_tsos_outliermap = 0;
-   //m_tsos_measratio = 0;
-   //m_tsos_holeratio = 0;
-   m_misshits_ratio = 0;
-   m_tsos_holeratio_tmp = 0;
-   m_tsos_holeratio_mon = 0;
-   m_misshits_ratio_tmp = 0;
-   m_misshits_ratio_mon = 0;
+   ///
+   /// Cluster histograms
+   /// 
    m_clusters_per_lumi = 0;
+   memset(m_clusters_per_lumi_mod, 0, sizeof(m_clusters_per_lumi_mod));
+   memset(m_clusters_col_width_per_lumi_mod, 0, sizeof(m_clusters_col_width_per_lumi_mod));
+   memset(m_clusters_row_width_per_lumi_mod, 0, sizeof(m_clusters_row_width_per_lumi_mod));
+   memset(m_clusters_col_width_per_bcid_mod, 0, sizeof(m_clusters_col_width_per_bcid_mod));
+   memset(m_clusters_row_width_per_bcid_mod, 0, sizeof(m_clusters_row_width_per_bcid_mod));
    m_largeclusters_per_lumi = 0;
    m_verylargeclusters_per_lumi = 0;
    m_totalclusters_per_lumi = 0;
+   memset(m_totalclusters_per_lumi_mod, 0, sizeof(m_totalclusters_per_lumi_mod));
+   memset(m_totalclusters_per_bcid_mod, 0, sizeof(m_totalclusters_per_bcid_mod));
    m_highNclusters_per_lumi = 0;
+   memset(m_cluster_ToT1d_mod, 0, sizeof(m_cluster_ToT1d_mod));
+   memset(m_1cluster_ToT_mod, 0, sizeof(m_1cluster_ToT_mod));
+   memset(m_2cluster_ToT_mod, 0, sizeof(m_2cluster_ToT_mod));
+   memset(m_3cluster_ToT_mod, 0, sizeof(m_3cluster_ToT_mod));
+   memset(m_bigcluster_ToT_mod, 0, sizeof(m_bigcluster_ToT_mod));
+   memset(m_cluster_Q_mod, 0, sizeof(m_cluster_Q_mod));
+   memset(m_1cluster_Q_mod, 0, sizeof(m_1cluster_Q_mod));
+   memset(m_2cluster_Q_mod, 0, sizeof(m_2cluster_Q_mod));
+   memset(m_3cluster_Q_mod, 0, sizeof(m_3cluster_Q_mod));
+   memset(m_bigcluster_Q_mod, 0, sizeof(m_bigcluster_Q_mod));
    m_clussize_map = 0;
    m_cluscharge_map = 0;
    m_clusToT_map = 0;
    m_cluster_groupsize = 0;
    m_cluster_col_width = 0;
    m_cluster_row_width = 0;
-   //m_cluster_row_width_IBL = 0;
+   memset(m_cluster_col_width_mod, 0, sizeof(m_cluster_col_width_mod));
+   memset(m_cluster_row_width_mod, 0, sizeof(m_cluster_row_width_mod));
+   memset(m_cluster_groupsize_mod, 0, sizeof(m_cluster_groupsize_mod));
    m_cluster_LVL1A = 0;
-   m_clus_LVL1A_sizenot1 = 0; 
-   //m_cluster_LVL1A_highToT = 0;
+   memset(m_cluster_LVL1A1d_mod, 0, sizeof(m_cluster_LVL1A1d_mod));
    m_clusterSize_eta = 0;
-   m_cluster_occupancy = 0;
+   memset(m_clusToT_vs_eta_mod, 0, sizeof(m_clusToT_vs_eta_mod));
+   memset(m_ToT_vs_clussize_mod, 0, sizeof(m_ToT_vs_clussize_mod));
+   memset(m_clussize_vs_eta_mod, 0, sizeof(m_clussize_vs_eta_mod));
    m_clustermap_mon = 0;
    m_clustermap_tmp = 0;
-   //m_clusocc_DBM = 0;
+   m_cluster_occupancy = 0;
+   m_cluster_occupancy_FE_B0_mon = 0;
+   m_cluster_occupancy_time1 = 0;
+   m_cluster_occupancy_time2 = 0;
+   m_cluster_occupancy_time3 = 0;
    m_clusocc_sizenot1 = 0; 
    m_cluseff_mod = 0;
    m_cluster_ToT_mod = 0;
    m_cluster_size_mod = 0;
    m_cluster_num_mod = 0;
-   //m_cluster_num_mod_ontrack = 0;
-   m_cluster_occupancy_time1 = 0;
-   m_cluster_occupancy_time2 = 0;
-   m_cluster_occupancy_time3 = 0;
    m_num_clusters = 0;
-   //m_num_clusters_PIX = 0;
-   m_num_clusters_low = 0;
+   memset(m_clusters_per_track_per_lumi_mod, 0, sizeof(m_clusters_per_track_per_lumi_mod));
+   memset(m_num_clusters_mod, 0, sizeof(m_num_clusters_mod));
+   memset(m_cluster_occupancy_summary_mod, 0, sizeof(m_cluster_occupancy_summary_mod));
    m_cluster_LVL1A_mod = 0;
+   m_clus_LVL1A_sizenot1 = 0; 
    m_clustersOnOffTrack_per_lumi = 0;
+   /// Quick status
+   m_clusters_onTrack_L0_B11_S2_C6 = 0;
+   m_clusters_offTrack_L0_B11_S2_C6 = 0;
    ///
    /// Status
    ///
@@ -309,12 +393,39 @@ PixelMainMon::PixelMainMon(const std::string & type,
    m_status_LB = 0;           
    m_disabled = 0;
    m_dqStatus = 0;
-
+   m_disabledModules_per_lumi_PIX = 0;
+   memset(m_badModules_per_lumi_mod, 0, sizeof(m_badModules_per_lumi_mod));
+   memset(m_disabledModules_per_lumi_mod, 0, sizeof(m_disabledModules_per_lumi_mod));
+   memset(m_baddisabledModules_per_lumi_mod, 0, sizeof(m_baddisabledModules_per_lumi_mod));
+   ///
+   /// Errors
+   ///
+   memset(m_errhist_errcat_avg, 0, sizeof(m_errhist_errcat_avg));
+   memset(m_errhist_tot_LB, 0, sizeof(m_errhist_tot_LB));
+   m_errhist_syncerr_LB_pix = 0;
+   memset(m_errhist_errcat_LB, 0, sizeof(m_errhist_errcat_LB));
+   memset(m_errhist_errtype_LB, 0, sizeof(m_errhist_errtype_LB));
    m_error_time1 = 0;       
    m_error_time2 = 0;       
    m_error_time3 = 0;       
    m_errors = 0;
-
+   memset(m_errhist_errtype_map, 0, sizeof(m_errhist_errtype_map));
+   memset(m_errhist_errcat_map, 0, sizeof(m_errhist_errcat_map));
+   memset(m_errhist_expert_maps, 0, sizeof(m_errhist_expert_maps));
+   memset(m_errhist_expert_LB, 0, sizeof(m_errhist_expert_LB));
+   memset(m_errhist_per_bit_LB, 0, sizeof(m_errhist_per_bit_LB));
+   memset(m_errhist_per_type_LB, 0, sizeof(m_errhist_per_type_LB));
+   memset(m_errhist_expert_fe_trunc_err_3d, 0, sizeof(m_errhist_expert_fe_trunc_err_3d));
+   m_errhist_expert_servrec_ibl_unweighted = 0;
+   m_errhist_expert_servrec_ibl_weighted = 0;
+   m_errhist_expert_servrec_ibl_count = 0;
+   memset(m_errhist_expert_LB_maps, 0, sizeof(m_errhist_expert_LB_maps));
+   m_errors_LB = 0;           
+   m_errors_RODSync_mod = 0;
+   m_errors_ModSync_mod = 0;
+   ///
+   /// Space Point
+   ///
    m_num_spacepoints = 0;
    m_num_spacepoints_low = 0;
    m_spHit_x = 0;
@@ -324,271 +435,95 @@ PixelMainMon::PixelMainMon(const std::string & type,
    m_spHit_phi = 0;
    m_spHit_xy = 0;
    m_spHit_rz = 0;
+   ///
+   /// Per 20 LB
+   ///
    m_cluster_occupancy_LB = 0;
-   m_errors_LB = 0;           
    m_cluster_ToT_mod_LB = 0;
    m_cluster_num_mod_LB = 0;
    m_hit_num_mod_LB = 0;
    m_num_hits_LB = 0;
-   m_num_hits_low_LB = 0;
+   memset(m_hit_ToT_LB_mod, 0, sizeof(m_hit_ToT_LB_mod));
    m_cluster_ToT_LB = 0;      
    m_num_clusters_LB = 0;                                
-   m_num_clusters_low_LB = 0;  
-   m_hitmap_mon = 0;
-   m_lowToTHitsFraction_7 = 0;
-   m_lowToTHitsFraction_9 = 0;
-   m_lowToTHitsFraction_11 = 0;
-   m_lowToTHitsFraction_13 = 0;
-
-   //m_hiteff_incl_L0_B11_S2_C6 = 0;
-   //m_hiteff_isgood_L0_B11_S2_C6 = 0;
-   //m_holeRatio_incl_L0_B11_S2_C6 = 0;
-   m_occupancy_L0_B11_S2_C6 = 0;
-   m_nhits_L0_B11_S2_C6 = 0;
-   m_clusters_onTrack_L0_B11_S2_C6 = 0;
-   m_clusters_offTrack_L0_B11_S2_C6 = 0;
-
-   m_errors_RODSync_mod = 0;
-   m_errors_ModSync_mod = 0;
-
-   m_pixelid =0;
-   m_event =0;
-   m_event2 =0;
-   m_startTime =0; 
-   m_majorityDisabled =0;
-   m_lumiBlockNum =0;
-   m_currentTime =0;
-   m_LBstartTime =0;
-   m_LBendTime =0;
-   m_runNum =0;
-   m_idHelper =0;
-   m_Pixel_clcontainer =0;
-   m_Pixel_spcontainer =0;
-   m_tracks =0;
-
-   m_errors_ServiceRecordUnweight_IBL = 0;
-   m_errors_ServiceRecordWeight_IBL = 0;
-
-   m_nGood_ECA=0;
-   m_nGood_ECC=0;
-   m_nGood_IBL2D=0;
-   m_nGood_IBL3D=0;
-   m_nGood_B0=0;
-   m_nGood_B1=0;
-   m_nGood_B2=0;
-
-   m_disabledModules_per_lumi_PIX = 0;
-   m_SyncErrors_per_lumi_PIX = 0;
-
-   for( int i=0; i<PixLayer::COUNT; i++){
-      m_hit_ToTMean_mod[i] = 0;
-      m_ToT_etaphi_mod[i] = 0;
-      m_occupancy_summary_mod[i] = 0;
-      m_occupancy_summary_low_mod[i] = 0;
-      m_nhits_mod[i] = 0;
-      m_diff_ROD_vs_Module_BCID_mod[i] = 0;
-      m_Lvl1ID_diff_mod_ATLAS_mod[i] = 0;
-      //m_Lvl1A_mod[i] = 0;
-      m_Lvl1A_10min_mod[i] = 0;
-      m_hit_ToT_tmp_mod[i] = 0;
-      m_hit_ToT_Mon_mod[i] = 0;
-      m_hits_per_lumi_mod[i] = 0;
-      m_clusters_per_lumi_mod[i] = 0;
-      //m_clusters_col_width_per_lumi_mod[i] = 0;
-      //m_clusters_row_width_per_lumi_mod[i] = 0;
-      //m_clusters_col_width_per_bcid_mod[i] = 0;
-      //m_clusters_row_width_per_bcid_mod[i] = 0;
-      //m_totalclusters_per_lumi_mod[i] = 0;
-      //m_totalclusters_per_bcid_mod[i] = 0;
-      //m_cluster_col_width_mod[i] = 0;
-      //m_cluster_row_width_mod[i] = 0;
-      //m_cluster_groupsize_mod[i] = 0;
-      //m_clusQ_vs_eta_mod[i] = 0;
-      m_nFEswithHits_mod[i] = 0;
-      m_nFEswithTruncErr_mod[i] = 0;
-      m_clussize_vs_eta_mod[i] = 0;
-      m_bad_mod_errors_mod[i] = 0;
-      //m_errors_etaid_mod[i] = 0;
-      m_hit_ToT_LB_mod[i] = 0;
-      m_clusToT_vs_eta_mod[i] = 0;
-      m_ToT_vs_clussize_mod[i] = 0;
-      //m_Q_vs_clussize_mod[i] = 0;
-      //m_nlowToT_vs_clussize_mod[i] = 0;
-      m_1cluster_ToT_mod[i] = 0;
-      m_2cluster_ToT_mod[i] = 0;
-      m_3cluster_ToT_mod[i] = 0;
-      m_bigcluster_ToT_mod[i] = 0;
-      m_1cluster_Q_mod[i] = 0;
-      m_2cluster_Q_mod[i] = 0;
-      m_3cluster_Q_mod[i] = 0;
-      m_bigcluster_Q_mod[i] = 0;
-      m_cluster_LVL1A1d_mod[i] = 0;
-      //m_clusize_ontrack_mod[i] = 0;
-      //m_clusize_offtrack_mod[i] = 0;
-      m_clusters_per_track_per_lumi_mod[i] = 0;
-      m_num_clusters_mod[i] = 0;
-      m_cluster_occupancy_summary_mod[i] = 0;
-      m_cluster_occupancy_summary_low_mod[i] = 0;
-   }
-   for( int j=0; j<16; j++){
-      m_errors_int_LB[j] = 0;
-   }
-   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
-      /// Hit occupancy
-      m_avgocc_per_lumi_mod[i] = 0;
-      m_avgocc_per_bcid_mod[i] = 0;
-      //m_avgocc_LBvsBCID_mod[i] = 0;
-      m_avgocc_wSyncMod_per_lumi_mod[i] = 0;
-      m_maxocc_per_lumi_mod[i] = 0;
-      m_maxocc_per_bcid_mod[i] = 0;
-      m_totalhits_per_bcid_mod[i] = 0;
-      m_nlargeevt_per_lumi_mod[i] = 0;
-      /// Cluster
-      m_cluster_groupsize_mod[i] = 0;
-      m_cluster_col_width_mod[i] = 0;
-      m_cluster_row_width_mod[i] = 0;
-      m_totalclusters_per_lumi_mod[i] = 0;
-      m_totalclusters_per_bcid_mod[i] = 0;
-      m_clusters_col_width_per_lumi_mod[i] = 0;
-      m_clusters_row_width_per_lumi_mod[i] = 0;
-      m_clusters_col_width_per_bcid_mod[i] = 0;
-      m_clusters_row_width_per_bcid_mod[i] = 0;
-      m_clusize_ontrack_mod[i] = 0;
-      m_clusize_offtrack_mod[i] = 0;
-      //
-      m_nActivAndSync_mod[i] = 0;
-      m_errors_per_lumi_mod[i] = 0;
-      m_SyncErrors_per_lumi_mod[i] = 0;
-      m_OpticalErrors_per_lumi_mod[i] = 0;
-      m_SEU_Errors_per_lumi_mod[i] = 0;
-      m_TruncationErrors_per_lumi_mod[i] = 0;
-      m_TimeoutErrors_per_lumi_mod[i] = 0;
-      m_ErrorBit_per_lumi_mod[i] = 0;
-      m_Error_per_lumi_mod[i] = 0;
-      m_badModules_per_lumi_mod[i] = 0;
-      m_disabledModules_per_lumi_mod[i] = 0;
-      m_baddisabledModules_per_lumi_mod[i] = 0;
-      for( int j=0; j<ErrorCategory::COUNT; j++){
-         m_ErrorFraction_per_evt[j][i] = 0;
-         m_ErrorCategoryMap[j] = 0;
-      }
-   }
-   for( int i=0; i<PixLayerIBL2D3DDBM::COUNT; i++){
-      m_hit_ToT[i] = 0;
-      m_cluster_Q_mod[i] = 0;
-      m_cluster_ToT1d_mod[i] = 0;
-   }
-   for( int i=0; i<PixLayerDBM::COUNT; i++){
-      m_Lvl1A_mod[i] = 0;
-      m_hiteff_incl_mod[i] = 0;
-      m_hiteff_actv_mod[i] = 0;
-      //m_hit_ToT_dbm[i] = 0;
-   }
-   for( int i=0; i<ErrorCategoryMODROD::COUNT; i++){
-      m_ErrorTypeMap[i] = 0;
-   }
-   for( int i=0; i<16; i++){
-      m_ErrorStateMap[i] = 0;
-      //m_ErrorStateMap_per_LB[i] = 0;
-      for( int j=0 ; j<PixLayer::COUNT-1 ; j++) m_errorStates_per_lumi_mod[j][i] = 0;
-   }
-
-  // DCS Monitorning
-  for( int ii = 0; ii < IBLStave::COUNT; ii++){
-    // TEMPERATURE
-    m_hist_moduleTemperature2Dscatter[ii] = 0;
-    m_hist_moduleTemperatureLB[ii] = 0;
-    m_hist_LB_moduleGroup_moduleTemperature[ii] = 0;
-    // HV
-    m_hist_HVoltage2Dscatter[ii] = 0;
-    m_hist_HVoltageLB[ii] = 0;
-    m_hist_LB_moduleGroup_HVoltage[ii] = 0;
-    // FSM state
-    m_hist_FSMstate2Dscatter[ii] = 0;
-    m_hist_FSMstateLB[ii] = 0;
-    m_hist_LB_moduleGroup_FSMstate[ii] = 0;
-    // FSM status
-    m_hist_FSMstatus2Dscatter[ii] = 0;
-    m_hist_FSMstatusLB[ii] = 0;
-    m_hist_LB_moduleGroup_FSMstatus[ii] = 0;
-    // PIPES Inlet
-    m_hist_Pipes_inletLB[ii] = 0;
-    //m_hist_LB_moduleGroup_coolingPipeInlet[ii] = 0;
-    // PIPES Outlet
-    m_hist_Pipes_outletLB[ii] = 0;
-    //m_hist_LB_moduleGroup_coolingPipeOutlet[ii] = 0;
-    // LV
-    m_hist_LVoltage2Dscatter[ii] = 0;
-    m_hist_LB_moduleGroup_LVoltage[ii] = 0;
-    m_hist_LB_moduleGroup_LVoltage[ii] = 0;
-    // LV current
-    m_hist_LVcurrent2Dscatter[ii] = 0;
-    m_hist_LVcurrentLB[ii] = 0;
-    m_hist_LB_moduleGroup_LVcurrent[ii] = 0;
-    // HV current
-    m_hist_HVcurrent2Dscatter[ii] = 0;
-    m_hist_HVcurrentLB[ii] = 0;
-    m_hist_LB_moduleGroup_HVcurrent[ii] = 0;
-    // dT
-    m_hist_LB_moduleGroup_dT[ii] = 0; // dT := module temp - cooling pipe outlet
-    // LV P C
-    m_hist_LB_moduleGroup_LVPowerConsumption[ii] = 0;
-    // HV P C
-    m_hist_LB_moduleGroup_HVPowerConsumption[ii] = 0;
-    // LV+HV P C
-    m_hist_LB_moduleGroup_LVHVPowerConsumption[ii] = 0;
-    // effective FLEX temp
-    m_hist_LB_moduleGroup_effFLEXtemp[ii] = 0;
-    // thermal figure of merit
-    m_hist_LB_moduleGroup_thermalFigureMerit[ii] = 0;
-  } // end for loop over IBLStave
-  // TEMPERATURE
-  m_hist_moduleTemperatureEtaPhi = 0;
-  m_hist_LB_staveID_moduleTemperature = 0;
-  // HV
-  m_hist_HVoltageEtaPhi = 0;
-  m_hist_LB_staveID_HVoltage = 0;
-  // FSM state
-  m_hist_FSMstateEtaPhi = 0;
-  m_hist_LB_staveID_FSMstate = 0;
-  // FSM status
-  m_hist_FSMstatusEtaPhi = 0;
-  m_hist_LB_staveID_FSMstatus = 0;
-  // PIPES Inlet
-  //m_hist_Pipes_inletEtaPhi = 0;
-  m_hist_Pipes_inlet2Dscatter = 0;
-  m_hist_LB_staveID_coolingPipeInlet = 0;
-  // PIPES Outlet
-  //m_hist_Pipes_outletEtaPhi = 0;
-  m_hist_Pipes_outlet2Dscatter = 0;
-  m_hist_LB_staveID_coolingPipeOutlet = 0;
-  // LV
-  m_hist_LVoltageEtaPhi = 0;
-  m_hist_LB_staveID_LVoltage = 0;
-  // LV current
-  m_hist_LVcurrentEtaPhi = 0;
-  m_hist_LB_staveID_LVcurrent = 0;
-  // HV current
-  m_hist_HVcurrentEtaPhi = 0;
-  m_hist_LB_staveID_HVcurrent= 0;
-  // dT
-  m_hist_dTEtaPhi = 0;
-  m_hist_LB_staveID_dT = 0;
-  // LV P C
-  m_hist_LVPowerConsumptionEtaPhi = 0;
-  m_hist_LB_staveID_LVPowerConsumption = 0;
-  // HV P C
-  m_hist_HVPowerConsumptionEtaPhi = 0;
-  m_hist_LB_staveID_HVPowerConsumption = 0;
-  // LV HV P C
-  m_hist_LVHVPowerConsumptionEtaPhi = 0;
-  m_hist_LB_staveID_LVHVPowerConsumption = 0;
-  // eff flex temp
-  m_hist_effFLEXtempEtaPhi = 0;
-  m_hist_LB_staveID_effFLEXtemp = 0;
-  // tfm
-  m_hist_thermalFigureMeritEtaPhi = 0;
-  m_hist_LB_staveID_thermalFigureMerit = 0;
+   ///
+   /// DCS Monitorning
+   ///
+   /// TEMPERATURE
+   m_hist_moduleTemperatureEtaPhi = 0;
+   memset(m_hist_moduleTemperature2Dscatter, 0, sizeof(m_hist_moduleTemperature2Dscatter));
+   memset(m_hist_moduleTemperatureLB, 0, sizeof(m_hist_moduleTemperatureLB));
+   m_hist_LB_staveID_moduleTemperature = 0;
+   memset(m_hist_LB_moduleGroup_moduleTemperature, 0, sizeof(m_hist_LB_moduleGroup_moduleTemperature));
+   /// HV
+   m_hist_HVoltageEtaPhi = 0;
+   memset(m_hist_HVoltage2Dscatter, 0, sizeof(m_hist_HVoltage2Dscatter));
+   memset(m_hist_HVoltageLB, 0, sizeof(m_hist_HVoltageLB));
+   m_hist_LB_staveID_HVoltage = 0;
+   memset(m_hist_LB_moduleGroup_HVoltage, 0, sizeof(m_hist_LB_moduleGroup_HVoltage));
+   /// PIPES Inlet
+   //m_hist_Pipes_inletEtaPhi = 0;
+   memset(m_hist_Pipes_inletLB, 0, sizeof(m_hist_Pipes_inletLB));
+   m_hist_Pipes_inlet2Dscatter = 0;
+   m_hist_LB_staveID_coolingPipeInlet = 0;
+   /// PIPES Outlet
+   //m_hist_Pipes_outletEtaPhi = 0;
+   memset(m_hist_Pipes_outletLB, 0, sizeof(m_hist_Pipes_outletLB));
+   m_hist_Pipes_outlet2Dscatter = 0;
+   m_hist_LB_staveID_coolingPipeOutlet = 0;
+   /// LV
+   m_hist_LVoltageEtaPhi = 0;
+   memset(m_hist_LVoltage2Dscatter, 0, sizeof(m_hist_LVoltage2Dscatter));
+   m_hist_LB_staveID_LVoltage = 0;
+   memset(m_hist_LB_moduleGroup_LVoltage, 0, sizeof(m_hist_LB_moduleGroup_LVoltage));
+   /// LV current
+   m_hist_LVcurrentEtaPhi = 0;
+   memset(m_hist_LVcurrent2Dscatter, 0, sizeof(m_hist_LVcurrent2Dscatter));
+   m_hist_LB_staveID_LVcurrent = 0;
+   memset(m_hist_LVcurrentLB, 0, sizeof(m_hist_LVcurrentLB));
+   memset(m_hist_LB_moduleGroup_LVcurrent, 0, sizeof(m_hist_LB_moduleGroup_LVcurrent));
+   /// HV current
+   m_hist_HVcurrentEtaPhi = 0;
+   memset(m_hist_HVcurrent2Dscatter, 0, sizeof(m_hist_HVcurrent2Dscatter));
+   memset(m_hist_HVcurrentLB, 0, sizeof(m_hist_HVcurrentLB));
+   m_hist_LB_staveID_HVcurrent= 0;
+   memset(m_hist_LB_moduleGroup_HVcurrent, 0, sizeof(m_hist_LB_moduleGroup_HVcurrent));
+   /// FSM state
+   m_hist_FSMstateEtaPhi = 0;
+   memset(m_hist_FSMstate2Dscatter, 0, sizeof(m_hist_FSMstate2Dscatter));
+   memset(m_hist_FSMstateLB, 0, sizeof(m_hist_FSMstateLB));
+   m_hist_LB_staveID_FSMstate = 0;
+   memset(m_hist_LB_moduleGroup_FSMstate, 0, sizeof(m_hist_LB_moduleGroup_FSMstate));
+   /// FSM status
+   m_hist_FSMstatusEtaPhi = 0;
+   memset(m_hist_FSMstatus2Dscatter, 0, sizeof(m_hist_FSMstatus2Dscatter));
+   memset(m_hist_FSMstatusLB, 0, sizeof(m_hist_FSMstatusLB));
+   m_hist_LB_staveID_FSMstatus = 0;
+   memset(m_hist_LB_moduleGroup_FSMstatus, 0, sizeof(m_hist_LB_moduleGroup_FSMstatus));
+   /// dT
+   m_hist_dTEtaPhi = 0;
+   m_hist_LB_staveID_dT = 0;
+   memset(m_hist_LB_moduleGroup_dT, 0, sizeof(m_hist_LB_moduleGroup_dT)); // dT := module temp - cooling pipe outlet
+   /// LV Power Consumption
+   m_hist_LVPowerConsumptionEtaPhi = 0;
+   m_hist_LB_staveID_LVPowerConsumption = 0;
+   memset(m_hist_LB_moduleGroup_LVPowerConsumption, 0, sizeof(m_hist_LB_moduleGroup_LVPowerConsumption));
+   /// HV Popwer Consumtion
+   m_hist_HVPowerConsumptionEtaPhi = 0;
+   m_hist_LB_staveID_HVPowerConsumption = 0;
+   memset(m_hist_LB_moduleGroup_HVPowerConsumption, 0, sizeof(m_hist_LB_moduleGroup_HVPowerConsumption));
+   /// LV+HV Power Consumption
+   m_hist_LVHVPowerConsumptionEtaPhi = 0;
+   m_hist_LB_staveID_LVHVPowerConsumption = 0;
+   memset(m_hist_LB_moduleGroup_LVHVPowerConsumption, 0, sizeof(m_hist_LB_moduleGroup_LVHVPowerConsumption));
+   /// effective FLEX temp
+   m_hist_effFLEXtempEtaPhi = 0;
+   m_hist_LB_staveID_effFLEXtemp = 0;
+   memset(m_hist_LB_moduleGroup_effFLEXtemp, 0, sizeof(m_hist_LB_moduleGroup_effFLEXtemp));
+   /// thermal figure of merit
+   m_hist_thermalFigureMeritEtaPhi = 0;
+   m_hist_LB_staveID_thermalFigureMerit = 0;
+   memset(m_hist_LB_moduleGroup_thermalFigureMerit, 0, sizeof(m_hist_LB_moduleGroup_thermalFigureMerit));
 }
    
 PixelMainMon::~PixelMainMon()
@@ -825,7 +760,7 @@ StatusCode PixelMainMon::bookHistograms()
       }else{
          m_histTitleExt = "";
       }
-      if(newLumiBlockFlag()) {
+      if ( newLumiBlockFlag() ) {
          m_LBstartTime = thisEventInfo->event_ID()->time_stamp();
       }
       if( !m_isFirstBook ){
@@ -873,28 +808,28 @@ StatusCode PixelMainMon::bookHistograms()
 
    if(m_doLumiBlock){
       if(m_doRDO){                                                    
-              if (BookHitsLumiBlockMon().isFailure()) {
-                if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
-              }
-	      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking RDO for lowStat" << endmsg;  
+	if (BookHitsLumiBlockMon().isFailure()) {
+	  if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
+	}
+	if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking RDO for lowStat" << endmsg;  
       }
       if(m_doRODError){
-         if (BookRODErrorLumiBlockMon().isFailure()) {
-           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
-         }
-         if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking ROD Error for lowStat" << endmsg;  
+        if (BookRODErrorLumiBlockMon().isFailure()) {
+	  if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
+	}
+	if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking ROD Error for lowStat" << endmsg;  
       }
       if(m_doCluster){
-         if (BookClustersLumiBlockMon().isFailure()) {
-           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
-         }
-         if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Cluster for lowStat" << endmsg;  
+        if (BookClustersLumiBlockMon().isFailure()) {
+	  if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
+	}
+	if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Cluster for lowStat" << endmsg;  
       }
       if(m_doStatus){
-         if (BookStatusLumiBlockMon().isFailure()) {
-           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
-         }
-         if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Status for lowStat" << endmsg;  
+        if (BookStatusLumiBlockMon().isFailure()) {
+	  if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book lowStat histograms" << endmsg; 
+	}
+	if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Status for lowStat" << endmsg;  
       }
    }
 
@@ -939,52 +874,52 @@ StatusCode PixelMainMon::bookHistograms()
    ///
    if(m_doTrack)
    {
-      if (BookTrackMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
-      }
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Track" << endmsg;  
+     if (BookTrackMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
+     }
+     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Track" << endmsg;  
    }
    if(m_doRDO)
    {                                                    
-      if (BookHitsMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
-      }
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking RDO" << endmsg;  
+     if (BookHitsMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
+     }
+     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking RDO" << endmsg;  
    }
    if(m_doRODError) 
    {
-      if (BookRODErrorMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
-      }
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking ROD Error" << endmsg;  
+     if (BookRODErrorMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
+     }
+     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking ROD Error" << endmsg;  
    }
    if(m_doSpacePoint)
    {
-      if (BookSpacePointMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
-      }
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking SP" << endmsg;  
+     if (BookSpacePointMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
+     }
+     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking SP" << endmsg;  
    }
    if(m_doCluster)
    {
-      if (BookClustersMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
-      }
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Cluster" << endmsg;  
+     if (BookClustersMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
+     }
+     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Cluster" << endmsg;  
    }
    if(m_doStatus)
    {
-      if (BookStatusMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
-      }
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Status" << endmsg;  
+     if (BookStatusMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
+     }
+     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking Status" << endmsg;  
    }
    if(m_doDCS)
    {
-      if (BookPixelDCSMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
-      }
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking DCS" << endmsg;  
+     if (BookPixelDCSMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not book histograms" << endmsg; 
+     }
+     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "Done booking DCS" << endmsg;  
    }
 
    return StatusCode::SUCCESS;
@@ -1032,45 +967,33 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
    PixelID::const_id_iterator idIt    = m_pixelid->wafer_begin();
    PixelID::const_id_iterator idItEnd = m_pixelid->wafer_end();
 
-   m_nGood_ECA=0;
-   m_nGood_ECC=0;
-   m_nGood_IBL2D=0;
-   m_nGood_IBL3D=0;
-   m_nGood_B0=0;
-   m_nGood_B1=0;
-   m_nGood_B2=0;
+   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
+      m_nGood_mod[i] = 0;
+      m_nActive_mod[i] = 0;
+   }
 
    for (; idIt != idItEnd; ++idIt)
    {
       Identifier WaferID = *idIt;
       IdentifierHash id_hash = m_pixelid->wafer_hash(WaferID);
 
-      int Index;
-      if(m_pixelCondSummarySvc->isActive(id_hash) == true && m_pixelCondSummarySvc->isGood(id_hash) == true ) {Index=0;}
-      else if (m_pixelCondSummarySvc->isActive(id_hash) == false) {Index=2;}
-      else {Index=1;}
-       
-      if(Index==0){
-	      int em  = m_pixelid->eta_module(WaferID);
-	      if(m_pixelid->barrel_ec(WaferID)==2)  m_nGood_ECA++;
-	      if(m_pixelid->barrel_ec(WaferID)==-2) m_nGood_ECC++;
-	      if (m_pixelid->barrel_ec(WaferID)==0) {
-	         if(m_pixelid->layer_disk(WaferID)==0 && m_doIBL){
-	            if(em<6 && em>-7){
-	               m_nGood_IBL2D++;
-	            }else{
-	               m_nGood_IBL3D++;
-	            }
-	         }
-	         if(m_pixelid->layer_disk(WaferID)==0+m_doIBL) m_nGood_B0++;
-	         if(m_pixelid->layer_disk(WaferID)==1+m_doIBL) m_nGood_B1++;
-	         if(m_pixelid->layer_disk(WaferID)==2+m_doIBL) m_nGood_B2++;
-	      }
+      int pixlayeribl2d3d = GetPixLayerID(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_doIBL);
+      if( pixlayeribl2d3d == PixLayer::kIBL ){
+         pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_pixelid->eta_module(WaferID), m_doIBL);
+      }
+      if( pixlayeribl2d3d == 99 ) continue;
+      if(m_pixelCondSummarySvc->isActive(id_hash) == true){
+         m_nActive_mod[pixlayeribl2d3d]++;
+      }
+      if(m_pixelCondSummarySvc->isActive(id_hash) == true && m_pixelCondSummarySvc->isGood(id_hash) == true ){
+         m_nGood_mod[pixlayeribl2d3d]++;
       }
    }
+   m_nActive_mod[PixLayerIBL2D3D::kIBL] = 2*m_nActive_mod[PixLayerIBL2D3D::kIBL2D] + m_nActive_mod[PixLayerIBL2D3D::kIBL3D];
+   m_nGood_mod[PixLayerIBL2D3D::kIBL] = 2*m_nGood_mod[PixLayerIBL2D3D::kIBL2D] + m_nGood_mod[PixLayerIBL2D3D::kIBL3D];
 
    ////////////////////////////////////////////////////////////////
-   //fill methods go here
+   // Fill methods go here
    ////////////////////////////////////////////////////////////////
 
    ///
@@ -1086,17 +1009,17 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
    /// Pixel Info
    ///
    if(m_doStatus) { //fill status histograms first, to check number of disabled modules
-      if(FillStatusMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
-      }
+     if(FillStatusMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
+     }
    }
 
    //if(m_doRODError&&evtStore()->contains<PixelRODErrorCollection>(m_detector_error_name))
    if(m_doRODError)
    {
-      if (FillRODErrorMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
-      }
+     if (FillRODErrorMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
+     }
    }else{
       if(m_storegate_errors) m_storegate_errors->Fill(5.,1.);
    }
@@ -1104,7 +1027,7 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
    /// Track
    if(m_doTrack){
       if(evtStore()->contains< TrackCollection >(m_TracksName)){
-        if (FillTrackMon().isFailure()) {
+	if (FillTrackMon().isFailure()) {
           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
         }
       }else if(m_storegate_errors) m_storegate_errors->Fill(4.,2.);
@@ -1114,12 +1037,12 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
 
    /// Hits
    if(m_doRDO){
-      if(evtStore()->contains<PixelRDO_Container>(m_Pixel_RDOName) ) {
-        if (FillHitsMon().isFailure()) {
-          if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
-        }
-      }
-      else if(m_storegate_errors) m_storegate_errors->Fill(1.,2.); 
+     if(evtStore()->contains<PixelRDO_Container>(m_Pixel_RDOName) ) {
+       if (FillHitsMon().isFailure()) {
+	 if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
+       }
+     }
+     else if(m_storegate_errors) m_storegate_errors->Fill(1.,2.); 
    }else{
       if(m_storegate_errors) m_storegate_errors->Fill(1.,1.); 
    }
@@ -1127,7 +1050,7 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
    /// Cluster
    if(m_doCluster){
       if(evtStore()->contains<InDet::PixelClusterContainer>(m_Pixel_SiClustersName)){
-        if (FillClustersMon().isFailure()) {
+	if (FillClustersMon().isFailure()) {
           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
         }
       }else if(m_storegate_errors) m_storegate_errors->Fill(3.,2.);
@@ -1139,7 +1062,7 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
    if(m_doSpacePoint)
    {
       if(evtStore()->contains<SpacePointContainer>(m_Pixel_SpacePointsName)){
-        if (FillSpacePointMon().isFailure()) {
+	if (FillSpacePointMon().isFailure()) {
           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg; 
         }
       }else if(m_storegate_errors) m_storegate_errors->Fill(2.,2.);
@@ -1150,9 +1073,9 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
 
    /// DCS
    if(m_doDCS){
-      if (FillPixelDCSMon().isFailure()) {
-        if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg;
-      }
+     if (FillPixelDCSMon().isFailure()) {
+       if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not fill histograms" << endmsg;
+     }
    }else{
       if(m_storegate_errors)m_storegate_errors->Fill(6.,1.);
    }
@@ -1166,23 +1089,17 @@ StatusCode PixelMainMon::fillHistograms() //get called twice per event
 StatusCode PixelMainMon::procHistograms()
 { 
 
-   // Part 1: Get the messaging service, print where you are
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "finalize()" << endmsg;
-   //if(endOfEventsBlock){}
-   if(endOfLumiBlockFlag())
-   {
-     m_LBendTime = m_currentTime;
-     //if (m_doTrack) { m_sc=ProcTrackMon(); }
-     //if (m_sc.isFailure()) if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not proc histograms" << endmsg; 
-   }
-   
-   if( m_doOnline ){
-   //   if(m_doRDO){ m_sc=ProcHitsMon(); }
-   //   if (m_doCluster) { m_sc=ProcClustersMon(); }
-   }
+  if ( msgLvl(MSG::DEBUG) ) msg(MSG::DEBUG)  << "finalize()" << endmsg;
 
-   if(!m_doOnline && endOfRunFlag())
-   {
+  if ( endOfLumiBlockFlag() )
+    {
+      m_LBendTime = m_currentTime;
+      //if (m_doTrack) { sc=ProcTrackMon(); }
+      //if (sc.isFailure()) if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not proc histograms" << endmsg; 
+    }
+  
+  if ( !m_doOnline && endOfRunFlag() )
+    {
       if (m_doRDO) {
         if (ProcHitsMon().isFailure()) {
           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not proc histograms" << endmsg; 
@@ -1208,9 +1125,9 @@ StatusCode PixelMainMon::procHistograms()
           if(msgLvl(MSG::INFO)) msg(MSG::INFO)  << "Could not proc histograms" << endmsg; 
         }
       }
-   }
+    }
   
-   return StatusCode::SUCCESS;
+  return StatusCode::SUCCESS;
 }
 
 
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiMaps.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiMaps.cxx
index 91fc43f9119d6a7e952836f3663ae67c8c9c1b1d..5371891a280c84d236d68ad7e7e867c69c42a8d0 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiMaps.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiMaps.cxx
@@ -214,15 +214,15 @@ void PixelMon2DLumiMaps::formatHist(bool doIBL, bool errorHist)
 
 StatusCode PixelMon2DLumiMaps::regHist(ManagedMonitorToolBase::MonGroup &group,bool doIBL,bool errorHist)
 {
-   StatusCode sc = StatusCode::SUCCESS;
-   if(!errorHist && doIBL) {
-     if (group.regHist(IBLlbm).isFailure()) sc = StatusCode::FAILURE;
-   }
-   if (group.regHist(B0lbm).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B1lbm).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B2lbm).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(Albm).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(Clbm).isFailure()) sc = StatusCode::FAILURE;
+  StatusCode sc = StatusCode::SUCCESS;
+  if(!errorHist && doIBL) {
+    if (group.regHist(IBLlbm).isFailure()) sc = StatusCode::FAILURE;
+  }
+  if (group.regHist(B0lbm).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B1lbm).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B2lbm).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(Albm).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(Clbm).isFailure()) sc = StatusCode::FAILURE;
 
-   return sc;
+  return sc;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiProfiles.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiProfiles.cxx
index fba64c168dd27af66d1e69651311696e2c6cf250..a8ccc9c8a4436dc1c19269755ed83ded4c9b960b 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiProfiles.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DLumiProfiles.cxx
@@ -210,15 +210,15 @@ void PixelMon2DLumiProfiles::formatHist(bool doIBL,bool errorHist)
 
 StatusCode PixelMon2DLumiProfiles::regHist(ManagedMonitorToolBase::MonGroup &group,bool doIBL,bool errorHist)
 {
-   StatusCode sc = StatusCode::SUCCESS;
-   if(!errorHist && doIBL) {
-     if (group.regHist(IBLlbp).isFailure()) sc = StatusCode::FAILURE;
-   }
-   if (group.regHist(B0lbp).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B1lbp).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B2lbp).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(Albp).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(Clbp).isFailure()) sc = StatusCode::FAILURE;
-
-   return sc;
+  StatusCode sc = StatusCode::SUCCESS;
+  if(!errorHist && doIBL) {
+    if (group.regHist(IBLlbp).isFailure()) sc = StatusCode::FAILURE;
+  }
+  if (group.regHist(B0lbp).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B1lbp).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B2lbp).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(Albp).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(Clbp).isFailure()) sc = StatusCode::FAILURE;
+   
+  return sc;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMaps.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMaps.cxx
index 886ba648df339fcbf80976e9f46af9f1483819cd..0f7d32a132c784871b05e4ab51a2852f67d55eae 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMaps.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMaps.cxx
@@ -548,16 +548,16 @@ void PixelMon2DMaps::formatHist()
 
 StatusCode PixelMon2DMaps::regHist(ManagedMonitorToolBase::MonGroup &group)
 {
-   StatusCode sc = StatusCode::SUCCESS;
-   if (group.regHist(IBL2D).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(IBL3D).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(IBL).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B0).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B1).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B2).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(A).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(C).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(DBMA).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(DBMC).isFailure()) sc = StatusCode::FAILURE;
-   return sc;
+  StatusCode sc = StatusCode::SUCCESS;
+  if (group.regHist(IBL2D).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(IBL3D).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(IBL).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B0).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B1).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B2).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(A).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(C).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(DBMA).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(DBMC).isFailure()) sc = StatusCode::FAILURE;
+  return sc;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMapsLW.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMapsLW.cxx
index 59d90a3ca91c9c3bf557467ddc2c41adf8f9f3eb..edaf900085c9dfd6cf4fdfd85a721fa4fca512cf 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMapsLW.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DMapsLW.cxx
@@ -400,20 +400,20 @@ void PixelMon2DMapsLW::formatHist(bool doIBL, bool errorHist)
 
 StatusCode PixelMon2DMapsLW::regHist(ManagedMonitorToolBase::MonGroup &group, bool doIBL, bool errorHist)
 {
-   StatusCode sc = StatusCode::SUCCESS;
+  StatusCode sc = StatusCode::SUCCESS;
 
-   if(doIBL && !errorHist){
-     if (group.regHist(IBL).isFailure()) sc = StatusCode::FAILURE;
-     if (group.regHist(IBL2D).isFailure()) sc = StatusCode::FAILURE;
-     if (group.regHist(IBL3D).isFailure()) sc = StatusCode::FAILURE;
-   }
-   if (group.regHist(B0).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B1).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(B2).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(A).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(C).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(DBMA).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(DBMC).isFailure()) sc = StatusCode::FAILURE;
+  if(doIBL && !errorHist){
+    if (group.regHist(IBL).isFailure()) sc = StatusCode::FAILURE;
+    if (group.regHist(IBL2D).isFailure()) sc = StatusCode::FAILURE;
+    if (group.regHist(IBL3D).isFailure()) sc = StatusCode::FAILURE;
+  }
+  if (group.regHist(B0).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B1).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(B2).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(A).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(C).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(DBMA).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(DBMC).isFailure()) sc = StatusCode::FAILURE;
 
-   return sc;
+  return sc;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DProfilesLW.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DProfilesLW.cxx
index a64b4f9b742555c9b0e61da2e251c2744e4f5262..1f3dbc4b8f73741f3c6b46ff229676b4935b5a68 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DProfilesLW.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMon2DProfilesLW.cxx
@@ -2,18 +2,20 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-//////////////////////////////////////////////////////////////////////////////
-// Function to handle 2D maps of modules, one for each region
+///////////////////////////////////////////////////////////////////////////////
+// Function to handle 2D profile histograms of modules, one for each region
 ///////////////////////////////////////////////////////////////////////////////
 
 #include "PixelMonitoring/PixelMon2DProfilesLW.h"
+#include "PixelMonitoring/PixelMon2DMapsLW.h"
+#include "PixelMonitoring/PixelMon2DMaps.h"
 #include "InDetIdentifier/PixelID.h"
-#include "TProfile2D.h"
 #include "LWHists/TProfile2D_LW.h"
+#include "LWHists/TH2F_LW.h"
 #include "GaudiKernel/StatusCode.h"     
 #include <string.h>
 
-PixelMon2DProfilesLW::PixelMon2DProfilesLW(std::string name, std::string title,bool doIBL, bool errorHist)
+PixelMon2DProfilesLW::PixelMon2DProfilesLW(std::string name, std::string title, bool doIBL, bool errorHist, bool copy2DFEval)
 {
   std::string setatext = ";shifted eta index of module";
   std::string etatext = ";eta index of module";
@@ -23,14 +25,17 @@ PixelMon2DProfilesLW::PixelMon2DProfilesLW(std::string name, std::string title,b
   IBL3D = TProfile2D_LW::create((name+"_IBL3D").c_str(), (title + ", IBL 3D modules " + etatext + phitext).c_str(),8,-.5,7.5,14,-0.5,13.5);
   IBL2D = TProfile2D_LW::create((name+"_IBL2D").c_str(), (title + ", IBL planar modules " + setatext + phitext).c_str(),12,-6.5,5.5,14,-0.5,13.5);
   IBL   = TProfile2D_LW::create((name+"_IBL").c_str(),   (title + ", IBL " + setatext + phitext).c_str(),32,-16.5,15.5,14,-0.5,13.5);
-  B0 = TProfile2D_LW::create((name+"_B0").c_str(),       (title + ", B0 " + etatext + phitext).c_str(),13,-6.5,6.5,22,-0.5,21.5);
-  B1 = TProfile2D_LW::create((name+"_B1").c_str(),       (title + ", B1 " + etatext + phitext).c_str(),13,-6.5,6.5,38,-0.5,37.5);
-  B2 = TProfile2D_LW::create((name+"_B2").c_str(),       (title + ", B2 " + etatext + phitext).c_str(),13,-6.5,6.5,52,-0.5,51.5);
-  A  = TProfile2D_LW::create((name+"_ECA" ).c_str(),     (title + ", ECA " + disktext + phitext).c_str(),3,-0.5,2.5,48,-0.5,47.5);
-  C  = TProfile2D_LW::create((name+"_ECC" ).c_str(),     (title + ", ECC " + disktext + phitext).c_str(),3,-0.5,2.5,48,-0.5,47.5);
+  B0    = TProfile2D_LW::create((name+"_B0").c_str(),    (title + ", B0 " + etatext + phitext).c_str(),13,-6.5,6.5,22,-0.5,21.5);
+  B1    = TProfile2D_LW::create((name+"_B1").c_str(),    (title + ", B1 " + etatext + phitext).c_str(),13,-6.5,6.5,38,-0.5,37.5);
+  B2    = TProfile2D_LW::create((name+"_B2").c_str(),    (title + ", B2 " + etatext + phitext).c_str(),13,-6.5,6.5,52,-0.5,51.5);
+  A     = TProfile2D_LW::create((name+"_ECA" ).c_str(),  (title + ", ECA " + disktext + phitext).c_str(),3,-0.5,2.5,48,-0.5,47.5);
+  C     = TProfile2D_LW::create((name+"_ECC" ).c_str(),  (title + ", ECC " + disktext + phitext).c_str(),3,-0.5,2.5,48,-0.5,47.5);
   //DBMA = TProfile2D_LW::create((name+"_DBMA" ).c_str(),  (title + ", DBMA " + disktext + phitext).c_str(),3,-0.5,2.5,4,-0.5,3.5);
   //DBMC = TProfile2D_LW::create((name+"_DBMC" ).c_str(),  (title + ", DBMC " + disktext + phitext).c_str(),3,-0.5,2.5,4,-0.5,3.5);
-  formatHist(doIBL,errorHist);
+  mDoIBL = doIBL;
+  mDoErrorHist = errorHist;
+  mCopy2DFEval = copy2DFEval;
+  formatHist();
 }
 
 PixelMon2DProfilesLW::~PixelMon2DProfilesLW()
@@ -47,55 +52,54 @@ PixelMon2DProfilesLW::~PixelMon2DProfilesLW()
    //LWHist::safeDelete(DBMC);
 }
 
-void PixelMon2DProfilesLW::Fill(Identifier &id, const PixelID* pixID, bool doIBL,bool errorHist, float weight)
+void PixelMon2DProfilesLW::Fill(Identifier &id, const PixelID* pixID, float weight)
 {
   int bec = pixID->barrel_ec(id);
-   int ld  = pixID->layer_disk(id);
-   int pm  = pixID->phi_module(id);
+  int ld  = pixID->layer_disk(id);
+  int pm  = pixID->phi_module(id);
 
-   if(bec==2) A->Fill(ld,pm,weight); 
-   else if(bec==-2) C->Fill(ld,pm,weight);
-   //else if(bec==4) DBMA->Fill(ld, pm, weight);
-   //else if(bec==-4) DBMC->Fill(ld, pm, weight);
+  if (bec==2) A->Fill(ld,pm,weight); 
+  else if (bec==-2) C->Fill(ld,pm,weight);
+  //else if (bec==4) DBMA->Fill(ld, pm, weight);
+  //else if (bec==-4) DBMC->Fill(ld, pm, weight);
 
-   else if(bec==0)
-     {
-       if(doIBL){ld--;}
-       int em  = pixID->eta_module(id);
-       if(ld ==0){ 
-	 B0->Fill(em,pm,weight);
-       }
-       else if(ld ==1){ 
-	 B1->Fill(em,pm,weight);
-       }
-       else if(ld ==2){ 
-	 B2->Fill(em,pm,weight);
-       }
-       else if(ld ==-1 && doIBL && !errorHist){
-	 int feid = 0;
-	 int emf = 0;
-         bool copy = false;
-	 if(em<6 && em>-7){
-	   if(pixID->eta_index(id) >= 80) feid = 1;
-	   emf = 2 * em + feid; 
-	   IBL2D->Fill(em,pm,weight);
-           copy = true;
-	 }
-	 else if(em<-6){
-	   emf = em - 6;
-	   IBL3D->Fill(em+10,pm,weight); 
-	 }
-	 else{
-	   emf = em + 6;
-	   IBL3D->Fill(em-2,pm,weight); 
-	 }
-	 IBL->Fill(emf,pm,weight);
-         if(copy) IBL->Fill(emf+1, pm, weight);
-       }
-     }
+  else if (bec==0) {
+    if (mDoIBL) ld--;
+    int em  = pixID->eta_module(id);
+    if (ld ==0) { 
+      B0->Fill(em,pm,weight);
+    }
+    else if (ld ==1) { 
+      B1->Fill(em,pm,weight);
+    }
+    else if (ld ==2) { 
+      B2->Fill(em,pm,weight);
+    }
+    else if (ld ==-1 && mDoIBL && !mDoErrorHist) {
+      int feid = 0;
+      int emf = 0;
+      bool copy = false;
+      if (em<6 && em>-7) {
+	if (pixID->eta_index(id) >= 80) feid = 1;
+	emf = 2 * em + feid; 
+	IBL2D->Fill(em,pm,weight);
+	copy = true;
+      }
+      else if (em<-6) {
+	emf = em - 6;
+	IBL3D->Fill(em+10,pm,weight); 
+      }
+      else {
+	emf = em + 6;
+	IBL3D->Fill(em-2,pm,weight); 
+      }
+      IBL->Fill(emf,pm,weight);
+      if (mCopy2DFEval && copy) IBL->Fill(emf+1, pm, weight);
+    }
+  }
 }
 
-void PixelMon2DProfilesLW::formatHist(bool doIBL, bool errorHist)
+void PixelMon2DProfilesLW::formatHist()
 {
    const int ndisk = 3;
    const int nphi  = 48;
@@ -166,70 +170,44 @@ void PixelMon2DProfilesLW::formatHist(bool doIBL, bool errorHist)
       "B04_S2_M4", "B04_S2_M3", "B04_S2_M5", "B04_S2_M2", "B04_S2_M6", "B04_S2_M1", 
       "B01_S1_M4", "B01_S1_M3", "B01_S1_M5", "B01_S1_M2", "B01_S1_M6", "B01_S1_M1"};
 
-   for (int i=0; i<nphi; i++) 
-   {
+   for (int i=0; i<nphi; i++) {
       A->GetYaxis()->SetBinLabel( i+1, nstaveA[i] );
       C->GetYaxis()->SetBinLabel( i+1, nstaveC[i] );
    }
-   for (int i=0; i<nphi_dbm; i++) 
-   {
+
+   for (int i=0; i<nphi_dbm; i++) {
       //DBMA->GetYaxis()->SetBinLabel( i+1, phi_dbm[i] );
       //DBMC->GetYaxis()->SetBinLabel( i+1, phi_dbm[i] );
    }
-   for (int i=0; i<ndisk; i++) 
-   {
+
+   for (int i=0; i<ndisk; i++) {
       A->GetXaxis()->SetBinLabel( i+1, disk[i] );
       C->GetXaxis()->SetBinLabel( i+1, disk[i] );
       //DBMA->GetXaxis()->SetBinLabel( i+1, disk[i] );
       //DBMC->GetXaxis()->SetBinLabel( i+1, disk[i] );
    }
-   for (int i=0; i<nmod; i++) 
-   {
+
+   for (int i=0; i<nmod; i++) {
      B0->GetXaxis()->SetBinLabel( i+1, mod[i] );  // bin 0 is underflow
-      B1->GetXaxis()->SetBinLabel( i+1, mod[i] );
-      B2->GetXaxis()->SetBinLabel( i+1, mod[i] );
-   }
-   if(doIBL && !errorHist){
-     for (int i=0; i<nmodIBL; i++)
-       {
-         IBL->GetXaxis()->SetBinLabel( i+1, modIBL[i] );
-       }
-     for (int i=0; i<nstaveb; i++)
-     {
-        IBL->GetYaxis()->SetBinLabel( i+1, staveb[i] );
-     }
-     for (int i=0; i<nmodIBL2D; i++)
-       {
-	 IBL2D->GetXaxis()->SetBinLabel( i+1, modIBL2D[i] );
-       }
-     for (int i=0; i<nstaveb; i++)
-       {
-	 IBL2D->GetYaxis()->SetBinLabel( i+1, staveb[i] );
-       }
-     for (int i=0; i<nmodIBL3D; i++)
-       {
-	 IBL3D->GetXaxis()->SetBinLabel( i+1, modIBL3D[i] );
-       }
-     for (int i=0; i<nstaveb; i++)
-       {
-	 IBL3D->GetYaxis()->SetBinLabel( i+1, staveb[i] );
-       }
+     B1->GetXaxis()->SetBinLabel( i+1, mod[i] );
+     B2->GetXaxis()->SetBinLabel( i+1, mod[i] );
    }
 
-   for (int i=0; i<nstave0; i++) 
-   {
-      B0->GetYaxis()->SetBinLabel( i+1, stave0[i] ); 
-   }
-   for (int i=0; i<nstave1; i++) 
-   {
-      B1->GetYaxis()->SetBinLabel( i+1, stave1[i] ); 
-   }
-   for (int i=0; i<nstave2; i++) 
-   {
-      B2->GetYaxis()->SetBinLabel( i+1, stave2[i] ); 
+   if (mDoIBL && !mDoErrorHist) {
+     for (int i=0; i<nmodIBL; i++)   IBL->GetXaxis()->SetBinLabel( i+1, modIBL[i] );
+     for (int i=0; i<nstaveb; i++)   IBL->GetYaxis()->SetBinLabel( i+1, staveb[i] );
+     for (int i=0; i<nmodIBL2D; i++) IBL2D->GetXaxis()->SetBinLabel( i+1, modIBL2D[i] );
+     for (int i=0; i<nstaveb; i++)   IBL2D->GetYaxis()->SetBinLabel( i+1, staveb[i] );
+     for (int i=0; i<nmodIBL3D; i++) IBL3D->GetXaxis()->SetBinLabel( i+1, modIBL3D[i] );
+     for (int i=0; i<nstaveb; i++)   IBL3D->GetYaxis()->SetBinLabel( i+1, staveb[i] );
    }
 
-   if(doIBL && !errorHist){
+   for (int i=0; i<nstave0; i++) B0->GetYaxis()->SetBinLabel( i+1, stave0[i] ); 
+   for (int i=0; i<nstave1; i++) B1->GetYaxis()->SetBinLabel( i+1, stave1[i] ); 
+   for (int i=0; i<nstave2; i++) B2->GetYaxis()->SetBinLabel( i+1, stave2[i] ); 
+  
+
+   if (mDoIBL && !mDoErrorHist){
      IBL->GetYaxis()->SetLabelSize(0.03);
      IBL2D->GetYaxis()->SetLabelSize(0.03);
      IBL3D->GetYaxis()->SetLabelSize(0.03);
@@ -358,10 +336,90 @@ void PixelMon2DProfilesLW::Fill2DMon(PixelMon2DProfilesLW* oldmap)
    }
 }
 
-StatusCode PixelMon2DProfilesLW::regHist(ManagedMonitorToolBase::MonGroup &group, bool doIBL, bool errorHist)
+void PixelMon2DProfilesLW::FillFromMap(PixelMon2DMaps* inputmap, bool clear_inputmap)
+{
+  float weightIBL   = 1.0 / 26880.0;
+  float weightPixel = 1.0 / 46080.0;
+
+
+  //for(int x=1; x<=DBMA->GetNbinsX(); x++){
+  //   for(int y=1; y<=DBMA->GetNbinsY(); y++){
+  //      float content = inputmap->DBMA->GetBinContent(x, y);
+  //      DBMA->Fill(inputmap->DBMA->GetXaxis()->GetBinCenter(x), inputmap->DBMA->GetYaxis()->GetBinCenter(y), content*weightIBL);
+  //   }
+  //}
+  if (clear_inputmap) inputmap->DBMA->Reset(); 
+  //for(int x=1; x<=DBMC->GetNbinsX(); x++){
+  //   for(int y=1; y<=DBMC->GetNbinsY(); y++){
+  //      float content = inputmap->DBMC->GetBinContent(x, y);
+  //      DBMC->Fill(inputmap->DBMC->GetXaxis()->GetBinCenter(x), inputmap->DBMC->GetYaxis()->GetBinCenter(y), content*weightIBL);
+  //   }
+  //}
+  if (clear_inputmap) inputmap->DBMC->Reset();
+  
+  for(unsigned int x=1; x<=A->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=A->GetNbinsY(); y++){
+      float content = inputmap->A->GetBinContent(x, y);
+      A->Fill(inputmap->A->GetXaxis()->GetBinCenter(x), inputmap->A->GetYaxis()->GetBinCenter(y), content*weightPixel);
+    }
+  }
+  if (clear_inputmap) inputmap->A->Reset();
+  for(unsigned int x=1; x<=C->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=C->GetNbinsY(); y++){
+      float content = inputmap->C->GetBinContent(x, y);
+      C->Fill(inputmap->C->GetXaxis()->GetBinCenter(x), inputmap->C->GetYaxis()->GetBinCenter(y), content*weightPixel);
+    }
+  }
+  if (clear_inputmap) inputmap->C->Reset();
+  for(unsigned int x=1; x<=B0->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=B0->GetNbinsY(); y++){
+      float content = inputmap->B0->GetBinContent(x, y);
+      B0->Fill(inputmap->B0->GetXaxis()->GetBinCenter(x), inputmap->B0->GetYaxis()->GetBinCenter(y), content*weightPixel);
+    }
+  }
+  if (clear_inputmap) inputmap->B0->Reset();
+  for(unsigned int x=1; x<=B1->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=B1->GetNbinsY(); y++){
+      float content = inputmap->B1->GetBinContent(x, y);
+      B1->Fill(inputmap->B1->GetXaxis()->GetBinCenter(x), inputmap->B1->GetYaxis()->GetBinCenter(y), content*weightPixel);
+    }
+  }
+  if (clear_inputmap) inputmap->B1->Reset();
+  for(unsigned int x=1; x<=B2->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=B2->GetNbinsY(); y++){
+      float content = inputmap->B2->GetBinContent(x, y);
+      B2->Fill(inputmap->B2->GetXaxis()->GetBinCenter(x), inputmap->B2->GetYaxis()->GetBinCenter(y), content*weightPixel);
+    }
+  }
+  if (clear_inputmap) inputmap->B2->Reset();
+  for(unsigned int x=1; x<=IBL->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=IBL->GetNbinsY(); y++){
+      float content = inputmap->IBL->GetBinContent(x, y);
+      IBL->Fill(inputmap->IBL->GetXaxis()->GetBinCenter(x), inputmap->IBL->GetYaxis()->GetBinCenter(y), content*weightIBL);
+    }
+  }
+  if (clear_inputmap) inputmap->IBL->Reset();
+  for(unsigned int x=1; x<=IBL2D->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=IBL2D->GetNbinsY(); y++){
+      float content = inputmap->IBL2D->GetBinContent(x, y);
+      IBL2D->Fill(inputmap->IBL2D->GetXaxis()->GetBinCenter(x), inputmap->IBL2D->GetYaxis()->GetBinCenter(y), content*weightIBL*0.5);
+    }
+  }
+  if (clear_inputmap) inputmap->IBL2D->Reset();
+  for(unsigned int x=1; x<=IBL3D->GetNbinsX(); x++){
+    for(unsigned int y=1; y<=IBL3D->GetNbinsY(); y++){
+      float content = inputmap->IBL3D->GetBinContent(x, y);
+      IBL3D->Fill(inputmap->IBL3D->GetXaxis()->GetBinCenter(x), inputmap->IBL3D->GetYaxis()->GetBinCenter(y), content*weightIBL);
+    }
+  }
+  if (clear_inputmap) inputmap->IBL3D->Reset();
+}
+
+
+StatusCode PixelMon2DProfilesLW::regHist(ManagedMonitorToolBase::MonGroup &group)
 {
   StatusCode sc = StatusCode::SUCCESS;
-  if(doIBL && !errorHist){
+  if (mDoIBL && !mDoErrorHist) {
     if (group.regHist(IBL).isFailure()) sc = StatusCode::FAILURE;
     if (group.regHist(IBL2D).isFailure()) sc = StatusCode::FAILURE;
     if (group.regHist(IBL3D).isFailure()) sc = StatusCode::FAILURE;
@@ -371,8 +429,8 @@ StatusCode PixelMon2DProfilesLW::regHist(ManagedMonitorToolBase::MonGroup &group
   if (group.regHist(B2).isFailure()) sc = StatusCode::FAILURE;
   if (group.regHist(A).isFailure()) sc = StatusCode::FAILURE;
   if (group.regHist(C).isFailure()) sc = StatusCode::FAILURE;
-   //m_sc = group.regHist(DBMA);
-   //m_sc = group.regHist(DBMC);
-
-   return sc;
+  //sc = group.regHist(DBMA);
+  //sc = group.regHist(DBMC);
+  
+  return sc;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonModules.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonModules.cxx
index ae118e19dd56dcaa24f66fe2442c2253970a53df..54a65caa385ba0a566377f8a218e9868f2eb9038 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonModules.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonModules.cxx
@@ -26,10 +26,10 @@ PixelMonModulesProf::PixelMonModulesProf(std::string name, std::string title, in
 {
   m_nBins=nbins;
   for(int i=0; i < 1744 +280*doIBL; i++)
-  {
-    //getHist(i) = new TProfile((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
-    getHist(i) = TProfile_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
-  }
+    {
+      //getHist(i) = new TProfile((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
+      getHist(i) = TProfile_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
+    }
   if(doIBL==false){
     for(int i=1744; i < 2024; i++){
       getHist(i)=0;
@@ -43,10 +43,10 @@ PixelMonModulesProf::PixelMonModulesProf(std::string name, std::string title, in
 {
   m_nBins=nbins;
   for(int i=0; i < 1744 +280*doIBL; i++)
-  {
-    //getHist(i) = new TProfile((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
-    getHist(i) = TProfile_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
-  }
+    {
+      //getHist(i) = new TProfile((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
+      getHist(i) = TProfile_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
+    }
   if(doIBL==false){
     for(int i=1744; i < 2024; i++){
       getHist(i)=0;
@@ -69,10 +69,10 @@ PixelMonModules1D::PixelMonModules1D(std::string name, std::string title, int nb
 {
   m_nBins=nbins;
   for(int i=0; i < 1744 +280*doIBL; i++)
-  {
-    getHist(i) = new TH1F((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
-    //getHist(i) = TH1F_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
-  }
+    {
+      getHist(i) = new TH1F((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
+      //getHist(i) = TH1F_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, arr);
+    }
   if(doIBL==false){
     for(int i=1744; i < 2024; i++){
       getHist(i)=0;
@@ -87,10 +87,10 @@ PixelMonModules1D::PixelMonModules1D(std::string name, std::string title, int nb
 {
   m_nBins=nbins;
   for(int i=0; i < 1744 +280*doIBL; i++)
-  {
-    getHist(i) = new TH1F((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
-    //getHist(i) = TH1F_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
-  }
+    {
+      getHist(i) = new TH1F((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
+      //getHist(i) = TH1F_LW::create((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins, low, high);
+    }
   if(doIBL==false){
     for(int i=1744; i < 2024; i++){
       getHist(i)=0;
@@ -114,9 +114,9 @@ PixelMonModules2D::PixelMonModules2D(std::string name, std::string title, int nb
 {
   m_nBins=nbins0*nbins1;
   for(int i=0; i < 1744 +280*doIBL; i++)
-  {
-    getHist(i) = new TH2F((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins0, low0, high0, nbins1, low1, high1);
-  }
+    {
+      getHist(i) = new TH2F((getHistName(i,false,doIBL)+"_"+name).c_str(), (getHistName(i,false,doIBL)+" "+title).c_str(), nbins0, low0, high0, nbins1, low1, high1);
+    }
   if(doIBL==false){
     for(int i=1744; i < 2024; i++){
       getHist(i)=0;
@@ -129,21 +129,21 @@ PixelMonModules2D::PixelMonModules2D(std::string name, std::string title, int nb
 PixelMonModules2D::~PixelMonModules2D()
 {
   for(int i=0; i < 2024; i++)
-  {
-    if(getHist(i)){
-      delete getHist(i);
+    {
+      if(getHist(i)){
+	delete getHist(i);
+      }
     }
-  }
 }
 
 void PixelMonModulesProf::Reset()
 {
   for(int i=0; i < 2024; i++)
-  {
-    if(getHist(i)){
-      getHist(i)->Reset();
+    {
+      if(getHist(i)){
+	getHist(i)->Reset();
+      }
     }
-  }
 }
 
 //double PixelMonModulesProf::GetBinContent(double value, Identifier &id, const PixelID* pixID)
@@ -168,13 +168,12 @@ void PixelMonModulesProf::Reset()
 StatusCode PixelMonModulesProf::regHist(ManagedMonitorToolBase* thisptr, std::string path, ManagedMonitorToolBase::Interval_t Run, bool doIBL)
 {
   for(int i=0; i<1744 +280*doIBL; i++)
-  {
-    ManagedMonitorToolBase::MonGroup mgroup(thisptr, (path+"/"+getHistName(i,true,doIBL)).c_str(),Run);
+    {
+      ManagedMonitorToolBase::MonGroup mgroup(thisptr, (path+"/"+getHistName(i,true,doIBL)).c_str(),Run);
       if (mgroup.regHist(getHist(i)).isFailure()) {
         return StatusCode::FAILURE;
       }
     }
-
   return StatusCode::SUCCESS;
 }
 
@@ -299,7 +298,6 @@ StatusCode PixelMonModules1D::regHist(ManagedMonitorToolBase* thisptr, std::stri
         return StatusCode::FAILURE;
       }
     }
-
   return StatusCode::SUCCESS;
 }
 
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonProfiles.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonProfiles.cxx
index ab3a2661943eb2f2576812521e34e00b672c0948..bc7b0c6b3ecde5d47d68776296a5b9bd26aa7cea 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonProfiles.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelMonProfiles.cxx
@@ -280,14 +280,14 @@ void PixelMonProfiles::formatHist()
 
 StatusCode PixelMonProfiles::regHist(ManagedMonitorToolBase::MonGroup &group)
 {
-   StatusCode sc = StatusCode::SUCCESS;
-   if (group.regHist(IBL2D).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(IBL3D).isFailure()) sc = StatusCode::FAILURE;
-   if (group.regHist(IBL).isFailure())   sc = StatusCode::FAILURE;
-   if (group.regHist(B0).isFailure())    sc = StatusCode::FAILURE;
-   if (group.regHist(B1).isFailure())    sc = StatusCode::FAILURE;
-   if (group.regHist(B2).isFailure())    sc = StatusCode::FAILURE;
-   if (group.regHist(A).isFailure())     sc = StatusCode::FAILURE;
-   if (group.regHist(C).isFailure())     sc = StatusCode::FAILURE;
-   return sc;
+  StatusCode sc = StatusCode::SUCCESS;
+  if (group.regHist(IBL2D).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(IBL3D).isFailure()) sc = StatusCode::FAILURE;
+  if (group.regHist(IBL).isFailure())   sc = StatusCode::FAILURE;
+  if (group.regHist(B0).isFailure())    sc = StatusCode::FAILURE;
+  if (group.regHist(B1).isFailure())    sc = StatusCode::FAILURE;
+  if (group.regHist(B2).isFailure())    sc = StatusCode::FAILURE;
+  if (group.regHist(A).isFailure())     sc = StatusCode::FAILURE;
+  if (group.regHist(C).isFailure())     sc = StatusCode::FAILURE;
+  return sc;
 }
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Status.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Status.cxx
index cb3b64d53b607698964e328643af1121811b41f5..94da3a5deacf337b924d7deac4f50a1a9b276d87 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Status.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Status.cxx
@@ -31,225 +31,218 @@
 
 StatusCode PixelMainMon::BookStatusMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Status" << endmsg;  
+  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Status" << endmsg;  
 
-   std::string path = "Pixel/Status";
-   if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/StatusOnTrack");
-   if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/StatusOnPixelTrack");
-   MonGroup statusHistos( this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms
+  std::string path = "Pixel/Status";
+  if (m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/StatusOnTrack");
+  if (m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/StatusOnPixelTrack");
+  MonGroup statusHistos( this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms
 
-   // use the following definitions for modules states:
-   // GOOD = active + good
-   // DISABLED "BAD"  = active + bad
-   // DISABLED "INACTIVE" = inactive + good/bad (inactive implicitely means bad though)
+  // use the following definitions for modules states:
+  // GOOD = active + good
+  // DISABLED "BAD"  = active + bad
+  // DISABLED "INACTIVE" = inactive + good/bad (inactive implicitely means bad though)
 
-   StatusCode sc;
+  StatusCode sc;
 
-   m_status = new PixelMonProfiles("Map_Of_Modules_Status", ("Modules Status (0=Active+Good, 1=Active+Bad, 2=Inactive)" + m_histTitleExt).c_str());
-   sc = m_status->regHist(statusHistos);
-   m_status->SetMaxValue( 2.0 );
+  m_status = new PixelMonProfiles("Map_Of_Modules_Status", ("Modules Status (0=Active+Good, 1=Active+Bad, 2=Inactive)" + m_histTitleExt).c_str());
+  sc = m_status->regHist(statusHistos);
+  m_status->SetMaxValue( 2.0 );
 
-   m_status_mon = new PixelMonProfiles("Map_Of_Modules_Status_Mon", ("Modules Status (0=Active+Good, 1=Active+Bad, 2=Inactive) for monitoring" + m_histTitleExt).c_str());
-   sc = m_status_mon->regHist(statusHistos);
-   m_status_mon->SetMaxValue( 2.0 );
+  m_status_mon = new PixelMonProfiles("Map_Of_Modules_Status_Mon", ("Modules Status (0=Active+Good, 1=Active+Bad, 2=Inactive) for monitoring" + m_histTitleExt).c_str());
+  sc = m_status_mon->regHist(statusHistos);
+  m_status_mon->SetMaxValue( 2.0 );
 
-   //m_disabled = new PixelMonProfiles("Map_Of_Modules_Disabled", ("Modules Disabled" + m_histTitleExt).c_str());
-   //sc = m_disabled->regHist(statusHistos);
-   //m_disabled->SetMaxValue( 2.0 );
-
-   if(m_doModules)
-   {
-     m_Status_modules = new PixelMonModules1D("Status_of_Module", ("Module Status (0=Active+Good, 1=Active+Bad, 2=Inactive)" + m_histTitleExt + ";Status").c_str(),2,0,2,m_doIBL);
-     sc = m_Status_modules->regHist(this, (path+"/Modules_Status").c_str(),run,m_doIBL);
-      
+  if (m_doModules)
+    {
+      m_Status_modules = new PixelMonModules1D("Status_of_Module", ("Module Status (0=Active+Good, 1=Active+Bad, 2=Inactive)" + m_histTitleExt + ";Status").c_str(),2,0,2,m_doIBL);
+      sc = m_Status_modules->regHist(this, (path+"/Modules_Status").c_str(),run,m_doIBL);
       m_Status_modules->SetBinLabel( "Status",2 ); 
       m_Status_modules->formatHist("status",m_doIBL);
-   }
-   if(m_doOffline)
-   {
+    }
+  if (m_doOffline)
+    { 
       m_dqStatus = new PixelMon2DMaps("Ok_modules", ("module problems, empty bin means dead module not listed in status database"+ m_histTitleExt).c_str());
       sc = m_dqStatus->regHist(statusHistos);
-   }
-   std::string tmp;
-   std::string tmp2;
-
-   int nbins_LB = m_lbRange; double min_LB = -0.5; double max_LB = min_LB + (1.0*nbins_LB);
-   std::string atext_LB = ";lumi block";
-   std::string atext_nmod = ";# modules/event";
-   const std::string modlabel[PixLayerIBL2D3D::COUNT] = {"ECA", "ECC", "B0", "B1", "B2", "IBL", "IBL2D", "IBL3D"};
-
-   for( int i=0; i<PixLayerIBL2D3D::COUNT; i++){
-      tmp = makeHistname(("BadModules_per_lumi_"+modlabel[i]), false);
-      tmp2 = makeHisttitle(("Number of bad modules (bad+active) per event per LB, "+modlabel[i]), (atext_LB+atext_nmod), false);
-      sc = statusHistos.regHist(m_badModules_per_lumi_mod[i] = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
-
-      tmp = makeHistname(("DisabledModules_per_lumi_"+modlabel[i]), false);
-      tmp2 = makeHisttitle(("Number of disabled modules per event per LB, "+modlabel[i]), (atext_LB+atext_nmod), false);
-      sc = statusHistos.regHist(m_disabledModules_per_lumi_mod[i] = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
-     
-      tmp = makeHistname(("BadDisabledModules_per_lumi_"+modlabel[i]), false);
-      tmp2 = makeHisttitle(("Number of disabled & bad modules per event per LB, "+modlabel[i]), (atext_LB+atext_nmod), false);
-      sc = statusHistos.regHist(m_baddisabledModules_per_lumi_mod[i] = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
-   }
+    }
+
+  std::string tmp;
+  std::string tmp2;
+
+  int nbins_LB = m_lbRange; double min_LB = -0.5; double max_LB = min_LB + (1.0*nbins_LB);
+  std::string atext_LB = ";lumi block";
+  std::string atext_nmod = ";# modules/event";
+  const std::string modlabel[PixLayerIBL2D3D::COUNT] = {"ECA", "ECC", "B0", "B1", "B2", "IBL", "IBL2D", "IBL3D"};
+
+  for (int i=0; i<PixLayerIBL2D3D::COUNT; i++) {
+    tmp = makeHistname(("BadModules_per_lumi_"+modlabel[i]), false);
+    tmp2 = makeHisttitle(("Number of bad modules (bad+active) per event per LB, "+modlabel[i]), (atext_LB+atext_nmod), false);
+    sc = statusHistos.regHist(m_badModules_per_lumi_mod[i] = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
+    
+    tmp = makeHistname(("DisabledModules_per_lumi_"+modlabel[i]), false);
+    tmp2 = makeHisttitle(("Number of disabled modules per event per LB, "+modlabel[i]), (atext_LB+atext_nmod), false);
+    sc = statusHistos.regHist(m_disabledModules_per_lumi_mod[i] = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
+      
+    tmp = makeHistname(("BadDisabledModules_per_lumi_"+modlabel[i]), false);
+    tmp2 = makeHisttitle(("Number of disabled & bad modules per event per LB, "+modlabel[i]), (atext_LB+atext_nmod), false);
+    sc = statusHistos.regHist(m_baddisabledModules_per_lumi_mod[i] = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
+  }
 
-   tmp = makeHistname("DisabledModules_per_lumi_PIX", false);
-   tmp2 = makeHisttitle("Number of disabled modules per event per LB for Pixel barrel", (atext_LB+atext_nmod), false);
-   sc = statusHistos.regHist(m_disabledModules_per_lumi_PIX = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
+  tmp = makeHistname("DisabledModules_per_lumi_PIX", false);
+  tmp2 = makeHisttitle("Number of disabled modules per event per LB for Pixel barrel", (atext_LB+atext_nmod), false);
+  sc = statusHistos.regHist(m_disabledModules_per_lumi_PIX = TProfile_LW::create(tmp.c_str(), (tmp2+m_histTitleExt+atext_LB+atext_nmod).c_str(), nbins_LB, min_LB, max_LB));
 
 
-   if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;         
-   return StatusCode::SUCCESS;
+  if (sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;         
+  return StatusCode::SUCCESS;
 }  
 
 StatusCode PixelMainMon::BookStatusLumiBlockMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Status for lowStat" << endmsg;  
+  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Status for lowStat" << endmsg;  
 
-   std::string path = "Pixel/LumiBlock";
-   if(m_doOnTrack)      path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnTrack");
-   if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnPixelTrack");
-   MonGroup lumiBlockHist(this, path.c_str(), lowStat, ATTRIB_MANAGED); //declare a group of histograms
+  std::string path = "Pixel/LumiBlock";
+  if (m_doOnTrack)      path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnTrack");
+  if (m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/LumiBlockOnPixelTrack");
+  MonGroup lumiBlockHist(this, path.c_str(), lowStat, ATTRIB_MANAGED);
 
-   m_status_LB = new PixelMonProfiles("Map_Of_Modules_Status_LB", ("Module Status (0=Active+Good, 1=Active+Bad, 2=Inactive)"+ m_histTitleExt).c_str());
-   StatusCode sc = m_status_LB->regHist(lumiBlockHist);
-   m_status_LB->SetMaxValue( 2.0 );
+  m_status_LB = new PixelMonProfiles("Map_Of_Modules_Status_LB", ("Module Status (0=Active+Good, 1=Active+Bad, 2=Inactive)"+ m_histTitleExt).c_str());
+  StatusCode sc = m_status_LB->regHist(lumiBlockHist);
+  m_status_LB->SetMaxValue( 2.0 );
      
-   if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;         
-   return StatusCode::SUCCESS;
+  if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;         
+  return StatusCode::SUCCESS;
 }  
 
 StatusCode PixelMainMon::FillStatusMon(void)
 {
-   int Index = -1;
-   PixelID::const_id_iterator idIt    = m_pixelid->wafer_begin();
-   PixelID::const_id_iterator idItEnd = m_pixelid->wafer_end();
+  int Index = -1;
+  PixelID::const_id_iterator idIt    = m_pixelid->wafer_begin();
+  PixelID::const_id_iterator idItEnd = m_pixelid->wafer_end();
 
-   int nBad=0;
-   int nBad_mod[PixLayerIBL2D3D::COUNT]={0};
+  int nBad=0;
+  int nBad_mod[PixLayerIBL2D3D::COUNT]={0};
+  
+  int nDisabled=0;
+  int nDisabled_mod[PixLayerIBL2D3D::COUNT]={0};
 
-   int nDisabled=0;
-   int nDisabled_mod[PixLayerIBL2D3D::COUNT]={0};
 
+  if (m_isNewLumiBlock && m_Status_modules) m_Status_modules->Reset();
 
-   if(m_isNewLumiBlock && m_Status_modules) m_Status_modules->Reset();
-
-   for (; idIt != idItEnd; ++idIt)
-   {
+  for (; idIt != idItEnd; ++idIt)
+    {
       Identifier WaferID = *idIt;
       IdentifierHash id_hash = m_pixelid->wafer_hash(WaferID); 
       int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_doIBL);
       int pixlayeribl2d3d = 0;
-      if( pixlayer == PixLayer::kIBL ){
+      if ( pixlayer == PixLayer::kIBL ) {
          pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(WaferID), m_pixelid->layer_disk(WaferID), m_pixelid->eta_module(WaferID), m_doIBL);
       }
-      if( pixlayer == 99 ) continue;
+      if ( pixlayer == 99 ) continue;
 
       // check in order of occurrence to reduce number of calls to conditions service
       if      (m_pixelCondSummarySvc->isActive(id_hash) == true && m_pixelCondSummarySvc->isGood(id_hash) == true ) {Index=0;}
       else if (m_pixelCondSummarySvc->isActive(id_hash) == false) {Index=2;}
       else {Index=1;}
 
-      if(m_status) m_status->Fill(WaferID,m_pixelid,Index,m_doIBL);
-      if(m_status_mon) m_status_mon->Fill(WaferID,m_pixelid,Index,m_doIBL);
-      //if(m_disabled) m_disabled->Fill(WaferID, m_pixelid, 1.0, m_doIBL);
+      if (m_status) m_status->Fill(WaferID,m_pixelid,Index,m_doIBL);
+      if (m_status_mon) m_status_mon->Fill(WaferID,m_pixelid,Index,m_doIBL);
 
-      if(m_doLumiBlock){
-	      if(m_status_LB) m_status_LB->Fill(WaferID,m_pixelid,Index,m_doIBL);
+      if (m_doLumiBlock){
+	if (m_status_LB) m_status_LB->Fill(WaferID,m_pixelid,Index,m_doIBL);
       }
 
-      if(Index > 0) // bad but active modules  
+      if (Index > 0) // bad but active modules  
       {
-	      if (Index == 1) {
-	         nBad++;
-            nBad_mod[pixlayer]++;
-            if(pixlayeribl2d3d != 0) nBad_mod[pixlayeribl2d3d]++;
-	      }
-	      // inactive or bad modules
-	      // should maybe use only inactive modules for these, however, since tracking etc use "disabled module" as !(active+good)
-	      // continue monitoring that quantity for now
-         if(Index == 2)
-	      {
+	if (Index == 1) {
+	  nBad++;
+	  nBad_mod[pixlayer]++;
+	  if(pixlayeribl2d3d != 0) nBad_mod[pixlayeribl2d3d]++;
+	}
+	// inactive or bad modules
+	// should maybe use only inactive modules for these, however, since tracking etc use "disabled module" as !(active+good)
+	// continue monitoring that quantity for now
+	if (Index == 2)
+	  {
             nDisabled++;
             nDisabled_mod[pixlayer]++;
             if(pixlayeribl2d3d != 0) nDisabled_mod[pixlayeribl2d3d]++;
-         }
+	  }
 
-	      if (m_Status_modules)
-         {
+	if (m_Status_modules)
+	  {
             int diffToFill=0;
             double content = floor(m_Status_modules->GetBinContent(1.5,WaferID,m_pixelid));   // 1.5 refers to the bin [1,2] 
             // If we have module in state 1 (active+bad), and get 2 later (inactive), want to add 1 it to put module in state 2 
-            if(content==2)
-            {
-               diffToFill=0;
-            }
-            else if(content==1 && (Index==2))
-            {
-               diffToFill=1;
-            }
-            else if(content==0)
-            {
-               diffToFill=Index;
-            }
-            for(int i=0; i<diffToFill; i++) m_Status_modules->Fill(1.5,WaferID,m_pixelid,m_doIBL);  //fill to the required value
+            if (content==2)
+	      {
+		diffToFill=0;
+	      }
+            else if (content==1 && (Index==2))
+	      {
+		diffToFill=1;
+	      }
+            else if (content==0)
+	      {
+		diffToFill=Index;
+	      }
+            for (int i=0; i<diffToFill; i++) m_Status_modules->Fill(1.5,WaferID,m_pixelid,m_doIBL);  //fill to the required value
          }
       }
-   } // End of loop 
-
-   //static float nmod[PixLayer::COUNT] = {144., 144., 286., 494., 676., 280.};
-   static float nmod2[PixLayerIBL2D3D::COUNT] = {144., 144., 286., 494., 676., 280., 168., 112.};
-
-   for(int i=0 ; i<PixLayerIBL2D3D::COUNT ; i++){
-     if(m_badModules_per_lumi_mod[i] && nmod2[i] > 0) m_badModules_per_lumi_mod[i]->Fill( m_manager->lumiBlockNumber(), nBad_mod[i]/nmod2[i] );
-     if(m_disabledModules_per_lumi_mod[i]) m_disabledModules_per_lumi_mod[i]->Fill( m_manager->lumiBlockNumber(), nDisabled_mod[i] );
-     if(m_baddisabledModules_per_lumi_mod[i]) m_baddisabledModules_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(),nDisabled_mod[i]+nBad_mod[i]); 
-   }
-   if(m_disabledModules_per_lumi_PIX) m_disabledModules_per_lumi_PIX->Fill( m_manager->lumiBlockNumber(), nDisabled_mod[PixLayerIBL2D3D::kB0] + nDisabled_mod[PixLayerIBL2D3D::kB1] + nDisabled_mod[PixLayerIBL2D3D::kB2]);
-
-   if (nDisabled > (1744+280*m_doIBL)*0.50) {
-     m_majorityDisabled = true;
-   }
-   else {
-     m_majorityDisabled = false;
-   }
-
-   if(m_doRefresh && m_status_mon) m_status_mon->Reset();
-
-   return StatusCode::SUCCESS;
-
+    } // of pixelid wafer loop 
+
+  static float nmod_per_layer[PixLayerIBL2D3D::COUNT] = {144., 144., 286., 494., 676., 280., 168., 112.};
+
+  for (int i=0 ; i<PixLayerIBL2D3D::COUNT ; i++){
+    if (m_badModules_per_lumi_mod[i] && nmod_per_layer[i] > 0) m_badModules_per_lumi_mod[i]->Fill( m_manager->lumiBlockNumber(), nBad_mod[i]/nmod_per_layer[i] );
+    if (m_disabledModules_per_lumi_mod[i]) m_disabledModules_per_lumi_mod[i]->Fill( m_manager->lumiBlockNumber(), nDisabled_mod[i] );
+    if (m_baddisabledModules_per_lumi_mod[i]) m_baddisabledModules_per_lumi_mod[i]->Fill(m_manager->lumiBlockNumber(),nDisabled_mod[i]+nBad_mod[i]); 
+  }
+  if (m_disabledModules_per_lumi_PIX) m_disabledModules_per_lumi_PIX->Fill( m_manager->lumiBlockNumber(), nDisabled_mod[PixLayerIBL2D3D::kB0] + nDisabled_mod[PixLayerIBL2D3D::kB1] + nDisabled_mod[PixLayerIBL2D3D::kB2]);
+  
+  if (nDisabled > (1744+280*m_doIBL)*0.50) {
+    m_majorityDisabled = true;
+  }
+  else {
+    m_majorityDisabled = false;
+  }
+
+  if (m_doRefresh && m_status_mon) m_status_mon->Reset();
+
+  return StatusCode::SUCCESS;
 }   
 
 StatusCode PixelMainMon::ProcStatusMon(void)
 {
-   if(m_status && m_dqStatus && m_occupancy)
-   {
-      if(m_doIBL){
-	      for(int i=1;i<=12;i++){
-	         for(int j=1;j<=14;j++){
-	            m_dqStatus->IBL2D->SetBinContent(i,j, m_occupancy->IBL2D->GetBinContent(i,j) + m_status->IBL2D->GetBinContent(i,j) );
-	         }	 
-	      }
-	      for(int i=1;i<=8;i++){
-	         for(int j=1;j<=14;j++){
-	            m_dqStatus->IBL3D->SetBinContent(i,j, m_occupancy->IBL3D->GetBinContent(i,j) + m_status->IBL3D->GetBinContent(i,j) );
-	         }	 
-	      }
+  if (m_status && m_dqStatus && m_occupancy)
+    {
+      if (m_doIBL) {
+	for (int i=1;i<=12;i++) {
+	  for (int j=1;j<=14;j++) {
+	    m_dqStatus->IBL2D->SetBinContent(i,j, m_occupancy->IBL2D->GetBinContent(i,j) + m_status->IBL2D->GetBinContent(i,j) );
+	  }	 
+	}
+	for (int i=1;i<=8;i++) {
+	  for (int j=1;j<=14;j++) {
+	    m_dqStatus->IBL3D->SetBinContent(i,j, m_occupancy->IBL3D->GetBinContent(i,j) + m_status->IBL3D->GetBinContent(i,j) );
+	  }	 
+	}
       }
-      for(int i=1;i<=13;i++){
-	      for(int j=1;j<=22;j++)
-	         m_dqStatus->B0->SetBinContent(i,j, m_occupancy->B0->GetBinContent(i,j) + m_status->B0->GetBinContent(i,j) );
-	      for(int j=1;j<=38;j++)                                                                                   
-	         m_dqStatus->B1->SetBinContent(i,j, m_occupancy->B1->GetBinContent(i,j) + m_status->B1->GetBinContent(i,j) );
-	      for(int j=1;j<=52;j++)                                                                                   
-	         m_dqStatus->B2->SetBinContent(i,j, m_occupancy->B2->GetBinContent(i,j) + m_status->B2->GetBinContent(i,j) );
-	   }
-      for(int i=1;i<=48;i++){
-	      for(int j=1;j<=3;j++){
-	         m_dqStatus->A->SetBinContent(j,i, m_occupancy->A->GetBinContent(j,i) + m_status->A->GetBinContent(j,i) );
-	         m_dqStatus->C->SetBinContent(j,i, m_occupancy->C->GetBinContent(j,i) + m_status->C->GetBinContent(j,i) );
-	      }
-	   }
-   }
-   return StatusCode::SUCCESS;                  
+      for (int i=1;i<=13;i++) {
+	for (int j=1;j<=22;j++)
+	  m_dqStatus->B0->SetBinContent(i,j, m_occupancy->B0->GetBinContent(i,j) + m_status->B0->GetBinContent(i,j) );
+	for (int j=1;j<=38;j++)                                                                                   
+	  m_dqStatus->B1->SetBinContent(i,j, m_occupancy->B1->GetBinContent(i,j) + m_status->B1->GetBinContent(i,j) );
+	for (int j=1;j<=52;j++)                                                                                   
+	  m_dqStatus->B2->SetBinContent(i,j, m_occupancy->B2->GetBinContent(i,j) + m_status->B2->GetBinContent(i,j) );
+      }
+      for (int i=1;i<=48;i++) {
+	for (int j=1;j<=3;j++) {
+	  m_dqStatus->A->SetBinContent(j,i, m_occupancy->A->GetBinContent(j,i) + m_status->A->GetBinContent(j,i) );
+	  m_dqStatus->C->SetBinContent(j,i, m_occupancy->C->GetBinContent(j,i) + m_status->C->GetBinContent(j,i) );
+	}
+      }
+    }
+  return StatusCode::SUCCESS;                  
 }                                               
 
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Track.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Track.cxx
index c7aef3543c85cef040f921a54cdc52915b7c3a47..0d12a15a3e2843341bb3e45bfe3557b2404a0fb6 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/Track.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/Track.cxx
@@ -10,8 +10,6 @@
 #include "InDetRawData/InDetTimeCollection.h"
 #include "TrkSpacePoint/SpacePointContainer.h"
 #include "InDetPrepRawData/PixelClusterContainer.h"         
-//#include "TrkParameters/MeasuredAtaPlane.h"
-//#include "TrkParameters/MeasuredPerigee.h"
 #include "InDetConditionsSummaryService/IInDetConditionsSvc.h"
 #include "TrkParameters/TrackParameters.h"
 #include "InDetRIO_OnTrack/SiClusterOnTrack.h"
@@ -50,308 +48,290 @@
 ///////////////////////////////////////////////////////////////////////////////
 StatusCode PixelMainMon::BookTrackMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Tracks" << endmsg;  
-
-   std::string path = "Pixel/Track";
-   if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/TrackOnTrack");
-   if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/TrackOnPixelTrack");
-   MonGroup trackHistos( this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms
-
-   std::string modlabel[9];
-   modlabel[0]="ECA"; modlabel[1]="ECC";
-   modlabel[2]="B0";  modlabel[3]="B1";    modlabel[4]="B2"; 
-   modlabel[5]="IBL"; modlabel[6]="IBL2D"; modlabel[7]="IBL3D"; 
-   std::string modlabel2[PixLayerIBL2D3DDBM::COUNT];
-   modlabel2[0]="ECA0"; modlabel2[1]="ECA1"; modlabel2[2]="ECA2"; 
-   modlabel2[3]="ECC0"; modlabel2[4]="ECC1"; modlabel2[5]="ECC2"; 
-   modlabel2[6]="B0";  modlabel2[7]="B1";  modlabel2[8]="B2"; 
-   modlabel2[9]="DBMA";modlabel2[10]="DBMC";
-   modlabel2[11]="IBL"; modlabel2[12]="IBL2D"; modlabel2[13]="IBL3D"; 
-   std::string hname;
-   std::string htitles;
-
-   StatusCode sc;
-
-   sc=trackHistos.regHist(m_track_res_phi  = TH1F_LW::create("Track_res_phi",  ("Pixel Residual LocX(phi)" + m_histTitleExt).c_str(),100,-0.1,0.1));
-   sc=trackHistos.regHist(m_track_res_eta  = TH1F_LW::create("Track_res_eta",  ("Pixel Residual LocY(eta)" + m_histTitleExt).c_str(),100,-0.3,0.3));
-   sc=trackHistos.regHist(m_track_pull_phi = TH1F_LW::create("Track_pull_phi", ("Pixel pull LocX(phi)"     + m_histTitleExt).c_str(),100,-1.2,1.2));      
-   sc=trackHistos.regHist(m_track_pull_eta = TH1F_LW::create("Track_pull_eta", ("Pixel pull LocY(eta)"     + m_histTitleExt).c_str(),100,-2.0,2.0));   
-   sc=trackHistos.regHist(m_track_chi2     = TH1F_LW::create("Track_chi2",     ("chi2 of rec. track"       + m_histTitleExt + ";#chi^{2}/DoF;#tracks").c_str(), 50,-0.,10.));
-
-   sc=trackHistos.regHist(m_tracksPerEvt_per_lumi = TProfile_LW::create("tracksPerEvt_per_lumi", ("Number of tracks per event per LB" + m_histTitleExt + ";lumi block;tracks/event").c_str(), m_lbRange, -0.5,-0.5+(float)m_lbRange));
-   //sc=trackHistos.regHist(m_tracksPerEvtPerMu_per_lumi = TProfile_LW::create("tracksPerEvtPerMu_per_lumi", ("Number of tracks per event per mu per LB (pixel tracks)" + m_histTitleExt + ";lumi block;tracks/event").c_str(), m_lbRange, -0.5, -0.5+(float)m_lbRange));
-   
-   //sc=trackHistos.regHist(m_degFactorMap = TProfile2D_LW::create("degFactorMap", ("degradation factor map for IP resolution" + m_histTitleExt + ";track #eta;track #phi").c_str(), 60, -3.0, 3.0, 80, -4.0, 4.0));
-   //m_degFactorMap->SetOption("colz");
-   //sc=trackHistos.regHist(m_degFactorMap_per_lumi = TProfile_LW::create("degFactorMap_per_lumi", ("overall degradation factor for IP resolution per lumi" + m_histTitleExt + ";lumi block;overall avg deg. factor").c_str(), m_lbRange, -0.5, -0.5+(float)m_lbRange));
-   //sc=trackHistos.regHist(m_degFactorMap_eta_per_lumi = TProfile2D_LW::create("degFactorMap_eta_per_lumi", ("degradation factor (eta) for IP resolution per lumi" + m_histTitleExt + ";lumi block;track #eta").c_str(),  m_lbRange, -0.5, -0.5+(float)m_lbRange, 60, -3.0, 3.0 ));
-   //m_degFactorMap_eta_per_lumi->SetOption("colz");
-   //sc=trackHistos.regHist(m_degFactorMap_phi_per_lumi = TProfile2D_LW::create("degFactorMap_phi_per_lumi", ("degradation factor (phi) for IP resolution per lumi" + m_histTitleExt + ";lumi block;track #phi").c_str(),  2500, -0.5, 2499.5, 80, -4.0, 4.0 ));
-   //m_degFactorMap_phi_per_lumi->SetOption("colz");
-
-   if(m_do2DMaps && !m_doOnline){
-      m_tsos_hitmap = new PixelMon2DMapsLW("TSOS_Measurement", ("TSOS of type Measurement" + m_histTitleExt), m_doIBL, false);
-      sc = m_tsos_hitmap->regHist(trackHistos, m_doIBL, false);
-      m_tsos_holemap = new PixelMon2DMapsLW("TSOS_Hole", ("TSOS of type Hole" + m_histTitleExt), m_doIBL, false);
-      sc = m_tsos_holemap->regHist(trackHistos, m_doIBL, false);
-      m_tsos_outliermap = new PixelMon2DMapsLW("TSOS_Outlier", ("TSOS of type Outlier" + m_histTitleExt), m_doIBL, false);
-      sc = m_tsos_outliermap->regHist(trackHistos, m_doIBL, false);
-
-      //m_tsos_measratio = new PixelMon2DProfilesLW("TSOS_MeasRatio", ("TSOS of type Meas per track" + m_histTitleExt), m_doIBL, false);
-      //sc = m_tsos_measratio->regHist(trackHistos, m_doIBL, false);
-      //m_tsos_holeratio = new PixelMon2DProfilesLW("TSOS_HoleRatio", ("TSOS of type Hole per track" + m_histTitleExt), m_doIBL, false);
-      //sc = m_tsos_holeratio->regHist(trackHistos, m_doIBL, false);
-      m_misshits_ratio = new PixelMon2DProfilesLW("MissHitsRatioOnTrack", ("Hole+Outlier per track" + m_histTitleExt), m_doIBL, false);
-      sc = m_misshits_ratio->regHist(trackHistos, m_doIBL, false);
-   }
-   if(m_doOnline){
-      m_tsos_holeratio_tmp = new PixelMon2DProfilesLW("HoleRatio_tmp", ("TSOS of type Hole per track tmp" + m_histTitleExt), m_doIBL, false);
-      sc = m_tsos_holeratio_tmp->regHist(trackHistos, m_doIBL, false);
-      m_tsos_holeratio_mon = new PixelMon2DProfilesLW("HoleRatio_mon", ("TSOS of type Hole per track for monitoring" + m_histTitleExt), m_doIBL, false);
-      sc = m_tsos_holeratio_mon->regHist(trackHistos, m_doIBL, false);
-      m_misshits_ratio_tmp = new PixelMon2DProfilesLW("MissHitsRatioOnTrack_tmp", ("Hole+Outlier per track" + m_histTitleExt), m_doIBL, false);
-      sc = m_misshits_ratio_tmp->regHist(trackHistos, m_doIBL, false);
-      m_misshits_ratio_mon = new PixelMon2DProfilesLW("MissHitsRatioOnTrack_mon", ("Hole+Outlier per track for monitoring" + m_histTitleExt), m_doIBL, false);
-      sc = m_misshits_ratio_mon->regHist(trackHistos, m_doIBL, false);
-   }
-
-   if(m_doModules){
-      m_tsos_hiteff_vs_lumi = new PixelMonModulesProf("TSOS_HitEfficiency",("TSOS-based hit efficiency in module" + m_histTitleExt).c_str(),2500,-0.5,2499.5,m_doIBL);
-      sc = m_tsos_hiteff_vs_lumi->regHist(this,(path+"/Modules_TSOSHitEff").c_str(),run, m_doIBL);
-      if(!m_doOnline){
-         sc=trackHistos.regHist(m_clustot_lowpt = TH1F_LW::create("m_clustot_lowpt",("Cluster ToT vs Track pT (pT<10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
-         sc=trackHistos.regHist(m_clustot_highpt = TH1F_LW::create("m_clustot_highpt",("Cluster ToT vs Track pT (pT>=10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
-         sc=trackHistos.regHist(m_1hitclustot_lowpt = TH1F_LW::create("m_1hitclustot_lowpt",("1-Hit cluster ToT vs track pT (pT<10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
-         sc=trackHistos.regHist(m_1hitclustot_highpt = TH1F_LW::create("m_1hitclustot_highpt",("1-Hit cluster ToT vs track pT (pT>=10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
-         sc=trackHistos.regHist(m_2hitclustot_lowpt = TH1F_LW::create("m_2hitclustot_lowpt",("2-Hit cluster ToT vs track pT (pT<10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
-         sc=trackHistos.regHist(m_2hitclustot_highpt = TH1F_LW::create("m_2hitclustot_highpt",("2-Hit cluster ToT vs track pT (pT>=10GeV)" + m_histTitleExt + " Track pT; Cluster ToT (on track)").c_str(),250,0,250));
-         sc=trackHistos.regHist(m_clustot_vs_pt = TH2F_LW::create("m_clustot_vs_pt",("Cluster ToT vs Track pT" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),10,0,50,250,0,250));
-         sc=trackHistos.regHist(m_track_chi2_bcl1 = TH1F_LW::create("m_Pixel_track_chi2_bcl1", ("track chi2 with 1 1-hit, low-ToT cluster" + m_histTitleExt + "; #chi^{ 2}/DoF;").c_str(), 50,-0.,10.));
-         sc=trackHistos.regHist(m_track_chi2_bcl0 = TH1F_LW::create("m_Pixel_track_chi2_bcl0", ("track chi2 with 0 1-hit, low-ToT clusters" + m_histTitleExt + "; #chi^ {2}/DoF;").c_str(), 50,-0.,10.));
-         sc=trackHistos.regHist(m_track_chi2_bclgt1 = TH1F_LW::create("m_Pixel_track_chi2_bclgt1", ("track chi2 with >1 1-hit, low-ToT cluster" + m_histTitleExt + "; # chi^{2}/DoF;").c_str(), 50,-0.,10.));
-         sc=trackHistos.regHist(m_track_chi2_bcl1_highpt = TH1F_LW::create("m_Pixel_track_chi2_bcl1_highpt", ("track chi2 with 1 1-hit, low-ToT cluster (pT>=10GeV)" + m_histTitleExt + "; #chi^{2}/DoF;").c_str(), 50,-0.,10.));
-         sc=trackHistos.regHist(m_track_chi2_bcl0_highpt = TH1F_LW::create("m_Pixel_track_chi2_bcl0_highpt", ("track chi2 with 0 1-hit, low-ToT clusters (pT>=10GeV)" + m_histTitleExt + "; #chi^{2}/DoF;").c_str(), 50,-0.,10.));
-         sc=trackHistos.regHist(m_track_chi2_bclgt1_highpt = TH1F_LW::create("m_Pixel_track_chi2_bclgt1_highpt", ("track chi2 with >1 1-hit, low-ToT cluster (pT>=10GeV)" + m_histTitleExt + "; #chi^{2}/DoF;").c_str(), 50,-0.,10.));
-      }
-   }
+  if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "starting Book Tracks" << endmsg;  
+  
+  std::string path = "Pixel/Track";
+  if(m_doOnTrack) path.replace(path.begin(), path.end(), "Pixel/TrackOnTrack");
+  if(m_doOnPixelTrack) path.replace(path.begin(), path.end(), "Pixel/TrackOnPixelTrack");
+  MonGroup trackHistos( this, path.c_str(), run, ATTRIB_MANAGED ); //declare a group of histograms
+  
+  std::string modlabel[9];
+  modlabel[0]="ECA"; modlabel[1]="ECC";
+  modlabel[2]="B0";  modlabel[3]="B1";    modlabel[4]="B2"; 
+  modlabel[5]="IBL"; modlabel[6]="IBL2D"; modlabel[7]="IBL3D"; 
+  std::string hname;
+  std::string htitles;
+  
+  StatusCode sc;
 
-   for(int i=0; i<PixLayerDBM::COUNT; i++){
-      hname = makeHistname(("HitEff_all_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("hit efficiency, "+modlabel2[i]), ";lumi block;hit efficiency", false);
-      sc = trackHistos.regHist(m_hiteff_incl_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), m_lbRange, -0.5, -0.5+(float)m_lbRange));
+  int nbins_LB = m_lbRange;     double min_LB  = -0.5;   double max_LB = min_LB + (1.0*nbins_LB);        
+  
+  ///
+  /// Track Parameter
+  ///
+  sc = trackHistos.regHist(m_track_res_phi  = TH1F_LW::create("Track_res_phi",  ("Pixel Residual LocX(phi)" + m_histTitleExt).c_str(),100,-0.1,0.1));
+  sc = trackHistos.regHist(m_track_res_eta  = TH1F_LW::create("Track_res_eta",  ("Pixel Residual LocY(eta)" + m_histTitleExt).c_str(),100,-0.3,0.3));
+  sc = trackHistos.regHist(m_track_pull_phi = TH1F_LW::create("Track_pull_phi", ("Pixel pull LocX(phi)"     + m_histTitleExt).c_str(),100,-1.2,1.2));      
+  sc = trackHistos.regHist(m_track_pull_eta = TH1F_LW::create("Track_pull_eta", ("Pixel pull LocY(eta)"     + m_histTitleExt).c_str(),100,-2.0,2.0));   
+  sc = trackHistos.regHist(m_track_chi2     = TH1F_LW::create("Track_chi2",     ("chi2 of rec. track"       + m_histTitleExt + ";#chi^{2}/DoF;#tracks").c_str(), 50,-0.,10.));
+  sc = trackHistos.regHist(m_tracksPerEvt_per_lumi = TProfile_LW::create("tracksPerEvt_per_lumi", ("Number of tracks per event per LB" + m_histTitleExt + ";lumi block;tracks/event").c_str(), nbins_LB, min_LB, max_LB));
+  
+  ///
+  /// Lorentz Angle
+  ///
+  hname = makeHistname("LorentzAngle_IBL", false);
+  htitles = makeHisttitle("Lorentz angle IBL", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
+  sc = trackHistos.regHist(m_LorentzAngle_IBL = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 14, -0.5, 13.5));
+  hname = makeHistname("LorentzAngle_IBL2D", false);
+  htitles = makeHisttitle("Lorentz angle IBL2D", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
+  sc = trackHistos.regHist(m_LorentzAngle_IBL2D = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 14, -0.5, 13.5));
+  hname = makeHistname("LorentzAngle_IBL3D", false);
+  htitles = makeHisttitle("Lorentz angle IBL3D", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
+  sc = trackHistos.regHist(m_LorentzAngle_IBL3D = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 14, -0.5, 13.5));
+  hname = makeHistname("LorentzAngle_B0", false);
+  htitles = makeHisttitle("Lorentz angle B0", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
+  sc = trackHistos.regHist(m_LorentzAngle_B0 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 22, -0.5, 21.5));
+  hname = makeHistname("LorentzAngle_B1", false);
+  htitles = makeHisttitle("Lorentz angle B1", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
+  sc = trackHistos.regHist(m_LorentzAngle_B1 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 38, -0.5, 37.5));
+  hname = makeHistname("LorentzAngle_B2", false);
+  htitles = makeHisttitle("Lorentz angle B2", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
+  sc = trackHistos.regHist(m_LorentzAngle_B2 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 52, -0.5, 51.5));
+  
+  if (m_LorentzAngle_IBL)   m_LorentzAngle_IBL->SetOption("colz");
+  if (m_LorentzAngle_IBL2D) m_LorentzAngle_IBL2D->SetOption("colz");
+  if (m_LorentzAngle_IBL3D) m_LorentzAngle_IBL3D->SetOption("colz");
+  if (m_LorentzAngle_B0)    m_LorentzAngle_B0->SetOption("colz");
+  if (m_LorentzAngle_B1)    m_LorentzAngle_B1->SetOption("colz");
+  if (m_LorentzAngle_B2)    m_LorentzAngle_B2->SetOption("colz");
+  
+  sc=trackHistos.regHist(m_degFactorMap_per_lumi = TProfile_LW::create("degFactorMap_per_lumi", ("deg. factor per lumi" + m_histTitleExt + ";lumi block;avg deg. factor").c_str(), nbins_LB, min_LB, max_LB));
+  sc=trackHistos.regHist(m_degFactorMap = TProfile2D_LW::create("degFactorMap", ("deg. factor map" + m_histTitleExt + ";track #eta;track #phi").c_str(), 60, -3.0, 3.0, 60, -3.0, 3.0));
+  m_degFactorMap->SetOption("colz");
+  m_degFactorMap->SetMinimum(1.0);
+  m_degFactorMap->SetMaximum(2.0);
+  
+  if (m_do2DMaps && !m_doOnline) {
+    m_tsos_hitmap = new PixelMon2DMapsLW("TSOS_Measurement", ("TSOS of type Measurement" + m_histTitleExt), m_doIBL, false);
+    sc = m_tsos_hitmap->regHist(trackHistos, m_doIBL, false);
+    m_tsos_holemap = new PixelMon2DMapsLW("TSOS_Hole", ("TSOS of type Hole" + m_histTitleExt), m_doIBL, false);
+    sc = m_tsos_holemap->regHist(trackHistos, m_doIBL, false);
+    m_tsos_outliermap = new PixelMon2DMapsLW("TSOS_Outlier", ("TSOS of type Outlier" + m_histTitleExt), m_doIBL, false);
+    sc = m_tsos_outliermap->regHist(trackHistos, m_doIBL, false);
+    
+    //m_tsos_measratio = new PixelMon2DProfilesLW("TSOS_MeasRatio", ("TSOS of type Meas per track" + m_histTitleExt), m_doIBL, false, true);
+    //sc = m_tsos_measratio->regHist(trackHistos);
+    //m_tsos_holeratio = new PixelMon2DProfilesLW("TSOS_HoleRatio", ("TSOS of type Hole per track" + m_histTitleExt), m_doIBL, false, true);
+    //sc = m_tsos_holeratio->regHist(trackHistos);
+    //m_misshits_ratio = new PixelMon2DProfilesLW("MissHitsRatioOnTrack", ("Hole+Outlier per track" + m_histTitleExt), m_doIBL, false, true);
+    //sc = m_misshits_ratio->regHist(trackHistos);
+  }
+  if (m_doOnline) {
+    m_tsos_holeratio_tmp = new PixelMon2DProfilesLW("HoleRatio_tmp", ("TSOS of type Hole per track tmp" + m_histTitleExt), m_doIBL, false, true);
+    sc = m_tsos_holeratio_tmp->regHist(trackHistos);
+    m_tsos_holeratio_mon = new PixelMon2DProfilesLW("HoleRatio_mon", ("TSOS of type Hole per track for monitoring" + m_histTitleExt), m_doIBL, false, true);
+    sc = m_tsos_holeratio_mon->regHist(trackHistos);
+    m_misshits_ratio_tmp = new PixelMon2DProfilesLW("MissHitsRatioOnTrack_tmp", ("Hole+Outlier per track" + m_histTitleExt), m_doIBL, false, true);
+    sc = m_misshits_ratio_tmp->regHist(trackHistos);
+    m_misshits_ratio_mon = new PixelMon2DProfilesLW("MissHitsRatioOnTrack_mon", ("Hole+Outlier per track for monitoring" + m_histTitleExt), m_doIBL, false, true);
+    sc = m_misshits_ratio_mon->regHist(trackHistos);
+  }
+  
+  if (m_doModules) {
+    m_tsos_hiteff_vs_lumi = new PixelMonModulesProf("TSOS_HitEfficiency",("TSOS-based hit efficiency in module" + m_histTitleExt).c_str(),2500,-0.5,2499.5,m_doIBL);
+    sc = m_tsos_hiteff_vs_lumi->regHist(this,(path+"/Modules_TSOSHitEff").c_str(),run, m_doIBL);
+    if (!m_doOnline) {
+      sc=trackHistos.regHist(m_clustot_lowpt = TH1F_LW::create("m_clustot_lowpt",("Cluster ToT vs Track pT (pT<10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
+      sc=trackHistos.regHist(m_clustot_highpt = TH1F_LW::create("m_clustot_highpt",("Cluster ToT vs Track pT (pT>=10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
+      sc=trackHistos.regHist(m_1hitclustot_lowpt = TH1F_LW::create("m_1hitclustot_lowpt",("1-Hit cluster ToT vs track pT (pT<10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
+      sc=trackHistos.regHist(m_1hitclustot_highpt = TH1F_LW::create("m_1hitclustot_highpt",("1-Hit cluster ToT vs track pT (pT>=10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
+      sc=trackHistos.regHist(m_2hitclustot_lowpt = TH1F_LW::create("m_2hitclustot_lowpt",("2-Hit cluster ToT vs track pT (pT<10GeV)" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),250,0,250));
+      sc=trackHistos.regHist(m_2hitclustot_highpt = TH1F_LW::create("m_2hitclustot_highpt",("2-Hit cluster ToT vs track pT (pT>=10GeV)" + m_histTitleExt + " Track pT; Cluster ToT (on track)").c_str(),250,0,250));
+      sc=trackHistos.regHist(m_clustot_vs_pt = TH2F_LW::create("m_clustot_vs_pt",("Cluster ToT vs Track pT" + m_histTitleExt + "; Track pT; Cluster ToT (on track)").c_str(),10,0,50,250,0,250));
+      sc=trackHistos.regHist(m_track_chi2_bcl1 = TH1F_LW::create("m_Pixel_track_chi2_bcl1", ("track chi2 with 1 1-hit, low-ToT cluster" + m_histTitleExt + "; #chi^{ 2}/DoF;").c_str(), 50,-0.,10.));
+      sc=trackHistos.regHist(m_track_chi2_bcl0 = TH1F_LW::create("m_Pixel_track_chi2_bcl0", ("track chi2 with 0 1-hit, low-ToT clusters" + m_histTitleExt + "; #chi^ {2}/DoF;").c_str(), 50,-0.,10.));
+      sc=trackHistos.regHist(m_track_chi2_bclgt1 = TH1F_LW::create("m_Pixel_track_chi2_bclgt1", ("track chi2 with >1 1-hit, low-ToT cluster" + m_histTitleExt + "; # chi^{2}/DoF;").c_str(), 50,-0.,10.));
+      sc=trackHistos.regHist(m_track_chi2_bcl1_highpt = TH1F_LW::create("m_Pixel_track_chi2_bcl1_highpt", ("track chi2 with 1 1-hit, low-ToT cluster (pT>=10GeV)" + m_histTitleExt + "; #chi^{2}/DoF;").c_str(), 50,-0.,10.));
+      sc=trackHistos.regHist(m_track_chi2_bcl0_highpt = TH1F_LW::create("m_Pixel_track_chi2_bcl0_highpt", ("track chi2 with 0 1-hit, low-ToT clusters (pT>=10GeV)" + m_histTitleExt + "; #chi^{2}/DoF;").c_str(), 50,-0.,10.));
+      sc=trackHistos.regHist(m_track_chi2_bclgt1_highpt = TH1F_LW::create("m_Pixel_track_chi2_bclgt1_highpt", ("track chi2 with >1 1-hit, low-ToT cluster (pT>=10GeV)" + m_histTitleExt + "; #chi^{2}/DoF;").c_str(), 50,-0.,10.));
+    }
+  }
+  
+  for (int i=0; i<PixLayerDisk::COUNT; i++) {
+    hname = makeHistname(("HitEff_all_"+m_modLabel_PixLayerDisk[i]), false);
+    htitles = makeHisttitle(("hit efficiency, "+m_modLabel_PixLayerDisk[i]), ";lumi block;hit efficiency", false);
+    sc = trackHistos.regHist(m_hiteff_incl_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), nbins_LB, min_LB, max_LB));
+  }
 
-      hname = makeHistname(("HitEff_actv_"+modlabel2[i]), false);
-      htitles = makeHisttitle(("hit efficiency for active modules, "+modlabel2[i]), ";lumi block;hit efficiency", false);
-      sc = trackHistos.regHist(m_hiteff_actv_mod[i] = TProfile_LW::create(hname.c_str(), htitles.c_str(), m_lbRange, -0.5, -0.5+(float)m_lbRange));
-      
-      /// clusters
-      //hname = makeHistname(("ClusterSize_Measurement_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("cluster size  for clusters on tracks, "+modlabel[i]), ";cluster size;#clusters", false);
-      //sc = trackHistos.regHist(m_clusize_measurement_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
-      //hname = makeHistname(("ClusterSize_Outlier_"+modlabel[i]), false);
-      //htitles = makeHisttitle(("cluster size  for outliers , "+modlabel[i]), ";cluster size;#clusters", false);
-      //sc = trackHistos.regHist(m_clusize_outlier_mod[i] = TH1F_LW::create(hname.c_str(), htitles.c_str(), 300, -0.5, -0.5+300.0));
-   }
-
-
-   hname = makeHistname("LorentzAngle_IBL", false);
-   htitles = makeHisttitle("Lorentz angle IBL", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
-   sc = trackHistos.regHist(m_LorentzAngle_IBL = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 14, -0.5, 13.5));
-   hname = makeHistname("LorentzAngle_IBL2D", false);
-   htitles = makeHisttitle("Lorentz angle IBL2D", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
-   sc = trackHistos.regHist(m_LorentzAngle_IBL2D = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 14, -0.5, 13.5));
-   hname = makeHistname("LorentzAngle_IBL3D", false);
-   htitles = makeHisttitle("Lorentz angle IBL3D", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
-   sc = trackHistos.regHist(m_LorentzAngle_IBL3D = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 14, -0.5, 13.5));
-   hname = makeHistname("LorentzAngle_B0", false);
-   htitles = makeHisttitle("Lorentz angle B0", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
-   sc = trackHistos.regHist(m_LorentzAngle_B0 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 22, -0.5, 21.5));
-   hname = makeHistname("LorentzAngle_B1", false);
-   htitles = makeHisttitle("Lorentz angle B1", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
-   sc = trackHistos.regHist(m_LorentzAngle_B1 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 38, -0.5, 37.5));
-   hname = makeHistname("LorentzAngle_B2", false);
-   htitles = makeHisttitle("Lorentz angle B2", ";#phi of track incidence [rad];phi module index;cluster row (phi) width [pixels]", false);
-   sc = trackHistos.regHist(m_LorentzAngle_B2 = TProfile2D_LW::create(hname.c_str(), htitles.c_str(), 100, -0.4, 0.6, 52, -0.5, 51.5));
-
-   if(m_LorentzAngle_IBL)   m_LorentzAngle_IBL->SetOption("colz");
-   if(m_LorentzAngle_IBL2D) m_LorentzAngle_IBL2D->SetOption("colz");
-   if(m_LorentzAngle_IBL3D) m_LorentzAngle_IBL3D->SetOption("colz");
-   if(m_LorentzAngle_B0)    m_LorentzAngle_B0->SetOption("colz");
-   if(m_LorentzAngle_B1)    m_LorentzAngle_B1->SetOption("colz");
-   if(m_LorentzAngle_B2)    m_LorentzAngle_B2->SetOption("colz");
-
-   if(sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;   
-   return StatusCode::SUCCESS;
+  if (sc.isFailure())if(msgLvl(MSG::WARNING)) msg(MSG::WARNING)  << "histograms not booked" << endmsg;   
+  return StatusCode::SUCCESS;
 }
 
 StatusCode PixelMainMon::FillTrackMon(void)
 {
-   if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "MainFillTrackMon" << endmsg;  
-
-   ///
-   /// Retrieve and Check Store Gate Error
-   ///
-   StatusCode sc;
-   sc = evtStore()->retrieve(m_tracks, m_TracksName);
-   if (sc.isFailure())
-   {
-      if(msgLvl(MSG::INFO)) msg(MSG::INFO)  <<"No tracks in StoreGate found"<< endmsg;
-      if(m_storegate_errors) m_storegate_errors->Fill(4.,3.);  
+  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  << "MainFillTrackMon" << endmsg;  
+
+  ///
+  /// Retrieve and Check Store Gate Error
+  ///
+  StatusCode sc;
+  sc = evtStore()->retrieve(m_tracks, m_TracksName);
+  if (sc.isFailure())
+    {
+      if (msgLvl(MSG::INFO)) msg(MSG::INFO)  <<"No tracks in StoreGate found"<< endmsg;
+      if (m_storegate_errors) m_storegate_errors->Fill(4.,3.);  
       return StatusCode::SUCCESS;
-   } else{
-      if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  <<"Tracks in StoreGate found" <<endmsg;
-   }
-
-   m_ntracksPerEvent = 0;
-   //int nTracks=0;
-   int nPixelHits=0;
+    } 
+  else 
+    {
+      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)  <<"Tracks in StoreGate found" <<endmsg;
+    }
+
+  m_ntracksPerEvent = 0;
+  int nPixelHits=0;
    
-   ///
-   /// Clear
-   ///
-   if(m_doOnTrack || m_doOnPixelTrack)m_RDOIDs.clear();//reset these so you can fill them with the new id's
-   if(m_doOnTrack || m_doOnPixelTrack)m_ClusterIDs.clear();
+  ///
+  /// Clear
+  ///
+  if (m_doOnTrack || m_doOnPixelTrack)m_RDOIDs.clear();//reset these so you can fill them with the new id's
+  if (m_doOnTrack || m_doOnPixelTrack)m_ClusterIDs.clear();
 
    
-   ///
-   /// Track Loop
-   ///
-   for (int i=0; i<(int)m_tracks->size(); i++) 
-   {
+  ///
+  /// Track Loop
+  ///
+  for (int i=0; i<(int)m_tracks->size(); i++) 
+    {
       const Trk::Track *track0=(*m_tracks)[i];
       if (track0 == 0) {
-         if (msgLvl(MSG::ERROR) ) msg(MSG::ERROR) << "no pointer to track!!!" << endmsg;
-         break;
+	if (msgLvl(MSG::ERROR) ) msg(MSG::ERROR) << "no pointer to track!!!" << endmsg; 
+	break;
       }
 
-
-      //double mass = 0;
-      //double dedx = 0;
-      //float degradationFactor = 1.0;
-      unsigned int hitslayer = 0;
-      //bool isEndcaps = false;
+      float degradationFactor = 1.0;
       int nholes=-1;
       int nbadclus=0;
       int ngoodclus=0;
       bool passQualityCut = false;
       bool passTightCut = false;
+      bool pass1hole2GeVTightCut = false;
+      int hitsArrayLayer[PixLayer::COUNT] = {0};
       
       const Trk::TrackParameters *trkParameters = 0;
       const Trk::TrackSummary* summary = track0->trackSummary();
       const Trk::Perigee *measPerigee = dynamic_cast< const Trk::Perigee *>(track0->perigeeParameters());
 
+      ///
       /// Check the track summary if it exists to see if there are pixel hits on this track.
       /// if no hits, skip ahead
-      if(summary){
+      if (summary) {
       	if (summary->get(Trk::numberOfPixelHits)==0) continue;
       } else {
-      	if (msgLvl(MSG::INFO)) msg(MSG::INFO) << "No Track Summary Found" << endmsg;
-        continue;
+      	if (msgLvl(MSG::INFO)) msg(MSG::INFO) << "No Track Summary Found" << endmsg; 
+	continue;
       }
 
       const Trk::Track* track = track0;
       
+      ///
       /// get the track state on surfaces (a vector, on element per surface) and loop over it
-	   nholes = summary->get(Trk::numberOfPixelHoles);
-      if(m_doHoleSearch && !m_doOnline && nholes>0){
-	      track = m_holeSearchTool->getTrackWithHoles(*track0);
+      ///
+      
+      nholes = summary->get(Trk::numberOfPixelHoles);
+      if (m_doHoleSearch && !m_doOnline && nholes>0) {
+	track = m_holeSearchTool->getTrackWithHoles(*track0);
       }
 
       ///
       /// Track Quality Cut
       ///
 
-      if( measPerigee->pT()/1000.0 > 5.0 && fabs(measPerigee->eta()) < 2.5) passQualityCut = true;
+      if ( measPerigee->pT()/1000.0 > 5.0 && fabs(measPerigee->eta()) < 2.5) passQualityCut = true;
+
+      if ( ((fabs(measPerigee->eta()) <= 1.65 && summary->get(Trk::numberOfPixelHits)+summary->get(Trk::numberOfSCTHits) >= 9) ||
+	    (fabs(measPerigee->eta()) >  1.65 && summary->get(Trk::numberOfPixelHits)+summary->get(Trk::numberOfSCTHits) >= 11) ) &&
+	   (summary->get(Trk::numberOfNextToInnermostPixelLayerHits)+summary->get(Trk::numberOfInnermostPixelLayerHits ) > 0 ) &&
+	   (summary->get(Trk::numberOfPixelHoles) == 0 ) && 
+	   (fabs(measPerigee->parameters()[Trk::d0]) < 2.0) && 
+	   (fabs(measPerigee->parameters()[Trk::z0]) < 150.0) ){
+	passTightCut = true;
+      }
 
-      if( ((fabs(measPerigee->eta()) <= 1.65 && summary->get(Trk::numberOfPixelHits)+summary->get(Trk::numberOfSCTHits) >= 9) ||
-          (fabs(measPerigee->eta()) >  1.65 && summary->get(Trk::numberOfPixelHits)+summary->get(Trk::numberOfSCTHits) >= 11) ) &&
-          (summary->get(Trk::numberOfNextToInnermostPixelLayerHits)+summary->get(Trk::numberOfInnermostPixelLayerHits ) > 0 ) &&
-          (summary->get(Trk::numberOfPixelHoles) == 0 ) && 
-          (fabs(measPerigee->parameters()[Trk::d0]) < 2.0) && 
-          (fabs(measPerigee->parameters()[Trk::z0]) < 150.0) ){
-         passTightCut = true;
+      if ( measPerigee->pT()/1000.0 > 5.0 &&
+	   ((fabs(measPerigee->eta()) <= 1.65 && summary->get(Trk::numberOfPixelHits)+summary->get(Trk::numberOfSCTHits) >= 9) ||
+	    (fabs(measPerigee->eta()) >  1.65 && summary->get(Trk::numberOfPixelHits)+summary->get(Trk::numberOfSCTHits) >= 11) ) &&
+	   (summary->get(Trk::numberOfNextToInnermostPixelLayerHits)+summary->get(Trk::numberOfInnermostPixelLayerHits ) > 0 ) &&
+	   (summary->get(Trk::numberOfPixelHoles) < 2 ) && 
+	   (fabs(measPerigee->parameters()[Trk::d0]) < 2.0) && 
+	   (fabs(measPerigee->parameters()[Trk::z0]) < 150.0) ){
+	pass1hole2GeVTightCut = true;
       }
 
       ///
       /// TSOS Loop
       ///
-
       const DataVector< const Trk::TrackStateOnSurface>* trackStates=track->trackStateOnSurfaces();
       for(DataVector< const Trk::TrackStateOnSurface>::const_iterator trackStateOnSurfaceIterator=trackStates->begin(); trackStateOnSurfaceIterator!=trackStates->end(); trackStateOnSurfaceIterator++)
       {
-         /// Change the track state on 1 surface into the cluster it represents
-         Identifier clusID;
-         Identifier surfaceID;
-         IdentifierHash id_hash;
-         const InDet::SiClusterOnTrack *clus=0;
-         const InDetDD::SiDetectorElement *side = 0;
-         const Trk::MeasurementBase* mesb=(*trackStateOnSurfaceIterator)->measurementOnTrack();
-	 
-         const Trk::RIO_OnTrack* hit = mesb ? dynamic_cast<const Trk::RIO_OnTrack*>(mesb) : 0;
+	/// Change the track state on 1 surface into the cluster it represents
+	Identifier clusID;
+	Identifier surfaceID;
+	IdentifierHash id_hash;
+	const InDet::SiClusterOnTrack *clus=0;
+	const InDetDD::SiDetectorElement *side = 0;
+	const Trk::MeasurementBase* mesb=(*trackStateOnSurfaceIterator)->measurementOnTrack();
+	
+	const Trk::RIO_OnTrack* hit = mesb ? dynamic_cast<const Trk::RIO_OnTrack*>(mesb) : 0;
         
-         //float nMeasurement = 0.;
-         float nOutlier = 0.;
-         float nHole = 0.;
-         float npixHitsInCluster = 0;
-         //float colWidthOfCluster = 0;
-         float rowWidthOfCluster = 0;
-         float totalToTOfCluster = 0;
-         bool  passClusterSelection = false;
-
-         ///
-         /// Requiements
-         ///
-         if(mesb && !hit) continue;  // skip pseudomeasurements etc.                                         
-         if(mesb && mesb->associatedSurface().associatedDetectorElement()) {
-            surfaceID = mesb->associatedSurface().associatedDetectorElement()->identify();
-            side = dynamic_cast<const InDetDD::SiDetectorElement *>( mesb->associatedSurface().associatedDetectorElement() );
-         }else{ // holes, perigee                                                                              
-            if(not (*trackStateOnSurfaceIterator)->trackParameters() ) {
-               msg(MSG::INFO) << "pointer of TSOS to track parameters or associated surface is null" << endmsg;
-               continue;
-            }
-            surfaceID = (*trackStateOnSurfaceIterator)->trackParameters()->associatedSurface().associatedDetectorElementIdentifier();//check ptr
-         }
-
-         if( !m_idHelper->is_pixel(surfaceID)) continue;
-
-         int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(surfaceID), m_pixelid->layer_disk(surfaceID), m_doIBL);
-         int pixlayerdbm = GetPixLayerIDDBM(m_pixelid->barrel_ec(surfaceID), m_pixelid->layer_disk(surfaceID), m_doIBL);
-         int pixlayeribl2d3d = pixlayer;
-         if( pixlayeribl2d3d == PixLayer::kIBL ){
-            pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(surfaceID), m_pixelid->layer_disk(surfaceID), m_pixelid->eta_module(surfaceID), m_doIBL);
-         }
-         if( pixlayer == 99) continue;
+	//float nMeasurement = 0.;
+	float nOutlier = 0.;
+	float nHole = 0.;
+	float npixHitsInCluster = 0;
+	//float colWidthOfCluster = 0;
+	float rowWidthOfCluster = 0;
+	float totalToTOfCluster = 0;
+	bool  passClusterSelection = false;
+
+	///
+	/// Requiements
+	///
+	if (mesb && !hit) continue;  // skip pseudomeasurements etc.                                         
+	if (mesb && mesb->associatedSurface().associatedDetectorElement()) {
+	  surfaceID = mesb->associatedSurface().associatedDetectorElement()->identify();
+	  side = dynamic_cast<const InDetDD::SiDetectorElement *>( mesb->associatedSurface().associatedDetectorElement() );
+	} else { // holes, perigee                                                                              
+	  if(not (*trackStateOnSurfaceIterator)->trackParameters() ) {
+	    msg(MSG::INFO) << "pointer of TSOS to track parameters or associated surface is null" << endmsg;
+	    continue;
+	  }
+	  surfaceID = (*trackStateOnSurfaceIterator)->trackParameters()->associatedSurface().associatedDetectorElementIdentifier();//check ptr
+	}
+
+	if ( !m_idHelper->is_pixel(surfaceID)) continue;
+
+	int pixlayer = GetPixLayerID(m_pixelid->barrel_ec(surfaceID), m_pixelid->layer_disk(surfaceID), m_doIBL);
+	int pixlayerdisk = GetPixLayerDiskID(m_pixelid->barrel_ec(surfaceID), m_pixelid->layer_disk(surfaceID), m_doIBL);
+	//int pixlayerdbm = GetPixLayerIDDBM(m_pixelid->barrel_ec(surfaceID), m_pixelid->layer_disk(surfaceID), m_doIBL);
+	int pixlayeribl2d3d = pixlayer;
+	if ( pixlayeribl2d3d == PixLayer::kIBL ){
+	  pixlayeribl2d3d = GetPixLayerIDIBL2D3D(m_pixelid->barrel_ec(surfaceID), m_pixelid->layer_disk(surfaceID), m_pixelid->eta_module(surfaceID), m_doIBL);
+	}
+	if ( pixlayer == 99) continue;
          
-         id_hash = m_pixelid->wafer_hash(surfaceID);
-         //if( pixlayer == PixLayer::kECA || pixlayer == PixLayer::kECC ) isEndcaps = true;
-         bool active = m_pixelCondSummarySvc->isActive(id_hash);
+	id_hash = m_pixelid->wafer_hash(surfaceID);
+	//bool active = m_pixelCondSummarySvc->isActive(id_hash);
 
 
-         if((*trackStateOnSurfaceIterator)->type(Trk::TrackStateOnSurface::Measurement)){
-           clus = dynamic_cast< const InDet::SiClusterOnTrack*>(mesb);
-           if(clus) clusID = clus->identify();
-           //nMeasurement = 1.0;
-
-           if( m_tsos_hitmap ) m_tsos_hitmap->Fill(surfaceID,m_pixelid,m_doIBL,false);
-           if( m_tsos_hiteff_vs_lumi ) m_tsos_hiteff_vs_lumi->Fill(m_manager->lumiBlockNumber(),1.,surfaceID,m_pixelid,m_doIBL);
-           if( m_hiteff_incl_mod[pixlayerdbm] && passQualityCut ) m_hiteff_incl_mod[pixlayerdbm]->Fill( m_manager->lumiBlockNumber(), 1.0 );
-           if( m_hiteff_actv_mod[pixlayerdbm] && passQualityCut && active) m_hiteff_actv_mod[pixlayerdbm]->Fill( m_manager->lumiBlockNumber(), 1.0 ); 
-           /////
-           ///// Study for Quick Status
-           /////
-           //int fephi=0; int feeta=0;
-           //if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(surfaceID), m_pixelid->eta_index(surfaceID), fephi, feeta) ){
-           //   if(passQualityCut &&
-           //      m_pixelid->phi_module(surfaceID) == 0 &&
-           //      m_pixelid->eta_module(surfaceID) == -6){
-           //      if(m_hiteff_incl_L0_B11_S2_C6) m_hiteff_incl_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 1.0 );
-           //      if(m_hiteff_isgood_L0_B11_S2_C6 && m_pixelCondSummarySvc->isGood(id_hash) == true ) m_hiteff_isgood_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 1.0 );
-           //      if(m_holeRatio_incl_L0_B11_S2_C6) m_holeRatio_incl_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 0.0 );
-           //      if(m_holeRatio_isgood_L0_B11_S2_C6 && m_pixelCondSummarySvc->isGood(id_hash) == true) m_holeRatio_isgood_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 0.0 );
-           //   }
-           //}
-         }
+	if ((*trackStateOnSurfaceIterator)->type(Trk::TrackStateOnSurface::Measurement)){
+	  clus = dynamic_cast< const InDet::SiClusterOnTrack*>(mesb);
+	  if (clus) clusID = clus->identify();
+	  //nMeasurement = 1.0;
+
+	  if ( m_tsos_hitmap ) m_tsos_hitmap->Fill(surfaceID,m_pixelid,m_doIBL,false);
+	  if ( m_tsos_hiteff_vs_lumi ) m_tsos_hiteff_vs_lumi->Fill(m_manager->lumiBlockNumber(),1.,surfaceID,m_pixelid,m_doIBL);
+	  //if( m_hiteff_incl_mod[pixlayerdisk] && passQualityCut ) m_hiteff_incl_mod[pixlayerdisk]->Fill( m_manager->lumiBlockNumber(), 1.0 );
+	  if ( m_hiteff_incl_mod[pixlayerdisk] && pass1hole2GeVTightCut ) m_hiteff_incl_mod[pixlayerdisk]->Fill( m_manager->lumiBlockNumber(), 1.0 );
+	}
          
          if((*trackStateOnSurfaceIterator)->type(Trk::TrackStateOnSurface::Outlier)){
            clus = dynamic_cast< const InDet::SiClusterOnTrack*>((*trackStateOnSurfaceIterator)->measurementOnTrack());
@@ -360,22 +340,8 @@ StatusCode PixelMainMon::FillTrackMon(void)
 
            if( m_tsos_holemap ) m_tsos_holemap->Fill(surfaceID,m_pixelid,m_doIBL,false);
            if( m_tsos_hiteff_vs_lumi ) m_tsos_hiteff_vs_lumi->Fill(m_manager->lumiBlockNumber(),0.,surfaceID,m_pixelid,m_doIBL);
-           if( m_hiteff_incl_mod[pixlayerdbm] && passQualityCut ) m_hiteff_incl_mod[pixlayerdbm]->Fill( m_manager->lumiBlockNumber(), 0.0 );
-           if( m_hiteff_actv_mod[pixlayerdbm] && passQualityCut && active) m_hiteff_actv_mod[pixlayerdbm]->Fill( m_manager->lumiBlockNumber(), 0.0 );
-           /////
-           ///// Study for Quick Status
-           /////
-           //int fephi=0; int feeta=0;
-           //if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(surfaceID), m_pixelid->eta_index(surfaceID), fephi, feeta) ){
-           //   if(passQualityCut &&
-           //      m_pixelid->phi_module(surfaceID) == 0 &&
-           //      m_pixelid->eta_module(surfaceID) == -6){
-           //      if(m_hiteff_incl_L0_B11_S2_C6) m_hiteff_incl_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID))+(1.0*feeta), 0.0 );
-           //      if(m_hiteff_isgood_L0_B11_S2_C6 && m_pixelCondSummarySvc->isGood(id_hash) == true ) m_hiteff_isgood_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 0.0 );
-           //      if(m_holeRatio_incl_L0_B11_S2_C6) m_holeRatio_incl_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 0.0 );
-           //      if(m_holeRatio_isgood_L0_B11_S2_C6 && m_pixelCondSummarySvc->isGood(id_hash) == true) m_holeRatio_isgood_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 0.0 );
-           //   }
-           //}
+           //if( m_hiteff_incl_mod[pixlayerdisk] && passQualityCut ) m_hiteff_incl_mod[pixlayerdisk]->Fill( m_manager->lumiBlockNumber(), 0.0 );
+           if( m_hiteff_incl_mod[pixlayerdisk] && pass1hole2GeVTightCut ) m_hiteff_incl_mod[pixlayerdisk]->Fill( m_manager->lumiBlockNumber(), 0.0 );
          }
           
          if((*trackStateOnSurfaceIterator)->type(Trk::TrackStateOnSurface::Hole)){
@@ -385,35 +351,21 @@ StatusCode PixelMainMon::FillTrackMon(void)
 
            if( m_tsos_outliermap)m_tsos_outliermap->Fill(surfaceID,m_pixelid,m_doIBL,false);
            if( m_tsos_hiteff_vs_lumi) m_tsos_hiteff_vs_lumi->Fill(m_manager->lumiBlockNumber(),0.,surfaceID,m_pixelid,m_doIBL);
-           if( m_hiteff_incl_mod[pixlayerdbm] && passQualityCut ) m_hiteff_incl_mod[pixlayerdbm]->Fill( m_manager->lumiBlockNumber(), 0.0 );
-           if( m_hiteff_actv_mod[pixlayerdbm] && passQualityCut && active) m_hiteff_actv_mod[pixlayerdbm]->Fill( m_manager->lumiBlockNumber(), 0.0 );
-           /////
-           ///// Study for Quick Status
-           /////
-           //int fephi=0; int feeta=0;
-           //if( pixlayer == PixLayer::kB0 && GetFEID( pixlayer, m_pixelid->phi_index(surfaceID), m_pixelid->eta_index(surfaceID), fephi, feeta) ){
-           //   if(passQualityCut &&
-           //      m_pixelid->phi_module(surfaceID) == 0 &&
-           //      m_pixelid->eta_module(surfaceID) == -6){
-           //      if(m_hiteff_incl_L0_B11_S2_C6) m_hiteff_incl_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID))+(1.0*feeta), 0.0 );
-           //      if(m_hiteff_isgood_L0_B11_S2_C6 && m_pixelCondSummarySvc->isGood(id_hash) == true ) m_hiteff_isgood_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 0.0 );
-           //      if(m_holeRatio_incl_L0_B11_S2_C6) m_holeRatio_incl_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 1.0 );
-           //      if(m_holeRatio_isgood_L0_B11_S2_C6 && m_pixelCondSummarySvc->isGood(id_hash) == true) m_holeRatio_isgood_L0_B11_S2_C6->Fill( m_manager->lumiBlockNumber(), (8.0*m_pixelid->eta_module(surfaceID)+(1.0*feeta)), 1.0 );
-           //   }
-           //}
+           //if( m_hiteff_incl_mod[pixlayerdisk] && passQualityCut ) m_hiteff_incl_mod[pixlayerdisk]->Fill( m_manager->lumiBlockNumber(), 0.0 );
+           if( m_hiteff_incl_mod[pixlayerdisk] && pass1hole2GeVTightCut ) m_hiteff_incl_mod[pixlayerdisk]->Fill( m_manager->lumiBlockNumber(), 0.0 );
          }
 
 
-         //if(m_tsos_measratio && passQualityCut) m_tsos_measratio->Fill(surfaceID,m_pixelid,m_doIBL,false,nMeasurement);
-         //if(m_tsos_holeratio && passQualityCut) m_tsos_holeratio->Fill(surfaceID,m_pixelid,m_doIBL,false,nHole);
-         if(m_doOnline && m_tsos_holeratio_tmp && passQualityCut) m_tsos_holeratio_tmp->Fill(surfaceID,m_pixelid,m_doIBL,false,nHole);
-         if(passQualityCut){
-           if(nOutlier + nHole > 0.){
-             if(m_misshits_ratio) m_misshits_ratio->Fill(surfaceID,m_pixelid,m_doIBL,false,1.0);
-             if(m_doOnline && m_misshits_ratio_tmp) m_misshits_ratio_tmp->Fill(surfaceID,m_pixelid,m_doIBL,false,1.0);
-           }else{
-             if(m_misshits_ratio) m_misshits_ratio->Fill(surfaceID,m_pixelid,m_doIBL,false,0.0);
-             if(m_doOnline && m_misshits_ratio_tmp) m_misshits_ratio_tmp->Fill(surfaceID,m_pixelid,m_doIBL,false,0.0);
+         //if(m_tsos_measratio && passQualityCut) m_tsos_measratio->Fill(surfaceID,m_pixelid,nMeasurement);
+         //if(m_tsos_holeratio && passQualityCut) m_tsos_holeratio->Fill(surfaceID,m_pixelid,nHole);
+         if (m_doOnline && m_tsos_holeratio_tmp && passQualityCut) m_tsos_holeratio_tmp->Fill(surfaceID,m_pixelid,nHole);
+         if (passQualityCut) {
+           if (nOutlier + nHole > 0.) {
+             if (m_misshits_ratio) m_misshits_ratio->Fill(surfaceID,m_pixelid,1.0);
+             if (m_doOnline && m_misshits_ratio_tmp) m_misshits_ratio_tmp->Fill(surfaceID,m_pixelid,1.0);
+           } else {
+             if (m_misshits_ratio) m_misshits_ratio->Fill(surfaceID,m_pixelid,0.0);
+             if (m_doOnline && m_misshits_ratio_tmp) m_misshits_ratio_tmp->Fill(surfaceID,m_pixelid,0.0);
            }
          }
 
@@ -481,10 +433,7 @@ StatusCode PixelMainMon::FillTrackMon(void)
             ///
             /// Categorize tracks for IP resolution degradation
             ///
-            if(pixlayer >= PixLayer::kECC){
-               unsigned int tmplayer = 0x1<<pixlayer;
-               if( hitslayer != tmplayer ) hitslayer += 0x1<<pixlayer;
-            }
+            hitsArrayLayer[pixlayer] = 1;
 	      }
 
 	    
@@ -558,80 +507,40 @@ StatusCode PixelMainMon::FillTrackMon(void)
 	      }
       }
             
-      if(nPixelHits>0)//track properties for tracks through the pixel detector
-      {
-         //const  Trk::Perigee *measPerigee = dynamic_cast< const Trk::Perigee *>(track0->perigeeParameters());
-         //if (measPerigee != NULL){
-         //   //m_track_qOverP->Fill((measPerigee->parameters()[Trk::qOverP]*1000.0));
-	      //   //if (measPerigee->parameters()[Trk::qOverP] != 0) { 
-	      //     //m_track_qOverP_inv->Fill((1./(measPerigee->parameters()[Trk::qOverP]*1000.0))); 
-	      //     //m_track_dedx->Fill(1./(measPerigee->parameters()[Trk::qOverP]),dedx);
-	      //   //}
-         //   //if (std::abs(mass-139.57)>.00001&&mass>0&&dedx>1.8) m_track_mass_dedx->Fill(mass);
-         //   //m_track_pt->Fill((measPerigee->pT()/1000.0));
-         //   //m_track_d0->Fill(measPerigee->parameters()[Trk::d0]);
-         //   //m_track_z0->Fill(measPerigee->parameters()[Trk::z0]);
-         //   //m_track_phi0->Fill(measPerigee->parameters()[Trk::phi0]);
-         //   //m_track_theta->Fill(measPerigee->parameters()[Trk::theta]);
-         //   //m_track_eta->Fill(measPerigee->eta());
-         //   if (track0->fitQuality()->numberDoF() > 0){ 
-	      //      if(m_track_chi2) m_track_chi2->Fill(track0->fitQuality()->chiSquared()/track0->fitQuality()->numberDoF());
-	      //      if(m_track_chi2_LB) m_track_chi2_LB->Fill(track0->fitQuality()->chiSquared()/track0->fitQuality()->numberDoF());
-	      //   }else{ 
-	      //      if(m_track_chi2) m_track_chi2->Fill(-1);
-	      //      if(m_track_chi2_LB) m_track_chi2_LB->Fill(-1);
-	      //   }	 
-	      //   if(m_tracks_per_lumi) m_tracks_per_lumi->Fill(m_manager->lumiBlockNumber());
-	         //nTracks++;
-            m_ntracksPerEvent++;
-	      //}
-      }
+      if (nPixelHits>0)
+	{
+	  m_ntracksPerEvent++;
+	}
 
       /// IP degradation factor map
       if( m_doDegFactorMap ){
          if (measPerigee){
 
-            //double eta = measPerigee->eta();
-            //double phi = measPerigee->parameters()[Trk::phi0];
-            //double pt = measPerigee->pT();
-
-            //if(isEndcaps){
-            //   degradationFactor = 1.0;
-            //}else{
-            //   unsigned int alllayers =  0x1<<PixLayer::kIBL | 0x1<<PixLayer::kB0 | 0x1<<PixLayer::kB1 | 0x1<<PixLayer::kB2;
-            //   unsigned int IBL       =  0x0<<PixLayer::kIBL | 0x1<<PixLayer::kB0 | 0x1<<PixLayer::kB1 | 0x1<<PixLayer::kB2;
-            //   unsigned int B0        =  0x1<<PixLayer::kIBL | 0x0<<PixLayer::kB0 | 0x1<<PixLayer::kB1 | 0x1<<PixLayer::kB2;
-            //   unsigned int B1        =  0x1<<PixLayer::kIBL | 0x1<<PixLayer::kB0 | 0x0<<PixLayer::kB1 | 0x1<<PixLayer::kB2;
-            //   unsigned int B2        =  0x1<<PixLayer::kIBL | 0x1<<PixLayer::kB0 | 0x1<<PixLayer::kB1 | 0x0<<PixLayer::kB2;
-            //   unsigned int IBLB0     =  0x0<<PixLayer::kIBL | 0x0<<PixLayer::kB0 | 0x1<<PixLayer::kB1 | 0x1<<PixLayer::kB2;
-            //   unsigned int IBLB2     =  0x0<<PixLayer::kIBL | 0x1<<PixLayer::kB0 | 0x1<<PixLayer::kB1 | 0x0<<PixLayer::kB2;
-            //   unsigned int B0B2      =  0x1<<PixLayer::kIBL | 0x0<<PixLayer::kB0 | 0x1<<PixLayer::kB1 | 0x0<<PixLayer::kB2;
-            //   unsigned int B1B2      =  0x1<<PixLayer::kIBL | 0x1<<PixLayer::kB0 | 0x0<<PixLayer::kB1 | 0x0<<PixLayer::kB2;
-            //   unsigned int IBLB0B1   =  0x0<<PixLayer::kIBL | 0x0<<PixLayer::kB0 | 0x0<<PixLayer::kB1 | 0x1<<PixLayer::kB2;
-            //   unsigned int IBLB0B1B2 =  0x0<<PixLayer::kIBL | 0x0<<PixLayer::kB0 | 0x0<<PixLayer::kB1 | 0x0<<PixLayer::kB2;
-            //   if( hitslayer == alllayers ) degradationFactor = 1.0; // All hits
-            //   else{
-            //      if( hitslayer == IBL ) degradationFactor = 1.8; // IBL
-            //      else if( hitslayer == B0 ) degradationFactor = 1.16; // B0
-            //      else if( hitslayer == B1 ) degradationFactor = 1.0; // B1
-            //      else if( hitslayer == B2 ) degradationFactor = 1.0; // B2
-            //      else if( hitslayer == IBLB0 ) degradationFactor = 3.5; // IBL & B0
-            //      else if( hitslayer == IBLB2 ) degradationFactor = 1.8; // IBL & B2
-            //      else if( hitslayer == B0B2 ) degradationFactor = 1.17; // B & B2
-            //      else if( hitslayer == B1B2 ) degradationFactor = 1.0;  // B1 & B2
-            //      else if( hitslayer == IBLB0B1 ) degradationFactor = 6.0;  // IBL & B0 & B1
-            //      else if( hitslayer == IBLB0B1B2 ) degradationFactor = 6.0;  // IBL & B0 & B1
-            //      else degradationFactor = 1.0;
-            //   }
-            //   //std::cout << hitslayer << " " << tests << " " << degradationFactor << std::endl;
-            //}
-
-            //if( fabs(eta) < 2.5 && pt > 400.0 ){ // requirement of tracks
-            //   if(m_degFactorMap) m_degFactorMap->Fill( eta, phi, degradationFactor);
-            //   if(m_degFactorMap_per_lumi) m_degFactorMap_per_lumi->Fill(m_manager->lumiBlockNumber(), degradationFactor);
-            //   if(m_degFactorMap_eta_per_lumi) m_degFactorMap_eta_per_lumi->Fill(m_manager->lumiBlockNumber(), eta, degradationFactor);
-            //   //if(m_degFactorMap_phi_per_lumi) m_degFactorMap_phi_per_lumi->Fill(m_manager->lumiBlockNumber(), measPerigee->parameters()[Trk::phi0], degradationFactor);
-            //}
+            double pt  = measPerigee->pT();
+            double eta = measPerigee->eta();
+            double phi = measPerigee->parameters()[Trk::phi0];
+
+            if(hitsArrayLayer[PixLayer::kECA]==1 || hitsArrayLayer[PixLayer::kECC]==1){
+               degradationFactor = 1.0;
+            }else{
+               if     ( hitsArrayLayer[PixLayer::kIBL] == 1 && hitsArrayLayer[PixLayer::kB0] == 1 && hitsArrayLayer[PixLayer::kB1] == 1 && hitsArrayLayer[PixLayer::kB2] == 1 ) degradationFactor = 1.0;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 0 && hitsArrayLayer[PixLayer::kB0] == 1 && hitsArrayLayer[PixLayer::kB1] == 1 && hitsArrayLayer[PixLayer::kB2] == 1 ) degradationFactor = 1.8;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 1 && hitsArrayLayer[PixLayer::kB0] == 0 && hitsArrayLayer[PixLayer::kB1] == 1 && hitsArrayLayer[PixLayer::kB2] == 1 ) degradationFactor = 1.16;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 1 && hitsArrayLayer[PixLayer::kB0] == 1 && hitsArrayLayer[PixLayer::kB1] == 0 && hitsArrayLayer[PixLayer::kB2] == 1 ) degradationFactor = 1.0;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 1 && hitsArrayLayer[PixLayer::kB0] == 1 && hitsArrayLayer[PixLayer::kB1] == 1 && hitsArrayLayer[PixLayer::kB2] == 0 ) degradationFactor = 1.0;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 0 && hitsArrayLayer[PixLayer::kB0] == 0 && hitsArrayLayer[PixLayer::kB1] == 1 && hitsArrayLayer[PixLayer::kB2] == 1 ) degradationFactor = 3.5;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 0 && hitsArrayLayer[PixLayer::kB0] == 1 && hitsArrayLayer[PixLayer::kB1] == 1 && hitsArrayLayer[PixLayer::kB2] == 0 ) degradationFactor = 1.8;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 1 && hitsArrayLayer[PixLayer::kB0] == 0 && hitsArrayLayer[PixLayer::kB1] == 1 && hitsArrayLayer[PixLayer::kB2] == 0 ) degradationFactor = 1.17;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 1 && hitsArrayLayer[PixLayer::kB0] == 1 && hitsArrayLayer[PixLayer::kB1] == 0 && hitsArrayLayer[PixLayer::kB2] == 0 ) degradationFactor = 1.0;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 0 && hitsArrayLayer[PixLayer::kB0] == 0 && hitsArrayLayer[PixLayer::kB1] == 0 && hitsArrayLayer[PixLayer::kB2] == 1 ) degradationFactor = 6.0;
+               else if( hitsArrayLayer[PixLayer::kIBL] == 0 && hitsArrayLayer[PixLayer::kB0] == 0 && hitsArrayLayer[PixLayer::kB1] == 0 && hitsArrayLayer[PixLayer::kB2] == 0 ) degradationFactor = 6.0;
+               else degradationFactor = 1.0;
+            }
+
+            if( fabs(eta) < 2.5 && pt > 400.0 ){ // requirement of tracks
+               if(m_degFactorMap_per_lumi) m_degFactorMap_per_lumi->Fill(m_manager->lumiBlockNumber(), degradationFactor);
+               if(m_degFactorMap) m_degFactorMap->Fill( eta, phi, degradationFactor);
+            }
          }
       }
 
@@ -644,9 +553,7 @@ StatusCode PixelMainMon::FillTrackMon(void)
    ///
     
    if(m_tracksPerEvt_per_lumi) m_tracksPerEvt_per_lumi->Fill(m_manager->lumiBlockNumber(), m_ntracksPerEvent);
-   //if(m_tracksPerEvtPerMu_per_lumi && m_lumiTool->lbAverageInteractionsPerCrossing() > 0 ){
-   //   m_tracksPerEvtPerMu_per_lumi->Fill(m_manager->lumiBlockNumber(),nTracks/m_lumiTool->lbAverageInteractionsPerCrossing());
-   //}
+
    if(m_doOnTrack || m_doOnPixelTrack)sort (m_RDOIDs.begin(), m_RDOIDs.end());
    if(m_doOnTrack || m_doOnPixelTrack)sort (m_ClusterIDs.begin(), m_ClusterIDs.end());
 
@@ -676,11 +583,13 @@ StatusCode PixelMainMon::ProcTrackMon(void)
   //  m_trackRate_per_lumi->Fill(m_manager->lumiBlockNumber(),trackRateLB);
   //}
   //for(int i=0; i<PixLayer::COUNT-1+(int)(m_doIBL); i++){
-  for(int i=0; i<PixLayerDBM::COUNT; i++){
+  for(int i=0; i<PixLayerDisk::COUNT; i++){
      if(m_hiteff_incl_mod[i]) m_hiteff_incl_mod[i]->SetMinimum(0.8);
      if(m_hiteff_incl_mod[i]) m_hiteff_incl_mod[i]->SetMaximum(1.01);
-     if(m_hiteff_actv_mod[i]) m_hiteff_actv_mod[i]->SetMinimum(0.8);
-     if(m_hiteff_actv_mod[i]) m_hiteff_actv_mod[i]->SetMaximum(1.01);
+     //if(m_hiteff_actv_mod[i]) m_hiteff_actv_mod[i]->SetMinimum(0.8);
+     //if(m_hiteff_actv_mod[i]) m_hiteff_actv_mod[i]->SetMaximum(1.01);
+     //if(m_hiteff_newtrkreq_mod[i]) m_hiteff_newtrkreq_mod[i]->SetMinimum(0.8);
+     //if(m_hiteff_newtrkreq_mod[i]) m_hiteff_newtrkreq_mod[i]->SetMaximum(1.01);
   }
   return StatusCode::SUCCESS;
   
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/CMakeLists.txt b/InnerDetector/InDetMonitoring/SCT_Monitoring/CMakeLists.txt
index f6266d80a6b3c94dac256f5c9265d6af63b08734..bd884341e94b030afe076f39a0c0d1c2c7ca59d4 100644
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/CMakeLists.txt
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/CMakeLists.txt
@@ -24,7 +24,6 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkTools/TrkToolInterfaces
                           Trigger/TrigAnalysis/TrigAnalysisInterfaces
-                          Trigger/TrigAnalysis/TrigDecisionTool
                           PRIVATE
                           Control/AthenaKernel
                           Control/DataModel
@@ -38,7 +37,8 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkMeasurementBase
                           Tracking/TrkEvent/TrkParameters
                           Tracking/TrkEvent/TrkRIO_OnTrack
-                          Tracking/TrkEvent/TrkTrackSummary )
+                          Tracking/TrkEvent/TrkTrackSummary
+                          Trigger/TrigEvent/TrigDecisionInterface )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
@@ -49,7 +49,7 @@ atlas_add_component( SCT_Monitoring
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} AthenaMonitoringLib GaudiKernel InDetReadoutGeometry InDetPrepRawData MagFieldInterfaces ITrackToVertex TrkTrack TrkToolInterfaces TrigDecisionToolLib CommissionEvent AthenaKernel DataModel Identifier EventInfo InDetIdentifier InDetRawData InDetRIO_OnTrack LWHists PathResolver TrkSurfaces TrkEventUtils TrkMeasurementBase TrkParameters TrkRIO_OnTrack TrkSpacePoint TrkTrackSummary )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} AthenaMonitoringLib GaudiKernel InDetReadoutGeometry InDetPrepRawData MagFieldInterfaces ITrackToVertex TrkTrack TrkToolInterfaces CommissionEvent AthenaKernel DataModel Identifier EventInfo InDetIdentifier InDetRawData InDetRIO_OnTrack LWHists PathResolver TrkSurfaces TrkEventUtils TrkMeasurementBase TrkParameters TrkRIO_OnTrack TrkSpacePoint TrkTrackSummary )
 
 # Install files from the package:
 atlas_install_headers( SCT_Monitoring )
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h
index 41484fc3a3b509eb470b9de18830a18df6e381e9..ab39318a1146cf6706d3732fb8a421d44e530b24 100755
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h
@@ -11,8 +11,6 @@
 #ifndef SCTMotherTrigMonTool_H
 #define SCTMotherTrigMonTool_H
 
-#include "TrigDecisionTool/TrigDecisionTool.h"
-
 //Local includes
 #include "AthenaMonitoring/ManagedMonitorToolBase.h"
 
@@ -64,8 +62,6 @@ protected:
   bool m_isStream;
 private:
   std::bitset<N_TRIGGER_TYPES> m_firedTriggers;
-  // TrigDecisionTool
-  ToolHandle<Trig::TrigDecisionTool> m_trigDec;
 
   SG::ReadHandleKey<EventInfo> m_eventInfoKey;
 };
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx
index c725ef63a96e00c086bc06805ca4e6fc07b87ef0..e2f818a34a7a49457cba6abcacf8cae73c34872e 100755
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx
@@ -26,7 +26,6 @@
 #include "TMath.h"
 #include "TH1F.h"
 #include "TH2I.h"
-#include "TH2I.h"
 #include "TH2F.h"
 #include "TProfile.h"
 #include "TProfile2D.h"
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx
index cb6e7f963cf8d7eb979b5c143b8e19275f0d7fb5..2cfff08b584a7f7a188fc96e8f91412204b22a2e 100755
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx
@@ -15,6 +15,7 @@
 #include "EventInfo/EventInfo.h"
 #include "EventInfo/TriggerInfo.h"
 #include "StoreGate/ReadHandle.h"
+#include "TrigDecisionInterface/ITrigDecisionTool.h"
 
 const std::string SCTMotherTrigMonTool::m_triggerNames[] = {
   "RNDM", "BPTX", "L1CAL", "TGC", "RPC", "MBTS", "COSM", "Calib"
@@ -25,7 +26,6 @@ SCTMotherTrigMonTool::SCTMotherTrigMonTool(const std::string &type, const std::s
   m_doTrigger(true),
   m_isStream(false),
   m_firedTriggers(0),
-  m_trigDec("Trig::TrigDecisionTool/TrigDecisionTool"),
   m_eventInfoKey(std::string("ByteStreamEventInfo")) {
   declareProperty("doTrigger", m_doTrigger);
 }
@@ -71,17 +71,9 @@ SCTMotherTrigMonTool::hasTriggerFired(const unsigned int trigger) const {
 
 bool
 SCTMotherTrigMonTool::isCalibrationNoise(const std::string &L1_Item) {
-  // retrieve the TrigDecisionTool
-  StatusCode sc = m_trigDec.retrieve();
+  ATH_MSG_DEBUG("Trigger " << L1_Item << " = " << m_trigDecTool->isPassed(L1_Item));
 
-  if (sc.isFailure()) {
-    msg(MSG::ERROR) << "Could not retrieve TrigDecisionTool!" << endmsg;
-    return StatusCode::FAILURE;
-  }
-
-  msg(MSG::DEBUG) << "Trigger " << L1_Item << " = " << m_trigDec->isPassed(L1_Item) << endmsg;
-
-  return m_trigDec->isPassed(L1_Item);
+  return m_trigDecTool->isPassed(L1_Item);
 }
 
 bool
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx
index 381e8725ab0a458cbec2559ad84ac03894ee2939..57c6a437a6458d5e6b4b2d67dba3fbdb6436cef4 100755
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx
@@ -747,7 +747,6 @@ StatusCode
 SCTTracksMonTool::bookGeneralHistos() {                                        // hidetoshi 14.01.22
   //    if(isNewRun){                                                            // hidetoshi 14.01.22
   if (newRunFlag()) {                                                                   // hidetoshi 14.11.27
-    using boost::lexical_cast;
     string stem(m_path + "/SCT/GENERAL/tracks/");
     //    MonGroup Tracks(this,m_path+"SCT/GENERAL/tracks",expert,run);          // hidetoshi 14.01.21
     MonGroup Tracks(this, m_path + "SCT/GENERAL/tracks", run, ATTRIB_UNMANAGED);      // hidetoshi 14.01.21
@@ -867,7 +866,6 @@ SCTTracksMonTool::bookTrackHistos(const SCT_Monitoring::Bec becVal) {
   if (not newRunFlag()) {
     return StatusCode::SUCCESS;                                                           // hidetoshi 14.11.27
   }
-  using boost::lexical_cast;
   const string pathDelimiter("/");
   const string streamDelimiter("_");
   const string regionNames[N_REGIONS] = {
diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/CMakeLists.txt b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/CMakeLists.txt
index 2a96976ef1bac38868a26f8e6222b0a0fc9eac88..7635b18fc8136c9a70691a1e3e7d39b26356c4e7 100644
--- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/CMakeLists.txt
+++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/CMakeLists.txt
@@ -21,7 +21,6 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkTrackSummary
                           Tracking/TrkEvent/VxSecVertex
                           Tracking/TrkEvent/VxVertex
-                          Tracking/TrkTools/TrkParticleCreator
                           Tracking/TrkTools/TrkToolInterfaces
                           Tracking/TrkVertexFitter/TrkVertexFitterInterfaces )
 #InnerDetector/InDetRecTools/InDetMaterialRejTool
diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetVKalVxInJetTool.h b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetVKalVxInJetTool.h
index 47033a0102b6a463a99a741858276adff1c93170..ca2ecd3d8c7ea874964ff893000065c35f88a620 100755
--- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetVKalVxInJetTool.h
+++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetVKalVxInJetTool.h
@@ -63,11 +63,7 @@
 
   typedef std::vector<double> dvect;
 
-  namespace Trk { 
-    class ITrackToVertexIPEstimator;
-    class ITrackParticleCreatorTool;
-  }
-  
+ 
 //------------------------------------------------------------------------
 namespace InDet {
 
@@ -112,10 +108,6 @@ namespace InDet {
       StatusCode initialize();
       StatusCode finalize();
 
-    
-      const Trk::VxSecVertexInfo* findSecVertex(const Trk::RecVertex & primaryVertex,
-					        const TLorentzVector & jetMomentum,
-					        const std::vector<const Rec::TrackParticle*> & inputTracks) const;
 
       const Trk::VxSecVertexInfo* findSecVertex(const Trk::RecVertex & primaryVertex,
 					        const TLorentzVector & jetMomentum,
@@ -134,7 +126,6 @@ namespace InDet {
       double m_w_1;
       TH1D* m_hb_massPiPi;
       TH1D* m_hb_massPiPi1;
-      TH1D* m_hb_massPiPi2;
       TH1D* m_hb_massPPi;
       TH1D* m_hb_massEE;
       TH1D* m_hb_totmassEE;
@@ -150,7 +141,10 @@ namespace InDet {
       TH1D* m_hb_ntrkjet;
       TH1D* m_hb_impactZ;
       TH1D* m_hb_r2d;
+      TH1D* m_hb_r1dc;
       TH1D* m_hb_r2dc;
+      TH1D* m_hb_r3dc;
+      TH1D* m_hb_rNdc;
       TH1D* m_hb_dstToMat;
       TH1D* m_hb_jmom;
       TH1D* m_hb_mom;
@@ -167,17 +161,16 @@ namespace InDet {
       TH1D* m_hb_tr2SelVar;
       TH1F* m_hb_blshared;
       TH1F* m_hb_pxshared;
-      TH1F* m_hb_addRatioMV;
-      TH1F* m_hb_addChi2MV;
-      TH1F* m_hb_addNVrtMV;
       TH1F* m_hb_rawVrtN;
       TH1F* m_hb_lifetime;
       TH1F* m_hb_trkPErr;
+      TH1F* m_hb_deltaRSVPV;
 //--
       TH1D*  m_hb_massJetTrkSV;
       TH1D*  m_hb_ratioJetTrkSV;
       TH1D*  m_hb_DST_JetTrkSV;
       TH1D*  m_hb_NImpJetTrkSV;
+      TH1D*  m_hb_nHImpTrkCnt;
 //--
       TProfile * m_pr_effVrt2tr;
       TProfile * m_pr_effVrt2trEta;
@@ -214,8 +207,8 @@ namespace InDet {
       double m_AntiFake2trVrtCut;
       double m_JetPtFractionCut;
       int    m_TrackInJetNumberLimit;
-      double m_MaterialPtCut;
       double m_pseudoSigCut;
+      double m_hadronIntPtCut;
 
       bool m_FillHist;
 
@@ -240,12 +233,13 @@ namespace InDet {
 
       bool     m_useMaterialRejection;
       bool     m_useVertexCleaning;
-      long int m_MassType;
+      int      m_MassType;
       bool     m_MultiVertex;
       bool     m_MultiWithPrimary;
       bool     m_getNegativeTail;
       bool     m_getNegativeTag;
       bool     m_MultiWithOneTrkVrt;
+      //bool     m_killHighPtIBLFakes;
 
       double    m_VertexMergeCut;
       double    m_TrackDetachCut;
@@ -253,8 +247,6 @@ namespace InDet {
 
       ToolHandle < Trk::IVertexFitter >       m_fitterSvc;
 //      ToolHandle < Trk::ITrkVKalVrtFitter >   m_fitSvc;
-      ToolHandle < Trk::ITrackToVertexIPEstimator > m_trackToVertexIP;
-      ToolHandle< Trk::ITrackParticleCreatorTool > m_trkPartCreator;
 //      ToolHandle< IInDetMaterialRejection > m_materialMap;
       Trk::TrkVKalVrtFitter*   m_fitSvc;
  
@@ -354,6 +346,8 @@ namespace InDet {
       double           TotalTVMom(const Amg::Vector3D &Dir, const std::vector<const Trk::Perigee*>& InpTrk) const; 
       double           pTvsDir(const Amg::Vector3D &Dir, const std::vector<double>& InpTrk) const; 
 
+      bool   insideMatLayer(float ,float ) const;
+
       TLorentzVector GetBDir( const xAOD::TrackParticle* trk1,
                               const xAOD::TrackParticle* trk2,
                               const xAOD::Vertex    & PrimVrt,
@@ -412,6 +406,9 @@ namespace InDet {
       template <class Particle>
       StatusCode RefitVertex( std::vector<WrkVrt> *WrkVrtSet, int SelectedVertex,
                               std::vector<const Particle*> & SelectedTracks) const;
+      template <class Particle>
+      double RefitVertex( WrkVrt &Vrt,std::vector<const Particle*> & SelectedTracks) const;
+
       template <class Particle>
       double FitVertexWithPV( std::vector<WrkVrt> *WrkVrtSet, int SelectedVertex, const xAOD::Vertex & PV,
                               std::vector<const Particle*> & SelectedTracks) const;
@@ -466,6 +463,10 @@ namespace InDet {
 
      template <class Track>
      bool  Check2TrVertexInPixel( const Track* p1, const Track* p2, Amg::Vector3D &, double ) const;
+     template <class Track>
+     bool  Check1TrVertexInPixel( const Track* p1, Amg::Vector3D &) const;
+     template <class Track>
+     double medianPtF( std::vector<const Track*> & Trks) const;
 
      void  getPixelLayers(const  Rec::TrackParticle* Part, int &blHit, int &l1Hit, int &l2Hit, int &nLay) const;
      void  getPixelLayers(const xAOD::TrackParticle* Part, int &blHit, int &l1Hit, int &l2Hit, int &nLay) const;
@@ -533,6 +534,55 @@ namespace InDet {
 
   };
 
+   template <class Track>
+   bool InDetVKalVxInJetTool::Check1TrVertexInPixel( const Track* p1, Amg::Vector3D &FitVertex)
+   const
+   {
+	int blTrk=0, blP=0, l1Trk=0, l1P=0, l2Trk=0, nLays=0; 
+        getPixelLayers( p1, blTrk , l1Trk, l2Trk, nLays );
+        getPixelProblems(p1, blP, l1P );
+        double xDif=FitVertex.x()-m_XlayerB, yDif=FitVertex.y()-m_YlayerB ; 
+        double Dist2DBL=sqrt(xDif*xDif+yDif*yDif);
+        if      (Dist2DBL < m_RlayerB-m_SVResolutionR){       //----------------------------------------- Inside B-layer
+          if( blTrk<1  && l1Trk<1  )  return false;
+          if(  nLays           <2 )   return false;  // Less than 2 layers on track 0
+	  return true;
+        }else if(Dist2DBL > m_RlayerB+m_SVResolutionR){      //----------------------------------------- Outside b-layer
+          if( blTrk>0 && blP==0 ) return false;  // Good hit in b-layer is present
+       }
+// 
+// L1 and L2 are considered only if vertex is in acceptance
+//
+	if(fabs(FitVertex.z())<400.){
+          xDif=FitVertex.x()-m_Xlayer1, yDif=FitVertex.y()-m_Ylayer1 ;
+	  double Dist2DL1=sqrt(xDif*xDif+yDif*yDif);
+          xDif=FitVertex.x()-m_Xlayer2, yDif=FitVertex.y()-m_Ylayer2 ; 
+	  double Dist2DL2=sqrt(xDif*xDif+yDif*yDif);
+          if      (Dist2DL1 < m_Rlayer1-m_SVResolutionR) {   //------------------------------------------ Inside 1st-layer
+             if( l1Trk<1  && l2Trk<1  )     return false;  // Less than 1 hits on track 0
+             return true;
+          }else if(Dist2DL1 > m_Rlayer1+m_SVResolutionR) {  //------------------------------------------- Outside 1st-layer
+	     if( l1Trk>0 && l1P==0 )       return false;  //  Good L1 hit is present
+          }
+          
+          if      (Dist2DL2 < m_Rlayer2-m_SVResolutionR) {  //------------------------------------------- Inside 2nd-layer
+	     if( l2Trk==0 )  return false;           // At least one L2 hit must be present
+          }else if(Dist2DL2 > m_Rlayer2+m_SVResolutionR) {  
+	  //   if( l2Trk>0  )  return false;           // L2 hits are present
+	  }           
+        } else {
+	  int d0Trk=0, d1Trk=0, d2Trk=0; 
+          getPixelDiscs( p1, d0Trk , d1Trk, d2Trk );
+          if( d0Trk+d1Trk+d2Trk ==0 )return false;
+        }
+        return true;
+   }
+
+   template <class Track>
+   double InDetVKalVxInJetTool::medianPtF( std::vector<const Track*> & Trks) const{
+     int NT=Trks.size(); if(NT==0)return 0.;
+     return (Trks[(NT-1)/2]->pt()+Trks[NT/2]->pt())/2.;
+   }
 }  //end namespace
 
 #endif
diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx
index 315f6f16be4315a9e3aaccd63d2f3a81fd5e4422..4f90e371e8b7a3f83cdd78049d3a1acb4c35410c 100755
--- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx
+++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx
@@ -104,7 +104,6 @@ namespace InDet{
 //            Secondary track list is ready
 //            Now common vertex fit
 //
-      std::vector<const Rec::TrackParticle*>::const_iterator   i_ntrk, i_found;
       Amg::Vector3D          FitVertex;
       std::vector<double> ErrorMatrix;
       std::vector< std::vector<double> > TrkAtVrt; 
@@ -120,21 +119,21 @@ namespace InDet{
       std::vector<const Rec::TrackParticle*> AdditionalTracks;
       VrtVrtDist(PrimVrt, FitVertex, ErrorMatrix, Signif3D);
       if(Signif3D>8.){
-       for (i_ntrk = SelectedTracks.begin(); i_ntrk < SelectedTracks.end(); ++i_ntrk) {
-         i_found = find( ListSecondTracks.begin(), ListSecondTracks.end(), (*i_ntrk));
+       for (auto i_ntrk : SelectedTracks) {
+         std::vector<const Rec::TrackParticle*>::const_iterator i_found = 
+	                         find( ListSecondTracks.begin(), ListSecondTracks.end(), i_ntrk);
 	 if( i_found != ListSecondTracks.end() ) continue;
-         Signif3DS = m_fitSvc->VKalGetImpact((*i_ntrk), FitVertex         , 1, Impact, ImpactError);
+         Signif3DS = m_fitSvc->VKalGetImpact(i_ntrk, FitVertex         , 1, Impact, ImpactError);
          if( Signif3DS > 10.) continue;
-         Signif3DP = m_fitSvc->VKalGetImpact((*i_ntrk), PrimVrt.position(), 1, Impact, ImpactError);
+         Signif3DP = m_fitSvc->VKalGetImpact(i_ntrk, PrimVrt.position(), 1, Impact, ImpactError);
          if(m_FillHist){ m_hb_diffPS->Fill( Signif3DP-Signif3DS, m_w_1); }
-	 if(Signif3DP-Signif3DS>1.0) AdditionalTracks.push_back((*i_ntrk));
+	 if(Signif3DP-Signif3DS>1.0) AdditionalTracks.push_back(i_ntrk);
        }
       }
 //
 // Add found tracks and refit
       if( AdditionalTracks.size() > 0){
-        for (i_ntrk = AdditionalTracks.begin(); i_ntrk < AdditionalTracks.end(); ++i_ntrk)
-                      ListSecondTracks.push_back((*i_ntrk));
+        for (auto i_ntrk : AdditionalTracks) ListSecondTracks.push_back(i_ntrk);
         std::vector<int> tmpCount(ListSecondTracks.size(),1);
         Chi2 =  FitCommonVrt( ListSecondTracks, tmpCount, xaodPrimVrt, JetDir, InpMass, FitVertex, ErrorMatrix, Momentum, TrkAtVrt);
         if( Chi2 < 0) { return 0; }      // Vertex not reconstructed
@@ -148,10 +147,9 @@ namespace InDet{
         int Charge=0, tCnt=0;
 	int BLshared=0;
 	int PXshared=0;
-        std::vector<const Rec::TrackParticle*>::const_iterator   i_ntrk;
-        for (i_ntrk = ListSecondTracks.begin(); i_ntrk < ListSecondTracks.end(); ++i_ntrk) {
-            Charge +=  (int) (*i_ntrk)->charge();
-            const Trk::TrackSummary* testSum = (*i_ntrk)->trackSummary();
+        for (auto i_ntrk : ListSecondTracks) {
+            Charge +=  (int) i_ntrk->charge();
+            const Trk::TrackSummary* testSum = i_ntrk->trackSummary();
             if(testSum){  BLshared   += testSum->get(Trk::numberOfBLayerSharedHits);
                           PXshared   += testSum->get(Trk::numberOfPixelSharedHits); }
             tCnt++;
@@ -239,7 +237,8 @@ namespace InDet{
       Results.push_back((Momentum.Pt()/Momentum.M())*(m_massB/JetDir.Pt()) ); //11th   "Boost" variable
 
       if(m_FillHist){
-          m_hb_r2dc->Fill( FitVertex.perp(), m_w_1);
+          if(ListSecondTracks.size()==2) m_hb_r2dc->Fill( FitVertex.perp(), m_w_1);
+          else                           m_hb_rNdc->Fill( FitVertex.perp(), m_w_1);
           m_hb_mom->Fill( MomentumJet.E(), m_w_1);     
           m_hb_ratio->Fill( Results[1], m_w_1);
           m_hb_totmass->Fill( Results[0], m_w_1);
@@ -419,7 +418,13 @@ namespace InDet{
   {
 
       if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "GetVrtSec() called with xAOD::TrackParticle=" <<InpTrk.size()<< endmsg;
-   
+
+      std::vector<double> ErrorMatrix,Impact,ImpactError;
+      Amg::Vector3D          FitVertex;
+      std::vector< std::vector<double> > TrkAtVrt; 
+      TLorentzVector    Momentum;
+      double Signif3D=0., Chi2=0.;
+
       std::vector<const xAOD::TrackParticle*> SelectedTracks(0),SelectedTracksRelax(0);
       Results.clear();        
       ListSecondTracks.clear();
@@ -427,7 +432,11 @@ namespace InDet{
       m_NRefTrk=0;
       if( InpTrk.size() < 2 ) { return 0;} // 0,1 track => nothing to do!
       int NPVParticle = SelGoodTrkParticle( InpTrk, PrimVrt, JetDir, SelectedTracks);
-      if((int)SelectedTracks.size()>m_TrackInJetNumberLimit)SelectedTracks.resize(m_TrackInJetNumberLimit); // SelectedTracks are ordered in pT
+      while(SelectedTracks.size() && SelectedTracks[0]->pt()/JetDir.Pt()>1.)SelectedTracks.erase(SelectedTracks.begin());
+      if((int)SelectedTracks.size()>m_TrackInJetNumberLimit){
+        SelectedTracks.resize(m_TrackInJetNumberLimit); // SelectedTracks are ordered in pT
+      }
+      while( SelectedTracks.size()>4 && medianPtF(SelectedTracks)/JetDir.Pt()<0.01) SelectedTracks.pop_back();
 
       long int NTracks = (int) (SelectedTracks.size());
       if(m_FillHist){m_hb_ntrkjet->Fill( (double) NTracks, m_w_1); }
@@ -443,12 +452,6 @@ namespace InDet{
 //--------------------------------------------------------------------------------------------	 
 //                    Initial xAOD::TrackParticle list ready
       float Vrt2TrackNumber =0;
-      std::vector<const xAOD::TrackParticle*>::const_iterator   i_ntrk;
-      Amg::Vector3D          FitVertex;
-      std::vector<double> ErrorMatrix,Impact,ImpactError;
-      std::vector< std::vector<double> > TrkAtVrt; 
-      TLorentzVector    Momentum;
-      double Signif3D=0., Chi2=0.;
       const int nTrkLead=5;
 
 
@@ -478,7 +481,7 @@ namespace InDet{
 
       AnalysisUtils::Sort::pT (&ListSecondTracks);
 //--Number of 2tr vertices where each track is used
-      std::vector<int> combCount(ListSecondTracks.size());
+      std::vector<int> combCount(ListSecondTracks.size(),0);
       for(int tk=0;tk<(int)ListSecondTracks.size(); tk++){
         combCount[tk]=std::count(saveSecondTracks.begin(),saveSecondTracks.end(),ListSecondTracks[tk]);
       }
@@ -487,7 +490,6 @@ namespace InDet{
 //            Secondary track list is ready
 //            Now common vertex fit
 //
-      std::vector<const xAOD::TrackParticle*>::const_iterator   i_found;
       double Signif3DP=0, Signif3DS=0;
 
       Chi2 =  FitCommonVrt( ListSecondTracks, combCount, PrimVrt, JetDir, InpMass, FitVertex, ErrorMatrix, Momentum, TrkAtVrt);
@@ -508,24 +510,28 @@ namespace InDet{
       if( Chi2 < 0) return tryPseudoVertex( SelectedTracks, PrimVrt, JetDir, MomentumJet, nTrkLead, Results);
 //
 // Check jet tracks not in secondary vertex
-      std::vector<const xAOD::TrackParticle*> AdditionalTracks;
+      std::map<double,const xAOD::TrackParticle*> AdditionalTracks;
       VrtVrtDist(PrimVrt, FitVertex, ErrorMatrix, Signif3D);
       if(Signif3D>8.){
-       for (i_ntrk = SelectedTracks.begin(); i_ntrk < SelectedTracks.end(); ++i_ntrk) {
-         i_found = find( ListSecondTracks.begin(), ListSecondTracks.end(), (*i_ntrk));
+       for (auto i_ntrk : SelectedTracks) {
+         std::vector<const xAOD::TrackParticle*>::const_iterator   i_found =
+                             find( ListSecondTracks.begin(), ListSecondTracks.end(), i_ntrk);
 	 if( i_found != ListSecondTracks.end() ) continue;
-         Signif3DS = m_fitSvc->VKalGetImpact((*i_ntrk), FitVertex         , 1, Impact, ImpactError);
+         if(i_ntrk->pt()<m_JetPtFractionCut*JetDir.Perp())continue;
+         if(!Check1TrVertexInPixel(i_ntrk,FitVertex)) continue;
+         Signif3DS = m_fitSvc->VKalGetImpact(i_ntrk, FitVertex         , 1, Impact, ImpactError);
          if( Signif3DS > 10.) continue;
-         Signif3DP = m_fitSvc->VKalGetImpact((*i_ntrk), PrimVrt.position(), 1, Impact, ImpactError);
+         if(i_ntrk->radiusOfFirstHit()>60 && FitVertex.perp()<m_RlayerB-m_SVResolutionR)continue;  //VK no hit in IBL and BL
+         Signif3DP = m_fitSvc->VKalGetImpact(i_ntrk, PrimVrt.position(), 1, Impact, ImpactError);
          if(m_FillHist){ m_hb_diffPS->Fill( Signif3DP-Signif3DS, m_w_1); }
-	 if(Signif3DP-Signif3DS>1.0) AdditionalTracks.push_back((*i_ntrk));
+	 if(Signif3DP-Signif3DS>-1.0) AdditionalTracks[Signif3DP-Signif3DS]=i_ntrk;
        }
       }
 //
 // Add found tracks and refit
       if( AdditionalTracks.size() > 0){
-        for (i_ntrk = AdditionalTracks.begin(); i_ntrk < AdditionalTracks.end(); ++i_ntrk)
-                      ListSecondTracks.push_back((*i_ntrk));
+while (AdditionalTracks.size()>3) AdditionalTracks.erase(AdditionalTracks.begin());//Tracks are in increasing DIFF order.
+for (auto atrk : AdditionalTracks)ListSecondTracks.push_back(atrk.second);         //3tracks with max DIFF are selected
         std::vector<int> tmpCount(ListSecondTracks.size(),1);
         Chi2 =  FitCommonVrt( ListSecondTracks, tmpCount, PrimVrt, JetDir, InpMass, FitVertex, ErrorMatrix, Momentum, TrkAtVrt);
         if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG)<<" Added track FitCommonVrt output="<< Chi2<<endmsg;
@@ -540,11 +546,11 @@ namespace InDet{
         int Charge=0;
 	uint8_t BLshared=0;
 	uint8_t PXshared=0;
-        for (i_ntrk = ListSecondTracks.begin(); i_ntrk < ListSecondTracks.end(); ++i_ntrk) {
-            Charge +=  (int) (*i_ntrk)->charge();
+        for (auto i_ntrk : ListSecondTracks) {
+            Charge +=  (int) i_ntrk->charge();
             uint8_t retval=0;
-            if( (*i_ntrk)->summaryValue( retval, xAOD::numberOfPixelSharedHits)  )  PXshared  += retval;
-            if( (*i_ntrk)->summaryValue( retval, xAOD::numberOfInnermostPixelLayerSharedHits) )  BLshared  += retval;
+            if( i_ntrk->summaryValue( retval, xAOD::numberOfPixelSharedHits)  )  PXshared  += retval;
+            if( i_ntrk->summaryValue( retval, xAOD::numberOfInnermostPixelLayerSharedHits) )  BLshared  += retval;
         }
 
         double vvdist3D=VrtVrtDist(PrimVrt, FitVertex, ErrorMatrix, Signif3D);
@@ -631,14 +637,16 @@ namespace InDet{
       Results.push_back((Momentum.M()-2.*m_massPi)*eRatio/m_massB);           //10th   "Product" variable
       Results.push_back((Momentum.Pt()/Momentum.M())*(m_massB/JetDir.Pt()) ); //11th   "Boost" variable
 
-     if(m_FillHist){
+      if(m_FillHist){
           // Find highest track Pt with respect to jet direction
           double trackPt, trackPtMax=0.;
           for (int tr=0; tr<(int)ListSecondTracks.size(); tr++) {
             trackPt=pTvsDir(Amg::Vector3D(JetDir.X(),JetDir.Y(),JetDir.Z()) , TrkAtVrt[tr]);
 	    if(trackPt>trackPtMax)trackPtMax=trackPt;
           }
-          m_hb_r2dc->Fill( FitVertex.perp(), m_w_1);    
+          if(ListSecondTracks.size()==2) m_hb_r2dc->Fill( FitVertex.perp(), m_w_1);
+          else if(ListSecondTracks.size()==3) m_hb_r3dc->Fill( FitVertex.perp(), m_w_1);
+          else                           m_hb_rNdc->Fill( FitVertex.perp(), m_w_1);
           m_hb_trkPtMax->Fill( trackPtMax, m_w_1);
           m_pr_effVrt->Fill((float)m_NRefTrk,1.);              
 	  m_pr_effVrtEta->Fill( JetDir.Eta(),1.);
@@ -648,7 +656,10 @@ namespace InDet{
           m_hb_nvrt2->Fill( Results[2], m_w_1);
           m_hb_sig3DTot->Fill( Signif3D, m_w_1);
           m_hb_dstToMat->Fill( minDstMat, m_w_1);
-      }
+          float R=JetDir.DeltaR(TLorentzVector(FitVertex.x()-PrimVrt.x(),FitVertex.y()-PrimVrt.y(),
+	                                       FitVertex.z()-PrimVrt.z(), 1.e4));
+          m_hb_deltaRSVPV->Fill( R, m_w_1);
+       }
 
 //-------------------------------------------------------------------------------------
 //Return xAOD::Vertex
@@ -735,14 +746,17 @@ namespace InDet{
 //                                       PrimVrt.errorPosition().covValue(Trk::z,Trk::z) );
 //      m_fitSvc->setCnstType(7);
       if(m_RobustFit)m_fitSvc->setRobustness(m_RobustFit);
+      else m_fitSvc->setRobustness(0);
 //fit itself
       int NTracksVrt = ListSecondTracks.size(); double FitProb=0.;
+
       for (i=0; i < NTracksVrt-1; i++) {
 //         sc=m_fitSvc->VKalVrtFit(ListSecondTracks,FitVertex, Momentum,Charge,
 //                                         ErrorMatrix,Chi2PerTrk,TrkAtVrt,Chi2);
          sc=VKalVrtFitBase(ListSecondTracks,FitVertex, Momentum,Charge,
                                  ErrorMatrix,Chi2PerTrk,TrkAtVrt,Chi2);
          if(sc.isFailure() ||  Chi2 > 1000000. ) { return -10000.;}    // No fit
+         //for( int mmt=0; mmt<(int) Chi2PerTrk.size(); mmt++) Chi2PerTrk[mmt] -= TMath::Min(trkSigPV[mmt],9.);
          Outlier = FindMax( Chi2PerTrk, cntComb ); 
 	 FitProb=TMath::Prob( Chi2, 2*ListSecondTracks.size()-3);
 	 if(ListSecondTracks.size() == 2 )              break;         // Only 2 tracks left
@@ -849,7 +863,7 @@ namespace InDet{
       long int           Charge;
       int i,j;
 //
-      long int NTracks = (int) (SelectedTracks.size());
+      int NTracks = (int) (SelectedTracks.size());
 
       m_WorkArray->m_Incomp.clear();   // For multivertex
       m_WorkArray->m_Prmtrack.clear();   // For multivertex
@@ -857,7 +871,7 @@ namespace InDet{
 //  Impact parameters with sign calculations
 //
       double SignifR,SignifZ;
-      std::vector<double> TrackSignif(NTracks),TrackPt(NTracks),TrackSignifBase(NTracks);
+      std::vector<double> TrackSignif(NTracks),TrackPt(NTracks),TrackSignifBase(NTracks),adpt(NTracks),TrkSigZ(NTracks);
       AmgVector(5) tmpPerigee; tmpPerigee<<0.,0.,0.,0.,0.;
       int NPrimTrk=0, NSecTrk=0;
       m_NRefTrk=0;
@@ -885,7 +899,7 @@ namespace InDet{
   	 }else if(m_getNegativeTag){
   	    ImpactSignif = sqrt(  (SignifR-0.6)*(SignifR-0.6)
   	                        + (SignifZ-0.5)*(SignifZ-0.5) );
-  	 }else{
+ 	 }else{
   	    ImpactSignif = sqrt(  (SignifR+0.6)*(SignifR+0.6)
   	                        + (SignifZ+0.5)*(SignifZ+0.5) );
   	 }
@@ -893,19 +907,25 @@ namespace InDet{
            if(SignifZ > 1.+m_AntiPileupSigZCut ) ImpactSignif=0.;  
            if(SignifZ < 1.-m_AntiPileupSigZCut ) ImpactSignif=0.;  
          }
-      
          TrackSignif[i]=ImpactSignif;
+         TrkSigZ[i]=SignifZ;
          if(m_FillHist){m_hb_impact->Fill( ImpactSignif, m_w_1);}
+	 adpt[i]=pow(TrackPt[i]/JetDir.Perp(),0.5);
+	 //adpt[i]=trkPtCorr(TrackPt[i]);
       }
 
-      //m_NRefTrk=(4.*m_NRefTrk/3.+NPrimTrk)/2; m_NRefTrk=TMath::Max(m_NRefTrk,2);
-      m_NRefTrk=TMath::Max(NPrimTrk,2);
-      //double addNTrkDep=m_TrkSigNTrkDep*m_NRefTrk;      // NTrk dependence
-      double addNTrkDep=TMath::Min((JetDir.Perp()/1.e6),m_TrkSigNTrkDep)*m_NRefTrk;      // NTrk dependence
+      m_NRefTrk=TMath::Max(NPrimTrk,TMath::Max(2,(int)(0.3*NTracks)));
+      //double addNTrkDep=TMath::Min((JetDir.Perp()/1.e6),m_TrkSigNTrkDep)*m_NRefTrk;      // NTrk dependence
+      double addNTrkDep=TMath::Min((JetDir.Perp()/150.e3),1.)*m_TrkSigNTrkDep*m_NRefTrk;      // NTrk dependence
       double SelLim = m_TrkSigCut;
 
+      if(m_FillHist){   int nSelTPairs=0;
+        for(i=0; i<NTracks; i++){ if(TrackSignif[i] < SelLim+m_TrkSigSumCut/2+adpt[i])continue;  nSelTPairs++;} 
+        m_hb_nHImpTrkCnt->Fill((double)nSelTPairs,m_w_1);
+      }
+
       StatusCode sc; if(sc.isSuccess())ImpactSignif=0;      //Safety !
-      if(m_MultiVertex || m_MultiWithPrimary) m_WorkArray->m_Incomp.reserve(NTracks*(NTracks-1));   // Reserve memory for multivertex
+      //if(m_MultiVertex || m_MultiWithPrimary) m_WorkArray->m_Incomp.reserve(NTracks*(NTracks-1));   // Reserve memory for PGRAPH multivertex
       ListSecondTracks.reserve(2*NTracks);                 // Reserve memory for sigle vertex
 
       Amg::Vector3D iniVrt(0.,0.,0.);
@@ -913,18 +933,16 @@ namespace InDet{
       m_fitSvc->setMassInputParticles( InpMass );     // Use pion masses for fit
       m_fitSvc->setMomCovCalc(1);                     // Total momentum and its covariance matrix are calculated
       for (i=0; i<NTracks-1; i++) {
-	 //double adp1=trkPtCorr(TrackPt[i]);
-	 double adp1=pow(TrackPt[i]/JetDir.Perp(),0.5);
          for (j=i+1; j<NTracks; j++) {
-             //if(m_MultiVertex || m_MultiWithPrimary){m_WorkArray->m_Incomp.push_back(i);m_WorkArray->m_Incomp.push_back(j);} // For PGRAPH multivertex   !!!ALL SELECTIONS MUST BE AFTER THIS LINE!!!
- 	     if(TrackSignif[i]==0.)continue; // Pileup and other problems
+         //--if(m_MultiVertex || m_MultiWithPrimary){m_WorkArray->m_Incomp.push_back(i);m_WorkArray->m_Incomp.push_back(j);} // For PGRAPH multivertex   !!!ALL SELECTIONS MUST BE AFTER THIS LINE!!!
+	     if(TrackSignif[i]==0.)continue; // Pileup and other problems
  	     if(TrackSignif[j]==0.)continue; // Pileup and other problems
-	     //double adp2=trkPtCorr(TrackPt[j]);
-	     double adp2=pow(TrackPt[j]/JetDir.Perp(),0.5);
+             double cutTrI= SelLim +adpt[i] +addNTrkDep/2.;
+             double cutTrJ= SelLim +adpt[j] +addNTrkDep/2.;
 	     if(!m_MultiWithPrimary) {  // Not used for multi-vertex with primary one search
-	        if(TrackSignif[i] < SelLim +adp1 +addNTrkDep) continue;
- 	        if(TrackSignif[j] < SelLim +adp2 +addNTrkDep) continue;
-	        if(TrackSignif[i]+TrackSignif[j]  < 2.*SelLim +m_TrkSigSumCut +adp1 +adp2 +2.*addNTrkDep) continue;
+                if(TrackSignif[i] < cutTrI) continue;
+                if(TrackSignif[j] < cutTrJ) continue;
+		if(TrackSignif[i]+TrackSignif[j]  < cutTrI+cutTrJ +m_TrkSigSumCut +addNTrkDep) continue;
 	     }
 	     int BadTracks = 0;                                       //Bad tracks identification 
              TracksForFit.clear();
@@ -948,10 +966,11 @@ namespace InDet{
                                ErrorMatrix,Chi2PerTrk,TrkAtVrt,Chi2);
              if(sc.isFailure())                continue;          /* No fit */ 
              if(Chi2 > m_Sel2VrtChi2Cut+4.)    continue;          /* Bad Chi2 */
-             double mass_PiPi =  Momentum.M();  
-	     if(mass_PiPi > 6000.)             continue;  // can't be from B decay
+	     if(fabs(FitVertex.z())> 650.)     continue;  // definitely outside of Pixel detector
              Dist2D=FitVertex.perp(); 
 	     if(Dist2D    > 180. )             continue;  // can't be from B decay
+	     if(m_useMaterialRejection && Dist2D>m_Rbeampipe-2.)
+	         { if( TrkSigZ[i]>25. || TrkSigZ[j]>25. || TrkSigZ[i]<-10. || TrkSigZ[j]<-10.) continue; }
              VrtVrtDist(PrimVrt, FitVertex, ErrorMatrix, Signif3D);
 //---
 	     vDist=FitVertex-PrimVrt.position();
@@ -961,9 +980,13 @@ namespace InDet{
 	     if(vPos<-150.) continue;                                              /* Secondary vertex is too far behind primary*/
 //
 // Check pixel hits vs vertex positions.
-             if(m_useVertexCleaning){
-               if(!Check2TrVertexInPixel(SelectedTracks[i],SelectedTracks[j],FitVertex,Signif3D)) continue;
-             }
+             if(m_useVertexCleaning){    if(!Check2TrVertexInPixel(SelectedTracks[i],SelectedTracks[j],FitVertex,Signif3D)) continue;     }
+//--------
+//
+             double Signif3Dproj=VrtVrtDist( PrimVrt, FitVertex, ErrorMatrix, JetDir);
+             double Signif3DSign=Signif3D; if(JetVrtDir<0) Signif3DSign=-Signif3D;
+  	     if(m_FillHist)m_hb_signif3D->Fill( Signif3DSign, m_w_1);
+             if(Signif3DSign<12. && Chi2>m_Sel2VrtChi2Cut)       continue;          /* Bad Chi2 */
 
              if( m_MultiWithPrimary || m_MultiVertex) { // For multivertex
 	       double limPtTr=m_JetPtFractionCut*JetDir.Perp();
@@ -974,26 +997,20 @@ namespace InDet{
              } 
 
   	     if( m_MultiWithPrimary )   continue;   /* Multivertex with primary one. All below is not needed */
-//--------
-//
-             double Signif3Dproj=VrtVrtDist( PrimVrt, FitVertex, ErrorMatrix, JetDir);
-             double Signif3DSign=Signif3D;
-  	     if(  JetVrtDir < 0) Signif3DSign=-Signif3D;
-  	     if(m_FillHist)m_hb_signif3D->Fill( Signif3DSign, m_w_1);
-	     if(m_FillHist)m_hb_massPiPi2->Fill( mass_PiPi, m_w_1);
-             if(Signif3DSign<12. && Chi2>m_Sel2VrtChi2Cut)       continue;          /* Bad Chi2 */
+             double mass_PiPi =  Momentum.M();  
+	     if(mass_PiPi > 6000.)      continue;  // can't be from B decay
 //
 //  Check if V0 or material interaction on Pixel layer is present
 //
 	     if( Charge == 0 && Signif3D>8. && mass_PiPi<900.) {
                double mass_PPi  =  massV0( TrkAtVrt,m_massP,m_massPi);
                double mass_EE   =  massV0( TrkAtVrt,m_massE,m_massE);
-               if(m_FillHist){m_hb_massEE->Fill( mass_EE, m_w_1);} 
+               if(m_FillHist && !m_MultiVertex){m_hb_massEE->Fill( mass_EE, m_w_1);} 
 	       if(       mass_EE <  40.)  { 
 	         BadTracks = 3;
 	       }else{
-                 if(m_FillHist){m_hb_massPiPi->Fill( mass_PiPi, m_w_1);}     /* Total mass with input particles masses*/
-                 if(m_FillHist){m_hb_massPPi->Fill( mass_PPi, m_w_1);} 
+                 if(m_FillHist && !m_MultiVertex){m_hb_massPiPi->Fill( mass_PiPi, m_w_1);} /* Total mass with input particles masses*/
+                 if(m_FillHist && !m_MultiVertex){m_hb_massPPi->Fill( mass_PPi, m_w_1);} 
 	         if( fabs(mass_PiPi-m_massK0) < 22. )  BadTracks = 1;
 	         if( fabs(mass_PPi-m_massLam) <  8. )  BadTracks = 2;
 	         //double TransMass=TotalTMom(GetPerigeeVector(TracksForFit));
@@ -1054,29 +1071,16 @@ namespace InDet{
 //
 //  Check interactions on pixel layers
 //
-	     float xvt=FitVertex.x(); float yvt=FitVertex.y();
-             if(m_FillHist){m_hb_r2d->Fill( Dist2D, m_w_1);}
-             if(m_useMaterialRejection && (SelectedTracks[i]->pt()<m_MaterialPtCut || SelectedTracks[j]->pt()<m_MaterialPtCut) ){
+             if(m_FillHist){  m_hb_r2d->Fill( FitVertex.perp(), m_w_1); }
+	     if(m_useMaterialRejection && Dist2D>m_Rbeampipe-2.){
+	        float ptLim=TMath::Max(m_hadronIntPtCut,m_JetPtFractionCut*JetDir.Perp());
               //if(m_materialMap){
               //  if(m_materialMap->inMaterial(FitVertex)) BadTracks=4;
-              //  if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG)<<" MaterialMap test="<< BadTracks<<endmsg;
+              //  if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG)<<" MaterialMap test="<< BadTracks<<endreq;
 	      //}else{   
-               float Dist2DBP=sqrt( (xvt-m_Xbeampipe)*(xvt-m_Xbeampipe) + (yvt-m_Ybeampipe)*(yvt-m_Ybeampipe) ); 
-               float Dist2DBL=sqrt( (xvt-m_XlayerB)*(xvt-m_XlayerB) + (yvt-m_YlayerB)*(yvt-m_YlayerB) ); 
-               float Dist2DL1=sqrt( (xvt-m_Xlayer1)*(xvt-m_Xlayer1) + (yvt-m_Ylayer1)*(yvt-m_Ylayer1) );
-               float Dist2DL2=sqrt( (xvt-m_Xlayer2)*(xvt-m_Xlayer2) + (yvt-m_Ylayer2)*(yvt-m_Ylayer2) );
-               if(m_existIBL){              // 4-layer pixel detector
-                 if( fabs(Dist2DBP-m_Rbeampipe)< 1.0)  BadTracks = 4;           // Beam Pipe removal  
-                 if( fabs(Dist2DBL-m_RlayerB)  < 2.5)  BadTracks = 4;
-                 if( fabs(Dist2DL1-m_Rlayer1)  < 3.0)  BadTracks = 4;
-                 if( fabs(Dist2DL2-m_Rlayer2)  < 3.0)  BadTracks = 4;
-                 if( fabs(Dist2DL2-m_Rlayer3)  < 3.0)  BadTracks = 4;
-               }else{                       // 3-layer pixel detector
-                 if( fabs(Dist2DBP-m_Rbeampipe)< 1.5)  BadTracks = 4;           // Beam Pipe removal  
-                 if( fabs(Dist2DBL-m_RlayerB)  < 3.5)  BadTracks = 4;
-                 if( fabs(Dist2DL1-m_Rlayer1)  < 4.0)  BadTracks = 4;
-                 if( fabs(Dist2DL2-m_Rlayer2)  < 5.0)  BadTracks = 4;
-               }  //}
+                if( TMath::Min(TrackPt[i],TrackPt[j])<ptLim ){
+                   if(  insideMatLayer(FitVertex.x(), FitVertex.y()) ) BadTracks = 4;
+                } 
              }
 //
 //  Creation of tracks from V0 list
@@ -1085,9 +1089,9 @@ namespace InDet{
 	        TrkFromV0.push_back(SelectedTracks[i]);
 	        TrkFromV0.push_back(SelectedTracks[j]);
 	     }else{
-		double limPtTr=m_JetPtFractionCut*JetDir.Perp();
-                if(TrackPt[i]<limPtTr && Signif3D<9.)continue;
-                if(TrackPt[j]<limPtTr && Signif3D<9.)continue;
+                double limPtTr=m_JetPtFractionCut*JetDir.Perp();
+                if(TrackPt[i]<limPtTr && Signif3D<15.)continue;
+                if(TrackPt[j]<limPtTr && Signif3D<15.)continue;
 //
   		double JetVrtDir =
    	          JetDir.Px()*(FitVertex.x()-PrimVrt.x())
@@ -1128,9 +1132,11 @@ namespace InDet{
 	if(TrkFromV0.size()){
 	  std::vector<const Track*> tmpVec(0);
           for(int tk=0;tk<(int)TrkFromV0.size(); tk+=2){
+            int nCheck1=std::count(TrkFromV0.begin(),TrkFromV0.end(),TrkFromV0[tk]);
+            int nCheck2=std::count(TrkFromV0.begin(),TrkFromV0.end(),TrkFromV0[tk+1]);
             int nFound1=std::count(ListSecondTracks.begin(),ListSecondTracks.end(),TrkFromV0[tk]);
             int nFound2=std::count(ListSecondTracks.begin(),ListSecondTracks.end(),TrkFromV0[tk+1]);
-	    if(nFound1+nFound2){
+	    if(nFound1+nFound2 && nCheck1==1 && nCheck2==1 ){  //Unique in TrkFromV0 but duplicated in ListSecondTracks
 	       ListSecondTracks.push_back(TrkFromV0[tk]);
 	       ListSecondTracks.push_back(TrkFromV0[tk+1]);
 	    }else{
@@ -1163,30 +1169,32 @@ namespace InDet{
 
    template <class Track>
    bool InDetVKalVxInJetTool::Check2TrVertexInPixel( const Track* p1, const Track* p2,
-                                              Amg::Vector3D &FitVertex, double Signif3D)
+                                              //Amg::Vector3D &FitVertex, double Signif3D)
+                                              Amg::Vector3D &FitVertex, double)
    const
    {
-	int blTrk[2]={0,0}; 
-	int blP[2]={0,0}; 
-	int l1Trk[2]={0,0}; 
-	int l1P[2]={0,0}; 
-	int l2Trk[2]={0,0}; 
-	int nLays[2]={0,0}; 
+	int blTrk[2]={0,0};
+	int blP[2]={0,0};
+	int l1Trk[2]={0,0};
+	int l1P[2]={0,0};
+	int l2Trk[2]={0,0};
+	int nLays[2]={0,0};
         getPixelLayers( p1, blTrk[0] , l1Trk[0], l2Trk[0], nLays[0] );
         getPixelLayers( p2, blTrk[1] , l1Trk[1], l2Trk[1], nLays[1] );    // Very close to PV. Both b-layer hits are mandatory.
         getPixelProblems(p1, blP[0], l1P[0] );
         getPixelProblems(p2, blP[1], l1P[1] );
-        if( Signif3D<15. && FitVertex.perp()<15. ){
-	   if( blTrk[0]<1  && l1Trk[0]<1  )  return false;
-	   if( blTrk[1]<1  && l1Trk[1]<1  )  return false;
-	   if( blTrk[0]==0 && blTrk[1]==0 )  return false;
-        }
+        //if( Signif3D<15. && FitVertex.perp()<15. ){
+	//   if( blTrk[0]<1  && l1Trk[0]<1  )  return false;
+	//   if( blTrk[1]<1  && l1Trk[1]<1  )  return false;
+        //}
         double xDif=FitVertex.x()-m_XlayerB, yDif=FitVertex.y()-m_YlayerB ; 
         double Dist2DBL=sqrt(xDif*xDif+yDif*yDif);
         if      (Dist2DBL < m_RlayerB-m_SVResolutionR){       //----------------------------------------- Inside B-layer
-          if(blTrk[0]==0 && blTrk[1]==0) return false;  // No b-layer hits at all
-          if(  nLays[0]           <2 )   return false;  // Less than 2 layers on track 0
-          if(  nLays[1]           <2 )   return false;  // Less than 2 layers on track 1
+          if( blTrk[0]==0 && blTrk[1]==0) return false;  // No b-layer hits at all, but all expected
+	  if( blTrk[0]<1  && l1Trk[0]<1 ) return false;
+	  if( blTrk[1]<1  && l1Trk[1]<1 ) return false;
+          if(  nLays[0]           <2 )    return false;  // Less than 2 layers on track 0
+          if(  nLays[1]           <2 )    return false;  // Less than 2 layers on track 1
 	  return true;
         }else if(Dist2DBL > m_RlayerB+m_SVResolutionR){      //----------------------------------------- Outside b-layer
           if( blTrk[0]>0 && blP[0]==0 ) return false;  // Good hit in b-layer is present
diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSecMulti.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSecMulti.cxx
index e06389b6757e9f864c18e4ba0fbf5d1738ed9add..d2dccb50eeee51dbd4e5c4444a86dfc599dd8dc9 100755
--- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSecMulti.cxx
+++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSecMulti.cxx
@@ -9,7 +9,7 @@
 #include  "GaudiKernel/ToolFactory.h"
 #include  "AnalysisUtils/AnalysisMisc.h"
 #include  "TrkParticleBase/TrackParticleBaseCollection.h"
-#include  "TrkParticleCreator/TrackParticleCreatorTool.h"
+//#include  "TrkParticleCreator/TrackParticleCreatorTool.h"
 #include  "GeoPrimitives/GeoPrimitivesHelpers.h"
 #include  "TMath.h"
 #include  <algorithm>
@@ -39,6 +39,9 @@ extern   int  pgraphm_(
 
 namespace InDet{
 
+const double VrtBCMassLimit=6000.;  // Mass limit to consider a vertex not comoming from B,C-decays
+
+
 //   std::vector<xAOD::Vertex*> InDetVKalVxInJetTool::GetVrtSecMulti(
 //                                       const std::vector<const Rec::TrackParticle*>& InpTrk,
 //                                       const xAOD::Vertex                          & PrimVrt,
@@ -79,12 +82,15 @@ namespace InDet{
       long int NTracks = 0;
       TLorentzVector MomentumJet;
       if     (xAODwrk) {  SelGoodTrkParticle( xAODwrk->InpTrk, PrimVrt, JetDir, xAODwrk->listJetTracks);
+			  while( xAODwrk->listJetTracks.size() && xAODwrk->listJetTracks[0]->pt()/JetDir.Pt()>1.)
+			         xAODwrk->listJetTracks.erase(xAODwrk->listJetTracks.begin());
                           NTracks = xAODwrk->listJetTracks.size();
                           MomentumJet = TotalMom(xAODwrk->listJetTracks);}
       else if(RECwork) {  SelGoodTrkParticle( RECwork->InpTrk, PrimVrt, JetDir, RECwork->listJetTracks);
+			  while( RECwork->listJetTracks.size() && RECwork->listJetTracks[0]->pt()/JetDir.Pt()>1.)
+			         RECwork->listJetTracks.erase(RECwork->listJetTracks.begin());
                           NTracks = RECwork->listJetTracks.size();
                           MomentumJet = TotalMom(GetPerigeeVector(RECwork->listJetTracks));}
-      if(m_FillHist){m_hb_ntrkjet->Fill( (double) NTracks, m_w_1); }
 
       if(NTracks>m_TrackInJetNumberLimit){
         if     (xAODwrk ) xAODwrk->listJetTracks.resize(m_TrackInJetNumberLimit);
@@ -93,9 +99,15 @@ namespace InDet{
       }
       if( NTracks < 2 ) { return finalVertices;} // 0,1 selected track => nothing to do!
 
+      if(xAODwrk){
+          while( xAODwrk->listJetTracks.size()>4 && medianPtF(xAODwrk->listJetTracks)/JetDir.Pt()<0.01) 
+             xAODwrk->listJetTracks.pop_back();
+          NTracks = xAODwrk->listJetTracks.size();
+      }
       if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "Number of selected tracks inside jet= " <<NTracks << endmsg;
       
-      if(m_FillHist){m_hb_jmom->Fill( MomentumJet.Perp(), m_w_1); }
+      if(m_FillHist){m_hb_jmom->Fill( MomentumJet.Perp(), m_w_1);
+                     m_hb_ntrkjet->Fill( (double) NTracks, m_w_1); }
 
 //
 //  InpTrk[]           - input track list
@@ -212,6 +224,10 @@ namespace InDet{
 //    tie(neighbourIt, neighbourEnd) = adjacent_vertices(*vertexIt, *m_compatibilityGraph); 
 //    for (; neighbourIt != neighbourEnd; ++neighbourIt) std::cout << *neighbourIt << " ";   std::cout << "\n"; }
 //==================================================================================
+//------------ Debug
+//    std::vector<const xAOD::TrackParticle*> tempTrk(0);
+//    for(auto & iv : (*WrkVrtSet)){ if(iv.Good){for(auto & it : iv.SelTrk)tempTrk.push_back(xAODwrk->listJetTracks.at(it));}}
+//    RemoveDoubleEntries(tempTrk);
 //--- Initial cleaning of solutions
 //
 //- Try to merge vertices with 3 and more tracks which have at least 2 common tracks
@@ -225,12 +241,15 @@ namespace InDet{
          if( nTrk1<3 || nTrk2<3 || nTrk1+nTrk2<7) continue; 
          int nTCom=nTrkCommon( WrkVrtSet, iv, jv);
          if( nTrk1-nTCom==1 || nTrk2-nTCom==1){
-            if     (xAODwrk)mergeAndRefitVertices( WrkVrtSet, iv, jv, newvrt, xAODwrk->listJetTracks);
-            else if(RECwork)mergeAndRefitVertices( WrkVrtSet, iv, jv, newvrt, RECwork->listJetTracks);
+	    double probV=-1.;
+            if     (xAODwrk)probV=mergeAndRefitVertices( WrkVrtSet, iv, jv, newvrt, xAODwrk->listJetTracks);
+            else if(RECwork)probV=mergeAndRefitVertices( WrkVrtSet, iv, jv, newvrt, RECwork->listJetTracks);
+	    if(probV<probVrtMergeLimit)continue;
+            newvrt.Good = true;
+            (*WrkVrtSet).push_back(newvrt);
+	    (*WrkVrtSet)[iv].Good=false;      
+	    (*WrkVrtSet)[jv].Good=false;      
          }
-         (*WrkVrtSet).push_back(newvrt);
-	 (*WrkVrtSet)[iv].Good=false;      
-	 (*WrkVrtSet)[jv].Good=false;      
        }
     }
 //-Remove worst track from vertices with very bad Chi2
@@ -238,7 +257,8 @@ namespace InDet{
     for(int iv=0; iv<NSoluI; iv++){
        if(!(*WrkVrtSet)[iv].Good )               continue;
        if( (*WrkVrtSet)[iv].SelTrk.size() == 2 ) continue;
-       if( (*WrkVrtSet)[iv].Chi2 > (5.*(*WrkVrtSet)[iv].SelTrk.size()) ){
+       //if( (*WrkVrtSet)[iv].Chi2 > (5.*(*WrkVrtSet)[iv].SelTrk.size()) ){
+       if( TMath::Prob( (*WrkVrtSet)[iv].Chi2, 2*(*WrkVrtSet)[iv].SelTrk.size()-3) <1.e-2){
           if     (xAODwrk)DisassembleVertex(WrkVrtSet,iv,xAODwrk->listJetTracks);
           else if(RECwork)DisassembleVertex(WrkVrtSet,iv,RECwork->listJetTracks);
        }
@@ -258,7 +278,7 @@ namespace InDet{
     }
     if(m_FillHist){ int cvgood=0; for(int iv=0; iv<(int)(*WrkVrtSet).size(); iv++) if((*WrkVrtSet)[iv].Good)cvgood++;
                     m_hb_rawVrtN->Fill( (float)cvgood, m_w_1); }
-//- Try to merge all vertices which have at least 1 common track
+//- Try to merge all vertices which have at least 2 common track
     for(int iv=0; iv<(int)(*WrkVrtSet).size()-1; iv++ ){
        if(!(*WrkVrtSet)[iv].Good )           continue;
        for(int jv=iv+1; jv<(int)(*WrkVrtSet).size(); jv++){
@@ -283,23 +303,23 @@ namespace InDet{
     }
 //-Identify/remove vertices behind the PV wrt jet direction
 //-Identify remaining 2-track vertices with very bad Chi2 and mass (b-tagging)
-    for(int iv=0; iv<(int)(*WrkVrtSet).size(); iv++ ){
-       if(!(*WrkVrtSet)[iv].Good )  continue;
-       (*WrkVrtSet)[iv].ProjectedVrt=JetProjDist((*WrkVrtSet)[iv].vertex, PrimVrt, JetDir);
-       if( (*WrkVrtSet)[iv].SelTrk.size()!=2)continue;
-       if( (*WrkVrtSet)[iv].ProjectedVrt <0.) (*WrkVrtSet)[iv].Good =false;
-       if( (*WrkVrtSet)[iv].Chi2 > 10.) (*WrkVrtSet)[iv].Good=false;
-       if( (*WrkVrtSet)[iv].vertexMom.M()>6000. ) (*WrkVrtSet)[iv].Good=false; //VK B-tagging specific requirement
-     }      
+//    for(int iv=0; iv<(int)(*WrkVrtSet).size(); iv++ ){
+//       if(!(*WrkVrtSet)[iv].Good )  continue;
+//       (*WrkVrtSet)[iv].ProjectedVrt=JetProjDist((*WrkVrtSet)[iv].vertex, PrimVrt, JetDir);
+//       if( (*WrkVrtSet)[iv].SelTrk.size()!=2)continue;
+//       if( (*WrkVrtSet)[iv].ProjectedVrt <0.) (*WrkVrtSet)[iv].Good =false;
+//       if( (*WrkVrtSet)[iv].Chi2 > 10.) (*WrkVrtSet)[iv].Good=false;
+//       if( (*WrkVrtSet)[iv].vertexMom.M()>VrtBCMassLimit) (*WrkVrtSet)[iv].Good=false; //VK B-tagging specific requirement
+//     }      
 //-Remove all bad vertices from the working set    
     int tmpV=0; while( tmpV<(int)(*WrkVrtSet).size() )if( !(*WrkVrtSet)[tmpV].Good ) { (*WrkVrtSet).erase((*WrkVrtSet).begin()+tmpV);} else {tmpV++;}
     //printWrkSet(WrkVrtSet,"Interm");
 //----------------------------------------------------------------------------
 //   Add primary vertex
 //
-     if     (xAODwrk)xAODwrk->tmpListTracks.clear(); else if(RECwork)RECwork->tmpListTracks.clear();
-     newvrt.SelTrk.clear();
-     nth=m_WorkArray->m_Prmtrack.size();
+//     if     (xAODwrk)xAODwrk->tmpListTracks.clear(); else if(RECwork)RECwork->tmpListTracks.clear();
+//     newvrt.SelTrk.clear();
+//     nth=m_WorkArray->m_Prmtrack.size();
 //     int PrmVrtAdded=-1;
 //     if( nth>1 && WrkVrtSet->size()>0 ){
 //          for(i=0;i<nth;i++) { 
@@ -328,6 +348,8 @@ namespace InDet{
 //             Here we have the overlapping solutions
 //              Now solution cleaning
 
+    int nGoodVertices=0;         // Final number of good vertices
+    int n2trVrt=0;               // N vertices with 2 and more tracks
     std::vector< std::deque<long int> > *TrkInVrt  =new std::vector< std::deque<long int> >(NTracks);  
     double foundMaxT; long int SelectedTrack, SelectedVertex;
     int foundV1, foundV2;
@@ -352,7 +374,7 @@ namespace InDet{
 	       double probV=0.;
                if     (xAODwrk)probV=mergeAndRefitVertices( WrkVrtSet, foundV1, foundV2, newvrt, xAODwrk->listJetTracks);
                else if(RECwork)probV=mergeAndRefitVertices( WrkVrtSet, foundV1, foundV2, newvrt, RECwork->listJetTracks);
-	       if(probV>probVrtMergeLimit && newvrt.vertexMom.M()<6000.){        //  Good merged vertex found
+	       if(probV>probVrtMergeLimit && newvrt.vertexMom.M()<VrtBCMassLimit){        //  Good merged vertex found
                  double tstDst=JetProjDist(newvrt.vertex, PrimVrt, JetDir);
 	         if(tstDst>0.){                               // only positive vertex directions are accepted as merging result
                    std::swap((*WrkVrtSet)[foundV1],newvrt);
@@ -392,7 +414,7 @@ namespace InDet{
 	double probV=0.;
         if     (xAODwrk)probV=mergeAndRefitVertices( WrkVrtSet, foundV1, foundV2, newvrt, xAODwrk->listJetTracks);
         else if(RECwork)probV=mergeAndRefitVertices( WrkVrtSet, foundV1, foundV2, newvrt, RECwork->listJetTracks);
-	if(probV>probVrtMergeLimit && newvrt.vertexMom.M()<6000.){        //  Good merged vertex found
+	if(probV>probVrtMergeLimit && newvrt.vertexMom.M()<VrtBCMassLimit){        //  Good merged vertex found
            double tstDst=JetProjDist(newvrt.vertex, PrimVrt, JetDir);
 	   if(tstDst>0.){                               // only positive vertex directions are accepted as merging result
               std::swap((*WrkVrtSet)[foundV1],newvrt);
@@ -409,7 +431,7 @@ namespace InDet{
 // Try to improve vertices with big Chi2
     for(int iv=0; iv<(int)WrkVrtSet->size(); iv++) {
        if(!(*WrkVrtSet)[iv].Good )                 continue;  //don't work on vertex which is already bad
-       if( (*WrkVrtSet)[iv].SelTrk.size()<2 )      continue;
+       if( (*WrkVrtSet)[iv].SelTrk.size()<3 )      continue;
        double tmpProb=TMath::Prob( (*WrkVrtSet)[iv].Chi2, 2*(*WrkVrtSet)[iv].SelTrk.size()-3 ); //Chi2 of the original vertex
        if(tmpProb<0.001){
          if     (xAODwrk)tmpProb=improveVertexChi2( WrkVrtSet, iv, xAODwrk->listJetTracks);
@@ -419,168 +441,186 @@ namespace InDet{
        }
     }
     //printWrkSet(WrkVrtSet,"Joined");
+//------------ Debug
+//    std::vector<const xAOD::TrackParticle*> tempTrk(0);
+//    for(auto & iv : (*WrkVrtSet)){ if(iv.Good){for(auto & it : iv.SelTrk)tempTrk.push_back(xAODwrk->listJetTracks.at(it));}}
+//    RemoveDoubleEntries(tempTrk);
 //--------------------------------------------------------------------------------------------------------
 // Final vertex selection/cleaning
 //
-
-    int nGoodVertices=0;         // Final number of good vertices
     m_fitSvc->setDefault();
     m_fitSvc->setMomCovCalc(1);
-    double Signif3D, Signif3Dproj;
+    double Signif3D, vProb=0.;
     //double Dist3D=0;
-    int n2trVrt=0;              // N vertices with 2 and more tracks
+
+//--------- Start with 1-track vertices
+//=First check if the track was detached from a multitrack vertex. If so - reattach. 
+    for(auto &ntrVrt : (*WrkVrtSet)){ if(!ntrVrt.Good || ntrVrt.SelTrk.size()<=1)      continue;
+      for(auto &onetVrt : (*WrkVrtSet)){ if(!onetVrt.Good || onetVrt.SelTrk.size()!=1) continue;
+        if(ntrVrt.detachedTrack==onetVrt.SelTrk[0]){   
+	  WrkVrt newV(ntrVrt); newV.SelTrk.push_back(ntrVrt.detachedTrack);
+          if     (xAODwrk)vProb = RefitVertex( newV, xAODwrk->listJetTracks);
+          else if(RECwork)vProb = RefitVertex( newV, RECwork->listJetTracks);
+	  if(vProb>0.01){ onetVrt.Good=false; ntrVrt=newV;  ntrVrt.detachedTrack=-1;}
+	  break;
+    } } }
+//=Recheck if the track was detached from a 2track vertex. If so - reattach. 
+    for(auto &iVrt : (*WrkVrtSet)){   if(!iVrt.Good || iVrt.SelTrk.size()!=1) continue;
+      for(auto &jVrt : (*WrkVrtSet)){ if(!jVrt.Good || jVrt.SelTrk.size()!=1) continue;
+        if(iVrt.detachedTrack==jVrt.SelTrk[0]){   
+	  WrkVrt newV(iVrt); newV.SelTrk.push_back(iVrt.detachedTrack);
+          if     (xAODwrk)vProb = RefitVertex( newV, xAODwrk->listJetTracks);
+          else if(RECwork)vProb = RefitVertex( newV, RECwork->listJetTracks);
+	  if(vProb>0.01){ jVrt.Good=false; iVrt=newV;  iVrt.detachedTrack=-1;}
+	  break;
+    } } }
+    for(auto &ntrVrt : (*WrkVrtSet)){ if(!ntrVrt.Good  || ntrVrt.SelTrk.size()<=1)  continue;
+      for(auto tr : ntrVrt.SelTrk){ 
+        for(auto &onetVrt  : (*WrkVrtSet)){ if(!onetVrt.Good || onetVrt.SelTrk.size()!=1) continue;
+	  if(onetVrt.detachedTrack==tr){
+	    WrkVrt newV(ntrVrt); newV.SelTrk.push_back(onetVrt.SelTrk[0]);
+            if     (xAODwrk)vProb = RefitVertex( newV, xAODwrk->listJetTracks);
+            else if(RECwork)vProb = RefitVertex( newV, RECwork->listJetTracks);
+	    if(vProb>0.01){ onetVrt.Good=false; ntrVrt=newV;}
+    } } } }
+    for(auto & curVrt : (*WrkVrtSet) ) {
+       if(!curVrt.Good )                 continue;  //don't work on vertex which is already bad
+       if( fabs(curVrt.vertex.z())>650. ){curVrt.Good=false; continue;}  //vertex outside Pixel det. For ALL vertices
+       if(curVrt.SelTrk.size() != 1)     continue;
+       curVrt.Good=false;       // Make them bad by default
+       if(MomAtVrt(curVrt.TrkAtVrt[0]).Pt() < TMath::Max(m_hadronIntPtCut,m_JetPtFractionCut*JetDir.Perp()) ) continue; //Low Pt
+       if(m_MultiWithOneTrkVrt){          /* 1track vertices left unassigned from good 2tr vertices */
+          VrtVrtDist(PrimVrt,curVrt.vertex, curVrt.vertexCov, Signif3D); //VK non-projected Signif3D is worse
+          double tmpProb=TMath::Prob( curVrt.Chi2, 1);                 //Chi2 of the original 2tr vertex
+          bool trkGood=false;
+          if     (RECwork)trkGood=Check1TrVertexInPixel(RECwork->listJetTracks[curVrt.SelTrk[0]],curVrt.vertex);
+          else if(xAODwrk)trkGood=Check1TrVertexInPixel(xAODwrk->listJetTracks[curVrt.SelTrk[0]],curVrt.vertex);
+          if(trkGood && tmpProb>0.01){  /* accept only good tracks coming from good 2tr vertex*/
+             //if( m_useMaterialRejection && insideMatLayer(curVrt.vertex.x(),curVrt.vertex.y()) ) continue;
+             std::vector<double> Impact,ImpactError;   double Signif3DP = 0;
+             if     (xAODwrk) Signif3DP=m_fitSvc->VKalGetImpact(xAODwrk->listJetTracks[curVrt.SelTrk[0]],PrimVrt.position(), 1, Impact, ImpactError);
+	     else if(RECwork) Signif3DP=m_fitSvc->VKalGetImpact(RECwork->listJetTracks[curVrt.SelTrk[0]],PrimVrt.position(), 1, Impact, ImpactError);
+             if(m_FillHist&&curVrt.vertex.perp()>20.){m_hb_diffPS->Fill( Signif3DP, m_w_1); }
+             if( Signif3DP>2.*m_TrkSigCut && Signif3D>m_Sel2VrtSigCut) curVrt.Good=true; // accept only tracks which are far from primary vertex
+          }
+       }
+    }
+//------------ Debug
+//    std::vector<const xAOD::TrackParticle*> tempTrk(0);
+//    for(auto & iv : (*WrkVrtSet)){ if(iv.Good){for(auto & it : iv.SelTrk)tempTrk.push_back(xAODwrk->listJetTracks.at(it));}}
+//    RemoveDoubleEntries(tempTrk);
+//
+//-----  Vertices with >1 tracks
     for(int iv=0; iv<(int)WrkVrtSet->size(); iv++) {
-          if(!(*WrkVrtSet)[iv].Good )                 continue;  //don't work on vertex which is already bad
-          if( fabs((*WrkVrtSet)[iv].vertex.z())>650. ){(*WrkVrtSet)[iv].Good=false; continue;}  //vertex outside Pixel det.
-          nth=(*WrkVrtSet)[iv].SelTrk.size();
-          Signif3Dproj=VrtVrtDist(PrimVrt, (*WrkVrtSet)[iv].vertex, (*WrkVrtSet)[iv].vertexCov, JetDir);
-          //VrtVrtDist(PrimVrt,(*WrkVrtSet)[iv].vertex, (*WrkVrtSet)[iv].vertexCov, Signif3D); //VK non-projected Signif3D is worse
+          WrkVrt & curVrt=(*WrkVrtSet)[iv];
+          if(!curVrt.Good )                      continue;  //don't work on vertex which is already bad
+          nth=(*WrkVrtSet)[iv].SelTrk.size(); if(nth == 1) continue;  // 1track vertices are treated already
+          //Signif3Dproj=VrtVrtDist(PrimVrt, curVrt.vertex, curVrt.vertexCov, JetDir);
+          VrtVrtDist(PrimVrt,curVrt.vertex, curVrt.vertexCov, Signif3D); //VK non-projected Signif3D is worse
  	  //std::cout<<" Solution="<<iv<<" Ntrk="<<nth<<'\n';
-          if(nth == 1 && m_MultiWithOneTrkVrt && (*WrkVrtSet)[iv].Good){          /* 1track vertices left unassigned from good 2tr vertices */
-             int nBLHits=0, tmpL1=0,tmpL2=0, nLays=0;
-             double tmpProb=TMath::Prob( (*WrkVrtSet)[iv].Chi2, 1);                 //Chi2 of the original 2tr vertex
-             if     (RECwork) getPixelLayers(RECwork->listJetTracks[(*WrkVrtSet)[iv].SelTrk[0]], nBLHits, tmpL1, tmpL2, nLays);
-	     else if(xAODwrk) getPixelLayers(xAODwrk->listJetTracks[(*WrkVrtSet)[iv].SelTrk[0]], nBLHits, tmpL1, tmpL2, nLays);
-             if(nBLHits>0 && tmpProb>0.01 && (*WrkVrtSet)[iv].vertex.perp()<m_RlayerB){  /* accept only tracks with b-layer hit coming from good 2tr vertex*/
-                std::vector<double> Impact,ImpactError;
-                double Signif3DP = 0;
-		if     (xAODwrk) Signif3DP=m_fitSvc->VKalGetImpact(xAODwrk->listJetTracks[(*WrkVrtSet)[iv].SelTrk[0]],PrimVrt.position(), 1, Impact, ImpactError);
-		else if(RECwork) Signif3DP=m_fitSvc->VKalGetImpact(RECwork->listJetTracks[(*WrkVrtSet)[iv].SelTrk[0]],PrimVrt.position(), 1, Impact, ImpactError);
-                if(m_FillHist){m_hb_diffPS->Fill( Signif3DP, m_w_1); }
-                if( Signif3DP > 2.*m_TrkSigCut && Signif3Dproj>m_Sel2VrtSigCut){  /* accept only tracks which are far from primary vertex */
-	           nGoodVertices++;  continue;    // Vertex is accepted as good.
-                } 
-             }
-	  }
+          if(xAODwrk)xAODwrk->tmpListTracks.resize(nth); else if(RECwork)RECwork->tmpListTracks.resize(nth);
+          for(i=0;i<nth;i++) {
+            if     (xAODwrk)xAODwrk->tmpListTracks[i]=xAODwrk->listJetTracks[curVrt.SelTrk[i]];
+	    else if(RECwork)RECwork->tmpListTracks[i]=RECwork->listJetTracks[curVrt.SelTrk[i]];
+          }
           (*WrkVrtSet)[iv].Good = false;                                     /* Make all vertices bad for futher selection */
           if(nth <= 1)                          continue;                    /* Definitely bad vertices */
           if((*WrkVrtSet)[iv].ProjectedVrt<0.)  continue;                    /* Remove vertices behind primary one */ 
-          if(xAODwrk)xAODwrk->tmpListTracks.clear(); else if(RECwork)RECwork->tmpListTracks.clear();
-          for(i=0;i<nth;i++) {
-	    j=(*WrkVrtSet)[iv].SelTrk[i];                           /*Track number*/
-            if     (xAODwrk)xAODwrk->tmpListTracks.push_back( xAODwrk->listJetTracks[j] );
-	    else if(RECwork)RECwork->tmpListTracks.push_back( RECwork->listJetTracks[j] );
-          }
           //VK   Refitting is not needed here - done previously. Option for safety
 	  //sc.setCode(0);
           //if     (xAODwrk)sc = RefitVertex( WrkVrtSet, iv, xAODwrk->listJetTracks);
           //else if(RECwork)sc = RefitVertex( WrkVrtSet, iv, RECwork->listJetTracks);
           //if( sc.isFailure() )                                   continue;           /* Bad fit - goto next solution */
           //---------------------------------------------------------------------------         
-          if( TMath::Prob( (*WrkVrtSet)[iv].Chi2, 2*nth-3)<0.001) continue;           /* Bad Chi2 of refitted vertex  */
-//----
-          //Dist3D=((*WrkVrtSet)[iv].vertex-PrimVrt.position()).mag();  /*Not needed currently*/
+          if( TMath::Prob( curVrt.Chi2, 2*nth-3)<0.001) continue;           /* Bad Chi2 of refitted vertex  */
 //----
+//        Dist3D=((*WrkVrtSet)[iv].vertex-PrimVrt.position()).mag();            /* Not needed currently*/
 //        if(PrmVrtAdded && iv==PrmVrtAdded && Dist3D<3.5) continue;  /* Skip added primary vertex */
-//----
-          bool isolVrt=true; // Check whether this vertex is linked with any 1tr vertex
-	  if(nth==2){
-             for(int jv=0; jv<(int)WrkVrtSet->size(); jv++)  if( (*WrkVrtSet)[jv].Good  && iv!=jv && (*WrkVrtSet)[jv].SelTrk.size()==1) {
-                for(i=0;i<nth;i++) if( (*WrkVrtSet)[iv].SelTrk[i] == (*WrkVrtSet)[jv].detachedTrack )isolVrt=false;
-                if(!isolVrt) break;
-             }
-          }
-//----
+//-----------------------------------------------------------------------------------------
           if(nth==2 && m_useVertexCleaning){
             if(RECwork){
-	       if(!Check2TrVertexInPixel(RECwork->tmpListTracks[0],RECwork->tmpListTracks[1],(*WrkVrtSet)[iv].vertex,Signif3Dproj))continue;
+	       if(!Check2TrVertexInPixel(RECwork->tmpListTracks[0],RECwork->tmpListTracks[1],curVrt.vertex,Signif3D))continue;
             }else if(xAODwrk){
-	       if(!Check2TrVertexInPixel(xAODwrk->tmpListTracks[0],xAODwrk->tmpListTracks[1],(*WrkVrtSet)[iv].vertex,Signif3Dproj))continue;
+	       if(!Check2TrVertexInPixel(xAODwrk->tmpListTracks[0],xAODwrk->tmpListTracks[1],curVrt.vertex,Signif3D))continue;
             }
 	  }
 //
 //---  Check interactions on pixel layers
 //
-          if(m_useMaterialRejection && nth==2 && isolVrt){
-	    double xvt=(*WrkVrtSet)[iv].vertex.x(); double yvt=(*WrkVrtSet)[iv].vertex.y();
-            float Dist2DBP=sqrt( (xvt-m_Xbeampipe)*(xvt-m_Xbeampipe) + (yvt-m_Ybeampipe)*(yvt-m_Ybeampipe) ); 
-            float Dist2DBL=sqrt( (xvt-m_XlayerB)*(xvt-m_XlayerB) + (yvt-m_YlayerB)*(yvt-m_YlayerB) ); 
-            float Dist2DL1=sqrt( (xvt-m_Xlayer1)*(xvt-m_Xlayer1) + (yvt-m_Ylayer1)*(yvt-m_Ylayer1) );
-            float Dist2DL2=sqrt( (xvt-m_Xlayer2)*(xvt-m_Xlayer2) + (yvt-m_Ylayer2)*(yvt-m_Ylayer2) );
-            if(m_existIBL){              // 4-layer pixel detector
-               if( fabs(Dist2DBP-m_Rbeampipe)< 1.0)  continue;           // Beam Pipe removal  
-               if( fabs(Dist2DBL-m_RlayerB)  < 2.5)  continue;
-               if( fabs(Dist2DL1-m_Rlayer1)  < 3.0)  continue;
-               if( fabs(Dist2DL2-m_Rlayer2)  < 3.0)  continue;
-            }else{                       // 3-layer pixel detector
-               if( fabs(Dist2DBP-m_Rbeampipe)< 1.5)  continue;           // Beam Pipe removal  
-               if( fabs(Dist2DBL-m_RlayerB)  < 3.5)  continue;
-               if( fabs(Dist2DL1-m_Rlayer1)  < 4.0)  continue;
-               if( fabs(Dist2DL2-m_Rlayer2)  < 5.0)  continue;
+          //if( curVrt.vertex.perp()>m_Rbeampipe-2. && curVrt.detachedTrack<0) {
+          if( curVrt.vertex.perp()>m_Rbeampipe-2.) {
+	    double minPt=1.e9;  for(int ti=0; ti<nth; ti++) minPt=TMath::Min(minPt,MomAtVrt(curVrt.TrkAtVrt[ti]).Pt());
+	    double ptLim=TMath::Max(m_hadronIntPtCut,m_JetPtFractionCut*JetDir.Perp());
+            if(m_FillHist){  
+	       m_hb_totmass2T0->Fill( curVrt.vertexMom.M()-nth*m_massPi, m_w_1);
+	       m_hb_r2d->Fill( curVrt.vertex.perp(), m_w_1);
             }
+            if(m_useMaterialRejection && minPt<ptLim){
+	      if( insideMatLayer(curVrt.vertex.x(),curVrt.vertex.y()) ) continue;
+            }
+	    //double dR=0; for(int mi=0;mi<nth-1;mi++)for(int mj=mi+1;mj<nth;mj++)
+	    //         dR=TMath::Max(dR,MomAtVrt(curVrt.TrkAtVrt[mi]).DeltaR(MomAtVrt(curVrt.TrkAtVrt[mj])));
+            //if(m_FillHist)m_hb_deltaRSVPV->Fill(dR,m_w_1);
+            //if( m_killHighPtIBLFakes && curVrt.vertex.perp()<m_Rlayer1 && dR<0.015)continue;
+	    if(Signif3D<20.) continue;
           }
+//
 //---  Check V0s and conversions
-          if(nth==2 && (*WrkVrtSet)[iv].vertexCharge==0 && isolVrt){
-             double mass_PiPi =  (*WrkVrtSet)[iv].vertexMom.M();  
-             double mass_PPi  =  massV0((*WrkVrtSet)[iv].TrkAtVrt,m_massP,m_massPi);
-             double mass_EE   =  massV0((*WrkVrtSet)[iv].TrkAtVrt,m_massE,m_massE);
-	     if(m_FillHist)m_hb_massPiPi1->Fill( mass_PiPi , m_w_1);       
-             if(m_FillHist)m_hb_totmassEE->Fill( mass_EE, m_w_1);
-	     if( fabs(mass_PiPi-m_massK0) < 22.)   continue;
- 	     if( fabs(mass_PPi-m_massLam) <  8.)   continue;
-             if( mass_EE < 40. && (*WrkVrtSet)[iv].vertex.perp() > 20.) continue;
+          if(nth==2 && curVrt.vertexCharge==0 && curVrt.detachedTrack<0){
+             double mass_PiPi =  curVrt.vertexMom.M();  
+             double mass_PPi  =  massV0(curVrt.TrkAtVrt,m_massP,m_massPi);
+             double mass_EE   =  massV0(curVrt.TrkAtVrt,m_massE,m_massE);
+             if(m_FillHist){ m_hb_massPiPi->Fill( mass_PiPi, m_w_1);
+                             m_hb_massPPi ->Fill( mass_PPi,  m_w_1); 
+                             if( curVrt.vertex.perp()>20.)m_hb_massEE  ->Fill( mass_EE,   m_w_1);  } 
+ 	     if( fabs(mass_PiPi-m_massK0) < 22.)     continue;
+ 	     if( fabs(mass_PPi-m_massLam) <  8.)     continue;
+             if( mass_EE < 60. && curVrt.vertex.perp() > 20.) continue;
           }          
 //---
-          if(m_FillHist){m_hb_sig3DTot->Fill( Signif3Dproj, m_w_1); }
-//---
-          if(Signif3Dproj<m_Sel2VrtSigCut)continue;      //Main PV-SV distance quality cut 
+	  if(m_FillHist){m_hb_sig3DTot->Fill( Signif3D, m_w_1); }
+          if(Signif3D<m_Sel2VrtSigCut)continue;      //Main PV-SV distance quality cut 
 //-----
 //        float Dist2D= (*WrkVrtSet)[iv].vertex.perp();
 //	  if(Dist2D<2.){
 //            double tmpProb=0.;
-//            if     (xAODwrk)tmpProb=FitVertexWithPV( WrkVrtSet, iv, PrimVrt, xAODwrk->listJetTracks);
+//            if       (xAODwrk)tmpProb=FitVertexWithPV( WrkVrtSet, iv, PrimVrt, xAODwrk->listJetTracks);
 //            else if(RECwork)tmpProb=FitVertexWithPV( WrkVrtSet, iv, PrimVrt, RECwork->listJetTracks);
 //            if(m_FillHist){m_hb_trkPtMax->Fill( tmpProb*1.e5, m_w_1); }
 //            if(tmpProb>0.01)continue; // Vertex can be associated with PV
 //	  }
 //---
-          (*WrkVrtSet)[iv].Good = true;  /* Vertex is absolutely good */
+          curVrt.Good = true;  /* Vertex is absolutely good */
           nGoodVertices++;
           if(nth>=2)n2trVrt++;
     }
 //
-// Cleaning - single vertex close to PV . Doesn't improve anything => commented out
-//    if( n2trVrt==1 && nGoodVertices==1 && (!m_MultiWithPrimary) ){
-//      for(int iv=0; iv<(int)WrkVrtSet->size(); iv++) {
-//        if( !(*WrkVrtSet)[iv].Good ) continue;
-//        if( ((*WrkVrtSet)[iv].vertex-PrimVrt.position()).perp()<3.){
-//          double tmpProb=0.;
-//          if     (xAODwrk)tmpProb=FitVertexWithPV( WrkVrtSet, iv, PrimVrt, xAODwrk->listJetTracks);
-//          else if(RECwork)tmpProb=FitVertexWithPV( WrkVrtSet, iv, PrimVrt, RECwork->listJetTracks);
-//          if(m_FillHist){m_hb_trkPtMax->Fill( tmpProb*1.e5, w_1); }
-//          if(tmpProb>0.01){  (*WrkVrtSet)[iv].Good =false; continue; }// Vertex can be associated with PV
-//    } } }
-//
-//--Experimental lifetime-based selection
-//    for(int iv=0; iv<(int)WrkVrtSet->size(); iv++) {
-//      if(!(*WrkVrtSet)[iv].Good)continue;
-//      double lifeTime=(*WrkVrtSet)[iv].ProjectedVrt*(*WrkVrtSet)[iv].vertexMom.M()/(*WrkVrtSet)[iv].vertexMom.E();
-//      if(m_FillHist){m_hb_lifetime->Fill( sqrt(lifeTime), m_w_1); }
-//      if(lifeTime>2.)(*WrkVrtSet)[iv].Good=false;  
-//    }
-//
-//--Cleaning -  1track vertices set
-    Clean1TrVertexSet(WrkVrtSet);
+//--Final cleaning of the 1-track vertices set. Must be behind all other cleanings.
+    if(m_MultiWithOneTrkVrt) Clean1TrVertexSet(WrkVrtSet);
+//------------ Debug
+//    std::vector<const xAOD::TrackParticle*> tempTrk(0);
+//    for(auto & iv : (*WrkVrtSet)){ if(iv.Good){for(auto & it : iv.SelTrk)tempTrk.push_back(xAODwrk->listJetTracks.at(it));}}
+//    RemoveDoubleEntries(tempTrk);
 //-------------------------------------------
-//checks
+//Checks
     std::vector<WrkVrt> GoodVertices(0);
     nGoodVertices=0;         // Final number of good vertices
-    n2trVrt=0;               // N vertices with 2 and more tracks
-    for(int iv=0; iv<(int)WrkVrtSet->size(); iv++) {
-       nth=(*WrkVrtSet)[iv].SelTrk.size(); if(nth == 0) continue;   /* Definitely bad vertices */
-       Amg::Vector3D tmpVec=(*WrkVrtSet)[iv].vertex-PrimVrt.position();
+    n2trVrt=0;                    // N vertices with 2 and more tracks
+    int nNtrVrt=0;               // N vertices with 3 and more tracks
+    for(auto & iv : (*WrkVrtSet) ) {
+       nth=iv.SelTrk.size(); if(nth == 0) continue;   /* Definitely bad vertices */
+       Amg::Vector3D tmpVec=iv.vertex-PrimVrt.position();
        TLorentzVector Momentum(tmpVec.x(),tmpVec.y(),tmpVec.z(),m_massPi);
-       if(Momentum.DeltaR(JetDir)>m_ConeForTag) (*WrkVrtSet)[iv].Good=false; /* Vertex outside jet cone */
-       if( (*WrkVrtSet)[iv].Good) {
+       //if(Momentum.DeltaR(JetDir)>m_ConeForTag) iv.Good=false; /* Vertex outside jet cone??? Very bad cut*/
+       if( iv.Good) {
 	  nGoodVertices++;                                    
-          WrkVrt tmpVrt((*WrkVrtSet)[iv]);
-	  GoodVertices.push_back(tmpVrt);    /* add it */
-	  if(nth>1)n2trVrt++;
+	  GoodVertices.emplace_back(iv);    /* add it */
+	  if(nth==2)n2trVrt++;
+	  if(nth>=3)nNtrVrt++;
        }
     }
-    if(nGoodVertices == 0 || n2trVrt==0){
-      delete WrkVrtSet;
-      delete TrkInVrt; if(weit)delete[] weit; if(Solution)delete[] Solution;
+    if(nGoodVertices == 0 || (n2trVrt+nNtrVrt)==0){  // No good vertices at all
+      delete WrkVrtSet;  delete TrkInVrt; if(weit)delete[] weit; if(Solution)delete[] Solution;
       return finalVertices;
     }
 //
@@ -609,126 +649,47 @@ namespace InDet{
 //----------------------------------------------------------------------------------
 //  Nonused tracks for one-track-vertex search
 //
-    if( m_MultiWithOneTrkVrt && (!m_MultiWithPrimary) && nGoodVertices<4){        // Addition of one-track vertices is allowed
-      double addVrtChi2Cut   =3.0;
-      double addDistRatioCut =0.25;
-      int tmpNTrk=0; if(xAODwrk)tmpNTrk=xAODwrk->listJetTracks.size(); else if(RECwork)tmpNTrk=RECwork->listJetTracks.size();
-      std::vector<long int> nonusedTracks;
-      std::vector<double> Impact,ImpactError;
-      for(int atr=0; atr<tmpNTrk; atr++){
-        int exist=0;
-        for(int iv=0; iv<(int)GoodVertices.size(); iv++) {
-          nth=GoodVertices[iv].SelTrk.size(); 
-          for(i=0;i<nth;i++) { if(atr==GoodVertices[iv].SelTrk[i]){exist=1; break;}}
-	  if(exist)break;
-        }
-        if(!exist){
-          int tmpNBLHits=0, tmpL1=0, tmpL2=0, tmpNLays=0;
-	  double Signif3DP=0.;
-	  if     (RECwork) getPixelLayers( RECwork->listJetTracks[atr], tmpNBLHits, tmpL1, tmpL2, tmpNLays);
-	  else if(xAODwrk) getPixelLayers( xAODwrk->listJetTracks[atr], tmpNBLHits, tmpL1, tmpL2, tmpNLays);
-          if(tmpNBLHits>0){       /* accept only tracks with b-layer hit */
-            if     (RECwork)Signif3DP = m_fitSvc->VKalGetImpact(RECwork->listJetTracks[atr], PrimVrt.position(), 1, Impact, ImpactError);
-            else if(xAODwrk)Signif3DP = m_fitSvc->VKalGetImpact(xAODwrk->listJetTracks[atr], PrimVrt.position(), 1, Impact, ImpactError);
-            if( Signif3DP > 2.*m_TrkSigCut ) nonusedTracks.push_back(atr);
-          }
-        }
-      }       
-      std::vector<WrkVrt> AddedVertices;
-      std::vector<WrkVrt> AddedVerticesClean;
-      if(nonusedTracks.size()>0 ){
-        std::vector<double> VKPerigee,CovPerigee; std::vector<double> ErrorMatrix(21,0.);
-        ErrorMatrix[0]=ErrorMatrix[2]=ErrorMatrix[5]=1.e-2;
-        for(int iv=0; iv<(int)GoodVertices.size(); iv++) {
-          if(GoodVertices[iv].SelTrk.size()<2) continue; 
-          VrtVrtDist(PrimVrt, GoodVertices[iv].vertex, newvrt.vertexCov, Signif3D);
-          if(Signif3D<10.) continue;   //Too close to primary vertex. Direction not robust
-          Amg::Vector3D tmpVec=GoodVertices[iv].vertex-PrimVrt.position(); tmpVec.normalize();
-	  ErrorMatrix[ 9]=1.e9*tmpVec.x()*tmpVec.x();
-	  ErrorMatrix[14]=1.e9*tmpVec.y()*tmpVec.y();
-	  ErrorMatrix[20]=1.e9*tmpVec.z()*tmpVec.z();
-	  Amg::setMag(tmpVec,1.e5); TLorentzVector Momentum(tmpVec.x(),tmpVec.y(),tmpVec.z(),m_massPi);
-          //std::copy(GoodVertices[iv].vertexCov.begin(),GoodVertices[iv].vertexCov.begin()+6,ErrorMatrix.begin());
-          //sc=m_fitSvc->VKalVrtCvtTool(GoodVertices[iv].vertex,Momentum,ErrorMatrix,0,VKPerigee,CovPerigee);
-          sc=m_fitSvc->VKalVrtCvtTool(PrimVrt.position(),Momentum,ErrorMatrix,0,VKPerigee,CovPerigee);
-          if(sc.isSuccess()) {
-            double distRef=(GoodVertices[iv].vertex-PrimVrt.position()).perp(); //Distance of already found vertex
-            double maxDistRatio=-999.;                            //For selection of the best candidate for given existing vertex
-            WrkVrt newvrt; newvrt.Good=true;
-            Trk::Track* TT(0); 
-            Rec::TrackParticle* TP(0);
-            xAOD::TrackParticle * xaodTP(0);
-            if( RECwork ) {
-              if ( !m_trkPartCreator ){ 
-                 if ( m_trkPartCreator.retrieve().isFailure() )
-                    {if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG)<< "Failed to retrieve TrackParticleCreator tool" << endmsg;}
-                 else {if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "Retrieved Trk::TrackParticleCreator tool" << m_trkPartCreator << endmsg;}
-              }
-	      if( m_trkPartCreator ){
-                TT = m_fitSvc->CreateTrkTrack(VKPerigee,CovPerigee); 
-                TP=m_trkPartCreator->createParticle(TT);
-                RECwork->tmpListTracks.clear(); RECwork->tmpListTracks.push_back(TP);
-	      }
-            } else if(xAODwrk){
-              xaodTP=new xAOD::TrackParticle();
-              xaodTP->makePrivateStore();
-	      xaodTP->setDefiningParameters(VKPerigee[0],VKPerigee[1],VKPerigee[2],VKPerigee[3],VKPerigee[4]);
-	      std::vector<float> floatCovPerigee(15,0); for(i=0; i<15; i++)floatCovPerigee[i]=(float)CovPerigee[i];
-	      xaodTP->setDefiningParametersCovMatrixVec(floatCovPerigee);
-              xaodTP->setParametersOrigin(0.,0.,0.);
-              //xaodTP->setRadiusOfFirstHit(25.);
-              xAODwrk->tmpListTracks.clear(); xAODwrk->tmpListTracks.push_back(xaodTP);
-	    }
-            //
-	    // - cycle over nonused tracks 
-	    for(int add=0; add<(int)nonusedTracks.size(); add++){
-	      sc.setCode(0);
-	      if(RECwork){
-	        RECwork->tmpListTracks.push_back(RECwork->listJetTracks[nonusedTracks[add]]);
-                sc=VKalVrtFitBase(RECwork->tmpListTracks, newvrt.vertex,    newvrt.vertexMom,  newvrt.vertexCharge,
-		                                  newvrt.vertexCov, newvrt.Chi2PerTrk, newvrt.TrkAtVrt, newvrt.Chi2);   
-              }else if(xAODwrk){
-	        xAODwrk->tmpListTracks.push_back(xAODwrk->listJetTracks[nonusedTracks[add]]);
-                sc=VKalVrtFitBase(xAODwrk->tmpListTracks, newvrt.vertex,    newvrt.vertexMom,  newvrt.vertexCharge,
-		                                  newvrt.vertexCov, newvrt.Chi2PerTrk, newvrt.TrkAtVrt, newvrt.Chi2);   
-              }	      
-              if( sc.isSuccess() ) {
-                if(tmpVec.dot(newvrt.vertex-PrimVrt.position())<0.) continue;
-	        double distRatio=(newvrt.vertex-PrimVrt.position()).perp()/distRef;
-                if( distRatio < 0.05) continue;                                              // Too close to primary vertex (Preliminary!!!) 
-                if(m_FillHist){ m_hb_tr2SelVar->Fill( newvrt.Chi2 , 1.); }
-                if(newvrt.Chi2>addVrtChi2Cut) continue;
-                if(m_FillHist)m_hb_addRatioMV->Fill( distRatio,1.);
-                if( distRatio < addDistRatioCut) continue;                                 // Too close to primary vertex
-                newvrt.Good=true;  newvrt.vertexCharge +=1.;                               //Compensate charge of pseudotrack
-                newvrt.SelTrk.clear(); newvrt.SelTrk.push_back(nonusedTracks[add]);        //Add the only nonused track
-                newvrt.vertexMom=MomAtVrt(newvrt.TrkAtVrt[1]);                             //Redefine VertexMom using SINGLE REAL track
-                if(distRatio > maxDistRatio){ if(maxDistRatio!=-999.)AddedVertices.pop_back(); AddedVertices.push_back(newvrt); maxDistRatio=distRatio;}
-	      } 
-	      if(RECwork)RECwork->tmpListTracks.pop_back(); else if(xAODwrk)xAODwrk->tmpListTracks.pop_back();
-	    }
-            if(maxDistRatio>0. && m_FillHist) m_hb_addChi2MV->Fill(AddedVertices[AddedVertices.size()-1].Chi2,1.);
-            if     (RECwork){ RECwork->tmpListTracks.clear(); delete TT; delete TP; }
-	    else if(xAODwrk){ xAODwrk->tmpListTracks.clear(); delete xaodTP; }
-          }
-        }
-	//---------Clean added vertices
-	for(int add=0; add<(int)nonusedTracks.size(); add++){
-          int iBestVrt=-1;
-          double addChi2Min=999999.;                            //For selection of the best candidate for given track
-          for(int iv=0; iv<(int)AddedVertices.size(); iv++){
-	    if(AddedVertices[iv].SelTrk[0]==nonusedTracks[add]){    //Vertex created by given track
-               if(AddedVertices[iv].Chi2<addChi2Min){ iBestVrt=iv; addChi2Min=AddedVertices[iv].Chi2;}
-	    }
-	  }
-	  if(addChi2Min<999999.)AddedVerticesClean.push_back(AddedVertices.at(iBestVrt));
-        }
-        if(m_FillHist)m_hb_addNVrtMV->Fill((float)AddedVerticesClean.size(),1.);
-        if(AddedVertices.size()) for(int iv=0; iv<(int)AddedVerticesClean.size(); iv++) GoodVertices.push_back(AddedVerticesClean[iv]);
+// VK - It tries to recover tracks which were already rejected on previous stages of algorithm.
+//      Gain is negligible. The code is commented out to the end of this file for future... 
+// VK - 27.04.2017 - new try
+    std::vector<int> nonusedTrk(0);
+    for(int trk=0; trk<NTracks; trk++){    bool present=false;
+      for(auto iv : (*WrkVrtSet)){ 
+          if(iv.Good){for(auto t_in_V : iv.SelTrk){if(trk==t_in_V){present=true; break;}}};
+	  if(present)break;
+      }        if(!present)nonusedTrk.push_back(trk);
+    }
+    struct MatchedSV { int indVrt; double Signif3D;}; std::vector<MatchedSV> matchSV(0);
+    double Signif=0.; std::vector<double> Impact,ImpactError;
+    for(int it=0; it<(int)nonusedTrk.size(); it++){
+      MatchedSV tmpV; tmpV.Signif3D=1.e9;
+      for(int iv=0; iv<(int)GoodVertices.size(); iv++){
+        if(GoodVertices[iv].SelTrk.size()<2) continue;
+        if     (RECwork)Signif = m_fitSvc->VKalGetImpact(RECwork->listJetTracks[nonusedTrk[it]], GoodVertices[iv].vertex, 1, Impact, ImpactError);
+        else if(xAODwrk)Signif = m_fitSvc->VKalGetImpact(xAODwrk->listJetTracks[nonusedTrk[it]], GoodVertices[iv].vertex, 1, Impact, ImpactError);
+        if(Signif<tmpV.Signif3D){tmpV.Signif3D=Signif; tmpV.indVrt=iv;}
       }
-    }   //--------------- End of one-track-vertex addition
+      matchSV.push_back(tmpV);
+    }
+    for(int iv=0; iv<(int)GoodVertices.size(); iv++){
+      WrkVrt newV(GoodVertices[iv]); 
+      bool addedT=false;   std::map<double,int> addTrk;
+      for(int it=0; it<(int)nonusedTrk.size(); it++){ if(matchSV[it].indVrt==iv){addTrk[matchSV[it].Signif3D]=it;} }
+      std::map<double,int>::iterator atrk=addTrk.begin();
+      if(addTrk.size()>0){       if(atrk->first<4.){newV.SelTrk.push_back(nonusedTrk[atrk->second]);addedT=true;}}
+      if(addTrk.size()>1){atrk++;if(atrk->first<4.){newV.SelTrk.push_back(nonusedTrk[atrk->second]);}}
+      if(addedT){ if     (xAODwrk)vProb = RefitVertex( newV, xAODwrk->listJetTracks);
+                  else if(RECwork)vProb = RefitVertex( newV, RECwork->listJetTracks); 
+                  if(vProb>0.01)GoodVertices[iv]=newV;
+                  else{ std::vector<WrkVrt> TestVertices(1,newV);
+                        if     (xAODwrk)vProb=improveVertexChi2( &TestVertices, 0, xAODwrk->listJetTracks);
+                        else if(RECwork)vProb=improveVertexChi2( &TestVertices, 0, RECwork->listJetTracks);
+	                if(vProb>0.01)GoodVertices[iv]=TestVertices[0];
+		  }
+      } 
+    }
 //
-//    printWrkSet(&GoodVertices,"FinalVrtSet");
+    //printWrkSet(&GoodVertices,"FinalVrtSet");
 //-------------------------------------------
 // Saving and final cleaning
 //
@@ -746,12 +707,16 @@ namespace InDet{
              if(trackPt>trackPtMax)trackPtMax=trackPt;
           }
           if( m_FillHist ){
-            m_hb_r2dc->Fill( GoodVertices[iv].vertex.perp(), m_w_1);
+            if(nth==1)m_hb_r1dc->Fill( GoodVertices[iv].vertex.perp(), m_w_1);
+            if(nth==2)m_hb_r2dc->Fill( GoodVertices[iv].vertex.perp(), m_w_1);
+            if(nth==3)m_hb_r3dc->Fill( GoodVertices[iv].vertex.perp(), m_w_1);
+            if(nth> 3)m_hb_rNdc->Fill( GoodVertices[iv].vertex.perp(), m_w_1);
             Signif3D=VrtVrtDist(PrimVrt, GoodVertices[iv].vertex, GoodVertices[iv].vertexCov, JetDir);
             if( nth==2 ){
-	      if(GoodVertices[iv].vertexCharge==0){m_hb_totmass2T1->Fill( GoodVertices[iv].vertexMom.M(), m_w_1);}
-	      else                                {m_hb_totmass2T2->Fill( GoodVertices[iv].vertexMom.M(), m_w_1);}
-	      m_hb_sig3D2tr->Fill( Signif3D , m_w_1);
+              if(GoodVertices[iv].vertexCharge==0){ m_hb_totmass2T1->Fill( GoodVertices[iv].vertexMom.M(), m_w_1);}
+              else                                { m_hb_totmass2T2->Fill( GoodVertices[iv].vertexMom.M(), m_w_1);}
+              m_hb_sig3D2tr->Fill( Signif3D , m_w_1);
+              if(GoodVertices[iv].vertexCharge==0)m_hb_totmassEE->Fill(massV0(GoodVertices[iv].TrkAtVrt,m_massE,m_massE),m_w_1);
             } else if( nth==1){
               m_hb_sig3D1tr->Fill( Signif3D, m_w_1);
             } else {
@@ -792,7 +757,23 @@ namespace InDet{
           if( iv==0 && m_MultiWithPrimary ) continue;  //skip primary vertex if present
           VertexMom += GoodVertices[iv].vertexMom;
     }
+//===================Fake vertex with list of all tracks for optimisation
+//    xAOD::Vertex * tmpVertex=new xAOD::Vertex();   tmpVertex->makePrivateStore();
+//    tmpVertex->setPosition(Amg::Vector3D(0.,0.,0.));
+//    std::vector<Trk::VxTrackAtVertex> & tmpVTAV=tmpVertex->vxTrackAtVertex();    tmpVTAV.clear();
+//    for(auto ii : tempTrk) { tmpVTAV.push_back( Trk::VxTrackAtVertex(1, new Trk::Perigee( ii->perigeeParameters()) ) );
+//        ElementLink<xAOD::TrackParticleContainer> TEL;  TEL.setElement( ii );
+//         const xAOD::TrackParticleContainer* cont = (const xAOD::TrackParticleContainer* ) (ii->container() );
+//	TEL.setStorableObject(*cont);     tmpVertex->addTrackAtVertex(TEL,1.);
+//    }       finalVertices.push_back(tmpVertex);
+//==============================================
+
     if(m_FillHist){m_hb_goodvrtN->Fill( (double)nGoodVertices, m_w_1); }
+    if(nGoodVertices == 0){
+      delete WrkVrtSet;
+      delete TrkInVrt; if(weit)delete[] weit; if(Solution)delete[] Solution;
+      return finalVertices;
+    }
 
 //-----------------------------------------------------------------------------------
 //  Saving of results
@@ -892,13 +873,13 @@ namespace InDet{
            newvrt.nCloseVrt    = 0;
            newvrt.dCloseVrt    = 1000000.;
            if((int)WrkVrtSet->size()==NVrtCur) { WrkVrtSet->push_back(newvrt); continue;}  // just the first added vertex
-           if( (*WrkVrtSet)[NVrtCur].Chi2<newvrt.Chi2 ) continue;  // previous vertex was better
-           WrkVrtSet->erase(WrkVrtSet->begin()+NVrtCur);
+           if( (*WrkVrtSet).at(NVrtCur).Chi2<newvrt.Chi2 ) continue;  // previously added 2tr vertex was better
+           WrkVrtSet->pop_back();
            WrkVrtSet->push_back(newvrt);
       }
       (*WrkVrtSet)[iv].SelTrk.erase( (*WrkVrtSet)[iv].SelTrk.begin() + SelT ); //remove track
       sc = RefitVertex( WrkVrtSet, iv, AllTracks);
-      if( sc.isFailure() )  std::cout<<" Wrong vertex"<<'\n';
+      if( sc.isFailure() ) {(*WrkVrtSet)[iv].Good=false; /*std::cout<<" Wrong vertex"<<'\n';*/}
    }
 
 
@@ -916,14 +897,13 @@ namespace InDet{
        for(int mtv=0; mtv<(int)WrkVrtSet->size(); mtv++) {                        //cycle over good vertices with many tracks
          if( (*WrkVrtSet)[mtv].SelTrk.size()<2) continue;
 	 if(!(*WrkVrtSet)[mtv].Good)            continue;   
-         if( std::find((*WrkVrtSet)[mtv].SelTrk.begin(),(*WrkVrtSet)[mtv].SelTrk.end(), Trk1) != (*WrkVrtSet)[mtv].SelTrk.end()){//Linked vertex found
-           double m2Vrt=((*WrkVrtSet)[mtv].vertexMom+(*WrkVrtSet)[i1tv].vertexMom).M();
-           if(m2Vrt>6000.){ (*WrkVrtSet)[i1tv].Good=false;  break; } //1Tr + manyTr system is too heavy
-	   foundInGoodVrt++; countVT[mtv]++; linkedVrt[i1tv]=mtv;
-           break;  // Linked vertex is already found, so stop sycling
+         if( std::find((*WrkVrtSet)[mtv].SelTrk.begin(),(*WrkVrtSet)[mtv].SelTrk.end(), Trk1) != (*WrkVrtSet)[mtv].SelTrk.end()){
+           //double m2Vrt=((*WrkVrtSet)[mtv].vertexMom+(*WrkVrtSet)[i1tv].vertexMom).M(); //VK Commented.  M cut in other places
+           //if(m2Vrt>VrtBCMassLimit){ (*WrkVrtSet)[i1tv].Good=false;  break; } //1Tr + manyTr system is too heavy
+	   foundInGoodVrt++; countVT[mtv]++; linkedVrt[i1tv]=mtv;  //Linked vertex found
          }
        }
-       if(!foundInGoodVrt)(*WrkVrtSet)[i1tv].Good=false;
+       if(!foundInGoodVrt)(*WrkVrtSet)[i1tv].Good=false;             // Make the vertex bad
      }
 //
 //---Select SINGLE 1tr-vertex from many pointing to one multi-track vertex
@@ -946,10 +926,8 @@ namespace InDet{
 //
 //---  Final Chi2 (last 2track vertex with the given track)
      for(int i1tv=0; i1tv<(int)WrkVrtSet->size(); i1tv++) {
-        if( (*WrkVrtSet)[i1tv].SelTrk.size()!=1 ) continue;
-	if( (*WrkVrtSet)[i1tv].Chi2>10.){
-	  (*WrkVrtSet)[i1tv].Good=false;
-        }
+        if( (*WrkVrtSet)[i1tv].SelTrk.size()!=1 || !(*WrkVrtSet)[i1tv].Good )                continue;   
+	if( (*WrkVrtSet)[i1tv].Chi2>8.)	  (*WrkVrtSet)[i1tv].Good=false;
      }
    }
    
@@ -978,7 +956,7 @@ namespace InDet{
    {
       long int NTrack=TrkInVrt->size(); int it, jv, itmp, NVrt, VertexNumber;
  
-      double MaxOf=-999999999; double Chi2Red;
+      double MaxOf=-999999999; double Chi2Red; double SelectedProb=-1.;
 //
       long int NShMax=0;
       for( it=0; it<NTrack; it++) {
@@ -999,16 +977,17 @@ namespace InDet{
 	       if( (*WrkVrtSet)[VertexNumber].SelTrk[itmp] == it ) {         /* Track found*/        
                 //Chi2Red=(*WrkVrtSet)[VertexNumber].Chi2PerTrk.at(itmp)/m_chiScale[(NTrkInVrt<10?NTrkInVrt:10)]; //   Reduced Chi2
 	        //if(NTrkInVrt==2){ Chi2Red += 30./((*WrkVrtSet)[VertexNumber].vertex.perp()+5.);}       //VK Reduce vrt multiplicity. May decrease fake rate
-	        //Chi2Red=(*WrkVrtSet)[VertexNumber].Chi2PerTrk.at(itmp);            //   Normal Chi2 seems the best
-	          Chi2Red=(*WrkVrtSet)[VertexNumber].Chi2PerTrk.at(itmp)+(*WrkVrtSet)[VertexNumber].Chi2/NTrkInVrt;//Improved normal
+	          Chi2Red=(*WrkVrtSet)[VertexNumber].Chi2PerTrk.at(itmp);            //   Normal Chi2 seems the best
                   if(NTrkInVrt==2){
-		  //Chi2Red=(*WrkVrtSet)[VertexNumber].Chi2/2.;                     //VK 2track vertices with Normal Chi2Red
-	            if((*WrkVrtSet)[VertexNumber].vertexMom.M()>6000.)Chi2Red=100.; //VK break immediately very heavy 2tr vertices
+		    Chi2Red=(*WrkVrtSet)[VertexNumber].Chi2/2.;                     //VK 2track vertices with Normal Chi2Red
+	            if((*WrkVrtSet)[VertexNumber].vertexMom.M()>VrtBCMassLimit)Chi2Red=100.; //VK break immediately very heavy 2tr vertices
                   }
+                  double prob_vrt = TMath::Prob( (*WrkVrtSet)[VertexNumber].Chi2, 2*(*WrkVrtSet)[VertexNumber].SelTrk.size()-3);
                   if( MaxOf < Chi2Red ){
+		      if(MaxOf>0 && prob_vrt>0.01 && SelectedProb<0.01 ) continue; // Don't disassemble good vertices is a bad one is present
 		      MaxOf = Chi2Red;
-		      SelectedTrack=it;
-		      SelectedVertex=VertexNumber;
+		      SelectedTrack=it; SelectedVertex=VertexNumber;
+                      SelectedProb = prob_vrt;
 		  }
                }
             }
@@ -1019,11 +998,20 @@ namespace InDet{
           int v1=(*TrkInVrt)[SelectedTrack][0]; int v2=(*TrkInVrt)[SelectedTrack][1];
           if( (*WrkVrtSet)[v1].SelTrk.size()==2 && (*WrkVrtSet)[v2].SelTrk.size()==2){
             if( (*WrkVrtSet)[SelectedVertex].Chi2 < TMath::ChisquareQuantile(0.9, 1) ){    // Probability > 10%!!!
-              double vr1=(*WrkVrtSet)[v1].vertex.perp(); double vr2=(*WrkVrtSet)[v2].vertex.perp();
-              if     (SelectedVertex==v1 && vr2<vr1/2.) SelectedVertex=v2;  // Swap to remove the closest vertex
-              else if(SelectedVertex==v2 && vr1<vr2/2.) SelectedVertex=v1;  // Swap to remove the closest vertex
+              //double vr1=(*WrkVrtSet)[v1].vertex.perp(); double vr2=(*WrkVrtSet)[v2].vertex.perp();
+              double M1=(*WrkVrtSet)[v1].vertexMom.M();  double M2=(*WrkVrtSet)[v2].vertexMom.M();
+              if     (SelectedVertex==v1 && M2<M1)  SelectedVertex=v2;  // Swap to remove the lightest vertex
+              else if(SelectedVertex==v2 && M1<M2)  SelectedVertex=v1;  // Swap to remove the lightest vertex
+              if( M1>VrtBCMassLimit && M2<VrtBCMassLimit ) SelectedVertex=v1;
+              if( M1<VrtBCMassLimit && M2>VrtBCMassLimit ) SelectedVertex=v2;
             }
 	  }
+          if( (*WrkVrtSet)[v1].SelTrk.size()+(*WrkVrtSet)[v2].SelTrk.size() > 4){
+            if(TMath::Prob( (*WrkVrtSet)[v1].Chi2, 2*(*WrkVrtSet)[v1].SelTrk.size()-3)>0.05 && 
+               TMath::Prob( (*WrkVrtSet)[v2].Chi2, 2*(*WrkVrtSet)[v2].SelTrk.size()-3)>0.05){
+	       if( (*WrkVrtSet)[v1].SelTrk.size()==2 ) SelectedVertex=v1;
+	       if( (*WrkVrtSet)[v2].SelTrk.size()==2 ) SelectedVertex=v2;
+          } }	
       }
 //
       return MaxOf;
@@ -1062,6 +1050,7 @@ namespace InDet{
 	       (*TrkInVrt)[LeftTrack].erase(it); break;
 	      }     
 	   }   
+	   if( (*WrkVrtSet)[SelectedVertex].vertexMom.M()>VrtBCMassLimit)(*WrkVrtSet)[SelectedVertex].Good=false; // Vertex is too heavy
            int ipos=0; if(posInVrtFit==0)ipos=1;  // Position of remaining track in previous 2track vertex fit
 	   (*WrkVrtSet)[SelectedVertex].vertexMom=MomAtVrt((*WrkVrtSet)[SelectedVertex].TrkAtVrt[ipos]); //Redefine vertexMom using remaining track
 	   if((*TrkInVrt)[LeftTrack].size()>0)(*WrkVrtSet)[SelectedVertex].Good=false;    //Vertex is declared false only if remaining track 
@@ -1153,9 +1142,16 @@ namespace InDet{
                                                          std::vector<const Particle*> & AllTrackList)
    const
    {
-      if(!(*WrkVrtSet).at(V1).Good)return 0.;         //bad vertex
-      if(!(*WrkVrtSet).at(V2).Good)return 0.;         //bad vertex
-
+      if(!(*WrkVrtSet).at(V1).Good)return -1.;         //bad vertex
+      if(!(*WrkVrtSet).at(V2).Good)return -1.;         //bad vertex
+      double RMin=TMath::Min((*WrkVrtSet)[V1].vertex.perp(),(*WrkVrtSet)[V2].vertex.perp());
+      double RMax=TMath::Max((*WrkVrtSet)[V1].vertex.perp(),(*WrkVrtSet)[V2].vertex.perp());
+      if(RMax-RMin>m_SVResolutionR){
+        if(RMin<m_RlayerB && m_RlayerB<RMax) return -1.;
+        if(RMin<m_Rlayer1 && m_Rlayer1<RMax) return -1.;
+        if(RMin<m_Rlayer2 && m_Rlayer2<RMax) return -1.;
+      }
+      
       newvrt.Good=true;
       int NTrk_V1=(*WrkVrtSet)[V1].SelTrk.size();
       int NTrk_V2=(*WrkVrtSet)[V2].SelTrk.size();
@@ -1181,8 +1177,8 @@ namespace InDet{
 		                       newvrt.Chi2PerTrk, 
 			               newvrt.TrkAtVrt,
 			               newvrt.Chi2);   
-      if( sc.isFailure() )             return 0.;  
-      if( newvrt.Chi2>500. )           return 0.;  //VK protection
+      if( sc.isFailure() )             return -1.;  
+      if( newvrt.Chi2>500. )           return -1.;  //VK protection
       if( newvrt.Chi2PerTrk.size()==2) newvrt.Chi2PerTrk[0]=newvrt.Chi2PerTrk[1]=newvrt.Chi2/2.;
       return TMath::Prob( newvrt.Chi2, 2*newvrt.SelTrk.size()-3);
    }
@@ -1255,6 +1251,33 @@ namespace InDet{
       return SC;
    }
 
+   template <class Particle>
+   double InDetVKalVxInJetTool::RefitVertex(WrkVrt &Vrt, std::vector<const Particle*> & SelectedTracks)
+   const
+   {
+      int i,j;
+      int nth = Vrt.SelTrk.size();
+ 
+      if(nth<2) return -1.;
+ 
+      std::vector<const Particle*>  ListTracks(0);
+      for(i=0;i<nth;i++) {
+	  j=Vrt.SelTrk[i];                           /*Track number*/
+          ListTracks.push_back( SelectedTracks[j] );
+      }
+      Vrt.Good = false;
+      Vrt.Chi2PerTrk.resize(nth);
+      for(i=0;i<nth;i++)Vrt.Chi2PerTrk[i]=100000.+i; //VK safety
+
+      m_fitSvc->setApproximateVertex(Vrt.vertex[0],Vrt.vertex[1],Vrt.vertex[2]);
+      StatusCode SC=VKalVrtFitBase(ListTracks,Vrt.vertex,Vrt.vertexMom,Vrt.vertexCharge,
+		                Vrt.vertexCov,Vrt.Chi2PerTrk, Vrt.TrkAtVrt,Vrt.Chi2); 
+      if(SC.isSuccess())Vrt.Good = true;
+      else {Vrt.Good = false; return -1.;}
+      if(Vrt.Chi2PerTrk.size()==2) Vrt.Chi2PerTrk[0]=Vrt.Chi2PerTrk[1]=Vrt.Chi2/2.;
+      return TMath::Prob( Vrt.Chi2, 2*nth-1);
+   }
+
    template <class Particle>
    double InDetVKalVxInJetTool::FitVertexWithPV( std::vector<WrkVrt> *WrkVrtSet, int SelectedVertex, const xAOD::Vertex & PV,
                                                           std::vector<const Particle*> & SelectedTracks)
@@ -1307,5 +1330,115 @@ namespace InDet{
       return ( vv.x()*JetDir.X()+vv.y()*JetDir.Y()+vv.z()*JetDir.Z() )/ JetDir.P();
    }
 
-
 } //end namespace
+
+
+//For possble future use 
+/*    if( m_MultiWithOneTrkVrt && (!m_MultiWithPrimary) && nGoodVertices<5){        // Addition of one-track vertices is allowed
+      double addVrtChi2Cut   =5.0;
+      double addSig3DCut     =5.0;
+      int tmpNTrk=0; if(xAODwrk)tmpNTrk=xAODwrk->listJetTracks.size(); else if(RECwork)tmpNTrk=RECwork->listJetTracks.size();
+      std::vector<long int> nonusedTracks;
+      std::vector<double> Impact,ImpactError;
+      for(int atr=0; atr<tmpNTrk; atr++){
+        int exist=0;
+        for(int iv=0; iv<(int)GoodVertices.size(); iv++) {
+          nth=GoodVertices[iv].SelTrk.size(); 
+          for(i=0;i<nth;i++) { if(atr==GoodVertices[iv].SelTrk[i]){exist=1; break;}}
+	  if(exist)break;
+        }
+        if(!exist){
+          int tmpNBLHits=0, tmpL1=0, tmpL2=0, tmpNLays=0;
+	  double Signif3DP=0.;
+	  if       (RECwork) getPixelLayers( RECwork->listJetTracks[atr], tmpNBLHits, tmpL1, tmpL2, tmpNLays);
+	  else if(xAODwrk) getPixelLayers( xAODwrk->listJetTracks[atr], tmpNBLHits, tmpL1, tmpL2, tmpNLays);
+          if(tmpNBLHits>0){       // accept only tracks with b-layer hit
+            if       (RECwork)Signif3DP = m_fitSvc->VKalGetImpact(RECwork->listJetTracks[atr], PrimVrt.position(), 1, Impact, ImpactError);
+            else if(xAODwrk)Signif3DP = m_fitSvc->VKalGetImpact(xAODwrk->listJetTracks[atr], PrimVrt.position(), 1, Impact, ImpactError);
+            if( Signif3DP > m_TrkSigCut ) nonusedTracks.push_back(atr);
+          }
+        }
+      }       
+      std::vector<WrkVrt> AddedVertices;
+      std::vector<WrkVrt> AddedVerticesClean;
+      if(nonusedTracks.size()>0 ){
+        std::vector<double> VKPerigee,CovPerigee; std::vector<double> ErrorMatrix(21,0.);
+        ErrorMatrix[0]=ErrorMatrix[2]=ErrorMatrix[5]=1.e-2;
+        for(auto & iv : GoodVertices) {
+          if(iv.SelTrk.size()<2) continue; 
+          VrtVrtDist(PrimVrt, iv.vertex, iv.vertexCov, Signif3D);
+          if(Signif3D<10.) continue;      //------------------Too close to primary vertex. Direction not robust
+          Amg::Vector3D tmpVec=iv.vertex-PrimVrt.position(); tmpVec.normalize();
+	  ErrorMatrix[ 9]=1.e9*tmpVec.x()*tmpVec.x();
+	  ErrorMatrix[14]=1.e9*tmpVec.y()*tmpVec.y();
+	  ErrorMatrix[20]=1.e9*tmpVec.z()*tmpVec.z();
+	  Amg::setMag(tmpVec,1.e5); TLorentzVector Momentum(tmpVec.x(),tmpVec.y(),tmpVec.z(),m_massPi);
+          //std::copy(iv.vertexCov.begin(),iv.vertexCov.begin()+6,ErrorMatrix.begin());
+          //sc=m_fitSvc->VKalVrtCvtTool(iv.vertex,Momentum,ErrorMatrix,0,VKPerigee,CovPerigee);
+          sc=m_fitSvc->VKalVrtCvtTool(PrimVrt.position(),Momentum,ErrorMatrix,0,VKPerigee,CovPerigee);
+          if(sc.isSuccess()) {
+            double distRef=(iv.vertex-PrimVrt.position()).perp(); //Distance of already found vertex
+            double maxDistRatio=-999.;                            //For selection of the best candidate for given existing vertex
+            WrkVrt newvrt; newvrt.Good=true;
+            Trk::Track* TT(0);          Rec::TrackParticle* TP(0);     xAOD::TrackParticle * xaodTP(0);
+            if( RECwork ) {
+	      if( m_trkPartCreator ){
+                TT = m_fitSvc->CreateTrkTrack(VKPerigee,CovPerigee); 
+                TP=m_trkPartCreator->createParticle(TT);
+                RECwork->tmpListTracks.clear(); RECwork->tmpListTracks.push_back(TP);
+	      }
+            } else if(xAODwrk){
+              xaodTP=new xAOD::TrackParticle();   xaodTP->makePrivateStore();
+	      xaodTP->setDefiningParameters(VKPerigee[0],VKPerigee[1],VKPerigee[2],VKPerigee[3],VKPerigee[4]);
+	      std::vector<float> floatCovPerigee(15,0); for(i=0; i<15; i++)floatCovPerigee[i]=(float)CovPerigee[i];
+	      xaodTP->setDefiningParametersCovMatrixVec(floatCovPerigee);
+              xaodTP->setParametersOrigin(0.,0.,0.);
+              //xaodTP->setRadiusOfFirstHit(25.);
+              xAODwrk->tmpListTracks.clear(); xAODwrk->tmpListTracks.push_back(xaodTP);
+	    }
+            //
+	    // - cycle over nonused tracks 
+	    for(int add=0; add<(int)nonusedTracks.size(); add++){
+	      if(RECwork){
+	        RECwork->tmpListTracks.resize(2);    //--VK tmpListTracks[0] always contains the PV-SV track
+	        RECwork->tmpListTracks[1]=RECwork->listJetTracks[nonusedTracks[add]];
+                sc=VKalVrtFitBase(RECwork->tmpListTracks, newvrt.vertex,    newvrt.vertexMom,  newvrt.vertexCharge,
+		                                  newvrt.vertexCov, newvrt.Chi2PerTrk, newvrt.TrkAtVrt, newvrt.Chi2);   
+              }else if(xAODwrk){
+	        xAODwrk->tmpListTracks.resize(2);    //--VK tmpListTracks[0] always contains the PV-SV track
+	        xAODwrk->tmpListTracks[1]=xAODwrk->listJetTracks[nonusedTracks[add]];
+                sc=VKalVrtFitBase(xAODwrk->tmpListTracks, newvrt.vertex,    newvrt.vertexMom,  newvrt.vertexCharge,
+		                                  newvrt.vertexCov, newvrt.Chi2PerTrk, newvrt.TrkAtVrt, newvrt.Chi2);   
+              }	      
+              if( sc.isSuccess() ) {
+                if(tmpVec.dot(newvrt.vertex-PrimVrt.position())<0.) continue;
+                if(newvrt.Chi2>addVrtChi2Cut) continue;
+	        double distRatio=(newvrt.vertex-PrimVrt.position()).perp()/distRef;
+                if( distRatio < 1./20.) continue;                                            // Too close to primary vertex
+                VrtVrtDist(PrimVrt, newvrt.vertex, newvrt.vertexCov, Signif3D);
+                if( Signif3D < addSig3DCut) continue;                                 // Too close to primary vertex
+                newvrt.Good=true;  newvrt.vertexCharge +=1.;                               //Compensate charge of pseudotrack
+                newvrt.SelTrk.clear(); newvrt.SelTrk.push_back(nonusedTracks[add]);        //Add the only nonused track
+                newvrt.vertexMom=MomAtVrt(newvrt.TrkAtVrt[1]);                             //Redefine VertexMom using SINGLE REAL track
+                if(distRatio > maxDistRatio){ if(maxDistRatio!=-999.)AddedVertices.pop_back(); AddedVertices.push_back(newvrt); maxDistRatio=distRatio;}
+	      } 
+	    }
+            if       (RECwork){ RECwork->tmpListTracks.clear(); delete TT; delete TP; }
+	    else if(xAODwrk){ xAODwrk->tmpListTracks.clear(); delete xaodTP; }
+          }
+        }
+	//---------Clean added vertices
+	for(int add=0; add<(int)nonusedTracks.size(); add++){
+          int iBestVrt=-1;
+          double addChi2Min=999999.;                            //For selection of the best candidate for given track
+          for(int iv=0; iv<(int)AddedVertices.size(); iv++){
+	    if(AddedVertices[iv].SelTrk[0]==nonusedTracks[add]){    //Vertex created by given track
+               if(AddedVertices[iv].Chi2<addChi2Min){ iBestVrt=iv; addChi2Min=AddedVertices[iv].Chi2;}
+	    }
+	  }
+	  if(addChi2Min<999999.)AddedVerticesClean.push_back(AddedVertices.at(iBestVrt));
+        }
+        if(AddedVertices.size()) for(int iv=0; iv<(int)AddedVerticesClean.size(); iv++) GoodVertices.push_back(AddedVerticesClean[iv]);
+      }
+    }   //--------------- End of one-track-vertex addition
+*/
diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/CutTrk.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/CutTrk.cxx
index 599eb38d5bbff50427293cd5b409a7bbbbe37137..2a469711e738c92d0a1546c5a5f5fae6618f064a 100755
--- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/CutTrk.cxx
+++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/CutTrk.cxx
@@ -5,11 +5,18 @@
 // Header include
 #include "InDetVKalVxInJetTool/InDetVKalVxInJetTool.h"
 #include  "AnalysisUtils/AnalysisMisc.h"
-#include "TrkVertexFitterInterfaces/ITrackToVertexIPEstimator.h"
-#include <iostream>
+//#include <iostream>
 //-------------------------------------------------
 namespace InDet{
 
+//double getConeSize(double pt){   //Variable cone size from b-tagging for reference
+//  double  m_coneSizeFitPar1 = +0.239;
+//  double  m_coneSizeFitPar2 = -1.220;
+//  double  m_coneSizeFitPar3 = -1.64e-5;
+//  return (m_coneSizeFitPar1 + exp(m_coneSizeFitPar2 + m_coneSizeFitPar3*pt));
+//}
+
+
   StatusCode InDetVKalVxInJetTool::CutTrk(double PInvVert,double ThetaVert, 
          double A0Vert, double ZVert, double Chi2, 
          long int PixelHits,long int SctHits,long int SharedHits, long int BLayHits)
@@ -227,10 +234,10 @@ namespace InDet{
 /////          if(PixelHits<=2 && ( outPixHits || splPixHits )) continue;  //VK Bad idea at high Pt!
           if(fabs((*i_ntrk)->eta())>2.  ) {
             if( PixelHits<=3 && ( splSCTHits || outSCTHits || outPixHits || splPixHits ))continue;
-            if(m_existIBL){PixelHits -=1; SctHits   -=1;}             // 4-layer pixel detector
-            else          {PixelHits -=1;}                            // 3-layer pixel detector
+            if(m_existIBL){if(PixelHits)PixelHits -=1; if(SctHits)SctHits  -=1;}             // 4-layer pixel detector
+            else          {if(PixelHits)PixelHits -=1;}                                      // 3-layer pixel detector
           }
-          if(fabs((*i_ntrk)->eta())>1.65)  SctHits   -=1;
+          if(fabs((*i_ntrk)->eta())>1.65)   if(SctHits)SctHits   -=1;
 //----
           StatusCode sc = CutTrk( VectPerig[4] , VectPerig[3],
                           ImpactA0 , ImpactZ, trkChi2,
diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetVKalVxInJetTool.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetVKalVxInJetTool.cxx
index 605e8909d68b3e35359470d442a3c083a1b54e29..c333938eeef8ab8f971264077e5fb51803c76ceb 100755
--- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetVKalVxInJetTool.cxx
+++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetVKalVxInJetTool.cxx
@@ -6,8 +6,6 @@
 #include "InDetVKalVxInJetTool/InDetVKalVxInJetTool.h"
 #include "VxSecVertex/VxSecVertexInfo.h"
 #include "VxSecVertex/VxSecVKalVertexInfo.h"
-#include "TrkVertexFitterInterfaces/ITrackToVertexIPEstimator.h"
-#include "TrkToolInterfaces/ITrackParticleCreatorTool.h"
 #include "GaudiKernel/ITHistSvc.h"
 #include "TMath.h"
 //
@@ -37,13 +35,13 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
     m_CutPt(700.),
     m_CutZVrt(25.),
     m_CutA0(5.),
-    m_CutChi2(3.),
+    m_CutChi2(5.),
     m_SecTrkChi2Cut(10.),
     m_ConeForTag(0.4),
     m_Sel2VrtChi2Cut(4.5),
     m_Sel2VrtSigCut(3.0),
     m_TrkSigCut(2.0),
-    m_TrkSigNTrkDep(0.12),
+    m_TrkSigNTrkDep(0.20),
     m_TrkSigSumCut(2.),
     m_A0TrkErrorCut(1.0),
     m_ZTrkErrorCut(5.0),
@@ -52,11 +50,11 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
     m_AntiFake2trVrtCut(0.5),
     m_JetPtFractionCut(0.01),
     m_TrackInJetNumberLimit(25),
-    m_MaterialPtCut(5.e3),
     m_pseudoSigCut(3.),
+    m_hadronIntPtCut(5000.),
     m_FillHist(false),
     m_existIBL(true),
-    m_RobustFit(5),
+    m_RobustFit(1),
     m_Xbeampipe (0.),
     m_Ybeampipe (0.),
     m_XlayerB (0.),
@@ -78,11 +76,10 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
     m_getNegativeTail(false),
     m_getNegativeTag(false),
     m_MultiWithOneTrkVrt(true),
+    //m_killHighPtIBLFakes(false),
     m_VertexMergeCut(3.),
     m_TrackDetachCut(6.),
-    m_fitterSvc("Trk::TrkVKalVrtFitter/VertexFitterTool",this),
-    m_trackToVertexIP("Trk::TrackToVertexIPEstimator/TrackToVertexIPEstimator"),
-    m_trkPartCreator("Trk::TrackParticleCreatorTool/InDetParticleCreatorTool")
+    m_fitterSvc("Trk::TrkVKalVrtFitter/VertexFitterTool",this)
 //    m_materialMap ("InDet::InDetMaterialRejTool", this)
 //    m_fitSvc("Trk::TrkVKalVrtFitter/VKalVrtFitter",this)
    {
@@ -119,8 +116,8 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
     declareProperty("AntiFake2trVrtCut",   m_AntiFake2trVrtCut, "Cut to reduce fake 2-track vertices contribution.Single Vertex Finder only"  );
     declareProperty("JetPtFractionCut",    m_JetPtFractionCut,  "Reduce high Pt fakes. Jet HLV input is mandatory, direction is not enough. Multi and single vertex versions are affected"  );
     declareProperty("TrackInJetNumberLimit", m_TrackInJetNumberLimit, " Use only limited number of highest pT tracks in jet for vertex search"  );
-    declareProperty("MaterialPtCut",         m_MaterialPtCut, " To be a material vertex at least one track pt should be below this cut"  );
     declareProperty("PseudoSigCut",        m_pseudoSigCut, " Cut on track impact significance for pseudo-vertex search"  );
+    declareProperty("HadronIntPtCut",      m_hadronIntPtCut,  "Pt cut to select hadronic interactions"  );
 
     declareProperty("FillHist",   m_FillHist, "Fill technical histograms"  );
     declareProperty("ExistIBL",   m_existIBL, "Inform whether 3-layer or 4-layer detector is used "  );
@@ -148,6 +145,7 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
     declareProperty("MultiVertex",        m_MultiVertex,       "Run Multiple Secondary Vertices in jet finder"  );
     declareProperty("MultiWithPrimary",   m_MultiWithPrimary,  "Find Multiple Secondary Vertices + primary vertex in jet. MultiVertex Finder only!"  );
     declareProperty("MultiWithOneTrkVrt", m_MultiWithOneTrkVrt,"Allow one-track-vertex addition to already found secondary vertices. MultiVertex Finder only! ");
+    //declareProperty("KillHighPtIBLFakes", m_killHighPtIBLFakes,"Remove fake vertices produced by tracking. MultiVertex Finder only! ");
     declareProperty("getNegativeTail", m_getNegativeTail, "Allow secondary vertex behind the primary one (negative) w/r jet direction (not for multivertex!)" );
     declareProperty("getNegativeTag",  m_getNegativeTag,  "Return ONLY negative secondary vertices (not for multivertex!)"   );
 
@@ -155,8 +153,6 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
     declareProperty("TrackDetachCut",	  m_TrackDetachCut, "To allow track from vertex detachment for MultiVertex Finder" );
 
     declareProperty("VertexFitterTool",  m_fitterSvc);
-    declareProperty("TrackToVertexTool", m_trackToVertexIP);
-    declareProperty("TrackParticleCreator", m_trkPartCreator);
 //    declareProperty("MaterialMap", m_materialMap);
 //    declareProperty("TrkVKalVrtFitter", m_fitSvc);
 //
@@ -215,20 +211,6 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
      //} else {
      //   if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "InDetMaterialRejTool found" << endmsg;
      //}
-//------
-//     if ( m_trackToVertexIP.retrieve().isFailure() ) {
-//        if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG)<< "Failed to retrieve trackToVertexIPEstimator tool. Used for tests only, so safe!" << endmsg;
-//     } else {
-//        if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "Retrieved Trk::TrackToVertexIPEstimator tool. Only for tests!" << m_trackToVertexIP<<endmsg;
-//     }
-//-------
-//     if(m_MultiVertex && m_MultiWithOneTrkVrt) {
-//       if ( m_trkPartCreator.retrieve().isFailure() ) {
-//        if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG)<< "Failed to retrieve TrackParticleCreator tool " << endmsg;
-//       } else {
-//        if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "Retrieved Trk::TrackParticleCreator tool" << m_trkPartCreator<<endmsg;
-//       }
-//     }
 //-------
 //     Trk::IVertexFitter * tmp;
 //     sc = toolSvc->retrieveTool("Trk::TrkVKalVrtFitter",tmp,this);
@@ -279,16 +261,18 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
        m_hb_impactR    = new TH1D("impactR"," impactR", 100,-30., 70.);
        m_hb_impactZ    = new TH1D("impactZ"," impactZ", 100,-30., 70.);
        m_hb_impactRZ   = new TH2D("impactRZ"," impactRZ", 40,-10., 10., 60, -30.,30. );
-       m_hb_r2d        = new TH1D("r2interact","Interaction radius 2tr", 150,0., 150.);
-       m_hb_r2dc       = new TH1D("r2interactCommon","Interaction radius common", 150,0., 150.);
+       m_hb_r2d        = new TH1D("r2interact","Interaction radius 2tr selected", 150,0., 150.);
+       m_hb_r1dc       = new TH1D("r1interactCommon","Interaction 1tr radius common", 150,0., 150.);
+       m_hb_r2dc       = new TH1D("r2interactCommon","Interaction 2tr radius common", 150,0., 150.);
+       m_hb_r3dc       = new TH1D("r3interactCommon","Interaction 3tr radius common", 150,0., 150.);
+       m_hb_rNdc       = new TH1D("rNinteractCommon","Interaction Ntr radius common", 150,0., 150.);
        m_hb_dstToMat   = new TH1D("dstToMatL","Distance to material layer", 80,0., 40.);
        m_hb_impV0      = new TH1D("impactV0"," V0 impact", 100,0., 50.);
        m_hb_ntrkjet    = new TH1D("ntrkjet"," NTrk in jet", 50,0., 50.);
-       m_hb_jmom       = new TH1D("jetmom"," Jet mom", 200,0., 1000000.);
-       m_hb_mom        = new TH1D("jetmomvrt"," Jet mom with sec. vertex", 200,0., 1000000.);
+       m_hb_jmom       = new TH1D("jetmom"," Jet mom", 200,0., 2000000.);
+       m_hb_mom        = new TH1D("jetmomvrt"," Jet mom with sec. vertex", 200,0., 2000000.);
        m_hb_signif3D   = new TH1D("signif3D"," Signif3D for initial 2tr vertex", 140,-20., 50.);
        m_hb_massPiPi1  = new TH1D("massPiPi1"," massPiPi",100,0., 4000.);
-       m_hb_massPiPi2  = new TH1D("massPiPi2"," massPiPi",100,0., 4000.);
        m_hb_sig3DTot   = new TH1D("sig3dcommon"," Signif3D for common vertex", 140,-20., 50.);
        m_hb_sig3D1tr   = new TH1D("sig3D1tr","Signif3D for 1tr  vertices", 140,-20., 50.);
        m_hb_sig3D2tr   = new TH1D("sig3D2tr","Signif3D for 2tr single vertex", 140,-20., 50.);
@@ -300,17 +284,17 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
        m_hb_tr2SelVar  = new TH1D("tr2SelVar","New 2tr variable", 200, 0., 10.);
        m_hb_blshared   = new TH1F("blshared","Number of shared hits in B-layer for R<BL", 5, 0., 5.);
        m_hb_pxshared   = new TH1F("pxshared","Number of shared hits in pixel for R>BL", 5, 0., 5.);
-       m_hb_addRatioMV = new TH1F("addRatioMV","Distance ratio for added vertices multivertex case", 100, 0., 2.5);
-       m_hb_addChi2MV  = new TH1F("addChi2MV","Chi2 for added vertices multivertex case", 100, 0., 10.);
-       m_hb_addNVrtMV  = new TH1F("addNVrtMV","N of added vertices multivertex case", 10, 0., 10.);
        m_hb_rawVrtN    = new TH1F("rawVrtN","Number of raw vertices multivertex case", 10, 0., 10.);
        m_hb_lifetime   = new TH1F("lifetime","Distance/momentum", 100, 0., 5.);
        m_hb_trkPErr    = new TH1F("trkPErr","Track momentum error for P>10 GeV", 100, 0., 0.5);
+       m_hb_deltaRSVPV = new TH1F("deltaRSVPV","SV-PV vs jet dR ", 200, 0., 1.);
 //---
        m_hb_massJetTrkSV    = new TH1D("PSEUmassJetTrkSV","SV mass for jet+track case", 250, 0., 10000.);
        m_hb_ratioJetTrkSV   = new TH1D("PSEUratioJetTrkSV","SV ratio for jet+track case", 51,0., 1.02);
        m_hb_DST_JetTrkSV    = new TH1D("PSEUDST_JetTrkSV", "DST PV-SV for jet+track  case", 100,0., 20.);
        m_hb_NImpJetTrkSV    = new TH1D("PSEUnTrkJetTrkSV", "N Track selected for jet+track  case", 10,0., 10.);
+//---
+       m_hb_nHImpTrkCnt    = new TH1D("NHImpTrkCnt", "N Big Impact Track selected in jet", 30,0., 30.);
 //---
        m_pr_effVrt2tr   = new TProfile("effVrt2tr"," 2tr vertex efficiency vs Ntrack", 50, 0., 50.);
        m_pr_effVrt2trEta= new TProfile("effVrt2trEta"," 2tr vertex efficiency vs eta", 50, -3., 3.);
@@ -333,8 +317,11 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
        sc = hist_root->regHist(histDir+"impactR",   m_hb_impactR);
        sc = hist_root->regHist(histDir+"impactZ",   m_hb_impactZ);
        sc = hist_root->regHist(histDir+"impactRZ",  m_hb_impactRZ);
-       sc = hist_root->regHist(histDir+"r2interact2tr", m_hb_r2d);
+       sc = hist_root->regHist(histDir+"r2interact",       m_hb_r2d);
+       sc = hist_root->regHist(histDir+"r1interactCommon", m_hb_r1dc);
        sc = hist_root->regHist(histDir+"r2interactCommon", m_hb_r2dc);
+       sc = hist_root->regHist(histDir+"r3interactCommon", m_hb_r3dc);
+       sc = hist_root->regHist(histDir+"rNinteractCommon", m_hb_rNdc);
        sc = hist_root->regHist(histDir+"dstToMatL", m_hb_dstToMat);
        sc = hist_root->regHist(histDir+"impactV0",  m_hb_impV0);
        sc = hist_root->regHist(histDir+"ntrkjet",   m_hb_ntrkjet);
@@ -342,7 +329,6 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
        sc = hist_root->regHist(histDir+"jetmomvrt", m_hb_mom);
        sc = hist_root->regHist(histDir+"signif3D",  m_hb_signif3D);
        sc = hist_root->regHist(histDir+"massPiPi1", m_hb_massPiPi1);
-       sc = hist_root->regHist(histDir+"massPiPi2", m_hb_massPiPi2);
        sc = hist_root->regHist(histDir+"sig3dcommon", m_hb_sig3DTot);
        sc = hist_root->regHist(histDir+"sig3D1tr",  m_hb_sig3D1tr);
        sc = hist_root->regHist(histDir+"sig3D2tr",  m_hb_sig3D2tr);
@@ -354,13 +340,11 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
        sc = hist_root->regHist(histDir+"tr2SelVar", m_hb_tr2SelVar);
        sc = hist_root->regHist(histDir+"blshared",  m_hb_blshared);
        sc = hist_root->regHist(histDir+"pxshared",  m_hb_pxshared);
-       sc = hist_root->regHist(histDir+"addRatioMV",m_hb_addRatioMV);
-       sc = hist_root->regHist(histDir+"addChi2MV", m_hb_addChi2MV);
-       sc = hist_root->regHist(histDir+"addNVrtMV", m_hb_addNVrtMV);
        sc = hist_root->regHist(histDir+"rawVrtN",   m_hb_rawVrtN);
        sc = hist_root->regHist(histDir+"lifetime",  m_hb_lifetime);
        sc = hist_root->regHist(histDir+"trkPErr",   m_hb_trkPErr);
-       sc = hist_root->regHist(histDir+"effVrt2tr", m_pr_effVrt2tr);
+       sc = hist_root->regHist(histDir+"deltaRSVPV",   m_hb_deltaRSVPV);
+       sc = hist_root->regHist(histDir+"effVrt2tr",    m_pr_effVrt2tr);
        sc = hist_root->regHist(histDir+"effVrt2trEta", m_pr_effVrt2trEta);
        sc = hist_root->regHist(histDir+"effVrt",       m_pr_effVrt);
        sc = hist_root->regHist(histDir+"effVrtEta",    m_pr_effVrtEta);
@@ -368,6 +352,7 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
        sc = hist_root->regHist(histDir+"PSEUratioJetTrkSV",m_hb_ratioJetTrkSV);
        sc = hist_root->regHist(histDir+"PSEUDST_JetTrkSV", m_hb_DST_JetTrkSV);
        sc = hist_root->regHist(histDir+"PSEUnTrkJetTrkSV", m_hb_NImpJetTrkSV);
+       sc = hist_root->regHist(histDir+"NHImpTrkCnt", m_hb_nHImpTrkCnt);
        if( sc.isFailure() ) {     // Check of StatusCode
          if(msgLvl(MSG::INFO))msg(MSG::INFO) << "BTagVrtSec Histogram registration failure!!!" << endmsg;
        }
@@ -480,60 +465,6 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
 
 
 
-   const Trk::VxSecVertexInfo* InDetVKalVxInJetTool::findSecVertex(const Trk::RecVertex & PrimVrt,
-							           const TLorentzVector & JetDir,
-						 	           const std::vector<const Rec::TrackParticle*> & InpTrk)
-    const  {
-    std::vector<double>     Results;
-    std::vector<const Rec::TrackParticle*>            SelSecTrk;
-    std::vector< std::vector<const Rec::TrackParticle*> >  SelSecTrkPerVrt;
-    std::vector<const Rec::TrackParticle*>            TrkFromV0;
-    std::vector<xAOD::Vertex*> listVrtSec(0);
-    double SecVtxMass =   0.;
-    double RatioE     =   0.;
-    double EnergyJet  =   0.;
-    int N2trVertices  =   0 ;
-
-    xAOD::Vertex xaodPrimVrt; 
-                            xaodPrimVrt.setPosition(PrimVrt.position());
-                            xaodPrimVrt.setCovariancePosition(PrimVrt.covariancePosition());
-
-    if(m_MultiVertex){
-       workVectorArrREC * tmpVectREC=new workVectorArrREC();
-       tmpVectREC->InpTrk.resize(InpTrk.size());
-       std::copy(InpTrk.begin(),InpTrk.end(), tmpVectREC->InpTrk.begin());
-       //////listVrtSec = GetVrtSecMulti(InpTrk,xaodPrimVrt,JetDir,Results,SelSecTrkPerVrt,TrkFromV0);
-       listVrtSec = GetVrtSecMulti(0,tmpVectREC,xaodPrimVrt,JetDir,Results);
-       SelSecTrkPerVrt.swap(tmpVectREC->FoundSecondTracks);
-       TrkFromV0.swap(tmpVectREC->TrkFromV0);
-       delete tmpVectREC;
-    }else{
-       xAOD::Vertex * secVrt = GetVrtSec( InpTrk,xaodPrimVrt,JetDir,Results,SelSecTrk,TrkFromV0);
-       if(secVrt != 0) listVrtSec.push_back(secVrt);
-       else if(m_FillHist){ m_pr_effVrt->Fill((float)m_NRefTrk,0.);              
-	                    m_pr_effVrtEta->Fill( JetDir.Eta(),0.);}
-    }
-    if(Results.size()<3) {
-       listVrtSec.clear();
-    }else{
-       SecVtxMass =      Results[0];
-       RatioE     =      Results[1];
-       N2trVertices  = (int)Results[2];
-       EnergyJet     =      Results[6];
-    }
-    const Trk::VxSecVKalVertexInfo* res = 
-          new Trk::VxSecVKalVertexInfo(listVrtSec, SecVtxMass, RatioE, N2trVertices, EnergyJet, PartToBase(TrkFromV0) );
-    if(Results.size()>8)res->setDstToMatLay(Results[7]);
-    m_fitSvc->clearMemory();
-    m_compatibilityGraph->clear();
-    std::vector<int> zytmp(1000); m_WorkArray->m_Incomp.swap(zytmp);    // Deallocate memory
-    std::vector<int> zwtmp(0);    m_WorkArray->m_Prmtrack.swap(zwtmp);  // 
-    return res;
-        
-//    return new Trk::VxSecVertexInfo(listVrtSec);
-
-   }
-
    const Trk::VxSecVertexInfo* InDetVKalVxInJetTool::findSecVertex(const Trk::RecVertex & PrimVrt,
 							           const TLorentzVector & JetDir,
 						 	           const std::vector<const Trk::TrackParticleBase*> & InpTrkBase)
diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx
index 85722183d0b5dfb76792ec5a8f66272e0f6dd515..fa2d04c594beee297abd5b1121c18c34ef93f69b 100755
--- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx
+++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx
@@ -57,9 +57,8 @@ namespace InDet{
     return tl;
   }
 
-  void InDetVKalVxInJetTool::printWrkSet(const std::vector<WrkVrt> *WrkVrtSet, const std::string name)
-  const
-  {
+  void InDetVKalVxInJetTool::printWrkSet(const std::vector<WrkVrt> *, const std::string ) const {
+/*  void InDetVKalVxInJetTool::printWrkSet(const std::vector<WrkVrt> *WrkVrtSet, const std::string name) const {
     int nGoodV=0;
     for(int iv=0; iv<(int)WrkVrtSet->size(); iv++) {
       std::cout<<name
@@ -80,7 +79,7 @@ namespace InDet{
       std::cout<<'\n';
       if((*WrkVrtSet)[iv].Good)nGoodV++;
     }
-    std::cout<<name<<" N="<<nGoodV<<'\n';
+    std::cout<<name<<" N="<<nGoodV<<'\n';*/
   }
 
                /*  Technicalities */
@@ -97,6 +96,26 @@ namespace InDet{
     return (Vrt.x()*JetDir.Px() + Vrt.y()*JetDir.Py())/JetDir.Pt();
   }
 
+  bool InDetVKalVxInJetTool::insideMatLayer(float xvt,float yvt) const
+  {
+        float Dist2DBP=sqrt( (xvt-m_Xbeampipe)*(xvt-m_Xbeampipe) + (yvt-m_Ybeampipe)*(yvt-m_Ybeampipe) ); 
+        float Dist2DBL=sqrt( (xvt-m_XlayerB)*(xvt-m_XlayerB) + (yvt-m_YlayerB)*(yvt-m_YlayerB) ); 
+        float Dist2DL1=sqrt( (xvt-m_Xlayer1)*(xvt-m_Xlayer1) + (yvt-m_Ylayer1)*(yvt-m_Ylayer1) );
+        float Dist2DL2=sqrt( (xvt-m_Xlayer2)*(xvt-m_Xlayer2) + (yvt-m_Ylayer2)*(yvt-m_Ylayer2) );
+        if(m_existIBL){              // 4-layer pixel detector
+               if( fabs(Dist2DBP-m_Rbeampipe)< 1.0)  return true;           // Beam Pipe removal  
+               if( fabs(Dist2DBL-m_RlayerB)  < 2.5)     return true;
+               if( fabs(Dist2DL1-m_Rlayer1)  < 3.0)      return true;
+               if( fabs(Dist2DL2-m_Rlayer2)  < 3.0)      return true;
+               //if( fabs(Dist2DL2-m_Rlayer3)  < 4.0)      return true;
+        }else{                       // 3-layer pixel detector
+               if( fabs(Dist2DBP-m_Rbeampipe)< 1.5)  return true;           // Beam Pipe removal  
+               if( fabs(Dist2DBL-m_RlayerB)  < 3.5)     return true;
+               if( fabs(Dist2DL1-m_Rlayer1)  < 4.0)      return true;
+               if( fabs(Dist2DL2-m_Rlayer2)  < 5.0)      return true;
+        }
+        return false; 
+  }
 
   double InDetVKalVxInJetTool::VrtVrtDist(const Trk::RecVertex & PrimVrt, const Amg::Vector3D & SecVrt, 
                                           const std::vector<double> SecVrtErr, double& Signif)
@@ -176,7 +195,7 @@ namespace InDet{
     double disty =  jetDir.y()*projDist;
     double distz =  jetDir.z()*projDist;
 
-    Amg::MatrixX  PrimCovMtx=PrimVrt.covariancePosition();  //Create
+    AmgSymMatrix(3)  PrimCovMtx=PrimVrt.covariancePosition();  //Create
     PrimCovMtx(0,0) += SecVrtErr[0];
     PrimCovMtx(0,1) += SecVrtErr[1];
     PrimCovMtx(1,0) += SecVrtErr[1];
@@ -187,7 +206,7 @@ namespace InDet{
     PrimCovMtx(2,1) += SecVrtErr[4];
     PrimCovMtx(2,2) += SecVrtErr[5];
 
-    Amg::MatrixX  WgtMtx = PrimCovMtx.inverse();
+    AmgSymMatrix(3)  WgtMtx = PrimCovMtx.inverse();
 
     double Signif = distx*WgtMtx(0,0)*distx
                    +disty*WgtMtx(1,1)*disty
@@ -214,7 +233,7 @@ namespace InDet{
     double disty =  jetDir.y()*projDist;
     double distz =  jetDir.z()*projDist;
 
-    Amg::MatrixX  PrimCovMtx=PrimVrt.covariancePosition();  //Create
+    AmgSymMatrix(3)  PrimCovMtx=PrimVrt.covariancePosition();  //Create
     PrimCovMtx(0,0) += SecVrtErr[0];
     PrimCovMtx(0,1) += SecVrtErr[1];
     PrimCovMtx(1,0) += SecVrtErr[1];
@@ -225,7 +244,7 @@ namespace InDet{
     PrimCovMtx(2,1) += SecVrtErr[4];
     PrimCovMtx(2,2) += SecVrtErr[5];
 
-    Amg::MatrixX  WgtMtx = PrimCovMtx.inverse();
+    AmgSymMatrix(3)  WgtMtx = PrimCovMtx.inverse();
 
     double Signif = distx*WgtMtx(0,0)*distx
                    +disty*WgtMtx(1,1)*disty
@@ -587,7 +606,7 @@ namespace InDet{
         }
 
   }
-  void   InDetVKalVxInJetTool::getPixelProblems(const xAOD::TrackParticle* Part, int &splshIBL, int &splshBL ) const
+  void InDetVKalVxInJetTool::getPixelProblems(const xAOD::TrackParticle* Part, int &splshIBL, int &splshBL ) const
   {
     	splshIBL=splshBL=0;
         if(m_existIBL){              // 4-layer pixel detector
@@ -601,7 +620,7 @@ namespace InDet{
           splshBL=share+split;
        }
   }
-    void   InDetVKalVxInJetTool::getPixelProblems(const Rec::TrackParticle* , int &splshIBL, int &splshBL ) const
+  void InDetVKalVxInJetTool::getPixelProblems(const Rec::TrackParticle* , int &splshIBL, int &splshBL ) const
   {
     	splshIBL=splshBL=0;  // Temporary implementation
   }
diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx
index c968ce91d3c272d8a1321728760ebb3eec835177..bb952fb5edabcf584ce63816f638fb166ce9e195 100644
--- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx
+++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx
@@ -31,8 +31,8 @@ namespace InDet {
     m_storeGate       ("StoreGateSvc",name),
     m_detStore        ("DetectorStore",name),
     m_IdMapping       ("PixelCablingSvc",name),
-    m_container(0),
-    m_id(0) 
+    m_id(0),
+    m_container(0)
   {
     declareInterface<InDet::ITrigRawDataProviderTool>(this);
     declareProperty("RDOKey", m_RDO_Key = "PixelRDOs_EFID");
diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx
index 448c7f7f316a879134c06727033d8fd7595c4cc5..5d9875e945b139bfda0f5de417ffd2a5f413348e 100644
--- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx
+++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx
@@ -34,8 +34,8 @@ namespace InDet {
     m_storeGate       ("StoreGateSvc",name),
     m_detStore        ("DetectorStore",name),
     m_cablingSvc      ("SCT_CablingSvc",name),
-    m_container(0),
-    m_id(0)
+    m_id(0),
+    m_container(0)
   {
     declareInterface<InDet::ITrigRawDataProviderTool>(this);
     declareProperty("RDOKey", m_RDO_Key = "SCT_RDOs_EFID");
@@ -185,7 +185,7 @@ namespace InDet {
     // ask SCTRawDataProviderTool to decode it and to fill the IDC
     StatusCode scon = StatusCode::FAILURE;
     if (m_container){
-      scon =  m_rawDataTool->convert(listOfRobf,m_container);
+      scon =  m_rawDataTool->convert(listOfRobf,*m_container,nullptr);
       if (scon==StatusCode::FAILURE)
 	msg(MSG::ERROR) << "BS conversion into RDOs failed" << endmsg;
     }
diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx
index aae5d8522a8e3be6f8eb9d625d3a63836846f40f..90ac196f44871181fc388096b9f65f06f5e9e781 100644
--- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx
+++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx
@@ -29,8 +29,8 @@ namespace InDet {
     m_storeGate       ("StoreGateSvc",name),
     m_detStore        ("DetectorStore",name),
     m_IdMapping       ("TRT_CablingSvc",name),
-    m_container(0),
-    m_id(0)
+    m_id(0),
+    m_container(0)
   {
     declareInterface<InDet::ITrigRawDataProviderTool>(this);
     declareProperty("RDOKey", m_RDO_Key = "TRT_RDOs_EFID");
diff --git a/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
index 9f4442b1fb5bcefebc102437ae68780a6db5a4db..c56e0b434edb0c3cc70123902641e2abe638f9bb 100644
--- a/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
+++ b/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
@@ -1557,9 +1557,22 @@ int RpcDigitizationTool::findStripNumber(Amg::Vector3D posInGap, Identifier digi
   Identifier firstStrip = m_idHelper->channelID(digitId, doubletZ, doubletPhi, gasGap, measuresPhi, 1);
   Identifier lastStrip = m_idHelper->channelID(digitId, doubletZ, doubletPhi, gasGap, measuresPhi, nstrips);
 
-  Amg::Vector3D firstPos=ele->localStripPos(firstStrip);
-  Amg::Vector3D lastPos=ele->localStripPos(lastStrip);
-
+  Amg::Vector3D firstPos(0.,0.,0);
+  try {
+    firstPos=ele->localStripPos(firstStrip);
+  }
+  catch (...) {
+    ATH_MSG_ERROR("RpcReadoutElement::localStripPos call failed.");
+    ATH_MSG_WARNING("firstPos determination failed.");
+  }
+  Amg::Vector3D lastPos(0.,0.,0);
+  try {
+    lastPos=ele->localStripPos(lastStrip);
+  }
+  catch (...) {
+    ATH_MSG_ERROR("RpcReadoutElement::localStripPos call failed.");
+    ATH_MSG_WARNING("lastPos determination failed.");
+  }
 
   // if(ele->Nphigasgaps()!=1) return result; //all but BMS/F and ribs chambers
 
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MDTChamber.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MDTChamber.cxx
index 920db5a57dff9f9381974fab363dc046486d6ca9..6cf0fb5090f4a873f8417c6213751d5f480efba3 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MDTChamber.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MDTChamber.cxx
@@ -160,6 +160,8 @@ void MDTChamber::SetMDTHitsPerChamber_IMO_Bin(TH2F* h){
 
   std::string station_eta_s = m_hardware_name.substr(3,1);
   std::string statphi_s = m_hardware_name.substr(5,2);
+  if(m_hardware_name.substr(0,4)=="BMF2") station_eta_s = "3";
+  if(m_hardware_name.substr(0,4)=="BMF3") station_eta_s = "5";
 
   std::string ecap_layer_IMO = m_hardware_name.substr(0,1) + m_hardware_name.substr(4,1) + station_eta_s;
   if( m_station_phi == 12 && (m_station_eta == 4 || m_station_eta == 5) ) {//m_station_phi+1==actual phi station
@@ -210,6 +212,8 @@ void MDTChamber::SetMDTHitsPerML_byLayer_Bins(TH2F* h_mdthitspermultilayerLumi,
   }
 
   std::string stateta_s = m_hardware_name.substr(3,1);
+  if(m_hardware_name.substr(0,4)=="BMF2") stateta_s = "3";
+  if(m_hardware_name.substr(0,4)=="BMF3") stateta_s = "5";
   std::string ecap_layer = m_hardware_name.substr(0,2) + m_hardware_name.at(4) + stateta_s;
   
   if( m_station_phi == 12 && (m_station_eta == 4 || m_station_eta == 5) ) {//m_station_phi+1==actual phi station
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MdtRawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MdtRawDataValAlg.cxx
index e6ec7ea6adf329d142d03156aca11263f14a70ad..8ffb252be92c8db65325749d14826d13a272be24 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MdtRawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtRawDataMonitoring/src/MdtRawDataValAlg.cxx
@@ -532,13 +532,15 @@ StatusCode MdtRawDataValAlg::fillHistograms()
         for (Muon::MdtPrepDataCollection::const_iterator mdtCollection=(*containerIt)->begin(); mdtCollection!=(*containerIt)->end(); ++mdtCollection ) 
         {
           m_nPrd++;
-          if( (*mdtCollection)->adc()>m_ADCCut ) 
+          hardware_name = getChamberName(*mdtCollection);
+          float adc = (*mdtCollection)->adc();
+          if(hardware_name.substr(0,3) == "BMG") adc /= 4.;
+          if( adc > m_ADCCut ) 
           {
             m_nPrdcut++;
             isHit_above_ADCCut = true;
           }
           //      Identifier digcoll_id = (*mdtCollection)->identify();
-          hardware_name = getChamberName(*mdtCollection);
 
 
           //Relic from cosmic days nolonger relevant      
@@ -584,7 +586,7 @@ StatusCode MdtRawDataValAlg::fillHistograms()
           }     
 
           
-          if( (*mdtCollection)->adc()>m_ADCCut) {
+          if( adc >m_ADCCut) {
             map<string,float>::iterator iter_hitsperchamber = hitsperchamber_map.find(hardware_name);
             if ( iter_hitsperchamber == hitsperchamber_map.end() ) { 
               hitsperchamber_map.insert( make_pair( hardware_name, 1 ) );
@@ -1721,6 +1723,7 @@ StatusCode MdtRawDataValAlg::fillMDTHistograms( const Muon::MdtPrepData* mdtColl
   // Note: the BMG is digitized with 200ps which is not same as other MDT chambers with 25/32=781.25ps
   if(hardware_name.substr(0,3)=="BMG") tdc = mdtCollection->tdc() * 0.2;
   float adc = mdtCollection->adc();
+  if(hardware_name.substr(0,3) == "BMG") adc /= 4.;
 
   if (chamber->mdttdc) {
     chamber->mdttdc->Fill(tdc); 
@@ -1743,9 +1746,9 @@ StatusCode MdtRawDataValAlg::fillMDTHistograms( const Muon::MdtPrepData* mdtColl
 
   if (chamber->mdttdcadc && adc > 0) { chamber->mdttdcadc->Fill(tdc, adc); }
 
-  if (chamber->mdtlayer) { if((mdtCollection->adc()>m_ADCCut && !isNoisy)) chamber->mdtlayer->Fill(m_mdtlayer); }
+  if (chamber->mdtlayer) { if((adc >m_ADCCut && !isNoisy)) chamber->mdtlayer->Fill(m_mdtlayer); }
 
-  if (chamber->mdttube) { if((mdtCollection->adc()>m_ADCCut) ) chamber->mdttube->Fill(m_mdttube); }
+  if (chamber->mdttube) { if((adc >m_ADCCut) ) chamber->mdttube->Fill(m_mdttube); }
 /*
   if (chamber->mdttube_bkgrd ) { 
     if(adc > m_ADCCut_Bkgrd && tdc < m_TDCCut_Bkgrd) chamber->mdttube_bkgrd->Fill(m_mdttube); 
@@ -1785,7 +1788,7 @@ StatusCode MdtRawDataValAlg::fillMDTSummaryHistograms( const Muon::MdtPrepData*
   // Note: the BMG is digitized with 200ps which is not same as other MDT chambers with 25/32=781.25ps
   if(chambername.substr(0,3)=="BMG") tdc = mdtCollection->tdc() * 0.2;
   float adc = mdtCollection->adc();
-
+  if(chambername.substr(0,3) == "BMG") adc /= 4.;
 
   if( mdtChamberHits[iregion][ilayer][stationPhi] && adc > m_ADCCut )
     mdtChamberHits[iregion][ilayer][stationPhi]->Fill(std::abs(stationEta));
@@ -1869,6 +1872,7 @@ StatusCode MdtRawDataValAlg::fillMDTOverviewHistograms( const Muon::MdtPrepData*
   // Note: the BMG is digitized with 200ps which is not same as other MDT chambers with 25/32=781.25ps
   if(hardware_name.substr(0,3)=="BMG") tdc = mdtCollection->tdc() * 0.2;
   float adc = mdtCollection->adc();
+  if(hardware_name.substr(0,3) == "BMG") adc /= 4.;
 
   //Barrel -->Fill MDT Global RZ and YX
   if( adc>m_ADCCut ) {
@@ -1964,7 +1968,9 @@ StatusCode MdtRawDataValAlg::handleEvent_effCalc(const Trk::SegmentCollection* s
         m_mdtIdHelper->get_module_hash( tmpid, idHash );  
         sc = getChamber(idHash, chamber);
         std::string chambername = chamber->getName();
-        if(overalladc_segm_Lumi) overalladc_segm_Lumi->Fill(mrot->prepRawData()->adc());
+        float adc = mrot->prepRawData()->adc();
+        if(chambername.substr(0,3)=="BMG") adc /= 4. ;
+        if(overalladc_segm_Lumi) overalladc_segm_Lumi->Fill(adc);
         if( store_ROTs.find(tmpid) == store_ROTs.end() ) { // Let's not double-count hits belonging to multiple segments
           store_ROTs.insert(tmpid);   
 
@@ -1972,14 +1978,13 @@ StatusCode MdtRawDataValAlg::handleEvent_effCalc(const Trk::SegmentCollection* s
           // Note: the BMG is digitized with 200ps which is not same as other MDT chambers with 25/32=781.25ps
           if(chambername.substr(0,3)=="BMG") tdc = mrot->prepRawData()->tdc() * 0.2;
               //      double tdc = mrot->driftTime()+500;
-
               int iregion = chamber->GetRegionEnum();
               int ilayer = chamber->GetLayerEnum();
               int statphi = chamber->GetStationPhi();
               int ibarrel_endcap = chamber->GetBarrelEndcapEnum();
-              if(overalladc_segm_PR_Lumi[iregion]) overalladc_segm_PR_Lumi[iregion]->Fill(mrot->prepRawData()->adc());        
+              if(overalladc_segm_PR_Lumi[iregion]) overalladc_segm_PR_Lumi[iregion]->Fill(adc);        
 
-              if(mrot->prepRawData()->adc()>m_ADCCut) { // This is somewhat redundant because this is usual cut for segment-reconstruction, but that's OK
+              if(adc > m_ADCCut) { // This is somewhat redundant because this is usual cut for segment-reconstruction, but that's OK
                 if(statphi > 15) {
                   ATH_MSG_ERROR( "MDT StationPhi: " << statphi << " Is too high.  Chamber name: " << chamber->getName() );
                   continue;
@@ -1998,12 +2003,12 @@ StatusCode MdtRawDataValAlg::handleEvent_effCalc(const Trk::SegmentCollection* s
           int m_mdtMultLayer = m_mdtIdHelper->multilayer(tmpid);
           //chamber->mdtadc_onSegm->Fill(mrot->prepRawData()->adc());
   	  if(chamber->mdtadc_onSegm_ML1 && m_mdtMultLayer == 1){
-        	  chamber->mdtadc_onSegm_ML1->Fill(mrot->prepRawData()->adc()); 
+        	  chamber->mdtadc_onSegm_ML1->Fill(adc); 
           	  //sumADC_ML1 += mrot->prepRawData()->adc();
 	  	 // numHits_ML1++;
 	  }
           if(chamber->mdtadc_onSegm_ML2&& m_mdtMultLayer == 2){
-        	  chamber->mdtadc_onSegm_ML2->Fill(mrot->prepRawData()->adc());       	  
+        	  chamber->mdtadc_onSegm_ML2->Fill(adc);       	  
      		 // sumADC_ML2 += mrot->prepRawData()->adc();
 		 // numHits_ML2++;
  	     }
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/CMakeLists.txt b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/CMakeLists.txt
index f6184261d0bca04534c95d01238ee78fe7d66e05..b0bc0685fec110a0853fe27ca8a873d8b0425e80 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/CMakeLists.txt
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/CMakeLists.txt
@@ -8,7 +8,6 @@ atlas_subdir( MdtVsRpcRawDataMonitoring )
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaMonitoring
-                          Control/DataModel
                           Control/StoreGate
                           GaudiKernel
                           MuonSpectrometer/MuonCablings/RPCcablingInterface
@@ -26,7 +25,7 @@ atlas_depends_on_subdirs( PUBLIC
 atlas_add_component( MdtVsRpcRawDataMonitoring
                      src/*.cxx
                      src/components/*.cxx
-                     LINK_LIBRARIES AthenaMonitoringLib DataModel StoreGateLib SGtests GaudiKernel RPCcablingInterfaceLib MuonReadoutGeometry MuonIdHelpersLib MuonDQAUtilsLib Identifier MuonRDO MuonPrepRawData )
+                     LINK_LIBRARIES AthenaMonitoringLib StoreGateLib SGtests GaudiKernel RPCcablingInterfaceLib MuonReadoutGeometry MuonIdHelpersLib MuonDQAUtilsLib Identifier MuonRDO MuonPrepRawData )
 
 # Install files from the package:
 atlas_install_headers( MdtVsRpcRawDataMonitoring )
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h
index eb94e9e726324a3d56f50b5e216a49c615f04841..00e5457c9eb6915d53114bdbeb42450129c1a3af 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h
@@ -23,8 +23,6 @@
 #include "GaudiKernel/StatusCode.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
-#include "GaudiKernel/NTuple.h"
-#include "DataModel/DataLink.h"
 
 #include "MuonIdHelpers/RpcIdHelper.h"
 #include "MuonIdHelpers/MdtIdHelper.h" 
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/cmt/requirements b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/cmt/requirements
index 1427719f3e521091ae6bbd5fae9d0310fcd8dcbd..e76d156ef5369ab8620cad86940b05bad45f8975 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/cmt/requirements
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/cmt/requirements
@@ -11,7 +11,6 @@ branches run
 
 use     AtlasPolicy             AtlasPolicy-*
 use     StoreGate               StoreGate-*             	Control
-use     DataModel               DataModel-*             	Control
 use     AthenaMonitoring        AthenaMonitoring-*              Control
 use     GaudiInterface          GaudiInterface-*        	External
 use     MuonReadoutGeometry     MuonReadoutGeometry-*	        MuonSpectrometer/MuonDetDescr
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx
index f2571625bbf664ffe71db88a133d7d161eb59e63..a50fdc285de5a5cf89077f0b02529ac449936993 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx
@@ -38,9 +38,7 @@
 
 using namespace std;
 
-static const int maxColl =   1200;
 static const int maxPRD  =   50000;
-static const int maxClus =   1000;
 
 //mdt stuff
 static const int maxPrd =    50000;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h
index 845c38ceff3e0556061a1e9eb98b938ac3f77117..5d987d2ac08d6b9891e79e6360c342edd656b1fb 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h
@@ -81,7 +81,7 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase {
  private:
       
   bool m_first;   //!< flag to make sure that overflow message is only printed once   
-  std::string type ;
+  std::string m_type ;
   
   // Private function to add the clusters to the ntuple
   StatusCode addClusters(std::string clusterContainerName);  
@@ -107,12 +107,12 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase {
   void bookRPCTracksLayerHistograms(std::string, std::string,  std::string, int, int, int);
   void bookHistogramsSummaryDistribution(   );
  
-  /* void bookRPCSummaryHistograms( int, std::vector<std::string>::const_iterator &m_iter ) ; */
-  void bookRPCSummaryHistograms( int, const std::string & m_quantity )      ;
-  void bookRPCSummaryFinalHistograms( int, const std::string & m_quantity ) ;
-  void bookRPCLayerRadiographyHistograms( int m_isec, std::string m_layer_name );
-  void bookRPCCoolHistograms_NotNorm(std::vector<std::string>::const_iterator &m_iter , int , int , std::string m_layer );
-  void bookRPCCoolHistograms(std::vector<std::string>::const_iterator &m_iter , int , int , std::string m_layer );
+  /* void bookRPCSummaryHistograms( int, std::vector<std::string>::const_iterator &iter ) ; */
+  void bookRPCSummaryHistograms( int, const std::string & quantity )      ;
+  void bookRPCSummaryFinalHistograms( int, const std::string & quantity ) ;
+  void bookRPCLayerRadiographyHistograms( int isec, std::string layer_name );
+  void bookRPCCoolHistograms_NotNorm(std::vector<std::string>::const_iterator &iter , int , int , std::string layer );
+  void bookRPCCoolHistograms(std::vector<std::string>::const_iterator &iter , int , int , std::string layer );
   
   ServiceHandle< LVL1::RecMuonRoiSvc > m_rpcRoiSvc;
   ServiceHandle< LVL1::RecMuonRoiSvc > m_tgcRoiSvc;
@@ -127,43 +127,31 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase {
   
   StatusCode RPC_ROI_Mapping();
   
-  double EtaROImin[2][32][32];
-  double EtaROImax[2][32][32];
-  double PhiROImin[2][32][32];
-  double PhiROImax[2][32][32];
+  double m_EtaROImin[2][32][32];
+  double m_EtaROImax[2][32][32];
+  double m_PhiROImin[2][32][32];
+  double m_PhiROImax[2][32][32];
   
   MuonDQAHistMap m_stationHists;
 
   int m_sector;
   int m_side;
-  int rpc_eventstotal;
-  std::string hardware_name                               ;
+  int m_rpc_eventstotal;
   std::vector<Identifier>* m_chambersId			  ;
-  std::vector<std::string> hardware_name_list             ;  
-  std::vector<std::string> layer_name_list                ; 
-  std::vector<std::string> layer_name_list_panel          ; 
-  std::vector<int>         layer_name_bin_list            ; 
-  std::vector<int>         layer_name_bin_list_panel      ;
-  std::vector<std::string> layervslayer_name_list         ;
-  std::vector<std::string> layerPhivsEta_name_list        ;
-  std::vector<std::string> layerPhivsEtaSector_name_list  ;
-  // std::vector<std::string> cm_time_list                ;
-  // std::vector<int>         ch16_index_list             ;
-  
-  int shiftphiatlas ;
-   
+  std::vector<std::string> m_hardware_name_list           ;  
+  std::vector<std::string> m_layer_name_list              ; 
+  std::vector<std::string> m_layer_name_list_panel        ; 
+  std::vector<int>         m_layer_name_bin_list_panel    ;
+  
   std::vector<Identifier>* m_padsId;
-  std::map<std::string,int> hitsperchamber_map;
   
-  bool histo_flag;  
-   
   const MuonGM::MuonDetectorManager* m_muonMgr;
   const RpcIdHelper* m_rpcIdHelper;
   
   const IRPCcablingSvc* m_cabling;
   
   
-  const RpcSectorLogicContainer* sectorLogicContainer; 
+  const RpcSectorLogicContainer* m_sectorLogicContainer; 
   
   //Declare Properties  
   std::string m_chamberName		;
@@ -187,7 +175,6 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase {
   int  m_lv1Thres_2		        ;
   
   bool m_doRpcESD 			;
-  bool Clus_Retr  			;
   bool m_doCoolDB		        ;
   
   bool m_selectLB 			;
@@ -202,7 +189,6 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase {
   int m_StationPhi       		;
   int m_lastEvent        		;
   int m_cosmicStation    		;
-  std::string sector_num 		;
   
   float  m_rpc_readout_window           ;
   double m_MuonDeltaRMatching           ;       
@@ -211,77 +197,67 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase {
   
   int m_nClus;                      // number of clusters
 
+  TH1* m_rpczxSurfaceView    ;   
+  TH1* m_rpcxSurfaceView     ; 
+  TH1* m_rpczSurfaceView     ;
+  TH1* m_f_rpczxSurfaceView  ;
   
-  int ndbl ;
-
-  
-  TH1* rpczxSurfaceView    ;   
-  TH1* rpcxSurfaceView     ; 
-  TH1* rpczSurfaceView     ;
-  TH1* f_rpczxSurfaceView  ;
-  
-  TH1* rpctrack_phivseta   ;  
-  TH1* rpctrack_eta        ;  
-  TH1* rpctrack_phi        ;
+  TH1* m_rpctrack_phivseta   ;  
+  TH1* m_rpctrack_eta        ;  
+  TH1* m_rpctrack_phi        ;
     
-  TH1* rpctrack_bvseta     ;  
-  TH1* rpctrack_b          ;  
+  TH1* m_rpctrack_bvseta     ;  
+  TH1* m_rpctrack_b          ;  
   
-  TH1* rpctrack_bVTXy0     ;
-  TH1* rpctrack_bVTXx0     ;
-  TH1* rpctrack_bVTXz0     ;
+  TH1* m_rpctrack_bVTXy0     ;
+  TH1* m_rpctrack_bVTXx0     ;
+  TH1* m_rpctrack_bVTXz0     ;
    
   
-  TH1* rpcmergepointdistance          ;
-  TH1* f_rpcmergepointdistance        ;
-  TH1* rpcchi2dof		      ;
-  TH1* rpcetavsphichi2dof	      ;
-  TH1* f_rpcchi2dof		      ;
-  TH1* rpcNtracks		      ;
-  TH1* f_rpcNtracks		      ;
-  TH1* rpcPointPerTracks	      ;
-  TH1* f_rpcPointPerTracks	      ;
-  TH1* rpcTimeTrackRes		      ;
-  TH1* rpcTimeTrackRMS		      ;
-  TH1* rpcPhiResidual		      ;
-  TH1* rpcEtaResidual		      ;
-  TH1* f_rpcPhiResidual 	      ;
-  TH1* f_rpcEtaResidual 	      ;
-  TH1* rpcTrackType		      ;
-  TH1* f_rpcTrackType		      ;
+  TH1* m_rpcmergepointdistance          ;
+  TH1* m_f_rpcmergepointdistance        ;
+  TH1* m_rpcchi2dof		      ;
+  TH1* m_rpcetavsphichi2dof	      ;
+  TH1* m_f_rpcchi2dof		      ;
+  TH1* m_rpcNtracks		      ;
+  TH1* m_f_rpcNtracks		      ;
+  TH1* m_rpcPointPerTracks	      ;
+  TH1* m_f_rpcPointPerTracks	      ;
+  TH1* m_rpcTimeTrackRes		      ;
+  TH1* m_rpcTimeTrackRMS		      ;
+  TH1* m_rpcPhiResidual		      ;
+  TH1* m_rpcEtaResidual		      ;
+  TH1* m_f_rpcPhiResidual 	      ;
+  TH1* m_f_rpcEtaResidual 	      ;
+  TH1* m_rpcTrackType		      ;
+  TH1* m_f_rpcTrackType		      ;
  
-  TH1* ResidualVsCS		      ;
+  TH1* m_ResidualVsCS		      ;
  
-  TH2* rpcSectorLayerTrackProj		        ;
-  TH2* rpcSectorLayerResponse		        ;
-  TH2* rpcSectorLayerResponseOR  	        ;
-  TH2* rpcSectorLayerNoiseCorr                  ;
-  TH2* rpcSectorLayerNoiseNotCorr               ;
-  TH1* rpcCS_HitOnTrack 		        ;
-  TH1* rpcCS_NoiseCorr			        ;
-  TH1* rpcCS_NoiseNotCorr		        ;
+  TH2* m_rpcSectorLayerTrackProj		        ;
+  TH2* m_rpcSectorLayerResponse		        ;
+  TH2* m_rpcSectorLayerResponseOR  	        ;
+  TH2* m_rpcSectorLayerNoiseCorr                  ;
+  TH2* m_rpcSectorLayerNoiseNotCorr               ;
+  TH1* m_rpcCS_HitOnTrack 		        ;
+  TH1* m_rpcCS_NoiseCorr			        ;
+  TH1* m_rpcCS_NoiseNotCorr		        ;
   
   TH2* m_rpcCS_angleLong		        ;
   TH2* m_rpcCS_angleTrasv		        ;
   TH2* m_rpcCS_EtavsPhi                         ; 
   
   //Trigger efficiency plots
-  TH1* hMEtracks  ;
+  TH1* m_hMEtracks  ;
   
   
-  std::vector<TH1F*> hRPCPhiEtaCoinThr       ;
-  std::vector<TH1F*> hRPCPadThr              ;
-  std::vector<TH1F*> hRPCMuctpiThr           ;
-  std::vector<TH1F*> hRPCPhiEtaCoinThr_eff   ;
-  std::vector<TH1F*> hRPCPadThr_eff          ;
-  std::vector<TH1F*> hRPCMuctpiThr_eff       ;
+  std::vector<TH1F*> m_hRPCPhiEtaCoinThr       ;
+  std::vector<TH1F*> m_hRPCPadThr              ;
+  std::vector<TH1F*> m_hRPCMuctpiThr           ;
+  std::vector<TH1F*> m_hRPCPhiEtaCoinThr_eff   ;
+  std::vector<TH1F*> m_hRPCPadThr_eff          ;
+  std::vector<TH1F*> m_hRPCMuctpiThr_eff       ;
    
-  std::vector<double> etaminpad   ;
-  std::vector<double> etamaxpad   ;
-  std::vector<double> phiminpad   ;
-  std::vector<double> phimaxpad   ;
-  std::vector<int>    thresholdpad;
-  
   struct muctpi_rdo {
         float eta;
         float phi;
@@ -309,515 +285,26 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase {
   std::vector<TH1F*> m_SummaryHistRPCBA 	;
   std::vector<TH1F*> m_SummaryHistRPCBC 	;
   
-  TH1* SummaryTrackProj	      			; //0
-  TH1* SummaryHitOnTrack	      		; //1
-  TH1* SummaryHitOnTrack_withCrossStrip		; //2
-  TH1* SummaryEfficiency			; //5
-  TH1* SummaryGapEfficiency  			; //6
-  TH1* SummaryNoiseTot_NotNorm			; //3
-  TH1* SummaryNoiseCorr_NotNorm   		; //4
-  TH1* SummaryCS_NotNorm     			; //7
-  TH1* SummaryCS_square				; //8
-  TH1* SummaryCS_entries			; //9
-  TH1* SummaryRes_CS1_NotNorm     		; //10
-  TH1* SummaryRes_CS1_square			; //11
-  TH1* SummaryRes_CS1_entries			; //12
-  TH1* SummaryRes_CS2_NotNorm     		; //13
-  TH1* SummaryRes_CS2_square			; //14
-  TH1* SummaryRes_CS2_entries			; //15
-  TH1* SummaryRes_CSmore2_NotNorm    		; //16
-  TH1* SummaryRes_CSmore2_square		; //17
-  TH1* SummaryRes_CSmore2_entries		; //18
-  TH1* SummaryOccupancy_NotNorm      		; //19
-  TH1* SummaryTime_NotNorm			; //20
-  TH1* SummaryTime_square		        ; //21
-  TH1* SummaryCS1_entries     		        ; //22
-  TH1* SummaryCS2_entries     		        ; //23 adjust m_SummaryHist_Size
-
   std::vector<TH1F*> m_sumTmpHist               ;
-  TH1* SummaryNoiseCorr   			; //0
-  TH1* SummaryNoiseTot   			; //1
-  TH1* SummaryRes_CS1      			; //2
-  TH1* SummaryRes_CS2     			; //3
-  TH1* SummaryRes_CSmore2     			; //4
-  TH1* SummaryOccupancy	      		        ; //5
-  TH1* SummaryCS      				; //6
-  TH1* SummaryTime			        ; //7
   
-
-  TH1* SummaryEffDistriPerSector		;  
-  TH1* SummaryGapEffDistriPerSector		;
-  TH1* SummaryNoiseCorrDistriPerSector		;
-  TH1* SummaryNoiseTotDistriPerSector		;
-  TH1* SummaryCSDistriPerSector		        ;
-  TH1* SummaryRes_CS1DistriPerSector		;
-  TH1* SummaryRes_CS2DistriPerSector		;
-  TH1* SummaryRes_CSmore2DistriPerSector	;
-  TH1* SummaryRes_CS1rmsDistriPerSector   	;
-  TH1* SummaryRes_CS2rmsDistriPerSector         ;
-  TH1* SummaryRes_CSmore2rmsDistriPerSector	;
-  TH1* SummaryOccupancyDistriPerSector		;
-  TH1* SummaryTimeDistriPerSector		;
-    
-  
-  TH1*StripTimeDistributionRPCBA	        ;   
-  TH1*StripTimeDistributionRPCBC	        ; 
-  
-  TH1* RPCBA_layerTrackProj	      		;
-  TH1* RPCBA_layerHitOnTrack	      		;
-  TH1* RPCBA_layerHitOnTrack_withCrossStrip	;
-  TH1* RPCBA_layerNoiseTot   			;
-  TH1* RPCBA_layerNoiseTot_s			;
-  TH1* RPCBA_layerNoiseCorr   			;
-  TH1* RPCBA_layerNoiseCorr_s   		;
-  TH1* RPCBA_layerEfficiency			;
-  TH1* RPCBA_layerGapEfficiency  		;
-  TH1* RPCBA_layerCS      			;
-  TH1* RPCBA_layerCS_s     			;
-  TH1* RPCBA_layerCS_square			;
-  TH1* RPCBA_layerCS_entries			;
-  TH1* RPCBA_layerRes_CS1      			;
-  TH1* RPCBA_layerRes_CS1_s     		;
-  TH1* RPCBA_layerRes_CS1_square		;
-  TH1* RPCBA_layerRes_CS1_entries		;
-  TH1* RPCBA_layerRes_CS2     			;
-  TH1* RPCBA_layerRes_CS2_s     		;
-  TH1* RPCBA_layerRes_CS2_square		;
-  TH1* RPCBA_layerRes_CS2_entries		;
-  TH1* RPCBA_layerRes_CSmore2     		;
-  TH1* RPCBA_layerRes_CSmore2_s    		;
-  TH1* RPCBA_layerRes_CSmore2_square		;
-  TH1* RPCBA_layerRes_CSmore2_entries		;
-  TH1* RPCBA_layerOccupancy	      		;
-  TH1* RPCBA_layerOccupancy_s      		;
-  TH1* RPCBA_layerTime			        ;
-  TH1* RPCBA_layerTime_s			;
-  TH1* RPCBA_layerTime_square		        ;
-    
-  TH1* RPCBC_layerTrackProj	      		;
-  TH1* RPCBC_layerHitOnTrack	      		;
-  TH1* RPCBC_layerHitOnTrack_withCrossStrip	;
-  TH1* RPCBC_layerNoiseTot   			;
-  TH1* RPCBC_layerNoiseTot_s			;
-  TH1* RPCBC_layerNoiseCorr   			;
-  TH1* RPCBC_layerNoiseCorr_s   		;
-  TH1* RPCBC_layerEfficiency			;
-  TH1* RPCBC_layerGapEfficiency  		;
-  TH1* RPCBC_layerCS      			;
-  TH1* RPCBC_layerCS_s     			;
-  TH1* RPCBC_layerCS_square			;
-  TH1* RPCBC_layerCS_entries			;
-  TH1* RPCBC_layerRes_CS1      			;
-  TH1* RPCBC_layerRes_CS1_s     		;
-  TH1* RPCBC_layerRes_CS1_square		;
-  TH1* RPCBC_layerRes_CS1_entries		;
-  TH1* RPCBC_layerRes_CS2     			;
-  TH1* RPCBC_layerRes_CS2_s     		;
-  TH1* RPCBC_layerRes_CS2_square		;
-  TH1* RPCBC_layerRes_CS2_entries		;
-  TH1* RPCBC_layerRes_CSmore2     		;
-  TH1* RPCBC_layerRes_CSmore2_s    		;
-  TH1* RPCBC_layerRes_CSmore2_square		;
-  TH1* RPCBC_layerRes_CSmore2_entries		;
-  TH1* RPCBC_layerOccupancy	      		;
-  TH1* RPCBC_layerOccupancy_s      		;
-  TH1* RPCBC_layerTime			        ;
-  TH1* RPCBC_layerTime_s			;
-  TH1* RPCBC_layerTime_square		        ;
-  
-  enum {enumAvEff, enumAvGapEff, enumAvNoiseCorr, enumAvNoiseTot, 
+   enum {enumAvEff, enumAvGapEff, enumAvNoiseCorr, enumAvNoiseTot, 
         enumAvCS, enumAvRes_CS1, enumAvRes_CS2, enumAvRes_CSmore2,
         enumAvRes_CS1rms, enumAvRes_CS2rms, enumAvRes_CSmore2rms,   
 	enumAvOccupancy, enumAvTime }; 
-  std::vector<TH1F*> rpcAverageSide_C       ;
-  std::vector<TH1F*> rpcAverageSide_A       ; 
+  std::vector<TH1F*> m_rpcAverageSide_C       ;
+  std::vector<TH1F*> m_rpcAverageSide_A       ; 
 
-  TH1* LayerTrackProjection		   ;
-  TH1* LayerHitOnTrack			   ;
-  TH1* LayerEff  			   ;
+  TH1* m_LayerTrackProjection		   ;
+  TH1* m_LayerHitOnTrack		   ;
+  TH1* m_LayerEff  			   ;
  
-  TH1*  rpcCool_TrackProj	           ;
-  TH1*  rpcCool_HitOnTrack  		   ;
-  TH1*  rpcCool_HitOnTrack_withCrossStrip  ;
-  TH1*  rpcCool_NoiseCorr_NotNorm	   ;
-  TH1*  rpcCool_NoiseTot_NotNorm 	   ;
-  TH1*  rpcCool_Res_CS1_NotNorm  	   ;
-  TH1*  rpcCool_Res_CS1_entries		   ;
-  TH1*  rpcCool_Res_CS1_square		   ;
-  TH1*  rpcCool_Res_CS2_NotNorm  	   ;
-  TH1*  rpcCool_Res_CS2_entries		   ;
-  TH1*  rpcCool_Res_CS2_square		   ;
-  TH1*  rpcCool_Res_CSmore2_NotNorm	   ;
-  TH1*  rpcCool_Res_CSmore2_entries 	   ;
-  TH1*  rpcCool_Res_CSmore2_square  	   ;
-  TH1*  rpcCool_Occupancy_NotNorm	   ;
-  TH1*  rpcCool_CS_NotNorm		   ;
-  TH1*  rpcCool_CS_entries  		   ;
-  TH1*  rpcCool_CS_square		   ;
-  TH1*  rpcCool_Time_NotNorm		   ;
-  TH1*  rpcCool_Time_square 		   ; 
-	  
-  // Global Variables declaration
-
-  //string variable
-  std::string layeronly_name            ;
-  std::string layer_name                ;
-  std::string layervslayer_name         ;
-  std::string layerPhivsEta_name        ;
-  std::string layerPhivsEtaSector_name  ;
-  std::string sector_name               ;
-  std::string layer0_name               ;
-  std::string layer1_name               ;
-  std::string layer2_name               ;
-  std::string layertodraw1_name         ;
-  std::string layertodraw2_name         ;
-  std::string layer_name_panel          ;
-  std::string sector_dphi_layer         ;
-  
-  int 	  irpc_station    ;   
-  int 	  irpc_eta        ;      
-  int 	  irpc_phi        ;      
-  int 	  irpc_doublr     ;   
-  int 	  irpc_doublz     ;  
-  int 	  irpc_doublphi   ; 
-  int 	  irpc_gasgap     ;   
-  int 	  irpc_measphi    ; 
-
-   	  
-  double  irpctime	    ;  			  
-  int 	  irpcstationPhi    ;	  
-  int	  irpcstationName   ; 	  
-  int	  irpcstationEta    ; 
-  int 	  irpcdoubletR	    ;	  
-  int	  irpcdoubletZ	    ; 
-  int	  irpcdoubletPhi    ;
-  int	  irpcgasGap	    ; 
-  int	  irpcmeasuresPhi   ; 
-  int	  irpcstrip	    ;  
-  int     irpctriggerInfo   ;
-  //double  irpctriggerInfo   ; 
-  double  irpcambiguityFlag ; 
-  int     irpcthreshold     ;
-  int     m_threshold       ;
-  
-  
-  int     irpcstationPhi_prep  ; 
-  int     irpcstationName_prep ;
-  int     irpcstationEta_prep  ;
-  int     irpcdoubletR_prep    ;   
-  int     irpcdoubletPhi_prep  ;
-  int     irpcmeasuresPhi_prep ;
-  
-  int     irpcstationNameC     ;
-    	  
-  double  irpctimeII	       ;  			  
-  int 	  irpcstationPhiII     ;	
-  int	  irpcstationNameII    ;		
-  int	  irpcstationEtaII     ; 
-  int 	  irpcdoubletRII       ;	  
-  int	  irpcdoubletZII       ; 
-  int	  irpcdoubletPhiII     ;
-  int	  irpcgasGapII	       ; 
-  int	  irpcmeasuresPhiII    ; 
-  int	  irpcstripII	       ; 
-  double  irpctriggerInfoII    ; 
-  double  irpcambiguityFlagII  ;
-  
-  double  x_atl,      y_atl,      z_atl      ;
-  double  x_atl_II,   y_atl_II,   z_atl_II   ;
-  double  x_atlas,    y_atlas,    z_atlas    ;
-  double  x_atl_prep, y_atl_prep, z_atl_prep ;
-  double  phi_atlas                   	     ;
-  double  eta_atlas                   	     ;
-  double  impactParam                        ;
-  
-  int     irpc_clus_station  ;
-  int     irpc_clus_eta      ;    
-  int     irpc_clus_phi      ;    
-  int     irpc_clus_doublr   ; 
-  int     irpc_clus_doublz   ; 
-  int     irpc_clus_doublphi ;
-  int     irpc_clus_gasgap   ; 
-  int     irpc_clus_measphi  ;
-  int     irpc_clus_size     ;   
-  double  irpc_clus_time     ;   
-  double  irpc_clus_posx     ;   
-  double  irpc_clus_posy     ;   
-  double  irpc_clus_posz     ;    
-  double  irpc_clus_poseta   ;   
-  double  irpc_clus_posphi   ;   
-   
-  int     irpc_clus_stationII  ;
-  int     irpc_clus_etaII      ;    
-  int     irpc_clus_phiII      ;    
-  int     irpc_clus_doublrII   ; 
-  int     irpc_clus_doublzII   ; 
-  int     irpc_clus_doublphiII ;
-  int     irpc_clus_gasgapII   ; 
-  int     irpc_clus_measphiII  ;
-  int     irpc_clus_sizeII     ;   
-  double  irpc_clus_timeII     ;   
-  double  irpc_clus_posxII     ;   
-  double  irpc_clus_posyII     ;   
-  double  irpc_clus_poszII     ;     
-  double  irpc_clus_posetaII   ;   
-  double  irpc_clus_posphiII   ;
-
-  int strip                 ; 
-  
-  int NphiStrips            ;
-  int NetaStrips            ;
-  int NetaStripsTot         ;
-  int NetaStripsTotSideA    ;
-  int NetaStripsTotSideC    ;
-  int EtaStripSign          ;
-  int ShiftStrips           ;
-  int ShiftEtaStrips        ;
-  int ShiftEtaStripsTot     ;
-  int ShiftPhiStrips        ;
-  int Nbin                  ;
-  int SectorLogic           ;
-  int Side                  ;
-  int PanelIndex	    ;
-  int Settore	            ;
-  int PlaneTipo             ;
-  
-  int shift_pos             ;
-  
-  int NbinII                ;
-  
-  int     MinEntries	    ; 
-  double  irpc_posx	    ;   
-  double  irpc_posy	    ;   
-  double  irpc_posz	    ;	     
-
-  int  stripetaatlas      ;
-  int  stripphisector     ;
-  int  shiftstripphiatlas ;
-  int  stripphiatlas      ;
-  
-  int N_Rpc_Clusters3D              	;
-  std::vector<int> LayerType        	;
-  std::vector<int> PlaneType        	;
-  std::vector<int> SmallLarge       	;
-  std::vector<int> Rpc_Phi_3D       	;
-  std::vector<int> Rpc_Station_3D   	;
-  std::vector<int> Rpc_Eta_3D       	;
-  std::vector<int> Rpc_DBLr_3D      	;
-  std::vector<int> Rpc_DBLphi_3D    	;
-  std::vector<int> Rpc_DBLz_3D      	;
-  std::vector<int> Rpc_GasGap_3D    	;
-  std::vector<int> Rpc_SL_3D        	;
-  std::vector<int> Rpc_Side_3D      	;
-  std::vector<int> Rpc_avEta_3D         ;
-  std::vector<int> Rpc_avPhi_3D         ;
-  std::vector<double> Rpc_x_3D      	;
-  std::vector<double> Rpc_y_3D      	;
-  std::vector<double> Rpc_z_3D      	;
-  std::vector<double> Rpc_eta_3D      	;
-  std::vector<double> Rpc_phi_3D      	;
-  std::vector<double> Rpc_t_3D      	;
-  std::vector<Identifier> Rpc_id_eta_3D ;
-  std::vector<Identifier> Rpc_id_phi_3D ;
-  std::vector<Amg::Vector3D > Rpc_Point ;
-  std::vector<int   > Rpc_Matched_mu    ;
-  
-  double incAngle  ;
-  
-  int Phi_Rpc_Track;
-  int layertype    ;
-  int planetype    ;
-
-  
-  int N_RpcTrack ;
-  std::vector<Amg::Vector3D > RpcTrack_Vect3DCos  ;
-  std::vector<Amg::Vector3D >  RpcTrack_Poin3RLin  ;
-  std::vector<float>       RpcTrack_chi2dofeta ;
-  std::vector<float>       RpcTrack_chi2dofphi ;
-  std::vector<float>       RpcTrack_chi2dof    ;
-              
-
-  std::string SideSector    ;
-  int  side                 ; 
-  int  sector               ;
-  char sector_char[1000]    ;
-  char dblZ_char[100]       ;
-  char dblPhi_char[100]     ;
-  
-  float av_strip            ;
-  float avstripeta          ;
-  float avstripphi          ;
-  float avstrip             ;
-  
-  int N_Rpc_Tracks          ;  
-  int Phi_Rpc_Tracks        ;
-  int PointperTrack	    ;
-  int linkedtrack           ;
-  int lookforthirdII        ;
-  int thirdlayertypeII      ;
-  int thirdlayerHPt         ;
-  int *Rpc_track            ;
-  
-  
-  float cosmerge 	    ;
-  
-  float x0Phi 	    ;
-  float xyPhi 	    ;
-  float z0Eta 	    ;
-  float zyEta 	    ;
-   
-  int	NplaneSmall0, NplaneSmall1, NplaneSmall2  ; 
-  int	NplaneLarge0, NplaneLarge1, NplaneLarge2  ;
-  
-  
-  float xav , x2av, yav, y2av, zav, z2av, xyav, xzav, zyav ;
-  float deltax, deltaz, deltay	       ;
-  float projx , projz , projy	       ;
-  float chi2dof, chi2dofeta, chi2dofphi;
-  float res, residual2		       ;
-  int   mineta, maxeta, minphi, maxphi ;
-  float tav , t2av, trms , tres        ;
-  float cosyx                          ;
-  float xsurface, zsurface 	       ;
-  float xPy0, zPy0 	               ;
-  float xPz0, yPz0 	               ;
-  float zPx0, yPx0 	               ;
-  float Impact_B_IP                    ;
-  float pseudoeta, anglephi            ;
-  float rhoxy, rho, costh, sinth, pseta;
-  //int   NPhiStrip, NEtaStrip         ;
-  float phipitch, etapitch             ;
-  int   Layer	                       ;
-  int   phistripN, etastripN           ; 
-  int   foundonehiteta, foundonehitphi ;   
-  int   foundEtaPhi                    ;
-  int   foundEtaOrPhi                  ;
-  int   PanelIndexeta ,  PanelIndexphi ;   
-  int   StripIndexeta ,  StripIndexphi ;
-  float stripontrack, residuals        ;
-  float TrackType                      ;
-  float small_large                    ;
-  float hitstripphi                    ;
-  float hitstripeta                    ; 
+  int     m_MinEntries	    ; 
   float m_resThEff		       ;
   
   int   m_HPtPointForHPteff	       ;
   int   m_HPtPointForLPteff	       ;
   int   m_HPtPointForTracks	       ;
-  	       
-  int   res_th                         ;
-  int   n_eta_station                  ;
-  //   int   i_sector		       ; 
-  //   int   i_side		       ;
-  //   int   i_sectorLogic	       ;
-  //   int   i_padId 		       ;
-  //   int   i_status		       ;
-  //   int   i_errorCode	       ;
-  //   int   i_cmaId 		       ;
-  //   int   i_fel1Id		       ;
-  //   int   i_febcId		       ;
-  //   int   i_crc		       ;
-    
-  //   int   match_in_spacefound       ;
-  //   int   N_16ch                    ;
-  //   char  ch16group[100]            ;
-  
-  
-  
-  int   nEtaStatFired_BA_LowPt	       ;
-  int   nEtaStatFired_BC_LowPt	       ;
-  int   nEtaStatFired_BA_HighPt	       ;
-  int   nEtaStatFired_BC_HighPt	       ;
-  //int   nTrigEtaStatVect_BA[8][16*3]   ;
-  //int   nTrigEtaStatVect_BC[7][16*3]   ;
-  bool  m_doTrigEvol		       ;
-  int   minStatTrEvol                  ;
-  int   nTrigEtaStat_BA_LowPt	       ;
-  int   nTrigEtaStat_BC_LowPt	       ;
-  int   nTrigEtaStat_BA_HighPt	       ;
-  int   nTrigEtaStat_BC_HighPt	       ;
-     
-  
-  char histName_char[100]	       	;
-  std::string histName   	       	;
-  std::vector<std::string> DB_list     	;
-  std::vector<std::string> DB_NotNorm_list  	;
-  
-   
-  int istatPhi                         	;
-  int iName                            	; 
-  int ir                               	;
-  int NTotStrips                       	;
-  int NTotStripsSideC, NTotStripsSideA 	;
-  int NTotStripsEtaSideC		;
-  int NTotStripsEtaSideA		;
-  int NTotStripsPhiSideC		;
-  int NTotStripsPhiSideA		;
-  int NEtaTotStripsSideC               	;
-  int NEtaTotStripsSideA               	;
-  int NPhiTotStrips                    	;
-  int iStripEtaA    			;
-  int iStripPhiA			;
-  int iStripEtaC			;
-  int iStripPhiC			;
-  int panelId				;
-  int panelLyIndex			;
-  int panelGasGap			;
-  
-  int Npanel, NSecStrips               	;
-  int strip_dbindex		       	;
-  int ShiftPhiTot_db                   	;
-  int NphiStripsTotSideA               	;
-  int NphiStripsTotSideC               	;
-  int ShiftPhi_db                      	;
-  int Nphi_Zstrips                     	;
-  
-  int rpc2DEtaStatBinX_BA	       	;	
-  int rpc2DEtaStatBinX_BC	       	;
-  int rpc2DEtaStatBinY		       	;
-  int etaStatShiftX_BA		       	;
-  int etaStatShiftX_BC		       	;
-  
-  int binz			       	;
-  int binminz			       	;
-  int binmaxz			       	;
-  int binx			       	;
-  int binminx			       	;
-  int binmaxx			       	;
-  
-  int panelBin                          ;
-  int indexplane                        ;
-  
-  float RPCLyHitOnTr		        ;
-  float RPCLyTrkPrj		        ;
-  float RPCLyEff  		        ;
-  float RPCLyEff_err		        ;
-  float PanelVal  		        ;
-  float PanelVal_err		        ;
-  float PanelVal_entries  	        ;
-  float PanelVal_square		        ;
-  float PanelHitOnTrack		        ;
-  float PanelTrackProj		        ;
-  float PanelHitOnTrack_withCrossStrip  ; 
-  
-  float invgasgaparea		  	;  
-  float invstriparea		  	;
-  float distance		  	;
-  
-  int isNoise                           ;
-  int isNoiseCorr                       ;
-  float isNoisePhiStrip                 ;
-  
-  float norm1                           ;
-  float norm2                           ;
-  
-  float norm3DGaprho                    ;
-  float Vect3DCosrho                    ;   
 };
 
-#endif
- 
-
 
- 
- 
+#endif
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataEfficiency.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataEfficiency.h
index 883dfa105e07359adbbf03315d32bb08c6f6e524..53469b6626a39e88051246991e44b7c5c876420d 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataEfficiency.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataEfficiency.h
@@ -192,7 +192,7 @@ class RpcLv1RawDataEfficiency: public ManagedMonitorToolBase {
   StoreGateSvc*   m_eventStore;  // to get event info
   ActiveStoreSvc* m_activeStore; // to get all the other information
   const RpcIdHelper* m_rpcIdHelper; 
-  const RpcSectorLogicContainer* sectorLogicContainer; 
+  const RpcSectorLogicContainer* m_sectorLogicContainer; 
   const MuonGM::MuonDetectorManager* m_muonMgr; // to retrieve coincidence informations
   
   // Trigger type stuff
@@ -202,9 +202,6 @@ class RpcLv1RawDataEfficiency: public ManagedMonitorToolBase {
   std::stringstream m_ss; 
 
   //for Sector Hits histograms
-  float i_sectorid;
-  bool b_isInput;
-  int i_ptid;
 
   int m_trigtype;
   int m_event;
@@ -216,12 +213,9 @@ class RpcLv1RawDataEfficiency: public ManagedMonitorToolBase {
   std::vector<CoincidenceData*> m_CoincidenceData;
 
   // Declare Histograms
-  TH1* rpclv1_MinDeltaRTrackTrigger[2];
-  TH1* rpclv1_TrackPt[2];
-
-  TH2I* rpclv1_sectorhits_A[6];
-  TH2I* rpclv1_sectorhits_C[6];
-  TH2I* rpclv1_sectorhits_all[6];
+  TH2I* m_rpclv1_sectorhits_A[6];
+  TH2I* m_rpclv1_sectorhits_C[6];
+  TH2I* m_rpclv1_sectorhits_all[6];
 
 };
 
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataSectorLogic.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataSectorLogic.h
index 88141703eab29504584a0f6126099c2431d7df39..60f5fa3f9ab9d55269a9b82755f35594128ebc8f 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataSectorLogic.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataSectorLogic.h
@@ -71,81 +71,42 @@ class RpcLv1RawDataSectorLogic: public ManagedMonitorToolBase {
   ActiveStoreSvc* m_activeStore;
   
   StatusCode StoreTriggerType();
-  int GetTriggerType() { return trigtype; }
-  int trigtype;
+  int GetTriggerType() { return m_trigtype; }
+  int m_trigtype;
 
   mutable MsgStream m_log;     // Gaudi message stream
   bool m_debuglevel;           // control debug messages  
  
-  int rpc_eventstotal;
-  int rpc_event_inarea;  
+  int m_rpc_eventstotal;
+  int m_rpc_event_inarea;  
   
   bool m_lumiblockhist			;
   
-  std::vector<std::string> sectorlogic_list;
-  std::vector<std::string> sectorlogicTowerCma_name_list;
-  std::vector<std::string> sectorlogicTowerCma_name_list2;
-  std::vector<std::string> profile_list;
-  
-  
-  std::map<std::string,int> hitsperchamber_map;
-
   // Declare Histograms
-  TH1* rpclv1_Hits_per_TriggerSector;
-  TH1* rpclv1_TriggerHitsperEvent;
-  TH2* rpclv1_TriggerHitsperEventperTriggerSector;
-  TH1* rpclv1_Hits_per_TriggerSector_LB;
-  TH2* rpclv1_TriggerHitsperEventperTriggerSector_LB;
-  TH1* rpclv1_triggerBCid_inout_LB;
+  TH1* m_rpclv1_Hits_per_TriggerSector;
+  TH1* m_rpclv1_TriggerHitsperEvent;
+  TH2* m_rpclv1_TriggerHitsperEventperTriggerSector;
+  TH1* m_rpclv1_Hits_per_TriggerSector_LB;
+  TH2* m_rpclv1_TriggerHitsperEventperTriggerSector_LB;
+  TH1* m_rpclv1_triggerBCid_inout_LB;
  
-  TH2* rpclv1_TriggerSector_vs_Pad_triggerBCid_inout;
-  TH2* rpclv1_TriggerSector_vs_Pad;
-  TH2* rpclv1_TriggerSector_vs_Pad_Pt1;
-  TH2* rpclv1_TriggerSector_vs_Pad_Pt2;
-  TH2* rpclv1_TriggerSector_vs_Pad_Pt3;
-  TH2* rpclv1_TriggerSector_vs_Pad_Pt4;
-  TH2* rpclv1_TriggerSector_vs_Pad_Pt5;
-  TH2* rpclv1_TriggerSector_vs_Pad_Pt6;
-  TH2* rpclv1_rowinBCid_vs_TriggerSector;
-  TH1* rpclv1_triggerBCid_inout;
-
-
-  TH2* rpclv1_ptid_vs_Tower;
-  TH2* rpclv1_triggerBCid_inout_vs_TriggerSector;
-
-  TH2* rpclv1_triggerBCid_inout_vs_Tower;
-
-  // Global Variables declaration
-	    
-  //string variables
-  
-  std::string sectorlogic_name;
-  std::string tower_name;
-  std::string cma_name;
-  std::string thr_name;
-  std::string ijk_name;
-  std::string cma_name_p;
-  std::string ijk_name_p;
-  
+  TH2* m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout;
+  TH2* m_rpclv1_TriggerSector_vs_Pad;
+  TH2* m_rpclv1_TriggerSector_vs_Pad_Pt1;
+  TH2* m_rpclv1_TriggerSector_vs_Pad_Pt2;
+  TH2* m_rpclv1_TriggerSector_vs_Pad_Pt3;
+  TH2* m_rpclv1_TriggerSector_vs_Pad_Pt4;
+  TH2* m_rpclv1_TriggerSector_vs_Pad_Pt5;
+  TH2* m_rpclv1_TriggerSector_vs_Pad_Pt6;
+  TH2* m_rpclv1_rowinBCid_vs_TriggerSector;
+  TH1* m_rpclv1_triggerBCid_inout;
+
+
+  TH2* m_rpclv1_ptid_vs_Tower;
+  TH2* m_rpclv1_triggerBCid_inout_vs_TriggerSector;
+
+  TH2* m_rpclv1_triggerBCid_inout_vs_Tower;
 
-  // Sector Logic variable declaration
-
-  bool b_isInput;
-  bool b_isInput1;
-  int i_rowinBcid;
-  int i_rowinBcid1;
-  int i_padid;
-  int i_padid1;
-  int i_ptid;
-  int i_roi;
-  int i_roi1;
-  int i_outerPlane;
-  int i_overlapPhi;
-  int i_overlapEta;
-  int i_triggerBcid;
-  int i_triggerBcid1;
-  int i_sectorid;
-  int sli;
   int m_nTriggerHits;
   int m_nTriggerHits_out;
   int m_nTriggerHitsperSector;
@@ -158,12 +119,7 @@ class RpcLv1RawDataSectorLogic: public ManagedMonitorToolBase {
   int m_Tower_in;
   int m_in_sectorid;
 
-  const RpcSectorLogicContainer* sectorLogicContainer;
- 
-  std::string cm_ch_label   ;
-  std::string pad_ch_label  ;
-   
-  
-};
+  const RpcSectorLogicContainer* m_sectorLogicContainer;
+ };
 
 #endif
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataValAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataValAlg.h
index 2a03ae6056d8cd1af47e8726aeb1905a0d719a61..6be427569ba227c3d615d9947c820bdade9c770e 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcLv1RawDataValAlg.h
@@ -1,7 +1,6 @@
 /*
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
-
 //////////////////////////////////////////////////////////////////////////////////////////////
 // Package : RpcRawDataMonitoring
 // Author:   N. Benekos(Illinois) - M. Bianco(INFN-Lecce) - G. Chiodini(INFN-Lecce)
@@ -87,26 +86,16 @@ class RpcLv1RawDataValAlg: public ManagedMonitorToolBase {
   ActiveStoreSvc* m_activeStore;
   
   StatusCode StoreTriggerType();
-  int GetTriggerType() { return trigtype; }
-  int trigtype;
+  int GetTriggerType() { return m_trigtype; }
+  int m_trigtype;
   
   int m_sector;
   int m_side;
-  int rpc_eventstotal;
-  int rpc_event_inarea;
-  //std::string m_clusterContainerName;
 
-  std::vector<Identifier>* m_rpcchambersId;
-  std::vector<std::string> sectorlogic_list                ;
-  std::vector<std::string> sectorlogicTowerCma_name_list   ;
-  std::vector<std::string> sectorlogicTowerCma_name_list2  ;
-  std::vector<std::string> profile_list                    ;
-  
+  std::vector<std::string> m_sectorlogicTowerCma_name_list   ;
+  std::vector<std::string> m_sectorlogicTowerCma_name_list2  ;
+  std::vector<std::string> m_profile_list                    ;
   
-  std::vector<Identifier>* m_padsId;
-  std::map<std::string,int> hitsperchamber_map;
-  
-  bool histo_flag           ;  
   bool m_doClusters         ;
   bool m_checkCabling       ;
   bool m_rpclv1file         ;  
@@ -124,12 +113,6 @@ class RpcLv1RawDataValAlg: public ManagedMonitorToolBase {
   // cool
   void  bookRPCCoolHistograms(std::vector<std::string>::const_iterator &m_iter, int, int, std::string m_layer);
   bool m_doCoolDB		       ;
-  char histName_char[100]	       ;
-  std::string histName   	       ;
-  std::vector<std::string> DB_list     ;
-  
-  TH1* rpcCool_StripProfile            ;
-  TH1* rpcCool_PanelIdHist             ;
   
   std::string m_chamberName;
   std::string m_StationSize;
@@ -138,156 +121,7 @@ class RpcLv1RawDataValAlg: public ManagedMonitorToolBase {
   int m_StationPhi;
   int m_lastEvent;
   int m_cosmicStation;
- 
-  // Define variables in the Ntuple:
-  TH1* rpclv1_hitperEvent                 ;  
-  TH1* rpclv1triggerlowpt_etastat	  ;
-  TH1* rpclv1triggerlowpt_phistat	  ;
-  TH2* rpclv1triggerlowpt_etaphistat	  ;
-  TH1* rpclv1triggerhighpt_etastat	  ;
-  TH1* rpclv1triggerhighpt_phistat	  ;
-  TH2* rpclv1triggerhighpt_etaphistat	  ;
-  TH1* rpclv1sectorlogicstat		  ;
-  TH1* rpclv1towervslogicstat		  ;
-  TH2* rpclv1cmalogicstat		          ;
-  TH2* rpclv1ROI_LowPt                    ;
-  TH2* rpclv1ROI_HighPt                   ;
-  TH1* rpclv1Trigger_cond_LowPt_phi	;
-  TH1* rpclv1Trigger_cond_LowPt_eta       ;
-  TH1* rpclv1Trigger_cond_HighPt_phi      ;
-  TH1* rpclv1Trigger_cond_HighPt_eta      ;
-  
-  TH1* rpclv1_BCid_per_TriggerType        ;
-  
-  TH1* rpclv1_BCid_per_TriggerCorr	;
-  TH2* rpclv1_TriggerLy_vs_SL 		;
-  
-  TH2* rpclv1_TriggerCond_vs_SL           ;
-  TH2* rpclv1_BCid_vs_SL		        ;
-  TH2* rpclv1_LPt_BCid_vs_SL		;
-  TH2* rpclv1_HPt_BCid_vs_SL		;
-	    
-  // Global Variables declaration
-	    
-  //string variables
-  
-  std::string sectorlogic_name          ;
-  std::string tower_name                ;
-  std::string cma_name                  ;
-  std::string thr_name                  ;
-  std::string ijk_name                  ;
-  std::string cma_name_p                ;
-  std::string ijk_name_p                ;
-  char sectorlogic_name_char[1000]      ;
-  char tower_name_char[1000]		;
-  char cma_name_char[1000]		;
-  char thr_name_char[1000]		;
-  char ijk_name_char[1000]              ;
-  char cma_name_p_char[1000]		;
-   
-  
-  int  i_sector       ;	   // pad sector Id
-  int  i_padId        ;    // pad Id
-  int  i_status       ;	   // status
-  int  i_errorCode    ;	   // error code
-  int  i_cmaId        ;    // CMA Id
-  int  i_fel1Id       ;	   // fel1Id
-  int  i_febcId       ;	   // febcId
-  int  i_crc          ;	   // crc
-  int  i_bcId         ;    // bc Id
-  int  i_time         ;    // time
-  int  i_ijk          ;	   // ijk code
-  int  i_channel      ;	   // fired channel
-  int  i_overlap      ;	   // overlap
-  int  i_threshold    ;	   // threshold
-					
-  int  i_thr          ;
-  int  thrskip        ;
-					    
-  int  NtriggerLowPtPhi        ;
-  int  NtriggerLowPtEta        ;
-  int  NtriggerHighPtPhi       ;
-  int  NtriggerHighPtEta       ;
-  int  ijk_trigger	       ;
-  int  Layertrigger            ;	
-  int  shift_pad               ;
-  int  shift_cm                ;
-  int  shift_ijk               ;
-  int  sec_large               ;
-  
- 
-  int  m_nPads           ;
-  int  m_nCMA            ;
-  int  m_nFiredChannels  ;
-    
-  int  i_triggertimelowpt   ;	 
-  int  i_triggertimehighpt  ;  
-  int  n_triggerlowpt       ;  
-  int  n_triggerlowpt_eta   ;
-  int  n_triggerlowpt_phi   ;
-  int  n_triggerhighpt      ;
-  int  n_triggerhighpt_eta  ;
-  int  n_triggerhighpt_phi  ;
-  int  n_trigLow_ly         ;
-  int  n_trigHigh_ly        ;
-  
-  int  IJKtriggerLowPtPhi   ;
-  int  IJKtriggerLowPtEta   ;
-  int  IJKtriggerHighPtPhi  ;
-  int  IJKtriggerHighPtEta  ;
-     
-   
-  int istatPhi                         	;
-  int iName                            	; 
-  int ir                               	;
-  
-  
-
-  //string variable
-  std::string layeronly_name            ;
-  std::string layer_name                ;
-  std::string layervslayer_name         ;
-  std::string layerPhivsEta_name        ;
-  std::string layerPhivsEtaSector_name  ;
-  std::string sector_name               ;
-  std::string layer0_name               ;
-  std::string layer1_name               ;
-  std::string layer2_name               ;
-  std::string layertodraw1_name         ;
-  std::string layertodraw2_name         ;
-  std::string layer_name_panel          ;
-  std::string sector_dphi_layer         ;
-  
-  std::string SideSector    ;
-  int  side                 ; 
-  int  sector               ;
-  
-  const RpcPadContainer* rpcRDO ;  
-  const RpcPad*          rdoColl;
-  
-  //sector logic stuff
-  int m_SL_nSectors     ;
-  int m_SL_nTriggerHits ;
-  const RpcSectorLogicContainer* sectorLogicContainer;
-  
-  int N_pad, N_bin_profile  ;
-  std::string cm_ch_label   ;
-  std::string pad_ch_label  ;
-  
-  TH2* TriggerCondition_vs_CM ;
-  
-  // logical OR
-  // PhiOr[sector logic][cm][ijk][channel]
-  int PhiOr[64][4][4][32] ;
-  TH2* rpclv1_logicalOR_LowPt0 ;
-  TH2* rpclv1_logicalOR_LowPt1 ;
-  TH2* rpclv1_logicalOR_HighPt0;
-  TH2* rpclv1_logicalOR_HighPt1;
- 
-    
 };
 
-#endif 
-
 
- 
+#endif 
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataValAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataValAlg.h
index ddbcd1551bd6383530c99a3a9eacdd016fc9dad7..4cd64fd4895235eee8031c232802c901b1931cab 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataValAlg.h
@@ -71,7 +71,7 @@ class RpcRawDataValAlg: public ManagedMonitorToolBase {
  private:
       
   bool m_first = true;   //!< flag to make sure that overflow message is only printed once 
-  std::string type ;
+  std::string m_type ;
   
   // Private function to add the clusters to the ntuple
   StatusCode addClusters(std::string clusterContainerName);  
@@ -105,30 +105,26 @@ class RpcRawDataValAlg: public ManagedMonitorToolBase {
 
   int m_sector;
   int m_side;
-  int rpc_eventstotal;
-  std::string hardware_name                                  ;
+  int m_rpc_eventstotal;
+  std::string m_hardware_name                                ;
   std::vector<Identifier>*    m_chambersId		     ;
-  std::vector<std::string>    hardware_name_list             ;  
-  std::vector<std::string>    layer_name_list                ; 
-  std::vector<std::string>    layer_name_list_panel          ; 
-  std::vector<int>            layer_name_bin_list            ; 
-  std::vector<int>            layer_name_bin_list_panel      ;
-  std::vector<std::string>    layervslayer_name_list         ;
-  std::vector<std::string>    layerPhivsEta_name_list        ;
-  std::vector<std::string>    layerPhivsEtaSector_name_list  ;
+  std::vector<std::string>    m_layer_name_list              ; 
+  std::vector<std::string>    m_layer_name_list_panel        ; 
+  std::vector<int>            m_layer_name_bin_list_panel    ;
+  std::vector<std::string>    m_layervslayer_name_list       ;
+  std::vector<std::string>    m_layerPhivsEta_name_list      ;
+  std::vector<std::string>    m_layerPhivsEtaSector_name_list;
   // std::vector<std::string> cm_time_list                   ;
   // std::vector<int>         ch16_index_list                ;
-  int                         StationNameViewIndex[100][2]   ;
-  float                       StationNameSectorSize[100]     ;
-  float                       StationPivotSectorSize[100]    ;
+  int                         m_StationNameViewIndex[100][2] ;
+  float                       m_StationNameSectorSize[100]   ;
+  float                       m_StationPivotSectorSize[100]  ;
   
-  int shiftphiatlas ;
+  int m_shiftphiatlas ;
    
   std::vector<Identifier>* m_padsId;
-  std::map<std::string,int> hitsperchamber_map;
+  std::map<std::string,int> m_hitsperchamber_map;
   
-  bool histo_flag;  
-   
   const MuonGM::MuonDetectorManager* m_muonMgr;
   const RpcIdHelper* m_rpcIdHelper;
   
@@ -160,13 +156,11 @@ class RpcRawDataValAlg: public ManagedMonitorToolBase {
   int  m_LBmax 		                ; 
   
   bool m_doRpcESD 			;
-  bool Clus_Retr  			;
        
   int m_StationEta       		;
   int m_StationPhi       		;
   int m_lastEvent        		;
   int m_cosmicStation    		;
-  std::string sector_num 		;
  
   // Define variables in the Ntuple:
   int m_nColl;  		    // number of collection in the container
@@ -177,25 +171,23 @@ class RpcRawDataValAlg: public ManagedMonitorToolBase {
   int m_nPrd_BA	;
   int m_nPrd_BC ;
   
-  int ndbl ;
-  
   enum {enumBA_LowPt, enumBC_LowPt, enumBA_HighPt, enumBC_HighPt};
-  std::vector<TH2I*> rpc2DEtaStationTriggerHits_Side_Pt      ; 
-  std::vector<TH2F*> rpc2DEtaStationTriggerHits_Side_Pt_norm ; 
-  int   nEtaStatFired_BA_LowPt	       ;
-  int   nEtaStatFired_BC_LowPt	       ;
-  int   nEtaStatFired_BA_HighPt	       ;
-  int   nEtaStatFired_BC_HighPt	       ; 
+  std::vector<TH2I*> m_rpc2DEtaStationTriggerHits_Side_Pt      ; 
+  std::vector<TH2F*> m_rpc2DEtaStationTriggerHits_Side_Pt_norm ; 
+  int   m_nEtaStatFired_BA_LowPt	       ;
+  int   m_nEtaStatFired_BC_LowPt	       ;
+  int   m_nEtaStatFired_BA_HighPt	       ;
+  int   m_nEtaStatFired_BC_HighPt	       ; 
    
-  std::vector<TH1I*> rpcNumberEtaStatFired_Side_Pt      ;
+  std::vector<TH1I*> m_rpcNumberEtaStatFired_Side_Pt      ;
   bool  m_doTrigEvol		       ;
   bool  m_doLumiPlot		       ;
   bool  m_doTriggerHits                ;
-  int   minStatTrEvol                  ;
-  int   nTrigEtaStat_BA_LowPt	       ;
-  int   nTrigEtaStat_BC_LowPt	       ;
-  int   nTrigEtaStat_BA_HighPt	       ;
-  int   nTrigEtaStat_BC_HighPt	       ; 
+  int   m_minStatTrEvol                  ;
+  int   m_nTrigEtaStat_BA_LowPt	       ;
+  int   m_nTrigEtaStat_BC_LowPt	       ;
+  int   m_nTrigEtaStat_BA_HighPt	       ;
+  int   m_nTrigEtaStat_BC_HighPt	       ; 
   
   enum {enum_Phi_LowPt        ,enum_Phi_HighPt       ,enum_Eta_LowPt       ,enum_Eta_HighPt       ,
         enum_Phi_LowPt_BA     ,enum_Phi_HighPt_BA    ,enum_Eta_LowPt_BA    ,enum_Eta_HighPt_BA    ,
@@ -207,419 +199,161 @@ class RpcRawDataValAlg: public ManagedMonitorToolBase {
         enum_Phi_LowPt0_BC    ,enum_Phi_LowPt1_BC    ,enum_Eta_LowPt0_BC   ,enum_Eta_LowPt1_BC    ,
         enum_Phi_Pivot0_BC    ,enum_Phi_Pivot1_BC    ,enum_Eta_Pivot0_BC   ,enum_Eta_Pivot1_BC    ,
         enum_Phi_HighPt0_BC   ,enum_Phi_HighPt1_BC   ,enum_Eta_HighPt0_BC  ,enum_Eta_HighPt1_BC}  ;
-  std::vector<TH2I*> rpc2DPanelHits ; 
-  std::vector<TH2I*> rpc1DvsLBPanelHits ;
+  std::vector<TH2I*> m_rpc2DPanelHits ; 
+  std::vector<TH2I*> m_rpc1DvsLBPanelHits ;
   enum {enum_Phi_TrigTowerLowPt_BA ,enum_Phi_TrigTowerHighPt_BA, enum_Eta_TrigTowerLowPt_BA ,enum_Eta_TrigTowerHighPt_BA ,
         enum_Phi_TrigTowerLowPt_BC ,enum_Phi_TrigTowerHighPt_BC, enum_Eta_TrigTowerLowPt_BC ,enum_Eta_TrigTowerHighPt_BC };    
-  std::vector<TH2I*> rpc1DvsLBTrigTowerHits ;  
+  std::vector<TH2I*> m_rpc1DvsLBTrigTowerHits ;  
   
-  TH1* rpcEtaTime	   ;
-  TH1* rpcPhiTime	   ;
-  TH1* rpcevents	   ;
-  TH1* rpctime		   ;
+  TH1* m_rpcEtaTime	   ;
+  TH1* m_rpcPhiTime	   ;
+  TH1* m_rpcevents	   ;
+  TH1* m_rpctime		   ;
     
   
-  TH1* rpcclusters	   ;
-  TH1* rpcCSEta 	   ;
-  TH1* rpcCSPhi 	   ;
-
-  TH1* rpcCSEta_BA 	   ;
-  TH1* rpcCSPhi_BA 	   ;
-  TH1* rpcCSEta_BC 	   ;
-  TH1* rpcCSPhi_BC 	   ;
-
-  
-  
-  TH2* rpcPhivsEtaAtlasPivot0   	       ;
-  TH2* rpcPhivsEtaAtlasPivot1   	       ;
-  TH2* rpcPhivsEtaAtlasLowPt0   	       ;
-  TH2* rpcPhivsEtaAtlasLowPt1   	       ;
-  TH2* rpcPhivsEtaAtlasHighPt0  	       ;
-  TH2* rpcPhivsEtaAtlasHighPt1  	       ;
-  TH2* rpcPhivsEtaAtlasLowPt_TriggerOut        ;
-  TH2* rpcPhivsEtaAtlasHighPt_TriggerFromLowPt ;
-  TH2* rpcPhivsEtaAtlasHighPt_TriggerOut       ;
-  
-  TH2* rpcPhivsEtaAtlasPivot0_PhivsZ	       ;
-  TH2* rpcPhivsEtaAtlasPivot1_PhivsZ	       ;
-  TH2* rpcPhivsEtaAtlasLowPt0_PhivsZ	       ;
-  TH2* rpcPhivsEtaAtlasLowPt1_PhivsZ	       ;
-  TH2* rpcPhivsEtaAtlasHighPt0_PhivsZ	       ;
-  TH2* rpcPhivsEtaAtlasHighPt1_PhivsZ	       ;
-  TH2* rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ        ;
-  TH2* rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ ;
-  TH2* rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ       ;
+  TH1* m_rpcclusters	   ;
+  TH1* m_rpcCSEta 	   ;
+  TH1* m_rpcCSPhi 	   ;
+
+  TH1* m_rpcCSEta_BA 	   ;
+  TH1* m_rpcCSPhi_BA 	   ;
+  TH1* m_rpcCSEta_BC 	   ;
+  TH1* m_rpcCSPhi_BC 	   ;
+
+  
+  
+  TH2* m_rpcPhivsEtaAtlasPivot0   	       ;
+  TH2* m_rpcPhivsEtaAtlasPivot1   	       ;
+  TH2* m_rpcPhivsEtaAtlasLowPt0   	       ;
+  TH2* m_rpcPhivsEtaAtlasLowPt1   	       ;
+  TH2* m_rpcPhivsEtaAtlasHighPt0  	       ;
+  TH2* m_rpcPhivsEtaAtlasHighPt1  	       ;
+  TH2* m_rpcPhivsEtaAtlasLowPt_TriggerOut        ;
+  TH2* m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt ;
+  TH2* m_rpcPhivsEtaAtlasHighPt_TriggerOut       ;
+  
+  TH2* m_rpcPhivsEtaAtlasPivot0_PhivsZ	       ;
+  TH2* m_rpcPhivsEtaAtlasPivot1_PhivsZ	       ;
+  TH2* m_rpcPhivsEtaAtlasLowPt0_PhivsZ	       ;
+  TH2* m_rpcPhivsEtaAtlasLowPt1_PhivsZ	       ;
+  TH2* m_rpcPhivsEtaAtlasHighPt0_PhivsZ	       ;
+  TH2* m_rpcPhivsEtaAtlasHighPt1_PhivsZ	       ;
+  TH2* m_rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ        ;
+  TH2* m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ ;
+  TH2* m_rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ       ;
   
     
-  TH2* rpc2DEtaStation                	    ;
-  TH2* rpc2DEtaStationGap1           	    ;
-  TH2* rpc2DEtaStationGap2           	    ;
-  TH2* rpc2DEtaStationTriggerHits    	    ;
-  
-  TH2* GlobalHitsPerRPCMiddle        	    ;
-  TH2* GlobalHitsPerRPCOuter         	    ;
-  
-  TH2* EtavsPhi_TriggeredMuons_LowPt        ;
-  TH2* EtavsPhi_TriggeredMuons_HighPt        ;
-  TH2* EtavsPhi_TriggeredMuons_Pt1          ;
-  TH2* EtavsPhi_TriggeredMuons_Pt2          ;
-  TH2* EtavsPhi_TriggeredMuons_Pt3          ;
-  TH2* EtavsPhi_TriggeredMuons_Pt4          ;
-  TH2* EtavsPhi_TriggeredMuons_Pt5          ;
-  TH2* EtavsPhi_TriggeredMuons_Pt6          ;
-  
-  TH1* RPC_Threshold_Eta             	    ;	  
-  TH1* RPC_Threshold_Phi             	    ;
+  TH2* m_rpc2DEtaStation                	    ;
+  TH2* m_rpc2DEtaStationGap1           	    ;
+  TH2* m_rpc2DEtaStationGap2           	    ;
+  TH2* m_rpc2DEtaStationTriggerHits    	    ;
+  
+  TH2* m_GlobalHitsPerRPCMiddle        	    ;
+  TH2* m_GlobalHitsPerRPCOuter         	    ;
+
+  TH2* m_EtavsPhi_TriggeredMuons_LowPt        ;
+  TH2* m_EtavsPhi_TriggeredMuons_HighPt        ;
+  TH2* m_EtavsPhi_TriggeredMuons_Pt1          ;
+  TH2* m_EtavsPhi_TriggeredMuons_Pt2          ;
+  TH2* m_EtavsPhi_TriggeredMuons_Pt3          ;
+  TH2* m_EtavsPhi_TriggeredMuons_Pt4          ;
+  TH2* m_EtavsPhi_TriggeredMuons_Pt5          ;
+  TH2* m_EtavsPhi_TriggeredMuons_Pt6          ;
+  
+  TH1* m_RPC_Threshold_Eta             	    ;	  
+  TH1* m_RPC_Threshold_Phi             	    ;
  
-  TH2* RPC_TriggerRoad                      ;
-  TH2* RPC_TriggerRoad_Large_Eta      ;
-  TH2* RPC_TriggerRoad_Large_Phi      ;
-  TH2* RPC_TriggerRoad_Small_Eta      ;
-  TH2* RPC_TriggerRoad_Small_Phi      ;
+  TH2* m_RPC_TriggerRoad                      ;
+  TH2* m_RPC_TriggerRoad_Large_Eta      ;
+  TH2* m_RPC_TriggerRoad_Large_Phi      ;
+  TH2* m_RPC_TriggerRoad_Small_Eta      ;
+  TH2* m_RPC_TriggerRoad_Small_Phi      ;
     
   
-  TH1* TotalNumber_of_RPC_hits_per_events_BA;
-  TH1* TotalNumber_of_RPC_hits_per_events_BC;
-  TH1* rpctime_BA			    ;
-  TH1* rpctime_BC			    ;
-  TH1* rpctime_LPt_BA			;
-  TH1* rpctime_LPt_BC			;
-  TH1* rpctime_HPt_BA			;
-  TH1* rpctime_HPt_BC			;
-
-
-  TH1* rpctime_Sector1_BA		    ;
-  TH1* rpctime_Sector2_BA		    ;
-  TH1* rpctime_Sector3_BA		    ;
-  TH1* rpctime_Sector4_BA		    ;
-  TH1* rpctime_Sector5_BA		    ;
-  TH1* rpctime_Sector6_BA		    ;
-  TH1* rpctime_Sector7_BA		    ;
-  TH1* rpctime_Sector8_BA		    ;
-  TH1* rpctime_Sector9_BA		    ;
-  TH1* rpctime_Sector10_BA		    ;
-  TH1* rpctime_Sector11_BA		    ;
-  TH1* rpctime_Sector12_BA		    ;
-  TH1* rpctime_Sector13_BA		    ;
-  TH1* rpctime_Sector14_BA		    ;
-  TH1* rpctime_Sector15_BA		    ;
-  TH1* rpctime_Sector16_BA		    ;
-
-  TH1* rpctime_Sector1_BC		    ;
-  TH1* rpctime_Sector2_BC		    ;
-  TH1* rpctime_Sector3_BC		    ;
-  TH1* rpctime_Sector4_BC		    ;
-  TH1* rpctime_Sector5_BC		    ;
-  TH1* rpctime_Sector6_BC		    ;
-  TH1* rpctime_Sector7_BC		    ;
-  TH1* rpctime_Sector8_BC		    ;
-  TH1* rpctime_Sector9_BC		    ;
-  TH1* rpctime_Sector10_BC		    ;
-  TH1* rpctime_Sector11_BC		    ;
-  TH1* rpctime_Sector12_BC		    ;
-  TH1* rpctime_Sector13_BC		    ;
-  TH1* rpctime_Sector14_BC		    ;
-  TH1* rpctime_Sector15_BC		    ;
-  TH1* rpctime_Sector16_BC		    ;
-
-  
-  TH1* rpcTriggerHitsPerEvents_Eta_LowPt    ;  
-  TH1* rpcTriggerHitsPerEvents_Phi_LowPt    ;  
-  TH1* rpcTriggerHitsPerEvents_Eta_HighPt   ;  
-  TH1* rpcTriggerHitsPerEvents_Phi_HighPt   ;
-  
-  TH1* rpc1DStationNameHitsSideA            ;
-  TH1* rpc1DStationNameTriggerHitsSideA     ;
-  TH1* rpc1DStationNameHitsSideC            ;
-  TH1* rpc1DStationNameTriggerHitsSideC     ;
+  TH1* m_TotalNumber_of_RPC_hits_per_events_BA;
+  TH1* m_TotalNumber_of_RPC_hits_per_events_BC;
+  TH1* m_rpctime_BA			    ;
+  TH1* m_rpctime_BC			    ;
+  TH1* m_rpctime_LPt_BA			;
+  TH1* m_rpctime_LPt_BC			;
+  TH1* m_rpctime_HPt_BA			;
+  TH1* m_rpctime_HPt_BC			;
+
+
+  TH1* m_rpctime_Sector1_BA		    ;
+  TH1* m_rpctime_Sector2_BA		    ;
+  TH1* m_rpctime_Sector3_BA		    ;
+  TH1* m_rpctime_Sector4_BA		    ;
+  TH1* m_rpctime_Sector5_BA		    ;
+  TH1* m_rpctime_Sector6_BA		    ;
+  TH1* m_rpctime_Sector7_BA		    ;
+  TH1* m_rpctime_Sector8_BA		    ;
+  TH1* m_rpctime_Sector9_BA		    ;
+  TH1* m_rpctime_Sector10_BA		    ;
+  TH1* m_rpctime_Sector11_BA		    ;
+  TH1* m_rpctime_Sector12_BA		    ;
+  TH1* m_rpctime_Sector13_BA		    ;
+  TH1* m_rpctime_Sector14_BA		    ;
+  TH1* m_rpctime_Sector15_BA		    ;
+  TH1* m_rpctime_Sector16_BA		    ;
+
+  TH1* m_rpctime_Sector1_BC		    ;
+  TH1* m_rpctime_Sector2_BC		    ;
+  TH1* m_rpctime_Sector3_BC		    ;
+  TH1* m_rpctime_Sector4_BC		    ;
+  TH1* m_rpctime_Sector5_BC		    ;
+  TH1* m_rpctime_Sector6_BC		    ;
+  TH1* m_rpctime_Sector7_BC		    ;
+  TH1* m_rpctime_Sector8_BC		    ;
+  TH1* m_rpctime_Sector9_BC		    ;
+  TH1* m_rpctime_Sector10_BC		    ;
+  TH1* m_rpctime_Sector11_BC		    ;
+  TH1* m_rpctime_Sector12_BC		    ;
+  TH1* m_rpctime_Sector13_BC		    ;
+  TH1* m_rpctime_Sector14_BC		    ;
+  TH1* m_rpctime_Sector15_BC		    ;
+  TH1* m_rpctime_Sector16_BC		    ;
+
+  
+  TH1* m_rpcTriggerHitsPerEvents_Eta_LowPt    ;  
+  TH1* m_rpcTriggerHitsPerEvents_Phi_LowPt    ;  
+  TH1* m_rpcTriggerHitsPerEvents_Eta_HighPt   ;  
+  TH1* m_rpcTriggerHitsPerEvents_Phi_HighPt   ;
+  
+  TH1* m_rpc1DStationNameHitsSideA            ;
+  TH1* m_rpc1DStationNameTriggerHitsSideA     ;
+  TH1* m_rpc1DStationNameHitsSideC            ;
+  TH1* m_rpc1DStationNameTriggerHitsSideC     ;
   
   
   // Global Variables declaration
 
   //string variable
-  std::string layeronly_name            ;
-  std::string layer_name                ;
-  std::string layervslayer_name         ;
-  std::string layerPhivsEta_name        ;
-  std::string layerPhivsEtaSector_name  ;
-  std::string sector_name               ;
-  std::string layer0_name               ;
-  std::string layer1_name               ;
-  std::string layer2_name               ;
-  std::string layertodraw1_name         ;
-  std::string layertodraw2_name         ;
-  std::string layer_name_panel          ;
-  std::string sector_dphi_layer         ;
-  
-  int 	  irpc_station    ;   
-  int 	  irpc_eta        ;      
-  int 	  irpc_phi        ;      
-  int 	  irpc_doublr     ;   
-  int 	  irpc_doublz     ;  
-  int 	  irpc_doublphi   ; 
-  int 	  irpc_gasgap     ;   
-  int 	  irpc_measphi    ; 
-
-   	  
-  double  irpctime	    ;  			  
-  int 	  irpcstationPhi    ;	  
-  int	  irpcstationName   ; 	  
-  int	  irpcstationEta    ; 
-  int 	  irpcdoubletR	    ;	  
-  int	  irpcdoubletZ	    ; 
-  int	  irpcdoubletPhi    ;
-  int	  irpcgasGap	    ; 
-  int	  irpcmeasuresPhi   ; 
-  int	  irpcstrip	    ;  
-  int     irpctriggerInfo   ;
-  //double  irpctriggerInfo   ; 
-  double  irpcambiguityFlag ; 
-  int     irpcthreshold     ;
-  int     m_threshold       ;
-  
-  
-  int     irpcstationPhi_prep  ; 
-  int     irpcstationName_prep ;
-  int     irpcstationEta_prep  ;
-  int     irpcdoubletR_prep    ;   
-  int     irpcdoubletPhi_prep  ;
-  int     irpcmeasuresPhi_prep ;
-  
-  int     irpcstationNameC     ;
-    	  
-  double  irpctimeII	       ;  			  
-  int 	  irpcstationPhiII     ;	
-  int	  irpcstationNameII    ;		
-  int	  irpcstationEtaII     ; 
-  int 	  irpcdoubletRII       ;	  
-  int	  irpcdoubletZII       ; 
-  int	  irpcdoubletPhiII     ;
-  int	  irpcgasGapII	       ; 
-  int	  irpcmeasuresPhiII    ; 
-  int	  irpcstripII	       ; 
-  double  irpctriggerInfoII    ; 
-  double  irpcambiguityFlagII  ;
-  
-  double  x_atl,      y_atl,      z_atl      ;
-  double  x_atl_II,   y_atl_II,   z_atl_II   ;
-  double  x_atlas,    y_atlas,    z_atlas    ;
-  double  x_atl_prep, y_atl_prep, z_atl_prep ;
-  double  phi_atlas                   	     ;
-  double  eta_atlas                   	     ;
-  double  impactParam                        ;
-  
-  int     irpc_clus_station  ;
-  int     irpc_clus_eta      ;    
-  int     irpc_clus_phi      ;    
-  int     irpc_clus_doublr   ; 
-  int     irpc_clus_doublz   ; 
-  int     irpc_clus_doublphi ;
-  int     irpc_clus_gasgap   ; 
-  int     irpc_clus_measphi  ;
-  int     irpc_clus_size     ;   
-  double  irpc_clus_time     ;   
-  double  irpc_clus_posx     ;   
-  double  irpc_clus_posy     ;   
-  double  irpc_clus_posz     ;   
-   
-  int     irpc_clus_stationII  ;
-  int     irpc_clus_etaII      ;    
-  int     irpc_clus_phiII      ;    
-  int     irpc_clus_doublrII   ; 
-  int     irpc_clus_doublzII   ; 
-  int     irpc_clus_doublphiII ;
-  int     irpc_clus_gasgapII   ; 
-  int     irpc_clus_measphiII  ;
-  int     irpc_clus_sizeII     ;   
-  double  irpc_clus_timeII     ;   
-  double  irpc_clus_posxII     ;   
-  double  irpc_clus_posyII     ;   
-  double  irpc_clus_poszII     ;  
-
-  int strip                 ; 
-  
-  int NphiStrips            ;
-  int NetaStrips            ;
-  int NetaStripsTot         ;
-  int NetaStripsTotSideA    ;
-  int NetaStripsTotSideC    ;
-  int EtaStripSign          ;
-  int ShiftStrips           ;
-  int ShiftEtaStrips        ;
-  int ShiftEtaStripsTot     ;
-  int ShiftPhiStrips        ;
-  int Nbin                  ;
-  int SectorLogic           ;
-  int Side                  ;
-  int PanelIndex	    ;
-  int Settore	            ;
-  int PlaneTipo             ;
-  
-  int shift_pos             ;
-  
-  int NbinII                ;
-  
-  int     MinEntries	    ; 
-  double  irpc_posx	    ;   
-  double  irpc_posy	    ;   
-  double  irpc_posz	    ;	     
-
-  int  stripetaatlas      ;
-  int  stripphisector     ;
-  int  shiftstripphiatlas ;
-  int  stripphiatlas      ;
-
-  int Phi_Rpc_Track;
-  int layertype    ;
-  int planetype    ;
-
-  std::string SideSector    ;
-  int  side                 ; 
-  int  sector               ;
-  char sector_char[1000]    ;
-  char dblZ_char[100]       ;
-  char dblPhi_char[100]     ;
-  
-  float av_strip            ;
-  float avstripeta          ;
-  float avstripphi          ;
-  float avstrip             ;
-  
-  int N_Rpc_Tracks          ;  
-  int Phi_Rpc_Tracks        ;
-  int PointperTrack	    ;
-  int linkedtrack           ;
-  int lookforthirdII        ;
-  int thirdlayertypeII      ;
-  int thirdlayerHPt         ;
- 
-  
-  
-  float cosmerge 	    ;
-  
-  float x0Phi 	    ;
-  float xyPhi 	    ;
-  float z0Eta 	    ;
-  float zyEta 	    ;
-   
-  int	NplaneSmall0, NplaneSmall1, NplaneSmall2  ; 
-  int	NplaneLarge0, NplaneLarge1, NplaneLarge2  ;
-  
-  
-  float xav , x2av, yav, y2av, zav, z2av, xyav, xzav, zyav ;
-  float deltax, deltaz, deltay	       ;
-  float projx , projz , projy	       ;
-  float chi2dof, chi2dofeta, chi2dofphi;
-  float res, residual2		       ;
-  int   mineta, maxeta, minphi, maxphi ;
-  float tav , t2av, trms , tres        ;
-  float cosyx                          ;
-  float xsurface, zsurface 	       ;
-  float xPy0, zPy0 	               ;
-  float xPz0, yPz0 	               ;
-  float zPx0, yPx0 	               ;
-  float Impact_B_IP, polar             ;
-  float pseudoeta, anglephi            ;
-  float rhoxy, rho, costh, sinth, pseta;
-  float polarx, polary                 ; 
-  //int   NPhiStrip, NEtaStrip         ;
-  float phipitch, etapitch             ;
-  int   Layer	                       ;
-  int   phistripN, etastripN           ; 
-  int   foundonehiteta, foundonehitphi ;  
-  float stripontrack, residuals        ;
-  float TrackType                      ;
-  float small_large                    ;
-  float hitstripphi                    ;
-  float hitstripeta                    ; 
-  
- 
-  int   res_th                         ;
-  int   n_eta_station                  ;
-  //   int   i_sector		       ; 
-  //   int   i_side		       ;
-  //   int   i_sectorLogic	       ;
-  //   int   i_padId 		       ;
-  //   int   i_status		       ;
-  //   int   i_errorCode	       ;
-  //   int   i_cmaId 		       ;
-  //   int   i_fel1Id		       ;
-  //   int   i_febcId		       ;
-  //   int   i_crc		       ;
-    
-  //   int   match_in_spacefound       ;
-  //   int   N_16ch                    ;
-  //   char  ch16group[100]            ;
+  std::string m_layeronly_name            ;
+  std::string m_layer_name                ;
+  std::string m_layervslayer_name         ;
+  std::string m_layerPhivsEta_name        ;
+  std::string m_layerPhivsEtaSector_name  ;
+  std::string m_sector_name               ;
+  std::string m_layer0_name               ;
+  std::string m_layer1_name               ;
+  std::string m_layer2_name               ;
+  std::string m_layertodraw1_name         ;
+  std::string m_layertodraw2_name         ;
+  std::string m_layer_name_panel          ;
+  std::string m_sector_dphi_layer         ;
   
+  int     m_threshold       ;
   
+  int     m_MinEntries	    ; 
 
-     
-   
-  int istatPhi                         	;
-  int iName                            	; 
-  int ir                               	;
-  int NTotStrips                       	;
-  int NTotStripsSideC, NTotStripsSideA 	;
-  int NTotStripsEtaSideC		;
-  int NTotStripsEtaSideA		;
-  int NTotStripsPhiSideC		;
-  int NTotStripsPhiSideA		;
-  int NEtaTotStripsSideC               	;
-  int NEtaTotStripsSideA               	;
-  int NPhiTotStrips                    	;
-  int iStripEtaA    			;
-  int iStripPhiA			;
-  int iStripEtaC			;
-  int iStripPhiC			;
-  int panelId				;
-  int panelLyIndex			;
-  int panelGasGap			;
-  
-  int Npanel, NSecStrips               	;
-  int strip_dbindex		       	;
-  int ShiftPhiTot_db                   	;
-  int NphiStripsTotSideA               	;
-  int NphiStripsTotSideC               	;
-  int ShiftPhi_db                      	;
-  int Nphi_Zstrips                     	;
-  
-  int NetaPanelsTot	                ;
-  int ShiftEtaPanelsTot                 ;
-  int NetaPanelsTotSideA                ;
-  int NetaPanelsTotSideC                ;
-  int rpcpanel_dbindex                  ; 
-  int rpctower_dbindex                  ; 
-  
-  int rpc2DEtaStatBinX_BA	       	;	
-  int rpc2DEtaStatBinX_BC	       	;
-  int rpc2DEtaStatBinY		       	;
-  int etaStatShiftX_BA		       	;
-  int etaStatShiftX_BC		       	;
-  
-  int binz			       	;
-  int binminz			       	;
-  int binmaxz			       	;
-  int binx			       	;
-  int binminx			       	;
-  int binmaxx			       	;
-  
-  int panelBin                          ;
-  int indexplane                        ;
-  
-  int NTrigger_Eta_LowPt                ;  
-  int NTrigger_Phi_LowPt                ;  
-  int NTrigger_Eta_HighPt               ;  
-  int NTrigger_Phi_HighPt               ;
-  
   // cool
   void  bookRPCCoolHistograms(std::vector<std::string>::const_iterator &m_iter, int, int, std::string m_layer);
   bool m_doCoolDB		       ;
-  char histName_char[100]	       ;
-  std::string histName   	       ;
-  std::vector<std::string> DB_list     ;
+  std::vector<std::string> m_DB_list   ;
   
-  TH1* rpcCool_StripProfile            ;
-  TH1* rpcCool_PanelIdHist             ;
+  TH1* m_rpcCool_StripProfile          ;
+  TH1* m_rpcCool_PanelIdHist           ;
   
   
   
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx
index 8cfc30305e7c20f61551cc715ddc83ed0c3ce6d9..dbb18cb828ddd1b318ff249389484978b159f304 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx
@@ -104,7 +104,7 @@ RPCStandaloneTracksMon::RPCStandaloneTracksMon( const std::string & type, const
   declareProperty("ClusterContainer",    m_clusterContainerName = "rpcClusters"		);
   declareProperty("RpcPrepDataContainer",m_key_rpc		= "RPC_Measurements"	);
   declareProperty("RPCTriggerContainer", m_key_trig		= "RPC_triggerHits"	);
-  declareProperty("MinimunEntries",      MinEntries		= 10	);    // min entries required for summary plot 
+  declareProperty("MinimunEntries",      m_MinEntries		= 10	);    // min entries required for summary plot 
   declareProperty("rpc_readout_window",  m_rpc_readout_window	= 0.2   ); // rpc readout window in 10^(-6) s for noise evaluation 
   declareProperty("doRadiography",       m_doRadiography        = true  ); 
   declareProperty("doCoolDB",	         m_doCoolDB		= false	);
@@ -230,7 +230,7 @@ StatusCode RPCStandaloneTracksMon::initialize(){
     return StatusCode::FAILURE;
   } else { ATH_MSG_DEBUG ( " Found the RPCcablingSvc. " );    }
 
-  hardware_name_list.push_back("XXX");
+  m_hardware_name_list.push_back("XXX");
   
   ManagedMonitorToolBase::initialize().ignore();  //  Ignore the checking code;
       
@@ -251,58 +251,24 @@ StatusCode RPCStandaloneTracksMon::initialize(){
      }
   }     
  
-  rpc_eventstotal=0;
+  m_rpc_eventstotal=0;
   
   // Clear Muon Monitoring Histograms 
   m_SummaryHist.clear();
   m_SummaryHistRPCBA.clear();
   m_SummaryHistRPCBC.clear();
   m_sumTmpHist.clear();
-  rpcAverageSide_A.clear(); 
-  rpcAverageSide_C.clear();  
+  m_rpcAverageSide_A.clear(); 
+  m_rpcAverageSide_C.clear();  
   
-  hRPCPhiEtaCoinThr.clear()	 ;
-  hRPCPadThr.clear()		 ;
-  hRPCMuctpiThr.clear()  	 ;
+  m_hRPCPhiEtaCoinThr.clear()	 ;
+  m_hRPCPadThr.clear()		 ;
+  m_hRPCMuctpiThr.clear()  	 ;
   
-  hRPCPhiEtaCoinThr_eff.clear()	 ;
-  hRPCPadThr_eff.clear()		 ;
-  hRPCMuctpiThr_eff.clear()  	 ;
-  
-  etaminpad.clear(); 
-  etamaxpad.clear(); 
-  phiminpad.clear(); 
-  phimaxpad.clear();
-  thresholdpad.clear();
-   
-  binx = 0 ;
-  binminx = 0 ;
-  binmaxx = 0 ;
-  panelBin = 0 ;
-  indexplane = 0 ;
-  RPCLyHitOnTr = 0 ;
-  RPCLyTrkPrj = 0 ;
-  RPCLyEff = 0 ;
-  RPCLyEff_err = 0 ;
-  PanelVal = 0 ;
-  PanelVal_err = 0 ;
-  PanelVal_entries = 0 ;
-  PanelVal_square = 0 ;
-  PanelHitOnTrack = 0 ;
-  PanelTrackProj = 0 ;
-  PanelHitOnTrack_withCrossStrip = 0 ;
-  invgasgaparea = 0 ;
-  invstriparea = 0 ;
-  distance = 0 ;
-  isNoise = 0 ;
-  isNoiseCorr = 0 ;
-  isNoisePhiStrip = 0 ;
-  norm1 = 0 ;
-  norm2 = 0 ;
-  norm3DGaprho = 0 ;
-  Vect3DCosrho = 0 ;
-  
-  sectorLogicContainer = 0 ;
+  m_hRPCPhiEtaCoinThr_eff.clear()	 ;
+  m_hRPCPadThr_eff.clear()		 ;
+  m_hRPCMuctpiThr_eff.clear()  	 ;
+  m_sectorLogicContainer = 0 ;
 	 
   return StatusCode::SUCCESS;
 }
@@ -313,6 +279,16 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 {
   StatusCode sc = StatusCode::SUCCESS; 
   
+  std::vector<double> etaminpad   ;
+  std::vector<double> etamaxpad   ;
+  std::vector<double> phiminpad   ;
+  std::vector<double> phimaxpad   ;
+  std::vector<int>    thresholdpad;
+
+  std::string sector_dphi_layer;
+  std::string sector_name;
+  std::string layeronly_name;
+
   ATH_MSG_DEBUG ( "RPCStandaloneTracksMon::RPCStandaloneTracksMon Histograms being filled" );
   if( m_doRpcESD==true ) { if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {  
           
@@ -421,7 +397,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
       Muon::RpcPrepDataContainer::const_iterator containerIt;
    
     
-      type="RPC";
+      m_type="RPC";
 
 
       // recall general histos  
@@ -437,21 +413,16 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
       MonGroup rpc_triggerefficiency( this, m_generic_path_rpcmonitoring +"/TriggerEfficiency", run, ATTRIB_UNMANAGED  );
        
       // begin cluster monitoring
-      const Muon::RpcPrepDataContainer* rpc_clusterContainer;
+      const Muon::RpcPrepDataContainer* rpc_clusterContainer = nullptr;
       if(m_eventStore->contains<Muon::RpcPrepDataContainer>(m_clusterContainerName)){
 	sc = m_eventStore->retrieve(rpc_clusterContainer, m_clusterContainerName);
-	if ( sc.isSuccess() ) {
-	  Clus_Retr = true ; 
-	}
-	else {
+	if (sc.isFailure()) {
 	  ATH_MSG_DEBUG ( " RPCStandaloneTracksMon :: Cannot retrieve the RPC cluster container " );
-	  Clus_Retr = false;
 	  return sc;
 	}
       }  
-      else { Clus_Retr = false;}
         
-      if (m_doClusters && Clus_Retr )
+      if (m_doClusters && rpc_clusterContainer )
 	{  
 	  ATH_MSG_DEBUG ( "Start RPC Cluster Monitoring" );
     
@@ -459,152 +430,156 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
     
 	  m_nClus=0;
     
-	  N_Rpc_Clusters3D = 0     ;  
-	  LayerType.clear()        ;
-	  PlaneType.clear()        ;
-	  SmallLarge.clear()       ;
-	  Rpc_Phi_3D.clear()       ;
-	  Rpc_Station_3D.clear()   ;
-	  Rpc_Eta_3D.clear()       ;
-	  Rpc_DBLr_3D.clear()      ;
-	  Rpc_DBLphi_3D.clear()    ;
-	  Rpc_DBLz_3D.clear()      ;
-	  Rpc_GasGap_3D.clear()    ;
-	  Rpc_SL_3D.clear()        ;
-	  Rpc_Side_3D.clear()      ;
-	  Rpc_x_3D.clear()         ;
-	  Rpc_y_3D.clear()         ;
-	  Rpc_z_3D.clear()         ;
-	  Rpc_eta_3D.clear()       ;
-	  Rpc_phi_3D.clear()       ;
-	  Rpc_t_3D.clear()         ;
-	  Rpc_avEta_3D.clear()     ;
-	  Rpc_avPhi_3D.clear()	   ;
-	  Rpc_id_eta_3D.clear()    ;
-	  Rpc_id_phi_3D.clear()    ;
-	  Rpc_Point.clear()        ;
-	  Rpc_Matched_mu.clear()   ;
+	  int N_Rpc_Clusters3D = 0;
+          std::vector<int> LayerType        	;
+          std::vector<int> PlaneType        	;
+          std::vector<int> SmallLarge       	;
+          std::vector<int> Rpc_Phi_3D       	;
+          std::vector<int> Rpc_Station_3D   	;
+          std::vector<int> Rpc_Eta_3D       	;
+          std::vector<int> Rpc_DBLr_3D      	;
+          std::vector<int> Rpc_DBLphi_3D    	;
+          std::vector<int> Rpc_DBLz_3D      	;
+          std::vector<int> Rpc_GasGap_3D    	;
+          std::vector<int> Rpc_SL_3D        	;
+          std::vector<int> Rpc_Side_3D      	;
+          std::vector<int> Rpc_avEta_3D         ;
+          std::vector<int> Rpc_avPhi_3D         ;
+          std::vector<double> Rpc_x_3D      	;
+          std::vector<double> Rpc_y_3D      	;
+          std::vector<double> Rpc_z_3D      	;
+          std::vector<double> Rpc_eta_3D      	;
+          std::vector<double> Rpc_phi_3D      	;
+          std::vector<double> Rpc_t_3D      	;
+          std::vector<Identifier> Rpc_id_eta_3D ;
+          std::vector<Identifier> Rpc_id_phi_3D ;
+          std::vector<Amg::Vector3D > Rpc_Point ;
+          std::vector<int   > Rpc_Matched_mu    ;
     
-	  sc = rpcprd_shift.getHist(rpctrack_phivseta,"rpctrack_phivseta");		
+	  sc = rpcprd_shift.getHist(m_rpctrack_phivseta,"rpctrack_phivseta");		
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_phivseta hist to MonGroup" ); 
     
-	  sc = rpcprd_shift.getHist(rpctrack_phi,"rpctrack_phi");		
+	  sc = rpcprd_shift.getHist(m_rpctrack_phi,"rpctrack_phi");		
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_phi hist to MonGroup" ); 
     
-	  sc = rpcprd_shift.getHist(rpctrack_eta,"rpctrack_eta");		
+	  sc = rpcprd_shift.getHist(m_rpctrack_eta,"rpctrack_eta");		
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_eta hist to MonGroup" );
            
-	  sc = rpc_dqmf_global.getHist(rpczxSurfaceView,"rpczxSurfaceView");
+	  sc = rpc_dqmf_global.getHist(m_rpczxSurfaceView,"rpczxSurfaceView");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpczxSurfaceView hist to MonGroup" ); 
   
-	  sc = rpcprd_shift.getHist(rpcxSurfaceView,"rpcxSurfaceView");
+	  sc = rpcprd_shift.getHist(m_rpcxSurfaceView,"rpcxSurfaceView");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcxSurfaceView hist to MonGroup" );  
      
-	  sc = rpcprd_shift.getHist(rpczSurfaceView,"rpczSurfaceView");
+	  sc = rpcprd_shift.getHist(m_rpczSurfaceView,"rpczSurfaceView");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpczSurfaceView hist to MonGroup" ); 
   
-	  sc = rpcprd_shift.getHist(f_rpczxSurfaceView,"f_rpczxSurfaceView");
+	  sc = rpcprd_shift.getHist(m_f_rpczxSurfaceView,"f_rpczxSurfaceView");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpczxSurfaceView hist to MonGroup" );
   
-	  sc = rpcprd_shift.getHist(rpctrack_bvseta,"rpctrack_bvseta");
+	  sc = rpcprd_shift.getHist(m_rpctrack_bvseta,"rpctrack_bvseta");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_bvseta hist to MonGroup" );   
   
-	  sc = rpcprd_shift.getHist(rpctrack_bVTXy0,"rpctrack_bVTXy0");
+	  sc = rpcprd_shift.getHist(m_rpctrack_bVTXy0,"rpctrack_bVTXy0");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_bVTXy0 hist to MonGroup" );  
   
-	  sc = rpcprd_shift.getHist(rpctrack_bVTXx0,"rpctrack_bVTXx0");
+	  sc = rpcprd_shift.getHist(m_rpctrack_bVTXx0,"rpctrack_bVTXx0");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_bVTXx0 hist to MonGroup" );  
   
-	  sc = rpcprd_shift.getHist(rpctrack_bVTXz0,"rpctrack_bVTXz0");
+	  sc = rpcprd_shift.getHist(m_rpctrack_bVTXz0,"rpctrack_bVTXz0");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_bVTXz0 hist to MonGroup" );  
   
-	  sc = rpcprd_shift.getHist(rpctrack_b,"rpctrack_b");
+	  sc = rpcprd_shift.getHist(m_rpctrack_b,"rpctrack_b");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpctrack_b hist to MonGroup" );
     
-	  sc = rpcprd_shift.getHist(rpcmergepointdistance,"rpcmergepointdistance");
+	  sc = rpcprd_shift.getHist(m_rpcmergepointdistance,"rpcmergepointdistance");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcmergepointdistance hist to MonGroup" );
    
-	  sc = rpcprd_shift.getHist(rpcchi2dof,"rpcchi2dof");
+	  sc = rpcprd_shift.getHist(m_rpcchi2dof,"rpcchi2dof");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcchi2dof hist to MonGroup" );
   
-	  sc = rpcprd_shift.getHist(rpcetavsphichi2dof,"rpcetavsphichi2dof");
+	  sc = rpcprd_shift.getHist(m_rpcetavsphichi2dof,"rpcetavsphichi2dof");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcetavsphichi2dof hist to MonGroup" );     
      
-	  sc = rpcprd_shift.getHist(f_rpcTrackType,"f_rpcTrackType");
+	  sc = rpcprd_shift.getHist(m_f_rpcTrackType,"f_rpcTrackType");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpcTrackType hist to MonGroup" ); 
   
-	  sc = rpcprd_shift.getHist(rpcTrackType,"rpcTrackType");
+	  sc = rpcprd_shift.getHist(m_rpcTrackType,"rpcTrackType");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcTrackType hist to MonGroup" );
   
-	  sc = rpcprd_shift.getHist(f_rpcPhiResidual,"f_rpcPhiResidual");
+	  sc = rpcprd_shift.getHist(m_f_rpcPhiResidual,"f_rpcPhiResidual");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpcPhiResidual hist to MonGroup" ); 
   
-	  sc = rpcprd_shift.getHist(rpcPhiResidual,"rpcPhiResidual");
+	  sc = rpcprd_shift.getHist(m_rpcPhiResidual,"rpcPhiResidual");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcPhiResidual hist to MonGroup" );
   
   
-	  sc = rpcprd_shift.getHist(f_rpcEtaResidual,"f_rpcEtaResidual");
+	  sc = rpcprd_shift.getHist(m_f_rpcEtaResidual,"f_rpcEtaResidual");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpcEtaResidual hist to MonGroup" ); 
   
-	  sc = rpcprd_shift.getHist(rpcEtaResidual,"rpcEtaResidual");
+	  sc = rpcprd_shift.getHist(m_rpcEtaResidual,"rpcEtaResidual");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcEtaResidual hist to MonGroup" );
     
     
-	  sc = rpcprd_shift.getHist(f_rpcmergepointdistance,"f_rpcmergepointdistance");
+	  sc = rpcprd_shift.getHist(m_f_rpcmergepointdistance,"f_rpcmergepointdistance");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpcmergepointdistance hist to MonGroup" );
     
-	  sc = rpcprd_shift.getHist(f_rpcchi2dof,"f_rpcchi2dof");
+	  sc = rpcprd_shift.getHist(m_f_rpcchi2dof,"f_rpcchi2dof");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpcchi2dof hist to MonGroup" );
     
-	  sc = rpc_dqmf_global.getHist(rpcNtracks,"rpcNtracks");
+	  sc = rpc_dqmf_global.getHist(m_rpcNtracks,"rpcNtracks");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcNtracks hist to MonGroup" );
       
-	  sc = rpcprd_shift.getHist(f_rpcNtracks,"f_rpcNtracks");
+	  sc = rpcprd_shift.getHist(m_f_rpcNtracks,"f_rpcNtracks");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpcNtracks hist to MonGroup" );
      
-	  sc = rpcprd_shift.getHist(rpcPointPerTracks,"rpcPointPerTracks");
+	  sc = rpcprd_shift.getHist(m_rpcPointPerTracks,"rpcPointPerTracks");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register rpcPointPerTracks hist to MonGroup" );
     
-	  sc = rpcprd_shift.getHist(f_rpcPointPerTracks,"f_rpcPointPerTracks");
+	  sc = rpcprd_shift.getHist(m_f_rpcPointPerTracks,"f_rpcPointPerTracks");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register f_rpcPointPerTracks hist to MonGroup" );
     
-	  sc = rpc_dqmf_global.getHist(LayerTrackProjection,"Track_Projected_on_Layer");		
+	  sc = rpc_dqmf_global.getHist(m_LayerTrackProjection,"Track_Projected_on_Layer");		
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register LayerTrackProjection hist to MonGroup" );   
     
-	  sc = rpc_dqmf_global.getHist(LayerHitOnTrack,"Hit_on_Track_Layer");		
+	  sc = rpc_dqmf_global.getHist(m_LayerHitOnTrack,"Hit_on_Track_Layer");		
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register LayerHitOnTrack hist to MonGroup" );   
     
+          TH1* RPCBA_layerTrackProj = nullptr;
 	  sc = rpcprd_dq_BA.getHist(RPCBA_layerTrackProj,"Layer_TrackProj_sideA");	      
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_TrackProj_sideA  hist" );  
              
+          TH1* RPCBC_layerTrackProj = nullptr;
 	  sc = rpcprd_dq_BC.getHist(RPCBC_layerTrackProj,"Layer_TrackProj_sideC");	      
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_TrackProj_sideC  hist" );  
          
+          TH1* RPCBA_layerHitOnTrack = nullptr;
 	  sc = rpcprd_dq_BA.getHist(RPCBA_layerHitOnTrack,"Layer_HitOnTrack_sideA");	   
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_HitOnTrack_SideA  hist" );  
      	  
+          TH1* RPCBC_layerHitOnTrack = nullptr;
 	  sc = rpcprd_dq_BC.getHist(RPCBC_layerHitOnTrack,"Layer_HitOnTrack_sideC");	   
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_HitOnTrack_sideC  hist" );  
 
-	  sc = rpc_dqmf_global.getHist(rpcTimeTrackRes,"TimeTrackResidual") ;
+	  sc = rpc_dqmf_global.getHist(m_rpcTimeTrackRes,"TimeTrackResidual") ;
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register TimeTrackResidual hist to MonGroup" );    
     
-	  sc = rpcprd_shift.getHist(rpcTimeTrackRMS,"TimeTrackRMS") ;
+	  sc = rpcprd_shift.getHist(m_rpcTimeTrackRMS,"TimeTrackRMS") ;
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register TimeTrackRMS hist to MonGroup" );
     
-	  sc = rpcprd_shift.getHist(rpcCS_HitOnTrack, "CS_HitOnTrack_Distribution");
+	  sc = rpcprd_shift.getHist(m_rpcCS_HitOnTrack, "CS_HitOnTrack_Distribution");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register CS_HitOnTrack_Distribution hist to MonGroup" );
     
-	  sc = rpcprd_shift.getHist(rpcCS_NoiseCorr, "CS_NoiseCorr_Distribution");
+	  sc = rpcprd_shift.getHist(m_rpcCS_NoiseCorr, "CS_NoiseCorr_Distribution");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register CS_NoiseCorr_Distribution hist to MonGroup" );
     
-	  sc = rpcprd_shift.getHist(rpcCS_NoiseNotCorr, "CS_NoiseNotCorr_Distribution");
+	  sc = rpcprd_shift.getHist(m_rpcCS_NoiseNotCorr, "CS_NoiseNotCorr_Distribution");
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register CS_NoiseNotCorr_Distribution hist to MonGroup" );
     
 	  sc = rpcprd_shift.getHist(m_rpcCS_EtavsPhi, "CS_EtavsPhi") ;
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get CS_EtavsPhi" );
 	 
-	  sc = rpc_triggerefficiency.getHist( hMEtracks  ,"hMEtracks" ) ;		
+	  sc = rpc_triggerefficiency.getHist(m_hMEtracks  ,"hMEtracks" ) ;		
 	  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << " hMEtracks " );
      
 	  Muon::RpcPrepDataContainer::const_iterator it = rpc_clusterContainer->begin();
@@ -626,84 +601,73 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	 
 		ATH_MSG_DEBUG ( "Adding a new cluster " );
             
-		irpc_clus_size     =  ((*rpcCollection)->rdoList()).size();
-		irpc_clus_time     =  (*rpcCollection)->time()            ;
-		irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id)  ;
-		irpc_clus_eta      =  m_rpcIdHelper->stationEta(prd_id)   ;
-		irpc_clus_phi      =  m_rpcIdHelper->stationPhi(prd_id)   ;
-		irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)     ;
-		irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)     ;
-		irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)   ;
-		irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)       ;
-		irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id)  ;
+		int irpc_clus_size     =  ((*rpcCollection)->rdoList()).size();
+		double irpc_clus_time     =  (*rpcCollection)->time()            ;
+		int irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id)  ;
+		int irpc_clus_eta      =  m_rpcIdHelper->stationEta(prd_id)   ;
+		int irpc_clus_phi      =  m_rpcIdHelper->stationPhi(prd_id)   ;
+		int irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)     ;
+		int irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)     ;
+		int irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)   ;
+		int irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)       ;
+		int irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id)  ;
           
  		// get the average strip and cluster position
  	    		  
  		Amg::Vector3D stripPosC(0,0,0);
-		av_strip = 0 ;
+		float av_strip = 0 ;
 		for(int i=0; i!=irpc_clus_size ; i++){
 		  Identifier id = ((*rpcCollection)->rdoList())[i] ;
 		  const MuonGM::RpcReadoutElement* descriptor = m_muonMgr->getRpcReadoutElement(id);
 		  stripPosC += descriptor->stripPos(id);
-		  strip = int(m_rpcIdHelper->strip(id))            ;
+		  int strip = int(m_rpcIdHelper->strip(id))            ;
 		  av_strip += float(strip)                         ;
 		}
 		if( irpc_clus_size != 0 ){ 
 		  av_strip  =  av_strip / irpc_clus_size ;
 		  stripPosC = stripPosC / irpc_clus_size ;
 		}
-		avstripphi = av_strip + ShiftStrips;
-		irpc_clus_posx   = stripPosC.x()   ;
-		irpc_clus_posy   = stripPosC.y()   ; 
-		irpc_clus_posz   = stripPosC.z()   ;
-		irpc_clus_poseta = stripPosC.eta() ;
-		irpc_clus_posphi = stripPosC.phi() ;
+		double irpc_clus_posx   = stripPosC.x()   ;
+		double irpc_clus_posy   = stripPosC.y()   ; 
+		double irpc_clus_posphi = stripPosC.phi() ;
             
 	    		  
 		//get information from geomodel to book and fill rpc histos with the right max strip number
 		std::vector<int> rpcstripshift   = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prd_id, 0)  ;
 	    		  
-		NphiStrips         =  rpcstripshift[0] ;
-		ShiftPhiStrips     =  rpcstripshift[1] ;
-		NetaStrips	 =  rpcstripshift[2] ;
-		ShiftEtaStrips     =  rpcstripshift[3] ;
-		ShiftStrips	 =  rpcstripshift[4] ;
-		NetaStripsTot      =  rpcstripshift[5] ;
-		NetaStripsTotSideA =  rpcstripshift[6] ;
-		NetaStripsTotSideC =  rpcstripshift[7] ;
-		ShiftEtaStripsTot  =  rpcstripshift[8] ;
-		Nbin               =  rpcstripshift[9] ;
-		EtaStripSign       =  rpcstripshift[10];
-		SectorLogic 	 =  rpcstripshift[11]  ;
-		Side		 =  rpcstripshift[12]  ;
-		PanelIndex         =  rpcstripshift[13];
-		Settore            =  rpcstripshift[14];
-		strip_dbindex      =  rpcstripshift[16];
+		int ShiftEtaStripsTot  =  rpcstripshift[8] ;
+		int EtaStripSign       =  rpcstripshift[10];
+		int SectorLogic 	 =  rpcstripshift[11]  ;
+		int Side		 =  rpcstripshift[12]  ;
+		int PanelIndex         =  rpcstripshift[13];
+		int Settore            =  rpcstripshift[14];
+		int strip_dbindex      =  rpcstripshift[16];
 				    
 		m_SummaryHist_Idx = (Settore-1)*m_SummaryHist_Size/16;
  
 		//get name for titles and labels 
 		std::vector<std::string>   rpclayersectorsidename = RpcGM::RpcLayerSectorSideName(m_rpcIdHelper,prd_id, 0)  ;
   	       
-		layer_name               = rpclayersectorsidename[0] ;
-		layertodraw1_name        = rpclayersectorsidename[1] ;
-		layertodraw2_name        = rpclayersectorsidename[2] ;
-		layervslayer_name        = rpclayersectorsidename[3] ;
-		layer0_name	       = rpclayersectorsidename[4] ;
-		layer1_name	       = rpclayersectorsidename[5] ;
-		layer2_name	       = rpclayersectorsidename[6] ;
-		layerPhivsEta_name       = rpclayersectorsidename[7] ;
-		layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
-		sector_name              = rpclayersectorsidename[9] ;
-		layeronly_name           = rpclayersectorsidename[10];
-		layer_name_panel         = rpclayersectorsidename[11];
-		sector_dphi_layer        = rpclayersectorsidename[12];
+                std::string layer_name               = rpclayersectorsidename[0] ;
+                std::string layertodraw1_name        = rpclayersectorsidename[1] ;
+                std::string layertodraw2_name        = rpclayersectorsidename[2] ;
+                std::string layervslayer_name        = rpclayersectorsidename[3] ;
+                std::string layer0_name	         = rpclayersectorsidename[4] ;
+                std::string layer1_name	         = rpclayersectorsidename[5] ;
+                std::string layer2_name	         = rpclayersectorsidename[6] ;
+                std::string layerPhivsEta_name       = rpclayersectorsidename[7] ;
+                std::string layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
+                            sector_name              = rpclayersectorsidename[9] ;
+                            layeronly_name           = rpclayersectorsidename[10];
+                std::string layer_name_panel         = rpclayersectorsidename[11];
+                            sector_dphi_layer        = rpclayersectorsidename[12];
 	    
 		// summary occupancy
 		if(PanelIndex<1000)m_SummaryHist[enumSumOccupancy_NotNorm+m_SummaryHist_Idx]-> Fill( PanelIndex );
 		//
 		if ( m_doCoolDB ) {
-		  sc = rpcCoolDb.getHist( rpcCool_Occupancy_NotNorm, sector_dphi_layer+"_Occupancy_NotNorm" ) ;		
+                  TH1*  rpcCool_Occupancy_NotNorm = nullptr;
+		  sc = rpcCoolDb.getHist(rpcCool_Occupancy_NotNorm, sector_dphi_layer+"_Occupancy_NotNorm" ) ;		
 		  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Occupancy_NotNorm hist" );
 		  if(rpcCool_Occupancy_NotNorm)rpcCool_Occupancy_NotNorm->Fill( strip_dbindex );	
 		}
@@ -712,7 +676,8 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		if(PanelIndex<1000)m_SummaryHist[enumSumCS_entries+m_SummaryHist_Idx]-> Fill( PanelIndex );
 		//
 		if ( m_doCoolDB ) {
-		  sc = rpcCoolDb.getHist( rpcCool_CS_entries, sector_dphi_layer+"_CS_entries" ) ;		
+                  TH1*  rpcCool_CS_entries = nullptr;
+		  sc = rpcCoolDb.getHist(rpcCool_CS_entries, sector_dphi_layer+"_CS_entries" ) ;		
 		  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_CS_entries hist" );
 		  if(rpcCool_CS_entries)rpcCool_CS_entries->Fill( strip_dbindex );	
 		}
@@ -721,7 +686,8 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		if(PanelIndex<1000)m_SummaryHist[enumSumCS_NotNorm+m_SummaryHist_Idx]-> Fill( PanelIndex, irpc_clus_size );
 		//
 		if ( m_doCoolDB ) {
-		  sc = rpcCoolDb.getHist( rpcCool_CS_NotNorm, sector_dphi_layer+"_CS_NotNorm" ) ;		
+                  TH1*  rpcCool_CS_NotNorm = nullptr;
+		  sc = rpcCoolDb.getHist(rpcCool_CS_NotNorm, sector_dphi_layer+"_CS_NotNorm" ) ;		
 		  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_CS_NotNorm hist" );
 		  if(rpcCool_CS_NotNorm)rpcCool_CS_NotNorm->Fill( strip_dbindex, irpc_clus_size );	
 		}
@@ -730,7 +696,8 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		if(PanelIndex<1000)m_SummaryHist[enumSumCS_square+m_SummaryHist_Idx]-> Fill( PanelIndex, irpc_clus_size*irpc_clus_size );
 		//
 		if ( m_doCoolDB ) {
-		  sc = rpcCoolDb.getHist( rpcCool_CS_square, sector_dphi_layer+"_CS_square" ) ;		
+                  TH1*  rpcCool_CS_square = nullptr;
+		  sc = rpcCoolDb.getHist(rpcCool_CS_square, sector_dphi_layer+"_CS_square" ) ;		
 		  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_CS_square hist" );
 		  if(rpcCool_CS_square)rpcCool_CS_square->Fill( strip_dbindex, irpc_clus_size*irpc_clus_size  );	
 		}
@@ -738,9 +705,11 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		// summary Time
 		if(PanelIndex<1000)m_SummaryHist[enumSumTime_NotNorm+m_SummaryHist_Idx]-> Fill( PanelIndex, irpc_clus_time );
 	      
-		sc = rpcprd_dq_BA.getHist( StripTimeDistributionRPCBA, "StripTimeDistribution_" + sector_name +"_SideA");
+                TH1*StripTimeDistributionRPCBA = nullptr;
+		sc = rpcprd_dq_BA.getHist(StripTimeDistributionRPCBA, "StripTimeDistribution_" + sector_name +"_SideA");
 		if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get StripTimeDistribution RPCBA " );
 	         	      
+                TH1*StripTimeDistributionRPCBC = nullptr;
 		sc = rpcprd_dq_BC.getHist( StripTimeDistributionRPCBC, "StripTimeDistribution_" + sector_name +"_SideC");
 		if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get StripTimeDistribution RPCBC " );
 	      
@@ -753,6 +722,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	     
 		//
 		if ( m_doCoolDB ) {
+                  TH1*  rpcCool_Time_NotNorm = nullptr;
 		  sc = rpcCoolDb.getHist( rpcCool_Time_NotNorm, sector_dphi_layer+"_Time_NotNorm" ) ;		
 		  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Time_NotNorm hist" );
 		  if(rpcCool_Time_NotNorm)rpcCool_Time_NotNorm->Fill( strip_dbindex, irpc_clus_time );	
@@ -762,6 +732,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		if(PanelIndex<1000)m_SummaryHist[enumSumTime_square+m_SummaryHist_Idx]-> Fill( PanelIndex, irpc_clus_time*irpc_clus_time  );
 		//
 		if ( m_doCoolDB ) {
+                  TH1*  rpcCool_Time_square = nullptr;
 		  sc = rpcCoolDb.getHist( rpcCool_Time_square, sector_dphi_layer+"_Time_square" ) ;		
 		  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Time_square hist" );
 		  if(rpcCool_Time_square)rpcCool_Time_square->Fill( strip_dbindex, irpc_clus_time*irpc_clus_time   );	
@@ -783,16 +754,15 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		  
 		    Identifier prd_idII = (*rpcCollectionII)->identify();
 
-		    irpc_clus_sizeII     = ((*rpcCollectionII)->rdoList()).size();
-		    irpc_clus_timeII     =  (*rpcCollectionII)->time()           ;
-		    irpc_clus_stationII  =  m_rpcIdHelper->stationName(prd_idII) ;
-		    irpc_clus_etaII      =  m_rpcIdHelper->stationEta(prd_idII)  ;
-		    irpc_clus_phiII      =  m_rpcIdHelper->stationPhi(prd_idII)  ;
-		    irpc_clus_doublrII   =  m_rpcIdHelper->doubletR(prd_idII)    ;
-		    irpc_clus_doublzII   =  m_rpcIdHelper->doubletZ(prd_idII)    ;
-		    irpc_clus_doublphiII =  m_rpcIdHelper->doubletPhi(prd_idII)  ;
-		    irpc_clus_gasgapII   =  m_rpcIdHelper->gasGap(prd_idII)      ; 
-		    irpc_clus_measphiII  =  m_rpcIdHelper->measuresPhi(prd_idII) ;
+		    int irpc_clus_sizeII     = ((*rpcCollectionII)->rdoList()).size();
+		    int irpc_clus_stationII  =  m_rpcIdHelper->stationName(prd_idII) ;
+		    int irpc_clus_etaII      =  m_rpcIdHelper->stationEta(prd_idII)  ;
+		    int irpc_clus_phiII      =  m_rpcIdHelper->stationPhi(prd_idII)  ;
+		    int irpc_clus_doublrII   =  m_rpcIdHelper->doubletR(prd_idII)    ;
+		    int irpc_clus_doublzII   =  m_rpcIdHelper->doubletZ(prd_idII)    ;
+		    int irpc_clus_doublphiII =  m_rpcIdHelper->doubletPhi(prd_idII)  ;
+		    int irpc_clus_gasgapII   =  m_rpcIdHelper->gasGap(prd_idII)      ; 
+		    int irpc_clus_measphiII  =  m_rpcIdHelper->measuresPhi(prd_idII) ;
 	   
 		    if(irpc_clus_measphi  == irpc_clus_measphiII )continue;
 		    if(irpc_clus_station  != irpc_clus_stationII )continue;
@@ -807,8 +777,8 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
   
   
 		    //evaluate average strip
-		    avstripeta = 0        ;
-		    avstripphi = av_strip ; 
+		    float avstripeta = 0        ;
+		    float avstripphi = av_strip ; 
 		  
 		    ShiftEtaStripsTot = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prd_idII, 0)[8]  ;  // angelo 07 oct 2009
 		    EtaStripSign      = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prd_idII, 0)[10] ;  // angelo 07 oct 2009
@@ -830,15 +800,12 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    }
 		    avstripeta += float(ShiftEtaStripsTot)       ;
 		    avstripeta  = avstripeta*float(EtaStripSign) ;
-		    irpc_clus_posxII   = stripPosCII.x()   ;
-		    irpc_clus_posyII   = stripPosCII.y()   ;
-		    irpc_clus_poszII   = stripPosCII.z()   ;
-		    irpc_clus_posetaII = stripPosCII.eta() ;
-		    irpc_clus_posphiII = stripPosCII.phi() ;
+		    double irpc_clus_poszII   = stripPosCII.z()   ;
+		    double irpc_clus_posetaII = stripPosCII.eta() ;
 	   
   
-		    //evaluate layer type
-		    layertype = 0 ;
+		    //evaluate layer m_type
+		    int layertype = 0 ;
 		    if(layeronly_name=="Pivot0"	){
 		      layertype = 3 ;
 		    }
@@ -892,7 +859,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		      }
 		
 		      layertype=layertype-1;
-		      planetype=int(float(layertype)/2);
+		      int planetype=int(float(layertype)/2);
 		  
 		      LayerType.push_back     (layertype 	         )  ;
 		      PlaneType.push_back     (planetype 	         )  ;
@@ -1002,7 +969,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
     }
      
     // Retrieve the Sector Logic container
-    sc = (*m_activeStore) -> retrieve(sectorLogicContainer);     
+    sc = (*m_activeStore) -> retrieve(m_sectorLogicContainer);     
     
     if (sc.isFailure()) {
       if (isMC==1) ATH_MSG_DEBUG ( "Cannot retrieve the RpcSectorLogicContainer ... that's normal in MC: no container is produced in digitization" );
@@ -1013,7 +980,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	}
     }
     else {
-     ATH_MSG_DEBUG("RpcSectorLogicContainer found with size " << sectorLogicContainer->size());
+     ATH_MSG_DEBUG("RpcSectorLogicContainer found with size " << m_sectorLogicContainer->size());
 
       ///////////////////////////////////////////
       // Loop over the Sector Logic containers //
@@ -1024,9 +991,10 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
       phiminpad.clear(); 
       phimaxpad.clear();
       thresholdpad.clear();
-      RpcSectorLogicContainer::const_iterator its = sectorLogicContainer -> begin();
+  
+      RpcSectorLogicContainer::const_iterator its = m_sectorLogicContainer -> begin();
       
-      for ( ; its != sectorLogicContainer -> end() ; ++its ) 
+      for ( ; its != m_sectorLogicContainer -> end() ; ++its ) 
 	{
 	  	  int i_sectorid = (*its)->sectorId(); 
 	  // Loop over the trigger hits of each sector
@@ -1051,10 +1019,10 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	      }
 	      if(b_isInput==0){
 	      
-	       double a =  EtaROImin[side][sl][i_roi];
-	       double b =  EtaROImax[side][sl][i_roi];
-	       double c =  PhiROImin[side][sl][i_roi];
-	       double d =  PhiROImax[side][sl][i_roi];
+	       double a =  m_EtaROImin[side][sl][i_roi];
+	       double b =  m_EtaROImax[side][sl][i_roi];
+	       double c =  m_PhiROImin[side][sl][i_roi];
+	       double d =  m_PhiROImax[side][sl][i_roi];
 	       etaminpad.push_back(a);
 	       etamaxpad.push_back(b);
 	       phiminpad.push_back(c);
@@ -1090,9 +1058,9 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
             
 	    if( !metrack   ) continue;
 	    if( fabs(metrack->eta())>1) continue;
-	    sc = rpc_triggerefficiency.getHist( hMEtracks  ,"hMEtracks" ) ;		  
+	    sc = rpc_triggerefficiency.getHist( m_hMEtracks  ,"hMEtracks" ) ;		  
 	    if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get " << " hMEtracks " );
-	    if(hMEtracks)hMEtracks->Fill( metrack->pt() / 1000.);
+	    if(m_hMEtracks)m_hMEtracks->Fill( metrack->pt() / 1000.);
 	     //std::cout <<" Track " <<  metrack->eta() << " " <<metrack->phi() << std::endl;
 	    
 	    bool foundmatchlowpt_thr0  = false;
@@ -1171,29 +1139,29 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    int minthrview = cointhr ; if(cointhrphi<minthrview)minthrview = cointhrphi; 
 		    if( (*it_collection)-> isLowPtCoin() &&  (*it_collection_phi)-> isLowPtCoin()){
 		     if(minthrview>=0&&!foundmatchlowpt_thr0){
-		      hRPCPhiEtaCoinThr[0]->Fill( metrack->pt() / 1000.);
+		      m_hRPCPhiEtaCoinThr[0]->Fill( metrack->pt() / 1000.);
 		      foundmatchlowpt_thr0=true;
 		     } 
 		     if(minthrview>=1&&!foundmatchlowpt_thr1){
-		      hRPCPhiEtaCoinThr[1]->Fill( metrack->pt() / 1000.);
+		      m_hRPCPhiEtaCoinThr[1]->Fill( metrack->pt() / 1000.);
 		      foundmatchlowpt_thr1=true;
 		     } 
 		     if(minthrview>=2&&!foundmatchlowpt_thr2){
-		      hRPCPhiEtaCoinThr[2]->Fill( metrack->pt() / 1000.);
+		      m_hRPCPhiEtaCoinThr[2]->Fill( metrack->pt() / 1000.);
 		      foundmatchlowpt_thr2=true;
 		     }
 		    } 
 		    if( (*it_collection)->isHighPtCoin() &&  (*it_collection_phi)-> isHighPtCoin()){
 		     if(minthrview>=0&&!foundmatchhighpt_thr0){
-		      hRPCPhiEtaCoinThr[3]->Fill( metrack->pt() / 1000.);
+		      m_hRPCPhiEtaCoinThr[3]->Fill( metrack->pt() / 1000.);
 		      foundmatchhighpt_thr0=true;
 		     } 
 		     if(minthrview>=1&&!foundmatchhighpt_thr1){
-		      hRPCPhiEtaCoinThr[4]->Fill( metrack->pt() / 1000.);
+		      m_hRPCPhiEtaCoinThr[4]->Fill( metrack->pt() / 1000.);
 		      foundmatchhighpt_thr1=true;
 		     } 
 		     if(minthrview>=2&&!foundmatchhighpt_thr2){
-		      hRPCPhiEtaCoinThr[5]->Fill( metrack->pt() / 1000.);
+		      m_hRPCPhiEtaCoinThr[5]->Fill( metrack->pt() / 1000.);
 		      foundmatchhighpt_thr2=true;
 		     }	
 		      
@@ -1219,27 +1187,27 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		      
 		      int thr = thresholdpad.at(i_etaphiPAD) ;
 		      if(thr>=0&&!foundmatchpad_thr0){
-		       hRPCPadThr[0]->Fill( metrack->pt() / 1000.);
+		       m_hRPCPadThr[0]->Fill( metrack->pt() / 1000.);
 		       foundmatchpad_thr0=true;
 		      }
 		      if(thr>=1&&!foundmatchpad_thr1){
-		       hRPCPadThr[1]->Fill( metrack->pt() / 1000.);
+		       m_hRPCPadThr[1]->Fill( metrack->pt() / 1000.);
 		       foundmatchpad_thr1=true;
 		      }
 		      if(thr>=2&&!foundmatchpad_thr2){
-		       hRPCPadThr[2]->Fill( metrack->pt() / 1000.);
+		       m_hRPCPadThr[2]->Fill( metrack->pt() / 1000.);
 		       foundmatchpad_thr2=true;
 		      }
 		      if(thr>=3&&!foundmatchpad_thr3){
-		       hRPCPadThr[3]->Fill( metrack->pt() / 1000.);
+		       m_hRPCPadThr[3]->Fill( metrack->pt() / 1000.);
 		       foundmatchpad_thr3=true;
 		      }
 		      if(thr>=4&&!foundmatchpad_thr4){
-		       hRPCPadThr[4]->Fill( metrack->pt() / 1000.);
+		       m_hRPCPadThr[4]->Fill( metrack->pt() / 1000.);
 		       foundmatchpad_thr4=true;
 		      }
 		      if(thr>=5&&!foundmatchpad_thr5){
-		       hRPCPadThr[5]->Fill( metrack->pt() / 1000.);
+		       m_hRPCPadThr[5]->Fill( metrack->pt() / 1000.);
 		       foundmatchpad_thr5=true;
 		      }
 		    }}}}  
@@ -1258,27 +1226,27 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    int thr     = i_muctpi_rdo_roi_list->thrNumber;
 		    if(dr<m_MuonDeltaRMatching ){
 		      if(thr>=0&&!foundmatchmuctpi_thr0){
-		       hRPCMuctpiThr[0]->Fill( metrack->pt() / 1000.);
+		       m_hRPCMuctpiThr[0]->Fill( metrack->pt() / 1000.);
 		       foundmatchmuctpi_thr0=true;
 		      }
 		      if(thr>=1&&!foundmatchmuctpi_thr1){
-		       hRPCMuctpiThr[1]->Fill( metrack->pt() / 1000.);
+		       m_hRPCMuctpiThr[1]->Fill( metrack->pt() / 1000.);
 		       foundmatchmuctpi_thr1=true;
 		      }
 		      if(thr>=2&&!foundmatchmuctpi_thr2){
-		       hRPCMuctpiThr[2]->Fill( metrack->pt() / 1000.);
+		       m_hRPCMuctpiThr[2]->Fill( metrack->pt() / 1000.);
 		       foundmatchmuctpi_thr2=true;
 		      }
 		      if(thr>=3&&!foundmatchmuctpi_thr3){
-		       hRPCMuctpiThr[3]->Fill( metrack->pt() / 1000.);
+		       m_hRPCMuctpiThr[3]->Fill( metrack->pt() / 1000.);
 		       foundmatchmuctpi_thr3=true;
 		      }
 		      if(thr>=4&&!foundmatchmuctpi_thr4){
-		       hRPCMuctpiThr[4]->Fill( metrack->pt() / 1000.);
+		       m_hRPCMuctpiThr[4]->Fill( metrack->pt() / 1000.);
 		       foundmatchmuctpi_thr4=true;
 		      }
 		      if(thr>=5&&!foundmatchmuctpi_thr5){
-		       hRPCMuctpiThr[5]->Fill( metrack->pt() / 1000.);
+		       m_hRPCMuctpiThr[5]->Fill( metrack->pt() / 1000.);
 		       foundmatchmuctpi_thr5=true;
 		      }		     
 		    
@@ -1299,16 +1267,16 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
      
 	  /////////////// RPC standalone tracking     
 		  
-	  N_RpcTrack = 0 ;
-	  RpcTrack_Vect3DCos.clear()  ;
-	  RpcTrack_Poin3RLin.clear()  ;
-	  RpcTrack_chi2dofeta.clear() ;
-	  RpcTrack_chi2dofphi.clear() ;
-	  RpcTrack_chi2dof.clear()    ;
+	  int N_RpcTrack = 0 ;
+          std::vector<Amg::Vector3D > RpcTrack_Vect3DCos  ;
+          std::vector<Amg::Vector3D >  RpcTrack_Poin3RLin  ;
+          std::vector<float>       RpcTrack_chi2dofeta ;
+          std::vector<float>       RpcTrack_chi2dofphi ;
+          std::vector<float>       RpcTrack_chi2dof    ;
 		  
 	  if( m_do_rpctracks && N_Rpc_Clusters3D<1000 )  {
-		    
-	    Rpc_track = new int[N_Rpc_Clusters3D]; 
+
+            std::vector<int> Rpc_track (N_Rpc_Clusters3D);
 			      
 	    for (int ilayertype=0; ilayertype!=7; ilayertype++) { //ilayertype==6 do tracks with all 6 layers
 	      ATH_MSG_DEBUG("---***---***---***--- Track Search iteration ilayertype="<<ilayertype<<" out of [0-6]");
@@ -1324,8 +1292,8 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
       
 	      //std::cout << "multi tracks begin " << std::endl ;  
 	      ///multi tracks begin
-	      //Pattern recognition: link 3D cluster with at least three different layer type two of each Pivot and LowPt 
-	      N_Rpc_Tracks   = 0 ;
+	      //Pattern recognition: link 3D cluster with at least three different layer m_type two of each Pivot and LowPt 
+	      int N_Rpc_Tracks   = 0 ;
 	      /*
 		for (int i_3D=0;i_3D!=N_Rpc_Clusters3D;i_3D++) {
 		std::cout << i_3D <<" " <<LayerType.at(i_3D)<<" "<< (Rpc_Point.at(i_3D)).x() << " " << (Rpc_Point.at(i_3D)).y() << " " <<(Rpc_Point.at(i_3D)).z() <<std::endl ;
@@ -1335,15 +1303,15 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	        if( !(Rpc_Matched_mu.at(i_3D0)) && m_StandAloneMatchedWithTrack )continue;
  		if(LayerType.at(i_3D0)==ilayertype &&  ilayertype!=6  )continue;
  		if(Rpc_track[ i_3D0 ]>0||PlaneType.at(i_3D0)!=0)continue;//Start always with no-track assigned LowPt plane
- 		Phi_Rpc_Track = Rpc_Phi_3D[ i_3D0 ]; 
- 		PointperTrack = 1  ;
+ 		int PointperTrack = 1  ;
  		Rpc_track[ i_3D0 ] = N_Rpc_Tracks + 1 ;//preliminary assigned
 		/*std::cout << "First Cluster 3D " << i_3D0 <<" on LayerType[0-5] =" 
 		  <<LayerType.at(i_3D0)<<" "<< (Rpc_Point.at(i_3D0)).x() << " " << (Rpc_Point.at(i_3D0)).y() << " " <<(Rpc_Point.at(i_3D0)).z() 
 		  <<" station/eta/phi/dbR/dbZ/dbP/gg = "<< Rpc_Station_3D.at(i_3D0)<<"/"<<Rpc_Eta_3D.at(i_3D0)<<"/"<
 		  <Rpc_Phi_3D.at(i_3D0)<<"/"<<Rpc_DBLr_3D.at(i_3D0)<<"/"<<Rpc_DBLz_3D.at(i_3D0)<<"/"<<Rpc_DBLphi_3D.at(i_3D0)
 		  <<"/"<<Rpc_GasGap_3D.at(i_3D0)<<std::endl ;*/
- 		linkedtrack   = 0 ;
+ 		int linkedtrack   = 0 ;
+                PointperTrack = 0;
 		for (int i_3DI=0;i_3DI!=N_Rpc_Clusters3D;i_3DI++) {
 	          if( !(Rpc_Matched_mu.at(i_3DI))  && m_StandAloneMatchedWithTrack )continue;
 		  if(linkedtrack == 1 ) continue ;
@@ -1366,9 +1334,9 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    std::cout << "for First-Second cluster pair: 1-2Vector point="
 		    <<SegVector.x() << " " <<SegVector.y()<< " "<< SegVector.z()
 		    <<" r/phi/z "<<SegVector.perp()<<"/"<<SegVector.phi()<<SegVector.z()<<std::endl ;*/
-		  lookforthirdII   = 0 ;
-		  thirdlayertypeII = 0 ; 
-		  thirdlayerHPt    = 0 ;
+		  int lookforthirdII   = 0 ;
+		  int thirdlayertypeII = 0 ; 
+		  int thirdlayerHPt    = 0 ;
 		
 		  for (int i_3DII=0;i_3DII!=N_Rpc_Clusters3D;i_3DII++) {
 	            if( !(Rpc_Matched_mu.at(i_3DII)) && m_StandAloneMatchedWithTrack )continue;
@@ -1391,10 +1359,10 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    */
 		    
 		    if(ilayertype<6){
-		     f_rpcmergepointdistance -> Fill (ImpactVector.mag()) ;
+		     m_f_rpcmergepointdistance -> Fill (ImpactVector.mag()) ;
 		    } 
 		    else {
-		     rpcmergepointdistance -> Fill (ImpactVector.mag()) ;
+		     m_rpcmergepointdistance -> Fill (ImpactVector.mag()) ;
 		    }      
 		    
 		    if(ImpactVector.mag()<MergePointDistance){
@@ -1424,13 +1392,13 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    
 		    //merge in costheta not used
 		    SegVectorII = Rpc_Point.at(i_3DII)-Rpc_Point.at(i_3D0) ;
-		    cosmerge = SegVector.dot(SegVectorII);
+		    float cosmerge = SegVector.dot(SegVectorII);
 		    if(SegVector.mag()*SegVectorII.mag()!=0)cosmerge=cosmerge/(SegVector.mag()*SegVectorII.mag());
 						
 			
 			
 		  }//Third
-		  //First and Second do not link with different layer type with any Third let free Second
+		  //First and Second do not link with different layer m_type with any Third let free Second
 
 		  /*
 		  std::cout<<"3rd LOOP over clusters is OVER: any good triplet ?? lookforthirdII/thirdlayertypeII/ilayertype/thirdlayerHPt/ = "
@@ -1454,37 +1422,46 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		  } 
   	
 		}//Second
-		//First, Second and Third do not link with different layer type let free First
+		//First, Second and Third do not link with different layer m_type let free First
 		if(linkedtrack == 0 ){
 		  Rpc_track[ i_3D0  ] = 0 ;
 		  PointperTrack	  = 0 ;
 		  //std::cout << "Clear First " <<std::endl ;
 		}
 		else{
- 		  if( ilayertype==6  ) { rpcPointPerTracks -> Fill ( PointperTrack ) ; }
-		  else {  f_rpcPointPerTracks -> Fill ( PointperTrack ) ; }
+ 		  if( ilayertype==6  ) { m_rpcPointPerTracks -> Fill ( PointperTrack ) ; }
+		  else {  m_f_rpcPointPerTracks -> Fill ( PointperTrack ) ; }
 		
 		  //rosy decrease to 1000 instead of 10000 since RPC_track is a fixed to 1000 size array
 		  if( N_Rpc_Tracks<1000 ) N_Rpc_Tracks ++ ;
 		  //std::cout << "Add track " <<N_Rpc_Tracks<< " with N points " <<  PointperTrack <<std::endl ;
  
-		  x0Phi = 0 ;
-		  xyPhi = 0 ;
-		  z0Eta = 0 ;
-		  zyEta = 0 ;
- 
-		  xav=0; x2av=0 ; yav=0 ; y2av=0 ; zav=0 ; z2av=0 ; xyav=0 ; xzav=0 ; zyav=0 ;
-		  deltax=0; deltaz=0; deltay=0;
-		  projx=0; projz=0; projy=0;
- 
-		  res=0; residual2=0;
+		  float x0Phi = 0 ;
+		  float xyPhi = 0 ;
+		  float z0Eta = 0 ;
+		  float zyEta = 0 ;
  
-		  NplaneSmall0  = 0   ;  NplaneSmall1  = 0   ;   NplaneSmall2  = 0   ; 
-		  NplaneLarge0  = 0   ;  NplaneLarge1  = 0   ;   NplaneLarge2  = 0   ;
+		  float xav=0;
+                  float x2av=0;
+                  float yav=0;
+                  float y2av=0;
+                  float zav=0;
+                  float z2av=0;
+                  float xyav=0;
+                  float xzav=0;
+                  float zyav=0 ;
  
-		  mineta = 100 ; maxeta=-100 ;
-		  minphi = 100 ; maxphi=-100 ;
+		  int NplaneSmall0  = 0;
+                  int NplaneSmall1  = 0;
+                  int NplaneSmall2  = 0; 
+		  int NplaneLarge0  = 0;
+                  int NplaneLarge1  = 0;
+                  int NplaneLarge2  = 0;
  
+		  float mineta = 100;
+                  float maxeta =-100;
+		  float minphi = 100;
+                  float maxphi =-100;
  
 		  //std::cout <<  " Start track fitting. with PointperTrack " << PointperTrack  <<std::endl ;
  
@@ -1520,12 +1497,10 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    zyav += Rpc_y_3D.at( i_3D)*Rpc_z_3D.at( i_3D) ;
 		  }
 			
-		  TrackType = NplaneSmall0 + NplaneSmall1*2 + NplaneSmall2*4 + NplaneLarge0*8 + NplaneLarge1*16 + NplaneLarge2*32;
+		  float TrackType = NplaneSmall0 + NplaneSmall1*2 + NplaneSmall2*4 + NplaneLarge0*8 + NplaneLarge1*16 + NplaneLarge2*32;
  
 		  // linear regression with all points in (xy), (yx), (yz)
-		  deltax = PointperTrack * x2av - xav*xav ;
-		  deltaz = PointperTrack * z2av - zav*zav ;
-		  deltay = PointperTrack * y2av - yav*yav ;
+		  float deltay = PointperTrack * y2av - yav*yav ;
  
 		  if(deltay!=0){
 		    x0Phi = (xav*y2av-yav*xyav)/deltay;
@@ -1541,8 +1516,13 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    zyEta = 0 ;
 		  }
 			
-		  chi2dof = 0 ; chi2dofeta = 0 ; chi2dofphi=0;
-		  tav = 0; t2av = 0; tres = 0; trms = 0;
+		  float chi2dof = 0;
+                  float chi2dofeta = 0;
+                  float chi2dofphi=0;
+		  float tav = 0;
+                  float t2av = 0;
+                  float tres = 0;
+                  float trms = 0;
 		                            
  
 		  //time spread, residual and chi2 in (y,z), (y,x) view
@@ -1551,21 +1531,21 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		      if(Rpc_track[ i_3D ] != N_Rpc_Tracks) continue;
 		      tav  += Rpc_t_3D.at(i_3D)/PointperTrack;
 		      t2av += Rpc_t_3D.at(i_3D)*Rpc_t_3D.at(i_3D)/PointperTrack;
-		      projz   =  z0Eta + zyEta * Rpc_y_3D.at(i_3D)  ;
-		      res	  = (projz -Rpc_z_3D.at(i_3D))  	;
+		      float projz   =  z0Eta + zyEta * Rpc_y_3D.at(i_3D)  ;
+		      float res	  = (projz -Rpc_z_3D.at(i_3D))  	;
 		                            
-		      if ( rpcEtaResidual!=0  &&  ilayertype==6  ) {rpcEtaResidual->Fill( res );}
+		      if ( m_rpcEtaResidual!=0  &&  ilayertype==6  ) {m_rpcEtaResidual->Fill( res );}
 		      else {ATH_MSG_DEBUG ( "rpcEtaResidual not in hist list!" );}
 			  
-		      residual2 = res*res				;
+		      float residual2 = res*res				;
 		      chi2dofeta  += residual2/(PointperTrack-2)/81.0   ;
  
-		      projx   =  x0Phi + xyPhi * Rpc_y_3D.at(i_3D);
+		      float projx   =  x0Phi + xyPhi * Rpc_y_3D.at(i_3D);
 		      res	  = (projx -Rpc_x_3D.at(i_3D))        ;
-		      cosyx = cos(( (2*(Rpc_Phi_3D.at(i_3D)-1) + SmallLarge.at(i_3D) -5) )*3.14159265/8) ;
+		      float cosyx = cos(( (2*(Rpc_Phi_3D.at(i_3D)-1) + SmallLarge.at(i_3D) -5) )*3.14159265/8) ;
 		      res = res * cosyx ;
 		                            
-		      if ( rpcPhiResidual!=0  &&  ilayertype==6  ) {rpcPhiResidual->Fill( res );}
+		      if ( m_rpcPhiResidual!=0  &&  ilayertype==6  ) {m_rpcPhiResidual->Fill( res );}
 		      else {ATH_MSG_DEBUG ( "rpcPhiResidual not in hist list!" );}
 		  		  
 		      residual2 = res*res				;
@@ -1577,23 +1557,23 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		  
 		    chi2dof = (chi2dofeta + chi2dofphi)/2. ;
 		    if ( ilayertype==6  )  {
-		      rpcchi2dof         -> Fill (chi2dof) ;
-		      rpcetavsphichi2dof -> Fill (chi2dofphi,chi2dofeta) ;
+		      m_rpcchi2dof         -> Fill (chi2dof) ;
+		      m_rpcetavsphichi2dof -> Fill (chi2dofphi,chi2dofeta) ;
 		      //std::cout << "t2av - tav*tav " << t2av << " " << tav*tav <<  std::endl ;
 		      trms = sqrt(fabs(t2av - tav*tav));
-		      rpcTimeTrackRMS -> Fill (trms) ;
+		      m_rpcTimeTrackRMS -> Fill (trms) ;
 		      for (int i_3D=0;i_3D!=N_Rpc_Clusters3D;i_3D++) {
 			if(Rpc_track[ i_3D ] != N_Rpc_Tracks) continue;
 			tres =  Rpc_t_3D.at(i_3D) - tav;
-			rpcTimeTrackRes -> Fill (tres) ;
+			m_rpcTimeTrackRes -> Fill (tres) ;
 		      }
 		  
-		      rpcTrackType->Fill(TrackType);
+		      m_rpcTrackType->Fill(TrackType);
  
 		    }
 		    else { 
-		      f_rpcchi2dof -> Fill (chi2dof) ; 	  
-		      f_rpcTrackType->Fill(TrackType);
+		      m_f_rpcchi2dof -> Fill (chi2dof) ; 	  
+		      m_f_rpcTrackType->Fill(TrackType);
 		 
 		    }
 		  }
@@ -1606,12 +1586,16 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		  
 		    bImpactIP = Poin3RLin.cross(Vect3DCos);	    
 		    if(Vect3DCos.mag()!=0)bImpactIP = bImpactIP/ Vect3DCos.mag();
-		    Impact_B_IP = bImpactIP.mag();
+		    float Impact_B_IP = bImpactIP.mag();
 		        
-		    xsurface = Poin3RLin.x()+Vect3DCos.x()*81000.;
-		    zsurface = Poin3RLin.z()+Vect3DCos.z()*81000.;
-		    xPy0     = Poin3RLin.x() ;
-		    zPy0     = Poin3RLin.z() ;
+		    float xsurface = Poin3RLin.x()+Vect3DCos.x()*81000.;
+		    float zsurface = Poin3RLin.z()+Vect3DCos.z()*81000.;
+		    float xPy0     = Poin3RLin.x() ;
+		    float zPy0     = Poin3RLin.z() ;
+                    float xPz0 = 0;
+                    float yPz0 = 0;
+                    float zPx0 = 0;
+                    float yPx0 = 0;
 		    if(Vect3DCos.z()!=0) {
 		      yPz0     =  - Poin3RLin.z()/Vect3DCos.z()     ;
 		      xPz0     =    Poin3RLin.x()+Vect3DCos.x()*yPz0;
@@ -1622,30 +1606,29 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    }
 		  		  
 
-		    anglephi = 90-atan(abs(xyPhi))*180/3.141592653   ; //atan between -pi/2 and pi/2 , anglephi from 180 to 0	
+		    float anglephi = 90-atan(abs(xyPhi))*180/3.141592653   ; //atan between -pi/2 and pi/2 , anglephi from 180 to 0	
 		    if(xyPhi<0) anglephi = 180.-anglephi;	   
 	    	      
-		    rhoxy  = sqrt( xyPhi*xyPhi + 1 );
-		    rho    = sqrt( xyPhi*xyPhi + 1 + zyEta*zyEta);
-		    costh  = zyEta/rho ;
-		    sinth  = sqrt(1-costh*costh);
-		    pseta  = sinth / (1+costh)  ;
+		    float rho    = sqrt( xyPhi*xyPhi + 1 + zyEta*zyEta);
+		    float costh  = zyEta/rho ;
+		    float sinth  = sqrt(1-costh*costh);
+		    float pseta  = sinth / (1+costh)  ;
 		     
 		    if(pseta>0) pseta = -log(pseta) ;
 		      	 	      
 		    		  
 		    if( ilayertype==6  ){
-		      rpczxSurfaceView       ->Fill(zsurface,xsurface);
-		      rpcxSurfaceView        ->Fill(         xsurface);
-		      rpczSurfaceView        ->Fill(zsurface         );
-		      rpctrack_phivseta      ->Fill(pseta, anglephi  );
-		      rpctrack_bvseta        ->Fill(pseta,Impact_B_IP); 
-		      rpctrack_phi           ->Fill(anglephi         );
-		      rpctrack_eta           ->Fill(pseta            );
-		      rpctrack_b             ->Fill(Impact_B_IP      );
-		      rpctrack_bVTXy0        ->Fill(zPy0,xPy0        );
-		      rpctrack_bVTXx0        ->Fill(zPx0,yPx0        );
-		      rpctrack_bVTXz0        ->Fill(xPz0,yPz0        );
+		      m_rpczxSurfaceView       ->Fill(zsurface,xsurface);
+		      m_rpcxSurfaceView        ->Fill(         xsurface);
+		      m_rpczSurfaceView        ->Fill(zsurface         );
+		      m_rpctrack_phivseta      ->Fill(pseta, anglephi  );
+		      m_rpctrack_bvseta        ->Fill(pseta,Impact_B_IP); 
+		      m_rpctrack_phi           ->Fill(anglephi         );
+		      m_rpctrack_eta           ->Fill(pseta            );
+		      m_rpctrack_b             ->Fill(Impact_B_IP      );
+		      m_rpctrack_bVTXy0        ->Fill(zPy0,xPy0        );
+		      m_rpctrack_bVTXx0        ->Fill(zPx0,yPx0        );
+		      m_rpctrack_bVTXz0        ->Fill(xPz0,yPz0        );
 		    		  
 		    		  
 		      N_RpcTrack++;
@@ -1656,13 +1639,13 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		      RpcTrack_chi2dof   .push_back(   chi2dof);
 		    }
 		    else{
-		      f_rpczxSurfaceView->Fill(zsurface,xsurface);
+		      m_f_rpczxSurfaceView->Fill(zsurface,xsurface);
 		    }
 
 		    //NPhiStrip = 0 ;
 		    //NEtaStrip = 0 ;
-		    phipitch  = 0 ;
-		    etapitch  = 0 ;
+		    float phipitch  = 0 ;
+		    float etapitch  = 0 ;
 	 		   
 		    //std::cout << "minphi maxphi mineta maxeta " << minphi << " " << maxphi << " " << mineta << " " << maxeta <<std::endl;
 		  
@@ -1680,20 +1663,18 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	      
 				  if(rpc == NULL )continue;
 	
-	
+
+                                  int small_large = 0;
 				  if(iname==2||iname==4){
 				    small_large = 1 ;
 				  }
-				  else {
-				    small_large = 0 ;
-				  }
  		
 				  Identifier idr = rpc->identify();
 		
     
  				  for(int ig = 1; ig != 2 + 1; ig++ ){
     
-				    Layer = 4 ;
+				    int Layer = 4 ;
 				    if( iname < 4 || iname == 8 ) Layer = 0 ;
 				    Layer += ig - 1 + (ir - 1)*2 ;
 				    if(Layer!=ilayertype)continue;
@@ -1710,8 +1691,8 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 				  
 				    Amg::Vector3D  Inters3DL (0.,0.,0.) ;
          
-				    phistripN = rpc->NphiStrips()   ;
-				    etastripN = rpc->NetaStrips()   ;
+				    int phistripN = rpc->NphiStrips()   ;
+				    int etastripN = rpc->NetaStrips()   ;
 				    phipitch  = rpc->StripPitch(1)  ;
 				    etapitch  = rpc->StripPitch(0)  ;
     
@@ -1783,10 +1764,10 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 				    
 				
 		                
-				    hitstripphi = (( Inters3DLphi1.x()-Posphi1L.x() + phipitch  ))/phipitch;
+				    float hitstripphi = (( Inters3DLphi1.x()-Posphi1L.x() + phipitch  ))/phipitch;
 				    if( Posphi1L.x() > PosphiNL.x() )hitstripphi=-hitstripphi;
 				    //hitstripphi++;
-				    hitstripeta = (( Inters3DLeta1.x()-Poseta1L.x() + etapitch  ))/etapitch;
+				    float hitstripeta = (( Inters3DLeta1.x()-Poseta1L.x() + etapitch  ))/etapitch;
 				    //if(ieta<0)hitstripeta=-hitstripeta;
 				    //hitstripeta++;
 				    if( Poseta1L.x() > PosetaNL.x() )hitstripeta=-hitstripeta;
@@ -1806,14 +1787,20 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
         
 				    //std::cout << "Intersection at "<< Inters3DG.x() << " " << Inters3DG.y() << " "  << Inters3DG.z() << std::endl;
        
-				    foundonehiteta =    0 ;
-				    foundonehitphi =    0 ;  
-				    foundEtaPhi    =    0 ;
-				    foundEtaOrPhi  =    0 ;
-				    PanelIndexeta  = 1000 ;
-				    PanelIndexphi  = 1000 ;
+				    int foundonehiteta =    0 ;
+				    int foundonehitphi =    0 ;  
+				    int foundEtaPhi    =    0 ;
+				    int foundEtaOrPhi  =    0 ;
+				    int PanelIndexeta  = 1000 ;
+				    int PanelIndexphi  = 1000 ;
+                                    int StripIndexeta =     0 ;
+                                    int StripIndexphi =     0 ;
         
- 				    for(int imeasphi = 0; imeasphi != 1 + 1; imeasphi++ ){
+                                    int stripetaatlas = 0;
+                                    int stripphisector = 0;
+
+                                    for(int imeasphi = 0; imeasphi != 1 + 1; imeasphi++ ){
+                                      int irpcstrip = 0;
 				      if(imeasphi==0){
 					irpcstrip = int(hitstripeta+1);
 					if(irpcstrip<1||rpc->NetaStrips()<irpcstrip)continue;
@@ -1829,87 +1816,80 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 				      //get information from geomodel to book and fill rpc histos with the right max strip number
 				      std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prdcoll_id, 0)  ;
  
-				      NphiStrips	     =  rpcstripshift[0] ;
-				      ShiftPhiStrips     =  rpcstripshift[1] ;
-				      NetaStrips	     =  rpcstripshift[2] ;
-				      ShiftEtaStrips     =  rpcstripshift[3] ;
-				      ShiftStrips	     =  rpcstripshift[4] ;
-				      NetaStripsTot      =  rpcstripshift[5] ;
-				      NetaStripsTotSideA =  rpcstripshift[6] ;
-				      NetaStripsTotSideC =  rpcstripshift[7] ;
-				      ShiftEtaStripsTot  =  rpcstripshift[8] ;
-				      Nbin  	     =  rpcstripshift[9] ;
-				      EtaStripSign       =  rpcstripshift[10];
-				      SectorLogic	       =  rpcstripshift[11]  ;
-				      Side	       =  rpcstripshift[12]  ;
-				      PanelIndex	     =  rpcstripshift[13];
-				      Settore          =  rpcstripshift[14];
-				      strip_dbindex      =  rpcstripshift[16]  ; //ang cool
-				    
+				      int ShiftPhiStrips     =  rpcstripshift[1] ;
+				      int ShiftStrips	     =  rpcstripshift[4] ;
+				      int ShiftEtaStripsTot  =  rpcstripshift[8] ;
+				      int Nbin  	     =  rpcstripshift[9] ;
+				      int EtaStripSign       =  rpcstripshift[10];
+				      int Side	       =  rpcstripshift[12]  ;
+				      int PanelIndex	     =  rpcstripshift[13];
+				      int Settore          =  rpcstripshift[14];
+				      int strip_dbindex      =  rpcstripshift[16]  ; //ang cool
+
 				      m_SummaryHist_Idx = (Settore-1)*m_SummaryHist_Size/16;
  
 				      //get name for titles and labels 
 				      std::vector<std::string>   rpclayersectorsidename = RpcGM::RpcLayerSectorSideName(m_rpcIdHelper,prdcoll_id, 0)  ;
  
-				      layer_name		   = rpclayersectorsidename[0] ;
-				      layertodraw1_name	   = rpclayersectorsidename[1] ;
-				      layertodraw2_name	   = rpclayersectorsidename[2] ;
-				      layervslayer_name	   = rpclayersectorsidename[3] ;
-				      layer0_name		   = rpclayersectorsidename[4] ;
-				      layer1_name		   = rpclayersectorsidename[5] ;
-				      layer2_name		   = rpclayersectorsidename[6] ;
-				      layerPhivsEta_name	   = rpclayersectorsidename[7] ;
-				      layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
-				      sector_name		   = rpclayersectorsidename[9] ;
-				      layeronly_name	   = rpclayersectorsidename[10];
-				      layer_name_panel	   = rpclayersectorsidename[11];
-				      sector_dphi_layer        = rpclayersectorsidename[12]  ; //ang cool
-	      
+                                      std::string layer_name		   = rpclayersectorsidename[0] ;
+                                      std::string layertodraw1_name	   = rpclayersectorsidename[1] ;
+                                      std::string layertodraw2_name	   = rpclayersectorsidename[2] ;
+                                      std::string layervslayer_name	   = rpclayersectorsidename[3] ;
+                                      std::string layer0_name		   = rpclayersectorsidename[4] ;
+                                      std::string layer1_name		   = rpclayersectorsidename[5] ;
+                                      std::string layer2_name		   = rpclayersectorsidename[6] ;
+                                      std::string layerPhivsEta_name	   = rpclayersectorsidename[7] ;
+                                      std::string layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
+                                      std::string sector_name		   = rpclayersectorsidename[9] ;
+                                      std::string layeronly_name	   = rpclayersectorsidename[10];
+                                      std::string layer_name_panel	   = rpclayersectorsidename[11];
+                                      std::string sector_dphi_layer        = rpclayersectorsidename[12]  ; //ang cool
+
 				      if( (m_doRadiography==1) && (imeasphi==1) ){
 					stripetaatlas  =  int( ( hitstripeta + ShiftEtaStripsTot )*EtaStripSign );	     
 					stripphisector =  int(  hitstripphi + ShiftPhiStrips ); 
-					sc = rpc_radiography.getHist(rpcSectorLayerTrackProj, sector_name+"_"+layeronly_name+"_TrackProj");                       
+					sc = rpc_radiography.getHist(m_rpcSectorLayerTrackProj, sector_name+"_"+layeronly_name+"_TrackProj");                       
                 
-					if (rpcSectorLayerTrackProj) {
-					  rpcSectorLayerTrackProj->Fill(stripetaatlas, stripphisector  );
+					if (m_rpcSectorLayerTrackProj) {
+					  m_rpcSectorLayerTrackProj->Fill(stripetaatlas, stripphisector  );
 					}
 					else {ATH_MSG_DEBUG ( " rpcSectorLayerTrackProj not in hist list!" );}
 				      }
 		
 				      //get chamber hardware name
-				      std::string hardware_name=convertChamberName(iname,ieta,iphi,type) ;
+				      std::string hardware_name=convertChamberName(iname,ieta,iphi,m_type) ;
           
 				      if(m_rpcchamberhist){
  
 					ATH_MSG_DEBUG ( "RPC Hardware chamber name in the selected area : " << hardware_name );	    
  
-					histo_flag=true;
-					for (std::vector<std::string>::const_iterator iter=layer_name_list.begin(); iter!=layer_name_list.end(); iter++){
+					bool histo_flag=true;
+					for (std::vector<std::string>::const_iterator iter=m_layer_name_list.begin(); iter!=m_layer_name_list.end(); iter++){
 					  if ( (hardware_name+layer_name)==*iter){histo_flag=false;}
 					}
 					if (histo_flag){ 
-					  layer_name_list.push_back(hardware_name+layer_name); 
+					  m_layer_name_list.push_back(hardware_name+layer_name); 
 					  bookRPCTracksLayerHistograms(hardware_name, layer_name, layer0_name, Nbin, 0 , Nbin);
 					}
           
 					histo_flag=true ;
-					for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++){
+					for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++){
 					  if ( (hardware_name+layer_name_panel)==*iter){histo_flag=false;}
 					}
 					if (histo_flag){ 
-					  layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
-					  layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
+					  m_layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
+					  m_layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
 					}
                                    
 				      }//end if on m_rpcchamberhist || ESD
 				      else{
-					histo_flag=true ;
-					for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++){
+					bool histo_flag=true ;
+					for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++){
 					  if ( (hardware_name+layer_name_panel)==*iter){histo_flag=false;}
 					}
 					if (histo_flag){ 
-					  layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
-					  layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
+					  m_layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
+					  m_layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
 					}
 				      }
                  
@@ -1927,12 +1907,13 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 				      if(PanelIndex<1000) m_SummaryHist[enumSumTrackProj+m_SummaryHist_Idx]-> Fill( PanelIndex );
 				      //
 				      if ( m_doCoolDB ) {
+                                        TH1*  rpcCool_TrackProj = nullptr;
 					sc = rpcCoolDb.getHist( rpcCool_TrackProj, sector_dphi_layer+"_TrackProj" ) ;	    
 					if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_TrackProj hist" );
 					if(rpcCool_TrackProj)rpcCool_TrackProj->Fill( strip_dbindex );   
 				      }
                  
-				      if (LayerTrackProjection) {LayerTrackProjection->Fill( ilayertype + 6*imeasphi + 12*small_large);}
+				      if (m_LayerTrackProjection) {m_LayerTrackProjection->Fill( ilayertype + 6*imeasphi + 12*small_large);}
 				      if ( Side == 1 ) {
 					if ( RPCBA_layerTrackProj )  RPCBA_layerTrackProj->Fill( ilayertype + 6*imeasphi + 12*small_large);
 				      }		
@@ -1963,16 +1944,15 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
              	   
 					    ATH_MSG_DEBUG ( "Adding a new cluster " );
                
-					    irpc_clus_size	 = ((*rpcCollection)->rdoList()).size();
-					    irpc_clus_time	 =  (*rpcCollection)->time()	       ;
-					    irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id) ;
-					    irpc_clus_eta	 =  m_rpcIdHelper->stationEta(prd_id)  ;
-					    irpc_clus_phi	 =  m_rpcIdHelper->stationPhi(prd_id)  ;
-					    irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)    ;
-					    irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)    ;
-					    irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)  ;
-					    irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)      ;
-					    irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id) ;
+					    int irpc_clus_size	 = ((*rpcCollection)->rdoList()).size();
+					    int irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id) ;
+					    int irpc_clus_eta	 =  m_rpcIdHelper->stationEta(prd_id)  ;
+					    int irpc_clus_phi	 =  m_rpcIdHelper->stationPhi(prd_id)  ;
+					    int irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)    ;
+					    int irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)    ;
+					    int irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)  ;
+					    int irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)      ;
+					    int irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id) ;
              	
 					    if(irpc_clus_station    !=    iname   )continue;
 					    if(irpc_clus_eta	  !=     ieta   )continue;
@@ -1993,12 +1973,12 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					    // get the average strip and cluster position
              	   
 					    Amg::Vector3D stripPosC(0,0,0);
-					    av_strip = 0 ;
+					    int av_strip = 0 ;
 					    for(int i=0; i!=irpc_clus_size ; i++){
 					      Identifier id = ((*rpcCollection)->rdoList())[i]	     ;
 					      const MuonGM::RpcReadoutElement* descriptor = m_muonMgr->getRpcReadoutElement(id);
 					      stripPosC += descriptor->stripPos(id)	   ;
-					      strip	   = int(m_rpcIdHelper->strip(id)) ;
+					      int strip	   = int(m_rpcIdHelper->strip(id)) ;
 					      av_strip  += float(strip)		   ;
 					    }
 					    if( irpc_clus_size != 0 ){ 
@@ -2006,10 +1986,6 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      stripPosC = stripPosC / irpc_clus_size ;
 					    }
         
-					    irpc_clus_posx = stripPosC.x() ;
-					    irpc_clus_posy = stripPosC.y() ;
-					    irpc_clus_posz = stripPosC.z() ; 
-	  
 					    Amg::Vector3D Vect3DCosL  (0,0,0)  ;
 					    Amg::Vector3D stripPosCL  (0,0,0)  ;
 					    Amg::Vector3D Inters3DLCL (0,0,0)  ;
@@ -2046,30 +2022,29 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
     
 					    //std::cout << irpc_clus_measphi << " Measphi Found hit at "<< irpc_clus_posx << " " << irpc_clus_posy << " "  << irpc_clus_posz << std::endl;
 
-					    stripontrack = 0 ;
-					    residuals    = 0 ;
-					    residuals    = stripPosCL.x()-Inters3DLCL.x();
+					    float residuals    = stripPosCL.x()-Inters3DLCL.x();
              	
 					    if (rpcresidualslayer) {rpcresidualslayer->Fill( residuals );}
 					    else {  ATH_MSG_DEBUG ( "rpcstripresidualslayer not in hist list!" );}
              			 
-					    if (f_rpcEtaResidual!=0 && imeasphi==0) {f_rpcEtaResidual->Fill( residuals );}
+					    if (m_f_rpcEtaResidual!=0 && imeasphi==0) {m_f_rpcEtaResidual->Fill( residuals );}
 					    else {  ATH_MSG_DEBUG ( "f_rpcEtaResidual not in hist list!" );}
                
-					    if (f_rpcPhiResidual!=0 && imeasphi==1) {f_rpcPhiResidual->Fill( residuals );}
+					    if (m_f_rpcPhiResidual!=0 && imeasphi==1) {m_f_rpcPhiResidual->Fill( residuals );}
 					    else {  ATH_MSG_DEBUG ( "f_rpcPhiResidual not in hist list!" );} 
 	
-					    char m_ResidualVsCS_title_char[100] = "ResidualVsCS";
-					    sprintf(m_ResidualVsCS_title_char , "ResidualVsCS%d", irpc_clus_size) ;
+					    char ResidualVsCS_title_char[100] = "ResidualVsCS";
+					    sprintf(ResidualVsCS_title_char , "ResidualVsCS%d", irpc_clus_size) ;
 					    if(irpc_clus_size<maxCSres+1) { 
-					      sc = rpcprd_shift.getHist(ResidualVsCS , m_ResidualVsCS_title_char );
-					      ResidualVsCS -> Fill (residuals) ;
+					      sc = rpcprd_shift.getHist(m_ResidualVsCS , ResidualVsCS_title_char );
+					      m_ResidualVsCS -> Fill (residuals) ;
 					    }
 					    // summary residuals CS1
 					    if ( irpc_clus_size==1 ) {
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CS1_entries+m_SummaryHist_Idx]-> Fill( PanelIndex );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1*  rpcCool_Res_CS1_entries = nullptr;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS1_entries, sector_dphi_layer+"_Res_CS1_entries" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS1_entries hist" );
 						if(rpcCool_Res_CS1_entries)rpcCool_Res_CS1_entries->Fill( strip_dbindex ); 
@@ -2078,6 +2053,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CS1_NotNorm+m_SummaryHist_Idx]-> Fill( PanelIndex, residuals );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1*  rpcCool_Res_CS1_NotNorm = nullptr;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS1_NotNorm, sector_dphi_layer+"_Res_CS1_NotNorm" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS1_NotNorm hist" );
 						if(rpcCool_Res_CS1_NotNorm)rpcCool_Res_CS1_NotNorm->Fill( strip_dbindex, residuals );      
@@ -2086,6 +2062,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CS1_square+m_SummaryHist_Idx]-> Fill( PanelIndex, residuals*residuals );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1*  rpcCool_Res_CS1_square = nullptr;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS1_square, sector_dphi_layer+"_Res_CS1_square" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS1_square hist" );
 						if(rpcCool_Res_CS1_square)rpcCool_Res_CS1_square->Fill( strip_dbindex, residuals*residuals  );     
@@ -2096,6 +2073,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CS2_entries+m_SummaryHist_Idx]-> Fill( PanelIndex );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1*  rpcCool_Res_CS2_entries = nullptr;		   ;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS2_entries, sector_dphi_layer+"_Res_CS2_entries" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS2_entries hist" );
 						if(rpcCool_Res_CS2_entries)rpcCool_Res_CS2_entries->Fill( strip_dbindex ); 
@@ -2104,6 +2082,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CS2_NotNorm+m_SummaryHist_Idx]-> Fill( PanelIndex, residuals );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1*  rpcCool_Res_CS2_NotNorm = nullptr;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS2_NotNorm, sector_dphi_layer+"_Res_CS2_NotNorm" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS2_NotNorm hist" );
 						if(rpcCool_Res_CS2_NotNorm)rpcCool_Res_CS2_NotNorm->Fill( strip_dbindex, residuals );      
@@ -2112,6 +2091,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CS2_square+m_SummaryHist_Idx]-> Fill( PanelIndex, residuals*residuals );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1*  rpcCool_Res_CS2_square = nullptr;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS2_square, sector_dphi_layer+"_Res_CS2_square" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS2_square hist" );
 						if(rpcCool_Res_CS2_square)rpcCool_Res_CS2_square->Fill( strip_dbindex, residuals*residuals );      
@@ -2122,6 +2102,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CSmore2_entries+m_SummaryHist_Idx]-> Fill( PanelIndex );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1* rpcCool_Res_CS2_entries = nullptr;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS2_entries, sector_dphi_layer+"_Res_CS2_entries" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS2_entries hist" );
 						if(rpcCool_Res_CS2_entries)rpcCool_Res_CS2_entries->Fill( strip_dbindex ); 
@@ -2130,7 +2111,8 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CSmore2_NotNorm+m_SummaryHist_Idx]-> Fill( PanelIndex, residuals );
 					      //
 					      if ( m_doCoolDB ) {
-						sc = rpcCoolDb.getHist( rpcCool_Res_CS2_NotNorm, sector_dphi_layer+"_Res_CS2_NotNorm" ) ;	    
+                                                TH1* rpcCool_Res_CS2_NotNorm = nullptr;
+						sc = rpcCoolDb.getHist( rpcCool_Res_CS2_NotNorm, sector_dphi_layer+"_Res_CS2_NotNorm" ) ;
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS2_NotNorm hist" );
 						if(rpcCool_Res_CS2_NotNorm)rpcCool_Res_CS2_NotNorm->Fill( strip_dbindex, residuals );      
 					      }
@@ -2138,6 +2120,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(PanelIndex<1000) m_SummaryHist[enumSumRes_CSmore2_square+m_SummaryHist_Idx]-> Fill( PanelIndex, residuals*residuals );
 					      //
 					      if ( m_doCoolDB ) {
+                                                TH1* rpcCool_Res_CS2_square = nullptr;
 						sc = rpcCoolDb.getHist( rpcCool_Res_CS2_square, sector_dphi_layer+"_Res_CS2_square" ) ;	    
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_Res_CS2_square hist" );
 						if(rpcCool_Res_CS2_square)rpcCool_Res_CS2_square->Fill( strip_dbindex, residuals*residuals  );     
@@ -2152,7 +2135,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(abs(residuals)<=m_resThEff){
 						if (rpchitontracklayer) {rpchitontracklayer->Fill( float( irpcstrip + ShiftStrips)  -0.5 );}
 						else {  ATH_MSG_DEBUG ( "rpcstriphitontracklayer not in hist list!" );}
-						if (LayerHitOnTrack) {LayerHitOnTrack->Fill( ilayertype + 6*imeasphi + 12*small_large);}
+						if (m_LayerHitOnTrack) {m_LayerHitOnTrack->Fill( ilayertype + 6*imeasphi + 12*small_large);}
 						if ( Side == 1 ) {
 						  if ( RPCBA_layerHitOnTrack )  RPCBA_layerHitOnTrack->Fill( ilayertype + 6*imeasphi + 12*small_large);
 						}		
@@ -2162,11 +2145,13 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 			  
 			  
 						// Summary Hit On Track
+                                                TH1* SummaryHitOnTrack = nullptr;
 						sc = rpcprd_expert_sum.getHist( SummaryHitOnTrack, "SummaryHitOnTrack_" + sector_name ) ;
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get SummaryHitOnTrack hist in EtaView" );		    
 						if(PanelIndex<1000) SummaryHitOnTrack -> Fill( float(PanelIndex) ) ;
 						//
 						if ( m_doCoolDB ) {
+                                                  TH1*  rpcCool_HitOnTrack = nullptr;
 						  sc = rpcCoolDb.getHist( rpcCool_HitOnTrack, sector_dphi_layer+"_HitOnTrack" ) ;	    
 						  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_HitOnTrack hist" );
 						  if(rpcCool_HitOnTrack)rpcCool_HitOnTrack->Fill( strip_dbindex ); 
@@ -2177,9 +2162,9 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 			                        float norm3DGaprho = sqrt(norm3DGap.x() *  norm3DGap.x() + norm3DGap.y() *  norm3DGap.y()) ;
 			                        float Vect3DCosrho = sqrt(Vect3DCos.x() *  Vect3DCos.x() + Vect3DCos.y() *  Vect3DCos.y()) ;
 						
-						incAngle = norm3DGaprho *  Vect3DCosrho + norm3DGap.z() *  Vect3DCos.z() ;
-						norm1 = sqrt(norm3DGaprho*norm3DGaprho+norm3DGap.z()*norm3DGap.z()) ;
-						norm2 = sqrt(Vect3DCosrho*Vect3DCosrho+Vect3DCos.z()*Vect3DCos.z()) ;
+						double incAngle = norm3DGaprho *  Vect3DCosrho + norm3DGap.z() *  Vect3DCos.z() ;
+						float norm1 = sqrt(norm3DGaprho*norm3DGaprho+norm3DGap.z()*norm3DGap.z()) ;
+						float norm2 = sqrt(Vect3DCosrho*Vect3DCosrho+Vect3DCos.z()*Vect3DCos.z()) ;
 			  			   
 						if(norm1*norm2>0)incAngle = incAngle / norm1 / norm2 ;
 			  			  
@@ -2212,18 +2197,20 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					      if(abs(residuals)<=m_resThEff){
 						if (rpchitontracklayer) {rpchitontracklayer->Fill( float( irpcstrip + ShiftStrips)  -0.5 );}
 						else {  ATH_MSG_DEBUG ( "rpcstriphitontracklayer not in hist list!" );}
-						if (LayerHitOnTrack) {LayerHitOnTrack->Fill( ilayertype + 6*imeasphi + 12*small_large);}
+						if (m_LayerHitOnTrack) {m_LayerHitOnTrack->Fill( ilayertype + 6*imeasphi + 12*small_large);}
 						if ( Side == 1 ) {
 						  if ( RPCBA_layerHitOnTrack )  RPCBA_layerHitOnTrack->Fill( ilayertype + 6*imeasphi + 12*small_large);
 						}		
 						else{
 						  if ( RPCBC_layerHitOnTrack )  RPCBC_layerHitOnTrack->Fill( ilayertype + 6*imeasphi + 12*small_large);
 						}
+                                                TH1* SummaryHitOnTrack = nullptr;
 						sc = rpcprd_expert_sum.getHist( SummaryHitOnTrack, "SummaryHitOnTrack_" + sector_name ) ;
 						if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get SummaryHitOnTrack hist in PhiView" );		    
 						if(PanelIndex<1000)SummaryHitOnTrack -> Fill( float(PanelIndex) ) ;
 						//
 						if ( m_doCoolDB ) {
+                                                  TH1*  rpcCool_HitOnTrack = nullptr;
 						  sc = rpcCoolDb.getHist( rpcCool_HitOnTrack, sector_dphi_layer+"_HitOnTrack" ) ;	    
 						  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_HitOnTrack hist" );
 						  if(rpcCool_HitOnTrack)rpcCool_HitOnTrack->Fill( strip_dbindex ); 
@@ -2231,9 +2218,9 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
                           
 						//incidence angle of tracks on surface (x,y)
 			   
-						incAngle = norm3DGap.x() *  Vect3DCos.x() + norm3DGap.y() *  Vect3DCos.y() ;
-						norm1 = sqrt(norm3DGap.x()*norm3DGap.x()+norm3DGap.y()*norm3DGap.y()) ;
-						norm2 = sqrt(Vect3DCos.x()*Vect3DCos.x()+Vect3DCos.y()*Vect3DCos.y()) ;
+						double incAngle = norm3DGap.x() *  Vect3DCos.x() + norm3DGap.y() *  Vect3DCos.y() ;
+						float norm1 = sqrt(norm3DGap.x()*norm3DGap.x()+norm3DGap.y()*norm3DGap.y()) ;
+						float norm2 = sqrt(Vect3DCos.x()*Vect3DCos.x()+Vect3DCos.y()*Vect3DCos.y()) ;
 			   
 						if(norm1*norm2>0)incAngle = incAngle / norm1 / norm2 ;
 			                              		      
@@ -2266,22 +2253,22 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					  
 					  if ( m_doRadiography ) {
 					    if(foundonehitphi==1 && foundonehiteta==1 && imeasphi==1 && foundEtaPhi==0) {
-					      sc = rpc_radiography.getHist(rpcSectorLayerResponse,  sector_name+"_"+layeronly_name+"_Response" ); 
-					      if (rpcSectorLayerResponse) {
-					       rpcSectorLayerResponse->Fill(stripetaatlas, stripphisector  );
-					       float a1 =  rpcSectorLayerResponse->GetBinContent(stripetaatlas, stripphisector  );
-					       float a2 =  rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
+					      sc = rpc_radiography.getHist(m_rpcSectorLayerResponse,  sector_name+"_"+layeronly_name+"_Response" ); 
+					      if (m_rpcSectorLayerResponse) {
+					       m_rpcSectorLayerResponse->Fill(stripetaatlas, stripphisector  );
+					       float a1 =  m_rpcSectorLayerResponse->GetBinContent(stripetaatlas, stripphisector  );
+					       float a2 =  m_rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
 					       if(a2<a1)std::cout << " WARNING DIAMOND AND" <<std::endl;
 					      }
 					      else {  ATH_MSG_DEBUG ( "rpcSectorLayerResponse not in hist list!" );}
 					      foundEtaPhi=1;
 					     }
 					     if ( (foundonehitphi==1 || foundonehiteta==1 ) && imeasphi==1  && foundEtaOrPhi==0 ) {
-					      sc = rpc_radiography.getHist(rpcSectorLayerResponseOR, sector_name+"_"+layeronly_name+"_ResponseEtaOrPhi" ); 
-					      if ( rpcSectorLayerResponseOR ) { 
-					       rpcSectorLayerResponseOR->Fill(stripetaatlas, stripphisector  );
-					       float a1 =  rpcSectorLayerResponseOR->GetBinContent(stripetaatlas, stripphisector  );
-					       float a2 =  rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
+					      sc = rpc_radiography.getHist(m_rpcSectorLayerResponseOR, sector_name+"_"+layeronly_name+"_ResponseEtaOrPhi" ); 
+					      if ( m_rpcSectorLayerResponseOR ) { 
+					       m_rpcSectorLayerResponseOR->Fill(stripetaatlas, stripphisector  );
+					       float a1 =  m_rpcSectorLayerResponseOR->GetBinContent(stripetaatlas, stripphisector  );
+					       float a2 =  m_rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
 					       if(a2<a1)std::cout << " WARNING DIAMOND OR" <<std::endl;
 					      }
 					      else {  ATH_MSG_DEBUG ( "rpcSectorLayerResponseEtaOrPhi not in hist list!" );}
@@ -2289,8 +2276,6 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 					     }
 					   }  
    
-					    res_th = nstripfiduceff ;
-
  					  }}}//end loop on cluster
 //     
 //   
@@ -2302,6 +2287,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 				      if(PanelIndexphi<1000)m_SummaryHist[enumSumHitOnTrack_withCrossStrip+m_SummaryHist_Idx]-> Fill( float(PanelIndexphi) ) ;
 				      //
 				      if ( m_doCoolDB ) {
+                                        TH1*  rpcCool_HitOnTrack_withCrossStrip = nullptr;
 					sc = rpcCoolDb.getHist( rpcCool_HitOnTrack_withCrossStrip, sector_dphi_layer+"_HitOnTrack_withCrossStrip" ) ;		
 					if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_HitOnTrack_withCrossStrip hist" );
 					if(rpcCool_HitOnTrack_withCrossStrip)rpcCool_HitOnTrack_withCrossStrip->Fill( StripIndexeta );
@@ -2312,22 +2298,22 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 				  
 				    if ( m_doRadiography ) {
 				      if(foundonehitphi==1 && foundonehiteta==1 ) {
-					sc = rpc_radiography.getHist(rpcSectorLayerResponse,  sector_name+"_"+layeronly_name+"_Response" ); 
-					if (rpcSectorLayerResponse) {
-					  rpcSectorLayerResponse->Fill(stripetaatlas, stripphisector  );
-					  //float a1 =  rpcSectorLayerResponse->GetBinContent(stripetaatlas, stripphisector  );
-					  //float a2 =  rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
+					sc = rpc_radiography.getHist(m_rpcSectorLayerResponse,  sector_name+"_"+layeronly_name+"_Response" ); 
+					if (m_rpcSectorLayerResponse) {
+					  m_rpcSectorLayerResponse->Fill(stripetaatlas, stripphisector  );
+					  //float a1 =  m_rpcSectorLayerResponse->GetBinContent(stripetaatlas, stripphisector  );
+					  //float a2 =  m_rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
 					  //if(a2<a1)std::cout << " WARNING DIAMOND AND" <<std::endl;
 					}
 					else {  ATH_MSG_DEBUG ( "rpcSectorLayerResponse not in hist list!" );}
 					      
 				      }
 				      if ( foundonehitphi==1 || foundonehiteta==1 ) {
-					sc = rpc_radiography.getHist(rpcSectorLayerResponseOR, sector_name+"_"+layeronly_name+"_ResponseEtaOrPhi" ); 
-					if ( rpcSectorLayerResponseOR ) { 
-					  rpcSectorLayerResponseOR->Fill(stripetaatlas, stripphisector  );
-					  //float a1 =  rpcSectorLayerResponseOR->GetBinContent(stripetaatlas, stripphisector  );
-					  //float a2 =  rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
+					sc = rpc_radiography.getHist(m_rpcSectorLayerResponseOR, sector_name+"_"+layeronly_name+"_ResponseEtaOrPhi" ); 
+					if ( m_rpcSectorLayerResponseOR ) { 
+					  m_rpcSectorLayerResponseOR->Fill(stripetaatlas, stripphisector  );
+					  //float a1 =  m_rpcSectorLayerResponseOR->GetBinContent(stripetaatlas, stripphisector  );
+					  //float a2 =  m_rpcSectorLayerTrackProj->GetBinContent(stripetaatlas, stripphisector  );
 					  //if(a2<a1)std::cout << " WARNING DIAMOND OR" <<std::endl;
 					}
 					else {  ATH_MSG_DEBUG ( "rpcSectorLayerResponseEtaOrPhi not in hist list!" );}
@@ -2344,17 +2330,16 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 
          }}}//Chi2dofCut//First
  
- 	      if( ilayertype==6  ) {  rpcNtracks -> Fill (N_Rpc_Tracks) ; }
- 	      else { f_rpcNtracks -> Fill (N_Rpc_Tracks) ;  }
+ 	      if( ilayertype==6  ) {  m_rpcNtracks -> Fill (N_Rpc_Tracks) ; }
+ 	      else { m_f_rpcNtracks -> Fill (N_Rpc_Tracks) ;  }
      
  	      ///multi tracks end
    
  	    }//for layertype
- 	    delete[] Rpc_track ;
- 	    Rpc_track=0;     
  	  }//if cluster more than
   
 	  // Calculate Noise 
+          int isNoiseCorr=0;
 	  it = rpc_clusterContainer->begin();
 	  for ( ; it != rpc_clusterContainer->end() ; ++it ) {
 
@@ -2371,65 +2356,46 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	
 	        ATH_MSG_DEBUG ( "Adding a new cluster " );
 	     
-		irpc_clus_size     =  ((*rpcCollection)->rdoList()).size();
-		irpc_clus_time     =  (*rpcCollection)->time()            ;
-		irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id)  ;
-		irpc_clus_eta      =  m_rpcIdHelper->stationEta(prd_id)   ;
-		irpc_clus_phi      =  m_rpcIdHelper->stationPhi(prd_id)   ;
-		irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)     ;
-		irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)     ;
-		irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)   ;
-		irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)       ;
-		irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id)  ;
+		int irpc_clus_size     =  ((*rpcCollection)->rdoList()).size();
+		int irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id)  ;
+		int irpc_clus_eta      =  m_rpcIdHelper->stationEta(prd_id)   ;
+		int irpc_clus_phi      =  m_rpcIdHelper->stationPhi(prd_id)   ;
+		int irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)     ;
+		int irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)     ;
+		int irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)   ;
+		int irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)       ;
+		int irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id)  ;
 
 		// get the cluster position
 		const MuonGM::RpcReadoutElement* descriptor = m_muonMgr->getRpcReadoutElement(prd_id);
 	      
 		const Amg::Vector3D stripPosC = descriptor->stripPos(prd_id);
 	      
-		irpc_clus_posx = stripPosC.x() ;
-		irpc_clus_posy = stripPosC.y() ;
-		irpc_clus_posz = stripPosC.z() ;
-	
-  
 		//get information from geomodel to book and fill rpc histos with the right max strip number
 		std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prd_id, 0)  ;
 	    		  
-		NphiStrips  	 =  rpcstripshift[ 0]  ;
-		ShiftPhiStrips	 =  rpcstripshift[ 1]  ;
-		NetaStrips  	 =  rpcstripshift[ 2]  ;
-		ShiftEtaStrips	 =  rpcstripshift[ 3]  ;
-		ShiftStrips 	 =  rpcstripshift[ 4]  ;
-		NetaStripsTot	 =  rpcstripshift[ 5]  ;
-		NetaStripsTotSideA =  rpcstripshift[ 6]  ;
-		NetaStripsTotSideC =  rpcstripshift[ 7]  ;
-		ShiftEtaStripsTot	 =  rpcstripshift[ 8]  ;
-		Nbin		 =  rpcstripshift[ 9]  ;
-		EtaStripSign	 =  rpcstripshift[10]  ;
-		SectorLogic 	 =  rpcstripshift[11]  ;
-		Side		 =  rpcstripshift[12]  ;
-		PanelIndex  	 =  rpcstripshift[13]  ;
-		Settore            =  rpcstripshift[14];
-		strip_dbindex      =  rpcstripshift[16]  ;
+		int PanelIndex  	 =  rpcstripshift[13]  ;
+		int Settore            =  rpcstripshift[14];
+		int strip_dbindex      =  rpcstripshift[16]  ;
 				    
 		m_SummaryHist_Idx = (Settore-1)*m_SummaryHist_Size/16;
  
 		//get name for titles and labels
 		std::vector<std::string>   rpclayersectorsidename = RpcGM::RpcLayerSectorSideName(m_rpcIdHelper,prd_id, 0)  ;
   	       
-		layer_name	       = rpclayersectorsidename[ 0]  ;
-		layertodraw1_name	       = rpclayersectorsidename[ 1]  ;
-		layertodraw2_name	       = rpclayersectorsidename[ 2]  ;
-		layervslayer_name	       = rpclayersectorsidename[ 3]  ;
-		layer0_name 	       = rpclayersectorsidename[ 4]  ;
-		layer1_name 	       = rpclayersectorsidename[ 5]  ;
-		layer2_name 	       = rpclayersectorsidename[ 6]  ;
-		layerPhivsEta_name       = rpclayersectorsidename[ 7]  ;
-		layerPhivsEtaSector_name = rpclayersectorsidename[ 8]  ;
-		sector_name 	       = rpclayersectorsidename[ 9]  ;
+                std::string layer_name	       = rpclayersectorsidename[ 0]  ;
+                std::string layertodraw1_name	       = rpclayersectorsidename[ 1]  ;
+                std::string layertodraw2_name	       = rpclayersectorsidename[ 2]  ;
+                std::string layervslayer_name	       = rpclayersectorsidename[ 3]  ;
+                std::string layer0_name 	       = rpclayersectorsidename[ 4]  ;
+                std::string layer1_name 	       = rpclayersectorsidename[ 5]  ;
+                std::string layer2_name 	       = rpclayersectorsidename[ 6]  ;
+                std::string layerPhivsEta_name       = rpclayersectorsidename[ 7]  ;
+                std::string layerPhivsEtaSector_name = rpclayersectorsidename[ 8]  ;
+                std::string sector_name 	       = rpclayersectorsidename[ 9]  ;
 		layeronly_name	       = rpclayersectorsidename[10]  ;
-		layer_name_panel         = rpclayersectorsidename[11]  ;	
-		sector_dphi_layer        = rpclayersectorsidename[12]  ;
+                std::string layer_name_panel         = rpclayersectorsidename[11]  ;	
+                std::string ssector_dphi_layer        = rpclayersectorsidename[12]  ;
 	      
 	      
 		irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id)  ;	
@@ -2444,10 +2410,11 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		  
 		Amg::Vector3D  Vector3DGapG = rpc->gasGapPos(irpc_clus_doublz, irpc_clus_doublphi, irpc_clus_gasgap  );
 		Amg::Vector3D norm3DGap   = rpc->normal   ( /*                 irpc_clus_doublphi, irpc_clus_gasgap  */);
-		invgasgaparea  = rpc->gasGapSsize() * rpc->gasGapZsize() / 100;
+		float invgasgaparea  = rpc->gasGapSsize() * rpc->gasGapZsize() / 100;
 		
 		if(invgasgaparea!=0)invgasgaparea=1./invgasgaparea;
-	      
+
+                float invstriparea = 0;
 		if(irpc_clus_measphi==0){
 		  invstriparea=invgasgaparea*rpc->NetaStrips() ;
 		}   
@@ -2456,7 +2423,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		}	
 		
 	        
-		isNoise=1;
+		int isNoise=1;
 		
 		Amg::Vector3D Inters3DG  (0,0,0);
 		Amg::Vector3D Inters3DL  (0,0,0);
@@ -2474,7 +2441,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		  stripPosCL	 = ((rpc->transform(prd_id)).inverse())* stripPosC   ;				    
 		  //if(  	 stripPosCL       == NULL ) return StatusCode::SUCCESS;
                   
-		  distance = fabs(Inters3DL.x() -  stripPosCL.x());
+		  float distance = fabs(Inters3DL.x() -  stripPosCL.x());
 	        
 		
 		  if(distance<MergePointDistance) {
@@ -2484,33 +2451,29 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		
 		if( isNoise==1 ) {
 	        
-		  //sc = rpcprd_expert_sum.getHist( SummaryNoiseTot_NotNorm, "SummaryNoiseTot_NotNorm_" + sector_name ) ;
-		  //if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get SummaryNoiseTot_NotNorm hist in PhiView" );  			
 		  if(PanelIndex<1000)m_SummaryHist[enumSumNoiseTot_NotNorm+m_SummaryHist_Idx]-> Fill( float(PanelIndex) , invgasgaparea) ;
 		  //
 		  if ( m_doCoolDB ) {
+                    TH1*  rpcCool_NoiseTot_NotNorm = nullptr;
 		    sc = rpcCoolDb.getHist( rpcCool_NoiseTot_NotNorm, sector_dphi_layer+"_NoiseTot_NotNorm" ) ;		    
 		    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_NoiseTot_NotNorm hist" );
 		    if(rpcCool_NoiseTot_NotNorm)rpcCool_NoiseTot_NotNorm->Fill( strip_dbindex, invstriparea);	  
 		  }
 		  // correlated noise
-		  isNoiseCorr=0;
 		  for (Muon::RpcPrepDataCollection::const_iterator rpcCollectionII = clusterCollection->begin(); 
 		       rpcCollectionII != clusterCollection->end(); ++rpcCollectionII) {
 		    Identifier prd_idII = (*rpcCollectionII)->identify();
 	     
 	            ATH_MSG_DEBUG ( "Adding a new cluster " );
 	     
-		    irpc_clus_sizeII     = ((*rpcCollectionII)->rdoList()).size();
-		    irpc_clus_timeII     =  (*rpcCollectionII)->time()           ;
-		    irpc_clus_stationII  =  m_rpcIdHelper->stationName(prd_idII) ;
-		    irpc_clus_etaII      =  m_rpcIdHelper->stationEta(prd_idII)  ;
-		    irpc_clus_phiII      =  m_rpcIdHelper->stationPhi(prd_idII)  ;
-		    irpc_clus_doublrII   =  m_rpcIdHelper->doubletR(prd_idII)    ;
-		    irpc_clus_doublzII   =  m_rpcIdHelper->doubletZ(prd_idII)    ;
-		    irpc_clus_doublphiII =  m_rpcIdHelper->doubletPhi(prd_idII)  ;
-		    irpc_clus_gasgapII   =  m_rpcIdHelper->gasGap(prd_idII)      ; 
-		    irpc_clus_measphiII  =  m_rpcIdHelper->measuresPhi(prd_idII) ;
+		    int irpc_clus_stationII  =  m_rpcIdHelper->stationName(prd_idII) ;
+		    int irpc_clus_etaII      =  m_rpcIdHelper->stationEta(prd_idII)  ;
+		    int irpc_clus_phiII      =  m_rpcIdHelper->stationPhi(prd_idII)  ;
+		    int irpc_clus_doublrII   =  m_rpcIdHelper->doubletR(prd_idII)    ;
+		    int irpc_clus_doublzII   =  m_rpcIdHelper->doubletZ(prd_idII)    ;
+		    int irpc_clus_doublphiII =  m_rpcIdHelper->doubletPhi(prd_idII)  ;
+		    int irpc_clus_gasgapII   =  m_rpcIdHelper->gasGap(prd_idII)      ; 
+		    int irpc_clus_measphiII  =  m_rpcIdHelper->measuresPhi(prd_idII) ;
 	   
 	   
 		    if( irpc_clus_stationII  != irpc_clus_station     ) continue ;		 
@@ -2528,7 +2491,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		    const Amg::Vector3D stripPosCII = descriptorII->stripPos(prd_idII);
 	          
 	   
-		    distance =   (stripPosCII - stripPosC ).mag() ;
+		    float distance =   (stripPosCII - stripPosC ).mag() ;
 	   
 		    if( distance < MergePointDistance ) {
 		      isNoiseCorr = 1;
@@ -2536,23 +2499,22 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	
 		  }
 		  if ( isNoiseCorr==1) {
-		    //sc = rpcprd_expert_sum.getHist( SummaryNoiseCorr_NotNorm, "SummaryNoiseCorr_NotNorm_" + sector_name ) ;
-		    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get SummaryNoiseCorr_NotNorm hist" );  		      
 		    if(PanelIndex<1000)m_SummaryHist[enumSumNoiseCorr_NotNorm+m_SummaryHist_Idx]-> Fill( float(PanelIndex), invgasgaparea) ;
 		    //
 		    if ( m_doCoolDB ) {
+                      TH1*  rpcCool_NoiseCorr_NotNorm = nullptr;
 		      sc = rpcCoolDb.getHist( rpcCool_NoiseCorr_NotNorm, sector_dphi_layer+"_NoiseCorr_NotNorm" ) ;	      
 		      if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get " << sector_dphi_layer << "_NoiseCorr_NotNorm hist" );
 		      if(rpcCool_NoiseCorr_NotNorm)rpcCool_NoiseCorr_NotNorm->Fill( strip_dbindex, invstriparea );     
 		    }
-		    rpcCS_NoiseCorr->Fill( irpc_clus_size ) ;
+		    m_rpcCS_NoiseCorr->Fill( irpc_clus_size ) ;
 		  }
 		  else {
-		    rpcCS_NoiseNotCorr->Fill( irpc_clus_size ) ;
+		    m_rpcCS_NoiseNotCorr->Fill( irpc_clus_size ) ;
 		  }
 		} // end if isNoise==1   
 		else {
-		  rpcCS_HitOnTrack->Fill( irpc_clus_size ) ;
+		  m_rpcCS_HitOnTrack->Fill( irpc_clus_size ) ;
 		}	   
 	     
  		
@@ -2581,7 +2543,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	      sector_name = sector_char;
  		
 		  		 
-	      isNoise = 1 ;
+	      int isNoise = 1 ;
 	      for (int i_RpcTrack=0; i_RpcTrack!=N_RpcTrack; i_RpcTrack++) {
 		ImpVec=( Rpc_Point.at(i_3D0) - RpcTrack_Poin3RLin.at(i_RpcTrack) ).cross( RpcTrack_Vect3DCos.at(i_RpcTrack) ); 
 		if (  ( RpcTrack_Vect3DCos.at(i_RpcTrack) ).mag()!=0  ) ImpVec = ImpVec/( RpcTrack_Vect3DCos.at(i_RpcTrack) ).mag();
@@ -2601,13 +2563,13 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		  if ( Rpc_DBLz_3D.at(i_3D0)    != Rpc_DBLz_3D .at(i_3DI)   )  continue ;
 		  if ( Rpc_DBLphi_3D.at(i_3D0)  != Rpc_DBLphi_3D.at(i_3DI)  )  continue ;
 		  if ( Rpc_GasGap_3D.at(i_3D0)  == Rpc_GasGap_3D.at(i_3DI)  )  continue ;
-		  distance = ( Rpc_Point.at(i_3D0) - Rpc_Point.at(i_3DI) ).mag() ;
+		  float distance = ( Rpc_Point.at(i_3D0) - Rpc_Point.at(i_3DI) ).mag() ;
 		  if ( distance < MergePointDistance ) {
 		    isNoiseCorr = 1;
 		  }
 		}
 	      
-		isNoisePhiStrip =  Rpc_avPhi_3D.at(i_3D0) ;
+		int isNoisePhiStrip =  Rpc_avPhi_3D.at(i_3D0) ;
 		if(Rpc_DBLphi_3D.at(i_3D0) == 2){
 		  if(LayerType.at(i_3D0)<4&&Rpc_Station_3D.at(i_3D0)==2)isNoisePhiStrip += 64 ;
 		  if(LayerType.at(i_3D0)<4&&(Rpc_Station_3D.at(i_3D0)==3||Rpc_Station_3D.at(i_3D0)==8))isNoisePhiStrip += 56 ;
@@ -2616,13 +2578,13 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 		}
 		    
 		if ( isNoiseCorr==1 ) {
-		  sc = rpc_radiography.getHist(rpcSectorLayerNoiseCorr, sector_name+"_"+layeronly_name+"_NoiseCorr" );
-		  if ( rpcSectorLayerNoiseCorr ) { rpcSectorLayerNoiseCorr->Fill( Rpc_avEta_3D.at(i_3D0),  isNoisePhiStrip ); }
+		  sc = rpc_radiography.getHist(m_rpcSectorLayerNoiseCorr, sector_name+"_"+layeronly_name+"_NoiseCorr" );
+		  if ( m_rpcSectorLayerNoiseCorr ) { m_rpcSectorLayerNoiseCorr->Fill( Rpc_avEta_3D.at(i_3D0),  isNoisePhiStrip ); }
 		  else {  ATH_MSG_DEBUG ( "rpcSectorLayerNoiseCorr not in hist list!" );}		    
 		}
 		else {
-		  sc = rpc_radiography.getHist(rpcSectorLayerNoiseNotCorr, sector_name+"_"+layeronly_name+"_NoiseNotCorr" );
-		  if ( rpcSectorLayerNoiseNotCorr ) { rpcSectorLayerNoiseNotCorr->Fill( Rpc_avEta_3D.at(i_3D0), isNoisePhiStrip  ); }
+		  sc = rpc_radiography.getHist(m_rpcSectorLayerNoiseNotCorr, sector_name+"_"+layeronly_name+"_NoiseNotCorr" );
+		  if ( m_rpcSectorLayerNoiseNotCorr ) { m_rpcSectorLayerNoiseNotCorr->Fill( Rpc_avEta_3D.at(i_3D0), isNoisePhiStrip  ); }
 		  else {  ATH_MSG_DEBUG ( "rpcSectorLayerNoiseNotCorr not in hist list!" );}
 		}
 
@@ -2636,7 +2598,7 @@ StatusCode RPCStandaloneTracksMon::fillHistograms()
 	
     }}//m_doRpcESD // AthenaMonManager::tier0 || AthenaMonManager::tier0ESD        
       
-  rpc_eventstotal++;
+  m_rpc_eventstotal++;
 
   return sc; // statuscode check 
   
@@ -2653,15 +2615,15 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
   StatusCode sc = StatusCode::SUCCESS; 
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {       
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
-      MonGroup rpcprd_shift( this, m_generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED  )      ;
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED )     ;
-      MonGroup rpcprd_expert_sum( this, m_generic_path_rpcmonitoring +"/Summary", run, ATTRIB_UNMANAGED ) ;
-      MonGroup rpc_dqmf_global( this, m_generic_path_rpcmonitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )    ;
-      MonGroup rpcprd_dq_BA( this, m_generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED  )       ;
-      MonGroup rpcprd_dq_BC( this, m_generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )        ;
-      MonGroup rpc_radiography(this, m_generic_path_rpcmonitoring +"/RPCRadiography",run, ATTRIB_UNMANAGED) ;
-      MonGroup rpc_triggerefficiency(this, m_generic_path_rpcmonitoring +"/TriggerEfficiency",run, ATTRIB_UNMANAGED) ;
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+      MonGroup rpcprd_shift( this, generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED  )      ;
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED )     ;
+      MonGroup rpcprd_expert_sum( this, generic_path_rpcmonitoring +"/Summary", run, ATTRIB_UNMANAGED ) ;
+      MonGroup rpc_dqmf_global( this, generic_path_rpcmonitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )    ;
+      MonGroup rpcprd_dq_BA( this, generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED  )       ;
+      MonGroup rpcprd_dq_BC( this, generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )        ;
+      MonGroup rpc_radiography(this, generic_path_rpcmonitoring +"/RPCRadiography",run, ATTRIB_UNMANAGED) ;
+      MonGroup rpc_triggerefficiency(this, generic_path_rpcmonitoring +"/TriggerEfficiency",run, ATTRIB_UNMANAGED) ;
     
       if(newEventsBlock){}
       if(newLumiBlock){}
@@ -2672,191 +2634,191 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  //book triggereff
 	 
 	 //PhiEtaCoin Thr_eff
-	 hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff0","hRPCPhiEtaCoinThr_eff0" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; 
-         hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff0");   
+	 m_hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff0","hRPCPhiEtaCoinThr_eff0" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr_eff.back()) ; 
+         m_hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff0");   
 	 
-	 hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff1","hRPCPhiEtaCoinThr_eff1" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; 
-         hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff1");  
+	 m_hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff1","hRPCPhiEtaCoinThr_eff1" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr_eff.back()) ; 
+         m_hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff1");  
 	 
-	 hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff2","hRPCPhiEtaCoinThr_eff2" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; 
-         hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff2");  
+	 m_hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff2","hRPCPhiEtaCoinThr_eff2" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr_eff.back()) ; 
+         m_hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff2");  
 	 
-	 hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff3","hRPCPhiEtaCoinThr_eff3" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; 
-         hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff3");  
+	 m_hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff3","hRPCPhiEtaCoinThr_eff3" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr_eff.back()) ; 
+         m_hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff3");  
 	 
-	 hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff4","hRPCPhiEtaCoinThr_eff4" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; 
-         hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff4"); 
+	 m_hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff4","hRPCPhiEtaCoinThr_eff4" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr_eff.back()) ; 
+         m_hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff4"); 
 	  
-	 hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff5","hRPCPhiEtaCoinThr_eff5" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; 
-         hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff5"); 
+	 m_hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff5","hRPCPhiEtaCoinThr_eff5" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr_eff.back()) ; 
+         m_hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff5"); 
 	 
 	 //Pad Thr_eff
-	 hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff0","hRPCPadThr_eff0" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; 
-         hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff0");   
+	 m_hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff0","hRPCPadThr_eff0" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr_eff.back()) ; 
+         m_hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff0");   
 	 
-	 hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff1","hRPCPadThr_eff1" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; 
-         hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff1");  
+	 m_hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff1","hRPCPadThr_eff1" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr_eff.back()) ; 
+         m_hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff1");  
 	 
-	 hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff2","hRPCPadThr_eff2" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; 
-         hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff2");  
+	 m_hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff2","hRPCPadThr_eff2" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr_eff.back()) ; 
+         m_hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff2");  
 	 
-	 hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff3","hRPCPadThr_eff3" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; 
-         hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff3");  
+	 m_hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff3","hRPCPadThr_eff3" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr_eff.back()) ; 
+         m_hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff3");  
 	 
-	 hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff4","hRPCPadThr_eff4" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; 
-         hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff4"); 
+	 m_hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff4","hRPCPadThr_eff4" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr_eff.back()) ; 
+         m_hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff4"); 
 	  
-	 hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff5","hRPCPadThr_eff5" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; 
-         hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff5");
+	 m_hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff5","hRPCPadThr_eff5" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr_eff.back()) ; 
+         m_hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff5");
 	 
 	 //Muctpi Thr_eff
-	 hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff0","hRPCMuctpiThr_eff0" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; 
-         hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff0");   
+	 m_hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff0","hRPCMuctpiThr_eff0" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr_eff.back()) ; 
+         m_hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff0");   
 	 
-	 hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff1","hRPCMuctpiThr_eff1" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; 
-         hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff1");  
+	 m_hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff1","hRPCMuctpiThr_eff1" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr_eff.back()) ; 
+         m_hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff1");  
 	 
-	 hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff2","hRPCMuctpiThr_eff2" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; 
-         hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff2");  
+	 m_hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff2","hRPCMuctpiThr_eff2" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr_eff.back()) ; 
+         m_hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff2");  
 	 
-	 hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff3","hRPCMuctpiThr_eff3" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; 
-         hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff3");  
+	 m_hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff3","hRPCMuctpiThr_eff3" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr_eff.back()) ; 
+         m_hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff3");  
 	 
-	 hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff4","hRPCMuctpiThr_eff4" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; 
-         hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff4"); 
+	 m_hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff4","hRPCMuctpiThr_eff4" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr_eff.back()) ; 
+         m_hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff4"); 
 	  
-	 hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff5","hRPCMuctpiThr_eff5" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; 
-         hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff5");
+	 m_hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff5","hRPCMuctpiThr_eff5" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr_eff.back()) ; 
+         m_hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff5");
 
 	 
 	 //PhiEtaCoin thr
-	 hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr0","hRPCPhiEtaCoinThr0" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr.back()) ; 
-         hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr0");   
+	 m_hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr0","hRPCPhiEtaCoinThr0" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr.back()) ; 
+         m_hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr0");   
 	 
-	 hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr1","hRPCPhiEtaCoinThr1" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr.back()) ; 
-         hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr1");  
+	 m_hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr1","hRPCPhiEtaCoinThr1" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr.back()) ; 
+         m_hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr1");  
 	 
-	 hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr2","hRPCPhiEtaCoinThr2" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr.back()) ; 
-         hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr2");  
+	 m_hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr2","hRPCPhiEtaCoinThr2" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr.back()) ; 
+         m_hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr2");  
 	 
-	 hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr3","hRPCPhiEtaCoinThr3" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr.back()) ; 
-         hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr3");  
+	 m_hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr3","hRPCPhiEtaCoinThr3" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr.back()) ; 
+         m_hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr3");  
 	 
-	 hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr4","hRPCPhiEtaCoinThr4" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr.back()) ; 
-         hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr4"); 
+	 m_hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr4","hRPCPhiEtaCoinThr4" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr.back()) ; 
+         m_hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr4"); 
 	  
-	 hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr5","hRPCPhiEtaCoinThr5" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr.back()) ; 
-         hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr5"); 
+	 m_hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr5","hRPCPhiEtaCoinThr5" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPhiEtaCoinThr.back()) ; 
+         m_hRPCPhiEtaCoinThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPhiEtaCoinThr.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr5"); 
 	 
 	 //Pad thr
-	 hRPCPadThr.push_back( new TH1F("hRPCPadThr0","hRPCPadThr0" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr.back()) ; 
-         hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr0");   
+	 m_hRPCPadThr.push_back( new TH1F("hRPCPadThr0","hRPCPadThr0" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr.back()) ; 
+         m_hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr0");   
 	 
-	 hRPCPadThr.push_back( new TH1F("hRPCPadThr1","hRPCPadThr1" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr.back()) ; 
-         hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr1");  
+	 m_hRPCPadThr.push_back( new TH1F("hRPCPadThr1","hRPCPadThr1" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr.back()) ; 
+         m_hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr1");  
 	 
-	 hRPCPadThr.push_back( new TH1F("hRPCPadThr2","hRPCPadThr2" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr.back()) ; 
-         hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr2");  
+	 m_hRPCPadThr.push_back( new TH1F("hRPCPadThr2","hRPCPadThr2" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr.back()) ; 
+         m_hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr2");  
 	 
-	 hRPCPadThr.push_back( new TH1F("hRPCPadThr3","hRPCPadThr3" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr.back()) ; 
-         hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr3");  
+	 m_hRPCPadThr.push_back( new TH1F("hRPCPadThr3","hRPCPadThr3" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr.back()) ; 
+         m_hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr3");  
 	 
-	 hRPCPadThr.push_back( new TH1F("hRPCPadThr4","hRPCPadThr4" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr.back()) ; 
-         hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr4"); 
+	 m_hRPCPadThr.push_back( new TH1F("hRPCPadThr4","hRPCPadThr4" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr.back()) ; 
+         m_hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr4"); 
 	  
-	 hRPCPadThr.push_back( new TH1F("hRPCPadThr5","hRPCPadThr5" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCPadThr.back()) ; 
-         hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr5");
+	 m_hRPCPadThr.push_back( new TH1F("hRPCPadThr5","hRPCPadThr5" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCPadThr.back()) ; 
+         m_hRPCPadThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCPadThr.back()->GetYaxis()->SetTitle("RPad Thr5");
 	 
 	 //Muctpi thr
-	 hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr0","hRPCMuctpiThr0" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr.back()) ; 
-         hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr0");   
+	 m_hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr0","hRPCMuctpiThr0" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr.back()) ; 
+         m_hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr0");   
 	 
-	 hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr1","hRPCMuctpiThr1" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr.back()) ; 
-         hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr1");  
+	 m_hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr1","hRPCMuctpiThr1" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr.back()) ; 
+         m_hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr1");  
 	 
-	 hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr2","hRPCMuctpiThr2" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr.back()) ; 
-         hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr2");  
+	 m_hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr2","hRPCMuctpiThr2" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr.back()) ; 
+         m_hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr2");  
 	 
-	 hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr3","hRPCMuctpiThr3" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr.back()) ; 
-         hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr3");  
+	 m_hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr3","hRPCMuctpiThr3" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr.back()) ; 
+         m_hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr3");  
 	 
-	 hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr4","hRPCMuctpiThr4" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr.back()) ; 
-         hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr4"); 
+	 m_hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr4","hRPCMuctpiThr4" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr.back()) ; 
+         m_hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr4"); 
 	  
-	 hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr5","hRPCMuctpiThr5" , 400, 0., 100.));	    
-         sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr.back()) ; 
-         hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
-         hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr5");
+	 m_hRPCMuctpiThr.push_back( new TH1F("hRPCMuctpiThr5","hRPCMuctpiThr5" , 400, 0., 100.));	    
+         sc=rpc_triggerefficiency.regHist(m_hRPCMuctpiThr.back()) ; 
+         m_hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]");
+         m_hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr5");
 	  
 	  
 	  TH1 *hMEtracks=new TH1F("hMEtracks","hMEtracks",400,0,100);	  
@@ -2877,11 +2839,11 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  ////////////////////////book track
 	  //track on surface histo for rpc cluster
 	
-	  std::string m_generic_path_rpczxSurfaceView = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpczxSurfaceView_title = "rpczxSurfaceView";
-	  const char* m_rpczxSurfaceView_title_char = m_rpczxSurfaceView_title.c_str();  
+	  std::string generic_path_rpczxSurfaceView = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpczxSurfaceView_title = "rpczxSurfaceView";
+	  const char* rpczxSurfaceView_title_char = rpczxSurfaceView_title.c_str();  
 	  	  
-	  TH2 *rpczxSurfaceView=new TH2F(m_rpczxSurfaceView_title_char,m_rpczxSurfaceView_title_char,50,-50000,50000,50,-50000,50000);	  
+	  TH2 *rpczxSurfaceView=new TH2F(rpczxSurfaceView_title_char,rpczxSurfaceView_title_char,50,-50000,50000,50,-50000,50000);	  
 	  sc = rpc_dqmf_global.regHist(rpczxSurfaceView) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpczxSurfaceView Failed to register histogram " );	    
@@ -2891,17 +2853,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpczxSurfaceView->GetYaxis()->SetTitle("rpc track extrapolation x [mm]");
 	  rpczxSurfaceView->GetXaxis()->SetTitle("rpc track extrapolation z [mm]"); 
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpczxSurfaceView << m_generic_path_rpczxSurfaceView.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpczxSurfaceView << generic_path_rpczxSurfaceView.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );		 
 	    ATH_MSG_DEBUG ( "Booked bookrpczxSurfaceView successfully" );}   
 	  	  
 	  
-	  std::string m_generic_path_rpczSurfaceView = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpczSurfaceView_title = "rpczSurfaceView";
-	  const char* m_rpczSurfaceView_title_char = m_rpczSurfaceView_title.c_str();  
+	  std::string generic_path_rpczSurfaceView = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpczSurfaceView_title = "rpczSurfaceView";
+	  const char* rpczSurfaceView_title_char = rpczSurfaceView_title.c_str();  
 
-	  TH1 *rpczSurfaceView=new TH1F(m_rpczSurfaceView_title_char,m_rpczSurfaceView_title_char,50,-50000,50000);	  
+	  TH1 *rpczSurfaceView=new TH1F(rpczSurfaceView_title_char,rpczSurfaceView_title_char,50,-50000,50000);	  
 	  sc=rpcprd_shift.regHist(rpczSurfaceView) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpczSurfaceView Failed to register histogram " );	    
@@ -2911,16 +2873,16 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpczSurfaceView->GetYaxis()->SetTitle("Counts");
 	  rpczSurfaceView->GetXaxis()->SetTitle("rpc track extrapolation z [mm]"); 
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpczSurfaceView << m_generic_path_rpczSurfaceView.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpczSurfaceView << generic_path_rpczSurfaceView.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );		 
 	    ATH_MSG_DEBUG ( "Booked bookrpczSurfaceView successfully" );}   
 	  	  
-	  std::string m_generic_path_rpcxSurfaceView = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcxSurfaceView_title = "rpcxSurfaceView";
-	  const char* m_rpcxSurfaceView_title_char = m_rpcxSurfaceView_title.c_str();  
+	  std::string generic_path_rpcxSurfaceView = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcxSurfaceView_title = "rpcxSurfaceView";
+	  const char* rpcxSurfaceView_title_char = rpcxSurfaceView_title.c_str();  
 	  
-	  TH1 *rpcxSurfaceView=new TH1F(m_rpcxSurfaceView_title_char,m_rpcxSurfaceView_title_char,50,-50000,50000);	  
+	  TH1 *rpcxSurfaceView=new TH1F(rpcxSurfaceView_title_char,rpcxSurfaceView_title_char,50,-50000,50000);	  
 	  sc= rpcprd_shift.regHist(rpcxSurfaceView) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcxSurfaceView Failed to register histogram " );	    
@@ -2930,18 +2892,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcxSurfaceView->GetYaxis()->SetTitle("counts");
 	  rpcxSurfaceView->GetXaxis()->SetTitle("rpc track extrapolation x [mm]"); 
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcxSurfaceView << m_generic_path_rpcxSurfaceView.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcxSurfaceView << generic_path_rpcxSurfaceView.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );		 
 	    ATH_MSG_DEBUG ( "Booked bookrpcxSurfaceView successfully" );}   
 
     	    
 
-	  std::string m_generic_path_f_rpczxSurfaceView = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpczxSurfaceView_title = "f_rpczxSurfaceView";
-	  const char* m_f_rpczxSurfaceView_title_char = m_f_rpczxSurfaceView_title.c_str();  
+	  std::string generic_path_f_rpczxSurfaceView = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpczxSurfaceView_title = "f_rpczxSurfaceView";
+	  const char* f_rpczxSurfaceView_title_char = f_rpczxSurfaceView_title.c_str();  
 
-	  TH2 *f_rpczxSurfaceView=new TH2F(m_f_rpczxSurfaceView_title_char,m_f_rpczxSurfaceView_title_char,50,-50000,50000,50,-50000,50000);	  
+	  TH2 *f_rpczxSurfaceView=new TH2F(f_rpczxSurfaceView_title_char,f_rpczxSurfaceView_title_char,50,-50000,50000,50,-50000,50000);	  
 	  sc=rpcprd_shift.regHist(f_rpczxSurfaceView) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpczxSurfaceView Failed to register histogram " );	    
@@ -2951,17 +2913,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpczxSurfaceView->GetYaxis()->SetTitle("rpc track extrapolation x [mm]");
 	  f_rpczxSurfaceView->GetXaxis()->SetTitle("rpc track extrapolation z [mm]"); 
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpczxSurfaceView << m_generic_path_f_rpczxSurfaceView.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpczxSurfaceView << generic_path_f_rpczxSurfaceView.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpczxSurfaceView successfully" );}   
 	
 	
-	  std::string m_generic_path_rpctrack_phivseta = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_phivseta_title = "rpctrack_phivseta";
-	  const char* m_rpctrack_phivseta_title_char = m_rpctrack_phivseta_title.c_str();
+	  std::string generic_path_rpctrack_phivseta = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_phivseta_title = "rpctrack_phivseta";
+	  const char* rpctrack_phivseta_title_char = rpctrack_phivseta_title.c_str();
 	
-	  TH2 *rpctrack_phivseta=new TH2F(m_rpctrack_phivseta_title_char,m_rpctrack_phivseta_title_char,100,-1.5,1.5, 100, 0, 180); // 0-360
+	  TH2 *rpctrack_phivseta=new TH2F(rpctrack_phivseta_title_char,rpctrack_phivseta_title_char,100,-1.5,1.5, 100, 0, 180); // 0-360
 	  sc=rpcprd_shift.regHist(rpctrack_phivseta) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_phivseta Failed to register histogram " );
@@ -2971,17 +2933,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_phivseta->GetXaxis()->SetTitle("pseudo-rapidity");
 	  rpctrack_phivseta->GetYaxis()->SetTitle("phi angle [deg]");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_phivseta << m_generic_path_rpctrack_phivseta.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_phivseta << generic_path_rpctrack_phivseta.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_phivseta successfully" );}
 	
 
-	  std::string m_generic_path_rpctrack_bvseta = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_bvseta_title = "rpctrack_bvseta";
-	  const char* m_rpctrack_bvseta_title_char = m_rpctrack_bvseta_title.c_str();
+	  std::string generic_path_rpctrack_bvseta = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_bvseta_title = "rpctrack_bvseta";
+	  const char* rpctrack_bvseta_title_char = rpctrack_bvseta_title.c_str();
 
-	  TH2 *rpctrack_bvseta=new TH2F(m_rpctrack_bvseta_title_char,m_rpctrack_bvseta_title_char, 100, -1.5, 1.5, 1000, 0, 50000);
+	  TH2 *rpctrack_bvseta=new TH2F(rpctrack_bvseta_title_char,rpctrack_bvseta_title_char, 100, -1.5, 1.5, 1000, 0, 50000);
 	  sc=rpcprd_shift.regHist(rpctrack_bvseta) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_bvseta Failed to register histogram " );
@@ -2991,18 +2953,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_bvseta->GetXaxis()->SetTitle("rpc track pseudo-rapidity");
 	  rpctrack_bvseta->GetYaxis()->SetTitle("rpc track distance from IP [mm]");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bvseta << m_generic_path_rpctrack_bvseta.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bvseta << generic_path_rpctrack_bvseta.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_bvseta successfully" );}
 
 
 
-	  std::string m_generic_path_rpctrack_bVTXy0 = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_bVTXy0_title = "rpctrack_bVTXy0";
-	  const char* m_rpctrack_bVTXy0_title_char = m_rpctrack_bVTXy0_title.c_str();
+	  std::string generic_path_rpctrack_bVTXy0 = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_bVTXy0_title = "rpctrack_bVTXy0";
+	  const char* rpctrack_bVTXy0_title_char = rpctrack_bVTXy0_title.c_str();
 
-	  TH2 *rpctrack_bVTXy0=new TH2F(m_rpctrack_bVTXy0_title_char,m_rpctrack_bVTXy0_title_char, 100, -5000, 5000, 100, -5000, 5000);
+	  TH2 *rpctrack_bVTXy0=new TH2F(rpctrack_bVTXy0_title_char,rpctrack_bVTXy0_title_char, 100, -5000, 5000, 100, -5000, 5000);
 	  sc=rpcprd_shift.regHist(rpctrack_bVTXy0) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_bVTXy0 Failed to register histogram " );
@@ -3012,18 +2974,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_bVTXy0->GetYaxis()->SetTitle("rpc track projection y=0, x [mm]");
 	  rpctrack_bVTXy0->GetXaxis()->SetTitle("rpc track projection y=0, z [mm] ");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bVTXy0 << m_generic_path_rpctrack_bVTXy0.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bVTXy0 << generic_path_rpctrack_bVTXy0.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_bVTXy0 successfully" );}
      
 
 
-	  std::string m_generic_path_rpctrack_bVTXz0 = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_bVTXz0_title = "rpctrack_bVTXz0";
-	  const char* m_rpctrack_bVTXz0_title_char = m_rpctrack_bVTXz0_title.c_str();
+	  std::string generic_path_rpctrack_bVTXz0 = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_bVTXz0_title = "rpctrack_bVTXz0";
+	  const char* rpctrack_bVTXz0_title_char = rpctrack_bVTXz0_title.c_str();
 
-	  TH2 *rpctrack_bVTXz0=new TH2F(m_rpctrack_bVTXz0_title_char,m_rpctrack_bVTXz0_title_char, 100, -5000, 5000, 100, -5000, 5000);
+	  TH2 *rpctrack_bVTXz0=new TH2F(rpctrack_bVTXz0_title_char,rpctrack_bVTXz0_title_char, 100, -5000, 5000, 100, -5000, 5000);
 	  sc=rpcprd_shift.regHist(rpctrack_bVTXz0) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_bVTXz0 Failed to register histogram " );
@@ -3033,17 +2995,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_bVTXz0->GetXaxis()->SetTitle("rpc track projection z=0, x [mm]");
 	  rpctrack_bVTXz0->GetYaxis()->SetTitle("rpc track projection z=0, y [mm] ");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bVTXz0 << m_generic_path_rpctrack_bVTXz0.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bVTXz0 << generic_path_rpctrack_bVTXz0.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_bVTXz0 successfully" );}
      
      
-	  std::string m_generic_path_rpctrack_bVTXx0 = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_bVTXx0_title = "rpctrack_bVTXx0";
-	  const char* m_rpctrack_bVTXx0_title_char = m_rpctrack_bVTXx0_title.c_str();
+	  std::string generic_path_rpctrack_bVTXx0 = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_bVTXx0_title = "rpctrack_bVTXx0";
+	  const char* rpctrack_bVTXx0_title_char = rpctrack_bVTXx0_title.c_str();
 
-	  TH2 *rpctrack_bVTXx0=new TH2F(m_rpctrack_bVTXx0_title_char,m_rpctrack_bVTXx0_title_char, 100, -5000, 5000, 100, -5000, 5000);
+	  TH2 *rpctrack_bVTXx0=new TH2F(rpctrack_bVTXx0_title_char,rpctrack_bVTXx0_title_char, 100, -5000, 5000, 100, -5000, 5000);
 	  sc=rpcprd_shift.regHist(rpctrack_bVTXx0) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_bVTXx0 Failed to register histogram " );
@@ -3053,16 +3015,16 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_bVTXx0->GetXaxis()->SetTitle("rpc track projection x=0, z [mm]");
 	  rpctrack_bVTXx0->GetYaxis()->SetTitle("rpc track projection x=0, y [mm] ");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bVTXx0 << m_generic_path_rpctrack_bVTXx0.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_bVTXx0 << generic_path_rpctrack_bVTXx0.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_bVTXx0 successfully" );}
      
-	  std::string m_generic_path_rpctrack_phi = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_phi_title = "rpctrack_phi";
-	  const char* m_rpctrack_phi_title_char = m_rpctrack_phi_title.c_str();
+	  std::string generic_path_rpctrack_phi = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_phi_title = "rpctrack_phi";
+	  const char* rpctrack_phi_title_char = rpctrack_phi_title.c_str();
      
-	  TH1 *rpctrack_phi=new TH1F(m_rpctrack_phi_title_char,m_rpctrack_phi_title_char,100, 0, 360);
+	  TH1 *rpctrack_phi=new TH1F(rpctrack_phi_title_char,rpctrack_phi_title_char,100, 0, 360);
 	  sc=rpcprd_shift.regHist(rpctrack_phi) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_phi Failed to register histogram " );
@@ -3072,18 +3034,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_phi->GetYaxis()->SetTitle("Counts");
 	  rpctrack_phi->GetXaxis()->SetTitle("phi angle [deg]");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_phi << m_generic_path_rpctrack_phi.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_phi << generic_path_rpctrack_phi.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_phi successfully" );}
      
      
-	  std::string m_generic_path_rpctrack_eta = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_eta_title = "rpctrack_eta";
-	  const char* m_rpctrack_eta_title_char = m_rpctrack_eta_title.c_str();
+	  std::string generic_path_rpctrack_eta = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_eta_title = "rpctrack_eta";
+	  const char* rpctrack_eta_title_char = rpctrack_eta_title.c_str();
  
         
-	  TH1 *rpctrack_eta=new TH1F(m_rpctrack_eta_title_char,m_rpctrack_eta_title_char,100,-1.5,1.5);
+	  TH1 *rpctrack_eta=new TH1F(rpctrack_eta_title_char,rpctrack_eta_title_char,100,-1.5,1.5);
 	  sc=rpcprd_shift.regHist(rpctrack_eta) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_eta Failed to register histogram " );
@@ -3093,17 +3055,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_eta->GetXaxis()->SetTitle("pseudo-rapidity");
 	  rpctrack_eta->GetYaxis()->SetTitle("Counts");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_eta << m_generic_path_rpctrack_eta.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_eta << generic_path_rpctrack_eta.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_eta successfully" );}
 	 
      
-	  std::string m_generic_path_rpctrack_b = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpctrack_b_title = "rpctrack_b";
-	  const char* m_rpctrack_b_title_char = m_rpctrack_b_title.c_str();
+	  std::string generic_path_rpctrack_b = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpctrack_b_title = "rpctrack_b";
+	  const char* rpctrack_b_title_char = rpctrack_b_title.c_str();
      
-	  TH1 *rpctrack_b=new TH1F(m_rpctrack_b_title_char,m_rpctrack_b_title_char,1000,0,50000);
+	  TH1 *rpctrack_b=new TH1F(rpctrack_b_title_char,rpctrack_b_title_char,1000,0,50000);
 	  sc=rpcprd_shift.regHist(rpctrack_b) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpctrack_b Failed to register histogram " );
@@ -3113,7 +3075,7 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpctrack_b->GetXaxis()->SetTitle("rpc track distance from IP [mm]");
 	  rpctrack_b->GetXaxis()->SetTitle("Counts");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_b << m_generic_path_rpctrack_b.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpctrack_b << generic_path_rpctrack_b.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpctrack_b successfully" );}
@@ -3121,11 +3083,11 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
  
  
      
-	  std::string m_generic_path_rpcmergepointdistance = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcmergepointdistance_title = "rpcmergepointdistance";
-	  const char* m_rpcmergepointdistance_title_char = m_rpcmergepointdistance_title.c_str();
+	  std::string generic_path_rpcmergepointdistance = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcmergepointdistance_title = "rpcmergepointdistance";
+	  const char* rpcmergepointdistance_title_char = rpcmergepointdistance_title.c_str();
      
-	  TH1 *rpcmergepointdistance=new TH1F(m_rpcmergepointdistance_title_char,m_rpcmergepointdistance_title_char,1000,0,1000);
+	  TH1 *rpcmergepointdistance=new TH1F(rpcmergepointdistance_title_char,rpcmergepointdistance_title_char,1000,0,1000);
 	  sc=rpcprd_shift.regHist(rpcmergepointdistance) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcmergepointdistance Failed to register histogram " );
@@ -3135,7 +3097,7 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcmergepointdistance->GetYaxis()->SetTitle("[counts]");
 	  rpcmergepointdistance->GetXaxis()->SetTitle("merge point distance [mm]");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcmergepointdistance << m_generic_path_rpcmergepointdistance.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcmergepointdistance << generic_path_rpcmergepointdistance.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcmergepointdistance successfully" );}
@@ -3144,11 +3106,11 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
      
  
 	
-	  std::string m_generic_path_f_rpcmergepointdistance = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpcmergepointdistance_title = "f_rpcmergepointdistance";
-	  const char* m_f_rpcmergepointdistance_title_char = m_f_rpcmergepointdistance_title.c_str();
+	  std::string generic_path_f_rpcmergepointdistance = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpcmergepointdistance_title = "f_rpcmergepointdistance";
+	  const char* f_rpcmergepointdistance_title_char = f_rpcmergepointdistance_title.c_str();
 	
-	  TH1 *f_rpcmergepointdistance=new TH1F(m_f_rpcmergepointdistance_title_char,m_f_rpcmergepointdistance_title_char,1000,-0,1000);
+	  TH1 *f_rpcmergepointdistance=new TH1F(f_rpcmergepointdistance_title_char,f_rpcmergepointdistance_title_char,1000,-0,1000);
 	  sc=rpcprd_shift.regHist(f_rpcmergepointdistance) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpcmergepointdistance Failed to register histogram " );
@@ -3158,7 +3120,7 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpcmergepointdistance->GetYaxis()->SetTitle("[counts]");
 	  f_rpcmergepointdistance->GetXaxis()->SetTitle("merge point distance [mm]");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcmergepointdistance << m_generic_path_f_rpcmergepointdistance.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcmergepointdistance << generic_path_f_rpcmergepointdistance.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpcmergepointdistance successfully" );}
@@ -3167,11 +3129,11 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
  
  
      
-	  std::string m_generic_path_rpcchi2dof = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcchi2dof_title = "rpcchi2dof";
-	  const char* m_rpcchi2dof_title_char = m_rpcchi2dof_title.c_str();
+	  std::string generic_path_rpcchi2dof = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcchi2dof_title = "rpcchi2dof";
+	  const char* rpcchi2dof_title_char = rpcchi2dof_title.c_str();
      
-	  TH1 *rpcchi2dof=new TH1F(m_rpcchi2dof_title_char,m_rpcchi2dof_title_char,200,0,20);
+	  TH1 *rpcchi2dof=new TH1F(rpcchi2dof_title_char,rpcchi2dof_title_char,200,0,20);
 	  sc=rpcprd_shift.regHist(rpcchi2dof) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcchi2dof Failed to register histogram " );
@@ -3181,7 +3143,7 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcchi2dof->GetYaxis()->SetTitle("[counts]");
 	  rpcchi2dof->GetXaxis()->SetTitle("chi2/dof");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcchi2dof << m_generic_path_rpcchi2dof.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcchi2dof << generic_path_rpcchi2dof.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcchi2dof successfully" );}
@@ -3190,11 +3152,11 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
      
  
 	
-	  std::string m_generic_path_f_rpcchi2dof = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpcchi2dof_title = "f_rpcchi2dof";
-	  const char* m_f_rpcchi2dof_title_char = m_f_rpcchi2dof_title.c_str();
+	  std::string generic_path_f_rpcchi2dof = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpcchi2dof_title = "f_rpcchi2dof";
+	  const char* f_rpcchi2dof_title_char = f_rpcchi2dof_title.c_str();
 	
-	  TH1 *f_rpcchi2dof=new TH1F(m_f_rpcchi2dof_title_char,m_f_rpcchi2dof_title_char,200,0,20);
+	  TH1 *f_rpcchi2dof=new TH1F(f_rpcchi2dof_title_char,f_rpcchi2dof_title_char,200,0,20);
 	  sc=rpcprd_shift.regHist(f_rpcchi2dof) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpcchi2dof Failed to register histogram " );
@@ -3204,16 +3166,16 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpcchi2dof->GetYaxis()->SetTitle("[counts]");
 	  f_rpcchi2dof->GetXaxis()->SetTitle("chi2/dof");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcchi2dof << m_generic_path_f_rpcchi2dof.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcchi2dof << generic_path_f_rpcchi2dof.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpcchi2dof successfully" );}
         
-	  std::string m_generic_path_rpcetavsphichi2dof = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcetavsphichi2dof_title = "rpcetavsphichi2dof";
-	  const char* m_rpcetavsphichi2dof_title_char = m_rpcetavsphichi2dof_title.c_str();
+	  std::string generic_path_rpcetavsphichi2dof = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcetavsphichi2dof_title = "rpcetavsphichi2dof";
+	  const char* rpcetavsphichi2dof_title_char = rpcetavsphichi2dof_title.c_str();
 
-	  TH1 *rpcetavsphichi2dof=new TH2F(m_rpcetavsphichi2dof_title_char,m_rpcetavsphichi2dof_title_char,200,0,20,200,0,20);
+	  TH1 *rpcetavsphichi2dof=new TH2F(rpcetavsphichi2dof_title_char,rpcetavsphichi2dof_title_char,200,0,20,200,0,20);
 	  sc=rpcprd_shift.regHist(rpcetavsphichi2dof) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcetavsphichi2dof Failed to register histogram " );
@@ -3223,17 +3185,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcetavsphichi2dof->GetYaxis()->SetTitle("etachi2/dof");
 	  rpcetavsphichi2dof->GetXaxis()->SetTitle("phichi2/dof");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcetavsphichi2dof << m_generic_path_rpcetavsphichi2dof.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcetavsphichi2dof << generic_path_rpcetavsphichi2dof.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcetavsphichi2dof successfully" );}
 	
 	  
-	  std::string m_generic_path_rpcNtracks = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcNtracks_title = "rpcNtracks";
-	  const char* m_rpcNtracks_title_char = m_rpcNtracks_title.c_str();
+	  std::string generic_path_rpcNtracks = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcNtracks_title = "rpcNtracks";
+	  const char* rpcNtracks_title_char = rpcNtracks_title.c_str();
 	  
-	  TH1 *rpcNtracks=new TH1F(m_rpcNtracks_title_char,m_rpcNtracks_title_char,10,0,10);
+	  TH1 *rpcNtracks=new TH1F(rpcNtracks_title_char,rpcNtracks_title_char,10,0,10);
 	  sc=rpc_dqmf_global.regHist(rpcNtracks) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcNtracks Failed to register histogram " );
@@ -3243,17 +3205,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcNtracks->GetYaxis()->SetTitle("[counts]");
 	  rpcNtracks->GetXaxis()->SetTitle("Number of rpc tracks per event");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcNtracks << m_generic_path_rpcNtracks.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcNtracks << generic_path_rpcNtracks.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcNtracks successfully" );}
  
 	  	  
-	  std::string m_generic_path_f_rpcNtracks = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpcNtracks_title = "f_rpcNtracks";
-	  const char* m_f_rpcNtracks_title_char = m_f_rpcNtracks_title.c_str();
+	  std::string generic_path_f_rpcNtracks = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpcNtracks_title = "f_rpcNtracks";
+	  const char* f_rpcNtracks_title_char = f_rpcNtracks_title.c_str();
 	          
-	  TH1 *f_rpcNtracks=new TH1F(m_f_rpcNtracks_title_char,m_f_rpcNtracks_title_char,10,0,10);
+	  TH1 *f_rpcNtracks=new TH1F(f_rpcNtracks_title_char,f_rpcNtracks_title_char,10,0,10);
 	  sc=rpcprd_shift.regHist(f_rpcNtracks) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpcNtracks Failed to register histogram " );
@@ -3263,17 +3225,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpcNtracks->GetYaxis()->SetTitle("[counts]");
 	  f_rpcNtracks->GetXaxis()->SetTitle("Number of rpc tracks per event");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcNtracks << m_generic_path_f_rpcNtracks.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcNtracks << generic_path_f_rpcNtracks.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpcNtracks successfully" );}
 
  
-	  std::string m_generic_path_rpcPointPerTracks = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcPointPerTracks_title = "rpcPointPerTracks";
-	  const char* m_rpcPointPerTracks_title_char = m_rpcPointPerTracks_title.c_str();
+	  std::string generic_path_rpcPointPerTracks = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcPointPerTracks_title = "rpcPointPerTracks";
+	  const char* rpcPointPerTracks_title_char = rpcPointPerTracks_title.c_str();
 
-	  TH1 *rpcPointPerTracks=new TH1F(m_rpcPointPerTracks_title_char,m_rpcPointPerTracks_title_char,10,0,10);
+	  TH1 *rpcPointPerTracks=new TH1F(rpcPointPerTracks_title_char,rpcPointPerTracks_title_char,10,0,10);
 	  sc=rpcprd_shift.regHist(rpcPointPerTracks) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcPointPerTracks Failed to register histogram " );
@@ -3283,17 +3245,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcPointPerTracks->GetYaxis()->SetTitle("[counts]");
 	  rpcPointPerTracks->GetXaxis()->SetTitle("Number of 3D point per tracks");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcPointPerTracks << m_generic_path_rpcPointPerTracks.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcPointPerTracks << generic_path_rpcPointPerTracks.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcPointPerTracks successfully" );}
 	  
 	  
-	  std::string m_generic_path_f_rpcPointPerTracks = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpcPointPerTracks_title = "f_rpcPointPerTracks";
-	  const char* m_f_rpcPointPerTracks_title_char = m_f_rpcPointPerTracks_title.c_str();
+	  std::string generic_path_f_rpcPointPerTracks = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpcPointPerTracks_title = "f_rpcPointPerTracks";
+	  const char* f_rpcPointPerTracks_title_char = f_rpcPointPerTracks_title.c_str();
 	
-	  TH1 *f_rpcPointPerTracks=new TH1F(m_f_rpcPointPerTracks_title_char,m_f_rpcPointPerTracks_title_char,10,0,10);
+	  TH1 *f_rpcPointPerTracks=new TH1F(f_rpcPointPerTracks_title_char,f_rpcPointPerTracks_title_char,10,0,10);
 	  sc=rpcprd_shift.regHist(f_rpcPointPerTracks) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpcPointPerTracks Failed to register histogram " );
@@ -3303,18 +3265,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpcPointPerTracks->GetYaxis()->SetTitle("[counts]");
 	  f_rpcPointPerTracks->GetXaxis()->SetTitle("Number of 3D point per tracks");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcPointPerTracks << m_generic_path_f_rpcPointPerTracks.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcPointPerTracks << generic_path_f_rpcPointPerTracks.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpcPointPerTracks successfully" );}
 	  
 	
 	  
-	  std::string m_generic_path_rpcTrackType = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcTrackType_title = "rpcTrackType";
-	  const char* m_rpcTrackType_title_char = m_rpcTrackType_title.c_str();
+	  std::string generic_path_rpcTrackType = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcTrackType_title = "rpcTrackType";
+	  const char* rpcTrackType_title_char = rpcTrackType_title.c_str();
 	
-	  TH1 *rpcTrackType=new TH1F(m_rpcTrackType_title_char,m_rpcTrackType_title_char,64,0,64);
+	  TH1 *rpcTrackType=new TH1F(rpcTrackType_title_char,rpcTrackType_title_char,64,0,64);
 	  sc=rpcprd_shift.regHist(rpcTrackType) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcTrackType Failed to register histogram " );
@@ -3326,16 +3288,16 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcTrackType->GetXaxis()->SetTitle("BMS_LPt*2E0+BMS_Piv*2E1+BOS_HPt*2E2+BML_LPt*2E3+BML_Piv*2E4+BOL_HPt*2E5");
 	  rpcTrackType->GetXaxis()->SetTitleSize(0.03) ;
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcTrackType << m_generic_path_rpcTrackType.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcTrackType << generic_path_rpcTrackType.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcTrackType successfully" );}
 	  
-	  std::string m_generic_path_f_rpcTrackType = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpcTrackType_title = "f_rpcTrackType";
-	  const char* m_f_rpcTrackType_title_char = m_f_rpcTrackType_title.c_str();
+	  std::string generic_path_f_rpcTrackType = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpcTrackType_title = "f_rpcTrackType";
+	  const char* f_rpcTrackType_title_char = f_rpcTrackType_title.c_str();
 	
-	  TH1 *f_rpcTrackType=new TH1F(m_f_rpcTrackType_title_char,m_f_rpcTrackType_title_char,64,0,64);
+	  TH1 *f_rpcTrackType=new TH1F(f_rpcTrackType_title_char,f_rpcTrackType_title_char,64,0,64);
 	  sc=rpcprd_shift.regHist(f_rpcTrackType) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpcTrackType Failed to register histogram " );
@@ -3349,7 +3311,7 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpcTrackType->GetXaxis()->SetTitleSize(0.03) ;
 	  
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcTrackType << m_generic_path_f_rpcTrackType.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcTrackType << generic_path_f_rpcTrackType.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpcTrackType successfully" );}
@@ -3357,11 +3319,11 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  
 	
 	  
-	  std::string m_generic_path_rpcPhiResidual = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcPhiResidual_title = "rpcPhiResidual";
-	  const char* m_rpcPhiResidual_title_char = m_rpcPhiResidual_title.c_str();
+	  std::string generic_path_rpcPhiResidual = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcPhiResidual_title = "rpcPhiResidual";
+	  const char* rpcPhiResidual_title_char = rpcPhiResidual_title.c_str();
 	
-	  TH1 *rpcPhiResidual=new TH1F(m_rpcPhiResidual_title_char,m_rpcPhiResidual_title_char,1000,-500,500);
+	  TH1 *rpcPhiResidual=new TH1F(rpcPhiResidual_title_char,rpcPhiResidual_title_char,1000,-500,500);
 	  sc=rpcprd_shift.regHist(rpcPhiResidual) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcPhiResidual Failed to register histogram " );
@@ -3371,16 +3333,16 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcPhiResidual->GetYaxis()->SetTitle("[counts]");
 	  rpcPhiResidual->GetXaxis()->SetTitle("Phi residual [mm]");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcPhiResidual << m_generic_path_rpcPhiResidual.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcPhiResidual << generic_path_rpcPhiResidual.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcPhiResidual successfully" );}
 	  
-	  std::string m_generic_path_f_rpcPhiResidual = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpcPhiResidual_title = "f_rpcPhiResidual";
-	  const char* m_f_rpcPhiResidual_title_char = m_f_rpcPhiResidual_title.c_str();
+	  std::string generic_path_f_rpcPhiResidual = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpcPhiResidual_title = "f_rpcPhiResidual";
+	  const char* f_rpcPhiResidual_title_char = f_rpcPhiResidual_title.c_str();
 	
-	  TH1 *f_rpcPhiResidual=new TH1F(m_f_rpcPhiResidual_title_char,m_f_rpcPhiResidual_title_char,1000,-500,500);
+	  TH1 *f_rpcPhiResidual=new TH1F(f_rpcPhiResidual_title_char,f_rpcPhiResidual_title_char,1000,-500,500);
 	  sc=rpcprd_shift.regHist(f_rpcPhiResidual) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpcPhiResidual Failed to register histogram " );
@@ -3392,17 +3354,17 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpcPhiResidual->GetXaxis()->SetTitle("Phi spatial resolution");
  	  
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcPhiResidual << m_generic_path_f_rpcPhiResidual.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcPhiResidual << generic_path_f_rpcPhiResidual.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpcPhiResidual successfully" );}
 	
 
-	  std::string m_generic_path_rpcEtaResidual = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcEtaResidual_title = "rpcEtaResidual";
-	  const char* m_rpcEtaResidual_title_char = m_rpcEtaResidual_title.c_str();
+	  std::string generic_path_rpcEtaResidual = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcEtaResidual_title = "rpcEtaResidual";
+	  const char* rpcEtaResidual_title_char = rpcEtaResidual_title.c_str();
 	  
-	  TH1 *rpcEtaResidual=new TH1F(m_rpcEtaResidual_title_char,m_rpcEtaResidual_title_char,1000,-500,500);
+	  TH1 *rpcEtaResidual=new TH1F(rpcEtaResidual_title_char,rpcEtaResidual_title_char,1000,-500,500);
 	  sc=rpcprd_shift.regHist(rpcEtaResidual) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "rpcEtaResidual Failed to register histogram " );
@@ -3412,16 +3374,16 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcEtaResidual->GetYaxis()->SetTitle("[counts]");
 	  rpcEtaResidual->GetXaxis()->SetTitle("Eta Residual [mm]");
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcEtaResidual << m_generic_path_rpcEtaResidual.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcEtaResidual << generic_path_rpcEtaResidual.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookrpcEtaResidual successfully" );}
 	
-	  std::string m_generic_path_f_rpcEtaResidual = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_f_rpcEtaResidual_title = "f_rpcEtaResidual";
-	  const char* m_f_rpcEtaResidual_title_char = m_f_rpcEtaResidual_title.c_str();
+	  std::string generic_path_f_rpcEtaResidual = generic_path_rpcmonitoring+"/Overview";
+	  std:: string f_rpcEtaResidual_title = "f_rpcEtaResidual";
+	  const char* f_rpcEtaResidual_title_char = f_rpcEtaResidual_title.c_str();
 	  
-	  TH1 *f_rpcEtaResidual=new TH1F(m_f_rpcEtaResidual_title_char,m_f_rpcEtaResidual_title_char,1000,-500,500);
+	  TH1 *f_rpcEtaResidual=new TH1F(f_rpcEtaResidual_title_char,f_rpcEtaResidual_title_char,1000,-500,500);
 	  sc=rpcprd_shift.regHist(f_rpcEtaResidual) ;
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "f_rpcEtaResidual Failed to register histogram " );
@@ -3432,49 +3394,49 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  f_rpcEtaResidual->GetXaxis()->SetTitle("Eta spatial resolution [mm]");
 	
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcEtaResidual << m_generic_path_f_rpcEtaResidual.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << f_rpcEtaResidual << generic_path_f_rpcEtaResidual.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );
 	    ATH_MSG_DEBUG ( "Booked bookf_rpcEtaResidual successfully" );}
 
 	 	  
-	  std::string m_generic_path_LayerTrackProjection = m_generic_path_rpcmonitoring+"/Overview";
-	  std::string m_LayerTrackProjection_title = "Track_Projected_on_Layer";
-	  const char* m_LayerTrackProjection_title_char = m_LayerTrackProjection_title.c_str();  
+	  std::string generic_path_LayerTrackProjection = generic_path_rpcmonitoring+"/Overview";
+	  std::string LayerTrackProjection_title = "Track_Projected_on_Layer";
+	  const char* LayerTrackProjection_title_char = LayerTrackProjection_title.c_str();  
 	
-	  LayerTrackProjection=new TH1I(m_LayerTrackProjection_title_char,m_LayerTrackProjection_title_char,24,0,24);	    
-	  sc = rpc_dqmf_global.regHist(LayerTrackProjection) ;  
+	  m_LayerTrackProjection=new TH1I(LayerTrackProjection_title_char,LayerTrackProjection_title_char,24,0,24);	    
+	  sc = rpc_dqmf_global.regHist(m_LayerTrackProjection) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "LayerTrackProjection Failed to register histogram " );       
 	      return sc;
 	    }
-	  LayerTrackProjection->SetFillColor(42);
-	  LayerTrackProjection->GetXaxis()->SetTitle("(0=LPt0,1=LPt1,2=Piv0,3=Piv1,4=HPt0,5=HPt1)+(eta=0,1=phi)*6+(0=Small,1=Large)*12");
-	  LayerTrackProjection->GetYaxis()->SetTitle("Number of Tracks"); 
+	  m_LayerTrackProjection->SetFillColor(42);
+	  m_LayerTrackProjection->GetXaxis()->SetTitle("(0=LPt0,1=LPt1,2=Piv0,3=Piv1,4=HPt0,5=HPt1)+(eta=0,1=phi)*6+(0=Small,1=Large)*12");
+	  m_LayerTrackProjection->GetYaxis()->SetTitle("Number of Tracks"); 
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << LayerTrackProjection << m_generic_path_LayerTrackProjection.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_LayerTrackProjection << generic_path_LayerTrackProjection.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );	       
 	    ATH_MSG_DEBUG ( "Booked bookLayerTrackProjection successfully" );}   
 	
 
-	  std::string m_generic_path_LayerHitOnTrack = m_generic_path_rpcmonitoring+"/Overview";
-	  std::string m_LayerHitOnTrack_title = "Hit_on_Track_Layer";
-	  const char* m_LayerHitOnTrack_title_char = m_LayerHitOnTrack_title.c_str();  
+	  std::string generic_path_LayerHitOnTrack = generic_path_rpcmonitoring+"/Overview";
+	  std::string LayerHitOnTrack_title = "Hit_on_Track_Layer";
+	  const char* LayerHitOnTrack_title_char = LayerHitOnTrack_title.c_str();  
 	 	  
-	  LayerHitOnTrack=new TH1I(m_LayerHitOnTrack_title_char,m_LayerHitOnTrack_title_char,24,0,24);	    
-	  sc = rpc_dqmf_global.regHist(LayerHitOnTrack) ;  
+	  m_LayerHitOnTrack=new TH1I(LayerHitOnTrack_title_char,LayerHitOnTrack_title_char,24,0,24);	    
+	  sc = rpc_dqmf_global.regHist(m_LayerHitOnTrack) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "LayerHitOnTrack Failed to register histogram " );       
 	      return sc;
 	    }
-	  LayerHitOnTrack->SetFillColor(42);
-	  LayerHitOnTrack->GetXaxis()->SetTitle("LayerType(LPt0,LPt1,Piv0,Piv1,HPt0,HPt1) + ( Eta or Phi)*6 + (Small or Large)*12");
-	  LayerHitOnTrack->GetXaxis()->SetTitleSize(0.03)        ;
-	  LayerHitOnTrack->GetXaxis()->SetTitleOffset(1.2)       ;
-	  LayerHitOnTrack->GetYaxis()->SetTitle("Number of Hits"); 
+	  m_LayerHitOnTrack->SetFillColor(42);
+	  m_LayerHitOnTrack->GetXaxis()->SetTitle("LayerType(LPt0,LPt1,Piv0,Piv1,HPt0,HPt1) + ( Eta or Phi)*6 + (Small or Large)*12");
+	  m_LayerHitOnTrack->GetXaxis()->SetTitleSize(0.03)        ;
+	  m_LayerHitOnTrack->GetXaxis()->SetTitleOffset(1.2)       ;
+	  m_LayerHitOnTrack->GetYaxis()->SetTitle("Number of Hits"); 
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << LayerHitOnTrack << m_generic_path_LayerHitOnTrack.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_LayerHitOnTrack << generic_path_LayerHitOnTrack.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );	       
 	    ATH_MSG_DEBUG ( "Booked bookLayerHitOnTrack successfully" );}   
@@ -3530,16 +3492,16 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    sector_name = sector_char ;
 	
 	    // large sectors: (i_sec+1)%2 = 1;  small (i_sec+1)%2 = 0
-	    n_eta_station = ( (i_sec+1) %2 ) + 6 + 1 ;  // small: 1-6, large: 1-7, sec 12+14: 0-6, sec 13: 1-7 (8->7)	    
+	    int n_eta_station = ( (i_sec+1) %2 ) + 6 + 1 ;  // small: 1-6, large: 1-7, sec 12+14: 0-6, sec 13: 1-7 (8->7)	    
 	    int n_bin = 72 * n_eta_station   ;  	    
 	    //  72 = 2*2*2*3*3  measPhi + gap + dblPhi + dblZ + stationName + stationEta	  
 	    std::string PanelIndexTitle = "# Panel = View + (gap-1)*2 + (dblPhi-1)*4 + (dblZ-1)*8 + (LowPt=0,Pivot=1,HighPt=2)*24 + (Eta)*72";
 	  
 	    // book panelID histograms
-	    std::string m_SummaryPanelID_title      = "SummaryPanelID_" + sector_name ;
-	    const char* m_SummaryPanelID_title_char = m_SummaryPanelID_title.c_str()  ;
+	    std::string SummaryPanelID_title      = "SummaryPanelID_" + sector_name ;
+	    const char* SummaryPanelID_title_char = SummaryPanelID_title.c_str()  ;
 	  
-	    TH1* SummaryPanelID = new TH1F(m_SummaryPanelID_title_char, m_SummaryPanelID_title_char, 2*n_bin, -n_bin, n_bin);
+	    TH1* SummaryPanelID = new TH1F(SummaryPanelID_title_char, SummaryPanelID_title_char, 2*n_bin, -n_bin, n_bin);
 	    SummaryPanelID->SetFillColor(2);
 	    SummaryPanelID->GetXaxis()-> SetTitle(PanelIndexTitle.c_str() );
 	    SummaryPanelID->GetXaxis()-> SetTitleSize(0.03)  ;
@@ -3552,8 +3514,8 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    sc = rpcprd_expert_sum.regHist( SummaryPanelID );
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register SummaryPanelID hist to MonGroup" );
 	  	  
-	    panelBin   = 0   ;
-	    indexplane = 0   ;
+	    int panelBin   = 0   ;
+	    int indexplane = 0   ;
 	    // Identifier gapId ;
 	    Identifier panelId ;
 	    //std::cout<<" before the loop: sector: "<< i_sec <<std::endl;
@@ -3623,18 +3585,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    //std::cout<<" after the loop"<<std::endl;
 	  
 	    // 1) panel efficiency distribution per sector
-	    std::string m_generic_path_SummaryEffDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryEffDistriPerSector += sector_name;
-	    std::string m_SummaryEffDistriPerSector_title      = "SummaryEffDistriPerSector_" + sector_name ;
-	    const char* m_SummaryEffDistriPerSector_title_char = m_SummaryEffDistriPerSector_title.c_str()  ;
-	    TH1* SummaryEffDistriPerSector = new TH1F ( m_SummaryEffDistriPerSector_title_char, m_SummaryEffDistriPerSector_title_char, 110, 0, 1.1 ) ;
+	    std::string generic_path_SummaryEffDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryEffDistriPerSector += sector_name;
+	    std::string SummaryEffDistriPerSector_title      = "SummaryEffDistriPerSector_" + sector_name ;
+	    const char* SummaryEffDistriPerSector_title_char = SummaryEffDistriPerSector_title.c_str()  ;
+	    TH1* SummaryEffDistriPerSector = new TH1F ( SummaryEffDistriPerSector_title_char, SummaryEffDistriPerSector_title_char, 110, 0, 1.1 ) ;
 	    SummaryEffDistriPerSector->SetFillColor(2);
 	    SummaryEffDistriPerSector->GetXaxis()-> SetTitle("Panel Efficiency");
 	    SummaryEffDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryEffDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryEffDistriPerSector->GetYaxis()-> SetTitle("Counts/0.01");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryEffDistriPerSector << m_generic_path_SummaryEffDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryEffDistriPerSector << generic_path_SummaryEffDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3642,18 +3604,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryEffDistriPerSector hist to MonGroup" );    
 	  
 	    // 2) panel GapEfficiency distribution per sector
-	    std::string m_generic_path_SummaryGapEffDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryGapEffDistriPerSector += sector_name;
-	    std::string m_SummaryGapEffDistriPerSector_title      = "SummaryGapEffDistriPerSector_" + sector_name ;
-	    const char* m_SummaryGapEffDistriPerSector_title_char = m_SummaryGapEffDistriPerSector_title.c_str()  ;
-	    TH1* SummaryGapEffDistriPerSector = new TH1F ( m_SummaryGapEffDistriPerSector_title_char, m_SummaryGapEffDistriPerSector_title_char, 110, 0, 1.1 ) ;
+	    std::string generic_path_SummaryGapEffDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryGapEffDistriPerSector += sector_name;
+	    std::string SummaryGapEffDistriPerSector_title      = "SummaryGapEffDistriPerSector_" + sector_name ;
+	    const char* SummaryGapEffDistriPerSector_title_char = SummaryGapEffDistriPerSector_title.c_str()  ;
+	    TH1* SummaryGapEffDistriPerSector = new TH1F ( SummaryGapEffDistriPerSector_title_char, SummaryGapEffDistriPerSector_title_char, 110, 0, 1.1 ) ;
 	    SummaryGapEffDistriPerSector->SetFillColor(2);
 	    SummaryGapEffDistriPerSector->GetXaxis()-> SetTitle("GasGap Efficiency");
 	    SummaryGapEffDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryGapEffDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryGapEffDistriPerSector->GetYaxis()-> SetTitle("Counts/0.01");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryGapEffDistriPerSector << m_generic_path_SummaryGapEffDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryGapEffDistriPerSector << generic_path_SummaryGapEffDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3661,18 +3623,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryGapEffDistriPerSector hist to MonGroup" );    
 	  
 	    // 3) panel NoiseCorr distribution per sector
-	    std::string m_generic_path_SummaryNoiseCorrDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryNoiseCorrDistriPerSector += sector_name;
-	    std::string m_SummaryNoiseCorrDistriPerSector_title      = "SummaryNoiseCorrDistriPerSector_" + sector_name ;
-	    const char* m_SummaryNoiseCorrDistriPerSector_title_char = m_SummaryNoiseCorrDistriPerSector_title.c_str()  ;
-	    TH1* SummaryNoiseCorrDistriPerSector = new TH1F ( m_SummaryNoiseCorrDistriPerSector_title_char, m_SummaryNoiseCorrDistriPerSector_title_char, 1000, 0, 100 ) ;
+	    std::string generic_path_SummaryNoiseCorrDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryNoiseCorrDistriPerSector += sector_name;
+	    std::string SummaryNoiseCorrDistriPerSector_title      = "SummaryNoiseCorrDistriPerSector_" + sector_name ;
+	    const char* SummaryNoiseCorrDistriPerSector_title_char = SummaryNoiseCorrDistriPerSector_title.c_str()  ;
+	    TH1* SummaryNoiseCorrDistriPerSector = new TH1F ( SummaryNoiseCorrDistriPerSector_title_char, SummaryNoiseCorrDistriPerSector_title_char, 1000, 0, 100 ) ;
 	    SummaryNoiseCorrDistriPerSector->SetFillColor(2);
 	    SummaryNoiseCorrDistriPerSector->GetXaxis()-> SetTitle("Panel Correlated Noise");
 	    SummaryNoiseCorrDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryNoiseCorrDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryNoiseCorrDistriPerSector->GetYaxis()-> SetTitle("Counts/0.1Hz/cm2");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryNoiseCorrDistriPerSector << m_generic_path_SummaryNoiseCorrDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryNoiseCorrDistriPerSector << generic_path_SummaryNoiseCorrDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3680,18 +3642,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryNoiseCorrDistriPerSector hist to MonGroup" );    
 	  
 	    // 4) panel NoiseTot distribution per sector
-	    std::string m_generic_path_SummaryNoiseTotDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryNoiseTotDistriPerSector += sector_name;
-	    std::string m_SummaryNoiseTotDistriPerSector_title      = "SummaryNoiseTotDistriPerSector_" + sector_name ;
-	    const char* m_SummaryNoiseTotDistriPerSector_title_char = m_SummaryNoiseTotDistriPerSector_title.c_str()  ;
-	    TH1* SummaryNoiseTotDistriPerSector = new TH1F ( m_SummaryNoiseTotDistriPerSector_title_char,  m_SummaryNoiseTotDistriPerSector_title_char, 1000, 0, 100 ) ;
+	    std::string generic_path_SummaryNoiseTotDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryNoiseTotDistriPerSector += sector_name;
+	    std::string SummaryNoiseTotDistriPerSector_title      = "SummaryNoiseTotDistriPerSector_" + sector_name ;
+	    const char* SummaryNoiseTotDistriPerSector_title_char = SummaryNoiseTotDistriPerSector_title.c_str()  ;
+	    TH1* SummaryNoiseTotDistriPerSector = new TH1F ( SummaryNoiseTotDistriPerSector_title_char,  SummaryNoiseTotDistriPerSector_title_char, 1000, 0, 100 ) ;
 	    SummaryNoiseTotDistriPerSector->SetFillColor(2);
 	    SummaryNoiseTotDistriPerSector->GetXaxis()-> SetTitle("Panel Noise Total");
 	    SummaryNoiseTotDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryNoiseTotDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryNoiseTotDistriPerSector->GetYaxis()-> SetTitle("Counts/0.1Hz/cm2");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryNoiseTotDistriPerSector << m_generic_path_SummaryNoiseTotDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryNoiseTotDistriPerSector << generic_path_SummaryNoiseTotDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3699,18 +3661,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryNoiseTotDistriPerSector hist to MonGroup" );    
 	  
 	    //    panel NoiseNotCorr distribution per sector
-	    std::string m_generic_path_SummaryNoiseNotCorrDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryNoiseNotCorrDistriPerSector += sector_name;
-	    std::string m_SummaryNoiseNotCorrDistriPerSector_title      = "SummaryNoiseNotCorrDistriPerSector_" + sector_name ;
-	    const char* m_SummaryNoiseNotCorrDistriPerSector_title_char = m_SummaryNoiseNotCorrDistriPerSector_title.c_str()  ;
-	    TH1* SummaryNoiseNotCorrDistriPerSector = new TH1F ( m_SummaryNoiseNotCorrDistriPerSector_title_char,  m_SummaryNoiseNotCorrDistriPerSector_title_char, 1000, 0, 100 ) ;
+	    std::string generic_path_SummaryNoiseNotCorrDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryNoiseNotCorrDistriPerSector += sector_name;
+	    std::string SummaryNoiseNotCorrDistriPerSector_title      = "SummaryNoiseNotCorrDistriPerSector_" + sector_name ;
+	    const char* SummaryNoiseNotCorrDistriPerSector_title_char = SummaryNoiseNotCorrDistriPerSector_title.c_str()  ;
+	    TH1* SummaryNoiseNotCorrDistriPerSector = new TH1F ( SummaryNoiseNotCorrDistriPerSector_title_char,  SummaryNoiseNotCorrDistriPerSector_title_char, 1000, 0, 100 ) ;
 	    SummaryNoiseNotCorrDistriPerSector->SetFillColor(2);
 	    SummaryNoiseNotCorrDistriPerSector->GetXaxis()-> SetTitle("Panel Noise Not Corr");
 	    SummaryNoiseNotCorrDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryNoiseNotCorrDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryNoiseNotCorrDistriPerSector->GetYaxis()-> SetTitle("Counts/0.1Hz/cm2");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryNoiseNotCorrDistriPerSector << m_generic_path_SummaryNoiseNotCorrDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryNoiseNotCorrDistriPerSector << generic_path_SummaryNoiseNotCorrDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3719,18 +3681,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  
 	  
 	    // 5) panel CS distribution per sector
-	    std::string m_generic_path_SummaryCSDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryCSDistriPerSector += sector_name;
-	    std::string m_SummaryCSDistriPerSector_title      = "SummaryCSDistriPerSector_" + sector_name ;
-	    const char* m_SummaryCSDistriPerSector_title_char = m_SummaryCSDistriPerSector_title.c_str()  ;
-	    TH1* SummaryCSDistriPerSector = new TH1F ( m_SummaryCSDistriPerSector_title_char, m_SummaryCSDistriPerSector_title_char, 200, 0, 20);
+	    std::string generic_path_SummaryCSDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryCSDistriPerSector += sector_name;
+	    std::string SummaryCSDistriPerSector_title      = "SummaryCSDistriPerSector_" + sector_name ;
+	    const char* SummaryCSDistriPerSector_title_char = SummaryCSDistriPerSector_title.c_str()  ;
+	    TH1* SummaryCSDistriPerSector = new TH1F ( SummaryCSDistriPerSector_title_char, SummaryCSDistriPerSector_title_char, 200, 0, 20);
 	    SummaryCSDistriPerSector->SetFillColor(2);
 	    SummaryCSDistriPerSector->GetXaxis()-> SetTitle("Panel  CS");
 	    SummaryCSDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryCSDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryCSDistriPerSector->GetYaxis()-> SetTitle("Counts/0.1");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryCSDistriPerSector << m_generic_path_SummaryCSDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryCSDistriPerSector << generic_path_SummaryCSDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3738,18 +3700,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryCSDistriPerSector hist to MonGroup" );    
 	  
 	    // 6) panel res_CS1 distribution per sector
-	    std::string m_generic_path_SummaryRes_CS1DistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryRes_CS1DistriPerSector += sector_name;
-	    std::string m_SummaryRes_CS1DistriPerSector_title      = "SummaryRes_CS1DistriPerSector_" + sector_name ;
-	    const char* m_SummaryRes_CS1DistriPerSector_title_char = m_SummaryRes_CS1DistriPerSector_title.c_str()  ;
-	    TH1* SummaryRes_CS1DistriPerSector = new TH1F ( m_SummaryRes_CS1DistriPerSector_title_char, m_SummaryRes_CS1DistriPerSector_title_char, 1000, -500, 500 ) ;
+	    std::string generic_path_SummaryRes_CS1DistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryRes_CS1DistriPerSector += sector_name;
+	    std::string SummaryRes_CS1DistriPerSector_title      = "SummaryRes_CS1DistriPerSector_" + sector_name ;
+	    const char* SummaryRes_CS1DistriPerSector_title_char = SummaryRes_CS1DistriPerSector_title.c_str()  ;
+	    TH1* SummaryRes_CS1DistriPerSector = new TH1F ( SummaryRes_CS1DistriPerSector_title_char, SummaryRes_CS1DistriPerSector_title_char, 1000, -500, 500 ) ;
 	    SummaryRes_CS1DistriPerSector->SetFillColor(2);
 	    SummaryRes_CS1DistriPerSector->GetXaxis()-> SetTitle("Average Strip Panel res_CS1 [mm]");
 	    SummaryRes_CS1DistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryRes_CS1DistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryRes_CS1DistriPerSector->GetYaxis()-> SetTitle("Counts/1mm");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS1DistriPerSector << m_generic_path_SummaryRes_CS1DistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS1DistriPerSector << generic_path_SummaryRes_CS1DistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3757,18 +3719,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryRes_CS1DistriPerSector hist to MonGroup" );    
 	  
 	    // 7) panel res_CS2 distribution per sector
-	    std::string m_generic_path_SummaryRes_CS2DistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryRes_CS2DistriPerSector += sector_name;
-	    std::string m_SummaryRes_CS2DistriPerSector_title      = "SummaryRes_CS2DistriPerSector_" + sector_name ;
-	    const char* m_SummaryRes_CS2DistriPerSector_title_char = m_SummaryRes_CS2DistriPerSector_title.c_str()  ;
-	    TH1* SummaryRes_CS2DistriPerSector = new TH1F ( m_SummaryRes_CS2DistriPerSector_title_char, m_SummaryRes_CS2DistriPerSector_title_char, 1000, -500, 500 ) ;
+	    std::string generic_path_SummaryRes_CS2DistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryRes_CS2DistriPerSector += sector_name;
+	    std::string SummaryRes_CS2DistriPerSector_title      = "SummaryRes_CS2DistriPerSector_" + sector_name ;
+	    const char* SummaryRes_CS2DistriPerSector_title_char = SummaryRes_CS2DistriPerSector_title.c_str()  ;
+	    TH1* SummaryRes_CS2DistriPerSector = new TH1F ( SummaryRes_CS2DistriPerSector_title_char, SummaryRes_CS2DistriPerSector_title_char, 1000, -500, 500 ) ;
 	    SummaryRes_CS2DistriPerSector->SetFillColor(2);
 	    SummaryRes_CS2DistriPerSector->GetXaxis()-> SetTitle("Average Strip Panel res_CS2 [mm]");
 	    SummaryRes_CS2DistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryRes_CS2DistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryRes_CS2DistriPerSector->GetYaxis()-> SetTitle("Counts/1mm");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS2DistriPerSector << m_generic_path_SummaryRes_CS2DistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS2DistriPerSector << generic_path_SummaryRes_CS2DistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3776,18 +3738,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryRes_CS2DistriPerSector hist to MonGroup" );    
 	  
 	    // 8) panel res_CSmore2 distribution per sector
-	    std::string m_generic_path_SummaryRes_CSmore2DistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryRes_CSmore2DistriPerSector += sector_name;
-	    std::string m_SummaryRes_CSmore2DistriPerSector_title      = "SummaryRes_CSmore2DistriPerSector_" + sector_name ;
-	    const char* m_SummaryRes_CSmore2DistriPerSector_title_char = m_SummaryRes_CSmore2DistriPerSector_title.c_str()  ;
-	    TH1* SummaryRes_CSmore2DistriPerSector = new TH1F ( m_SummaryRes_CSmore2DistriPerSector_title_char, m_SummaryRes_CSmore2DistriPerSector_title_char,1000, -500, 500 ) ;
+	    std::string generic_path_SummaryRes_CSmore2DistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryRes_CSmore2DistriPerSector += sector_name;
+	    std::string SummaryRes_CSmore2DistriPerSector_title      = "SummaryRes_CSmore2DistriPerSector_" + sector_name ;
+	    const char* SummaryRes_CSmore2DistriPerSector_title_char = SummaryRes_CSmore2DistriPerSector_title.c_str()  ;
+	    TH1* SummaryRes_CSmore2DistriPerSector = new TH1F ( SummaryRes_CSmore2DistriPerSector_title_char, SummaryRes_CSmore2DistriPerSector_title_char,1000, -500, 500 ) ;
 	    SummaryRes_CSmore2DistriPerSector->SetFillColor(2);
 	    SummaryRes_CSmore2DistriPerSector->GetXaxis()-> SetTitle("Average Strip Panel res_CSmore2 [mm]");
 	    SummaryRes_CSmore2DistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryRes_CSmore2DistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryRes_CSmore2DistriPerSector->GetYaxis()-> SetTitle("Counts/1mm");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CSmore2DistriPerSector << m_generic_path_SummaryRes_CSmore2DistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CSmore2DistriPerSector << generic_path_SummaryRes_CSmore2DistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3796,18 +3758,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 
  	  
 	    // 9) panel Occupancy distribution per sector
-	    std::string m_generic_path_SummaryOccupancyDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryOccupancyDistriPerSector += sector_name;
-	    std::string m_SummaryOccupancyDistriPerSector_title      = "SummaryOccupancyDistriPerSector_" + sector_name ;
-	    const char* m_SummaryOccupancyDistriPerSector_title_char = m_SummaryOccupancyDistriPerSector_title.c_str()  ;
-	    TH1* SummaryOccupancyDistriPerSector = new TH1F ( m_SummaryOccupancyDistriPerSector_title_char, m_SummaryOccupancyDistriPerSector_title_char, 100, -10., 2. ) ;
+	    std::string generic_path_SummaryOccupancyDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryOccupancyDistriPerSector += sector_name;
+	    std::string SummaryOccupancyDistriPerSector_title      = "SummaryOccupancyDistriPerSector_" + sector_name ;
+	    const char* SummaryOccupancyDistriPerSector_title_char = SummaryOccupancyDistriPerSector_title.c_str()  ;
+	    TH1* SummaryOccupancyDistriPerSector = new TH1F ( SummaryOccupancyDistriPerSector_title_char, SummaryOccupancyDistriPerSector_title_char, 100, -10., 2. ) ;
 	    SummaryOccupancyDistriPerSector->SetFillColor(2);
 	    SummaryOccupancyDistriPerSector->GetXaxis()-> SetTitle("Occupancy");
 	    SummaryOccupancyDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryOccupancyDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryOccupancyDistriPerSector->GetYaxis()-> SetTitle("Counts");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryOccupancyDistriPerSector << m_generic_path_SummaryOccupancyDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryOccupancyDistriPerSector << generic_path_SummaryOccupancyDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3816,18 +3778,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 
 	  
 	    // 10) panel res_CS1rms distribution per sector
-	    std::string m_generic_path_SummaryRes_CS1rmsDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryRes_CS1rmsDistriPerSector += sector_name;
-	    std::string m_SummaryRes_CS1rmsDistriPerSector_title      = "SummaryRes_CS1rmsDistriPerSector_" + sector_name ;
-	    const char* m_SummaryRes_CS1rmsDistriPerSector_title_char = m_SummaryRes_CS1rmsDistriPerSector_title.c_str()  ;
-	    TH1* SummaryRes_CS1rmsDistriPerSector = new TH1F ( m_SummaryRes_CS1rmsDistriPerSector_title_char,  m_SummaryRes_CS1rmsDistriPerSector_title_char, 50, 0, 50 ) ;
+	    std::string generic_path_SummaryRes_CS1rmsDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryRes_CS1rmsDistriPerSector += sector_name;
+	    std::string SummaryRes_CS1rmsDistriPerSector_title      = "SummaryRes_CS1rmsDistriPerSector_" + sector_name ;
+	    const char* SummaryRes_CS1rmsDistriPerSector_title_char = SummaryRes_CS1rmsDistriPerSector_title.c_str()  ;
+	    TH1* SummaryRes_CS1rmsDistriPerSector = new TH1F ( SummaryRes_CS1rmsDistriPerSector_title_char,  SummaryRes_CS1rmsDistriPerSector_title_char, 50, 0, 50 ) ;
 	    SummaryRes_CS1rmsDistriPerSector->SetFillColor(2);
 	    SummaryRes_CS1rmsDistriPerSector->GetXaxis()-> SetTitle("Average Strip Panel res_CS1 rms [mm]");
 	    SummaryRes_CS1rmsDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryRes_CS1rmsDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryRes_CS1rmsDistriPerSector->GetYaxis()-> SetTitle("Counts/1mm");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS1rmsDistriPerSector << m_generic_path_SummaryRes_CS1rmsDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS1rmsDistriPerSector << generic_path_SummaryRes_CS1rmsDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3835,18 +3797,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register  SummaryRes_CS1rmsDistriPerSector hist to MonGroup" );    
 	  
 	    // 11) panel res_CS2rms distribution per sector
-	    std::string m_generic_path_SummaryRes_CS2rmsDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryRes_CS2rmsDistriPerSector += sector_name;
-	    std::string m_SummaryRes_CS2rmsDistriPerSector_title      = "SummaryRes_CS2rmsDistriPerSector_" + sector_name ;
-	    const char* m_SummaryRes_CS2rmsDistriPerSector_title_char = m_SummaryRes_CS2rmsDistriPerSector_title.c_str()  ;
-	    TH1* SummaryRes_CS2rmsDistriPerSector = new TH1F ( m_SummaryRes_CS2rmsDistriPerSector_title_char, m_SummaryRes_CS2rmsDistriPerSector_title_char,  50, 0, 50 ) ;
+	    std::string generic_path_SummaryRes_CS2rmsDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryRes_CS2rmsDistriPerSector += sector_name;
+	    std::string SummaryRes_CS2rmsDistriPerSector_title      = "SummaryRes_CS2rmsDistriPerSector_" + sector_name ;
+	    const char* SummaryRes_CS2rmsDistriPerSector_title_char = SummaryRes_CS2rmsDistriPerSector_title.c_str()  ;
+	    TH1* SummaryRes_CS2rmsDistriPerSector = new TH1F ( SummaryRes_CS2rmsDistriPerSector_title_char, SummaryRes_CS2rmsDistriPerSector_title_char,  50, 0, 50 ) ;
 	    SummaryRes_CS2rmsDistriPerSector->SetFillColor(2);
 	    SummaryRes_CS2rmsDistriPerSector->GetXaxis()-> SetTitle("Average Strip Panel res_CS2 rms [mm]");
 	    SummaryRes_CS2rmsDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryRes_CS2rmsDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryRes_CS2rmsDistriPerSector->GetYaxis()-> SetTitle("Counts/1mm");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS2rmsDistriPerSector << m_generic_path_SummaryRes_CS2rmsDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CS2rmsDistriPerSector << generic_path_SummaryRes_CS2rmsDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3855,18 +3817,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 
 	 	  
 	    // 12) panel res_CSmore2rms distribution per sector
-	    std::string m_generic_path_SummaryRes_CSmore2rmsDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryRes_CSmore2rmsDistriPerSector += sector_name;
-	    std::string m_SummaryRes_CSmore2rmsDistriPerSector_title      = "SummaryRes_CSmore2rmsDistriPerSector_" + sector_name ;
-	    const char* m_SummaryRes_CSmore2rmsDistriPerSector_title_char = m_SummaryRes_CSmore2rmsDistriPerSector_title.c_str()  ;
-	    TH1* SummaryRes_CSmore2rmsDistriPerSector = new TH1F ( m_SummaryRes_CSmore2rmsDistriPerSector_title_char, m_SummaryRes_CSmore2rmsDistriPerSector_title_char, 50, 0, 50 ) ;
+	    std::string generic_path_SummaryRes_CSmore2rmsDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryRes_CSmore2rmsDistriPerSector += sector_name;
+	    std::string SummaryRes_CSmore2rmsDistriPerSector_title      = "SummaryRes_CSmore2rmsDistriPerSector_" + sector_name ;
+	    const char* SummaryRes_CSmore2rmsDistriPerSector_title_char = SummaryRes_CSmore2rmsDistriPerSector_title.c_str()  ;
+	    TH1* SummaryRes_CSmore2rmsDistriPerSector = new TH1F ( SummaryRes_CSmore2rmsDistriPerSector_title_char, SummaryRes_CSmore2rmsDistriPerSector_title_char, 50, 0, 50 ) ;
 	    SummaryRes_CSmore2rmsDistriPerSector->SetFillColor(2);
 	    SummaryRes_CSmore2rmsDistriPerSector->GetXaxis()-> SetTitle("Average Strip Panel res_CSmore2 rms [mm]");
 	    SummaryRes_CSmore2rmsDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryRes_CSmore2rmsDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryRes_CSmore2rmsDistriPerSector->GetYaxis()-> SetTitle("Counts/1mm");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CSmore2rmsDistriPerSector << m_generic_path_SummaryRes_CSmore2rmsDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryRes_CSmore2rmsDistriPerSector << generic_path_SummaryRes_CSmore2rmsDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3876,18 +3838,18 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 
 	 	  
 	    // 13) panel Time distribution per sector
-	    std::string m_generic_path_SummaryTimeDistriPerSector = m_generic_path_rpcmonitoring+"/Summary";
-	    m_generic_path_SummaryTimeDistriPerSector += sector_name;
-	    std::string m_SummaryTimeDistriPerSector_title      = "SummaryTimeDistriPerSector_" + sector_name ;
-	    const char* m_SummaryTimeDistriPerSector_title_char = m_SummaryTimeDistriPerSector_title.c_str()  ;
-	    TH1* SummaryTimeDistriPerSector = new TH1F ( m_SummaryTimeDistriPerSector_title_char, m_SummaryTimeDistriPerSector_title_char, 64, 0, 200 ) ;
+	    std::string generic_path_SummaryTimeDistriPerSector = generic_path_rpcmonitoring+"/Summary";
+	    generic_path_SummaryTimeDistriPerSector += sector_name;
+	    std::string SummaryTimeDistriPerSector_title      = "SummaryTimeDistriPerSector_" + sector_name ;
+	    const char* SummaryTimeDistriPerSector_title_char = SummaryTimeDistriPerSector_title.c_str()  ;
+	    TH1* SummaryTimeDistriPerSector = new TH1F ( SummaryTimeDistriPerSector_title_char, SummaryTimeDistriPerSector_title_char, 64, 0, 200 ) ;
 	    SummaryTimeDistriPerSector->SetFillColor(2);
 	    SummaryTimeDistriPerSector->GetXaxis()-> SetTitle("Average Strip Panel Time");
 	    SummaryTimeDistriPerSector->GetXaxis()-> SetTitleSize(0.03)	  ;
 	    SummaryTimeDistriPerSector->GetXaxis()-> SetTitleOffset(1.2)	  ;
 	    SummaryTimeDistriPerSector->GetYaxis()-> SetTitle("Counts/3.125ns");
 	    {
-	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryTimeDistriPerSector << m_generic_path_SummaryTimeDistriPerSector.c_str() );
+	      ATH_MSG_DEBUG ( "INSIDE bookRPCHistograms : " << SummaryTimeDistriPerSector << generic_path_SummaryTimeDistriPerSector.c_str() );
 	      //ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	      ATH_MSG_DEBUG ( "RUN : " << run );}
 	
@@ -3905,9 +3867,9 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  // DQMF shift histograms   
         
 	  // track time residual : dqmf shifter histogram
-	  std::string m_generic_path_rpcTimeTrackRes = m_generic_path_rpcmonitoring+"/GLOBAL";
-	  const char* m_rpcTimeTrackRes_title_char = "TimeTrackResidual";
-	  TH1 *rpcTimeTrackRes = new TH1I(m_rpcTimeTrackRes_title_char, m_rpcTimeTrackRes_title_char, timeNbin, -timemaxrange/2, timemaxrange/2);
+	  std::string generic_path_rpcTimeTrackRes = generic_path_rpcmonitoring+"/GLOBAL";
+	  const char* rpcTimeTrackRes_title_char = "TimeTrackResidual";
+	  TH1 *rpcTimeTrackRes = new TH1I(rpcTimeTrackRes_title_char, rpcTimeTrackRes_title_char, timeNbin, -timemaxrange/2, timemaxrange/2);
 	  sc=rpc_dqmf_global.regHist( rpcTimeTrackRes ) ; 
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "TimeTrackResidulal Failed to register histogram " );       
@@ -3918,9 +3880,9 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcTimeTrackRes->GetYaxis()->SetTitle("Counts/(3.125ns)");
 	
 	  // track time RMS :  dqmf shifter histogram
-	  std::string m_generic_path_rpcTimeTrackRMS = m_generic_path_rpcmonitoring+"/GLOBAL";
-	  const char* m_rpcTimeTrackRMS_title_char = "TimeTrackRMS";
-	  TH1 *rpcTimeTrackRMS = new TH1I(m_rpcTimeTrackRMS_title_char, m_rpcTimeTrackRMS_title_char, timeNbin, timeminrange, timemaxrange);
+	  std::string generic_path_rpcTimeTrackRMS = generic_path_rpcmonitoring+"/GLOBAL";
+	  const char* rpcTimeTrackRMS_title_char = "TimeTrackRMS";
+	  TH1 *rpcTimeTrackRMS = new TH1I(rpcTimeTrackRMS_title_char, rpcTimeTrackRMS_title_char, timeNbin, timeminrange, timemaxrange);
 	  sc=rpcprd_shift.regHist( rpcTimeTrackRMS ) ; 
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "TimeTrackRMS Failed to register histogram " );       
@@ -3932,25 +3894,25 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 
 	
 	  // average efficiency per layer : dqmf shifter histogram	 (under evaluation)  	    
-	  std::string m_generic_path_LayerEff = m_generic_path_rpcmonitoring+"/Overview";
-	  std::string m_LayerEff_title = "Layer_Efficiency";
-	  const char* m_LayerEff_title_char = m_LayerEff_title.c_str();  
+	  std::string generic_path_LayerEff = generic_path_rpcmonitoring+"/Overview";
+	  std::string LayerEff_title = "Layer_Efficiency";
+	  const char* LayerEff_title_char = LayerEff_title.c_str();  
 
-	  LayerEff=new TH1F(m_LayerEff_title_char,m_LayerEff_title_char,24,0,24);	    
-	  sc = rpc_dqmf_global.regHist(LayerEff) ;  
+	  m_LayerEff=new TH1F(LayerEff_title_char,LayerEff_title_char,24,0,24);	    
+	  sc = rpc_dqmf_global.regHist(m_LayerEff) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "LayerEff Failed to register histogram " );       
 	      return sc;
 	    }
-	  LayerEff->SetFillColor(42);
-	  LayerEff->GetXaxis()->SetTitle("LayerType(LPt0,LPt1,Piv0,Piv1,HPt0,HPt1) + ( Eta or Phi)*6 + (Small or Large)*12");
-	  LayerEff->GetXaxis()->SetTitleSize(0.03) ;
-	  LayerEff->GetXaxis()->SetTitleOffset(1.2);
-	  LayerEff->GetYaxis()->SetTitle("Average Layer Efficiency"); 
-	  LayerEff->SetMarkerStyle(20)      ;
-	  LayerEff->SetMarkerColor(2)       ;
+	  m_LayerEff->SetFillColor(42);
+	  m_LayerEff->GetXaxis()->SetTitle("LayerType(LPt0,LPt1,Piv0,Piv1,HPt0,HPt1) + ( Eta or Phi)*6 + (Small or Large)*12");
+	  m_LayerEff->GetXaxis()->SetTitleSize(0.03) ;
+	  m_LayerEff->GetXaxis()->SetTitleOffset(1.2);
+	  m_LayerEff->GetYaxis()->SetTitle("Average Layer Efficiency"); 
+	  m_LayerEff->SetMarkerStyle(20)      ;
+	  m_LayerEff->SetMarkerColor(2)       ;
 	  {
-	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << LayerEff << m_generic_path_LayerEff.c_str() );
+	    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_LayerEff << generic_path_LayerEff.c_str() );
 	    //ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	    ATH_MSG_DEBUG ( "RUN : " << run );	       
 	    ATH_MSG_DEBUG ( "Booked bookLayerEff successfully" );} 
@@ -3972,8 +3934,8 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  }
 	
 	  // CS hit on track
-	  const char* m_rpcCS_HitOnTrack_title_char = "CS_HitOnTrack_Distribution";
-	  TH1 *rpcCS_HitOnTrack=new TH1I(m_rpcCS_HitOnTrack_title_char, m_rpcCS_HitOnTrack_title_char, 20, 0.5, 20.5);
+	  const char* rpcCS_HitOnTrack_title_char = "CS_HitOnTrack_Distribution";
+	  TH1 *rpcCS_HitOnTrack=new TH1I(rpcCS_HitOnTrack_title_char, rpcCS_HitOnTrack_title_char, 20, 0.5, 20.5);
 	  sc=rpcprd_shift.regHist(rpcCS_HitOnTrack) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "CS_HitOnTrack_Distribution Failed to register histogram " );	    
@@ -3984,8 +3946,8 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcCS_HitOnTrack->GetYaxis()->SetTitle("Counts");      
 	
 	  // CS of noise hit distribution
-	  const char* m_rpcCS_NoiseCorr_title_char = "CS_NoiseCorr_Distribution";
-	  TH1 *rpcCS_NoiseCorr=new TH1I(m_rpcCS_NoiseCorr_title_char, m_rpcCS_NoiseCorr_title_char, 20, 0.5, 20.5);
+	  const char* rpcCS_NoiseCorr_title_char = "CS_NoiseCorr_Distribution";
+	  TH1 *rpcCS_NoiseCorr=new TH1I(rpcCS_NoiseCorr_title_char, rpcCS_NoiseCorr_title_char, 20, 0.5, 20.5);
 	  sc=rpcprd_shift.regHist(rpcCS_NoiseCorr) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "CS_NoiseCorr_Distribution Failed to register histogram " );	    
@@ -3995,8 +3957,8 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcCS_NoiseCorr->GetXaxis()->SetTitle("Cluster Size on correlated noise ");
 	  rpcCS_NoiseCorr->GetYaxis()->SetTitle("Counts");      
 	
-	  const char* m_rpcCS_NoiseNotCorr_title_char = "CS_NoiseNotCorr_Distribution";
-	  TH1 *rpcCS_NoiseNotCorr=new TH1I(m_rpcCS_NoiseNotCorr_title_char, m_rpcCS_NoiseNotCorr_title_char, 20, 0.5, 20.5);
+	  const char* rpcCS_NoiseNotCorr_title_char = "CS_NoiseNotCorr_Distribution";
+	  TH1 *rpcCS_NoiseNotCorr=new TH1I(rpcCS_NoiseNotCorr_title_char, rpcCS_NoiseNotCorr_title_char, 20, 0.5, 20.5);
 	  sc=rpcprd_shift.regHist(rpcCS_NoiseNotCorr) ;  
 	  if(sc.isFailure())
 	    {  ATH_MSG_FATAL ( "CS_NoiseNotCorr_Distribution Failed to register histogram " );	    
@@ -4007,62 +3969,63 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 	  rpcCS_NoiseNotCorr->GetYaxis()->SetTitle("Counts");      
 	
 	  // CS vs angle track 
-	  const char* m_rpcCS_EtavsPhi_title_char = "CS_EtavsPhi";
-	  TH1 *m_rpcCS_EtavsPhi=new TH2I(m_rpcCS_EtavsPhi_title_char, m_rpcCS_EtavsPhi_title_char, 20, 0.5, 20.5, 20, 0.5, 20.5);
-	  sc=rpcprd_shift.regHist( m_rpcCS_EtavsPhi ) ;  
+	  const char* rpcCS_EtavsPhi_title_char = "CS_EtavsPhi";
+	  TH1 *rpcCS_EtavsPhi=new TH2I(rpcCS_EtavsPhi_title_char, rpcCS_EtavsPhi_title_char, 20, 0.5, 20.5, 20, 0.5, 20.5);
+	  sc=rpcprd_shift.regHist( rpcCS_EtavsPhi ) ;  
 	  if(sc.isFailure())
 	    { 
 	      ATH_MSG_FATAL ( "CS_EtavsPhi Failed to register histogram " );	    
 	      return sc;
 	    }
-	  m_rpcCS_EtavsPhi->GetXaxis()->SetTitle("CS Phi");     
-	  m_rpcCS_EtavsPhi->GetYaxis()->SetTitle("CS Eta");
+	  rpcCS_EtavsPhi->GetXaxis()->SetTitle("CS Phi");     
+	  rpcCS_EtavsPhi->GetYaxis()->SetTitle("CS Eta");
           
 	
 	  // CS vs angle track 
-	  const char* m_rpcCS_angleLong_title_char = "CSvsLongitudinalAngleTrack";
-	  TH1 *m_rpcCS_angleLong=new TH2I(m_rpcCS_angleLong_title_char, m_rpcCS_angleLong_title_char, 50, 0, 1, 20, 0.5, 20.5);
-	  sc=rpcprd_shift.regHist( m_rpcCS_angleLong ) ;  
+	  const char* rpcCS_angleLong_title_char = "CSvsLongitudinalAngleTrack";
+	  TH1 *rpcCS_angleLong=new TH2I(rpcCS_angleLong_title_char, rpcCS_angleLong_title_char, 50, 0, 1, 20, 0.5, 20.5);
+	  sc=rpcprd_shift.regHist( rpcCS_angleLong ) ;  
 	  if(sc.isFailure())
 	    { 
 	      ATH_MSG_FATAL ( "CSvsLongitudinalAngleTrack Failed to register histogram " );	    
 	      return sc;
 	    }
-	  m_rpcCS_angleLong->GetXaxis()->SetTitle("Longitudinal Incidence angle of tracks [degrees]");     
-	  m_rpcCS_angleLong->GetYaxis()->SetTitle("Cluster Size");
+	  rpcCS_angleLong->GetXaxis()->SetTitle("Longitudinal Incidence angle of tracks [degrees]");     
+	  rpcCS_angleLong->GetYaxis()->SetTitle("Cluster Size");
           	
 	  // CS vs angle track
-	  const char* m_rpcCS_angleTrasv_title_char = "CSvsTrasversalAngleTrack";
-	  TH1 *m_rpcCS_angleTrasv=new TH2I(m_rpcCS_angleTrasv_title_char, m_rpcCS_angleTrasv_title_char, 50, 0, 1, 20, 0.5, 20.5);
-	  sc=rpcprd_shift.regHist( m_rpcCS_angleTrasv ) ;  
+	  const char* rpcCS_angleTrasv_title_char = "CSvsTrasversalAngleTrack";
+	  TH1 *rpcCS_angleTrasv=new TH2I(rpcCS_angleTrasv_title_char, rpcCS_angleTrasv_title_char, 50, 0, 1, 20, 0.5, 20.5);
+	  sc=rpcprd_shift.regHist( rpcCS_angleTrasv ) ;  
 	  if(sc.isFailure())
 	    { 
 	      ATH_MSG_FATAL ( "CSvsTrasversalAngleTrack Failed to register histogram " );	    
 	      return sc;
 	    }
-	  m_rpcCS_angleTrasv->GetXaxis()->SetTitle("trasversal Incidence angle of tracks [degrees]");  
-	  m_rpcCS_angleTrasv->GetYaxis()->SetTitle("Cluster Size");
+	  rpcCS_angleTrasv->GetXaxis()->SetTitle("trasversal Incidence angle of tracks [degrees]");  
+	  rpcCS_angleTrasv->GetYaxis()->SetTitle("Cluster Size");
              
 	  //Residual for CS
 	  for ( int iCS=1; iCS!=maxCSres+1; iCS++ ) {
 	         
-	    char m_ResidualVsCS_title_char[100] = "ResidualVsCS";
-	    sprintf(m_ResidualVsCS_title_char , "ResidualVsCS%d", iCS) ;  
+	    char ResidualVsCS_title_char[100] = "ResidualVsCS";
+	    sprintf(ResidualVsCS_title_char , "ResidualVsCS%d", iCS) ;  
 	  
-	    TH1 *m_ResidualVsCS=new TH1I(m_ResidualVsCS_title_char, m_ResidualVsCS_title_char, 2*(50+iCS*30) , -50-iCS*30, 50+iCS*30);
-	    sc=rpcprd_shift.regHist( m_ResidualVsCS ) ;  
+	    TH1 *ResidualVsCS=new TH1I(ResidualVsCS_title_char, ResidualVsCS_title_char, 2*(50+iCS*30) , -50-iCS*30, 50+iCS*30);
+	    sc=rpcprd_shift.regHist( ResidualVsCS ) ;  
 	    if(sc.isFailure())
 	      { 
 		ATH_MSG_FATAL ( "ResidualVsCS Failed to register histogram " );	    
 		return sc;
 	      }
-	    m_ResidualVsCS->GetXaxis()->SetTitle("Residual [mm]");  
-	    m_ResidualVsCS->GetYaxis()->SetTitle("Counts/[mm]");	
+	    ResidualVsCS->GetXaxis()->SetTitle("Residual [mm]");  
+	    ResidualVsCS->GetYaxis()->SetTitle("Counts/[mm]");	
 	 
 	  }
          
 	
 	  if ( m_doCoolDB ) {
+            std::vector<std::string> DB_NotNorm_list;
 	    DB_NotNorm_list.push_back( "TrackProj" 			);
 	    DB_NotNorm_list.push_back( "HitOnTrack"  			);
 	    DB_NotNorm_list.push_back( "HitOnTrack_withCrossStrip"  	);
@@ -4096,6 +4059,7 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( )
 		}
 	      }
 	    }
+            std::vector<std::string> DB_list;
 	    DB_list.push_back( "Efficiency"  	);
 	    DB_list.push_back( "GapEfficiency"  	);
 	    DB_list.push_back( "NoiseCorr"  	);
@@ -4138,536 +4102,536 @@ void RPCStandaloneTracksMon::bookHistogramsSummaryDistribution(  )
   StatusCode sc = StatusCode::SUCCESS;
   
   //declare a group of histograms
-  std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+  std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
      
-  MonGroup rpcprd_dq_BA      ( this, m_generic_path_rpcmonitoring + "/RPCBA" , run, ATTRIB_UNMANAGED );
-  MonGroup rpcprd_dq_BC      ( this, m_generic_path_rpcmonitoring + "/RPCBC" , run, ATTRIB_UNMANAGED );
+  MonGroup rpcprd_dq_BA      ( this, generic_path_rpcmonitoring + "/RPCBA" , run, ATTRIB_UNMANAGED );
+  MonGroup rpcprd_dq_BC      ( this, generic_path_rpcmonitoring + "/RPCBC" , run, ATTRIB_UNMANAGED );
 		
   //1) distribution of average panel Efficiency
-  std::string m_rpcAverageEff_C_title      = "Efficiency_Distribution_sideC"          ;
-  const char* m_rpcAverageEff_C_title_char = m_rpcAverageEff_C_title.c_str();  
+  std::string rpcAverageEff_C_title      = "Efficiency_Distribution_sideC"          ;
+  const char* rpcAverageEff_C_title_char = rpcAverageEff_C_title.c_str();  
 
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageEff_C_title_char, m_rpcAverageEff_C_title_char, 110, -0.01, 1.09));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageEff_C_title_char, rpcAverageEff_C_title_char, 110, -0.01, 1.09));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageEff_C Failed to register histogram " );       
       return ;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel Efficiency Side C");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.01"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel Efficiency Side C");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.01"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageEff_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageEff_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageEff_C successfully" );}   
   
-  std::string m_rpcAverageEff_A_title      = "Efficiency_Distribution_sideA"          ;
-  const char* m_rpcAverageEff_A_title_char = m_rpcAverageEff_A_title.c_str();  
+  std::string rpcAverageEff_A_title      = "Efficiency_Distribution_sideA"          ;
+  const char* rpcAverageEff_A_title_char = rpcAverageEff_A_title.c_str();  
 		
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageEff_A_title_char, m_rpcAverageEff_A_title_char, 110, -0.01, 1.09));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageEff_A_title_char, rpcAverageEff_A_title_char, 110, -0.01, 1.09));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageEff_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel Efficiency Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.01"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel Efficiency Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.01"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageEff_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageEff_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageEff_A successfully" );}           
 
   //2) distribution of average panel GapEfficiency
-  std::string m_rpcAverageGapEff_C_title      = "GapEfficiency_Distribution_sideC"          ;
-  const char* m_rpcAverageGapEff_C_title_char = m_rpcAverageGapEff_C_title.c_str();  
+  std::string rpcAverageGapEff_C_title      = "GapEfficiency_Distribution_sideC"          ;
+  const char* rpcAverageGapEff_C_title_char = rpcAverageGapEff_C_title.c_str();  
 
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageGapEff_C_title_char, m_rpcAverageGapEff_C_title_char, 110, -0.01, 1.09));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageGapEff_C_title_char, rpcAverageGapEff_C_title_char, 110, -0.01, 1.09));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageGasGapEff_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel GapEfficiency Side C");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.01"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel GapEfficiency Side C");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.01"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageGapEff_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageGapEff_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageGapEff_C successfully" );}
    		     	
-  std::string m_rpcAverageGapEff_A_title      = "GapEfficiency_Distribution_sideA"          ;
-  const char* m_rpcAverageGapEff_A_title_char = m_rpcAverageGapEff_A_title.c_str();  
+  std::string rpcAverageGapEff_A_title      = "GapEfficiency_Distribution_sideA"          ;
+  const char* rpcAverageGapEff_A_title_char = rpcAverageGapEff_A_title.c_str();  
 
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageGapEff_A_title_char, m_rpcAverageGapEff_A_title_char, 110, -0.01, 1.09));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageGapEff_A_title_char, rpcAverageGapEff_A_title_char, 110, -0.01, 1.09));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageGasGapEfficiency Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel GapEfficiency Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.01"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel GapEfficiency Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.01"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageGapEff_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageGapEff_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageGapEff_A successfully" );}         
     
   //3) distribution of average panel NoiseCorr
-  std::string m_rpcAverageNoiseCorr_C_title      = "NoiseCorr_Distribution_sideC"          ;
-  const char* m_rpcAverageNoiseCorr_C_title_char = m_rpcAverageNoiseCorr_C_title.c_str();  
+  std::string rpcAverageNoiseCorr_C_title      = "NoiseCorr_Distribution_sideC"          ;
+  const char* rpcAverageNoiseCorr_C_title_char = rpcAverageNoiseCorr_C_title.c_str();  
   
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageNoiseCorr_C_title_char, m_rpcAverageNoiseCorr_C_title_char, 1000, 0, 100));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageNoiseCorr_C_title_char, rpcAverageNoiseCorr_C_title_char, 1000, 0, 100));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageNoiseCorr_Ciciency Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseCorr Side C");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseCorr Side C");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : "  << m_rpcAverageNoiseCorr_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : "  << rpcAverageNoiseCorr_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageNoiseCorr_C successfully" );}
 
-  std::string m_rpcAverageNoiseCorr_A_title      = "NoiseCorr_Distribution_sideA"          ;
-  const char* m_rpcAverageNoiseCorr_A_title_char = m_rpcAverageNoiseCorr_A_title.c_str();  
+  std::string rpcAverageNoiseCorr_A_title      = "NoiseCorr_Distribution_sideA"          ;
+  const char* rpcAverageNoiseCorr_A_title_char = rpcAverageNoiseCorr_A_title.c_str();  
 
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageNoiseCorr_A_title_char, m_rpcAverageNoiseCorr_A_title_char, 1000, 0, 100));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageNoiseCorr_A_title_char, rpcAverageNoiseCorr_A_title_char, 1000, 0, 100));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageNoiseCorr_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseCorr Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseCorr Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageNoiseCorr_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageNoiseCorr_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageNoiseCorr_A successfully" );}          
   
   
   //4) distribution of average panel NoiseTot
-  std::string m_rpcAverageNoiseTot_C_title      = "NoiseTot_Distribution_sideC"          ;
-  const char* m_rpcAverageNoiseTot_C_title_char = m_rpcAverageNoiseTot_C_title.c_str();  
+  std::string rpcAverageNoiseTot_C_title      = "NoiseTot_Distribution_sideC"          ;
+  const char* rpcAverageNoiseTot_C_title_char = rpcAverageNoiseTot_C_title.c_str();  
  
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageNoiseTot_C_title_char, m_rpcAverageNoiseTot_C_title_char, 1000, 0, 100));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageNoiseTot_C_title_char, rpcAverageNoiseTot_C_title_char, 1000, 0, 100));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageNoiseTot_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseTot Side C");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseTot Side C");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageNoiseTot_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageNoiseTot_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageNoiseTot_C successfully" );}      
 		
-  std::string m_rpcAverageNoiseTot_A_title      = "NoiseTot_Distribution_sideA"          ;
-  const char* m_rpcAverageNoiseTot_A_title_char = m_rpcAverageNoiseTot_A_title.c_str()   ;  
+  std::string rpcAverageNoiseTot_A_title      = "NoiseTot_Distribution_sideA"          ;
+  const char* rpcAverageNoiseTot_A_title_char = rpcAverageNoiseTot_A_title.c_str()   ;  
 
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageNoiseTot_A_title_char, m_rpcAverageNoiseTot_A_title_char, 1000, 0, 100));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageNoiseTot_A_title_char, rpcAverageNoiseTot_A_title_char, 1000, 0, 100));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageNoiseTot_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseTot Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseTot Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageNoiseTot_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageNoiseTot_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageNoiseTot_A successfully" );}            
    		     	
 
   //5)   distribution of average panel NoiseNotCorr
-  std::string m_rpcAverageNoiseNotCorr_C_title      = "NoiseNotCorr_Distribution_sideC"          ;
-  const char* m_rpcAverageNoiseNotCorr_C_title_char = m_rpcAverageNoiseNotCorr_C_title.c_str();  
+  std::string rpcAverageNoiseNotCorr_C_title      = "NoiseNotCorr_Distribution_sideC"          ;
+  const char* rpcAverageNoiseNotCorr_C_title_char = rpcAverageNoiseNotCorr_C_title.c_str();  
  
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageNoiseNotCorr_C_title_char, m_rpcAverageNoiseNotCorr_C_title_char, 1000, 0, 100));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageNoiseNotCorr_C_title_char, rpcAverageNoiseNotCorr_C_title_char, 1000, 0, 100));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageNoiseNotCorr_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseNotCorr Side C");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseNotCorr Side C");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageNoiseNotCorr_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageNoiseNotCorr_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageNoiseNotCorr_C successfully" );}      
 
-  std::string m_rpcAverageNoiseNotCorr_A_title      = "NoiseNotCorr_Distribution_sideA"          ;
-  const char* m_rpcAverageNoiseNotCorr_A_title_char = m_rpcAverageNoiseNotCorr_A_title.c_str();  
+  std::string rpcAverageNoiseNotCorr_A_title      = "NoiseNotCorr_Distribution_sideA"          ;
+  const char* rpcAverageNoiseNotCorr_A_title_char = rpcAverageNoiseNotCorr_A_title.c_str();  
 
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageNoiseNotCorr_A_title_char, m_rpcAverageNoiseNotCorr_A_title_char, 1000, 0, 100));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageNoiseNotCorr_A_title_char, rpcAverageNoiseNotCorr_A_title_char, 1000, 0, 100));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageNoiseNotCorr_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseNotCorr Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel NoiseNotCorr Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1/Hz/cm2"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageNoiseNotCorr_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageNoiseNotCorr_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageNoiseNotCorr_A successfully" );}      
 
   
   //5) distribution of average panel CS
-  std::string m_rpcAverageCS_C_title      = "CS_Distribution_sideC"          ;
-  const char* m_rpcAverageCS_C_title_char = m_rpcAverageCS_C_title.c_str();  
+  std::string rpcAverageCS_C_title      = "CS_Distribution_sideC"          ;
+  const char* rpcAverageCS_C_title_char = rpcAverageCS_C_title.c_str();  
   
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageCS_C_title_char, m_rpcAverageCS_C_title_char, 200, 0.1, 19.9) );	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageCS_C_title_char, rpcAverageCS_C_title_char, 200, 0.1, 19.9) );	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageCS_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel CS Side C");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel CS Side C");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.1"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageCS_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageCS_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageCS_C successfully" );}  
 		
-  std::string m_rpcAverageCS_A_title      = "CS_Distribution_sideA"          ;
-  const char* m_rpcAverageCS_A_title_char = m_rpcAverageCS_A_title.c_str();  
+  std::string rpcAverageCS_A_title      = "CS_Distribution_sideA"          ;
+  const char* rpcAverageCS_A_title_char = rpcAverageCS_A_title.c_str();  
   
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageCS_A_title_char, m_rpcAverageCS_A_title_char, 200, 0.1, 19.9) );	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageCS_A_title_char, rpcAverageCS_A_title_char, 200, 0.1, 19.9) );	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageCS_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel CS Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel CS Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.1"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageCS_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageCS_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageCS_A successfully" );}  
   
 
   //6) distribution of average panel res_CS1
-  std::string m_rpcAverageRes_CS1_C_title      = "Res_CS1_Distribution_sideC"          ;
-  const char* m_rpcAverageRes_CS1_C_title_char = m_rpcAverageRes_CS1_C_title.c_str();  
+  std::string rpcAverageRes_CS1_C_title      = "Res_CS1_Distribution_sideC"          ;
+  const char* rpcAverageRes_CS1_C_title_char = rpcAverageRes_CS1_C_title.c_str();  
 
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageRes_CS1_C_title_char, m_rpcAverageRes_CS1_C_title_char, 1000, -500, 500));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageRes_CS1_C_title_char, rpcAverageRes_CS1_C_title_char, 1000, -500, 500));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS1_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1 Side C [mm]");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1 Side C [mm]");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageRes_CS1_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageRes_CS1_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS1_C successfully" );} 
 
-  std::string m_rpcAverageRes_CS1_A_title      = "Res_CS1_Distribution_sideA"          ;
-  const char* m_rpcAverageRes_CS1_A_title_char = m_rpcAverageRes_CS1_A_title.c_str();  
+  std::string rpcAverageRes_CS1_A_title      = "Res_CS1_Distribution_sideA"          ;
+  const char* rpcAverageRes_CS1_A_title_char = rpcAverageRes_CS1_A_title.c_str();  
 
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageRes_CS1_A_title_char, m_rpcAverageRes_CS1_A_title_char, 1000, -500, 500));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageRes_CS1_A_title_char, rpcAverageRes_CS1_A_title_char, 1000, -500, 500));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS1_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1 Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1 Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageRes_CS1_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageRes_CS1_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS1_A successfully" );}        
 		
   //7) distribution of average panel res_CS2
-  std::string m_rpcAverageRes_CS2_C_title      = "Res_CS2_Distribution_sideC"          ;
-  const char* m_rpcAverageRes_CS2_C_title_char = m_rpcAverageRes_CS2_C_title.c_str();  
+  std::string rpcAverageRes_CS2_C_title      = "Res_CS2_Distribution_sideC"          ;
+  const char* rpcAverageRes_CS2_C_title_char = rpcAverageRes_CS2_C_title.c_str();  
 
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageRes_CS2_C_title_char, m_rpcAverageRes_CS2_C_title_char, 1000, -500, 500));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageRes_CS2_C_title_char, rpcAverageRes_CS2_C_title_char, 1000, -500, 500));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS2_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2 Side C [mm]");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2 Side C [mm]");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CS2_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CS2_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS2_C successfully" );}         
 
-  std::string m_rpcAverageRes_CS2_A_title      = "Res_CS2_Distribution_sideA"          ;
-  const char* m_rpcAverageRes_CS2_A_title_char = m_rpcAverageRes_CS2_A_title.c_str();  
+  std::string rpcAverageRes_CS2_A_title      = "Res_CS2_Distribution_sideA"          ;
+  const char* rpcAverageRes_CS2_A_title_char = rpcAverageRes_CS2_A_title.c_str();  
 
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageRes_CS2_A_title_char, m_rpcAverageRes_CS2_A_title_char, 1000, -500, 500));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageRes_CS2_A_title_char, rpcAverageRes_CS2_A_title_char, 1000, -500, 500));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS2_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2 Side A [mm]");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2 Side A [mm]");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageRes_CS2_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageRes_CS2_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS2_A successfully" );}
 
   //8) distribution of average panel res_CSmore2
-  std::string m_rpcAverageRes_CSmore2_C_title      = "Res_CSmore2_Distribution_sideC"          ;
-  const char* m_rpcAverageRes_CSmore2_C_title_char = m_rpcAverageRes_CSmore2_C_title.c_str();  
+  std::string rpcAverageRes_CSmore2_C_title      = "Res_CSmore2_Distribution_sideC"          ;
+  const char* rpcAverageRes_CSmore2_C_title_char = rpcAverageRes_CSmore2_C_title.c_str();  
   
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageRes_CSmore2_C_title_char, m_rpcAverageRes_CSmore2_C_title_char, 1000, -500, 500));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageRes_CSmore2_C_title_char, rpcAverageRes_CSmore2_C_title_char, 1000, -500, 500));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CSmore2_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2 Side C [mm]");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2 Side C [mm]");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CSmore2_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CSmore2_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CSmore2_C successfully" );}         
    		    
-  std::string m_rpcAverageRes_CSmore2_A_title      = "Res_CSmore2_Distribution_sideA"          ;
-  const char* m_rpcAverageRes_CSmore2_A_title_char = m_rpcAverageRes_CSmore2_A_title.c_str();  
+  std::string rpcAverageRes_CSmore2_A_title      = "Res_CSmore2_Distribution_sideA"          ;
+  const char* rpcAverageRes_CSmore2_A_title_char = rpcAverageRes_CSmore2_A_title.c_str();  
   
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageRes_CSmore2_A_title_char, m_rpcAverageRes_CSmore2_A_title_char, 1000, -500, 500));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageRes_CSmore2_A_title_char, rpcAverageRes_CSmore2_A_title_char, 1000, -500, 500));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CSmore2_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2 Side A [mm]");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2 Side A [mm]");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CSmore2_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CSmore2_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CSmore2_A successfully" );} 
 
    		     	
   //9) distribution of average panel res_CS1rms
-  std::string m_rpcAverageRes_CS1_rms_C_title      = "Res_CS1rms_Distribution_sideC"          ;
-  const char* m_rpcAverageRes_CS1_rms_C_title_char = m_rpcAverageRes_CS1_rms_C_title.c_str();  
+  std::string rpcAverageRes_CS1_rms_C_title      = "Res_CS1rms_Distribution_sideC"          ;
+  const char* rpcAverageRes_CS1_rms_C_title_char = rpcAverageRes_CS1_rms_C_title.c_str();  
 
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageRes_CS1_rms_C_title_char, m_rpcAverageRes_CS1_rms_C_title_char, 1000, 0, 500));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageRes_CS1_rms_C_title_char, rpcAverageRes_CS1_rms_C_title_char, 1000, 0, 500));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS1_rms_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1rms Side C [mm]");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1rms Side C [mm]");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CS1_rms_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CS1_rms_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS1_rms_C successfully" );}         
    		     	
   
-  std::string m_rpcAverageRes_CS1_rms_A_title      = "Res_CS1rms_Distribution_sideA"          ;
-  const char* m_rpcAverageRes_CS1_rms_A_title_char = m_rpcAverageRes_CS1_rms_A_title.c_str();  
+  std::string rpcAverageRes_CS1_rms_A_title      = "Res_CS1rms_Distribution_sideA"          ;
+  const char* rpcAverageRes_CS1_rms_A_title_char = rpcAverageRes_CS1_rms_A_title.c_str();  
   
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageRes_CS1_rms_A_title_char, m_rpcAverageRes_CS1_rms_A_title_char, 1000, 0, 500));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageRes_CS1_rms_A_title_char, rpcAverageRes_CS1_rms_A_title_char, 1000, 0, 500));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS1_rms_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1rms SideA");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS1rms SideA");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CS1_rms_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CS1_rms_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS1_rms_A successfully" );} 
 	   
   //10) distribution of average panel res_CS2rms
-  std::string m_rpcAverageRes_CS2_rms_C_title      = "Res_CS2rms_Distribution_sideC"          ;
-  const char* m_rpcAverageRes_CS2_rms_C_title_char = m_rpcAverageRes_CS2_rms_C_title.c_str();  
+  std::string rpcAverageRes_CS2_rms_C_title      = "Res_CS2rms_Distribution_sideC"          ;
+  const char* rpcAverageRes_CS2_rms_C_title_char = rpcAverageRes_CS2_rms_C_title.c_str();  
 
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageRes_CS2_rms_C_title_char, m_rpcAverageRes_CS2_rms_C_title_char, 1000, 0, 500));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageRes_CS2_rms_C_title_char, rpcAverageRes_CS2_rms_C_title_char, 1000, 0, 500));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS2_rms_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2rms Side C [mm]");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2rms Side C [mm]");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CS2_rms_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CS2_rms_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS2_rms_C successfully" );}         
    		     	
 
-  std::string m_rpcAverageRes_CS2_rms_A_title      = "Res_CS2rms_Distribution_sideA"          ;
-  const char* m_rpcAverageRes_CS2_rms_A_title_char = m_rpcAverageRes_CS2_rms_A_title.c_str();  
+  std::string rpcAverageRes_CS2_rms_A_title      = "Res_CS2rms_Distribution_sideA"          ;
+  const char* rpcAverageRes_CS2_rms_A_title_char = rpcAverageRes_CS2_rms_A_title.c_str();  
 
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageRes_CS2_rms_A_title_char, m_rpcAverageRes_CS2_rms_A_title_char, 1000, 0, 500));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageRes_CS2_rms_A_title_char, rpcAverageRes_CS2_rms_A_title_char, 1000, 0, 500));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CS2_rms_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2rms Side A [mm]");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CS2rms Side A [mm]");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageRes_CS2_rms_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageRes_CS2_rms_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CS2_rms_A successfully" );} 
 
   //11) distribution of average panel res_CSmore2rms
-  std::string m_rpcAverageRes_CSmore2_rms_C_title      = "Res_CSmore2rms_Distribution_sideC"          ;
-  const char* m_rpcAverageRes_CSmore2_rms_C_title_char = m_rpcAverageRes_CSmore2_rms_C_title.c_str();  
+  std::string rpcAverageRes_CSmore2_rms_C_title      = "Res_CSmore2rms_Distribution_sideC"          ;
+  const char* rpcAverageRes_CSmore2_rms_C_title_char = rpcAverageRes_CSmore2_rms_C_title.c_str();  
  
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageRes_CSmore2_rms_C_title_char, m_rpcAverageRes_CSmore2_rms_C_title_char, 1000, 0, 500));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageRes_CSmore2_rms_C_title_char, rpcAverageRes_CSmore2_rms_C_title_char, 1000, 0, 500));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CSmore2_rms_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2rms Side C [mm]");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2rms Side C [mm]");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CSmore2_rms_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CSmore2_rms_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CSmore2_rms_C successfully" );} 
  
  
-  std::string m_rpcAverageRes_CSmore2_rms_A_title      = "Res_CSmore2rms_Distribution_sideA"          ;
-  const char* m_rpcAverageRes_CSmore2_rms_A_title_char = m_rpcAverageRes_CSmore2_rms_A_title.c_str();  
+  std::string rpcAverageRes_CSmore2_rms_A_title      = "Res_CSmore2rms_Distribution_sideA"          ;
+  const char* rpcAverageRes_CSmore2_rms_A_title_char = rpcAverageRes_CSmore2_rms_A_title.c_str();  
     
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageRes_CSmore2_rms_A_title_char, m_rpcAverageRes_CSmore2_rms_A_title_char, 1000, 0, 500));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageRes_CSmore2_rms_A_title_char, rpcAverageRes_CSmore2_rms_A_title_char, 1000, 0, 500));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageRes_CSmore2_rms_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2rms Side A [mm]");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel res_CSmore2rms Side A [mm]");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/1mm"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageRes_CSmore2_rms_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageRes_CSmore2_rms_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageRes_CSmore2_rms_A successfully" );} 
     
   //12) distribution of average panel Occupancy
-  std::string m_generic_path_rpcAverageOccupancy_C = m_generic_path_rpcmonitoring+"/GLOBAL";
-  std::string m_rpcAverageOccupancy_C_title      = "Occupancy_Distribution_sideC"          ;
-  const char* m_rpcAverageOccupancy_C_title_char = m_rpcAverageOccupancy_C_title.c_str();  
+  std::string generic_path_rpcAverageOccupancy_C = generic_path_rpcmonitoring+"/GLOBAL";
+  std::string rpcAverageOccupancy_C_title      = "Occupancy_Distribution_sideC"          ;
+  const char* rpcAverageOccupancy_C_title_char = rpcAverageOccupancy_C_title.c_str();  
   
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageOccupancy_C_title_char, m_rpcAverageOccupancy_C_title_char, 100, -10, 2));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageOccupancy_C_title_char, rpcAverageOccupancy_C_title_char, 100, -10, 2));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpc_Occupancy_distribution Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("log10(Average Strip Panel Occupancy Side C)");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.01"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("log10(Average Strip Panel Occupancy Side C)");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/0.01"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageOccupancy_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageOccupancy_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageOccupancy_C distribution successfully" );}  
 
-  std::string m_generic_path_rpcAverageOccupancy_A = m_generic_path_rpcmonitoring+"/GLOBAL";
-  std::string m_rpcAverageOccupancy_A_title      = "Occupancy_Distribution_sideA"          ;
-  const char* m_rpcAverageOccupancy_A_title_char = m_rpcAverageOccupancy_A_title.c_str();  
+  std::string generic_path_rpcAverageOccupancy_A = generic_path_rpcmonitoring+"/GLOBAL";
+  std::string rpcAverageOccupancy_A_title      = "Occupancy_Distribution_sideA"          ;
+  const char* rpcAverageOccupancy_A_title_char = rpcAverageOccupancy_A_title.c_str();  
   
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageOccupancy_A_title_char, m_rpcAverageOccupancy_A_title_char, 100, -10, 2));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageOccupancy_A_title_char, rpcAverageOccupancy_A_title_char, 100, -10, 2));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpc_Occupancy_distribution Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("log10(Average Strip Panel Occupancy Side A)");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.01"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("log10(Average Strip Panel Occupancy Side A)");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/0.01"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  m_rpcAverageOccupancy_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " <<  rpcAverageOccupancy_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageOccupancy_A distribution successfully" );}
 		
      
   //13) distribution of average panel Time
-  std::string m_rpcAverageTime_C_title      = "Time_Distribution_sideC"          ;
-  const char* m_rpcAverageTime_C_title_char = m_rpcAverageTime_C_title.c_str();  
+  std::string rpcAverageTime_C_title      = "Time_Distribution_sideC"          ;
+  const char* rpcAverageTime_C_title_char = rpcAverageTime_C_title.c_str();  
  
-  rpcAverageSide_C.push_back( new TH1F(m_rpcAverageTime_C_title_char, m_rpcAverageTime_C_title_char, 64, 0, 200));	    
-  sc=rpcprd_dq_BC.regHist(rpcAverageSide_C.back()) ;  
+  m_rpcAverageSide_C.push_back( new TH1F(rpcAverageTime_C_title_char, rpcAverageTime_C_title_char, 64, 0, 200));	    
+  sc=rpcprd_dq_BC.regHist(m_rpcAverageSide_C.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageTime_C Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_C.back()->SetFillColor(42);
-  rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel Time Side C");
-  rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/3.125ns"); 
+  m_rpcAverageSide_C.back()->SetFillColor(42);
+  m_rpcAverageSide_C.back()->GetXaxis()->SetTitle("Average Strip Panel Time Side C");
+  m_rpcAverageSide_C.back()->GetYaxis()->SetTitle("Counts/3.125ns"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageTime_C_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageTime_C_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageTime_C successfully" );}      
     
-  std::string m_rpcAverageTime_A_title      = "Time_Distribution_sideA"          ;
-  const char* m_rpcAverageTime_A_title_char = m_rpcAverageTime_A_title.c_str();  
+  std::string rpcAverageTime_A_title      = "Time_Distribution_sideA"          ;
+  const char* rpcAverageTime_A_title_char = rpcAverageTime_A_title.c_str();  
     
-  rpcAverageSide_A.push_back( new TH1F(m_rpcAverageTime_A_title_char, m_rpcAverageTime_A_title_char, 64, 0, 200));	    
-  sc=rpcprd_dq_BA.regHist(rpcAverageSide_A.back()) ;  
+  m_rpcAverageSide_A.push_back( new TH1F(rpcAverageTime_A_title_char, rpcAverageTime_A_title_char, 64, 0, 200));	    
+  sc=rpcprd_dq_BA.regHist(m_rpcAverageSide_A.back()) ;  
   if(sc.isFailure())
     {  ATH_MSG_FATAL ( "rpcAverageTime_A Failed to register histogram " );       
       return;
     }
-  rpcAverageSide_A.back()->SetFillColor(42);
-  rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel Time Side A");
-  rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/3.125ns"); 
+  m_rpcAverageSide_A.back()->SetFillColor(42);
+  m_rpcAverageSide_A.back()->GetXaxis()->SetTitle("Average Strip Panel Time Side A");
+  m_rpcAverageSide_A.back()->GetYaxis()->SetTitle("Counts/3.125ns"); 
   {
-    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << m_rpcAverageTime_A_title.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpcAverageTime_A_title.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run );	       
     ATH_MSG_DEBUG ( "Booked bookrpcAverageTime_A successfully" );}      
@@ -4675,7 +4639,7 @@ void RPCStandaloneTracksMon::bookHistogramsSummaryDistribution(  )
 }
     
 // Radiography histograms
-void RPCStandaloneTracksMon::bookRPCLayerRadiographyHistograms( int m_isec, std::string m_layer_name )
+void RPCStandaloneTracksMon::bookRPCLayerRadiographyHistograms( int isec, std::string layer_name )
 {
 
   ATH_MSG_DEBUG ( "bookRPCLayerRadiographyHistograms" );
@@ -4685,149 +4649,152 @@ void RPCStandaloneTracksMon::bookRPCLayerRadiographyHistograms( int m_isec, std:
   if(sc.isFailure() )  return ;
    
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD ) { 
-      sprintf(histName_char,"Sector%.2d", m_isec+1 ) ;
-      std::string m_sector_name = histName_char      ;
-      istatPhi = int( m_isec/2) + 1;
-      iName    = 0              ;
-      if ( m_isec!=11 &&  m_isec!=13) {
+      char histName_char[100];
+      sprintf(histName_char,"Sector%.2d", isec+1 ) ;
+      std::string sector_name = histName_char      ;
+      int istatPhi = int( isec/2) + 1;
+      int iName    = 0              ;
+      int ir = 0;
+      if ( isec!=11 &&  isec!=13) {
 	// if ( m_layer.find("Pivot",0) )
-	if ( m_layer_name == "Pivot0" || m_layer_name == "Pivot1" )   {
-	  iName = 2 + (m_isec%2 ) ;
+	if ( layer_name == "Pivot0" || layer_name == "Pivot1" )   {
+	  iName = 2 + (isec%2 ) ;
 	  ir    = 2 	        ;
 	}
-	if ( m_layer_name == "LowPt0" || m_layer_name == "LowPt1" )   {
-	  iName = 2 + (m_isec%2 ) ;
+	if ( layer_name == "LowPt0" || layer_name == "LowPt1" )   {
+	  iName = 2 + (isec%2 ) ;
 	  ir    = 1 	        ;
 	}
-	if ( m_layer_name == "HighPt0" || m_layer_name == "HighPt1" ) {
-	  iName = 4 + (m_isec%2 ) ;
+	if ( layer_name == "HighPt0" || layer_name == "HighPt1" ) {
+	  iName = 4 + (isec%2 ) ;
 	  ir    = 1 	        ;
 	}
       }
       else {
-	if ( m_layer_name == "Pivot0" || m_layer_name == "Pivot1" )   {
+	if ( layer_name == "Pivot0" || layer_name == "Pivot1" )   {
 	  iName = 8 ;
 	  ir    = 2 ;
 	}
-	if ( m_layer_name == "LowPt0" || m_layer_name == "LowPt1" )   {
+	if ( layer_name == "LowPt0" || layer_name == "LowPt1" )   {
 	  iName = 8 ;
 	  ir    = 1 ;
 	}
-	if ( m_layer_name == "HighPt0" || m_layer_name == "HighPt1" ) {
+	if ( layer_name == "HighPt0" || layer_name == "HighPt1" ) {
 	  iName = 9 ; // or 10 ;
 	  ir    = 1 ; // doubletR=2 -> upgrade of Atlas
 	}   
       }  
-      NEtaTotStripsSideC = 0; NEtaTotStripsSideA = 0; NPhiTotStrips=0;
       const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields(iName, 1, istatPhi, ir, 1, 1);
  
+      int NphiStrips         =  0;
+      int NetaStripsTotSideA =  0;
+      int NetaStripsTotSideC =  0;
       if(rpc != NULL ){
 	Identifier idr = rpc->identify();
 	std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,idr, 0)  ;
-	NphiStrips         =  rpcstripshift[0] ;
-	NetaStripsTotSideA =  rpcstripshift[6] ;
-	NetaStripsTotSideC =  rpcstripshift[7] ;
-    
+        NphiStrips         =  rpcstripshift[0] ;
+        NetaStripsTotSideA =  rpcstripshift[6] ;
+        NetaStripsTotSideC =  rpcstripshift[7] ;
       }
     
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
-      MonGroup rpc_radiography(this, m_generic_path_rpcmonitoring + "/RPCRadiography", run, ATTRIB_UNMANAGED ) ;
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+      MonGroup rpc_radiography(this, generic_path_rpcmonitoring + "/RPCRadiography", run, ATTRIB_UNMANAGED ) ;
     
-      binz    = (NetaStripsTotSideA+NetaStripsTotSideC)/m_rpcreducenbinsstrip ;
-      binminz = - NetaStripsTotSideC ;
-      binmaxz =	NetaStripsTotSideA ;
-      binx    = NphiStrips/m_rpcreducenbinsstrip ;
-      binminx = 0 ;
-      binmaxx = NphiStrips ;
+      int binz    = (NetaStripsTotSideA+NetaStripsTotSideC)/m_rpcreducenbinsstrip ;
+      int binminz = - NetaStripsTotSideC ;
+      int binmaxz =	NetaStripsTotSideA ;
+      int binx    = NphiStrips/m_rpcreducenbinsstrip ;
+      int binminx = 0 ;
+      int binmaxx = NphiStrips ;
    
  
-      std::string m_rpcSectorLayerProj_title	= m_sector_name + "_" + m_layer_name + "_TrackProj" ;
-      const char* m_rpcSectorLayerProj_title_char = m_rpcSectorLayerProj_title.c_str();
+      std::string rpcSectorLayerProj_title	= sector_name + "_" + layer_name + "_TrackProj" ;
+      const char* rpcSectorLayerProj_title_char = rpcSectorLayerProj_title.c_str();
     
-      TH2 * rpcSectorLayerTrackProj = new TH2I( m_rpcSectorLayerProj_title_char, m_rpcSectorLayerProj_title_char, binz, binminz, binmaxz, binx, binminx, binmaxx);
+      TH2 * rpcSectorLayerTrackProj = new TH2I( rpcSectorLayerProj_title_char, rpcSectorLayerProj_title_char, binz, binminz, binmaxz, binx, binminx, binmaxx);
     
       sc = rpc_radiography.regHist( rpcSectorLayerTrackProj );
       if(sc.isFailure() ){  
-       ATH_MSG_WARNING ( "couldn't register " << m_rpcSectorLayerProj_title << " hist to MonGroup" );
-       return ;
+        ATH_MSG_WARNING ( "couldn't register " << rpcSectorLayerProj_title << " hist to MonGroup" );
+        return ;
       }
     
       rpcSectorLayerTrackProj->SetOption("COLZ");
       rpcSectorLayerTrackProj->GetXaxis()->SetTitle("<--- SIDE C      Rpc Eta strip      SIDE A --->");
-      if ( (m_isec%2)== 0 ) { rpcSectorLayerTrackProj->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
+      if ( (isec%2)== 0 ) { rpcSectorLayerTrackProj->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
       else		  { rpcSectorLayerTrackProj->GetYaxis()->SetTitle("<--- RO side     Rpc Phi strip     HV side --->"); }
     
     
-      std::string m_rpcSectorLayerResponse_title      = m_sector_name + "_" + m_layer_name + "_Response" ;
-      const char* m_rpcSectorLayerResponse_title_char = m_rpcSectorLayerResponse_title.c_str();
+      std::string rpcSectorLayerResponse_title      = sector_name + "_" + layer_name + "_Response" ;
+      const char* rpcSectorLayerResponse_title_char = rpcSectorLayerResponse_title.c_str();
  
-      TH2 * rpcSectorLayerResponse = new TH2I( m_rpcSectorLayerResponse_title_char, m_rpcSectorLayerResponse_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
+      TH2 * rpcSectorLayerResponse = new TH2I( rpcSectorLayerResponse_title_char, rpcSectorLayerResponse_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
  
       sc = rpc_radiography.regHist( rpcSectorLayerResponse );
       if(sc.isFailure() )  
       {  
-       ATH_MSG_WARNING ( "couldn't register " << m_rpcSectorLayerResponse_title << " hist to MonGroup" );
-       return ;
+        ATH_MSG_WARNING ( "couldn't register " << rpcSectorLayerResponse_title << " hist to MonGroup" );
+        return ;
       }
       rpcSectorLayerResponse->SetOption("COLZ");
       rpcSectorLayerResponse->GetXaxis()->SetTitle("<--- SIDE C	   Rpc Eta strip      SIDE A --->");
-      if ( (m_isec%2) == 0) { rpcSectorLayerResponse->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
+      if ( (isec%2) == 0) { rpcSectorLayerResponse->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
       else	          { rpcSectorLayerResponse->GetYaxis()->SetTitle("<--- RO side     Rpc Phi strip     HV side --->"); }
     
       // eta OR phi response
-      std::string m_rpcSectorLayerResponseOR_title      = m_sector_name + "_" + m_layer_name + "_ResponseEtaOrPhi" ;
-      const char* m_rpcSectorLayerResponseOR_title_char = m_rpcSectorLayerResponseOR_title.c_str();
+      std::string rpcSectorLayerResponseOR_title      = sector_name + "_" + layer_name + "_ResponseEtaOrPhi" ;
+      const char* rpcSectorLayerResponseOR_title_char = rpcSectorLayerResponseOR_title.c_str();
  
-      TH2 * rpcSectorLayerResponseOR = new TH2I( m_rpcSectorLayerResponseOR_title_char, m_rpcSectorLayerResponseOR_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
+      TH2 * rpcSectorLayerResponseOR = new TH2I( rpcSectorLayerResponseOR_title_char, rpcSectorLayerResponseOR_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
  
       sc = rpc_radiography.regHist( rpcSectorLayerResponseOR );
       if(sc.isFailure() ) 
       { 
-       ATH_MSG_WARNING ( "couldn't register " << m_rpcSectorLayerResponseOR_title << " hist to MonGroup" );
-       return ;
+        ATH_MSG_WARNING ( "couldn't register " << rpcSectorLayerResponseOR_title << " hist to MonGroup" );
+        return ;
       }
       
       
       rpcSectorLayerResponseOR->SetOption("COLZ");
       rpcSectorLayerResponseOR->GetXaxis()->SetTitle("<--- SIDE C	   Rpc Eta strip      SIDE A --->");
-      if ( (m_isec%2) == 0) { rpcSectorLayerResponseOR->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
+      if ( (isec%2) == 0) { rpcSectorLayerResponseOR->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
       else	          { rpcSectorLayerResponse->GetYaxis()->SetTitle("<--- RO side     Rpc Phi strip     HV side --->"); }
     
     
     
       //ATLAS noise 
-      std::string m_rpcSectorLayerNoiseCorr_title      = m_sector_name + "_" + m_layer_name + "_NoiseCorr" ;
-      const char* m_rpcSectorLayerNoiseCorr_title_char = m_rpcSectorLayerNoiseCorr_title.c_str();
+      std::string rpcSectorLayerNoiseCorr_title      = sector_name + "_" + layer_name + "_NoiseCorr" ;
+      const char* rpcSectorLayerNoiseCorr_title_char = rpcSectorLayerNoiseCorr_title.c_str();
    
-      TH2 * rpcSectorLayerNoiseCorr = new TH2I( m_rpcSectorLayerNoiseCorr_title_char, m_rpcSectorLayerNoiseCorr_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
+      TH2 * rpcSectorLayerNoiseCorr = new TH2I( rpcSectorLayerNoiseCorr_title_char, rpcSectorLayerNoiseCorr_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
  
       sc = rpc_radiography.regHist( rpcSectorLayerNoiseCorr );
       if(sc.isFailure() )  
       {  
-       ATH_MSG_WARNING ( "couldn't register " << m_rpcSectorLayerNoiseCorr_title << " hist to MonGroup" );
+       ATH_MSG_WARNING ( "couldn't register " << rpcSectorLayerNoiseCorr_title << " hist to MonGroup" );
        return ;
       }
       
       rpcSectorLayerNoiseCorr->SetOption("COLZ");
       rpcSectorLayerNoiseCorr->GetXaxis()->SetTitle("<--- SIDE C	   Rpc Eta strip      SIDE A --->");
-      if ( (m_isec%2) == 0) { rpcSectorLayerNoiseCorr->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
+      if ( (isec%2) == 0) { rpcSectorLayerNoiseCorr->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
       else	          { rpcSectorLayerNoiseCorr->GetYaxis()->SetTitle("<--- RO side     Rpc Phi strip     HV side --->"); }
     
     
-      std::string m_rpcSectorLayerNoiseNotCorr_title      = m_sector_name + "_" + m_layer_name + "_NoiseNotCorr" ;
-      const char* m_rpcSectorLayerNoiseNotCorr_title_char = m_rpcSectorLayerNoiseNotCorr_title.c_str();
+      std::string rpcSectorLayerNoiseNotCorr_title      = sector_name + "_" + layer_name + "_NoiseNotCorr" ;
+      const char* rpcSectorLayerNoiseNotCorr_title_char = rpcSectorLayerNoiseNotCorr_title.c_str();
    
-      TH2 * rpcSectorLayerNoiseNotCorr = new TH2I( m_rpcSectorLayerNoiseNotCorr_title_char, m_rpcSectorLayerNoiseNotCorr_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
+      TH2 * rpcSectorLayerNoiseNotCorr = new TH2I( rpcSectorLayerNoiseNotCorr_title_char, rpcSectorLayerNoiseNotCorr_title_char ,binz, binminz, binmaxz, binx, binminx, binmaxx);
  
       sc = rpc_radiography.regHist( rpcSectorLayerNoiseNotCorr );
       if(sc.isFailure() )  
       {  
-      ATH_MSG_WARNING ( "couldn't register " << m_rpcSectorLayerNoiseNotCorr_title << " hist to MonGroup" ); 
+      ATH_MSG_WARNING ( "couldn't register " << rpcSectorLayerNoiseNotCorr_title << " hist to MonGroup" ); 
        return ;
       }
       rpcSectorLayerNoiseNotCorr->SetOption("COLZ");
       rpcSectorLayerNoiseNotCorr->GetXaxis()->SetTitle("<--- SIDE C	   Rpc Eta strip      SIDE A --->");
-      if ( (m_isec%2) == 0) { rpcSectorLayerNoiseNotCorr->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
+      if ( (isec%2) == 0) { rpcSectorLayerNoiseNotCorr->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->"); }  // large
       else	          { rpcSectorLayerNoiseNotCorr->GetYaxis()->SetTitle("<--- RO side     Rpc Phi strip     HV side --->"); }
     
     
@@ -4836,7 +4803,7 @@ void RPCStandaloneTracksMon::bookRPCLayerRadiographyHistograms( int m_isec, std:
 }
 
 // BOOK COOL STRIP HISTOGRAMSS
-void RPCStandaloneTracksMon::bookRPCCoolHistograms_NotNorm( std::vector<std::string>::const_iterator & m_iter, int m_isec, int m_idblPhi, std::string m_layer ) 
+void RPCStandaloneTracksMon::bookRPCCoolHistograms_NotNorm( std::vector<std::string>::const_iterator & iter, int isec, int idblPhi, std::string layer ) 
 {
   gErrorIgnoreLevel=kInfo;
   ATH_MSG_DEBUG ( "RPCStandaloneTracksMon: bookRPCCoolHistograms_NotNorm" );
@@ -4846,60 +4813,62 @@ void RPCStandaloneTracksMon::bookRPCCoolHistograms_NotNorm( std::vector<std::str
   {
        return ;
   }
-  std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
-  MonGroup rpcCoolDb( this, m_generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
+  std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+  MonGroup rpcCoolDb( this, generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
   
-  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", m_isec+1, m_layer.c_str(), m_idblPhi+1) ;
+  char histName_char[100];
+  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", isec+1, layer.c_str(), idblPhi+1) ;
   // example: Sector01_Pivot0_dblPhi1_StripId
   
-  histName  = histName_char  ;
+  std::string histName  = histName_char  ;
   histName += "_"            ;
-  histName += *m_iter        ;  //histName += m_coolQuantity ;
-  istatPhi  = int( m_isec/2) ;
-  iName     = 0              ; 
+  histName += *iter        ;  //histName += m_coolQuantity ;
+  int istatPhi  = int( isec/2) ;
+  int iName     = 0              ;
+  int ir = 0;
   
   //BML7(dr=1) is associated to LowPt and not Pivot
-  if ( m_isec<11 ||  m_isec>13) {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
-      iName = 2 + (m_isec%2 ) ;
+  if ( isec<11 ||  isec>13) {
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 2 	      ; 
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
-      iName = 2 + (m_isec%2 ) ;
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 1 	      ; 
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
-      iName = 4 + (m_isec%2 ) ;
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
+      iName = 4 + (isec%2 ) ;
       ir    = 1   ;
     }
   }  
-  else if ( m_isec==12) {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+  else if ( isec==12) {
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName     =  1      ; 
       ir    = 2 	      ;	 
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName     =  1      ; 
       ir    = 1 	      ; 
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 4               ;
       ir    = 1 	      ;   
     }
      
   }
   else {
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName     =   8  ; 
       ir    = 2 ;     
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName = 8 ; 
       ir    = 1 ; 
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 9 ; // or 10 ; 
       ir    = 1 ; // doubletR=2 -> upgrade of Atlas 
     }
@@ -4910,8 +4879,8 @@ void RPCStandaloneTracksMon::bookRPCCoolHistograms_NotNorm( std::vector<std::str
  
   int kName = iName ;
   if(kName==1)kName=53;//BMLE
-  const MuonGM::RpcReadoutElement* rpc   = m_muonMgr->getRpcRElement_fromIdFields( kName,  1 , istatPhi+1, ir, 1, m_idblPhi+1 );   
-  const MuonGM::RpcReadoutElement* rpc_c = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, m_idblPhi+1 );  
+  const MuonGM::RpcReadoutElement* rpc   = m_muonMgr->getRpcRElement_fromIdFields( kName,  1 , istatPhi+1, ir, 1, idblPhi+1 );   
+  const MuonGM::RpcReadoutElement* rpc_c = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, idblPhi+1 );  
   
   if(rpc != NULL ){  
     Identifier idr = rpc->identify();
@@ -4934,7 +4903,7 @@ void RPCStandaloneTracksMon::bookRPCCoolHistograms_NotNorm( std::vector<std::str
 }
   
   
-void RPCStandaloneTracksMon::bookRPCCoolHistograms( std::vector<std::string>::const_iterator & m_iter, int m_isec, int m_idblPhi, std::string m_layer ) 
+void RPCStandaloneTracksMon::bookRPCCoolHistograms( std::vector<std::string>::const_iterator & iter, int isec, int idblPhi, std::string layer ) 
 { 
   /* book histograms with normalized quantities: this histograms are filled by RPC PostProcess		*/
   /* only metadata histograms are written by monitoring 						*/
@@ -4949,60 +4918,62 @@ void RPCStandaloneTracksMon::bookRPCCoolHistograms( std::vector<std::string>::co
   {  
        return ;
   }
-  std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
-  MonGroup rpcCoolDb( this, m_generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
+  std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+  MonGroup rpcCoolDb( this, generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
     
-  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", m_isec+1, m_layer.c_str(), m_idblPhi+1) ;
+  char histName_char[100];
+  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", isec+1, layer.c_str(), idblPhi+1) ;
   // example: Sector01_Pivot0_dblPhi1_StripId
   
-  histName  = histName_char  ;
+  std::string histName  = histName_char  ;
   histName += "_"            ;
-  histName += *m_iter        ;  //histName += m_coolQuantity ;
-  istatPhi  = int( m_isec/2) ;
-  iName     = 0              ; 
+  histName += *iter        ;  //histName += m_coolQuantity ;
+  int istatPhi  = int( isec/2) ;
+  int iName     = 0              ;
+  int ir = 0;
   
   //BML7(dr=1) is associated to LowPt and not Pivot
-  if ( m_isec<11 ||  m_isec>13) {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
-      iName = 2 + (m_isec%2 ) ;
+  if ( isec<11 ||  isec>13) {
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 2 	      ;	 
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
-      iName = 2 + (m_isec%2 ) ;
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 1 	      ; 
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
-      iName = 4 + (m_isec%2 ) ;
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
+      iName = 4 + (isec%2 ) ;
       ir    = 1 	      ; 
     } 
   }  
-  else if ( m_isec==12) {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+  else if ( isec==12) {
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName     =  1      ; 
       ir    = 2 	      ;	 
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName     =  1      ; 
       ir    = 1 	      ; 
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 4               ;
       ir    = 1 	      ;  
     }
      
   }
   else {
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName     =   8  ; 
       ir    = 2 ;      
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName = 8 ; 
       ir    = 1 ; 
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 9 ; // or 10 ; 
       ir    = 1 ; // doubletR=2 -> upgrade of Atlas 
     }
@@ -5013,8 +4984,8 @@ void RPCStandaloneTracksMon::bookRPCCoolHistograms( std::vector<std::string>::co
  
   int kName = iName ;
   if(kName==1)kName=53;//BMLE
-  const MuonGM::RpcReadoutElement* rpc   = m_muonMgr->getRpcRElement_fromIdFields( kName,  1 , istatPhi+1, ir, 1, m_idblPhi+1 );   
-  const MuonGM::RpcReadoutElement* rpc_c = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, m_idblPhi+1 );  
+  const MuonGM::RpcReadoutElement* rpc   = m_muonMgr->getRpcRElement_fromIdFields( kName,  1 , istatPhi+1, ir, 1, idblPhi+1 );   
+  const MuonGM::RpcReadoutElement* rpc_c = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, idblPhi+1 );  
   
   if(rpc != NULL ){  
     Identifier idr = rpc->identify();
@@ -5050,7 +5021,7 @@ void RPCStandaloneTracksMon::bookRPCCoolHistograms( std::vector<std::string>::co
   
 }
   
-void RPCStandaloneTracksMon::bookRPCTracksLayerHistograms(std::string m_hardware_name, std::string m_layer_name, std::string m_layer0_name, int bin, int binmin, int binmax )
+void RPCStandaloneTracksMon::bookRPCTracksLayerHistograms(std::string hardware_name, std::string layer_name, std::string layer0_name, int bin, int binmin, int binmax )
 {
   gErrorIgnoreLevel=kError;
   StatusCode sc = StatusCode::SUCCESS;
@@ -5060,27 +5031,27 @@ void RPCStandaloneTracksMon::bookRPCTracksLayerHistograms(std::string m_hardware
   }
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {    		    
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Tracks/", run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_hardware_name +"/Tracks/" + m_layer_name);    
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Tracks/", run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( hardware_name +"/Tracks/" + layer_name);    
   
   
       //histo path for rpc trackproj
       //
-      std::string m_generic_path_rpctrackprojlayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Projection/";
-      m_generic_path_rpctrackprojlayer += m_hardware_name + "_" + m_layer_name + "_trackproj";
-      std::string m_rpctrackprojlayer_title = m_hardware_name + "_" + m_layer_name + "_trackproj";	
-      const char* m_rpctrackprojlayer_title_char = m_rpctrackprojlayer_title.c_str();
+      std::string generic_path_rpctrackprojlayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Projection/";
+      generic_path_rpctrackprojlayer += hardware_name + "_" + layer_name + "_trackproj";
+      std::string rpctrackprojlayer_title = hardware_name + "_" + layer_name + "_trackproj";	
+      const char* rpctrackprojlayer_title_char = rpctrackprojlayer_title.c_str();
   
-      TH1 *rpctrackprojlayer=new TH1I(m_rpctrackprojlayer_title_char, m_rpctrackprojlayer_title_char, bin/m_rpcreducenbins, binmin, binmax ); 			
+      TH1 *rpctrackprojlayer=new TH1I(rpctrackprojlayer_title_char, rpctrackprojlayer_title_char, bin/m_rpcreducenbins, binmin, binmax ); 			
       lst.addHist(rpctrackprojlayer);  
       rpctrackprojlayer->SetFillColor(42);  
       //rpctrackprojlayer->SetOption("COLZ");  
-      rpctrackprojlayer->GetXaxis()->SetTitle(m_layer0_name.c_str());
+      rpctrackprojlayer->GetXaxis()->SetTitle(layer0_name.c_str());
       rpctrackprojlayer->GetYaxis()->SetTitle("trackproj ");
 
       {
-	ATH_MSG_DEBUG ( "INSIDE bookRPCLayerHistograms : " << rpctrackprojlayer << m_generic_path_rpctrackprojlayer.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookRPCLayerHistograms : " << rpctrackprojlayer << generic_path_rpctrackprojlayer.c_str() );
 	//ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	ATH_MSG_DEBUG ( "RUN : " << run );}    
    		     	
@@ -5089,20 +5060,20 @@ void RPCStandaloneTracksMon::bookRPCTracksLayerHistograms(std::string m_hardware
         
       //histo path for rpc hitontrack
       //
-      std::string m_generic_path_rpchitontracklayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Projection/";
-      m_generic_path_rpchitontracklayer += m_hardware_name + "_" + m_layer_name + "_hitontrack";
-      std::string m_rpchitontracklayer_title = m_hardware_name + "_" + m_layer_name + "_hitontrack";	
-      const char* m_rpchitontracklayer_title_char = m_rpchitontracklayer_title.c_str();
+      std::string generic_path_rpchitontracklayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Projection/";
+      generic_path_rpchitontracklayer += hardware_name + "_" + layer_name + "_hitontrack";
+      std::string rpchitontracklayer_title = hardware_name + "_" + layer_name + "_hitontrack";	
+      const char* rpchitontracklayer_title_char = rpchitontracklayer_title.c_str();
 		
-      TH1 *rpchitontracklayer=new TH1I(m_rpchitontracklayer_title_char, m_rpchitontracklayer_title_char, bin/m_rpcreducenbins, binmin, binmax ); 			
+      TH1 *rpchitontracklayer=new TH1I(rpchitontracklayer_title_char, rpchitontracklayer_title_char, bin/m_rpcreducenbins, binmin, binmax ); 			
       lst.addHist(rpchitontracklayer);  
       rpchitontracklayer->SetFillColor(42);  
       //rpchitontracklayer->SetOption("COLZ");  
-      rpchitontracklayer->GetXaxis()->SetTitle(m_layer0_name.c_str());
+      rpchitontracklayer->GetXaxis()->SetTitle(layer0_name.c_str());
       rpchitontracklayer->GetYaxis()->SetTitle("hitontrack ");
 
       {
-	ATH_MSG_DEBUG ( "INSIDE bookRPCLayerHistograms : " << rpchitontracklayer << m_generic_path_rpchitontracklayer.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookRPCLayerHistograms : " << rpchitontracklayer << generic_path_rpchitontracklayer.c_str() );
 	//ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	ATH_MSG_DEBUG ( "RUN : " << run );}    
    		     	
@@ -5112,19 +5083,19 @@ void RPCStandaloneTracksMon::bookRPCTracksLayerHistograms(std::string m_hardware
   
       //histo path for rpc residuals
       //
-      std::string m_generic_path_rpcresidualslayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Tracks/";
-      m_generic_path_rpcresidualslayer += m_hardware_name + "_" + m_layer_name + "_residuals";
-      std::string m_rpcresidualslayer_title = m_hardware_name + "_" + m_layer_name + "_residuals";	
-      const char* m_rpcresidualslayer_title_char = m_rpcresidualslayer_title.c_str();
+      std::string generic_path_rpcresidualslayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Tracks/";
+      generic_path_rpcresidualslayer += hardware_name + "_" + layer_name + "_residuals";
+      std::string rpcresidualslayer_title = hardware_name + "_" + layer_name + "_residuals";	
+      const char* rpcresidualslayer_title_char = rpcresidualslayer_title.c_str();
 		
-      TH1 *rpcresidualslayer=new TH1F(m_rpcresidualslayer_title_char, m_rpcresidualslayer_title_char, 1000, -500, 500); 			
+      TH1 *rpcresidualslayer=new TH1F(rpcresidualslayer_title_char, rpcresidualslayer_title_char, 1000, -500, 500); 			
       lst.addHist(rpcresidualslayer);  
       rpcresidualslayer->SetFillColor(42);   
-      rpcresidualslayer->GetXaxis()->SetTitle(m_layer0_name.c_str());
+      rpcresidualslayer->GetXaxis()->SetTitle(layer0_name.c_str());
       rpcresidualslayer->GetYaxis()->SetTitle("Counts/Strip");
 
       {
-	ATH_MSG_DEBUG ( "INSIDE bookRPCLayerHistograms : " << rpcresidualslayer << m_generic_path_rpcresidualslayer.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookRPCLayerHistograms : " << rpcresidualslayer << generic_path_rpcresidualslayer.c_str() );
 	//ATH_MSG_DEBUG ( "EXPERT : " << expert );
 	ATH_MSG_DEBUG ( "RUN : " << run );}    
    		     	
@@ -5138,138 +5109,138 @@ void RPCStandaloneTracksMon::bookRPCTracksLayerHistograms(std::string m_hardware
 }
 
 
-//void RPCStandaloneTracksMon::bookRPCSummaryHistograms( int m_i_sec, std::vector<std::string>::const_iterator & m_iter )
-void RPCStandaloneTracksMon::bookRPCSummaryHistograms( int m_i_sec, const std::string & m_quantity)
+//void RPCStandaloneTracksMon::bookRPCSummaryHistograms( int i_sec, std::vector<std::string>::const_iterator & iter )
+void RPCStandaloneTracksMon::bookRPCSummaryHistograms( int i_sec, const std::string & quantity)
 {
   StatusCode sc = StatusCode::SUCCESS; 
   
-  ATH_MSG_DEBUG ( "Start bookRPCSummaryHistograms: " << m_quantity ); 
+  ATH_MSG_DEBUG ( "Start bookRPCSummaryHistograms: " << quantity ); 
   
-  std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
-  MonGroup rpcprd_expert_sum( this, m_generic_path_rpcmonitoring +"/Summary", run, ATTRIB_UNMANAGED ) ;
+  std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+  MonGroup rpcprd_expert_sum( this, generic_path_rpcmonitoring +"/Summary", run, ATTRIB_UNMANAGED ) ;
    
   char sector_char[10]    ;
   std::string sector_name ;
-  sprintf(sector_char, "Sector%.2d", m_i_sec+1) ;  // sector number with 2 digits
+  sprintf(sector_char, "Sector%.2d", i_sec+1) ;  // sector number with 2 digits
   sector_name = sector_char ;
 	
   // large sectors: (i_sec+1)%2 = 1;  small (i_sec+1)%2 = 0
-  n_eta_station = ( (m_i_sec+1) %2 ) + 6 + 1 ;  // small: 1-6, large: 1-7, sec 12+14: 0-6, sec 13: 1-7 (8->7)	  
+  int n_eta_station = ( (i_sec+1) %2 ) + 6 + 1 ;  // small: 1-6, large: 1-7, sec 12+14: 0-6, sec 13: 1-7 (8->7)	  
   int n_bin = 72 * n_eta_station   ;   
   //  72 = 2*2*2*3*3  measPhi + gap + dblPhi + dblZ + stationName + stationEta
   std::string PanelIndexTitle = "# Panel = View + (gap-1)*2 + (dblPhi-1)*4 + (dblZ-1)*8 + (LowPt=0,Pivot=1,HighPt=2)*24 + (Eta)*72";
  
-  std::string m_SummaryHist_title = "Summary" + m_quantity + "_" + sector_name ;
-  const char* m_SummaryHist_title_char = m_SummaryHist_title.c_str(); 
-  m_SummaryHist.push_back (new TH1F(m_SummaryHist_title_char, m_SummaryHist_title_char, 2*n_bin, -n_bin, n_bin));
+  std::string SummaryHist_title = "Summary" + quantity + "_" + sector_name ;
+  const char* SummaryHist_title_char = SummaryHist_title.c_str(); 
+  m_SummaryHist.push_back (new TH1F(SummaryHist_title_char, SummaryHist_title_char, 2*n_bin, -n_bin, n_bin));
   m_SummaryHist.back()->SetFillColor(2);
   m_SummaryHist.back()->GetXaxis()-> SetTitle(PanelIndexTitle.c_str() );
   m_SummaryHist.back()->GetXaxis()-> SetTitleSize(0.03)  	      ;
   m_SummaryHist.back()->GetXaxis()-> SetTitleOffset(1.2) 	      ;
-  m_SummaryHist.back()->GetYaxis()-> SetTitle((m_quantity).c_str() )   ;
+  m_SummaryHist.back()->GetYaxis()-> SetTitle((quantity).c_str() )   ;
    
   sc = rpcprd_expert_sum.regHist( m_SummaryHist.back() ); 
-  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< m_SummaryHist_title <<" hist to MonGroup" );
+  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< SummaryHist_title <<" hist to MonGroup" );
   
  
   //
   
-  MonGroup rpcprd_dq_BA      ( this, m_generic_path_rpcmonitoring + "/RPCBA" , run, ATTRIB_UNMANAGED );
-  MonGroup rpcprd_dq_BC      ( this, m_generic_path_rpcmonitoring + "/RPCBC" , run, ATTRIB_UNMANAGED ); 
+  MonGroup rpcprd_dq_BA      ( this, generic_path_rpcmonitoring + "/RPCBA" , run, ATTRIB_UNMANAGED );
+  MonGroup rpcprd_dq_BC      ( this, generic_path_rpcmonitoring + "/RPCBC" , run, ATTRIB_UNMANAGED ); 
      
  
-  if(m_quantity == "Time_NotNorm"){
+  if(quantity == "Time_NotNorm"){
   
-    std::string m_SummaryHistRPCBA_title = "StripTimeDistribution_" + sector_name +"_SideA" ;
-    const char* m_SummaryHistRPCBA_title_char = m_SummaryHistRPCBA_title.c_str();
+    std::string SummaryHistRPCBA_title = "StripTimeDistribution_" + sector_name +"_SideA" ;
+    const char* SummaryHistRPCBA_title_char = SummaryHistRPCBA_title.c_str();
   
-    m_SummaryHistRPCBA.push_back( new TH1F(m_SummaryHistRPCBA_title_char, m_SummaryHistRPCBA_title_char, timeNbin, timeminrange, timemaxrange));
+    m_SummaryHistRPCBA.push_back( new TH1F(SummaryHistRPCBA_title_char, SummaryHistRPCBA_title_char, timeNbin, timeminrange, timemaxrange));
     m_SummaryHistRPCBA.back()->SetFillColor(2);
     m_SummaryHistRPCBA.back()->GetXaxis()-> SetTitle(PanelIndexTitle.c_str() );
     m_SummaryHistRPCBA.back()->GetXaxis()-> SetTitleSize(0.03)	        ;
     m_SummaryHistRPCBA.back()->GetXaxis()-> SetTitleOffset(1.2)	        ;
-    m_SummaryHistRPCBA.back()->GetYaxis()-> SetTitle((m_quantity).c_str() )   ;
+    m_SummaryHistRPCBA.back()->GetYaxis()-> SetTitle((quantity).c_str() )   ;
   
     sc = rpcprd_dq_BA.regHist( m_SummaryHistRPCBA.back() );
-    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< m_SummaryHistRPCBA_title <<" hist to MonGroup" ); 
+    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< SummaryHistRPCBA_title <<" hist to MonGroup" ); 
    
-    std::string m_SummaryHistRPCBC_title = "StripTimeDistribution_" + sector_name +"_SideC"  ;
-    const char* m_SummaryHistRPCBC_title_char = m_SummaryHistRPCBC_title.c_str();
+    std::string SummaryHistRPCBC_title = "StripTimeDistribution_" + sector_name +"_SideC"  ;
+    const char* SummaryHistRPCBC_title_char = SummaryHistRPCBC_title.c_str();
   
-    m_SummaryHistRPCBC.push_back( new TH1F(m_SummaryHistRPCBC_title_char, m_SummaryHistRPCBC_title_char, timeNbin, timeminrange, timemaxrange));
+    m_SummaryHistRPCBC.push_back( new TH1F(SummaryHistRPCBC_title_char, SummaryHistRPCBC_title_char, timeNbin, timeminrange, timemaxrange));
     m_SummaryHistRPCBC.back()->SetFillColor(2);
     m_SummaryHistRPCBC.back()->GetXaxis()-> SetTitle(PanelIndexTitle.c_str() );
     m_SummaryHistRPCBC.back()->GetXaxis()-> SetTitleSize(0.03)	        ;
     m_SummaryHistRPCBC.back()->GetXaxis()-> SetTitleOffset(1.2)	        ;
-    m_SummaryHistRPCBC.back()->GetYaxis()-> SetTitle((m_quantity).c_str() )   ;
+    m_SummaryHistRPCBC.back()->GetYaxis()-> SetTitle((quantity).c_str() )   ;
   
     sc = rpcprd_dq_BC.regHist( m_SummaryHistRPCBC.back() );
-    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< m_SummaryHistRPCBC_title <<" hist to MonGroup" ); 
+    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< SummaryHistRPCBC_title <<" hist to MonGroup" ); 
   
   }
      
  
-  if(m_i_sec == 0 ){  
-    std::string m_SummaryHistRPCBA_title = "Layer_" + m_quantity+"_sideA";
-    const char* m_SummaryHistRPCBA_title_char = m_SummaryHistRPCBA_title.c_str();
+  if(i_sec == 0 ){  
+    std::string SummaryHistRPCBA_title = "Layer_" + quantity+"_sideA";
+    const char* SummaryHistRPCBA_title_char = SummaryHistRPCBA_title.c_str();
   
-    m_SummaryHistRPCBA.push_back(  new TH1F(m_SummaryHistRPCBA_title_char, m_SummaryHistRPCBA_title_char,24,0,24) );
+    m_SummaryHistRPCBA.push_back(  new TH1F(SummaryHistRPCBA_title_char, SummaryHistRPCBA_title_char,24,0,24) );
     m_SummaryHistRPCBA.back()->SetFillColor(42);
     m_SummaryHistRPCBA.back()->GetXaxis()-> SetTitle( "LayerType(LPt0,LPt1,Piv0,Piv1,HPt0,HPt1) + ( Eta or Phi)*6 + (Small or Large)*12" );
     m_SummaryHistRPCBA.back()->GetXaxis()-> SetTitleSize(0.03)	         ;
     m_SummaryHistRPCBA.back()->GetXaxis()-> SetTitleOffset(1.2)	         ;
-    m_SummaryHistRPCBA.back()->GetYaxis()-> SetTitle(("RPCBA_Layer_"+(m_quantity)).c_str() )   ;    
+    m_SummaryHistRPCBA.back()->GetYaxis()-> SetTitle(("RPCBA_Layer_"+(quantity)).c_str() )   ;    
     m_SummaryHistRPCBA.back()->SetMarkerStyle(20)	  ;
     m_SummaryHistRPCBA.back()->SetMarkerColor(2)  ;
  
     sc = rpcprd_dq_BA.regHist( m_SummaryHistRPCBA.back() );
-    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< m_SummaryHistRPCBA_title <<" hist to MonGroup" ); 
+    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< SummaryHistRPCBA_title <<" hist to MonGroup" ); 
      
-    std::string m_SummaryHistRPCBC_title = "Layer_" + m_quantity+"_sideC";
-    const char* m_SummaryHistRPCBC_title_char = m_SummaryHistRPCBC_title.c_str();
+    std::string SummaryHistRPCBC_title = "Layer_" + quantity+"_sideC";
+    const char* SummaryHistRPCBC_title_char = SummaryHistRPCBC_title.c_str();
   
-    m_SummaryHistRPCBC.push_back(  new TH1F(m_SummaryHistRPCBC_title_char, m_SummaryHistRPCBC_title_char,24,0,24) );
+    m_SummaryHistRPCBC.push_back(  new TH1F(SummaryHistRPCBC_title_char, SummaryHistRPCBC_title_char,24,0,24) );
     m_SummaryHistRPCBC.back()->SetFillColor(42);
     m_SummaryHistRPCBC.back()->GetXaxis()-> SetTitle( "LayerType(LPt0,LPt1,Piv0,Piv1,HPt0,HPt1) + ( Eta or Phi)*6 + (Small or Large)*12" );
     m_SummaryHistRPCBC.back()->GetXaxis()-> SetTitleSize(0.03)	         ;
     m_SummaryHistRPCBC.back()->GetXaxis()-> SetTitleOffset(1.2)	         ;
-    m_SummaryHistRPCBC.back()->GetYaxis()-> SetTitle(("RPCBC_Layer_"+(m_quantity)).c_str() )   ;       
+    m_SummaryHistRPCBC.back()->GetYaxis()-> SetTitle(("RPCBC_Layer_"+(quantity)).c_str() )   ;       
     m_SummaryHistRPCBC.back()-> SetMarkerStyle(20)	   ;
     m_SummaryHistRPCBC.back()-> SetMarkerColor(2)  ;
   
     sc = rpcprd_dq_BC.regHist( m_SummaryHistRPCBC.back() );
-    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< m_SummaryHistRPCBC_title <<" hist to MonGroup" ); 
+    if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< SummaryHistRPCBC_title <<" hist to MonGroup" ); 
       
  
   } 
   
 }
 
-void RPCStandaloneTracksMon::bookRPCSummaryFinalHistograms( int m_i_sec, const std::string & m_quantity)
+void RPCStandaloneTracksMon::bookRPCSummaryFinalHistograms( int i_sec, const std::string & quantity)
 {
   StatusCode sc = StatusCode::SUCCESS; 
-  std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
-  MonGroup rpcprd_expert_sum( this, m_generic_path_rpcmonitoring +"/Summary", run,  ATTRIB_UNMANAGED) ;
+  std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon";
+  MonGroup rpcprd_expert_sum( this, generic_path_rpcmonitoring +"/Summary", run,  ATTRIB_UNMANAGED) ;
   
-  ATH_MSG_DEBUG ( "Start bookRPCSummaryFinalHistograms: " << m_i_sec << " " << m_quantity ); 
+  ATH_MSG_DEBUG ( "Start bookRPCSummaryFinalHistograms: " << i_sec << " " << quantity ); 
   
   char sector_char[10]    ;
   std::string sector_name ;
-  sprintf(sector_char, "Sector%.2d", m_i_sec+1) ;  // sector number with 2 digits
+  sprintf(sector_char, "Sector%.2d", i_sec+1) ;  // sector number with 2 digits
   sector_name = sector_char ;
 	
   // large sectors: (i_sec+1)%2 = 1;  small (i_sec+1)%2 = 0
-  n_eta_station = ( (m_i_sec+1) %2 ) + 6 + 1 ;  // small: 1-6, large: 1-7, sec 12+14: 0-6, sec 13: 1-7 (8->7)	  
+  int n_eta_station = ( (i_sec+1) %2 ) + 6 + 1 ;  // small: 1-6, large: 1-7, sec 12+14: 0-6, sec 13: 1-7 (8->7)	  
   int n_bin = 72 * n_eta_station   ;   
   //  72 = 2*2*2*3*3  measPhi + gap + dblPhi + dblZ + stationName + stationEta
   std::string PanelIndexTitle = "# Panel = View + (gap-1)*2 + (dblPhi-1)*4 + (dblZ-1)*8 + (LowPt=0,Pivot=1,HighPt=2)*24 + (Eta)*72";
   
    
-  std::string m_SummaryHist_title = "Summary" + m_quantity + "_" + sector_name ;
-  const char* m_SummaryHist_title_char = m_SummaryHist_title.c_str();
+  std::string SummaryHist_title = "Summary" + quantity + "_" + sector_name ;
+  const char* SummaryHist_title_char = SummaryHist_title.c_str();
   bool doRecursiveReferenceDelete = gROOT->MustClean();
   gROOT->SetMustClean(false);
-  m_sumTmpHist.push_back ( new TH1F(m_SummaryHist_title_char, m_SummaryHist_title_char, 2*n_bin, -n_bin, n_bin) );
+  m_sumTmpHist.push_back ( new TH1F(SummaryHist_title_char, SummaryHist_title_char, 2*n_bin, -n_bin, n_bin) );
 
   sc = rpcprd_expert_sum.regHist( m_sumTmpHist.back() );
   
@@ -5294,7 +5265,7 @@ void RPCStandaloneTracksMon::bookRPCSummaryFinalHistograms( int m_i_sec, const s
   gROOT->SetMustClean(doRecursiveReferenceDelete);  
  
   // 
-  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< m_SummaryHist_title <<" hist to MonGroup" );
+  if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't register "<< SummaryHist_title <<" hist to MonGroup" );
 }
 
 
@@ -5308,33 +5279,39 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
   ATH_MSG_DEBUG ( "RPCStandaloneTracksMon finalize()" ); 	  
   
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {    
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon" ;	
-      MonGroup rpcprd_expert     ( this, m_generic_path_rpcmonitoring+"/Overview"  ,  run, ATTRIB_UNMANAGED );
-      MonGroup rpcprd_shift      ( this, m_generic_path_rpcmonitoring+"/Overview"  ,  run, ATTRIB_UNMANAGED );
-      MonGroup rpc_dqmf_global   ( this, m_generic_path_rpcmonitoring+"/GLOBAL"    ,  run, ATTRIB_UNMANAGED );
-      MonGroup rpcprd_expert_sum ( this, m_generic_path_rpcmonitoring + "/Summary" ,  run, ATTRIB_UNMANAGED );
-      MonGroup rpcprd_dq_BA      ( this, m_generic_path_rpcmonitoring + "/RPCBA"   ,  run, ATTRIB_UNMANAGED );
-      MonGroup rpcprd_dq_BC      ( this, m_generic_path_rpcmonitoring + "/RPCBC"   ,  run, ATTRIB_UNMANAGED );
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCStandAloneTrackMon" ;	
+      MonGroup rpcprd_expert     ( this, generic_path_rpcmonitoring+"/Overview"  ,  run, ATTRIB_UNMANAGED );
+      MonGroup rpcprd_shift      ( this, generic_path_rpcmonitoring+"/Overview"  ,  run, ATTRIB_UNMANAGED );
+      MonGroup rpc_dqmf_global   ( this, generic_path_rpcmonitoring+"/GLOBAL"    ,  run, ATTRIB_UNMANAGED );
+      MonGroup rpcprd_expert_sum ( this, generic_path_rpcmonitoring + "/Summary" ,  run, ATTRIB_UNMANAGED );
+      MonGroup rpcprd_dq_BA      ( this, generic_path_rpcmonitoring + "/RPCBA"   ,  run, ATTRIB_UNMANAGED );
+      MonGroup rpcprd_dq_BC      ( this, generic_path_rpcmonitoring + "/RPCBC"   ,  run, ATTRIB_UNMANAGED );
     
       if(endOfEventsBlock){}
       if(endOfLumiBlock){}
       if(endOfRun){        
-    
+
+        TH1* RPCBA_layerTrackProj = nullptr;
 	sc = rpcprd_dq_BA.getHist(RPCBA_layerTrackProj,"Layer_TrackProj_sideA");	      
 	if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_TrackProj_sideA  hist" );  
-             
+
+        TH1* RPCBC_layerTrackProj = nullptr;
 	sc = rpcprd_dq_BC.getHist(RPCBC_layerTrackProj,"Layer_TrackProj_sideC");	      
 	if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_TrackProj_sideC  hist" );  
          
+        TH1* RPCBA_layerHitOnTrack = nullptr;
 	sc = rpcprd_dq_BA.getHist(RPCBA_layerHitOnTrack,"Layer_HitOnTrack_sideA");	   
 	if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_HitOnTrack_sideA  hist" );  
      	  
+        TH1* RPCBC_layerHitOnTrack = nullptr;
 	sc = rpcprd_dq_BC.getHist(RPCBC_layerHitOnTrack,"Layer_HitOnTrack_sideC");	   
 	if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_HitOnTrack_sideC  hist" );  
 	 	         
+        TH1* RPCBA_layerEfficiency = nullptr;
 	sc = rpcprd_dq_BA.getHist(RPCBA_layerEfficiency,"Layer_Efficiency_sideA");	   
 	if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_Efficiency_sideA  hist" );  
      	  
+        TH1* RPCBC_layerEfficiency = nullptr;
 	sc = rpcprd_dq_BC.getHist(RPCBC_layerEfficiency,"Layer_Efficiency_sideC");	   
 	if(sc.isFailure() )  ATH_MSG_WARNING ( "couldn't get Layer_Efficiency_sideC  hist" );
       
@@ -5349,33 +5326,32 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
     
 	if(m_rpcfile){
 	  myfile << "----Total events / Events in selected area----\n";
-	  // myfile << rpc_eventstotal << "     /     " << rpc_event_inarea << "\n";
+	  // myfile << m_rpc_eventstotal << "     /     " << rpc_event_inarea << "\n";
 	  myfile.close();}  //only if m_rpcfile==true
       
-	RPCLyHitOnTr		      = 0 ;
-	RPCLyTrkPrj		      = 0 ;
-	RPCLyEff 		      = 0 ;
-	RPCLyEff_err		      = 0 ;
-	PanelVal 		      = 0 ; 
-	PanelVal_err		      = 0 ;
-	PanelVal_entries 	      = 0 ; 
-	PanelVal_square  	      = 0 ; 
-	PanelHitOnTrack  	      = 0 ;
-	PanelTrackProj		      = 0 ;
-	PanelHitOnTrack_withCrossStrip = 0 ;
+	float RPCLyHitOnTr	      = 0 ;
+	float RPCLyTrkPrj	      = 0 ;
+	float RPCLyEff 		      = 0 ;
+	float RPCLyEff_err	      = 0 ;
+	float PanelVal 		      = 0 ; 
+	float PanelVal_err	      = 0 ;
+	float PanelVal_entries 	      = 0 ; 
+	float PanelVal_square  	      = 0 ; 
+	float PanelHitOnTrack  	      = 0 ;
+	float PanelTrackProj	      = 0 ;
 	  
 
 	for (int ibin=0; ibin!=24; ibin++) {
-	  RPCLyTrkPrj = LayerTrackProjection ->GetBinContent ( ibin + 1 ) ;
+	  RPCLyTrkPrj = m_LayerTrackProjection ->GetBinContent ( ibin + 1 ) ;
 	  if ( RPCLyTrkPrj>0 ) {
-	    RPCLyHitOnTr = LayerHitOnTrack ->GetBinContent ( ibin + 1 ) ;
+	    RPCLyHitOnTr = m_LayerHitOnTrack ->GetBinContent ( ibin + 1 ) ;
 	    RPCLyEff     = RPCLyHitOnTr / RPCLyTrkPrj ;
 	    RPCLyEff_err = sqrt( fabs( RPCLyHitOnTr-0.5*0) / RPCLyTrkPrj ) *
 	      sqrt( 1. - fabs( RPCLyHitOnTr-0.5*0) / RPCLyTrkPrj ) /
 	      sqrt( RPCLyTrkPrj ) ;
 	  
-	    LayerEff->SetBinContent ( ibin + 1 , RPCLyEff     ) ;
-	    LayerEff->SetBinError   ( ibin + 1 , RPCLyEff_err ) ;
+	    m_LayerEff->SetBinContent ( ibin + 1 , RPCLyEff     ) ;
+	    m_LayerEff->SetBinError   ( ibin + 1 , RPCLyEff_err ) ;
 	  }	
 	  RPCLyTrkPrj = RPCBA_layerTrackProj ->GetBinContent ( ibin + 1 ) ;
 	  if ( RPCLyTrkPrj>0 ) {
@@ -5404,169 +5380,169 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	}
 	
 	//TriggerEfficiency
-	int nb = hMEtracks->GetNbinsX() ;
+	int nb = m_hMEtracks->GetNbinsX() ;
 	for (int ibin=0; ibin!=nb; ibin++) {
-	  int TrkPrj = hMEtracks ->GetBinContent ( ibin + 1 ) ;
+	  int TrkPrj = m_hMEtracks ->GetBinContent ( ibin + 1 ) ;
 	  if ( TrkPrj>0 ) {
 	    //hRPCPhiEtaCoinThr0
-	      int   RPCOnTr    = hRPCPhiEtaCoinThr[0] ->GetBinContent ( ibin + 1 ) ;
+	      int   RPCOnTr    = m_hRPCPhiEtaCoinThr[0] ->GetBinContent ( ibin + 1 ) ;
 	      float RPCEff     = RPCOnTr / TrkPrj ;
 	      float RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPhiEtaCoinThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPhiEtaCoinThr_eff[0]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPhiEtaCoinThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPhiEtaCoinThr_eff[0]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPhiEtaCoinThr1
-	      RPCOnTr      = hRPCPhiEtaCoinThr[1] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPhiEtaCoinThr[1] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPhiEtaCoinThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPhiEtaCoinThr_eff[1]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPhiEtaCoinThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPhiEtaCoinThr_eff[1]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPhiEtaCoinThr2
-	      RPCOnTr      = hRPCPhiEtaCoinThr[2] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPhiEtaCoinThr[2] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPhiEtaCoinThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPhiEtaCoinThr_eff[2]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPhiEtaCoinThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPhiEtaCoinThr_eff[2]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPhiEtaCoinThr3
-	      RPCOnTr      = hRPCPhiEtaCoinThr[3] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPhiEtaCoinThr[3] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPhiEtaCoinThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPhiEtaCoinThr_eff[3]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPhiEtaCoinThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPhiEtaCoinThr_eff[3]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPhiEtaCoinThr4
-	      RPCOnTr      = hRPCPhiEtaCoinThr[4] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPhiEtaCoinThr[4] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPhiEtaCoinThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPhiEtaCoinThr_eff[4]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPhiEtaCoinThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPhiEtaCoinThr_eff[4]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPhiEtaCoinThr5
-	      RPCOnTr      = hRPCPhiEtaCoinThr[5] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPhiEtaCoinThr[5] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPhiEtaCoinThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPhiEtaCoinThr_eff[5]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPhiEtaCoinThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPhiEtaCoinThr_eff[5]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	    //hRPCPadThr0
-	      RPCOnTr	 = hRPCPadThr[0] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr	 = m_hRPCPadThr[0] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff	 = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPadThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPadThr_eff[0]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPadThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPadThr_eff[0]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPadThr1
-	      RPCOnTr      = hRPCPadThr[1] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPadThr[1] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPadThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPadThr_eff[1]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPadThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPadThr_eff[1]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPadThr2
-	      RPCOnTr      = hRPCPadThr[2] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPadThr[2] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPadThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPadThr_eff[2]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPadThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPadThr_eff[2]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPadThr3
-	      RPCOnTr      = hRPCPadThr[3] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPadThr[3] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPadThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPadThr_eff[3]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPadThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPadThr_eff[3]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPadThr4
-	      RPCOnTr      = hRPCPadThr[4] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPadThr[4] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPadThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPadThr_eff[4]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPadThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPadThr_eff[4]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCPadThr5
-	      RPCOnTr      = hRPCPadThr[5] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCPadThr[5] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCPadThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCPadThr_eff[5]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCPadThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCPadThr_eff[5]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	    //hRPCMuctpiThr0
-	      RPCOnTr	 = hRPCMuctpiThr[0] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr	 = m_hRPCMuctpiThr[0] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff	 = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCMuctpiThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCMuctpiThr_eff[0]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCMuctpiThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCMuctpiThr_eff[0]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCMuctpiThr1
-	      RPCOnTr      = hRPCMuctpiThr[1] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCMuctpiThr[1] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCMuctpiThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCMuctpiThr_eff[1]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCMuctpiThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCMuctpiThr_eff[1]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCMuctpiThr2
-	      RPCOnTr      = hRPCMuctpiThr[2] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCMuctpiThr[2] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCMuctpiThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCMuctpiThr_eff[2]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCMuctpiThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCMuctpiThr_eff[2]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCMuctpiThr3
-	      RPCOnTr      = hRPCMuctpiThr[3] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCMuctpiThr[3] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCMuctpiThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCMuctpiThr_eff[3]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCMuctpiThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCMuctpiThr_eff[3]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCMuctpiThr4
-	      RPCOnTr      = hRPCMuctpiThr[4] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCMuctpiThr[4] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCMuctpiThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCMuctpiThr_eff[4]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCMuctpiThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCMuctpiThr_eff[4]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	      
 	    //hRPCMuctpiThr5
-	      RPCOnTr      = hRPCMuctpiThr[5] ->GetBinContent ( ibin + 1 ) ;
+	      RPCOnTr      = m_hRPCMuctpiThr[5] ->GetBinContent ( ibin + 1 ) ;
 	      RPCEff     = RPCOnTr / TrkPrj ;
 	      RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) *
 	      sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) /
 	      sqrt( TrkPrj ) ;	  
-	      hRPCMuctpiThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff     ) ;
-	      hRPCMuctpiThr_eff[5]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
+	      m_hRPCMuctpiThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff     ) ;
+	      m_hRPCMuctpiThr_eff[5]->SetBinError   ( ibin + 1 , RPCEff_err ) ;
 	  }	
 	
 	}
@@ -5575,8 +5551,8 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	//TriggerEfficiency end
 
     
-	std::vector<int>::const_iterator iter_bin=layer_name_bin_list_panel.begin() ;
-	for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++) {
+	std::vector<int>::const_iterator iter_bin=m_layer_name_bin_list_panel.begin() ;
+	for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++) {
 	  int pos = *iter_bin;
 	  iter_bin++ ;
 	  if(pos>1000)continue; //skip fake trigger panels
@@ -5586,18 +5562,21 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	  std::string panel_name = *iter    ;
 	  list_name.insert(7, "/Panels/")	  ; 
 	  panel_name.insert(7, "_")         ;
-	  sector_num  = name.substr(5, 2)   ;
-	  sector_name = "Sector"+sector_num ;
+          std::string sector_num  = name.substr(5, 2)   ;
+          std::string sector_name = "Sector"+sector_num ;
 	  m_SummaryHist_Idx = (atoi(sector_num.c_str())-1)*m_SummaryHist_Size/16;
             
       
 	  //1) Efficiency
+          TH1* SummaryHitOnTrack = nullptr;
+          TH1* SummaryEfficiency = nullptr;
+          TH1* SummaryEffDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryHitOnTrack        ,"SummaryHitOnTrack_"         + sector_name ) ;
 	  sc = rpcprd_expert_sum.getHist ( SummaryEfficiency        ,"SummaryEfficiency_"         + sector_name ) ;
 	  sc = rpcprd_expert_sum.getHist ( SummaryEffDistriPerSector,"SummaryEffDistriPerSector_" + sector_name ) ;
 	        
 	  // fix 23 ott 2008
-	  shift_pos = m_SummaryHist[enumSumTrackProj+m_SummaryHist_Idx]-> GetNbinsX()/2 + 1;
+	  int shift_pos = m_SummaryHist[enumSumTrackProj+m_SummaryHist_Idx]-> GetNbinsX()/2 + 1;
 	
 	  PanelHitOnTrack = float ( SummaryHitOnTrack -> GetBinContent( pos + shift_pos ) ) ;
 	  PanelTrackProj  = float ( m_SummaryHist[enumSumTrackProj+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ;
@@ -5609,18 +5588,18 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	      sqrt( PanelTrackProj ) ;
 	    SummaryEfficiency 	   -> SetBinContent ( pos + shift_pos , PanelVal     ) ;
 	    SummaryEfficiency 	   -> SetBinError   ( pos + shift_pos , PanelVal_err ) ;
-	    if ( pos>0 ) { rpcAverageSide_A[enumAvEff] -> Fill(PanelVal) ;  } 
-	    else         { rpcAverageSide_C[enumAvEff] -> Fill(PanelVal) ;  }
+	    if ( pos>0 ) { m_rpcAverageSide_A[enumAvEff] -> Fill(PanelVal) ;  } 
+	    else         { m_rpcAverageSide_C[enumAvEff] -> Fill(PanelVal) ;  }
 	    SummaryEffDistriPerSector-> Fill(PanelVal) ; 
 	  }
              
       
 	  //2) GapEfficiency
+          TH1* SummaryGapEffDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryGapEffDistriPerSector    ,"SummaryGapEffDistriPerSector_"     + sector_name ) ;
 	
 	  PanelHitOnTrack                = float ( SummaryHitOnTrack -> GetBinContent( pos + shift_pos ) ) ;
 	  PanelTrackProj                 = float ( m_SummaryHist[enumSumTrackProj+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ;
-	  PanelHitOnTrack_withCrossStrip = float ( m_SummaryHist[enumSumHitOnTrack_withCrossStrip+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ;
 	  PanelVal = 0 ;
 	  if ( PanelTrackProj != 0 )  {
 	    PanelVal     = PanelHitOnTrack/PanelTrackProj ;
@@ -5629,48 +5608,51 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	      sqrt( PanelTrackProj ) ;
 	    m_SummaryHist[enumSumGapEfficiency+m_SummaryHist_Idx]-> SetBinContent ( pos + shift_pos , PanelVal	 ) ;
 	    m_SummaryHist[enumSumGapEfficiency+m_SummaryHist_Idx]-> SetBinError	( pos + shift_pos , PanelVal_err ) ;	      
-	    if ( pos>0 ) { rpcAverageSide_A[enumAvGapEff] -> Fill(PanelVal) ;  } 
-	    else         { rpcAverageSide_C[enumAvGapEff] -> Fill(PanelVal) ;  }
+	    if ( pos>0 ) { m_rpcAverageSide_A[enumAvGapEff] -> Fill(PanelVal) ;  } 
+	    else         { m_rpcAverageSide_C[enumAvGapEff] -> Fill(PanelVal) ;  }
 	    SummaryGapEffDistriPerSector-> Fill(PanelVal) ; 
 	  }
 
 
     
 	  //3) NoiseCorr
+          TH1* SummaryNoiseCorrDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryNoiseCorrDistriPerSector,"SummaryNoiseCorrDistriPerSector_" + sector_name ) ;
 	
 	  PanelVal = float ( m_SummaryHist[enumSumNoiseCorr_NotNorm+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ;
 	  PanelVal_err = sqrt( PanelVal );
-	  if( m_rpc_readout_window * rpc_eventstotal !=0 ) { 
+	  if( m_rpc_readout_window * m_rpc_eventstotal !=0 ) { 
 	    PanelVal     = PanelVal     / m_rpc_readout_window  ;
 	    PanelVal_err = PanelVal_err / m_rpc_readout_window  ; 
 	
 	    m_SummaryHist[enumSumNoiseCorr_NotNorm+m_SummaryHist_Idx]-> SetBinContent ( pos + shift_pos , PanelVal     ) ;
 	    m_SummaryHist[enumSumNoiseCorr_NotNorm+m_SummaryHist_Idx]-> SetBinError   ( pos + shift_pos , PanelVal_err ) ;	  
-	    if ( pos>0 ) { rpcAverageSide_A[enumAvNoiseCorr] -> Fill(PanelVal/rpc_eventstotal) ;  } 
-	    else         { rpcAverageSide_C[enumAvNoiseCorr] -> Fill(PanelVal/rpc_eventstotal) ;  } 
-	    SummaryNoiseCorrDistriPerSector-> Fill(PanelVal/ rpc_eventstotal) ; 
+	    if ( pos>0 ) { m_rpcAverageSide_A[enumAvNoiseCorr] -> Fill(PanelVal/m_rpc_eventstotal) ;  } 
+	    else         { m_rpcAverageSide_C[enumAvNoiseCorr] -> Fill(PanelVal/m_rpc_eventstotal) ;  } 
+	    SummaryNoiseCorrDistriPerSector-> Fill(PanelVal/ m_rpc_eventstotal) ; 
 	  }
 	
 	  //4) NoiseTot
+          TH1* SummaryNoiseTotDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryNoiseTotDistriPerSector,"SummaryNoiseTotDistriPerSector_" + sector_name ) ;
 
 	  PanelVal = float ( m_SummaryHist[enumSumNoiseTot_NotNorm+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ;
 	  PanelVal_err = sqrt( PanelVal );	
 
-	  if( m_rpc_readout_window * rpc_eventstotal !=0 ) { 
+	  if( m_rpc_readout_window * m_rpc_eventstotal !=0 ) { 
 	    PanelVal     = PanelVal     / m_rpc_readout_window ;
 	    PanelVal_err = PanelVal_err / m_rpc_readout_window ;
 	  
 	    m_SummaryHist[enumSumNoiseTot_NotNorm+m_SummaryHist_Idx]-> SetBinContent ( pos + shift_pos , PanelVal     ) ;
 	    m_SummaryHist[enumSumNoiseTot_NotNorm+m_SummaryHist_Idx]-> SetBinError   ( pos + shift_pos , PanelVal_err ) ;
-	    if ( pos>0 ) { rpcAverageSide_A[enumAvNoiseTot] -> Fill(PanelVal/ rpc_eventstotal) ; } 
-	    else         { rpcAverageSide_C[enumAvNoiseTot] -> Fill(PanelVal/ rpc_eventstotal) ; }
-	    SummaryNoiseTotDistriPerSector-> Fill(PanelVal/ rpc_eventstotal) ; 
+	    if ( pos>0 ) { m_rpcAverageSide_A[enumAvNoiseTot] -> Fill(PanelVal/ m_rpc_eventstotal) ; } 
+	    else         { m_rpcAverageSide_C[enumAvNoiseTot] -> Fill(PanelVal/ m_rpc_eventstotal) ; }
+	    SummaryNoiseTotDistriPerSector-> Fill(PanelVal/ m_rpc_eventstotal) ; 
 	  }
              
       
 	  //5) AverageCS
+          TH1* SummaryCSDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryCSDistriPerSector ,"SummaryCSDistriPerSector_" + sector_name  );
 	
 	  PanelVal_entries = float ( m_SummaryHist[enumSumCS_entries+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ;	
@@ -5682,12 +5664,14 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	  }
 	  PanelVal_err     = sqrt  ( fabs(PanelVal_square - PanelVal*PanelVal) ) ;
 	  // rpcAverageCS	 -> Fill(PanelVal) ; 
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvCS] -> Fill(PanelVal) ; } 
-	  else         { rpcAverageSide_C[enumAvCS] -> Fill(PanelVal) ; }
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvCS] -> Fill(PanelVal) ; } 
+	  else         { m_rpcAverageSide_C[enumAvCS] -> Fill(PanelVal) ; }
 	  SummaryCSDistriPerSector-> Fill(PanelVal) ; 
 	
 	
 	  //6) Res_CS1
+          TH1* SummaryRes_CS1DistriPerSector = nullptr;
+          TH1* SummaryRes_CS1rmsDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryRes_CS1DistriPerSector    ,"SummaryRes_CS1DistriPerSector_"    + sector_name ) ;
 	  sc = rpcprd_expert_sum.getHist ( SummaryRes_CS1rmsDistriPerSector ,"SummaryRes_CS1rmsDistriPerSector_" + sector_name		  ) ;
      
@@ -5699,14 +5683,16 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	    PanelVal_square=PanelVal_square/PanelVal_entries;	
 	  }
 	  PanelVal_err     = sqrt  ( fabs(PanelVal_square - PanelVal*PanelVal) ) ;
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvRes_CS1] -> Fill(PanelVal) ;  } 
-	  else         { rpcAverageSide_C[enumAvRes_CS1] -> Fill(PanelVal) ;  } 
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvRes_CS1] -> Fill(PanelVal) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvRes_CS1] -> Fill(PanelVal) ;  } 
 	  SummaryRes_CS1DistriPerSector    -> Fill(PanelVal) ;
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvRes_CS1rms] -> Fill(PanelVal_err) ;  } 
-	  else         { rpcAverageSide_C[enumAvRes_CS1rms] -> Fill(PanelVal_err) ;  }  
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvRes_CS1rms] -> Fill(PanelVal_err) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvRes_CS1rms] -> Fill(PanelVal_err) ;  }  
 	  SummaryRes_CS1rmsDistriPerSector -> Fill(PanelVal_err) ;
 	
 	  //7) Res_CS2
+          TH1* SummaryRes_CS2DistriPerSector = nullptr;
+          TH1* SummaryRes_CS2rmsDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryRes_CS2DistriPerSector    ,"SummaryRes_CS2DistriPerSector_"    + sector_name ) ;
 	  sc = rpcprd_expert_sum.getHist ( SummaryRes_CS2rmsDistriPerSector ,"SummaryRes_CS2rmsDistriPerSector_" + sector_name ) ;
 	
@@ -5718,15 +5704,17 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	    PanelVal_square=PanelVal_square/PanelVal_entries;	
 	  }
 	  PanelVal_err     = sqrt  ( fabs(PanelVal_square - PanelVal*PanelVal) ) ;
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvRes_CS2] -> Fill(PanelVal) ;  } 
-	  else         { rpcAverageSide_C[enumAvRes_CS2] -> Fill(PanelVal) ;  }  
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvRes_CS2] -> Fill(PanelVal) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvRes_CS2] -> Fill(PanelVal) ;  }  
 	  SummaryRes_CS2DistriPerSector   -> Fill(PanelVal) ;
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvRes_CS2rms] -> Fill(PanelVal_err) ;  } 
-	  else         { rpcAverageSide_C[enumAvRes_CS2rms] -> Fill(PanelVal_err) ;  } 
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvRes_CS2rms] -> Fill(PanelVal_err) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvRes_CS2rms] -> Fill(PanelVal_err) ;  } 
 	  SummaryRes_CS2rmsDistriPerSector-> Fill(PanelVal_err) ;
      
     
 	  //8) Res_CSmore2
+          TH1* SummaryRes_CSmore2DistriPerSector = nullptr;
+          TH1* SummaryRes_CSmore2rmsDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryRes_CSmore2DistriPerSector    ,"SummaryRes_CSmore2DistriPerSector_"    + sector_name ) ;
 	  sc = rpcprd_expert_sum.getHist ( SummaryRes_CSmore2rmsDistriPerSector ,"SummaryRes_CSmore2rmsDistriPerSector_" + sector_name ) ;
 	
@@ -5738,15 +5726,16 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	    PanelVal_square=PanelVal_square/PanelVal_entries;	
 	  }
 	  PanelVal_err     = sqrt  ( fabs(PanelVal_square - PanelVal*PanelVal) ) ;
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvRes_CSmore2] -> Fill(PanelVal) ;  } 
-	  else         { rpcAverageSide_C[enumAvRes_CSmore2] -> Fill(PanelVal) ;  }  
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvRes_CSmore2] -> Fill(PanelVal) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvRes_CSmore2] -> Fill(PanelVal) ;  }  
 	  SummaryRes_CSmore2DistriPerSector   -> Fill(PanelVal) ;
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvRes_CSmore2rms] -> Fill(PanelVal_err) ;  } 
-	  else         { rpcAverageSide_C[enumAvRes_CSmore2rms] -> Fill(PanelVal_err) ;  }  
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvRes_CSmore2rms] -> Fill(PanelVal_err) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvRes_CSmore2rms] -> Fill(PanelVal_err) ;  }  
 	  SummaryRes_CSmore2rmsDistriPerSector-> Fill(PanelVal_err) ;
 	    
 	        
 	  //9) Occupancy
+          TH1* SummaryOccupancyDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryOccupancyDistriPerSector ,"SummaryOccupancyDistriPerSector_" + sector_name	   );
 	
 	  PanelVal         = float ( m_SummaryHist[enumSumOccupancy_NotNorm+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ; 
@@ -5755,8 +5744,8 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	  m_SummaryHist[enumSumOccupancy_NotNorm+m_SummaryHist_Idx]-> SetBinContent ( pos + shift_pos , PanelVal    ) ;
 	  m_SummaryHist[enumSumOccupancy_NotNorm+m_SummaryHist_Idx]-> SetBinError   ( pos + shift_pos , PanelVal    ) ;
 	
-	  if(rpc_eventstotal>0) {
-	    PanelVal = PanelVal / rpc_eventstotal ;
+	  if(m_rpc_eventstotal>0) {
+	    PanelVal = PanelVal / m_rpc_eventstotal ;
 	    if(PanelVal>0) {
 	      PanelVal     = log10(PanelVal     ) ;
 	      PanelVal_err = log10(PanelVal_err ) ;
@@ -5772,11 +5761,12 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	    PanelVal_err = 0 ;
 	  }
 
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvOccupancy] -> Fill(PanelVal) ;  } 
-	  else         { rpcAverageSide_C[enumAvOccupancy] -> Fill(PanelVal) ;  }  
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvOccupancy] -> Fill(PanelVal) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvOccupancy] -> Fill(PanelVal) ;  }  
 	  SummaryOccupancyDistriPerSector-> Fill(PanelVal) ;	    
 	        
 	  //10) Time
+          TH1* SummaryTimeDistriPerSector = nullptr;
 	  sc = rpcprd_expert_sum.getHist ( SummaryTimeDistriPerSector ,"SummaryTimeDistriPerSector_" + sector_name );
 	
 	  PanelVal_entries = float ( m_SummaryHist[enumSumCS_entries+m_SummaryHist_Idx]-> GetBinContent( pos + shift_pos ) ) ;	
@@ -5787,8 +5777,8 @@ StatusCode RPCStandaloneTracksMon::procHistograms( )
 	    PanelVal_square=PanelVal_square/PanelVal_entries;	
 	  }
 	  PanelVal_err     = sqrt  ( fabs(PanelVal_square - PanelVal*PanelVal) ) ;
-	  if ( pos>0 ) { rpcAverageSide_A[enumAvTime] -> Fill(PanelVal) ;  } 
-	  else         { rpcAverageSide_C[enumAvTime] -> Fill(PanelVal) ;  }  
+	  if ( pos>0 ) { m_rpcAverageSide_A[enumAvTime] -> Fill(PanelVal) ;  } 
+	  else         { m_rpcAverageSide_C[enumAvTime] -> Fill(PanelVal) ;  }  
 	  SummaryTimeDistriPerSector    -> Fill(PanelVal) ;	
              
       
@@ -5822,8 +5812,8 @@ StatusCode RPCStandaloneTracksMon:: finalize()
   m_SummaryHistRPCBA.clear();
   m_SummaryHistRPCBC.clear();
   m_sumTmpHist.clear();
-  rpcAverageSide_A.clear(); 
-  rpcAverageSide_C.clear(); 
+  m_rpcAverageSide_A.clear(); 
+  m_rpcAverageSide_C.clear(); 
   
   return sc;
 }
@@ -5836,2054 +5826,2054 @@ StatusCode RPCStandaloneTracksMon:: RPC_ROI_Mapping()
  
   StatusCode sc = StatusCode::SUCCESS; 
   ATH_MSG_DEBUG ( "RPCStandaloneTracksMon::RPC_ROI_Mapping()" );
-     EtaROImin[0][ 0][ 0]=  -0.238757;EtaROImax[0][ 0][ 0]=   -0.13107;PhiROImin[0][ 0][ 0]= 0.00296767;PhiROImax[0][ 0][ 0]=	0.113212;
-     EtaROImin[0][ 0][ 1]=	    0;EtaROImax[0][ 0][ 1]=	     0;PhiROImin[0][ 0][ 1]=	      0;PhiROImax[0][ 0][ 1]=	       0;
-     EtaROImin[0][ 0][ 2]=  -0.238757;EtaROImax[0][ 0][ 2]=   -0.13107;PhiROImin[0][ 0][ 2]=   0.116737;PhiROImax[0][ 0][ 2]=	0.224169;
-     EtaROImin[0][ 0][ 3]=	    0;EtaROImax[0][ 0][ 3]=	     0;PhiROImin[0][ 0][ 3]=	      0;PhiROImax[0][ 0][ 3]=	       0;
-     EtaROImin[0][ 0][ 4]=   -0.35049;EtaROImax[0][ 0][ 4]=  -0.246207;PhiROImin[0][ 0][ 4]= 0.00295181;PhiROImax[0][ 0][ 4]=	0.112612;
-     EtaROImin[0][ 0][ 5]=  -0.452099;EtaROImax[0][ 0][ 5]=  -0.350831;PhiROImin[0][ 0][ 5]= 0.00295181;PhiROImax[0][ 0][ 5]=	0.112612;
-     EtaROImin[0][ 0][ 6]=   -0.35049;EtaROImax[0][ 0][ 6]=  -0.246207;PhiROImin[0][ 0][ 6]=   0.116119;PhiROImax[0][ 0][ 6]=	0.223011;
-     EtaROImin[0][ 0][ 7]=  -0.452099;EtaROImax[0][ 0][ 7]=  -0.350831;PhiROImin[0][ 0][ 7]=   0.116119;PhiROImax[0][ 0][ 7]=	0.223011;
-     EtaROImin[0][ 0][ 8]=  -0.554444;EtaROImax[0][ 0][ 8]=  -0.458091;PhiROImin[0][ 0][ 8]= 0.00295181;PhiROImax[0][ 0][ 8]=	0.112612;
-     EtaROImin[0][ 0][ 9]=  -0.648101;EtaROImax[0][ 0][ 9]=  -0.555789;PhiROImin[0][ 0][ 9]= 0.00295181;PhiROImax[0][ 0][ 9]=	0.112612;
-     EtaROImin[0][ 0][10]=  -0.554444;EtaROImax[0][ 0][10]=  -0.458091;PhiROImin[0][ 0][10]=   0.116119;PhiROImax[0][ 0][10]=	0.223011;
-     EtaROImin[0][ 0][11]=  -0.648101;EtaROImax[0][ 0][11]=  -0.555789;PhiROImin[0][ 0][11]=   0.116119;PhiROImax[0][ 0][11]=	0.223011;
-     EtaROImin[0][ 0][12]=  -0.703298;EtaROImax[0][ 0][12]=  -0.655857;PhiROImin[0][ 0][12]= 0.00296767;PhiROImax[0][ 0][12]=	0.113212;
-     EtaROImin[0][ 0][13]=  -0.776449;EtaROImax[0][ 0][13]=  -0.706413;PhiROImin[0][ 0][13]= 0.00296767;PhiROImax[0][ 0][13]=	0.113212;
-     EtaROImin[0][ 0][14]=  -0.703298;EtaROImax[0][ 0][14]=  -0.655857;PhiROImin[0][ 0][14]=   0.116737;PhiROImax[0][ 0][14]=	0.224169;
-     EtaROImin[0][ 0][15]=  -0.776449;EtaROImax[0][ 0][15]=  -0.706413;PhiROImin[0][ 0][15]=   0.116737;PhiROImax[0][ 0][15]=	0.224169;
-     EtaROImin[0][ 0][16]=   -0.82768;EtaROImax[0][ 0][16]=  -0.783867;PhiROImin[0][ 0][16]= 0.00296767;PhiROImax[0][ 0][16]=	0.113212;
-     EtaROImin[0][ 0][17]=  -0.895163;EtaROImax[0][ 0][17]=  -0.830556;PhiROImin[0][ 0][17]= 0.00296767;PhiROImax[0][ 0][17]=	0.113212;
-     EtaROImin[0][ 0][18]=   -0.82768;EtaROImax[0][ 0][18]=  -0.783867;PhiROImin[0][ 0][18]=   0.116737;PhiROImax[0][ 0][18]=	0.224169;
-     EtaROImin[0][ 0][19]=  -0.895163;EtaROImax[0][ 0][19]=  -0.830556;PhiROImin[0][ 0][19]=   0.116737;PhiROImax[0][ 0][19]=	0.224169;
-     EtaROImin[0][ 0][20]=  -0.961344;EtaROImax[0][ 0][20]=  -0.898201;PhiROImin[0][ 0][20]= 0.00295181;PhiROImax[0][ 0][20]=	0.112612;
-     EtaROImin[0][ 0][21]=   -1.02514;EtaROImax[0][ 0][21]=  -0.964674;PhiROImin[0][ 0][21]= 0.00295181;PhiROImax[0][ 0][21]=	0.112612;
-     EtaROImin[0][ 0][22]=  -0.961344;EtaROImax[0][ 0][22]=  -0.898201;PhiROImin[0][ 0][22]=   0.116119;PhiROImax[0][ 0][22]=	0.223011;
-     EtaROImin[0][ 0][23]=   -1.02514;EtaROImax[0][ 0][23]=  -0.964674;PhiROImin[0][ 0][23]=   0.116119;PhiROImax[0][ 0][23]=	0.223011;
-     EtaROImin[0][ 0][24]=   -1.06547;EtaROImax[0][ 0][24]=   -1.03003;PhiROImin[0][ 0][24]= 0.00306876;PhiROImax[0][ 0][24]=	0.113429;
-     EtaROImin[0][ 0][25]=	    0;EtaROImax[0][ 0][25]=	     0;PhiROImin[0][ 0][25]=	      0;PhiROImax[0][ 0][25]=	       0;
-     EtaROImin[0][ 0][26]=   -1.06547;EtaROImax[0][ 0][26]=   -1.03003;PhiROImin[0][ 0][26]=   0.116958;PhiROImax[0][ 0][26]=	0.197143;
-     EtaROImin[0][ 0][27]=	    0;EtaROImax[0][ 0][27]=	     0;PhiROImin[0][ 0][27]=	      0;PhiROImax[0][ 0][27]=	       0;
-     EtaROImin[0][ 0][28]=	    0;EtaROImax[0][ 0][28]=	     0;PhiROImin[0][ 0][28]=	      0;PhiROImax[0][ 0][28]=	       0;
-     EtaROImin[0][ 0][29]=	    0;EtaROImax[0][ 0][29]=	     0;PhiROImin[0][ 0][29]=	      0;PhiROImax[0][ 0][29]=	       0;
-     EtaROImin[0][ 0][30]=	    0;EtaROImax[0][ 0][30]=	     0;PhiROImin[0][ 0][30]=	      0;PhiROImax[0][ 0][30]=	       0;
-     EtaROImin[0][ 0][31]=	    0;EtaROImax[0][ 0][31]=	     0;PhiROImin[0][ 0][31]=	      0;PhiROImax[0][ 0][31]=	       0;
-     EtaROImin[0][ 1][ 0]=  -0.213185;EtaROImax[0][ 1][ 0]=  -0.116816;PhiROImin[0][ 1][ 0]=   0.305953;PhiROImax[0][ 1][ 0]=	0.389909;
-     EtaROImin[0][ 1][ 1]=  -0.118734;EtaROImax[0][ 1][ 1]= -0.0208251;PhiROImin[0][ 1][ 1]=   0.305953;PhiROImax[0][ 1][ 1]=	0.389909;
-     EtaROImin[0][ 1][ 2]=  -0.213185;EtaROImax[0][ 1][ 2]=  -0.116816;PhiROImin[0][ 1][ 2]=   0.219649;PhiROImax[0][ 1][ 2]=	0.302322;
-     EtaROImin[0][ 1][ 3]=  -0.118734;EtaROImax[0][ 1][ 3]= -0.0208251;PhiROImin[0][ 1][ 3]=   0.219649;PhiROImax[0][ 1][ 3]=	0.302322;
-     EtaROImin[0][ 1][ 4]=  -0.416721;EtaROImax[0][ 1][ 4]=   -0.30075;PhiROImin[0][ 1][ 4]=   0.305953;PhiROImax[0][ 1][ 4]=	0.389909;
-     EtaROImin[0][ 1][ 5]=  -0.302928;EtaROImax[0][ 1][ 5]=  -0.222449;PhiROImin[0][ 1][ 5]=   0.305953;PhiROImax[0][ 1][ 5]=	0.389909;
-     EtaROImin[0][ 1][ 6]=  -0.416721;EtaROImax[0][ 1][ 6]=   -0.30075;PhiROImin[0][ 1][ 6]=   0.219649;PhiROImax[0][ 1][ 6]=	0.302322;
-     EtaROImin[0][ 1][ 7]=  -0.302928;EtaROImax[0][ 1][ 7]=  -0.222449;PhiROImin[0][ 1][ 7]=   0.219649;PhiROImax[0][ 1][ 7]=	0.302322;
-     EtaROImin[0][ 1][ 8]=  -0.573871;EtaROImax[0][ 1][ 8]=  -0.501681;PhiROImin[0][ 1][ 8]=   0.305953;PhiROImax[0][ 1][ 8]=	0.389909;
-     EtaROImin[0][ 1][ 9]=  -0.504617;EtaROImax[0][ 1][ 9]=   -0.42967;PhiROImin[0][ 1][ 9]=   0.305953;PhiROImax[0][ 1][ 9]=	0.389909;
-     EtaROImin[0][ 1][10]=  -0.573871;EtaROImax[0][ 1][10]=  -0.501681;PhiROImin[0][ 1][10]=   0.219649;PhiROImax[0][ 1][10]=	0.302322;
-     EtaROImin[0][ 1][11]=  -0.504617;EtaROImax[0][ 1][11]=   -0.42967;PhiROImin[0][ 1][11]=   0.219649;PhiROImax[0][ 1][11]=	0.302322;
-     EtaROImin[0][ 1][12]=  -0.741516;EtaROImax[0][ 1][12]=  -0.649933;PhiROImin[0][ 1][12]=   0.305953;PhiROImax[0][ 1][12]=	0.389909;
-     EtaROImin[0][ 1][13]=  -0.653329;EtaROImax[0][ 1][13]=  -0.583785;PhiROImin[0][ 1][13]=   0.305953;PhiROImax[0][ 1][13]=	0.389909;
-     EtaROImin[0][ 1][14]=  -0.741516;EtaROImax[0][ 1][14]=  -0.649933;PhiROImin[0][ 1][14]=   0.219649;PhiROImax[0][ 1][14]=	0.302322;
-     EtaROImin[0][ 1][15]=  -0.653329;EtaROImax[0][ 1][15]=  -0.583785;PhiROImin[0][ 1][15]=   0.219649;PhiROImax[0][ 1][15]=	0.302322;
-     EtaROImin[0][ 1][16]=	    0;EtaROImax[0][ 1][16]=	     0;PhiROImin[0][ 1][16]=	      0;PhiROImax[0][ 1][16]=	       0;
-     EtaROImin[0][ 1][17]=  -0.837822;EtaROImax[0][ 1][17]=  -0.756521;PhiROImin[0][ 1][17]=   0.305953;PhiROImax[0][ 1][17]=	0.389909;
-     EtaROImin[0][ 1][18]=	    0;EtaROImax[0][ 1][18]=	     0;PhiROImin[0][ 1][18]=	      0;PhiROImax[0][ 1][18]=	       0;
-     EtaROImin[0][ 1][19]=  -0.837822;EtaROImax[0][ 1][19]=  -0.756521;PhiROImin[0][ 1][19]=   0.219649;PhiROImax[0][ 1][19]=	0.302322;
-     EtaROImin[0][ 1][20]=  -0.956037;EtaROImax[0][ 1][20]=  -0.899344;PhiROImin[0][ 1][20]=   0.305953;PhiROImax[0][ 1][20]=	0.389909;
-     EtaROImin[0][ 1][21]=  -0.903324;EtaROImax[0][ 1][21]=  -0.844116;PhiROImin[0][ 1][21]=   0.305953;PhiROImax[0][ 1][21]=	0.389909;
-     EtaROImin[0][ 1][22]=  -0.956037;EtaROImax[0][ 1][22]=  -0.899344;PhiROImin[0][ 1][22]=   0.219649;PhiROImax[0][ 1][22]=	0.302322;
-     EtaROImin[0][ 1][23]=  -0.903324;EtaROImax[0][ 1][23]=  -0.844116;PhiROImin[0][ 1][23]=   0.219649;PhiROImax[0][ 1][23]=	0.302322;
-     EtaROImin[0][ 1][24]=	    0;EtaROImax[0][ 1][24]=	     0;PhiROImin[0][ 1][24]=	      0;PhiROImax[0][ 1][24]=	       0;
-     EtaROImin[0][ 1][25]=	    0;EtaROImax[0][ 1][25]=	     0;PhiROImin[0][ 1][25]=	      0;PhiROImax[0][ 1][25]=	       0;
-     EtaROImin[0][ 1][26]=	    0;EtaROImax[0][ 1][26]=	     0;PhiROImin[0][ 1][26]=	      0;PhiROImax[0][ 1][26]=	       0;
-     EtaROImin[0][ 1][27]=	    0;EtaROImax[0][ 1][27]=	     0;PhiROImin[0][ 1][27]=	      0;PhiROImax[0][ 1][27]=	       0;
-     EtaROImin[0][ 1][28]=	    0;EtaROImax[0][ 1][28]=	     0;PhiROImin[0][ 1][28]=	      0;PhiROImax[0][ 1][28]=	       0;
-     EtaROImin[0][ 1][29]=	    0;EtaROImax[0][ 1][29]=	     0;PhiROImin[0][ 1][29]=	      0;PhiROImax[0][ 1][29]=	       0;
-     EtaROImin[0][ 1][30]=	    0;EtaROImax[0][ 1][30]=	     0;PhiROImin[0][ 1][30]=	      0;PhiROImax[0][ 1][30]=	       0;
-     EtaROImin[0][ 1][31]=	    0;EtaROImax[0][ 1][31]=	     0;PhiROImin[0][ 1][31]=	      0;PhiROImax[0][ 1][31]=	       0;
-     EtaROImin[0][ 2][ 0]=  -0.118734;EtaROImax[0][ 2][ 0]= -0.0208251;PhiROImin[0][ 2][ 0]=   0.395489;PhiROImax[0][ 2][ 0]=	0.479445;
-     EtaROImin[0][ 2][ 1]=  -0.213185;EtaROImax[0][ 2][ 1]=  -0.116816;PhiROImin[0][ 2][ 1]=   0.395489;PhiROImax[0][ 2][ 1]=	0.479445;
-     EtaROImin[0][ 2][ 2]=  -0.118734;EtaROImax[0][ 2][ 2]= -0.0208251;PhiROImin[0][ 2][ 2]=   0.483076;PhiROImax[0][ 2][ 2]=	0.565749;
-     EtaROImin[0][ 2][ 3]=  -0.213185;EtaROImax[0][ 2][ 3]=  -0.116816;PhiROImin[0][ 2][ 3]=   0.483076;PhiROImax[0][ 2][ 3]=	0.565749;
-     EtaROImin[0][ 2][ 4]=  -0.302928;EtaROImax[0][ 2][ 4]=  -0.222449;PhiROImin[0][ 2][ 4]=   0.395489;PhiROImax[0][ 2][ 4]=	0.479445;
-     EtaROImin[0][ 2][ 5]=  -0.416721;EtaROImax[0][ 2][ 5]=   -0.30075;PhiROImin[0][ 2][ 5]=   0.395489;PhiROImax[0][ 2][ 5]=	0.479445;
-     EtaROImin[0][ 2][ 6]=  -0.302928;EtaROImax[0][ 2][ 6]=  -0.222449;PhiROImin[0][ 2][ 6]=   0.483076;PhiROImax[0][ 2][ 6]=	0.565749;
-     EtaROImin[0][ 2][ 7]=  -0.416721;EtaROImax[0][ 2][ 7]=   -0.30075;PhiROImin[0][ 2][ 7]=   0.483076;PhiROImax[0][ 2][ 7]=	0.565749;
-     EtaROImin[0][ 2][ 8]=  -0.504617;EtaROImax[0][ 2][ 8]=   -0.42967;PhiROImin[0][ 2][ 8]=   0.395489;PhiROImax[0][ 2][ 8]=	0.479445;
-     EtaROImin[0][ 2][ 9]=  -0.573871;EtaROImax[0][ 2][ 9]=  -0.501681;PhiROImin[0][ 2][ 9]=   0.395489;PhiROImax[0][ 2][ 9]=	0.479445;
-     EtaROImin[0][ 2][10]=  -0.504617;EtaROImax[0][ 2][10]=   -0.42967;PhiROImin[0][ 2][10]=   0.483076;PhiROImax[0][ 2][10]=	0.565749;
-     EtaROImin[0][ 2][11]=  -0.573871;EtaROImax[0][ 2][11]=  -0.501681;PhiROImin[0][ 2][11]=   0.483076;PhiROImax[0][ 2][11]=	0.565749;
-     EtaROImin[0][ 2][12]=  -0.653329;EtaROImax[0][ 2][12]=  -0.583785;PhiROImin[0][ 2][12]=   0.395489;PhiROImax[0][ 2][12]=	0.479445;
-     EtaROImin[0][ 2][13]=  -0.741516;EtaROImax[0][ 2][13]=  -0.649933;PhiROImin[0][ 2][13]=   0.395489;PhiROImax[0][ 2][13]=	0.479445;
-     EtaROImin[0][ 2][14]=  -0.653329;EtaROImax[0][ 2][14]=  -0.583785;PhiROImin[0][ 2][14]=   0.483076;PhiROImax[0][ 2][14]=	0.565749;
-     EtaROImin[0][ 2][15]=  -0.741516;EtaROImax[0][ 2][15]=  -0.649933;PhiROImin[0][ 2][15]=   0.483076;PhiROImax[0][ 2][15]=	0.565749;
-     EtaROImin[0][ 2][16]=  -0.837822;EtaROImax[0][ 2][16]=  -0.756521;PhiROImin[0][ 2][16]=   0.395489;PhiROImax[0][ 2][16]=	0.479445;
-     EtaROImin[0][ 2][17]=	    0;EtaROImax[0][ 2][17]=	     0;PhiROImin[0][ 2][17]=	      0;PhiROImax[0][ 2][17]=	       0;
-     EtaROImin[0][ 2][18]=  -0.837822;EtaROImax[0][ 2][18]=  -0.756521;PhiROImin[0][ 2][18]=   0.483076;PhiROImax[0][ 2][18]=	0.565749;
-     EtaROImin[0][ 2][19]=	    0;EtaROImax[0][ 2][19]=	     0;PhiROImin[0][ 2][19]=	      0;PhiROImax[0][ 2][19]=	       0;
-     EtaROImin[0][ 2][20]=  -0.903324;EtaROImax[0][ 2][20]=  -0.844116;PhiROImin[0][ 2][20]=   0.395489;PhiROImax[0][ 2][20]=	0.479445;
-     EtaROImin[0][ 2][21]=  -0.956037;EtaROImax[0][ 2][21]=  -0.899344;PhiROImin[0][ 2][21]=   0.395489;PhiROImax[0][ 2][21]=	0.479445;
-     EtaROImin[0][ 2][22]=  -0.903324;EtaROImax[0][ 2][22]=  -0.844116;PhiROImin[0][ 2][22]=   0.483076;PhiROImax[0][ 2][22]=	0.565749;
-     EtaROImin[0][ 2][23]=  -0.956037;EtaROImax[0][ 2][23]=  -0.899344;PhiROImin[0][ 2][23]=   0.483076;PhiROImax[0][ 2][23]=	0.565749;
-     EtaROImin[0][ 2][24]=	    0;EtaROImax[0][ 2][24]=	     0;PhiROImin[0][ 2][24]=	      0;PhiROImax[0][ 2][24]=	       0;
-     EtaROImin[0][ 2][25]=	    0;EtaROImax[0][ 2][25]=	     0;PhiROImin[0][ 2][25]=	      0;PhiROImax[0][ 2][25]=	       0;
-     EtaROImin[0][ 2][26]=	    0;EtaROImax[0][ 2][26]=	     0;PhiROImin[0][ 2][26]=	      0;PhiROImax[0][ 2][26]=	       0;
-     EtaROImin[0][ 2][27]=	    0;EtaROImax[0][ 2][27]=	     0;PhiROImin[0][ 2][27]=	      0;PhiROImax[0][ 2][27]=	       0;
-     EtaROImin[0][ 2][28]=	    0;EtaROImax[0][ 2][28]=	     0;PhiROImin[0][ 2][28]=	      0;PhiROImax[0][ 2][28]=	       0;
-     EtaROImin[0][ 2][29]=	    0;EtaROImax[0][ 2][29]=	     0;PhiROImin[0][ 2][29]=	      0;PhiROImax[0][ 2][29]=	       0;
-     EtaROImin[0][ 2][30]=	    0;EtaROImax[0][ 2][30]=	     0;PhiROImin[0][ 2][30]=	      0;PhiROImax[0][ 2][30]=	       0;
-     EtaROImin[0][ 2][31]=	    0;EtaROImax[0][ 2][31]=	     0;PhiROImin[0][ 2][31]=	      0;PhiROImax[0][ 2][31]=	       0;
-     EtaROImin[0][ 3][ 0]=  -0.238532;EtaROImax[0][ 3][ 0]=  -0.147302;PhiROImin[0][ 3][ 0]=   0.672786;PhiROImax[0][ 3][ 0]=	0.782446;
-     EtaROImin[0][ 3][ 1]=  -0.147437;EtaROImax[0][ 3][ 1]= -0.0554683;PhiROImin[0][ 3][ 1]=   0.672786;PhiROImax[0][ 3][ 1]=	0.782446;
-     EtaROImin[0][ 3][ 2]=  -0.238532;EtaROImax[0][ 3][ 2]=  -0.147302;PhiROImin[0][ 3][ 2]=   0.562387;PhiROImax[0][ 3][ 2]=	0.669279;
-     EtaROImin[0][ 3][ 3]=  -0.147437;EtaROImax[0][ 3][ 3]= -0.0554683;PhiROImin[0][ 3][ 3]=   0.562387;PhiROImax[0][ 3][ 3]=	0.669279;
-     EtaROImin[0][ 3][ 4]=  -0.452099;EtaROImax[0][ 3][ 4]=  -0.350831;PhiROImin[0][ 3][ 4]=   0.672786;PhiROImax[0][ 3][ 4]=	0.782446;
-     EtaROImin[0][ 3][ 5]=   -0.35049;EtaROImax[0][ 3][ 5]=  -0.246207;PhiROImin[0][ 3][ 5]=   0.672786;PhiROImax[0][ 3][ 5]=	0.782446;
-     EtaROImin[0][ 3][ 6]=  -0.452099;EtaROImax[0][ 3][ 6]=  -0.350831;PhiROImin[0][ 3][ 6]=   0.562387;PhiROImax[0][ 3][ 6]=	0.669279;
-     EtaROImin[0][ 3][ 7]=   -0.35049;EtaROImax[0][ 3][ 7]=  -0.246207;PhiROImin[0][ 3][ 7]=   0.562387;PhiROImax[0][ 3][ 7]=	0.669279;
-     EtaROImin[0][ 3][ 8]=  -0.648101;EtaROImax[0][ 3][ 8]=  -0.555789;PhiROImin[0][ 3][ 8]=   0.672786;PhiROImax[0][ 3][ 8]=	0.782446;
-     EtaROImin[0][ 3][ 9]=  -0.554444;EtaROImax[0][ 3][ 9]=  -0.458091;PhiROImin[0][ 3][ 9]=   0.672786;PhiROImax[0][ 3][ 9]=	0.782446;
-     EtaROImin[0][ 3][10]=  -0.648101;EtaROImax[0][ 3][10]=  -0.555789;PhiROImin[0][ 3][10]=   0.562387;PhiROImax[0][ 3][10]=	0.669279;
-     EtaROImin[0][ 3][11]=  -0.554444;EtaROImax[0][ 3][11]=  -0.458091;PhiROImin[0][ 3][11]=   0.562387;PhiROImax[0][ 3][11]=	0.669279;
-     EtaROImin[0][ 3][12]=  -0.776449;EtaROImax[0][ 3][12]=  -0.731124;PhiROImin[0][ 3][12]=   0.672186;PhiROImax[0][ 3][12]=	 0.78243;
-     EtaROImin[0][ 3][13]=  -0.728056;EtaROImax[0][ 3][13]=  -0.655857;PhiROImin[0][ 3][13]=   0.672186;PhiROImax[0][ 3][13]=	 0.78243;
-     EtaROImin[0][ 3][14]=  -0.776449;EtaROImax[0][ 3][14]=  -0.731124;PhiROImin[0][ 3][14]=   0.561229;PhiROImax[0][ 3][14]=	0.668661;
-     EtaROImin[0][ 3][15]=  -0.728056;EtaROImax[0][ 3][15]=  -0.655857;PhiROImin[0][ 3][15]=   0.561229;PhiROImax[0][ 3][15]=	0.668661;
-     EtaROImin[0][ 3][16]=  -0.895163;EtaROImax[0][ 3][16]=  -0.853359;PhiROImin[0][ 3][16]=   0.672186;PhiROImax[0][ 3][16]=	 0.78243;
-     EtaROImin[0][ 3][17]=  -0.850528;EtaROImax[0][ 3][17]=  -0.783867;PhiROImin[0][ 3][17]=   0.672186;PhiROImax[0][ 3][17]=	 0.78243;
-     EtaROImin[0][ 3][18]=  -0.895163;EtaROImax[0][ 3][18]=  -0.853359;PhiROImin[0][ 3][18]=   0.561229;PhiROImax[0][ 3][18]=	0.668661;
-     EtaROImin[0][ 3][19]=  -0.850528;EtaROImax[0][ 3][19]=  -0.783867;PhiROImin[0][ 3][19]=   0.561229;PhiROImax[0][ 3][19]=	0.668661;
-     EtaROImin[0][ 3][20]=   -1.02514;EtaROImax[0][ 3][20]=  -0.964674;PhiROImin[0][ 3][20]=   0.672786;PhiROImax[0][ 3][20]=	0.782446;
-     EtaROImin[0][ 3][21]=  -0.961344;EtaROImax[0][ 3][21]=  -0.898201;PhiROImin[0][ 3][21]=   0.672786;PhiROImax[0][ 3][21]=	0.782446;
-     EtaROImin[0][ 3][22]=   -1.02514;EtaROImax[0][ 3][22]=  -0.964674;PhiROImin[0][ 3][22]=   0.562387;PhiROImax[0][ 3][22]=	0.669279;
-     EtaROImin[0][ 3][23]=  -0.961344;EtaROImax[0][ 3][23]=  -0.898201;PhiROImin[0][ 3][23]=   0.562387;PhiROImax[0][ 3][23]=	0.669279;
-     EtaROImin[0][ 3][24]=	    0;EtaROImax[0][ 3][24]=	     0;PhiROImin[0][ 3][24]=	      0;PhiROImax[0][ 3][24]=	       0;
-     EtaROImin[0][ 3][25]=   -1.06547;EtaROImax[0][ 3][25]=   -1.03003;PhiROImin[0][ 3][25]=   0.671969;PhiROImax[0][ 3][25]=	0.782329;
-     EtaROImin[0][ 3][26]=	    0;EtaROImax[0][ 3][26]=	     0;PhiROImin[0][ 3][26]=	      0;PhiROImax[0][ 3][26]=	       0;
-     EtaROImin[0][ 3][27]=   -1.06547;EtaROImax[0][ 3][27]=   -1.03003;PhiROImin[0][ 3][27]=   0.588255;PhiROImax[0][ 3][27]=	 0.66844;
-     EtaROImin[0][ 3][28]=	    0;EtaROImax[0][ 3][28]=	     0;PhiROImin[0][ 3][28]=	      0;PhiROImax[0][ 3][28]=	       0;
-     EtaROImin[0][ 3][29]=	    0;EtaROImax[0][ 3][29]=	     0;PhiROImin[0][ 3][29]=	      0;PhiROImax[0][ 3][29]=	       0;
-     EtaROImin[0][ 3][30]=	    0;EtaROImax[0][ 3][30]=	     0;PhiROImin[0][ 3][30]=	      0;PhiROImax[0][ 3][30]=	       0;
-     EtaROImin[0][ 3][31]=	    0;EtaROImax[0][ 3][31]=	     0;PhiROImin[0][ 3][31]=	      0;PhiROImax[0][ 3][31]=	       0;
-     EtaROImin[0][ 4][ 0]=  -0.147437;EtaROImax[0][ 4][ 0]= -0.0554683;PhiROImin[0][ 4][ 0]=	0.78835;PhiROImax[0][ 4][ 0]=	0.898011;
-     EtaROImin[0][ 4][ 1]=  -0.238532;EtaROImax[0][ 4][ 1]=  -0.147302;PhiROImin[0][ 4][ 1]=	0.78835;PhiROImax[0][ 4][ 1]=	0.898011;
-     EtaROImin[0][ 4][ 2]=  -0.147437;EtaROImax[0][ 4][ 2]= -0.0554683;PhiROImin[0][ 4][ 2]=   0.901517;PhiROImax[0][ 4][ 2]=	 1.00841;
-     EtaROImin[0][ 4][ 3]=  -0.238532;EtaROImax[0][ 4][ 3]=  -0.147302;PhiROImin[0][ 4][ 3]=   0.901517;PhiROImax[0][ 4][ 3]=	 1.00841;
-     EtaROImin[0][ 4][ 4]=   -0.35049;EtaROImax[0][ 4][ 4]=  -0.246207;PhiROImin[0][ 4][ 4]=	0.78835;PhiROImax[0][ 4][ 4]=	0.898011;
-     EtaROImin[0][ 4][ 5]=  -0.452099;EtaROImax[0][ 4][ 5]=  -0.350831;PhiROImin[0][ 4][ 5]=	0.78835;PhiROImax[0][ 4][ 5]=	0.898011;
-     EtaROImin[0][ 4][ 6]=   -0.35049;EtaROImax[0][ 4][ 6]=  -0.246207;PhiROImin[0][ 4][ 6]=   0.901517;PhiROImax[0][ 4][ 6]=	 1.00841;
-     EtaROImin[0][ 4][ 7]=  -0.452099;EtaROImax[0][ 4][ 7]=  -0.350831;PhiROImin[0][ 4][ 7]=   0.901517;PhiROImax[0][ 4][ 7]=	 1.00841;
-     EtaROImin[0][ 4][ 8]=  -0.554444;EtaROImax[0][ 4][ 8]=  -0.458091;PhiROImin[0][ 4][ 8]=	0.78835;PhiROImax[0][ 4][ 8]=	0.898011;
-     EtaROImin[0][ 4][ 9]=  -0.648101;EtaROImax[0][ 4][ 9]=  -0.555789;PhiROImin[0][ 4][ 9]=	0.78835;PhiROImax[0][ 4][ 9]=	0.898011;
-     EtaROImin[0][ 4][10]=  -0.554444;EtaROImax[0][ 4][10]=  -0.458091;PhiROImin[0][ 4][10]=   0.901517;PhiROImax[0][ 4][10]=	 1.00841;
-     EtaROImin[0][ 4][11]=  -0.648101;EtaROImax[0][ 4][11]=  -0.555789;PhiROImin[0][ 4][11]=   0.901517;PhiROImax[0][ 4][11]=	 1.00841;
-     EtaROImin[0][ 4][12]=  -0.703298;EtaROImax[0][ 4][12]=  -0.655857;PhiROImin[0][ 4][12]=   0.788366;PhiROImax[0][ 4][12]=	 0.89861;
-     EtaROImin[0][ 4][13]=  -0.776449;EtaROImax[0][ 4][13]=  -0.706413;PhiROImin[0][ 4][13]=   0.788366;PhiROImax[0][ 4][13]=	 0.89861;
-     EtaROImin[0][ 4][14]=  -0.703298;EtaROImax[0][ 4][14]=  -0.655857;PhiROImin[0][ 4][14]=   0.902135;PhiROImax[0][ 4][14]=	 1.00957;
-     EtaROImin[0][ 4][15]=  -0.776449;EtaROImax[0][ 4][15]=  -0.706413;PhiROImin[0][ 4][15]=   0.902135;PhiROImax[0][ 4][15]=	 1.00957;
-     EtaROImin[0][ 4][16]=   -0.82768;EtaROImax[0][ 4][16]=  -0.783867;PhiROImin[0][ 4][16]=   0.788366;PhiROImax[0][ 4][16]=	 0.89861;
-     EtaROImin[0][ 4][17]=  -0.895163;EtaROImax[0][ 4][17]=  -0.830556;PhiROImin[0][ 4][17]=   0.788366;PhiROImax[0][ 4][17]=	 0.89861;
-     EtaROImin[0][ 4][18]=   -0.82768;EtaROImax[0][ 4][18]=  -0.783867;PhiROImin[0][ 4][18]=   0.902135;PhiROImax[0][ 4][18]=	 1.00957;
-     EtaROImin[0][ 4][19]=  -0.895163;EtaROImax[0][ 4][19]=  -0.830556;PhiROImin[0][ 4][19]=   0.902135;PhiROImax[0][ 4][19]=	 1.00957;
-     EtaROImin[0][ 4][20]=  -0.961344;EtaROImax[0][ 4][20]=  -0.898201;PhiROImin[0][ 4][20]=	0.78835;PhiROImax[0][ 4][20]=	0.898011;
-     EtaROImin[0][ 4][21]=   -1.02514;EtaROImax[0][ 4][21]=  -0.964674;PhiROImin[0][ 4][21]=	0.78835;PhiROImax[0][ 4][21]=	0.898011;
-     EtaROImin[0][ 4][22]=  -0.961344;EtaROImax[0][ 4][22]=  -0.898201;PhiROImin[0][ 4][22]=   0.901517;PhiROImax[0][ 4][22]=	 1.00841;
-     EtaROImin[0][ 4][23]=   -1.02514;EtaROImax[0][ 4][23]=  -0.964674;PhiROImin[0][ 4][23]=   0.901517;PhiROImax[0][ 4][23]=	 1.00841;
-     EtaROImin[0][ 4][24]=   -1.06547;EtaROImax[0][ 4][24]=   -1.03003;PhiROImin[0][ 4][24]=   0.788467;PhiROImax[0][ 4][24]=	0.898827;
-     EtaROImin[0][ 4][25]=	    0;EtaROImax[0][ 4][25]=	     0;PhiROImin[0][ 4][25]=	      0;PhiROImax[0][ 4][25]=	       0;
-     EtaROImin[0][ 4][26]=   -1.06547;EtaROImax[0][ 4][26]=   -1.03003;PhiROImin[0][ 4][26]=   0.902356;PhiROImax[0][ 4][26]=	0.982541;
-     EtaROImin[0][ 4][27]=	    0;EtaROImax[0][ 4][27]=	     0;PhiROImin[0][ 4][27]=	      0;PhiROImax[0][ 4][27]=	       0;
-     EtaROImin[0][ 4][28]=	    0;EtaROImax[0][ 4][28]=	     0;PhiROImin[0][ 4][28]=	      0;PhiROImax[0][ 4][28]=	       0;
-     EtaROImin[0][ 4][29]=	    0;EtaROImax[0][ 4][29]=	     0;PhiROImin[0][ 4][29]=	      0;PhiROImax[0][ 4][29]=	       0;
-     EtaROImin[0][ 4][30]=	    0;EtaROImax[0][ 4][30]=	     0;PhiROImin[0][ 4][30]=	      0;PhiROImax[0][ 4][30]=	       0;
-     EtaROImin[0][ 4][31]=	    0;EtaROImax[0][ 4][31]=	     0;PhiROImin[0][ 4][31]=	      0;PhiROImax[0][ 4][31]=	       0;
-     EtaROImin[0][ 5][ 0]=  -0.213185;EtaROImax[0][ 5][ 0]=  -0.116816;PhiROImin[0][ 5][ 0]=	1.09135;PhiROImax[0][ 5][ 0]=	 1.17531;
-     EtaROImin[0][ 5][ 1]=  -0.118734;EtaROImax[0][ 5][ 1]= -0.0208251;PhiROImin[0][ 5][ 1]=	1.09135;PhiROImax[0][ 5][ 1]=	 1.17531;
-     EtaROImin[0][ 5][ 2]=  -0.213185;EtaROImax[0][ 5][ 2]=  -0.116816;PhiROImin[0][ 5][ 2]=	1.00505;PhiROImax[0][ 5][ 2]=	 1.08772;
-     EtaROImin[0][ 5][ 3]=  -0.118734;EtaROImax[0][ 5][ 3]= -0.0208251;PhiROImin[0][ 5][ 3]=	1.00505;PhiROImax[0][ 5][ 3]=	 1.08772;
-     EtaROImin[0][ 5][ 4]=  -0.416721;EtaROImax[0][ 5][ 4]=   -0.30075;PhiROImin[0][ 5][ 4]=	1.09135;PhiROImax[0][ 5][ 4]=	 1.17531;
-     EtaROImin[0][ 5][ 5]=  -0.302928;EtaROImax[0][ 5][ 5]=  -0.222449;PhiROImin[0][ 5][ 5]=	1.09135;PhiROImax[0][ 5][ 5]=	 1.17531;
-     EtaROImin[0][ 5][ 6]=  -0.416721;EtaROImax[0][ 5][ 6]=   -0.30075;PhiROImin[0][ 5][ 6]=	1.00505;PhiROImax[0][ 5][ 6]=	 1.08772;
-     EtaROImin[0][ 5][ 7]=  -0.302928;EtaROImax[0][ 5][ 7]=  -0.222449;PhiROImin[0][ 5][ 7]=	1.00505;PhiROImax[0][ 5][ 7]=	 1.08772;
-     EtaROImin[0][ 5][ 8]=  -0.573871;EtaROImax[0][ 5][ 8]=  -0.501681;PhiROImin[0][ 5][ 8]=	1.09135;PhiROImax[0][ 5][ 8]=	 1.17531;
-     EtaROImin[0][ 5][ 9]=  -0.504617;EtaROImax[0][ 5][ 9]=   -0.42967;PhiROImin[0][ 5][ 9]=	1.09135;PhiROImax[0][ 5][ 9]=	 1.17531;
-     EtaROImin[0][ 5][10]=  -0.573871;EtaROImax[0][ 5][10]=  -0.501681;PhiROImin[0][ 5][10]=	1.00505;PhiROImax[0][ 5][10]=	 1.08772;
-     EtaROImin[0][ 5][11]=  -0.504617;EtaROImax[0][ 5][11]=   -0.42967;PhiROImin[0][ 5][11]=	1.00505;PhiROImax[0][ 5][11]=	 1.08772;
-     EtaROImin[0][ 5][12]=  -0.741516;EtaROImax[0][ 5][12]=  -0.649933;PhiROImin[0][ 5][12]=	1.09135;PhiROImax[0][ 5][12]=	 1.17531;
-     EtaROImin[0][ 5][13]=  -0.653329;EtaROImax[0][ 5][13]=  -0.583785;PhiROImin[0][ 5][13]=	1.09135;PhiROImax[0][ 5][13]=	 1.17531;
-     EtaROImin[0][ 5][14]=  -0.741516;EtaROImax[0][ 5][14]=  -0.649933;PhiROImin[0][ 5][14]=	1.00505;PhiROImax[0][ 5][14]=	 1.08772;
-     EtaROImin[0][ 5][15]=  -0.653329;EtaROImax[0][ 5][15]=  -0.583785;PhiROImin[0][ 5][15]=	1.00505;PhiROImax[0][ 5][15]=	 1.08772;
-     EtaROImin[0][ 5][16]=	    0;EtaROImax[0][ 5][16]=	     0;PhiROImin[0][ 5][16]=	      0;PhiROImax[0][ 5][16]=	       0;
-     EtaROImin[0][ 5][17]=  -0.837822;EtaROImax[0][ 5][17]=  -0.756521;PhiROImin[0][ 5][17]=	1.09135;PhiROImax[0][ 5][17]=	 1.17531;
-     EtaROImin[0][ 5][18]=	    0;EtaROImax[0][ 5][18]=	     0;PhiROImin[0][ 5][18]=	      0;PhiROImax[0][ 5][18]=	       0;
-     EtaROImin[0][ 5][19]=  -0.837822;EtaROImax[0][ 5][19]=  -0.756521;PhiROImin[0][ 5][19]=	1.00505;PhiROImax[0][ 5][19]=	 1.08772;
-     EtaROImin[0][ 5][20]=  -0.956037;EtaROImax[0][ 5][20]=  -0.899344;PhiROImin[0][ 5][20]=	1.09135;PhiROImax[0][ 5][20]=	 1.17531;
-     EtaROImin[0][ 5][21]=  -0.903324;EtaROImax[0][ 5][21]=  -0.844116;PhiROImin[0][ 5][21]=	1.09135;PhiROImax[0][ 5][21]=	 1.17531;
-     EtaROImin[0][ 5][22]=  -0.956037;EtaROImax[0][ 5][22]=  -0.899344;PhiROImin[0][ 5][22]=	1.00505;PhiROImax[0][ 5][22]=	 1.08772;
-     EtaROImin[0][ 5][23]=  -0.903324;EtaROImax[0][ 5][23]=  -0.844116;PhiROImin[0][ 5][23]=	1.00505;PhiROImax[0][ 5][23]=	 1.08772;
-     EtaROImin[0][ 5][24]=	    0;EtaROImax[0][ 5][24]=	     0;PhiROImin[0][ 5][24]=	      0;PhiROImax[0][ 5][24]=	       0;
-     EtaROImin[0][ 5][25]=	    0;EtaROImax[0][ 5][25]=	     0;PhiROImin[0][ 5][25]=	      0;PhiROImax[0][ 5][25]=	       0;
-     EtaROImin[0][ 5][26]=	    0;EtaROImax[0][ 5][26]=	     0;PhiROImin[0][ 5][26]=	      0;PhiROImax[0][ 5][26]=	       0;
-     EtaROImin[0][ 5][27]=	    0;EtaROImax[0][ 5][27]=	     0;PhiROImin[0][ 5][27]=	      0;PhiROImax[0][ 5][27]=	       0;
-     EtaROImin[0][ 5][28]=	    0;EtaROImax[0][ 5][28]=	     0;PhiROImin[0][ 5][28]=	      0;PhiROImax[0][ 5][28]=	       0;
-     EtaROImin[0][ 5][29]=	    0;EtaROImax[0][ 5][29]=	     0;PhiROImin[0][ 5][29]=	      0;PhiROImax[0][ 5][29]=	       0;
-     EtaROImin[0][ 5][30]=	    0;EtaROImax[0][ 5][30]=	     0;PhiROImin[0][ 5][30]=	      0;PhiROImax[0][ 5][30]=	       0;
-     EtaROImin[0][ 5][31]=	    0;EtaROImax[0][ 5][31]=	     0;PhiROImin[0][ 5][31]=	      0;PhiROImax[0][ 5][31]=	       0;
-     EtaROImin[0][ 6][ 0]=  -0.118734;EtaROImax[0][ 6][ 0]= -0.0208251;PhiROImin[0][ 6][ 0]=	1.18089;PhiROImax[0][ 6][ 0]=	 1.26484;
-     EtaROImin[0][ 6][ 1]=  -0.213185;EtaROImax[0][ 6][ 1]=  -0.116816;PhiROImin[0][ 6][ 1]=	1.18089;PhiROImax[0][ 6][ 1]=	 1.26484;
-     EtaROImin[0][ 6][ 2]=  -0.118734;EtaROImax[0][ 6][ 2]= -0.0208251;PhiROImin[0][ 6][ 2]=	1.26847;PhiROImax[0][ 6][ 2]=	 1.35115;
-     EtaROImin[0][ 6][ 3]=  -0.213185;EtaROImax[0][ 6][ 3]=  -0.116816;PhiROImin[0][ 6][ 3]=	1.26847;PhiROImax[0][ 6][ 3]=	 1.35115;
-     EtaROImin[0][ 6][ 4]=  -0.302928;EtaROImax[0][ 6][ 4]=  -0.222449;PhiROImin[0][ 6][ 4]=	1.18089;PhiROImax[0][ 6][ 4]=	 1.26484;
-     EtaROImin[0][ 6][ 5]=  -0.416721;EtaROImax[0][ 6][ 5]=   -0.30075;PhiROImin[0][ 6][ 5]=	1.18089;PhiROImax[0][ 6][ 5]=	 1.26484;
-     EtaROImin[0][ 6][ 6]=  -0.302928;EtaROImax[0][ 6][ 6]=  -0.222449;PhiROImin[0][ 6][ 6]=	1.26847;PhiROImax[0][ 6][ 6]=	 1.35115;
-     EtaROImin[0][ 6][ 7]=  -0.416721;EtaROImax[0][ 6][ 7]=   -0.30075;PhiROImin[0][ 6][ 7]=	1.26847;PhiROImax[0][ 6][ 7]=	 1.35115;
-     EtaROImin[0][ 6][ 8]=  -0.504617;EtaROImax[0][ 6][ 8]=   -0.42967;PhiROImin[0][ 6][ 8]=	1.18089;PhiROImax[0][ 6][ 8]=	 1.26484;
-     EtaROImin[0][ 6][ 9]=  -0.573871;EtaROImax[0][ 6][ 9]=  -0.501681;PhiROImin[0][ 6][ 9]=	1.18089;PhiROImax[0][ 6][ 9]=	 1.26484;
-     EtaROImin[0][ 6][10]=  -0.504617;EtaROImax[0][ 6][10]=   -0.42967;PhiROImin[0][ 6][10]=	1.26847;PhiROImax[0][ 6][10]=	 1.35115;
-     EtaROImin[0][ 6][11]=  -0.573871;EtaROImax[0][ 6][11]=  -0.501681;PhiROImin[0][ 6][11]=	1.26847;PhiROImax[0][ 6][11]=	 1.35115;
-     EtaROImin[0][ 6][12]=  -0.653329;EtaROImax[0][ 6][12]=  -0.583785;PhiROImin[0][ 6][12]=	1.18089;PhiROImax[0][ 6][12]=	 1.26484;
-     EtaROImin[0][ 6][13]=  -0.741516;EtaROImax[0][ 6][13]=  -0.649933;PhiROImin[0][ 6][13]=	1.18089;PhiROImax[0][ 6][13]=	 1.26484;
-     EtaROImin[0][ 6][14]=  -0.653329;EtaROImax[0][ 6][14]=  -0.583785;PhiROImin[0][ 6][14]=	1.26847;PhiROImax[0][ 6][14]=	 1.35115;
-     EtaROImin[0][ 6][15]=  -0.741516;EtaROImax[0][ 6][15]=  -0.649933;PhiROImin[0][ 6][15]=	1.26847;PhiROImax[0][ 6][15]=	 1.35115;
-     EtaROImin[0][ 6][16]=  -0.837822;EtaROImax[0][ 6][16]=  -0.756521;PhiROImin[0][ 6][16]=	1.18089;PhiROImax[0][ 6][16]=	 1.26484;
-     EtaROImin[0][ 6][17]=	    0;EtaROImax[0][ 6][17]=	     0;PhiROImin[0][ 6][17]=	      0;PhiROImax[0][ 6][17]=	       0;
-     EtaROImin[0][ 6][18]=  -0.837822;EtaROImax[0][ 6][18]=  -0.756521;PhiROImin[0][ 6][18]=	1.26847;PhiROImax[0][ 6][18]=	 1.35115;
-     EtaROImin[0][ 6][19]=	    0;EtaROImax[0][ 6][19]=	     0;PhiROImin[0][ 6][19]=	      0;PhiROImax[0][ 6][19]=	       0;
-     EtaROImin[0][ 6][20]=  -0.903324;EtaROImax[0][ 6][20]=  -0.844116;PhiROImin[0][ 6][20]=	1.18089;PhiROImax[0][ 6][20]=	 1.26484;
-     EtaROImin[0][ 6][21]=  -0.956037;EtaROImax[0][ 6][21]=  -0.899344;PhiROImin[0][ 6][21]=	1.18089;PhiROImax[0][ 6][21]=	 1.26484;
-     EtaROImin[0][ 6][22]=  -0.903324;EtaROImax[0][ 6][22]=  -0.844116;PhiROImin[0][ 6][22]=	1.26847;PhiROImax[0][ 6][22]=	 1.35115;
-     EtaROImin[0][ 6][23]=  -0.956037;EtaROImax[0][ 6][23]=  -0.899344;PhiROImin[0][ 6][23]=	1.26847;PhiROImax[0][ 6][23]=	 1.35115;
-     EtaROImin[0][ 6][24]=	    0;EtaROImax[0][ 6][24]=	     0;PhiROImin[0][ 6][24]=	      0;PhiROImax[0][ 6][24]=	       0;
-     EtaROImin[0][ 6][25]=	    0;EtaROImax[0][ 6][25]=	     0;PhiROImin[0][ 6][25]=	      0;PhiROImax[0][ 6][25]=	       0;
-     EtaROImin[0][ 6][26]=	    0;EtaROImax[0][ 6][26]=	     0;PhiROImin[0][ 6][26]=	      0;PhiROImax[0][ 6][26]=	       0;
-     EtaROImin[0][ 6][27]=	    0;EtaROImax[0][ 6][27]=	     0;PhiROImin[0][ 6][27]=	      0;PhiROImax[0][ 6][27]=	       0;
-     EtaROImin[0][ 6][28]=	    0;EtaROImax[0][ 6][28]=	     0;PhiROImin[0][ 6][28]=	      0;PhiROImax[0][ 6][28]=	       0;
-     EtaROImin[0][ 6][29]=	    0;EtaROImax[0][ 6][29]=	     0;PhiROImin[0][ 6][29]=	      0;PhiROImax[0][ 6][29]=	       0;
-     EtaROImin[0][ 6][30]=	    0;EtaROImax[0][ 6][30]=	     0;PhiROImin[0][ 6][30]=	      0;PhiROImax[0][ 6][30]=	       0;
-     EtaROImin[0][ 6][31]=	    0;EtaROImax[0][ 6][31]=	     0;PhiROImin[0][ 6][31]=	      0;PhiROImax[0][ 6][31]=	       0;
-     EtaROImin[0][ 7][ 0]=  -0.238313;EtaROImax[0][ 7][ 0]=   -0.14708;PhiROImin[0][ 7][ 0]=	1.45818;PhiROImax[0][ 7][ 0]=	 1.56784;
-     EtaROImin[0][ 7][ 1]=  -0.147216;EtaROImax[0][ 7][ 1]= -0.0552456;PhiROImin[0][ 7][ 1]=	1.45818;PhiROImax[0][ 7][ 1]=	 1.56784;
-     EtaROImin[0][ 7][ 2]=  -0.238313;EtaROImax[0][ 7][ 2]=   -0.14708;PhiROImin[0][ 7][ 2]=	1.34779;PhiROImax[0][ 7][ 2]=	 1.45468;
-     EtaROImin[0][ 7][ 3]=  -0.147216;EtaROImax[0][ 7][ 3]= -0.0552456;PhiROImin[0][ 7][ 3]=	1.34779;PhiROImax[0][ 7][ 3]=	 1.45468;
-     EtaROImin[0][ 7][ 4]=  -0.452099;EtaROImax[0][ 7][ 4]=  -0.350831;PhiROImin[0][ 7][ 4]=	1.45818;PhiROImax[0][ 7][ 4]=	 1.56784;
-     EtaROImin[0][ 7][ 5]=   -0.35049;EtaROImax[0][ 7][ 5]=  -0.246207;PhiROImin[0][ 7][ 5]=	1.45818;PhiROImax[0][ 7][ 5]=	 1.56784;
-     EtaROImin[0][ 7][ 6]=  -0.452099;EtaROImax[0][ 7][ 6]=  -0.350831;PhiROImin[0][ 7][ 6]=	1.34779;PhiROImax[0][ 7][ 6]=	 1.45468;
-     EtaROImin[0][ 7][ 7]=   -0.35049;EtaROImax[0][ 7][ 7]=  -0.246207;PhiROImin[0][ 7][ 7]=	1.34779;PhiROImax[0][ 7][ 7]=	 1.45468;
-     EtaROImin[0][ 7][ 8]=  -0.648101;EtaROImax[0][ 7][ 8]=  -0.555789;PhiROImin[0][ 7][ 8]=	1.45818;PhiROImax[0][ 7][ 8]=	 1.56784;
-     EtaROImin[0][ 7][ 9]=  -0.554444;EtaROImax[0][ 7][ 9]=  -0.458091;PhiROImin[0][ 7][ 9]=	1.45818;PhiROImax[0][ 7][ 9]=	 1.56784;
-     EtaROImin[0][ 7][10]=  -0.648101;EtaROImax[0][ 7][10]=  -0.555789;PhiROImin[0][ 7][10]=	1.34779;PhiROImax[0][ 7][10]=	 1.45468;
-     EtaROImin[0][ 7][11]=  -0.554444;EtaROImax[0][ 7][11]=  -0.458091;PhiROImin[0][ 7][11]=	1.34779;PhiROImax[0][ 7][11]=	 1.45468;
-     EtaROImin[0][ 7][12]=  -0.776449;EtaROImax[0][ 7][12]=  -0.731124;PhiROImin[0][ 7][12]=	1.45758;PhiROImax[0][ 7][12]=	 1.56783;
-     EtaROImin[0][ 7][13]=  -0.728056;EtaROImax[0][ 7][13]=  -0.655857;PhiROImin[0][ 7][13]=	1.45758;PhiROImax[0][ 7][13]=	 1.56783;
-     EtaROImin[0][ 7][14]=  -0.776449;EtaROImax[0][ 7][14]=  -0.731124;PhiROImin[0][ 7][14]=	1.34663;PhiROImax[0][ 7][14]=	 1.45406;
-     EtaROImin[0][ 7][15]=  -0.728056;EtaROImax[0][ 7][15]=  -0.655857;PhiROImin[0][ 7][15]=	1.34663;PhiROImax[0][ 7][15]=	 1.45406;
-     EtaROImin[0][ 7][16]=  -0.895163;EtaROImax[0][ 7][16]=  -0.853359;PhiROImin[0][ 7][16]=	1.45758;PhiROImax[0][ 7][16]=	 1.56783;
-     EtaROImin[0][ 7][17]=  -0.850528;EtaROImax[0][ 7][17]=  -0.783867;PhiROImin[0][ 7][17]=	1.45758;PhiROImax[0][ 7][17]=	 1.56783;
-     EtaROImin[0][ 7][18]=  -0.895163;EtaROImax[0][ 7][18]=  -0.853359;PhiROImin[0][ 7][18]=	1.34663;PhiROImax[0][ 7][18]=	 1.45406;
-     EtaROImin[0][ 7][19]=  -0.850528;EtaROImax[0][ 7][19]=  -0.783867;PhiROImin[0][ 7][19]=	1.34663;PhiROImax[0][ 7][19]=	 1.45406;
-     EtaROImin[0][ 7][20]=   -1.02514;EtaROImax[0][ 7][20]=  -0.964674;PhiROImin[0][ 7][20]=	1.45818;PhiROImax[0][ 7][20]=	 1.56784;
-     EtaROImin[0][ 7][21]=  -0.961344;EtaROImax[0][ 7][21]=  -0.898201;PhiROImin[0][ 7][21]=	1.45818;PhiROImax[0][ 7][21]=	 1.56784;
-     EtaROImin[0][ 7][22]=   -1.02514;EtaROImax[0][ 7][22]=  -0.964674;PhiROImin[0][ 7][22]=	1.34779;PhiROImax[0][ 7][22]=	 1.45468;
-     EtaROImin[0][ 7][23]=  -0.961344;EtaROImax[0][ 7][23]=  -0.898201;PhiROImin[0][ 7][23]=	1.34779;PhiROImax[0][ 7][23]=	 1.45468;
-     EtaROImin[0][ 7][24]=	    0;EtaROImax[0][ 7][24]=	     0;PhiROImin[0][ 7][24]=	      0;PhiROImax[0][ 7][24]=	       0;
-     EtaROImin[0][ 7][25]=   -1.06547;EtaROImax[0][ 7][25]=   -1.03003;PhiROImin[0][ 7][25]=	1.45737;PhiROImax[0][ 7][25]=	 1.56773;
-     EtaROImin[0][ 7][26]=	    0;EtaROImax[0][ 7][26]=	     0;PhiROImin[0][ 7][26]=	      0;PhiROImax[0][ 7][26]=	       0;
-     EtaROImin[0][ 7][27]=   -1.06547;EtaROImax[0][ 7][27]=   -1.03003;PhiROImin[0][ 7][27]=	1.37365;PhiROImax[0][ 7][27]=	 1.45384;
-     EtaROImin[0][ 7][28]=	    0;EtaROImax[0][ 7][28]=	     0;PhiROImin[0][ 7][28]=	      0;PhiROImax[0][ 7][28]=	       0;
-     EtaROImin[0][ 7][29]=	    0;EtaROImax[0][ 7][29]=	     0;PhiROImin[0][ 7][29]=	      0;PhiROImax[0][ 7][29]=	       0;
-     EtaROImin[0][ 7][30]=	    0;EtaROImax[0][ 7][30]=	     0;PhiROImin[0][ 7][30]=	      0;PhiROImax[0][ 7][30]=	       0;
-     EtaROImin[0][ 7][31]=	    0;EtaROImax[0][ 7][31]=	     0;PhiROImin[0][ 7][31]=	      0;PhiROImax[0][ 7][31]=	       0;
-     EtaROImin[0][ 8][ 0]=  -0.147216;EtaROImax[0][ 8][ 0]= -0.0552456;PhiROImin[0][ 8][ 0]=	1.57375;PhiROImax[0][ 8][ 0]=	 1.68341;
-     EtaROImin[0][ 8][ 1]=  -0.238313;EtaROImax[0][ 8][ 1]=   -0.14708;PhiROImin[0][ 8][ 1]=	1.57375;PhiROImax[0][ 8][ 1]=	 1.68341;
-     EtaROImin[0][ 8][ 2]=  -0.147216;EtaROImax[0][ 8][ 2]= -0.0552456;PhiROImin[0][ 8][ 2]=	1.68692;PhiROImax[0][ 8][ 2]=	 1.79381;
-     EtaROImin[0][ 8][ 3]=  -0.238313;EtaROImax[0][ 8][ 3]=   -0.14708;PhiROImin[0][ 8][ 3]=	1.68692;PhiROImax[0][ 8][ 3]=	 1.79381;
-     EtaROImin[0][ 8][ 4]=   -0.35049;EtaROImax[0][ 8][ 4]=  -0.246207;PhiROImin[0][ 8][ 4]=	1.57375;PhiROImax[0][ 8][ 4]=	 1.68341;
-     EtaROImin[0][ 8][ 5]=  -0.452099;EtaROImax[0][ 8][ 5]=  -0.350831;PhiROImin[0][ 8][ 5]=	1.57375;PhiROImax[0][ 8][ 5]=	 1.68341;
-     EtaROImin[0][ 8][ 6]=   -0.35049;EtaROImax[0][ 8][ 6]=  -0.246207;PhiROImin[0][ 8][ 6]=	1.68692;PhiROImax[0][ 8][ 6]=	 1.79381;
-     EtaROImin[0][ 8][ 7]=  -0.452099;EtaROImax[0][ 8][ 7]=  -0.350831;PhiROImin[0][ 8][ 7]=	1.68692;PhiROImax[0][ 8][ 7]=	 1.79381;
-     EtaROImin[0][ 8][ 8]=  -0.554444;EtaROImax[0][ 8][ 8]=  -0.458091;PhiROImin[0][ 8][ 8]=	1.57375;PhiROImax[0][ 8][ 8]=	 1.68341;
-     EtaROImin[0][ 8][ 9]=  -0.648101;EtaROImax[0][ 8][ 9]=  -0.555789;PhiROImin[0][ 8][ 9]=	1.57375;PhiROImax[0][ 8][ 9]=	 1.68341;
-     EtaROImin[0][ 8][10]=  -0.554444;EtaROImax[0][ 8][10]=  -0.458091;PhiROImin[0][ 8][10]=	1.68692;PhiROImax[0][ 8][10]=	 1.79381;
-     EtaROImin[0][ 8][11]=  -0.648101;EtaROImax[0][ 8][11]=  -0.555789;PhiROImin[0][ 8][11]=	1.68692;PhiROImax[0][ 8][11]=	 1.79381;
-     EtaROImin[0][ 8][12]=  -0.703298;EtaROImax[0][ 8][12]=  -0.655857;PhiROImin[0][ 8][12]=	1.57376;PhiROImax[0][ 8][12]=	 1.68401;
-     EtaROImin[0][ 8][13]=  -0.776449;EtaROImax[0][ 8][13]=  -0.706413;PhiROImin[0][ 8][13]=	1.57376;PhiROImax[0][ 8][13]=	 1.68401;
-     EtaROImin[0][ 8][14]=  -0.703298;EtaROImax[0][ 8][14]=  -0.655857;PhiROImin[0][ 8][14]=	1.68753;PhiROImax[0][ 8][14]=	 1.79497;
-     EtaROImin[0][ 8][15]=  -0.776449;EtaROImax[0][ 8][15]=  -0.706413;PhiROImin[0][ 8][15]=	1.68753;PhiROImax[0][ 8][15]=	 1.79497;
-     EtaROImin[0][ 8][16]=   -0.82768;EtaROImax[0][ 8][16]=  -0.783867;PhiROImin[0][ 8][16]=	1.57376;PhiROImax[0][ 8][16]=	 1.68401;
-     EtaROImin[0][ 8][17]=  -0.895163;EtaROImax[0][ 8][17]=  -0.830556;PhiROImin[0][ 8][17]=	1.57376;PhiROImax[0][ 8][17]=	 1.68401;
-     EtaROImin[0][ 8][18]=   -0.82768;EtaROImax[0][ 8][18]=  -0.783867;PhiROImin[0][ 8][18]=	1.68753;PhiROImax[0][ 8][18]=	 1.79497;
-     EtaROImin[0][ 8][19]=  -0.895163;EtaROImax[0][ 8][19]=  -0.830556;PhiROImin[0][ 8][19]=	1.68753;PhiROImax[0][ 8][19]=	 1.79497;
-     EtaROImin[0][ 8][20]=  -0.961344;EtaROImax[0][ 8][20]=  -0.898201;PhiROImin[0][ 8][20]=	1.57375;PhiROImax[0][ 8][20]=	 1.68341;
-     EtaROImin[0][ 8][21]=   -1.02514;EtaROImax[0][ 8][21]=  -0.964674;PhiROImin[0][ 8][21]=	1.57375;PhiROImax[0][ 8][21]=	 1.68341;
-     EtaROImin[0][ 8][22]=  -0.961344;EtaROImax[0][ 8][22]=  -0.898201;PhiROImin[0][ 8][22]=	1.68692;PhiROImax[0][ 8][22]=	 1.79381;
-     EtaROImin[0][ 8][23]=   -1.02514;EtaROImax[0][ 8][23]=  -0.964674;PhiROImin[0][ 8][23]=	1.68692;PhiROImax[0][ 8][23]=	 1.79381;
-     EtaROImin[0][ 8][24]=   -1.06547;EtaROImax[0][ 8][24]=   -1.03003;PhiROImin[0][ 8][24]=	1.57387;PhiROImax[0][ 8][24]=	 1.68423;
-     EtaROImin[0][ 8][25]=	    0;EtaROImax[0][ 8][25]=	     0;PhiROImin[0][ 8][25]=	      0;PhiROImax[0][ 8][25]=	       0;
-     EtaROImin[0][ 8][26]=   -1.06547;EtaROImax[0][ 8][26]=   -1.03003;PhiROImin[0][ 8][26]=	1.68775;PhiROImax[0][ 8][26]=	 1.76794;
-     EtaROImin[0][ 8][27]=	    0;EtaROImax[0][ 8][27]=	     0;PhiROImin[0][ 8][27]=	      0;PhiROImax[0][ 8][27]=	       0;
-     EtaROImin[0][ 8][28]=	    0;EtaROImax[0][ 8][28]=	     0;PhiROImin[0][ 8][28]=	      0;PhiROImax[0][ 8][28]=	       0;
-     EtaROImin[0][ 8][29]=	    0;EtaROImax[0][ 8][29]=	     0;PhiROImin[0][ 8][29]=	      0;PhiROImax[0][ 8][29]=	       0;
-     EtaROImin[0][ 8][30]=	    0;EtaROImax[0][ 8][30]=	     0;PhiROImin[0][ 8][30]=	      0;PhiROImax[0][ 8][30]=	       0;
-     EtaROImin[0][ 8][31]=	    0;EtaROImax[0][ 8][31]=	     0;PhiROImin[0][ 8][31]=	      0;PhiROImax[0][ 8][31]=	       0;
-     EtaROImin[0][ 9][ 0]=  -0.213185;EtaROImax[0][ 9][ 0]=  -0.116816;PhiROImin[0][ 9][ 0]=	1.87675;PhiROImax[0][ 9][ 0]=	 1.96071;
-     EtaROImin[0][ 9][ 1]=  -0.118734;EtaROImax[0][ 9][ 1]= -0.0208251;PhiROImin[0][ 9][ 1]=	1.87675;PhiROImax[0][ 9][ 1]=	 1.96071;
-     EtaROImin[0][ 9][ 2]=  -0.213185;EtaROImax[0][ 9][ 2]=  -0.116816;PhiROImin[0][ 9][ 2]=	1.79045;PhiROImax[0][ 9][ 2]=	 1.87312;
-     EtaROImin[0][ 9][ 3]=  -0.118734;EtaROImax[0][ 9][ 3]= -0.0208251;PhiROImin[0][ 9][ 3]=	1.79045;PhiROImax[0][ 9][ 3]=	 1.87312;
-     EtaROImin[0][ 9][ 4]=  -0.416721;EtaROImax[0][ 9][ 4]=   -0.30075;PhiROImin[0][ 9][ 4]=	1.87675;PhiROImax[0][ 9][ 4]=	 1.96071;
-     EtaROImin[0][ 9][ 5]=  -0.302928;EtaROImax[0][ 9][ 5]=  -0.222449;PhiROImin[0][ 9][ 5]=	1.87675;PhiROImax[0][ 9][ 5]=	 1.96071;
-     EtaROImin[0][ 9][ 6]=  -0.416721;EtaROImax[0][ 9][ 6]=   -0.30075;PhiROImin[0][ 9][ 6]=	1.79045;PhiROImax[0][ 9][ 6]=	 1.87312;
-     EtaROImin[0][ 9][ 7]=  -0.302928;EtaROImax[0][ 9][ 7]=  -0.222449;PhiROImin[0][ 9][ 7]=	1.79045;PhiROImax[0][ 9][ 7]=	 1.87312;
-     EtaROImin[0][ 9][ 8]=  -0.573871;EtaROImax[0][ 9][ 8]=  -0.501681;PhiROImin[0][ 9][ 8]=	1.87675;PhiROImax[0][ 9][ 8]=	 1.96071;
-     EtaROImin[0][ 9][ 9]=  -0.504617;EtaROImax[0][ 9][ 9]=   -0.42967;PhiROImin[0][ 9][ 9]=	1.87675;PhiROImax[0][ 9][ 9]=	 1.96071;
-     EtaROImin[0][ 9][10]=  -0.573871;EtaROImax[0][ 9][10]=  -0.501681;PhiROImin[0][ 9][10]=	1.79045;PhiROImax[0][ 9][10]=	 1.87312;
-     EtaROImin[0][ 9][11]=  -0.504617;EtaROImax[0][ 9][11]=   -0.42967;PhiROImin[0][ 9][11]=	1.79045;PhiROImax[0][ 9][11]=	 1.87312;
-     EtaROImin[0][ 9][12]=  -0.741516;EtaROImax[0][ 9][12]=  -0.649933;PhiROImin[0][ 9][12]=	1.87675;PhiROImax[0][ 9][12]=	 1.96071;
-     EtaROImin[0][ 9][13]=  -0.653329;EtaROImax[0][ 9][13]=  -0.583785;PhiROImin[0][ 9][13]=	1.87675;PhiROImax[0][ 9][13]=	 1.96071;
-     EtaROImin[0][ 9][14]=  -0.741516;EtaROImax[0][ 9][14]=  -0.649933;PhiROImin[0][ 9][14]=	1.79045;PhiROImax[0][ 9][14]=	 1.87312;
-     EtaROImin[0][ 9][15]=  -0.653329;EtaROImax[0][ 9][15]=  -0.583785;PhiROImin[0][ 9][15]=	1.79045;PhiROImax[0][ 9][15]=	 1.87312;
-     EtaROImin[0][ 9][16]=	    0;EtaROImax[0][ 9][16]=	     0;PhiROImin[0][ 9][16]=	      0;PhiROImax[0][ 9][16]=	       0;
-     EtaROImin[0][ 9][17]=  -0.837822;EtaROImax[0][ 9][17]=  -0.756521;PhiROImin[0][ 9][17]=	1.87675;PhiROImax[0][ 9][17]=	 1.96071;
-     EtaROImin[0][ 9][18]=	    0;EtaROImax[0][ 9][18]=	     0;PhiROImin[0][ 9][18]=	      0;PhiROImax[0][ 9][18]=	       0;
-     EtaROImin[0][ 9][19]=  -0.837822;EtaROImax[0][ 9][19]=  -0.756521;PhiROImin[0][ 9][19]=	1.79045;PhiROImax[0][ 9][19]=	 1.87312;
-     EtaROImin[0][ 9][20]=  -0.956037;EtaROImax[0][ 9][20]=  -0.899344;PhiROImin[0][ 9][20]=	1.87675;PhiROImax[0][ 9][20]=	 1.96071;
-     EtaROImin[0][ 9][21]=  -0.903324;EtaROImax[0][ 9][21]=  -0.844116;PhiROImin[0][ 9][21]=	1.87675;PhiROImax[0][ 9][21]=	 1.96071;
-     EtaROImin[0][ 9][22]=  -0.956037;EtaROImax[0][ 9][22]=  -0.899344;PhiROImin[0][ 9][22]=	1.79045;PhiROImax[0][ 9][22]=	 1.87312;
-     EtaROImin[0][ 9][23]=  -0.903324;EtaROImax[0][ 9][23]=  -0.844116;PhiROImin[0][ 9][23]=	1.79045;PhiROImax[0][ 9][23]=	 1.87312;
-     EtaROImin[0][ 9][24]=	    0;EtaROImax[0][ 9][24]=	     0;PhiROImin[0][ 9][24]=	      0;PhiROImax[0][ 9][24]=	       0;
-     EtaROImin[0][ 9][25]=	    0;EtaROImax[0][ 9][25]=	     0;PhiROImin[0][ 9][25]=	      0;PhiROImax[0][ 9][25]=	       0;
-     EtaROImin[0][ 9][26]=	    0;EtaROImax[0][ 9][26]=	     0;PhiROImin[0][ 9][26]=	      0;PhiROImax[0][ 9][26]=	       0;
-     EtaROImin[0][ 9][27]=	    0;EtaROImax[0][ 9][27]=	     0;PhiROImin[0][ 9][27]=	      0;PhiROImax[0][ 9][27]=	       0;
-     EtaROImin[0][ 9][28]=	    0;EtaROImax[0][ 9][28]=	     0;PhiROImin[0][ 9][28]=	      0;PhiROImax[0][ 9][28]=	       0;
-     EtaROImin[0][ 9][29]=	    0;EtaROImax[0][ 9][29]=	     0;PhiROImin[0][ 9][29]=	      0;PhiROImax[0][ 9][29]=	       0;
-     EtaROImin[0][ 9][30]=	    0;EtaROImax[0][ 9][30]=	     0;PhiROImin[0][ 9][30]=	      0;PhiROImax[0][ 9][30]=	       0;
-     EtaROImin[0][ 9][31]=	    0;EtaROImax[0][ 9][31]=	     0;PhiROImin[0][ 9][31]=	      0;PhiROImax[0][ 9][31]=	       0;
-     EtaROImin[0][10][ 0]=  -0.118734;EtaROImax[0][10][ 0]= -0.0208251;PhiROImin[0][10][ 0]=	1.96629;PhiROImax[0][10][ 0]=	 2.05024;
-     EtaROImin[0][10][ 1]=  -0.213185;EtaROImax[0][10][ 1]=  -0.116816;PhiROImin[0][10][ 1]=	1.96629;PhiROImax[0][10][ 1]=	 2.05024;
-     EtaROImin[0][10][ 2]=  -0.118734;EtaROImax[0][10][ 2]= -0.0208251;PhiROImin[0][10][ 2]=	2.05387;PhiROImax[0][10][ 2]=	 2.13655;
-     EtaROImin[0][10][ 3]=  -0.213185;EtaROImax[0][10][ 3]=  -0.116816;PhiROImin[0][10][ 3]=	2.05387;PhiROImax[0][10][ 3]=	 2.13655;
-     EtaROImin[0][10][ 4]=  -0.302928;EtaROImax[0][10][ 4]=  -0.222449;PhiROImin[0][10][ 4]=	1.96629;PhiROImax[0][10][ 4]=	 2.05024;
-     EtaROImin[0][10][ 5]=  -0.416721;EtaROImax[0][10][ 5]=   -0.30075;PhiROImin[0][10][ 5]=	1.96629;PhiROImax[0][10][ 5]=	 2.05024;
-     EtaROImin[0][10][ 6]=  -0.302928;EtaROImax[0][10][ 6]=  -0.222449;PhiROImin[0][10][ 6]=	2.05387;PhiROImax[0][10][ 6]=	 2.13655;
-     EtaROImin[0][10][ 7]=  -0.416721;EtaROImax[0][10][ 7]=   -0.30075;PhiROImin[0][10][ 7]=	2.05387;PhiROImax[0][10][ 7]=	 2.13655;
-     EtaROImin[0][10][ 8]=  -0.504617;EtaROImax[0][10][ 8]=   -0.42967;PhiROImin[0][10][ 8]=	1.96629;PhiROImax[0][10][ 8]=	 2.05024;
-     EtaROImin[0][10][ 9]=  -0.573871;EtaROImax[0][10][ 9]=  -0.501681;PhiROImin[0][10][ 9]=	1.96629;PhiROImax[0][10][ 9]=	 2.05024;
-     EtaROImin[0][10][10]=  -0.504617;EtaROImax[0][10][10]=   -0.42967;PhiROImin[0][10][10]=	2.05387;PhiROImax[0][10][10]=	 2.13655;
-     EtaROImin[0][10][11]=  -0.573871;EtaROImax[0][10][11]=  -0.501681;PhiROImin[0][10][11]=	2.05387;PhiROImax[0][10][11]=	 2.13655;
-     EtaROImin[0][10][12]=  -0.653329;EtaROImax[0][10][12]=  -0.583785;PhiROImin[0][10][12]=	1.96629;PhiROImax[0][10][12]=	 2.05024;
-     EtaROImin[0][10][13]=  -0.741516;EtaROImax[0][10][13]=  -0.649933;PhiROImin[0][10][13]=	1.96629;PhiROImax[0][10][13]=	 2.05024;
-     EtaROImin[0][10][14]=  -0.653329;EtaROImax[0][10][14]=  -0.583785;PhiROImin[0][10][14]=	2.05387;PhiROImax[0][10][14]=	 2.13655;
-     EtaROImin[0][10][15]=  -0.741516;EtaROImax[0][10][15]=  -0.649933;PhiROImin[0][10][15]=	2.05387;PhiROImax[0][10][15]=	 2.13655;
-     EtaROImin[0][10][16]=  -0.837822;EtaROImax[0][10][16]=  -0.756521;PhiROImin[0][10][16]=	1.96629;PhiROImax[0][10][16]=	 2.05024;
-     EtaROImin[0][10][17]=	    0;EtaROImax[0][10][17]=	     0;PhiROImin[0][10][17]=	      0;PhiROImax[0][10][17]=	       0;
-     EtaROImin[0][10][18]=  -0.837822;EtaROImax[0][10][18]=  -0.756521;PhiROImin[0][10][18]=	2.05387;PhiROImax[0][10][18]=	 2.13655;
-     EtaROImin[0][10][19]=	    0;EtaROImax[0][10][19]=	     0;PhiROImin[0][10][19]=	      0;PhiROImax[0][10][19]=	       0;
-     EtaROImin[0][10][20]=  -0.903324;EtaROImax[0][10][20]=  -0.844116;PhiROImin[0][10][20]=	1.96629;PhiROImax[0][10][20]=	 2.05024;
-     EtaROImin[0][10][21]=  -0.956037;EtaROImax[0][10][21]=  -0.899344;PhiROImin[0][10][21]=	1.96629;PhiROImax[0][10][21]=	 2.05024;
-     EtaROImin[0][10][22]=  -0.903324;EtaROImax[0][10][22]=  -0.844116;PhiROImin[0][10][22]=	2.05387;PhiROImax[0][10][22]=	 2.13655;
-     EtaROImin[0][10][23]=  -0.956037;EtaROImax[0][10][23]=  -0.899344;PhiROImin[0][10][23]=	2.05387;PhiROImax[0][10][23]=	 2.13655;
-     EtaROImin[0][10][24]=	    0;EtaROImax[0][10][24]=	     0;PhiROImin[0][10][24]=	      0;PhiROImax[0][10][24]=	       0;
-     EtaROImin[0][10][25]=	    0;EtaROImax[0][10][25]=	     0;PhiROImin[0][10][25]=	      0;PhiROImax[0][10][25]=	       0;
-     EtaROImin[0][10][26]=	    0;EtaROImax[0][10][26]=	     0;PhiROImin[0][10][26]=	      0;PhiROImax[0][10][26]=	       0;
-     EtaROImin[0][10][27]=	    0;EtaROImax[0][10][27]=	     0;PhiROImin[0][10][27]=	      0;PhiROImax[0][10][27]=	       0;
-     EtaROImin[0][10][28]=	    0;EtaROImax[0][10][28]=	     0;PhiROImin[0][10][28]=	      0;PhiROImax[0][10][28]=	       0;
-     EtaROImin[0][10][29]=	    0;EtaROImax[0][10][29]=	     0;PhiROImin[0][10][29]=	      0;PhiROImax[0][10][29]=	       0;
-     EtaROImin[0][10][30]=	    0;EtaROImax[0][10][30]=	     0;PhiROImin[0][10][30]=	      0;PhiROImax[0][10][30]=	       0;
-     EtaROImin[0][10][31]=	    0;EtaROImax[0][10][31]=	     0;PhiROImin[0][10][31]=	      0;PhiROImax[0][10][31]=	       0;
-     EtaROImin[0][11][ 0]=	    0;EtaROImax[0][11][ 0]=	     0;PhiROImin[0][11][ 0]=	      0;PhiROImax[0][11][ 0]=	       0;
-     EtaROImin[0][11][ 1]=  -0.238612;EtaROImax[0][11][ 1]=  -0.130922;PhiROImin[0][11][ 1]=	2.24298;PhiROImax[0][11][ 1]=	 2.35323;
-     EtaROImin[0][11][ 2]=	    0;EtaROImax[0][11][ 2]=	     0;PhiROImin[0][11][ 2]=	      0;PhiROImax[0][11][ 2]=	       0;
-     EtaROImin[0][11][ 3]=  -0.238612;EtaROImax[0][11][ 3]=  -0.130922;PhiROImin[0][11][ 3]=	2.13203;PhiROImax[0][11][ 3]=	 2.23946;
-     EtaROImin[0][11][ 4]=  -0.452099;EtaROImax[0][11][ 4]=  -0.350831;PhiROImin[0][11][ 4]=	2.24358;PhiROImax[0][11][ 4]=	 2.35324;
-     EtaROImin[0][11][ 5]=   -0.35049;EtaROImax[0][11][ 5]=  -0.246207;PhiROImin[0][11][ 5]=	2.24358;PhiROImax[0][11][ 5]=	 2.35324;
-     EtaROImin[0][11][ 6]=  -0.452099;EtaROImax[0][11][ 6]=  -0.350831;PhiROImin[0][11][ 6]=	2.13318;PhiROImax[0][11][ 6]=	 2.24008;
-     EtaROImin[0][11][ 7]=   -0.35049;EtaROImax[0][11][ 7]=  -0.246207;PhiROImin[0][11][ 7]=	2.13318;PhiROImax[0][11][ 7]=	 2.24008;
-     EtaROImin[0][11][ 8]=  -0.648101;EtaROImax[0][11][ 8]=  -0.555789;PhiROImin[0][11][ 8]=	2.24358;PhiROImax[0][11][ 8]=	 2.35324;
-     EtaROImin[0][11][ 9]=  -0.554444;EtaROImax[0][11][ 9]=  -0.458091;PhiROImin[0][11][ 9]=	2.24358;PhiROImax[0][11][ 9]=	 2.35324;
-     EtaROImin[0][11][10]=  -0.648101;EtaROImax[0][11][10]=  -0.555789;PhiROImin[0][11][10]=	2.13318;PhiROImax[0][11][10]=	 2.24008;
-     EtaROImin[0][11][11]=  -0.554444;EtaROImax[0][11][11]=  -0.458091;PhiROImin[0][11][11]=	2.13318;PhiROImax[0][11][11]=	 2.24008;
-     EtaROImin[0][11][12]=  -0.776449;EtaROImax[0][11][12]=  -0.731124;PhiROImin[0][11][12]=	2.24298;PhiROImax[0][11][12]=	 2.35323;
-     EtaROImin[0][11][13]=  -0.728056;EtaROImax[0][11][13]=  -0.655857;PhiROImin[0][11][13]=	2.24298;PhiROImax[0][11][13]=	 2.35323;
-     EtaROImin[0][11][14]=  -0.776449;EtaROImax[0][11][14]=  -0.731124;PhiROImin[0][11][14]=	2.13203;PhiROImax[0][11][14]=	 2.23946;
-     EtaROImin[0][11][15]=  -0.728056;EtaROImax[0][11][15]=  -0.655857;PhiROImin[0][11][15]=	2.13203;PhiROImax[0][11][15]=	 2.23946;
-     EtaROImin[0][11][16]=  -0.895163;EtaROImax[0][11][16]=  -0.853359;PhiROImin[0][11][16]=	2.24298;PhiROImax[0][11][16]=	 2.35323;
-     EtaROImin[0][11][17]=  -0.850528;EtaROImax[0][11][17]=  -0.783867;PhiROImin[0][11][17]=	2.24298;PhiROImax[0][11][17]=	 2.35323;
-     EtaROImin[0][11][18]=  -0.895163;EtaROImax[0][11][18]=  -0.853359;PhiROImin[0][11][18]=	2.13203;PhiROImax[0][11][18]=	 2.23946;
-     EtaROImin[0][11][19]=  -0.850528;EtaROImax[0][11][19]=  -0.783867;PhiROImin[0][11][19]=	2.13203;PhiROImax[0][11][19]=	 2.23946;
-     EtaROImin[0][11][20]=   -1.02514;EtaROImax[0][11][20]=  -0.964674;PhiROImin[0][11][20]=	2.24358;PhiROImax[0][11][20]=	 2.35324;
-     EtaROImin[0][11][21]=  -0.961344;EtaROImax[0][11][21]=  -0.898201;PhiROImin[0][11][21]=	2.24358;PhiROImax[0][11][21]=	 2.35324;
-     EtaROImin[0][11][22]=   -1.02514;EtaROImax[0][11][22]=  -0.964674;PhiROImin[0][11][22]=	2.13318;PhiROImax[0][11][22]=	 2.24008;
-     EtaROImin[0][11][23]=  -0.961344;EtaROImax[0][11][23]=  -0.898201;PhiROImin[0][11][23]=	2.13318;PhiROImax[0][11][23]=	 2.24008;
-     EtaROImin[0][11][24]=	    0;EtaROImax[0][11][24]=	     0;PhiROImin[0][11][24]=	      0;PhiROImax[0][11][24]=	       0;
-     EtaROImin[0][11][25]=   -1.06547;EtaROImax[0][11][25]=   -1.03003;PhiROImin[0][11][25]=	2.24277;PhiROImax[0][11][25]=	 2.35313;
-     EtaROImin[0][11][26]=	    0;EtaROImax[0][11][26]=	     0;PhiROImin[0][11][26]=	      0;PhiROImax[0][11][26]=	       0;
-     EtaROImin[0][11][27]=   -1.06547;EtaROImax[0][11][27]=   -1.03003;PhiROImin[0][11][27]=	2.15905;PhiROImax[0][11][27]=	 2.23924;
-     EtaROImin[0][11][28]=	    0;EtaROImax[0][11][28]=	     0;PhiROImin[0][11][28]=	      0;PhiROImax[0][11][28]=	       0;
-     EtaROImin[0][11][29]=	    0;EtaROImax[0][11][29]=	     0;PhiROImin[0][11][29]=	      0;PhiROImax[0][11][29]=	       0;
-     EtaROImin[0][11][30]=	    0;EtaROImax[0][11][30]=	     0;PhiROImin[0][11][30]=	      0;PhiROImax[0][11][30]=	       0;
-     EtaROImin[0][11][31]=	    0;EtaROImax[0][11][31]=	     0;PhiROImin[0][11][31]=	      0;PhiROImax[0][11][31]=	       0;
-     EtaROImin[0][12][ 0]=  -0.238612;EtaROImax[0][12][ 0]=  -0.130922;PhiROImin[0][12][ 0]=	2.35916;PhiROImax[0][12][ 0]=	 2.46941;
-     EtaROImin[0][12][ 1]=	    0;EtaROImax[0][12][ 1]=	     0;PhiROImin[0][12][ 1]=	      0;PhiROImax[0][12][ 1]=	       0;
-     EtaROImin[0][12][ 2]=  -0.238612;EtaROImax[0][12][ 2]=  -0.130922;PhiROImin[0][12][ 2]=	2.47293;PhiROImax[0][12][ 2]=	 2.58036;
-     EtaROImin[0][12][ 3]=	    0;EtaROImax[0][12][ 3]=	     0;PhiROImin[0][12][ 3]=	      0;PhiROImax[0][12][ 3]=	       0;
-     EtaROImin[0][12][ 4]=   -0.35049;EtaROImax[0][12][ 4]=  -0.246207;PhiROImin[0][12][ 4]=	2.35915;PhiROImax[0][12][ 4]=	 2.46881;
-     EtaROImin[0][12][ 5]=  -0.452099;EtaROImax[0][12][ 5]=  -0.350831;PhiROImin[0][12][ 5]=	2.35915;PhiROImax[0][12][ 5]=	 2.46881;
-     EtaROImin[0][12][ 6]=   -0.35049;EtaROImax[0][12][ 6]=  -0.246207;PhiROImin[0][12][ 6]=	2.47231;PhiROImax[0][12][ 6]=	 2.57921;
-     EtaROImin[0][12][ 7]=  -0.452099;EtaROImax[0][12][ 7]=  -0.350831;PhiROImin[0][12][ 7]=	2.47231;PhiROImax[0][12][ 7]=	 2.57921;
-     EtaROImin[0][12][ 8]=  -0.554444;EtaROImax[0][12][ 8]=  -0.458091;PhiROImin[0][12][ 8]=	2.35915;PhiROImax[0][12][ 8]=	 2.46881;
-     EtaROImin[0][12][ 9]=  -0.648101;EtaROImax[0][12][ 9]=  -0.555789;PhiROImin[0][12][ 9]=	2.35915;PhiROImax[0][12][ 9]=	 2.46881;
-     EtaROImin[0][12][10]=  -0.554444;EtaROImax[0][12][10]=  -0.458091;PhiROImin[0][12][10]=	2.47231;PhiROImax[0][12][10]=	 2.57921;
-     EtaROImin[0][12][11]=  -0.648101;EtaROImax[0][12][11]=  -0.555789;PhiROImin[0][12][11]=	2.47231;PhiROImax[0][12][11]=	 2.57921;
-     EtaROImin[0][12][12]=  -0.703298;EtaROImax[0][12][12]=  -0.655857;PhiROImin[0][12][12]=	2.35916;PhiROImax[0][12][12]=	 2.46941;
-     EtaROImin[0][12][13]=  -0.776449;EtaROImax[0][12][13]=  -0.706413;PhiROImin[0][12][13]=	2.35916;PhiROImax[0][12][13]=	 2.46941;
-     EtaROImin[0][12][14]=  -0.703298;EtaROImax[0][12][14]=  -0.655857;PhiROImin[0][12][14]=	2.47293;PhiROImax[0][12][14]=	 2.58036;
-     EtaROImin[0][12][15]=  -0.776449;EtaROImax[0][12][15]=  -0.706413;PhiROImin[0][12][15]=	2.47293;PhiROImax[0][12][15]=	 2.58036;
-     EtaROImin[0][12][16]=   -0.82768;EtaROImax[0][12][16]=  -0.783867;PhiROImin[0][12][16]=	2.35916;PhiROImax[0][12][16]=	 2.46941;
-     EtaROImin[0][12][17]=  -0.895163;EtaROImax[0][12][17]=  -0.830556;PhiROImin[0][12][17]=	2.35916;PhiROImax[0][12][17]=	 2.46941;
-     EtaROImin[0][12][18]=   -0.82768;EtaROImax[0][12][18]=  -0.783867;PhiROImin[0][12][18]=	2.47293;PhiROImax[0][12][18]=	 2.58036;
-     EtaROImin[0][12][19]=  -0.895163;EtaROImax[0][12][19]=  -0.830556;PhiROImin[0][12][19]=	2.47293;PhiROImax[0][12][19]=	 2.58036;
-     EtaROImin[0][12][20]=  -0.961344;EtaROImax[0][12][20]=  -0.898201;PhiROImin[0][12][20]=	2.35915;PhiROImax[0][12][20]=	 2.46881;
-     EtaROImin[0][12][21]=   -1.02514;EtaROImax[0][12][21]=  -0.964674;PhiROImin[0][12][21]=	2.35915;PhiROImax[0][12][21]=	 2.46881;
-     EtaROImin[0][12][22]=  -0.961344;EtaROImax[0][12][22]=  -0.898201;PhiROImin[0][12][22]=	2.47231;PhiROImax[0][12][22]=	 2.57921;
-     EtaROImin[0][12][23]=   -1.02514;EtaROImax[0][12][23]=  -0.964674;PhiROImin[0][12][23]=	2.47231;PhiROImax[0][12][23]=	 2.57921;
-     EtaROImin[0][12][24]=   -1.06547;EtaROImax[0][12][24]=   -1.03003;PhiROImin[0][12][24]=	2.35926;PhiROImax[0][12][24]=	 2.46962;
-     EtaROImin[0][12][25]=	    0;EtaROImax[0][12][25]=	     0;PhiROImin[0][12][25]=	      0;PhiROImax[0][12][25]=	       0;
-     EtaROImin[0][12][26]=   -1.06547;EtaROImax[0][12][26]=   -1.03003;PhiROImin[0][12][26]=	2.47315;PhiROImax[0][12][26]=	 2.55334;
-     EtaROImin[0][12][27]=	    0;EtaROImax[0][12][27]=	     0;PhiROImin[0][12][27]=	      0;PhiROImax[0][12][27]=	       0;
-     EtaROImin[0][12][28]=	    0;EtaROImax[0][12][28]=	     0;PhiROImin[0][12][28]=	      0;PhiROImax[0][12][28]=	       0;
-     EtaROImin[0][12][29]=	    0;EtaROImax[0][12][29]=	     0;PhiROImin[0][12][29]=	      0;PhiROImax[0][12][29]=	       0;
-     EtaROImin[0][12][30]=	    0;EtaROImax[0][12][30]=	     0;PhiROImin[0][12][30]=	      0;PhiROImax[0][12][30]=	       0;
-     EtaROImin[0][12][31]=	    0;EtaROImax[0][12][31]=	     0;PhiROImin[0][12][31]=	      0;PhiROImax[0][12][31]=	       0;
-     EtaROImin[0][13][ 0]=  -0.214185;EtaROImax[0][13][ 0]=  -0.117369;PhiROImin[0][13][ 0]=	2.66256;PhiROImax[0][13][ 0]=	 2.74612;
-     EtaROImin[0][13][ 1]=  -0.118174;EtaROImax[0][13][ 1]= -0.0207264;PhiROImin[0][13][ 1]=	2.66256;PhiROImax[0][13][ 1]=	 2.74612;
-     EtaROImin[0][13][ 2]=  -0.214185;EtaROImax[0][13][ 2]=  -0.117369;PhiROImin[0][13][ 2]=	2.57665;PhiROImax[0][13][ 2]=	 2.65895;
-     EtaROImin[0][13][ 3]=  -0.118174;EtaROImax[0][13][ 3]= -0.0207264;PhiROImin[0][13][ 3]=	2.57665;PhiROImax[0][13][ 3]=	 2.65895;
-     EtaROImin[0][13][ 4]=  -0.416721;EtaROImax[0][13][ 4]=   -0.30075;PhiROImin[0][13][ 4]=	2.66215;PhiROImax[0][13][ 4]=	  2.7461;
-     EtaROImin[0][13][ 5]=  -0.302928;EtaROImax[0][13][ 5]=  -0.222449;PhiROImin[0][13][ 5]=	2.66215;PhiROImax[0][13][ 5]=	  2.7461;
-     EtaROImin[0][13][ 6]=  -0.416721;EtaROImax[0][13][ 6]=   -0.30075;PhiROImin[0][13][ 6]=	2.57584;PhiROImax[0][13][ 6]=	 2.65852;
-     EtaROImin[0][13][ 7]=  -0.302928;EtaROImax[0][13][ 7]=  -0.222449;PhiROImin[0][13][ 7]=	2.57584;PhiROImax[0][13][ 7]=	 2.65852;
-     EtaROImin[0][13][ 8]=  -0.573871;EtaROImax[0][13][ 8]=  -0.501681;PhiROImin[0][13][ 8]=	2.66215;PhiROImax[0][13][ 8]=	  2.7461;
-     EtaROImin[0][13][ 9]=  -0.504617;EtaROImax[0][13][ 9]=   -0.42967;PhiROImin[0][13][ 9]=	2.66215;PhiROImax[0][13][ 9]=	  2.7461;
-     EtaROImin[0][13][10]=  -0.573871;EtaROImax[0][13][10]=  -0.501681;PhiROImin[0][13][10]=	2.57584;PhiROImax[0][13][10]=	 2.65852;
-     EtaROImin[0][13][11]=  -0.504617;EtaROImax[0][13][11]=   -0.42967;PhiROImin[0][13][11]=	2.57584;PhiROImax[0][13][11]=	 2.65852;
-     EtaROImin[0][13][12]=  -0.741516;EtaROImax[0][13][12]=  -0.649933;PhiROImin[0][13][12]=	2.66215;PhiROImax[0][13][12]=	  2.7461;
-     EtaROImin[0][13][13]=  -0.653329;EtaROImax[0][13][13]=  -0.583785;PhiROImin[0][13][13]=	2.66215;PhiROImax[0][13][13]=	  2.7461;
-     EtaROImin[0][13][14]=  -0.741516;EtaROImax[0][13][14]=  -0.649933;PhiROImin[0][13][14]=	2.57584;PhiROImax[0][13][14]=	 2.65852;
-     EtaROImin[0][13][15]=  -0.653329;EtaROImax[0][13][15]=  -0.583785;PhiROImin[0][13][15]=	2.57584;PhiROImax[0][13][15]=	 2.65852;
-     EtaROImin[0][13][16]=	    0;EtaROImax[0][13][16]=	     0;PhiROImin[0][13][16]=	      0;PhiROImax[0][13][16]=	       0;
-     EtaROImin[0][13][17]=  -0.837822;EtaROImax[0][13][17]=  -0.756521;PhiROImin[0][13][17]=	2.66215;PhiROImax[0][13][17]=	  2.7461;
-     EtaROImin[0][13][18]=	    0;EtaROImax[0][13][18]=	     0;PhiROImin[0][13][18]=	      0;PhiROImax[0][13][18]=	       0;
-     EtaROImin[0][13][19]=  -0.837822;EtaROImax[0][13][19]=  -0.756521;PhiROImin[0][13][19]=	2.57584;PhiROImax[0][13][19]=	 2.65852;
-     EtaROImin[0][13][20]=  -0.956037;EtaROImax[0][13][20]=  -0.899344;PhiROImin[0][13][20]=	2.66215;PhiROImax[0][13][20]=	  2.7461;
-     EtaROImin[0][13][21]=  -0.903324;EtaROImax[0][13][21]=  -0.844116;PhiROImin[0][13][21]=	2.66215;PhiROImax[0][13][21]=	  2.7461;
-     EtaROImin[0][13][22]=  -0.956037;EtaROImax[0][13][22]=  -0.899344;PhiROImin[0][13][22]=	2.57584;PhiROImax[0][13][22]=	 2.65852;
-     EtaROImin[0][13][23]=  -0.903324;EtaROImax[0][13][23]=  -0.844116;PhiROImin[0][13][23]=	2.57584;PhiROImax[0][13][23]=	 2.65852;
-     EtaROImin[0][13][24]=	    0;EtaROImax[0][13][24]=	     0;PhiROImin[0][13][24]=	      0;PhiROImax[0][13][24]=	       0;
-     EtaROImin[0][13][25]=	    0;EtaROImax[0][13][25]=	     0;PhiROImin[0][13][25]=	      0;PhiROImax[0][13][25]=	       0;
-     EtaROImin[0][13][26]=	    0;EtaROImax[0][13][26]=	     0;PhiROImin[0][13][26]=	      0;PhiROImax[0][13][26]=	       0;
-     EtaROImin[0][13][27]=	    0;EtaROImax[0][13][27]=	     0;PhiROImin[0][13][27]=	      0;PhiROImax[0][13][27]=	       0;
-     EtaROImin[0][13][28]=	    0;EtaROImax[0][13][28]=	     0;PhiROImin[0][13][28]=	      0;PhiROImax[0][13][28]=	       0;
-     EtaROImin[0][13][29]=	    0;EtaROImax[0][13][29]=	     0;PhiROImin[0][13][29]=	      0;PhiROImax[0][13][29]=	       0;
-     EtaROImin[0][13][30]=	    0;EtaROImax[0][13][30]=	     0;PhiROImin[0][13][30]=	      0;PhiROImax[0][13][30]=	       0;
-     EtaROImin[0][13][31]=	    0;EtaROImax[0][13][31]=	     0;PhiROImin[0][13][31]=	      0;PhiROImax[0][13][31]=	       0;
-     EtaROImin[0][14][ 0]=  -0.118174;EtaROImax[0][14][ 0]= -0.0207264;PhiROImin[0][14][ 0]=	2.75167;PhiROImax[0][14][ 0]=	 2.83523;
-     EtaROImin[0][14][ 1]=  -0.214185;EtaROImax[0][14][ 1]=  -0.117369;PhiROImin[0][14][ 1]=	2.75167;PhiROImax[0][14][ 1]=	 2.83523;
-     EtaROImin[0][14][ 2]=  -0.118174;EtaROImax[0][14][ 2]= -0.0207264;PhiROImin[0][14][ 2]=	2.83884;PhiROImax[0][14][ 2]=	 2.92113;
-     EtaROImin[0][14][ 3]=  -0.214185;EtaROImax[0][14][ 3]=  -0.117369;PhiROImin[0][14][ 3]=	2.83884;PhiROImax[0][14][ 3]=	 2.92113;
-     EtaROImin[0][14][ 4]=  -0.302928;EtaROImax[0][14][ 4]=  -0.222449;PhiROImin[0][14][ 4]=	2.75168;PhiROImax[0][14][ 4]=	 2.83564;
-     EtaROImin[0][14][ 5]=  -0.416721;EtaROImax[0][14][ 5]=   -0.30075;PhiROImin[0][14][ 5]=	2.75168;PhiROImax[0][14][ 5]=	 2.83564;
-     EtaROImin[0][14][ 6]=  -0.302928;EtaROImax[0][14][ 6]=  -0.222449;PhiROImin[0][14][ 6]=	2.83927;PhiROImax[0][14][ 6]=	 2.92194;
-     EtaROImin[0][14][ 7]=  -0.416721;EtaROImax[0][14][ 7]=   -0.30075;PhiROImin[0][14][ 7]=	2.83927;PhiROImax[0][14][ 7]=	 2.92194;
-     EtaROImin[0][14][ 8]=  -0.504617;EtaROImax[0][14][ 8]=   -0.42967;PhiROImin[0][14][ 8]=	2.75168;PhiROImax[0][14][ 8]=	 2.83564;
-     EtaROImin[0][14][ 9]=  -0.573871;EtaROImax[0][14][ 9]=  -0.501681;PhiROImin[0][14][ 9]=	2.75168;PhiROImax[0][14][ 9]=	 2.83564;
-     EtaROImin[0][14][10]=  -0.504617;EtaROImax[0][14][10]=   -0.42967;PhiROImin[0][14][10]=	2.83927;PhiROImax[0][14][10]=	 2.92194;
-     EtaROImin[0][14][11]=  -0.573871;EtaROImax[0][14][11]=  -0.501681;PhiROImin[0][14][11]=	2.83927;PhiROImax[0][14][11]=	 2.92194;
-     EtaROImin[0][14][12]=  -0.653329;EtaROImax[0][14][12]=  -0.583785;PhiROImin[0][14][12]=	2.75168;PhiROImax[0][14][12]=	 2.83564;
-     EtaROImin[0][14][13]=  -0.741516;EtaROImax[0][14][13]=  -0.649933;PhiROImin[0][14][13]=	2.75168;PhiROImax[0][14][13]=	 2.83564;
-     EtaROImin[0][14][14]=  -0.653329;EtaROImax[0][14][14]=  -0.583785;PhiROImin[0][14][14]=	2.83927;PhiROImax[0][14][14]=	 2.92194;
-     EtaROImin[0][14][15]=  -0.741516;EtaROImax[0][14][15]=  -0.649933;PhiROImin[0][14][15]=	2.83927;PhiROImax[0][14][15]=	 2.92194;
-     EtaROImin[0][14][16]=  -0.837822;EtaROImax[0][14][16]=  -0.756521;PhiROImin[0][14][16]=	2.75168;PhiROImax[0][14][16]=	 2.83564;
-     EtaROImin[0][14][17]=	    0;EtaROImax[0][14][17]=	     0;PhiROImin[0][14][17]=	      0;PhiROImax[0][14][17]=	       0;
-     EtaROImin[0][14][18]=  -0.837822;EtaROImax[0][14][18]=  -0.756521;PhiROImin[0][14][18]=	2.83927;PhiROImax[0][14][18]=	 2.92194;
-     EtaROImin[0][14][19]=	    0;EtaROImax[0][14][19]=	     0;PhiROImin[0][14][19]=	      0;PhiROImax[0][14][19]=	       0;
-     EtaROImin[0][14][20]=  -0.903324;EtaROImax[0][14][20]=  -0.844116;PhiROImin[0][14][20]=	2.75168;PhiROImax[0][14][20]=	 2.83564;
-     EtaROImin[0][14][21]=  -0.956037;EtaROImax[0][14][21]=  -0.899344;PhiROImin[0][14][21]=	2.75168;PhiROImax[0][14][21]=	 2.83564;
-     EtaROImin[0][14][22]=  -0.903324;EtaROImax[0][14][22]=  -0.844116;PhiROImin[0][14][22]=	2.83927;PhiROImax[0][14][22]=	 2.92194;
-     EtaROImin[0][14][23]=  -0.956037;EtaROImax[0][14][23]=  -0.899344;PhiROImin[0][14][23]=	2.83927;PhiROImax[0][14][23]=	 2.92194;
-     EtaROImin[0][14][24]=	    0;EtaROImax[0][14][24]=	     0;PhiROImin[0][14][24]=	      0;PhiROImax[0][14][24]=	       0;
-     EtaROImin[0][14][25]=	    0;EtaROImax[0][14][25]=	     0;PhiROImin[0][14][25]=	      0;PhiROImax[0][14][25]=	       0;
-     EtaROImin[0][14][26]=	    0;EtaROImax[0][14][26]=	     0;PhiROImin[0][14][26]=	      0;PhiROImax[0][14][26]=	       0;
-     EtaROImin[0][14][27]=	    0;EtaROImax[0][14][27]=	     0;PhiROImin[0][14][27]=	      0;PhiROImax[0][14][27]=	       0;
-     EtaROImin[0][14][28]=	    0;EtaROImax[0][14][28]=	     0;PhiROImin[0][14][28]=	      0;PhiROImax[0][14][28]=	       0;
-     EtaROImin[0][14][29]=	    0;EtaROImax[0][14][29]=	     0;PhiROImin[0][14][29]=	      0;PhiROImax[0][14][29]=	       0;
-     EtaROImin[0][14][30]=	    0;EtaROImax[0][14][30]=	     0;PhiROImin[0][14][30]=	      0;PhiROImax[0][14][30]=	       0;
-     EtaROImin[0][14][31]=	    0;EtaROImax[0][14][31]=	     0;PhiROImin[0][14][31]=	      0;PhiROImax[0][14][31]=	       0;
-     EtaROImin[0][15][ 0]=  -0.238476;EtaROImax[0][15][ 0]=  -0.180926;PhiROImin[0][15][ 0]=	3.02838;PhiROImax[0][15][ 0]=	 3.13862;
-     EtaROImin[0][15][ 1]=  -0.177066;EtaROImax[0][15][ 1]= -0.0876766;PhiROImin[0][15][ 1]=	3.02838;PhiROImax[0][15][ 1]=	 3.13862;
-     EtaROImin[0][15][ 2]=  -0.238476;EtaROImax[0][15][ 2]=  -0.180926;PhiROImin[0][15][ 2]=	2.91742;PhiROImax[0][15][ 2]=	 3.02486;
-     EtaROImin[0][15][ 3]=  -0.177066;EtaROImax[0][15][ 3]= -0.0876766;PhiROImin[0][15][ 3]=	2.91742;PhiROImax[0][15][ 3]=	 3.02486;
-     EtaROImin[0][15][ 4]=  -0.452099;EtaROImax[0][15][ 4]=  -0.350831;PhiROImin[0][15][ 4]=	3.02898;PhiROImax[0][15][ 4]=	 3.13864;
-     EtaROImin[0][15][ 5]=   -0.35049;EtaROImax[0][15][ 5]=  -0.246207;PhiROImin[0][15][ 5]=	3.02898;PhiROImax[0][15][ 5]=	 3.13864;
-     EtaROImin[0][15][ 6]=  -0.452099;EtaROImax[0][15][ 6]=  -0.350831;PhiROImin[0][15][ 6]=	2.91858;PhiROImax[0][15][ 6]=	 3.02547;
-     EtaROImin[0][15][ 7]=   -0.35049;EtaROImax[0][15][ 7]=  -0.246207;PhiROImin[0][15][ 7]=	2.91858;PhiROImax[0][15][ 7]=	 3.02547;
-     EtaROImin[0][15][ 8]=  -0.648101;EtaROImax[0][15][ 8]=  -0.555789;PhiROImin[0][15][ 8]=	3.02898;PhiROImax[0][15][ 8]=	 3.13864;
-     EtaROImin[0][15][ 9]=  -0.554444;EtaROImax[0][15][ 9]=  -0.458091;PhiROImin[0][15][ 9]=	3.02898;PhiROImax[0][15][ 9]=	 3.13864;
-     EtaROImin[0][15][10]=  -0.648101;EtaROImax[0][15][10]=  -0.555789;PhiROImin[0][15][10]=	2.91858;PhiROImax[0][15][10]=	 3.02547;
-     EtaROImin[0][15][11]=  -0.554444;EtaROImax[0][15][11]=  -0.458091;PhiROImin[0][15][11]=	2.91858;PhiROImax[0][15][11]=	 3.02547;
-     EtaROImin[0][15][12]=  -0.776449;EtaROImax[0][15][12]=  -0.731124;PhiROImin[0][15][12]=	3.02838;PhiROImax[0][15][12]=	 3.13862;
-     EtaROImin[0][15][13]=  -0.728056;EtaROImax[0][15][13]=  -0.655857;PhiROImin[0][15][13]=	3.02838;PhiROImax[0][15][13]=	 3.13862;
-     EtaROImin[0][15][14]=  -0.776449;EtaROImax[0][15][14]=  -0.731124;PhiROImin[0][15][14]=	2.91742;PhiROImax[0][15][14]=	 3.02486;
-     EtaROImin[0][15][15]=  -0.728056;EtaROImax[0][15][15]=  -0.655857;PhiROImin[0][15][15]=	2.91742;PhiROImax[0][15][15]=	 3.02486;
-     EtaROImin[0][15][16]=  -0.895163;EtaROImax[0][15][16]=  -0.853359;PhiROImin[0][15][16]=	3.02838;PhiROImax[0][15][16]=	 3.13862;
-     EtaROImin[0][15][17]=  -0.850528;EtaROImax[0][15][17]=  -0.783867;PhiROImin[0][15][17]=	3.02838;PhiROImax[0][15][17]=	 3.13862;
-     EtaROImin[0][15][18]=  -0.895163;EtaROImax[0][15][18]=  -0.853359;PhiROImin[0][15][18]=	2.91742;PhiROImax[0][15][18]=	 3.02486;
-     EtaROImin[0][15][19]=  -0.850528;EtaROImax[0][15][19]=  -0.783867;PhiROImin[0][15][19]=	2.91742;PhiROImax[0][15][19]=	 3.02486;
-     EtaROImin[0][15][20]=   -1.02514;EtaROImax[0][15][20]=  -0.964674;PhiROImin[0][15][20]=	3.02898;PhiROImax[0][15][20]=	 3.13864;
-     EtaROImin[0][15][21]=  -0.961344;EtaROImax[0][15][21]=  -0.898201;PhiROImin[0][15][21]=	3.02898;PhiROImax[0][15][21]=	 3.13864;
-     EtaROImin[0][15][22]=   -1.02514;EtaROImax[0][15][22]=  -0.964674;PhiROImin[0][15][22]=	2.91858;PhiROImax[0][15][22]=	 3.02547;
-     EtaROImin[0][15][23]=  -0.961344;EtaROImax[0][15][23]=  -0.898201;PhiROImin[0][15][23]=	2.91858;PhiROImax[0][15][23]=	 3.02547;
-     EtaROImin[0][15][24]=	    0;EtaROImax[0][15][24]=	     0;PhiROImin[0][15][24]=	      0;PhiROImax[0][15][24]=	       0;
-     EtaROImin[0][15][25]=   -1.06547;EtaROImax[0][15][25]=   -1.03003;PhiROImin[0][15][25]=	3.02816;PhiROImax[0][15][25]=	 3.13852;
-     EtaROImin[0][15][26]=	    0;EtaROImax[0][15][26]=	     0;PhiROImin[0][15][26]=	      0;PhiROImax[0][15][26]=	       0;
-     EtaROImin[0][15][27]=   -1.06547;EtaROImax[0][15][27]=   -1.03003;PhiROImin[0][15][27]=	2.94445;PhiROImax[0][15][27]=	 3.02463;
-     EtaROImin[0][15][28]=	    0;EtaROImax[0][15][28]=	     0;PhiROImin[0][15][28]=	      0;PhiROImax[0][15][28]=	       0;
-     EtaROImin[0][15][29]=	    0;EtaROImax[0][15][29]=	     0;PhiROImin[0][15][29]=	      0;PhiROImax[0][15][29]=	       0;
-     EtaROImin[0][15][30]=	    0;EtaROImax[0][15][30]=	     0;PhiROImin[0][15][30]=	      0;PhiROImax[0][15][30]=	       0;
-     EtaROImin[0][15][31]=	    0;EtaROImax[0][15][31]=	     0;PhiROImin[0][15][31]=	      0;PhiROImax[0][15][31]=	       0;
-     EtaROImin[0][16][ 0]=  -0.146097;EtaROImax[0][16][ 0]= -0.0876766;PhiROImin[0][16][ 0]=   -3.13862;PhiROImax[0][16][ 0]=	-3.02838;
-     EtaROImin[0][16][ 1]=  -0.238476;EtaROImax[0][16][ 1]=  -0.149976;PhiROImin[0][16][ 1]=   -3.13862;PhiROImax[0][16][ 1]=	-3.02838;
-     EtaROImin[0][16][ 2]=  -0.146097;EtaROImax[0][16][ 2]= -0.0876766;PhiROImin[0][16][ 2]=   -3.02486;PhiROImax[0][16][ 2]=	-2.91742;
-     EtaROImin[0][16][ 3]=  -0.238476;EtaROImax[0][16][ 3]=  -0.149976;PhiROImin[0][16][ 3]=   -3.02486;PhiROImax[0][16][ 3]=	-2.91742;
-     EtaROImin[0][16][ 4]=   -0.35049;EtaROImax[0][16][ 4]=  -0.246207;PhiROImin[0][16][ 4]=   -3.13864;PhiROImax[0][16][ 4]=	-3.02898;
-     EtaROImin[0][16][ 5]=  -0.452099;EtaROImax[0][16][ 5]=  -0.350831;PhiROImin[0][16][ 5]=   -3.13864;PhiROImax[0][16][ 5]=	-3.02898;
-     EtaROImin[0][16][ 6]=   -0.35049;EtaROImax[0][16][ 6]=  -0.246207;PhiROImin[0][16][ 6]=   -3.02547;PhiROImax[0][16][ 6]=	-2.91858;
-     EtaROImin[0][16][ 7]=  -0.452099;EtaROImax[0][16][ 7]=  -0.350831;PhiROImin[0][16][ 7]=   -3.02547;PhiROImax[0][16][ 7]=	-2.91858;
-     EtaROImin[0][16][ 8]=  -0.554444;EtaROImax[0][16][ 8]=  -0.458091;PhiROImin[0][16][ 8]=   -3.13864;PhiROImax[0][16][ 8]=	-3.02898;
-     EtaROImin[0][16][ 9]=  -0.648101;EtaROImax[0][16][ 9]=  -0.555789;PhiROImin[0][16][ 9]=   -3.13864;PhiROImax[0][16][ 9]=	-3.02898;
-     EtaROImin[0][16][10]=  -0.554444;EtaROImax[0][16][10]=  -0.458091;PhiROImin[0][16][10]=   -3.02547;PhiROImax[0][16][10]=	-2.91858;
-     EtaROImin[0][16][11]=  -0.648101;EtaROImax[0][16][11]=  -0.555789;PhiROImin[0][16][11]=   -3.02547;PhiROImax[0][16][11]=	-2.91858;
-     EtaROImin[0][16][12]=  -0.703298;EtaROImax[0][16][12]=  -0.655857;PhiROImin[0][16][12]=   -3.13862;PhiROImax[0][16][12]=	-3.02838;
-     EtaROImin[0][16][13]=  -0.776449;EtaROImax[0][16][13]=  -0.706413;PhiROImin[0][16][13]=   -3.13862;PhiROImax[0][16][13]=	-3.02838;
-     EtaROImin[0][16][14]=  -0.703298;EtaROImax[0][16][14]=  -0.655857;PhiROImin[0][16][14]=   -3.02486;PhiROImax[0][16][14]=	-2.91742;
-     EtaROImin[0][16][15]=  -0.776449;EtaROImax[0][16][15]=  -0.706413;PhiROImin[0][16][15]=   -3.02486;PhiROImax[0][16][15]=	-2.91742;
-     EtaROImin[0][16][16]=   -0.82768;EtaROImax[0][16][16]=  -0.783867;PhiROImin[0][16][16]=   -3.13862;PhiROImax[0][16][16]=	-3.02838;
-     EtaROImin[0][16][17]=  -0.895163;EtaROImax[0][16][17]=  -0.830556;PhiROImin[0][16][17]=   -3.13862;PhiROImax[0][16][17]=	-3.02838;
-     EtaROImin[0][16][18]=   -0.82768;EtaROImax[0][16][18]=  -0.783867;PhiROImin[0][16][18]=   -3.02486;PhiROImax[0][16][18]=	-2.91742;
-     EtaROImin[0][16][19]=  -0.895163;EtaROImax[0][16][19]=  -0.830556;PhiROImin[0][16][19]=   -3.02486;PhiROImax[0][16][19]=	-2.91742;
-     EtaROImin[0][16][20]=  -0.961344;EtaROImax[0][16][20]=  -0.898201;PhiROImin[0][16][20]=   -3.13864;PhiROImax[0][16][20]=	-3.02898;
-     EtaROImin[0][16][21]=   -1.02514;EtaROImax[0][16][21]=  -0.964674;PhiROImin[0][16][21]=   -3.13864;PhiROImax[0][16][21]=	-3.02898;
-     EtaROImin[0][16][22]=  -0.961344;EtaROImax[0][16][22]=  -0.898201;PhiROImin[0][16][22]=   -3.02547;PhiROImax[0][16][22]=	-2.91858;
-     EtaROImin[0][16][23]=   -1.02514;EtaROImax[0][16][23]=  -0.964674;PhiROImin[0][16][23]=   -3.02547;PhiROImax[0][16][23]=	-2.91858;
-     EtaROImin[0][16][24]=   -1.06547;EtaROImax[0][16][24]=   -1.03003;PhiROImin[0][16][24]=   -3.13852;PhiROImax[0][16][24]=	-3.02816;
-     EtaROImin[0][16][25]=	    0;EtaROImax[0][16][25]=	     0;PhiROImin[0][16][25]=	      0;PhiROImax[0][16][25]=	       0;
-     EtaROImin[0][16][26]=   -1.06547;EtaROImax[0][16][26]=   -1.03003;PhiROImin[0][16][26]=   -3.02463;PhiROImax[0][16][26]=	-2.94445;
-     EtaROImin[0][16][27]=	    0;EtaROImax[0][16][27]=	     0;PhiROImin[0][16][27]=	      0;PhiROImax[0][16][27]=	       0;
-     EtaROImin[0][16][28]=	    0;EtaROImax[0][16][28]=	     0;PhiROImin[0][16][28]=	      0;PhiROImax[0][16][28]=	       0;
-     EtaROImin[0][16][29]=	    0;EtaROImax[0][16][29]=	     0;PhiROImin[0][16][29]=	      0;PhiROImax[0][16][29]=	       0;
-     EtaROImin[0][16][30]=	    0;EtaROImax[0][16][30]=	     0;PhiROImin[0][16][30]=	      0;PhiROImax[0][16][30]=	       0;
-     EtaROImin[0][16][31]=	    0;EtaROImax[0][16][31]=	     0;PhiROImin[0][16][31]=	      0;PhiROImax[0][16][31]=	       0;
-     EtaROImin[0][17][ 0]=  -0.213185;EtaROImax[0][17][ 0]=  -0.116816;PhiROImin[0][17][ 0]=   -2.83564;PhiROImax[0][17][ 0]=	-2.75168;
-     EtaROImin[0][17][ 1]=  -0.118734;EtaROImax[0][17][ 1]= -0.0208251;PhiROImin[0][17][ 1]=   -2.83564;PhiROImax[0][17][ 1]=	-2.75168;
-     EtaROImin[0][17][ 2]=  -0.213185;EtaROImax[0][17][ 2]=  -0.116816;PhiROImin[0][17][ 2]=   -2.92194;PhiROImax[0][17][ 2]=	-2.83927;
-     EtaROImin[0][17][ 3]=  -0.118734;EtaROImax[0][17][ 3]= -0.0208251;PhiROImin[0][17][ 3]=   -2.92194;PhiROImax[0][17][ 3]=	-2.83927;
-     EtaROImin[0][17][ 4]=  -0.416721;EtaROImax[0][17][ 4]=   -0.30075;PhiROImin[0][17][ 4]=   -2.83564;PhiROImax[0][17][ 4]=	-2.75168;
-     EtaROImin[0][17][ 5]=  -0.302928;EtaROImax[0][17][ 5]=  -0.222449;PhiROImin[0][17][ 5]=   -2.83564;PhiROImax[0][17][ 5]=	-2.75168;
-     EtaROImin[0][17][ 6]=  -0.416721;EtaROImax[0][17][ 6]=   -0.30075;PhiROImin[0][17][ 6]=   -2.92194;PhiROImax[0][17][ 6]=	-2.83927;
-     EtaROImin[0][17][ 7]=  -0.302928;EtaROImax[0][17][ 7]=  -0.222449;PhiROImin[0][17][ 7]=   -2.92194;PhiROImax[0][17][ 7]=	-2.83927;
-     EtaROImin[0][17][ 8]=  -0.573871;EtaROImax[0][17][ 8]=  -0.501681;PhiROImin[0][17][ 8]=   -2.83564;PhiROImax[0][17][ 8]=	-2.75168;
-     EtaROImin[0][17][ 9]=  -0.504617;EtaROImax[0][17][ 9]=   -0.42967;PhiROImin[0][17][ 9]=   -2.83564;PhiROImax[0][17][ 9]=	-2.75168;
-     EtaROImin[0][17][10]=  -0.573871;EtaROImax[0][17][10]=  -0.501681;PhiROImin[0][17][10]=   -2.92194;PhiROImax[0][17][10]=	-2.83927;
-     EtaROImin[0][17][11]=  -0.504617;EtaROImax[0][17][11]=   -0.42967;PhiROImin[0][17][11]=   -2.92194;PhiROImax[0][17][11]=	-2.83927;
-     EtaROImin[0][17][12]=  -0.741516;EtaROImax[0][17][12]=  -0.649933;PhiROImin[0][17][12]=   -2.83564;PhiROImax[0][17][12]=	-2.75168;
-     EtaROImin[0][17][13]=  -0.653329;EtaROImax[0][17][13]=  -0.583785;PhiROImin[0][17][13]=   -2.83564;PhiROImax[0][17][13]=	-2.75168;
-     EtaROImin[0][17][14]=  -0.741516;EtaROImax[0][17][14]=  -0.649933;PhiROImin[0][17][14]=   -2.92194;PhiROImax[0][17][14]=	-2.83927;
-     EtaROImin[0][17][15]=  -0.653329;EtaROImax[0][17][15]=  -0.583785;PhiROImin[0][17][15]=   -2.92194;PhiROImax[0][17][15]=	-2.83927;
-     EtaROImin[0][17][16]=	    0;EtaROImax[0][17][16]=	     0;PhiROImin[0][17][16]=	      0;PhiROImax[0][17][16]=	       0;
-     EtaROImin[0][17][17]=  -0.837822;EtaROImax[0][17][17]=  -0.756521;PhiROImin[0][17][17]=   -2.83564;PhiROImax[0][17][17]=	-2.75168;
-     EtaROImin[0][17][18]=	    0;EtaROImax[0][17][18]=	     0;PhiROImin[0][17][18]=	      0;PhiROImax[0][17][18]=	       0;
-     EtaROImin[0][17][19]=  -0.837822;EtaROImax[0][17][19]=  -0.756521;PhiROImin[0][17][19]=   -2.92194;PhiROImax[0][17][19]=	-2.83927;
-     EtaROImin[0][17][20]=  -0.956037;EtaROImax[0][17][20]=  -0.899344;PhiROImin[0][17][20]=   -2.83564;PhiROImax[0][17][20]=	-2.75168;
-     EtaROImin[0][17][21]=  -0.903324;EtaROImax[0][17][21]=  -0.844116;PhiROImin[0][17][21]=   -2.83564;PhiROImax[0][17][21]=	-2.75168;
-     EtaROImin[0][17][22]=  -0.956037;EtaROImax[0][17][22]=  -0.899344;PhiROImin[0][17][22]=   -2.92194;PhiROImax[0][17][22]=	-2.83927;
-     EtaROImin[0][17][23]=  -0.903324;EtaROImax[0][17][23]=  -0.844116;PhiROImin[0][17][23]=   -2.92194;PhiROImax[0][17][23]=	-2.83927;
-     EtaROImin[0][17][24]=	    0;EtaROImax[0][17][24]=	     0;PhiROImin[0][17][24]=	      0;PhiROImax[0][17][24]=	       0;
-     EtaROImin[0][17][25]=	    0;EtaROImax[0][17][25]=	     0;PhiROImin[0][17][25]=	      0;PhiROImax[0][17][25]=	       0;
-     EtaROImin[0][17][26]=	    0;EtaROImax[0][17][26]=	     0;PhiROImin[0][17][26]=	      0;PhiROImax[0][17][26]=	       0;
-     EtaROImin[0][17][27]=	    0;EtaROImax[0][17][27]=	     0;PhiROImin[0][17][27]=	      0;PhiROImax[0][17][27]=	       0;
-     EtaROImin[0][17][28]=	    0;EtaROImax[0][17][28]=	     0;PhiROImin[0][17][28]=	      0;PhiROImax[0][17][28]=	       0;
-     EtaROImin[0][17][29]=	    0;EtaROImax[0][17][29]=	     0;PhiROImin[0][17][29]=	      0;PhiROImax[0][17][29]=	       0;
-     EtaROImin[0][17][30]=	    0;EtaROImax[0][17][30]=	     0;PhiROImin[0][17][30]=	      0;PhiROImax[0][17][30]=	       0;
-     EtaROImin[0][17][31]=	    0;EtaROImax[0][17][31]=	     0;PhiROImin[0][17][31]=	      0;PhiROImax[0][17][31]=	       0;
-     EtaROImin[0][18][ 0]=  -0.118734;EtaROImax[0][18][ 0]= -0.0208251;PhiROImin[0][18][ 0]=	-2.7461;PhiROImax[0][18][ 0]=	-2.66215;
-     EtaROImin[0][18][ 1]=  -0.213185;EtaROImax[0][18][ 1]=  -0.116816;PhiROImin[0][18][ 1]=	-2.7461;PhiROImax[0][18][ 1]=	-2.66215;
-     EtaROImin[0][18][ 2]=  -0.118734;EtaROImax[0][18][ 2]= -0.0208251;PhiROImin[0][18][ 2]=   -2.65852;PhiROImax[0][18][ 2]=	-2.57584;
-     EtaROImin[0][18][ 3]=  -0.213185;EtaROImax[0][18][ 3]=  -0.116816;PhiROImin[0][18][ 3]=   -2.65852;PhiROImax[0][18][ 3]=	-2.57584;
-     EtaROImin[0][18][ 4]=  -0.302928;EtaROImax[0][18][ 4]=  -0.222449;PhiROImin[0][18][ 4]=	-2.7461;PhiROImax[0][18][ 4]=	-2.66215;
-     EtaROImin[0][18][ 5]=  -0.416721;EtaROImax[0][18][ 5]=   -0.30075;PhiROImin[0][18][ 5]=	-2.7461;PhiROImax[0][18][ 5]=	-2.66215;
-     EtaROImin[0][18][ 6]=  -0.302928;EtaROImax[0][18][ 6]=  -0.222449;PhiROImin[0][18][ 6]=   -2.65852;PhiROImax[0][18][ 6]=	-2.57584;
-     EtaROImin[0][18][ 7]=  -0.416721;EtaROImax[0][18][ 7]=   -0.30075;PhiROImin[0][18][ 7]=   -2.65852;PhiROImax[0][18][ 7]=	-2.57584;
-     EtaROImin[0][18][ 8]=  -0.504617;EtaROImax[0][18][ 8]=   -0.42967;PhiROImin[0][18][ 8]=	-2.7461;PhiROImax[0][18][ 8]=	-2.66215;
-     EtaROImin[0][18][ 9]=  -0.573871;EtaROImax[0][18][ 9]=  -0.501681;PhiROImin[0][18][ 9]=	-2.7461;PhiROImax[0][18][ 9]=	-2.66215;
-     EtaROImin[0][18][10]=  -0.504617;EtaROImax[0][18][10]=   -0.42967;PhiROImin[0][18][10]=   -2.65852;PhiROImax[0][18][10]=	-2.57584;
-     EtaROImin[0][18][11]=  -0.573871;EtaROImax[0][18][11]=  -0.501681;PhiROImin[0][18][11]=   -2.65852;PhiROImax[0][18][11]=	-2.57584;
-     EtaROImin[0][18][12]=  -0.653329;EtaROImax[0][18][12]=  -0.583785;PhiROImin[0][18][12]=	-2.7461;PhiROImax[0][18][12]=	-2.66215;
-     EtaROImin[0][18][13]=  -0.741516;EtaROImax[0][18][13]=  -0.649933;PhiROImin[0][18][13]=	-2.7461;PhiROImax[0][18][13]=	-2.66215;
-     EtaROImin[0][18][14]=  -0.653329;EtaROImax[0][18][14]=  -0.583785;PhiROImin[0][18][14]=   -2.65852;PhiROImax[0][18][14]=	-2.57584;
-     EtaROImin[0][18][15]=  -0.741516;EtaROImax[0][18][15]=  -0.649933;PhiROImin[0][18][15]=   -2.65852;PhiROImax[0][18][15]=	-2.57584;
-     EtaROImin[0][18][16]=  -0.837822;EtaROImax[0][18][16]=  -0.756521;PhiROImin[0][18][16]=	-2.7461;PhiROImax[0][18][16]=	-2.66215;
-     EtaROImin[0][18][17]=	    0;EtaROImax[0][18][17]=	     0;PhiROImin[0][18][17]=	      0;PhiROImax[0][18][17]=	       0;
-     EtaROImin[0][18][18]=  -0.837822;EtaROImax[0][18][18]=  -0.756521;PhiROImin[0][18][18]=   -2.65852;PhiROImax[0][18][18]=	-2.57584;
-     EtaROImin[0][18][19]=	    0;EtaROImax[0][18][19]=	     0;PhiROImin[0][18][19]=	      0;PhiROImax[0][18][19]=	       0;
-     EtaROImin[0][18][20]=  -0.903324;EtaROImax[0][18][20]=  -0.844116;PhiROImin[0][18][20]=	-2.7461;PhiROImax[0][18][20]=	-2.66215;
-     EtaROImin[0][18][21]=  -0.956037;EtaROImax[0][18][21]=  -0.899344;PhiROImin[0][18][21]=	-2.7461;PhiROImax[0][18][21]=	-2.66215;
-     EtaROImin[0][18][22]=  -0.903324;EtaROImax[0][18][22]=  -0.844116;PhiROImin[0][18][22]=   -2.65852;PhiROImax[0][18][22]=	-2.57584;
-     EtaROImin[0][18][23]=  -0.956037;EtaROImax[0][18][23]=  -0.899344;PhiROImin[0][18][23]=   -2.65852;PhiROImax[0][18][23]=	-2.57584;
-     EtaROImin[0][18][24]=	    0;EtaROImax[0][18][24]=	     0;PhiROImin[0][18][24]=	      0;PhiROImax[0][18][24]=	       0;
-     EtaROImin[0][18][25]=	    0;EtaROImax[0][18][25]=	     0;PhiROImin[0][18][25]=	      0;PhiROImax[0][18][25]=	       0;
-     EtaROImin[0][18][26]=	    0;EtaROImax[0][18][26]=	     0;PhiROImin[0][18][26]=	      0;PhiROImax[0][18][26]=	       0;
-     EtaROImin[0][18][27]=	    0;EtaROImax[0][18][27]=	     0;PhiROImin[0][18][27]=	      0;PhiROImax[0][18][27]=	       0;
-     EtaROImin[0][18][28]=	    0;EtaROImax[0][18][28]=	     0;PhiROImin[0][18][28]=	      0;PhiROImax[0][18][28]=	       0;
-     EtaROImin[0][18][29]=	    0;EtaROImax[0][18][29]=	     0;PhiROImin[0][18][29]=	      0;PhiROImax[0][18][29]=	       0;
-     EtaROImin[0][18][30]=	    0;EtaROImax[0][18][30]=	     0;PhiROImin[0][18][30]=	      0;PhiROImax[0][18][30]=	       0;
-     EtaROImin[0][18][31]=	    0;EtaROImax[0][18][31]=	     0;PhiROImin[0][18][31]=	      0;PhiROImax[0][18][31]=	       0;
-     EtaROImin[0][19][ 0]=  -0.238294;EtaROImax[0][19][ 0]=  -0.180742;PhiROImin[0][19][ 0]=   -2.46941;PhiROImax[0][19][ 0]=	-2.35916;
-     EtaROImin[0][19][ 1]=  -0.176882;EtaROImax[0][19][ 1]= -0.0874905;PhiROImin[0][19][ 1]=   -2.46941;PhiROImax[0][19][ 1]=	-2.35916;
-     EtaROImin[0][19][ 2]=  -0.238294;EtaROImax[0][19][ 2]=  -0.180742;PhiROImin[0][19][ 2]=   -2.58036;PhiROImax[0][19][ 2]=	-2.47293;
-     EtaROImin[0][19][ 3]=  -0.176882;EtaROImax[0][19][ 3]= -0.0874905;PhiROImin[0][19][ 3]=   -2.58036;PhiROImax[0][19][ 3]=	-2.47293;
-     EtaROImin[0][19][ 4]=  -0.452099;EtaROImax[0][19][ 4]=  -0.350831;PhiROImin[0][19][ 4]=   -2.46881;PhiROImax[0][19][ 4]=	-2.35915;
-     EtaROImin[0][19][ 5]=   -0.35049;EtaROImax[0][19][ 5]=  -0.246207;PhiROImin[0][19][ 5]=   -2.46881;PhiROImax[0][19][ 5]=	-2.35915;
-     EtaROImin[0][19][ 6]=  -0.452099;EtaROImax[0][19][ 6]=  -0.350831;PhiROImin[0][19][ 6]=   -2.57921;PhiROImax[0][19][ 6]=	-2.47231;
-     EtaROImin[0][19][ 7]=   -0.35049;EtaROImax[0][19][ 7]=  -0.246207;PhiROImin[0][19][ 7]=   -2.57921;PhiROImax[0][19][ 7]=	-2.47231;
-     EtaROImin[0][19][ 8]=  -0.648101;EtaROImax[0][19][ 8]=  -0.555789;PhiROImin[0][19][ 8]=   -2.46881;PhiROImax[0][19][ 8]=	-2.35915;
-     EtaROImin[0][19][ 9]=  -0.554444;EtaROImax[0][19][ 9]=  -0.458091;PhiROImin[0][19][ 9]=   -2.46881;PhiROImax[0][19][ 9]=	-2.35915;
-     EtaROImin[0][19][10]=  -0.648101;EtaROImax[0][19][10]=  -0.555789;PhiROImin[0][19][10]=   -2.57921;PhiROImax[0][19][10]=	-2.47231;
-     EtaROImin[0][19][11]=  -0.554444;EtaROImax[0][19][11]=  -0.458091;PhiROImin[0][19][11]=   -2.57921;PhiROImax[0][19][11]=	-2.47231;
-     EtaROImin[0][19][12]=  -0.776449;EtaROImax[0][19][12]=  -0.731124;PhiROImin[0][19][12]=   -2.46941;PhiROImax[0][19][12]=	-2.35916;
-     EtaROImin[0][19][13]=  -0.728056;EtaROImax[0][19][13]=  -0.655857;PhiROImin[0][19][13]=   -2.46941;PhiROImax[0][19][13]=	-2.35916;
-     EtaROImin[0][19][14]=  -0.776449;EtaROImax[0][19][14]=  -0.731124;PhiROImin[0][19][14]=   -2.58036;PhiROImax[0][19][14]=	-2.47293;
-     EtaROImin[0][19][15]=  -0.728056;EtaROImax[0][19][15]=  -0.655857;PhiROImin[0][19][15]=   -2.58036;PhiROImax[0][19][15]=	-2.47293;
-     EtaROImin[0][19][16]=  -0.895163;EtaROImax[0][19][16]=  -0.853359;PhiROImin[0][19][16]=   -2.46941;PhiROImax[0][19][16]=	-2.35916;
-     EtaROImin[0][19][17]=  -0.850528;EtaROImax[0][19][17]=  -0.783867;PhiROImin[0][19][17]=   -2.46941;PhiROImax[0][19][17]=	-2.35916;
-     EtaROImin[0][19][18]=  -0.895163;EtaROImax[0][19][18]=  -0.853359;PhiROImin[0][19][18]=   -2.58036;PhiROImax[0][19][18]=	-2.47293;
-     EtaROImin[0][19][19]=  -0.850528;EtaROImax[0][19][19]=  -0.783867;PhiROImin[0][19][19]=   -2.58036;PhiROImax[0][19][19]=	-2.47293;
-     EtaROImin[0][19][20]=   -1.02514;EtaROImax[0][19][20]=  -0.964674;PhiROImin[0][19][20]=   -2.46881;PhiROImax[0][19][20]=	-2.35915;
-     EtaROImin[0][19][21]=  -0.961344;EtaROImax[0][19][21]=  -0.898201;PhiROImin[0][19][21]=   -2.46881;PhiROImax[0][19][21]=	-2.35915;
-     EtaROImin[0][19][22]=   -1.02514;EtaROImax[0][19][22]=  -0.964674;PhiROImin[0][19][22]=   -2.57921;PhiROImax[0][19][22]=	-2.47231;
-     EtaROImin[0][19][23]=  -0.961344;EtaROImax[0][19][23]=  -0.898201;PhiROImin[0][19][23]=   -2.57921;PhiROImax[0][19][23]=	-2.47231;
-     EtaROImin[0][19][24]=	    0;EtaROImax[0][19][24]=	     0;PhiROImin[0][19][24]=	      0;PhiROImax[0][19][24]=	       0;
-     EtaROImin[0][19][25]=   -1.06547;EtaROImax[0][19][25]=   -1.03003;PhiROImin[0][19][25]=   -2.46962;PhiROImax[0][19][25]=	-2.35926;
-     EtaROImin[0][19][26]=	    0;EtaROImax[0][19][26]=	     0;PhiROImin[0][19][26]=	      0;PhiROImax[0][19][26]=	       0;
-     EtaROImin[0][19][27]=   -1.06547;EtaROImax[0][19][27]=   -1.03003;PhiROImin[0][19][27]=   -2.55334;PhiROImax[0][19][27]=	-2.47315;
-     EtaROImin[0][19][28]=	    0;EtaROImax[0][19][28]=	     0;PhiROImin[0][19][28]=	      0;PhiROImax[0][19][28]=	       0;
-     EtaROImin[0][19][29]=	    0;EtaROImax[0][19][29]=	     0;PhiROImin[0][19][29]=	      0;PhiROImax[0][19][29]=	       0;
-     EtaROImin[0][19][30]=	    0;EtaROImax[0][19][30]=	     0;PhiROImin[0][19][30]=	      0;PhiROImax[0][19][30]=	       0;
-     EtaROImin[0][19][31]=	    0;EtaROImax[0][19][31]=	     0;PhiROImin[0][19][31]=	      0;PhiROImax[0][19][31]=	       0;
-     EtaROImin[0][20][ 0]=  -0.145912;EtaROImax[0][20][ 0]= -0.0874905;PhiROImin[0][20][ 0]=   -2.35323;PhiROImax[0][20][ 0]=	-2.24298;
-     EtaROImin[0][20][ 1]=  -0.238294;EtaROImax[0][20][ 1]=  -0.149792;PhiROImin[0][20][ 1]=   -2.35323;PhiROImax[0][20][ 1]=	-2.24298;
-     EtaROImin[0][20][ 2]=  -0.145912;EtaROImax[0][20][ 2]= -0.0874905;PhiROImin[0][20][ 2]=   -2.23946;PhiROImax[0][20][ 2]=	-2.13203;
-     EtaROImin[0][20][ 3]=  -0.238294;EtaROImax[0][20][ 3]=  -0.149792;PhiROImin[0][20][ 3]=   -2.23946;PhiROImax[0][20][ 3]=	-2.13203;
-     EtaROImin[0][20][ 4]=   -0.35049;EtaROImax[0][20][ 4]=  -0.246207;PhiROImin[0][20][ 4]=   -2.35324;PhiROImax[0][20][ 4]=	-2.24358;
-     EtaROImin[0][20][ 5]=  -0.452099;EtaROImax[0][20][ 5]=  -0.350831;PhiROImin[0][20][ 5]=   -2.35324;PhiROImax[0][20][ 5]=	-2.24358;
-     EtaROImin[0][20][ 6]=   -0.35049;EtaROImax[0][20][ 6]=  -0.246207;PhiROImin[0][20][ 6]=   -2.24008;PhiROImax[0][20][ 6]=	-2.13318;
-     EtaROImin[0][20][ 7]=  -0.452099;EtaROImax[0][20][ 7]=  -0.350831;PhiROImin[0][20][ 7]=   -2.24008;PhiROImax[0][20][ 7]=	-2.13318;
-     EtaROImin[0][20][ 8]=  -0.554444;EtaROImax[0][20][ 8]=  -0.458091;PhiROImin[0][20][ 8]=   -2.35324;PhiROImax[0][20][ 8]=	-2.24358;
-     EtaROImin[0][20][ 9]=  -0.648101;EtaROImax[0][20][ 9]=  -0.555789;PhiROImin[0][20][ 9]=   -2.35324;PhiROImax[0][20][ 9]=	-2.24358;
-     EtaROImin[0][20][10]=  -0.554444;EtaROImax[0][20][10]=  -0.458091;PhiROImin[0][20][10]=   -2.24008;PhiROImax[0][20][10]=	-2.13318;
-     EtaROImin[0][20][11]=  -0.648101;EtaROImax[0][20][11]=  -0.555789;PhiROImin[0][20][11]=   -2.24008;PhiROImax[0][20][11]=	-2.13318;
-     EtaROImin[0][20][12]=  -0.703298;EtaROImax[0][20][12]=  -0.655857;PhiROImin[0][20][12]=   -2.35323;PhiROImax[0][20][12]=	-2.24298;
-     EtaROImin[0][20][13]=  -0.776449;EtaROImax[0][20][13]=  -0.706413;PhiROImin[0][20][13]=   -2.35323;PhiROImax[0][20][13]=	-2.24298;
-     EtaROImin[0][20][14]=  -0.703298;EtaROImax[0][20][14]=  -0.655857;PhiROImin[0][20][14]=   -2.23946;PhiROImax[0][20][14]=	-2.13203;
-     EtaROImin[0][20][15]=  -0.776449;EtaROImax[0][20][15]=  -0.706413;PhiROImin[0][20][15]=   -2.23946;PhiROImax[0][20][15]=	-2.13203;
-     EtaROImin[0][20][16]=   -0.82768;EtaROImax[0][20][16]=  -0.783867;PhiROImin[0][20][16]=   -2.35323;PhiROImax[0][20][16]=	-2.24298;
-     EtaROImin[0][20][17]=  -0.895163;EtaROImax[0][20][17]=  -0.830556;PhiROImin[0][20][17]=   -2.35323;PhiROImax[0][20][17]=	-2.24298;
-     EtaROImin[0][20][18]=   -0.82768;EtaROImax[0][20][18]=  -0.783867;PhiROImin[0][20][18]=   -2.23946;PhiROImax[0][20][18]=	-2.13203;
-     EtaROImin[0][20][19]=  -0.895163;EtaROImax[0][20][19]=  -0.830556;PhiROImin[0][20][19]=   -2.23946;PhiROImax[0][20][19]=	-2.13203;
-     EtaROImin[0][20][20]=  -0.961344;EtaROImax[0][20][20]=  -0.898201;PhiROImin[0][20][20]=   -2.35324;PhiROImax[0][20][20]=	-2.24358;
-     EtaROImin[0][20][21]=   -1.02514;EtaROImax[0][20][21]=  -0.964674;PhiROImin[0][20][21]=   -2.35324;PhiROImax[0][20][21]=	-2.24358;
-     EtaROImin[0][20][22]=  -0.961344;EtaROImax[0][20][22]=  -0.898201;PhiROImin[0][20][22]=   -2.24008;PhiROImax[0][20][22]=	-2.13318;
-     EtaROImin[0][20][23]=   -1.02514;EtaROImax[0][20][23]=  -0.964674;PhiROImin[0][20][23]=   -2.24008;PhiROImax[0][20][23]=	-2.13318;
-     EtaROImin[0][20][24]=   -1.06547;EtaROImax[0][20][24]=   -1.03003;PhiROImin[0][20][24]=   -2.35313;PhiROImax[0][20][24]=	-2.24277;
-     EtaROImin[0][20][25]=	    0;EtaROImax[0][20][25]=	     0;PhiROImin[0][20][25]=	      0;PhiROImax[0][20][25]=	       0;
-     EtaROImin[0][20][26]=   -1.06547;EtaROImax[0][20][26]=   -1.03003;PhiROImin[0][20][26]=   -2.23924;PhiROImax[0][20][26]=	-2.15905;
-     EtaROImin[0][20][27]=	    0;EtaROImax[0][20][27]=	     0;PhiROImin[0][20][27]=	      0;PhiROImax[0][20][27]=	       0;
-     EtaROImin[0][20][28]=	    0;EtaROImax[0][20][28]=	     0;PhiROImin[0][20][28]=	      0;PhiROImax[0][20][28]=	       0;
-     EtaROImin[0][20][29]=	    0;EtaROImax[0][20][29]=	     0;PhiROImin[0][20][29]=	      0;PhiROImax[0][20][29]=	       0;
-     EtaROImin[0][20][30]=	    0;EtaROImax[0][20][30]=	     0;PhiROImin[0][20][30]=	      0;PhiROImax[0][20][30]=	       0;
-     EtaROImin[0][20][31]=	    0;EtaROImax[0][20][31]=	     0;PhiROImin[0][20][31]=	      0;PhiROImax[0][20][31]=	       0;
-     EtaROImin[0][21][ 0]=  -0.203032;EtaROImax[0][21][ 0]=  -0.155043;PhiROImin[0][21][ 0]=   -2.05024;PhiROImax[0][21][ 0]=	-1.96629;
-     EtaROImin[0][21][ 1]=   -0.15183;EtaROImax[0][21][ 1]= -0.0775634;PhiROImin[0][21][ 1]=   -2.05024;PhiROImax[0][21][ 1]=	-1.96629;
-     EtaROImin[0][21][ 2]=  -0.203032;EtaROImax[0][21][ 2]=  -0.155043;PhiROImin[0][21][ 2]=   -2.13655;PhiROImax[0][21][ 2]=	-2.05387;
-     EtaROImin[0][21][ 3]=   -0.15183;EtaROImax[0][21][ 3]= -0.0775634;PhiROImin[0][21][ 3]=   -2.13655;PhiROImax[0][21][ 3]=	-2.05387;
-     EtaROImin[0][21][ 4]=  -0.322732;EtaROImax[0][21][ 4]=  -0.276301;PhiROImin[0][21][ 4]=   -2.04983;PhiROImax[0][21][ 4]=	-1.96627;
-     EtaROImin[0][21][ 5]=  -0.273184;EtaROImax[0][21][ 5]=  -0.200823;PhiROImin[0][21][ 5]=   -2.04983;PhiROImax[0][21][ 5]=	-1.96627;
-     EtaROImin[0][21][ 6]=  -0.322732;EtaROImax[0][21][ 6]=  -0.276301;PhiROImin[0][21][ 6]=   -2.13573;PhiROImax[0][21][ 6]=	-2.05344;
-     EtaROImin[0][21][ 7]=  -0.273184;EtaROImax[0][21][ 7]=  -0.200823;PhiROImin[0][21][ 7]=   -2.13573;PhiROImax[0][21][ 7]=	-2.05344;
-     EtaROImin[0][21][ 8]=   -0.51487;EtaROImax[0][21][ 8]=  -0.439011;PhiROImin[0][21][ 8]=   -2.04536;PhiROImax[0][21][ 8]=	-1.96564;
-     EtaROImin[0][21][ 9]=  -0.441017;EtaROImax[0][21][ 9]=  -0.362484;PhiROImin[0][21][ 9]=   -2.04536;PhiROImax[0][21][ 9]=	-1.96564;
-     EtaROImin[0][21][10]=   -0.51487;EtaROImax[0][21][10]=  -0.439011;PhiROImin[0][21][10]=   -2.12657;PhiROImax[0][21][10]=	-2.04792;
-     EtaROImin[0][21][11]=  -0.441017;EtaROImax[0][21][11]=  -0.362484;PhiROImin[0][21][11]=   -2.12657;PhiROImax[0][21][11]=	-2.04792;
-     EtaROImin[0][21][12]=  -0.659332;EtaROImax[0][21][12]=  -0.566067;PhiROImin[0][21][12]=   -2.05024;PhiROImax[0][21][12]=	-1.96629;
-     EtaROImin[0][21][13]=  -0.569141;EtaROImax[0][21][13]=  -0.470878;PhiROImin[0][21][13]=   -2.05024;PhiROImax[0][21][13]=	-1.96629;
-     EtaROImin[0][21][14]=  -0.659332;EtaROImax[0][21][14]=  -0.566067;PhiROImin[0][21][14]=   -2.13655;PhiROImax[0][21][14]=	-2.05387;
-     EtaROImin[0][21][15]=  -0.569141;EtaROImax[0][21][15]=  -0.470878;PhiROImin[0][21][15]=   -2.13655;PhiROImax[0][21][15]=	-2.05387;
-     EtaROImin[0][21][16]=   -0.72184;EtaROImax[0][21][16]=  -0.671529;PhiROImin[0][21][16]=   -2.04536;PhiROImax[0][21][16]=	-1.96564;
-     EtaROImin[0][21][17]=  -0.674155;EtaROImax[0][21][17]=  -0.622205;PhiROImin[0][21][17]=   -2.04536;PhiROImax[0][21][17]=	-1.96564;
-     EtaROImin[0][21][18]=   -0.72184;EtaROImax[0][21][18]=  -0.671529;PhiROImin[0][21][18]=   -2.12657;PhiROImax[0][21][18]=	-2.04792;
-     EtaROImin[0][21][19]=  -0.674155;EtaROImax[0][21][19]=  -0.622205;PhiROImin[0][21][19]=   -2.12657;PhiROImax[0][21][19]=	-2.04792;
-     EtaROImin[0][21][20]=  -0.893028;EtaROImax[0][21][20]=  -0.833797;PhiROImin[0][21][20]=   -2.04536;PhiROImax[0][21][20]=	-1.96564;
-     EtaROImin[0][21][21]=  -0.831846;EtaROImax[0][21][21]=  -0.744499;PhiROImin[0][21][21]=   -2.04536;PhiROImax[0][21][21]=	-1.96564;
-     EtaROImin[0][21][22]=  -0.893028;EtaROImax[0][21][22]=  -0.833797;PhiROImin[0][21][22]=   -2.12657;PhiROImax[0][21][22]=	-2.04792;
-     EtaROImin[0][21][23]=  -0.831846;EtaROImax[0][21][23]=  -0.744499;PhiROImin[0][21][23]=   -2.12657;PhiROImax[0][21][23]=	-2.04792;
-     EtaROImin[0][21][24]=  -0.905303;EtaROImax[0][21][24]=  -0.846464;PhiROImin[0][21][24]=   -2.05024;PhiROImax[0][21][24]=	-1.96629;
-     EtaROImin[0][21][25]=  -0.850339;EtaROImax[0][21][25]=  -0.788882;PhiROImin[0][21][25]=   -2.05024;PhiROImax[0][21][25]=	-1.96629;
-     EtaROImin[0][21][26]=  -0.905303;EtaROImax[0][21][26]=  -0.846464;PhiROImin[0][21][26]=   -2.13655;PhiROImax[0][21][26]=	-2.05387;
-     EtaROImin[0][21][27]=  -0.850339;EtaROImax[0][21][27]=  -0.788882;PhiROImin[0][21][27]=   -2.13655;PhiROImax[0][21][27]=	-2.05387;
-     EtaROImin[0][21][28]=   -0.98143;EtaROImax[0][21][28]=  -0.954883;PhiROImin[0][21][28]=   -2.03358;PhiROImax[0][21][28]=	-1.98444;
-     EtaROImin[0][21][29]=  -0.953094;EtaROImax[0][21][29]=  -0.911293;PhiROImin[0][21][29]=   -2.03358;PhiROImax[0][21][29]=	-1.98444;
-     EtaROImin[0][21][30]=   -0.98143;EtaROImax[0][21][30]=  -0.954883;PhiROImin[0][21][30]=   -2.12127;PhiROImax[0][21][30]=	-2.03635;
-     EtaROImin[0][21][31]=  -0.953094;EtaROImax[0][21][31]=  -0.911293;PhiROImin[0][21][31]=   -2.12127;PhiROImax[0][21][31]=	-2.03635;
-     EtaROImin[0][22][ 0]=  -0.126072;EtaROImax[0][22][ 0]= -0.0775634;PhiROImin[0][22][ 0]=   -1.96071;PhiROImax[0][22][ 0]=	-1.87675;
-     EtaROImin[0][22][ 1]=  -0.203032;EtaROImax[0][22][ 1]=  -0.129296;PhiROImin[0][22][ 1]=   -1.96071;PhiROImax[0][22][ 1]=	-1.87675;
-     EtaROImin[0][22][ 2]=  -0.126072;EtaROImax[0][22][ 2]= -0.0775634;PhiROImin[0][22][ 2]=   -1.87312;PhiROImax[0][22][ 2]=	-1.79045;
-     EtaROImin[0][22][ 3]=  -0.203032;EtaROImax[0][22][ 3]=  -0.129296;PhiROImin[0][22][ 3]=   -1.87312;PhiROImax[0][22][ 3]=	-1.79045;
-     EtaROImin[0][22][ 4]=  -0.248155;EtaROImax[0][22][ 4]=  -0.200823;PhiROImin[0][22][ 4]=   -1.96072;PhiROImax[0][22][ 4]=	-1.87716;
-     EtaROImin[0][22][ 5]=  -0.322732;EtaROImax[0][22][ 5]=  -0.251292;PhiROImin[0][22][ 5]=   -1.96072;PhiROImax[0][22][ 5]=	-1.87716;
-     EtaROImin[0][22][ 6]=  -0.248155;EtaROImax[0][22][ 6]=  -0.200823;PhiROImin[0][22][ 6]=   -1.87355;PhiROImax[0][22][ 6]=	-1.79126;
-     EtaROImin[0][22][ 7]=  -0.322732;EtaROImax[0][22][ 7]=  -0.251292;PhiROImin[0][22][ 7]=   -1.87355;PhiROImax[0][22][ 7]=	-1.79126;
-     EtaROImin[0][22][ 8]=  -0.441017;EtaROImax[0][22][ 8]=  -0.362484;PhiROImin[0][22][ 8]=   -1.96135;PhiROImax[0][22][ 8]=	-1.88163;
-     EtaROImin[0][22][ 9]=   -0.51487;EtaROImax[0][22][ 9]=  -0.439011;PhiROImin[0][22][ 9]=   -1.96135;PhiROImax[0][22][ 9]=	-1.88163;
-     EtaROImin[0][22][10]=  -0.441017;EtaROImax[0][22][10]=  -0.362484;PhiROImin[0][22][10]=   -1.87907;PhiROImax[0][22][10]=	-1.80042;
-     EtaROImin[0][22][11]=   -0.51487;EtaROImax[0][22][11]=  -0.439011;PhiROImin[0][22][11]=   -1.87907;PhiROImax[0][22][11]=	-1.80042;
-     EtaROImin[0][22][12]=  -0.569141;EtaROImax[0][22][12]=  -0.470878;PhiROImin[0][22][12]=   -1.96071;PhiROImax[0][22][12]=	-1.87675;
-     EtaROImin[0][22][13]=  -0.659332;EtaROImax[0][22][13]=  -0.566067;PhiROImin[0][22][13]=   -1.96071;PhiROImax[0][22][13]=	-1.87675;
-     EtaROImin[0][22][14]=  -0.569141;EtaROImax[0][22][14]=  -0.470878;PhiROImin[0][22][14]=   -1.87312;PhiROImax[0][22][14]=	-1.79045;
-     EtaROImin[0][22][15]=  -0.659332;EtaROImax[0][22][15]=  -0.566067;PhiROImin[0][22][15]=   -1.87312;PhiROImax[0][22][15]=	-1.79045;
-     EtaROImin[0][22][16]=  -0.674155;EtaROImax[0][22][16]=  -0.622205;PhiROImin[0][22][16]=   -1.96135;PhiROImax[0][22][16]=	-1.88163;
-     EtaROImin[0][22][17]=   -0.72184;EtaROImax[0][22][17]=  -0.671529;PhiROImin[0][22][17]=   -1.96135;PhiROImax[0][22][17]=	-1.88163;
-     EtaROImin[0][22][18]=  -0.674155;EtaROImax[0][22][18]=  -0.622205;PhiROImin[0][22][18]=   -1.87907;PhiROImax[0][22][18]=	-1.80042;
-     EtaROImin[0][22][19]=   -0.72184;EtaROImax[0][22][19]=  -0.671529;PhiROImin[0][22][19]=   -1.87907;PhiROImax[0][22][19]=	-1.80042;
-     EtaROImin[0][22][20]=  -0.831846;EtaROImax[0][22][20]=  -0.744499;PhiROImin[0][22][20]=   -1.96135;PhiROImax[0][22][20]=	-1.88163;
-     EtaROImin[0][22][21]=  -0.893028;EtaROImax[0][22][21]=  -0.833797;PhiROImin[0][22][21]=   -1.96135;PhiROImax[0][22][21]=	-1.88163;
-     EtaROImin[0][22][22]=  -0.831846;EtaROImax[0][22][22]=  -0.744499;PhiROImin[0][22][22]=   -1.87907;PhiROImax[0][22][22]=	-1.80042;
-     EtaROImin[0][22][23]=  -0.893028;EtaROImax[0][22][23]=  -0.833797;PhiROImin[0][22][23]=   -1.87907;PhiROImax[0][22][23]=	-1.80042;
-     EtaROImin[0][22][24]=  -0.850339;EtaROImax[0][22][24]=  -0.788882;PhiROImin[0][22][24]=   -1.96071;PhiROImax[0][22][24]=	-1.87675;
-     EtaROImin[0][22][25]=  -0.905303;EtaROImax[0][22][25]=  -0.846464;PhiROImin[0][22][25]=   -1.96071;PhiROImax[0][22][25]=	-1.87675;
-     EtaROImin[0][22][26]=  -0.850339;EtaROImax[0][22][26]=  -0.788882;PhiROImin[0][22][26]=   -1.87312;PhiROImax[0][22][26]=	-1.79045;
-     EtaROImin[0][22][27]=  -0.905303;EtaROImax[0][22][27]=  -0.846464;PhiROImin[0][22][27]=   -1.87312;PhiROImax[0][22][27]=	-1.79045;
-     EtaROImin[0][22][28]=  -0.940931;EtaROImax[0][22][28]=  -0.913486;PhiROImin[0][22][28]=   -1.97686;PhiROImax[0][22][28]=	-1.89087;
-     EtaROImin[0][22][29]=  -0.983719;EtaROImax[0][22][29]=  -0.942741;PhiROImin[0][22][29]=   -1.97686;PhiROImax[0][22][29]=	-1.89087;
-     EtaROImin[0][22][30]=  -0.940931;EtaROImax[0][22][30]=  -0.913486;PhiROImin[0][22][30]=   -1.98444;PhiROImax[0][22][30]=	-1.88811;
-     EtaROImin[0][22][31]=  -0.983719;EtaROImax[0][22][31]=  -0.942741;PhiROImin[0][22][31]=   -1.98444;PhiROImax[0][22][31]=	-1.88811;
-     EtaROImin[0][23][ 0]=  -0.238866;EtaROImax[0][23][ 0]=  -0.131182;PhiROImin[0][23][ 0]=   -1.68341;PhiROImax[0][23][ 0]=	-1.57375;
-     EtaROImin[0][23][ 1]=  -0.132007;EtaROImax[0][23][ 1]=   -0.02338;PhiROImin[0][23][ 1]=   -1.68341;PhiROImax[0][23][ 1]=	-1.57375;
-     EtaROImin[0][23][ 2]=  -0.238866;EtaROImax[0][23][ 2]=  -0.131182;PhiROImin[0][23][ 2]=   -1.79381;PhiROImax[0][23][ 2]=	-1.68692;
-     EtaROImin[0][23][ 3]=  -0.132007;EtaROImax[0][23][ 3]=   -0.02338;PhiROImin[0][23][ 3]=   -1.79381;PhiROImax[0][23][ 3]=	-1.68692;
-     EtaROImin[0][23][ 4]=  -0.452099;EtaROImax[0][23][ 4]=  -0.350831;PhiROImin[0][23][ 4]=   -1.68341;PhiROImax[0][23][ 4]=	-1.57375;
-     EtaROImin[0][23][ 5]=   -0.35049;EtaROImax[0][23][ 5]=  -0.246207;PhiROImin[0][23][ 5]=   -1.68341;PhiROImax[0][23][ 5]=	-1.57375;
-     EtaROImin[0][23][ 6]=  -0.452099;EtaROImax[0][23][ 6]=  -0.350831;PhiROImin[0][23][ 6]=   -1.79381;PhiROImax[0][23][ 6]=	-1.68692;
-     EtaROImin[0][23][ 7]=   -0.35049;EtaROImax[0][23][ 7]=  -0.246207;PhiROImin[0][23][ 7]=   -1.79381;PhiROImax[0][23][ 7]=	-1.68692;
-     EtaROImin[0][23][ 8]=  -0.648101;EtaROImax[0][23][ 8]=  -0.555789;PhiROImin[0][23][ 8]=   -1.68341;PhiROImax[0][23][ 8]=	-1.57375;
-     EtaROImin[0][23][ 9]=  -0.554444;EtaROImax[0][23][ 9]=  -0.458091;PhiROImin[0][23][ 9]=   -1.68341;PhiROImax[0][23][ 9]=	-1.57375;
-     EtaROImin[0][23][10]=  -0.648101;EtaROImax[0][23][10]=  -0.555789;PhiROImin[0][23][10]=   -1.79381;PhiROImax[0][23][10]=	-1.68692;
-     EtaROImin[0][23][11]=  -0.554444;EtaROImax[0][23][11]=  -0.458091;PhiROImin[0][23][11]=   -1.79381;PhiROImax[0][23][11]=	-1.68692;
-     EtaROImin[0][23][12]=  -0.786462;EtaROImax[0][23][12]=  -0.745327;PhiROImin[0][23][12]=   -1.62692;PhiROImax[0][23][12]=	 -1.5708;
-     EtaROImin[0][23][13]=  -0.742545;EtaROImax[0][23][13]=  -0.677222;PhiROImin[0][23][13]=   -1.62692;PhiROImax[0][23][13]=	 -1.5708;
-     EtaROImin[0][23][14]=  -0.786462;EtaROImax[0][23][14]=  -0.745327;PhiROImin[0][23][14]=   -1.69744;PhiROImax[0][23][14]=	-1.63046;
-     EtaROImin[0][23][15]=  -0.742545;EtaROImax[0][23][15]=  -0.677222;PhiROImin[0][23][15]=   -1.69744;PhiROImax[0][23][15]=	-1.63046;
-     EtaROImin[0][23][16]=  -0.895163;EtaROImax[0][23][16]=  -0.853359;PhiROImin[0][23][16]=   -1.68401;PhiROImax[0][23][16]=	-1.57376;
-     EtaROImin[0][23][17]=  -0.850528;EtaROImax[0][23][17]=  -0.783867;PhiROImin[0][23][17]=   -1.68401;PhiROImax[0][23][17]=	-1.57376;
-     EtaROImin[0][23][18]=  -0.895163;EtaROImax[0][23][18]=  -0.853359;PhiROImin[0][23][18]=   -1.79497;PhiROImax[0][23][18]=	-1.68753;
-     EtaROImin[0][23][19]=  -0.850528;EtaROImax[0][23][19]=  -0.783867;PhiROImin[0][23][19]=   -1.79497;PhiROImax[0][23][19]=	-1.68753;
-     EtaROImin[0][23][20]=   -1.02514;EtaROImax[0][23][20]=  -0.964674;PhiROImin[0][23][20]=   -1.68341;PhiROImax[0][23][20]=	-1.57375;
-     EtaROImin[0][23][21]=  -0.961344;EtaROImax[0][23][21]=  -0.898201;PhiROImin[0][23][21]=   -1.68341;PhiROImax[0][23][21]=	-1.57375;
-     EtaROImin[0][23][22]=   -1.02514;EtaROImax[0][23][22]=  -0.964674;PhiROImin[0][23][22]=   -1.79381;PhiROImax[0][23][22]=	-1.68692;
-     EtaROImin[0][23][23]=  -0.961344;EtaROImax[0][23][23]=  -0.898201;PhiROImin[0][23][23]=   -1.79381;PhiROImax[0][23][23]=	-1.68692;
-     EtaROImin[0][23][24]=	    0;EtaROImax[0][23][24]=	     0;PhiROImin[0][23][24]=	      0;PhiROImax[0][23][24]=	       0;
-     EtaROImin[0][23][25]=   -1.06547;EtaROImax[0][23][25]=   -1.03003;PhiROImin[0][23][25]=   -1.68423;PhiROImax[0][23][25]=	-1.57387;
-     EtaROImin[0][23][26]=	    0;EtaROImax[0][23][26]=	     0;PhiROImin[0][23][26]=	      0;PhiROImax[0][23][26]=	       0;
-     EtaROImin[0][23][27]=   -1.06547;EtaROImax[0][23][27]=   -1.03003;PhiROImin[0][23][27]=   -1.76794;PhiROImax[0][23][27]=	-1.68775;
-     EtaROImin[0][23][28]=	    0;EtaROImax[0][23][28]=	     0;PhiROImin[0][23][28]=	      0;PhiROImax[0][23][28]=	       0;
-     EtaROImin[0][23][29]=	    0;EtaROImax[0][23][29]=	     0;PhiROImin[0][23][29]=	      0;PhiROImax[0][23][29]=	       0;
-     EtaROImin[0][23][30]=	    0;EtaROImax[0][23][30]=	     0;PhiROImin[0][23][30]=	      0;PhiROImax[0][23][30]=	       0;
-     EtaROImin[0][23][31]=	    0;EtaROImax[0][23][31]=	     0;PhiROImin[0][23][31]=	      0;PhiROImax[0][23][31]=	       0;
-     EtaROImin[0][24][ 0]=  -0.132007;EtaROImax[0][24][ 0]=   -0.02338;PhiROImin[0][24][ 0]=   -1.56784;PhiROImax[0][24][ 0]=	-1.45818;
-     EtaROImin[0][24][ 1]=  -0.238866;EtaROImax[0][24][ 1]=  -0.131182;PhiROImin[0][24][ 1]=   -1.56784;PhiROImax[0][24][ 1]=	-1.45818;
-     EtaROImin[0][24][ 2]=  -0.132007;EtaROImax[0][24][ 2]=   -0.02338;PhiROImin[0][24][ 2]=   -1.45468;PhiROImax[0][24][ 2]=	-1.34779;
-     EtaROImin[0][24][ 3]=  -0.238866;EtaROImax[0][24][ 3]=  -0.131182;PhiROImin[0][24][ 3]=   -1.45468;PhiROImax[0][24][ 3]=	-1.34779;
-     EtaROImin[0][24][ 4]=   -0.35049;EtaROImax[0][24][ 4]=  -0.246207;PhiROImin[0][24][ 4]=   -1.56784;PhiROImax[0][24][ 4]=	-1.45818;
-     EtaROImin[0][24][ 5]=  -0.452099;EtaROImax[0][24][ 5]=  -0.350831;PhiROImin[0][24][ 5]=   -1.56784;PhiROImax[0][24][ 5]=	-1.45818;
-     EtaROImin[0][24][ 6]=   -0.35049;EtaROImax[0][24][ 6]=  -0.246207;PhiROImin[0][24][ 6]=   -1.45468;PhiROImax[0][24][ 6]=	-1.34779;
-     EtaROImin[0][24][ 7]=  -0.452099;EtaROImax[0][24][ 7]=  -0.350831;PhiROImin[0][24][ 7]=   -1.45468;PhiROImax[0][24][ 7]=	-1.34779;
-     EtaROImin[0][24][ 8]=  -0.554444;EtaROImax[0][24][ 8]=  -0.458091;PhiROImin[0][24][ 8]=   -1.56784;PhiROImax[0][24][ 8]=	-1.45818;
-     EtaROImin[0][24][ 9]=  -0.648101;EtaROImax[0][24][ 9]=  -0.555789;PhiROImin[0][24][ 9]=   -1.56784;PhiROImax[0][24][ 9]=	-1.45818;
-     EtaROImin[0][24][10]=  -0.554444;EtaROImax[0][24][10]=  -0.458091;PhiROImin[0][24][10]=   -1.45468;PhiROImax[0][24][10]=	-1.34779;
-     EtaROImin[0][24][11]=  -0.648101;EtaROImax[0][24][11]=  -0.555789;PhiROImin[0][24][11]=   -1.45468;PhiROImax[0][24][11]=	-1.34779;
-     EtaROImin[0][24][12]=  -0.720119;EtaROImax[0][24][12]=  -0.677222;PhiROImin[0][24][12]=   -1.56798;PhiROImax[0][24][12]=	 -1.5005;
-     EtaROImin[0][24][13]=  -0.786462;EtaROImax[0][24][13]=   -0.72294;PhiROImin[0][24][13]=   -1.56798;PhiROImax[0][24][13]=	 -1.5005;
-     EtaROImin[0][24][14]=  -0.720119;EtaROImax[0][24][14]=  -0.677222;PhiROImin[0][24][14]=	-1.5708;PhiROImax[0][24][14]=	-1.49696;
-     EtaROImin[0][24][15]=  -0.786462;EtaROImax[0][24][15]=   -0.72294;PhiROImin[0][24][15]=	-1.5708;PhiROImax[0][24][15]=	-1.49696;
-     EtaROImin[0][24][16]=   -0.82768;EtaROImax[0][24][16]=  -0.783867;PhiROImin[0][24][16]=   -1.56783;PhiROImax[0][24][16]=	-1.45758;
-     EtaROImin[0][24][17]=  -0.895163;EtaROImax[0][24][17]=  -0.830556;PhiROImin[0][24][17]=   -1.56783;PhiROImax[0][24][17]=	-1.45758;
-     EtaROImin[0][24][18]=   -0.82768;EtaROImax[0][24][18]=  -0.783867;PhiROImin[0][24][18]=   -1.45406;PhiROImax[0][24][18]=	-1.34663;
-     EtaROImin[0][24][19]=  -0.895163;EtaROImax[0][24][19]=  -0.830556;PhiROImin[0][24][19]=   -1.45406;PhiROImax[0][24][19]=	-1.34663;
-     EtaROImin[0][24][20]=  -0.961344;EtaROImax[0][24][20]=  -0.898201;PhiROImin[0][24][20]=   -1.56784;PhiROImax[0][24][20]=	-1.45818;
-     EtaROImin[0][24][21]=   -1.02514;EtaROImax[0][24][21]=  -0.964674;PhiROImin[0][24][21]=   -1.56784;PhiROImax[0][24][21]=	-1.45818;
-     EtaROImin[0][24][22]=  -0.961344;EtaROImax[0][24][22]=  -0.898201;PhiROImin[0][24][22]=   -1.45468;PhiROImax[0][24][22]=	-1.34779;
-     EtaROImin[0][24][23]=   -1.02514;EtaROImax[0][24][23]=  -0.964674;PhiROImin[0][24][23]=   -1.45468;PhiROImax[0][24][23]=	-1.34779;
-     EtaROImin[0][24][24]=   -1.06547;EtaROImax[0][24][24]=   -1.03003;PhiROImin[0][24][24]=   -1.56773;PhiROImax[0][24][24]=	-1.45737;
-     EtaROImin[0][24][25]=	    0;EtaROImax[0][24][25]=	     0;PhiROImin[0][24][25]=	      0;PhiROImax[0][24][25]=	       0;
-     EtaROImin[0][24][26]=   -1.06547;EtaROImax[0][24][26]=   -1.03003;PhiROImin[0][24][26]=   -1.45384;PhiROImax[0][24][26]=	-1.37365;
-     EtaROImin[0][24][27]=	    0;EtaROImax[0][24][27]=	     0;PhiROImin[0][24][27]=	      0;PhiROImax[0][24][27]=	       0;
-     EtaROImin[0][24][28]=	    0;EtaROImax[0][24][28]=	     0;PhiROImin[0][24][28]=	      0;PhiROImax[0][24][28]=	       0;
-     EtaROImin[0][24][29]=	    0;EtaROImax[0][24][29]=	     0;PhiROImin[0][24][29]=	      0;PhiROImax[0][24][29]=	       0;
-     EtaROImin[0][24][30]=	    0;EtaROImax[0][24][30]=	     0;PhiROImin[0][24][30]=	      0;PhiROImax[0][24][30]=	       0;
-     EtaROImin[0][24][31]=	    0;EtaROImax[0][24][31]=	     0;PhiROImin[0][24][31]=	      0;PhiROImax[0][24][31]=	       0;
-     EtaROImin[0][25][ 0]=  -0.203032;EtaROImax[0][25][ 0]=  -0.155043;PhiROImin[0][25][ 0]=   -1.26484;PhiROImax[0][25][ 0]=	-1.18089;
-     EtaROImin[0][25][ 1]=   -0.15183;EtaROImax[0][25][ 1]= -0.0775634;PhiROImin[0][25][ 1]=   -1.26484;PhiROImax[0][25][ 1]=	-1.18089;
-     EtaROImin[0][25][ 2]=  -0.203032;EtaROImax[0][25][ 2]=  -0.155043;PhiROImin[0][25][ 2]=   -1.35115;PhiROImax[0][25][ 2]=	-1.26847;
-     EtaROImin[0][25][ 3]=   -0.15183;EtaROImax[0][25][ 3]= -0.0775634;PhiROImin[0][25][ 3]=   -1.35115;PhiROImax[0][25][ 3]=	-1.26847;
-     EtaROImin[0][25][ 4]=  -0.322732;EtaROImax[0][25][ 4]=  -0.276301;PhiROImin[0][25][ 4]=   -1.26443;PhiROImax[0][25][ 4]=	-1.18087;
-     EtaROImin[0][25][ 5]=  -0.273184;EtaROImax[0][25][ 5]=  -0.200823;PhiROImin[0][25][ 5]=   -1.26443;PhiROImax[0][25][ 5]=	-1.18087;
-     EtaROImin[0][25][ 6]=  -0.322732;EtaROImax[0][25][ 6]=  -0.276301;PhiROImin[0][25][ 6]=   -1.35034;PhiROImax[0][25][ 6]=	-1.26804;
-     EtaROImin[0][25][ 7]=  -0.273184;EtaROImax[0][25][ 7]=  -0.200823;PhiROImin[0][25][ 7]=   -1.35034;PhiROImax[0][25][ 7]=	-1.26804;
-     EtaROImin[0][25][ 8]=  -0.516583;EtaROImax[0][25][ 8]=  -0.440504;PhiROImin[0][25][ 8]=   -1.25967;PhiROImax[0][25][ 8]=	-1.18023;
-     EtaROImin[0][25][ 9]=  -0.439522;EtaROImax[0][25][ 9]=  -0.361231;PhiROImin[0][25][ 9]=   -1.25967;PhiROImax[0][25][ 9]=	-1.18023;
-     EtaROImin[0][25][10]=  -0.516583;EtaROImax[0][25][10]=  -0.440504;PhiROImin[0][25][10]=   -1.34059;PhiROImax[0][25][10]=	-1.26222;
-     EtaROImin[0][25][11]=  -0.439522;EtaROImax[0][25][11]=  -0.361231;PhiROImin[0][25][11]=   -1.34059;PhiROImax[0][25][11]=	-1.26222;
-     EtaROImin[0][25][12]=  -0.659332;EtaROImax[0][25][12]=  -0.566067;PhiROImin[0][25][12]=   -1.26484;PhiROImax[0][25][12]=	-1.18089;
-     EtaROImin[0][25][13]=  -0.569141;EtaROImax[0][25][13]=  -0.470878;PhiROImin[0][25][13]=   -1.26484;PhiROImax[0][25][13]=	-1.18089;
-     EtaROImin[0][25][14]=  -0.659332;EtaROImax[0][25][14]=  -0.566067;PhiROImin[0][25][14]=   -1.35115;PhiROImax[0][25][14]=	-1.26847;
-     EtaROImin[0][25][15]=  -0.569141;EtaROImax[0][25][15]=  -0.470878;PhiROImin[0][25][15]=   -1.35115;PhiROImax[0][25][15]=	-1.26847;
-     EtaROImin[0][25][16]=  -0.724075;EtaROImax[0][25][16]=  -0.673648;PhiROImin[0][25][16]=   -1.25967;PhiROImax[0][25][16]=	-1.18023;
-     EtaROImin[0][25][17]=  -0.672035;EtaROImax[0][25][17]=  -0.620212;PhiROImin[0][25][17]=   -1.25967;PhiROImax[0][25][17]=	-1.18023;
-     EtaROImin[0][25][18]=  -0.724075;EtaROImax[0][25][18]=  -0.673648;PhiROImin[0][25][18]=   -1.34059;PhiROImax[0][25][18]=	-1.26222;
-     EtaROImin[0][25][19]=  -0.672035;EtaROImax[0][25][19]=  -0.620212;PhiROImin[0][25][19]=   -1.34059;PhiROImax[0][25][19]=	-1.26222;
-     EtaROImin[0][25][20]=  -0.893028;EtaROImax[0][25][20]=  -0.833797;PhiROImin[0][25][20]=   -1.25997;PhiROImax[0][25][20]=	-1.18024;
-     EtaROImin[0][25][21]=  -0.831846;EtaROImax[0][25][21]=  -0.744499;PhiROImin[0][25][21]=   -1.25997;PhiROImax[0][25][21]=	-1.18024;
-     EtaROImin[0][25][22]=  -0.893028;EtaROImax[0][25][22]=  -0.833797;PhiROImin[0][25][22]=   -1.34117;PhiROImax[0][25][22]=	-1.26253;
-     EtaROImin[0][25][23]=  -0.831846;EtaROImax[0][25][23]=  -0.744499;PhiROImin[0][25][23]=   -1.34117;PhiROImax[0][25][23]=	-1.26253;
-     EtaROImin[0][25][24]=  -0.905303;EtaROImax[0][25][24]=  -0.846464;PhiROImin[0][25][24]=   -1.26484;PhiROImax[0][25][24]=	-1.18089;
-     EtaROImin[0][25][25]=  -0.850339;EtaROImax[0][25][25]=  -0.788882;PhiROImin[0][25][25]=   -1.26484;PhiROImax[0][25][25]=	-1.18089;
-     EtaROImin[0][25][26]=  -0.905303;EtaROImax[0][25][26]=  -0.846464;PhiROImin[0][25][26]=   -1.35115;PhiROImax[0][25][26]=	-1.26847;
-     EtaROImin[0][25][27]=  -0.850339;EtaROImax[0][25][27]=  -0.788882;PhiROImin[0][25][27]=   -1.35115;PhiROImax[0][25][27]=	-1.26847;
-     EtaROImin[0][25][28]=  -0.984405;EtaROImax[0][25][28]=  -0.957812;PhiROImin[0][25][28]=   -1.20642;PhiROImax[0][25][28]=	-1.15713;
-     EtaROImin[0][25][29]=   -0.95602;EtaROImax[0][25][29]=  -0.914143;PhiROImin[0][25][29]=   -1.20642;PhiROImax[0][25][29]=	-1.15713;
-     EtaROImin[0][25][30]=  -0.984405;EtaROImax[0][25][30]=  -0.957812;PhiROImin[0][25][30]=   -1.29487;PhiROImax[0][25][30]=	 -1.2092;
-     EtaROImin[0][25][31]=   -0.95602;EtaROImax[0][25][31]=  -0.914143;PhiROImin[0][25][31]=   -1.29487;PhiROImax[0][25][31]=	 -1.2092;
-     EtaROImin[0][26][ 0]=  -0.126072;EtaROImax[0][26][ 0]= -0.0775634;PhiROImin[0][26][ 0]=   -1.17531;PhiROImax[0][26][ 0]=	-1.09135;
-     EtaROImin[0][26][ 1]=  -0.203032;EtaROImax[0][26][ 1]=  -0.129296;PhiROImin[0][26][ 1]=   -1.17531;PhiROImax[0][26][ 1]=	-1.09135;
-     EtaROImin[0][26][ 2]=  -0.126072;EtaROImax[0][26][ 2]= -0.0775634;PhiROImin[0][26][ 2]=   -1.08772;PhiROImax[0][26][ 2]=	-1.00505;
-     EtaROImin[0][26][ 3]=  -0.203032;EtaROImax[0][26][ 3]=  -0.129296;PhiROImin[0][26][ 3]=   -1.08772;PhiROImax[0][26][ 3]=	-1.00505;
-     EtaROImin[0][26][ 4]=  -0.248155;EtaROImax[0][26][ 4]=  -0.200823;PhiROImin[0][26][ 4]=   -1.17532;PhiROImax[0][26][ 4]=	-1.09176;
-     EtaROImin[0][26][ 5]=  -0.322732;EtaROImax[0][26][ 5]=  -0.251292;PhiROImin[0][26][ 5]=   -1.17532;PhiROImax[0][26][ 5]=	-1.09176;
-     EtaROImin[0][26][ 6]=  -0.248155;EtaROImax[0][26][ 6]=  -0.200823;PhiROImin[0][26][ 6]=   -1.08815;PhiROImax[0][26][ 6]=	-1.00586;
-     EtaROImin[0][26][ 7]=  -0.322732;EtaROImax[0][26][ 7]=  -0.251292;PhiROImin[0][26][ 7]=   -1.08815;PhiROImax[0][26][ 7]=	-1.00586;
-     EtaROImin[0][26][ 8]=  -0.439522;EtaROImax[0][26][ 8]=  -0.361231;PhiROImin[0][26][ 8]=   -1.17596;PhiROImax[0][26][ 8]=	-1.09652;
-     EtaROImin[0][26][ 9]=  -0.516583;EtaROImax[0][26][ 9]=  -0.440504;PhiROImin[0][26][ 9]=   -1.17596;PhiROImax[0][26][ 9]=	-1.09652;
-     EtaROImin[0][26][10]=  -0.439522;EtaROImax[0][26][10]=  -0.361231;PhiROImin[0][26][10]=   -1.09397;PhiROImax[0][26][10]=	 -1.0156;
-     EtaROImin[0][26][11]=  -0.516583;EtaROImax[0][26][11]=  -0.440504;PhiROImin[0][26][11]=   -1.09397;PhiROImax[0][26][11]=	 -1.0156;
-     EtaROImin[0][26][12]=  -0.569141;EtaROImax[0][26][12]=  -0.470878;PhiROImin[0][26][12]=   -1.17531;PhiROImax[0][26][12]=	-1.09135;
-     EtaROImin[0][26][13]=  -0.659332;EtaROImax[0][26][13]=  -0.566067;PhiROImin[0][26][13]=   -1.17531;PhiROImax[0][26][13]=	-1.09135;
-     EtaROImin[0][26][14]=  -0.569141;EtaROImax[0][26][14]=  -0.470878;PhiROImin[0][26][14]=   -1.08772;PhiROImax[0][26][14]=	-1.00505;
-     EtaROImin[0][26][15]=  -0.659332;EtaROImax[0][26][15]=  -0.566067;PhiROImin[0][26][15]=   -1.08772;PhiROImax[0][26][15]=	-1.00505;
-     EtaROImin[0][26][16]=  -0.672035;EtaROImax[0][26][16]=  -0.620212;PhiROImin[0][26][16]=   -1.17596;PhiROImax[0][26][16]=	-1.09652;
-     EtaROImin[0][26][17]=  -0.724075;EtaROImax[0][26][17]=  -0.673648;PhiROImin[0][26][17]=   -1.17596;PhiROImax[0][26][17]=	-1.09652;
-     EtaROImin[0][26][18]=  -0.672035;EtaROImax[0][26][18]=  -0.620212;PhiROImin[0][26][18]=   -1.09397;PhiROImax[0][26][18]=	 -1.0156;
-     EtaROImin[0][26][19]=  -0.724075;EtaROImax[0][26][19]=  -0.673648;PhiROImin[0][26][19]=   -1.09397;PhiROImax[0][26][19]=	 -1.0156;
-     EtaROImin[0][26][20]=  -0.831846;EtaROImax[0][26][20]=  -0.744499;PhiROImin[0][26][20]=   -1.17595;PhiROImax[0][26][20]=	-1.09623;
-     EtaROImin[0][26][21]=  -0.893028;EtaROImax[0][26][21]=  -0.833797;PhiROImin[0][26][21]=   -1.17595;PhiROImax[0][26][21]=	-1.09623;
-     EtaROImin[0][26][22]=  -0.831846;EtaROImax[0][26][22]=  -0.744499;PhiROImin[0][26][22]=   -1.09367;PhiROImax[0][26][22]=	-1.01502;
-     EtaROImin[0][26][23]=  -0.893028;EtaROImax[0][26][23]=  -0.833797;PhiROImin[0][26][23]=   -1.09367;PhiROImax[0][26][23]=	-1.01502;
-     EtaROImin[0][26][24]=  -0.850339;EtaROImax[0][26][24]=  -0.788882;PhiROImin[0][26][24]=   -1.17531;PhiROImax[0][26][24]=	-1.09135;
-     EtaROImin[0][26][25]=  -0.905303;EtaROImax[0][26][25]=  -0.846464;PhiROImin[0][26][25]=   -1.17531;PhiROImax[0][26][25]=	-1.09135;
-     EtaROImin[0][26][26]=  -0.850339;EtaROImax[0][26][26]=  -0.788882;PhiROImin[0][26][26]=   -1.08772;PhiROImax[0][26][26]=	-1.00505;
-     EtaROImin[0][26][27]=  -0.905303;EtaROImax[0][26][27]=  -0.846464;PhiROImin[0][26][27]=   -1.08772;PhiROImax[0][26][27]=	-1.00505;
-     EtaROImin[0][26][28]=  -0.939363;EtaROImax[0][26][28]=  -0.911945;PhiROImin[0][26][28]=   -1.14955;PhiROImax[0][26][28]=	-1.06384;
-     EtaROImin[0][26][29]=   -0.98211;EtaROImax[0][26][29]=  -0.941171;PhiROImin[0][26][29]=   -1.14955;PhiROImax[0][26][29]=	-1.06384;
-     EtaROImin[0][26][30]=  -0.939363;EtaROImax[0][26][30]=  -0.911945;PhiROImin[0][26][30]=   -1.15713;PhiROImax[0][26][30]=	 -1.0611;
-     EtaROImin[0][26][31]=   -0.98211;EtaROImax[0][26][31]=  -0.941171;PhiROImin[0][26][31]=   -1.15713;PhiROImax[0][26][31]=	 -1.0611;
-     EtaROImin[0][27][ 0]=  -0.238294;EtaROImax[0][27][ 0]=  -0.180742;PhiROImin[0][27][ 0]=   -0.89861;PhiROImax[0][27][ 0]=  -0.788366;
-     EtaROImin[0][27][ 1]=  -0.176882;EtaROImax[0][27][ 1]= -0.0874905;PhiROImin[0][27][ 1]=   -0.89861;PhiROImax[0][27][ 1]=  -0.788366;
-     EtaROImin[0][27][ 2]=  -0.238294;EtaROImax[0][27][ 2]=  -0.180742;PhiROImin[0][27][ 2]=   -1.00957;PhiROImax[0][27][ 2]=  -0.902135;
-     EtaROImin[0][27][ 3]=  -0.176882;EtaROImax[0][27][ 3]= -0.0874905;PhiROImin[0][27][ 3]=   -1.00957;PhiROImax[0][27][ 3]=  -0.902135;
-     EtaROImin[0][27][ 4]=  -0.452099;EtaROImax[0][27][ 4]=  -0.350831;PhiROImin[0][27][ 4]=  -0.898011;PhiROImax[0][27][ 4]=	-0.78835;
-     EtaROImin[0][27][ 5]=   -0.35049;EtaROImax[0][27][ 5]=  -0.246207;PhiROImin[0][27][ 5]=  -0.898011;PhiROImax[0][27][ 5]=	-0.78835;
-     EtaROImin[0][27][ 6]=  -0.452099;EtaROImax[0][27][ 6]=  -0.350831;PhiROImin[0][27][ 6]=   -1.00841;PhiROImax[0][27][ 6]=  -0.901517;
-     EtaROImin[0][27][ 7]=   -0.35049;EtaROImax[0][27][ 7]=  -0.246207;PhiROImin[0][27][ 7]=   -1.00841;PhiROImax[0][27][ 7]=  -0.901517;
-     EtaROImin[0][27][ 8]=  -0.648101;EtaROImax[0][27][ 8]=  -0.555789;PhiROImin[0][27][ 8]=  -0.898011;PhiROImax[0][27][ 8]=	-0.78835;
-     EtaROImin[0][27][ 9]=  -0.554444;EtaROImax[0][27][ 9]=  -0.458091;PhiROImin[0][27][ 9]=  -0.898011;PhiROImax[0][27][ 9]=	-0.78835;
-     EtaROImin[0][27][10]=  -0.648101;EtaROImax[0][27][10]=  -0.555789;PhiROImin[0][27][10]=   -1.00841;PhiROImax[0][27][10]=  -0.901517;
-     EtaROImin[0][27][11]=  -0.554444;EtaROImax[0][27][11]=  -0.458091;PhiROImin[0][27][11]=   -1.00841;PhiROImax[0][27][11]=  -0.901517;
-     EtaROImin[0][27][12]=  -0.776449;EtaROImax[0][27][12]=  -0.731124;PhiROImin[0][27][12]=   -0.89861;PhiROImax[0][27][12]=  -0.788366;
-     EtaROImin[0][27][13]=  -0.728056;EtaROImax[0][27][13]=  -0.655857;PhiROImin[0][27][13]=   -0.89861;PhiROImax[0][27][13]=  -0.788366;
-     EtaROImin[0][27][14]=  -0.776449;EtaROImax[0][27][14]=  -0.731124;PhiROImin[0][27][14]=   -1.00957;PhiROImax[0][27][14]=  -0.902135;
-     EtaROImin[0][27][15]=  -0.728056;EtaROImax[0][27][15]=  -0.655857;PhiROImin[0][27][15]=   -1.00957;PhiROImax[0][27][15]=  -0.902135;
-     EtaROImin[0][27][16]=  -0.895163;EtaROImax[0][27][16]=  -0.853359;PhiROImin[0][27][16]=   -0.89861;PhiROImax[0][27][16]=  -0.788366;
-     EtaROImin[0][27][17]=  -0.850528;EtaROImax[0][27][17]=  -0.783867;PhiROImin[0][27][17]=   -0.89861;PhiROImax[0][27][17]=  -0.788366;
-     EtaROImin[0][27][18]=  -0.895163;EtaROImax[0][27][18]=  -0.853359;PhiROImin[0][27][18]=   -1.00957;PhiROImax[0][27][18]=  -0.902135;
-     EtaROImin[0][27][19]=  -0.850528;EtaROImax[0][27][19]=  -0.783867;PhiROImin[0][27][19]=   -1.00957;PhiROImax[0][27][19]=  -0.902135;
-     EtaROImin[0][27][20]=   -1.02514;EtaROImax[0][27][20]=  -0.964674;PhiROImin[0][27][20]=  -0.898011;PhiROImax[0][27][20]=	-0.78835;
-     EtaROImin[0][27][21]=  -0.961344;EtaROImax[0][27][21]=  -0.898201;PhiROImin[0][27][21]=  -0.898011;PhiROImax[0][27][21]=	-0.78835;
-     EtaROImin[0][27][22]=   -1.02514;EtaROImax[0][27][22]=  -0.964674;PhiROImin[0][27][22]=   -1.00841;PhiROImax[0][27][22]=  -0.901517;
-     EtaROImin[0][27][23]=  -0.961344;EtaROImax[0][27][23]=  -0.898201;PhiROImin[0][27][23]=   -1.00841;PhiROImax[0][27][23]=  -0.901517;
-     EtaROImin[0][27][24]=	    0;EtaROImax[0][27][24]=	     0;PhiROImin[0][27][24]=	      0;PhiROImax[0][27][24]=	       0;
-     EtaROImin[0][27][25]=   -1.06547;EtaROImax[0][27][25]=   -1.03003;PhiROImin[0][27][25]=  -0.898827;PhiROImax[0][27][25]=  -0.788467;
-     EtaROImin[0][27][26]=	    0;EtaROImax[0][27][26]=	     0;PhiROImin[0][27][26]=	      0;PhiROImax[0][27][26]=	       0;
-     EtaROImin[0][27][27]=   -1.06547;EtaROImax[0][27][27]=   -1.03003;PhiROImin[0][27][27]=  -0.982541;PhiROImax[0][27][27]=  -0.902356;
-     EtaROImin[0][27][28]=	    0;EtaROImax[0][27][28]=	     0;PhiROImin[0][27][28]=	      0;PhiROImax[0][27][28]=	       0;
-     EtaROImin[0][27][29]=	    0;EtaROImax[0][27][29]=	     0;PhiROImin[0][27][29]=	      0;PhiROImax[0][27][29]=	       0;
-     EtaROImin[0][27][30]=	    0;EtaROImax[0][27][30]=	     0;PhiROImin[0][27][30]=	      0;PhiROImax[0][27][30]=	       0;
-     EtaROImin[0][27][31]=	    0;EtaROImax[0][27][31]=	     0;PhiROImin[0][27][31]=	      0;PhiROImax[0][27][31]=	       0;
-     EtaROImin[0][28][ 0]=  -0.145912;EtaROImax[0][28][ 0]= -0.0874905;PhiROImin[0][28][ 0]=   -0.78243;PhiROImax[0][28][ 0]=  -0.672186;
-     EtaROImin[0][28][ 1]=  -0.238294;EtaROImax[0][28][ 1]=  -0.149792;PhiROImin[0][28][ 1]=   -0.78243;PhiROImax[0][28][ 1]=  -0.672186;
-     EtaROImin[0][28][ 2]=  -0.145912;EtaROImax[0][28][ 2]= -0.0874905;PhiROImin[0][28][ 2]=  -0.668661;PhiROImax[0][28][ 2]=  -0.561229;
-     EtaROImin[0][28][ 3]=  -0.238294;EtaROImax[0][28][ 3]=  -0.149792;PhiROImin[0][28][ 3]=  -0.668661;PhiROImax[0][28][ 3]=  -0.561229;
-     EtaROImin[0][28][ 4]=   -0.35049;EtaROImax[0][28][ 4]=  -0.246207;PhiROImin[0][28][ 4]=  -0.782446;PhiROImax[0][28][ 4]=  -0.672786;
-     EtaROImin[0][28][ 5]=  -0.452099;EtaROImax[0][28][ 5]=  -0.350831;PhiROImin[0][28][ 5]=  -0.782446;PhiROImax[0][28][ 5]=  -0.672786;
-     EtaROImin[0][28][ 6]=   -0.35049;EtaROImax[0][28][ 6]=  -0.246207;PhiROImin[0][28][ 6]=  -0.669279;PhiROImax[0][28][ 6]=  -0.562387;
-     EtaROImin[0][28][ 7]=  -0.452099;EtaROImax[0][28][ 7]=  -0.350831;PhiROImin[0][28][ 7]=  -0.669279;PhiROImax[0][28][ 7]=  -0.562387;
-     EtaROImin[0][28][ 8]=  -0.554444;EtaROImax[0][28][ 8]=  -0.458091;PhiROImin[0][28][ 8]=  -0.782446;PhiROImax[0][28][ 8]=  -0.672786;
-     EtaROImin[0][28][ 9]=  -0.648101;EtaROImax[0][28][ 9]=  -0.555789;PhiROImin[0][28][ 9]=  -0.782446;PhiROImax[0][28][ 9]=  -0.672786;
-     EtaROImin[0][28][10]=  -0.554444;EtaROImax[0][28][10]=  -0.458091;PhiROImin[0][28][10]=  -0.669279;PhiROImax[0][28][10]=  -0.562387;
-     EtaROImin[0][28][11]=  -0.648101;EtaROImax[0][28][11]=  -0.555789;PhiROImin[0][28][11]=  -0.669279;PhiROImax[0][28][11]=  -0.562387;
-     EtaROImin[0][28][12]=  -0.703298;EtaROImax[0][28][12]=  -0.655857;PhiROImin[0][28][12]=   -0.78243;PhiROImax[0][28][12]=  -0.672186;
-     EtaROImin[0][28][13]=  -0.776449;EtaROImax[0][28][13]=  -0.706413;PhiROImin[0][28][13]=   -0.78243;PhiROImax[0][28][13]=  -0.672186;
-     EtaROImin[0][28][14]=  -0.703298;EtaROImax[0][28][14]=  -0.655857;PhiROImin[0][28][14]=  -0.668661;PhiROImax[0][28][14]=  -0.561229;
-     EtaROImin[0][28][15]=  -0.776449;EtaROImax[0][28][15]=  -0.706413;PhiROImin[0][28][15]=  -0.668661;PhiROImax[0][28][15]=  -0.561229;
-     EtaROImin[0][28][16]=   -0.82768;EtaROImax[0][28][16]=  -0.783867;PhiROImin[0][28][16]=   -0.78243;PhiROImax[0][28][16]=  -0.672186;
-     EtaROImin[0][28][17]=  -0.895163;EtaROImax[0][28][17]=  -0.830556;PhiROImin[0][28][17]=   -0.78243;PhiROImax[0][28][17]=  -0.672186;
-     EtaROImin[0][28][18]=   -0.82768;EtaROImax[0][28][18]=  -0.783867;PhiROImin[0][28][18]=  -0.668661;PhiROImax[0][28][18]=  -0.561229;
-     EtaROImin[0][28][19]=  -0.895163;EtaROImax[0][28][19]=  -0.830556;PhiROImin[0][28][19]=  -0.668661;PhiROImax[0][28][19]=  -0.561229;
-     EtaROImin[0][28][20]=  -0.961344;EtaROImax[0][28][20]=  -0.898201;PhiROImin[0][28][20]=  -0.782446;PhiROImax[0][28][20]=  -0.672786;
-     EtaROImin[0][28][21]=   -1.02514;EtaROImax[0][28][21]=  -0.964674;PhiROImin[0][28][21]=  -0.782446;PhiROImax[0][28][21]=  -0.672786;
-     EtaROImin[0][28][22]=  -0.961344;EtaROImax[0][28][22]=  -0.898201;PhiROImin[0][28][22]=  -0.669279;PhiROImax[0][28][22]=  -0.562387;
-     EtaROImin[0][28][23]=   -1.02514;EtaROImax[0][28][23]=  -0.964674;PhiROImin[0][28][23]=  -0.669279;PhiROImax[0][28][23]=  -0.562387;
-     EtaROImin[0][28][24]=   -1.06547;EtaROImax[0][28][24]=   -1.03003;PhiROImin[0][28][24]=  -0.782329;PhiROImax[0][28][24]=  -0.671969;
-     EtaROImin[0][28][25]=	    0;EtaROImax[0][28][25]=	     0;PhiROImin[0][28][25]=	      0;PhiROImax[0][28][25]=	       0;
-     EtaROImin[0][28][26]=   -1.06547;EtaROImax[0][28][26]=   -1.03003;PhiROImin[0][28][26]=   -0.66844;PhiROImax[0][28][26]=  -0.588255;
-     EtaROImin[0][28][27]=	    0;EtaROImax[0][28][27]=	     0;PhiROImin[0][28][27]=	      0;PhiROImax[0][28][27]=	       0;
-     EtaROImin[0][28][28]=	    0;EtaROImax[0][28][28]=	     0;PhiROImin[0][28][28]=	      0;PhiROImax[0][28][28]=	       0;
-     EtaROImin[0][28][29]=	    0;EtaROImax[0][28][29]=	     0;PhiROImin[0][28][29]=	      0;PhiROImax[0][28][29]=	       0;
-     EtaROImin[0][28][30]=	    0;EtaROImax[0][28][30]=	     0;PhiROImin[0][28][30]=	      0;PhiROImax[0][28][30]=	       0;
-     EtaROImin[0][28][31]=	    0;EtaROImax[0][28][31]=	     0;PhiROImin[0][28][31]=	      0;PhiROImax[0][28][31]=	       0;
-     EtaROImin[0][29][ 0]=  -0.213185;EtaROImax[0][29][ 0]=  -0.116816;PhiROImin[0][29][ 0]=  -0.479445;PhiROImax[0][29][ 0]=  -0.395489;
-     EtaROImin[0][29][ 1]=  -0.118734;EtaROImax[0][29][ 1]= -0.0208251;PhiROImin[0][29][ 1]=  -0.479445;PhiROImax[0][29][ 1]=  -0.395489;
-     EtaROImin[0][29][ 2]=  -0.213185;EtaROImax[0][29][ 2]=  -0.116816;PhiROImin[0][29][ 2]=  -0.565749;PhiROImax[0][29][ 2]=  -0.483076;
-     EtaROImin[0][29][ 3]=  -0.118734;EtaROImax[0][29][ 3]= -0.0208251;PhiROImin[0][29][ 3]=  -0.565749;PhiROImax[0][29][ 3]=  -0.483076;
-     EtaROImin[0][29][ 4]=  -0.416721;EtaROImax[0][29][ 4]=   -0.30075;PhiROImin[0][29][ 4]=  -0.479445;PhiROImax[0][29][ 4]=  -0.395489;
-     EtaROImin[0][29][ 5]=  -0.302928;EtaROImax[0][29][ 5]=  -0.222449;PhiROImin[0][29][ 5]=  -0.479445;PhiROImax[0][29][ 5]=  -0.395489;
-     EtaROImin[0][29][ 6]=  -0.416721;EtaROImax[0][29][ 6]=   -0.30075;PhiROImin[0][29][ 6]=  -0.565749;PhiROImax[0][29][ 6]=  -0.483076;
-     EtaROImin[0][29][ 7]=  -0.302928;EtaROImax[0][29][ 7]=  -0.222449;PhiROImin[0][29][ 7]=  -0.565749;PhiROImax[0][29][ 7]=  -0.483076;
-     EtaROImin[0][29][ 8]=  -0.573871;EtaROImax[0][29][ 8]=  -0.501681;PhiROImin[0][29][ 8]=  -0.479445;PhiROImax[0][29][ 8]=  -0.395489;
-     EtaROImin[0][29][ 9]=  -0.504617;EtaROImax[0][29][ 9]=   -0.42967;PhiROImin[0][29][ 9]=  -0.479445;PhiROImax[0][29][ 9]=  -0.395489;
-     EtaROImin[0][29][10]=  -0.573871;EtaROImax[0][29][10]=  -0.501681;PhiROImin[0][29][10]=  -0.565749;PhiROImax[0][29][10]=  -0.483076;
-     EtaROImin[0][29][11]=  -0.504617;EtaROImax[0][29][11]=   -0.42967;PhiROImin[0][29][11]=  -0.565749;PhiROImax[0][29][11]=  -0.483076;
-     EtaROImin[0][29][12]=  -0.741516;EtaROImax[0][29][12]=  -0.649933;PhiROImin[0][29][12]=  -0.479445;PhiROImax[0][29][12]=  -0.395489;
-     EtaROImin[0][29][13]=  -0.653329;EtaROImax[0][29][13]=  -0.583785;PhiROImin[0][29][13]=  -0.479445;PhiROImax[0][29][13]=  -0.395489;
-     EtaROImin[0][29][14]=  -0.741516;EtaROImax[0][29][14]=  -0.649933;PhiROImin[0][29][14]=  -0.565749;PhiROImax[0][29][14]=  -0.483076;
-     EtaROImin[0][29][15]=  -0.653329;EtaROImax[0][29][15]=  -0.583785;PhiROImin[0][29][15]=  -0.565749;PhiROImax[0][29][15]=  -0.483076;
-     EtaROImin[0][29][16]=	    0;EtaROImax[0][29][16]=	     0;PhiROImin[0][29][16]=	      0;PhiROImax[0][29][16]=	       0;
-     EtaROImin[0][29][17]=  -0.837822;EtaROImax[0][29][17]=  -0.756521;PhiROImin[0][29][17]=  -0.479445;PhiROImax[0][29][17]=  -0.395489;
-     EtaROImin[0][29][18]=	    0;EtaROImax[0][29][18]=	     0;PhiROImin[0][29][18]=	      0;PhiROImax[0][29][18]=	       0;
-     EtaROImin[0][29][19]=  -0.837822;EtaROImax[0][29][19]=  -0.756521;PhiROImin[0][29][19]=  -0.565749;PhiROImax[0][29][19]=  -0.483076;
-     EtaROImin[0][29][20]=  -0.956037;EtaROImax[0][29][20]=  -0.899344;PhiROImin[0][29][20]=  -0.479445;PhiROImax[0][29][20]=  -0.395489;
-     EtaROImin[0][29][21]=  -0.903324;EtaROImax[0][29][21]=  -0.844116;PhiROImin[0][29][21]=  -0.479445;PhiROImax[0][29][21]=  -0.395489;
-     EtaROImin[0][29][22]=  -0.956037;EtaROImax[0][29][22]=  -0.899344;PhiROImin[0][29][22]=  -0.565749;PhiROImax[0][29][22]=  -0.483076;
-     EtaROImin[0][29][23]=  -0.903324;EtaROImax[0][29][23]=  -0.844116;PhiROImin[0][29][23]=  -0.565749;PhiROImax[0][29][23]=  -0.483076;
-     EtaROImin[0][29][24]=	    0;EtaROImax[0][29][24]=	     0;PhiROImin[0][29][24]=	      0;PhiROImax[0][29][24]=	       0;
-     EtaROImin[0][29][25]=	    0;EtaROImax[0][29][25]=	     0;PhiROImin[0][29][25]=	      0;PhiROImax[0][29][25]=	       0;
-     EtaROImin[0][29][26]=	    0;EtaROImax[0][29][26]=	     0;PhiROImin[0][29][26]=	      0;PhiROImax[0][29][26]=	       0;
-     EtaROImin[0][29][27]=	    0;EtaROImax[0][29][27]=	     0;PhiROImin[0][29][27]=	      0;PhiROImax[0][29][27]=	       0;
-     EtaROImin[0][29][28]=	    0;EtaROImax[0][29][28]=	     0;PhiROImin[0][29][28]=	      0;PhiROImax[0][29][28]=	       0;
-     EtaROImin[0][29][29]=	    0;EtaROImax[0][29][29]=	     0;PhiROImin[0][29][29]=	      0;PhiROImax[0][29][29]=	       0;
-     EtaROImin[0][29][30]=	    0;EtaROImax[0][29][30]=	     0;PhiROImin[0][29][30]=	      0;PhiROImax[0][29][30]=	       0;
-     EtaROImin[0][29][31]=	    0;EtaROImax[0][29][31]=	     0;PhiROImin[0][29][31]=	      0;PhiROImax[0][29][31]=	       0;
-     EtaROImin[0][30][ 0]=  -0.118734;EtaROImax[0][30][ 0]= -0.0208251;PhiROImin[0][30][ 0]=  -0.389909;PhiROImax[0][30][ 0]=  -0.305953;
-     EtaROImin[0][30][ 1]=  -0.213185;EtaROImax[0][30][ 1]=  -0.116816;PhiROImin[0][30][ 1]=  -0.389909;PhiROImax[0][30][ 1]=  -0.305953;
-     EtaROImin[0][30][ 2]=  -0.118734;EtaROImax[0][30][ 2]= -0.0208251;PhiROImin[0][30][ 2]=  -0.302322;PhiROImax[0][30][ 2]=  -0.219649;
-     EtaROImin[0][30][ 3]=  -0.213185;EtaROImax[0][30][ 3]=  -0.116816;PhiROImin[0][30][ 3]=  -0.302322;PhiROImax[0][30][ 3]=  -0.219649;
-     EtaROImin[0][30][ 4]=  -0.302928;EtaROImax[0][30][ 4]=  -0.222449;PhiROImin[0][30][ 4]=  -0.389909;PhiROImax[0][30][ 4]=  -0.305953;
-     EtaROImin[0][30][ 5]=  -0.416721;EtaROImax[0][30][ 5]=   -0.30075;PhiROImin[0][30][ 5]=  -0.389909;PhiROImax[0][30][ 5]=  -0.305953;
-     EtaROImin[0][30][ 6]=  -0.302928;EtaROImax[0][30][ 6]=  -0.222449;PhiROImin[0][30][ 6]=  -0.302322;PhiROImax[0][30][ 6]=  -0.219649;
-     EtaROImin[0][30][ 7]=  -0.416721;EtaROImax[0][30][ 7]=   -0.30075;PhiROImin[0][30][ 7]=  -0.302322;PhiROImax[0][30][ 7]=  -0.219649;
-     EtaROImin[0][30][ 8]=  -0.504617;EtaROImax[0][30][ 8]=   -0.42967;PhiROImin[0][30][ 8]=  -0.389909;PhiROImax[0][30][ 8]=  -0.305953;
-     EtaROImin[0][30][ 9]=  -0.573871;EtaROImax[0][30][ 9]=  -0.501681;PhiROImin[0][30][ 9]=  -0.389909;PhiROImax[0][30][ 9]=  -0.305953;
-     EtaROImin[0][30][10]=  -0.504617;EtaROImax[0][30][10]=   -0.42967;PhiROImin[0][30][10]=  -0.302322;PhiROImax[0][30][10]=  -0.219649;
-     EtaROImin[0][30][11]=  -0.573871;EtaROImax[0][30][11]=  -0.501681;PhiROImin[0][30][11]=  -0.302322;PhiROImax[0][30][11]=  -0.219649;
-     EtaROImin[0][30][12]=  -0.653329;EtaROImax[0][30][12]=  -0.583785;PhiROImin[0][30][12]=  -0.389909;PhiROImax[0][30][12]=  -0.305953;
-     EtaROImin[0][30][13]=  -0.741516;EtaROImax[0][30][13]=  -0.649933;PhiROImin[0][30][13]=  -0.389909;PhiROImax[0][30][13]=  -0.305953;
-     EtaROImin[0][30][14]=  -0.653329;EtaROImax[0][30][14]=  -0.583785;PhiROImin[0][30][14]=  -0.302322;PhiROImax[0][30][14]=  -0.219649;
-     EtaROImin[0][30][15]=  -0.741516;EtaROImax[0][30][15]=  -0.649933;PhiROImin[0][30][15]=  -0.302322;PhiROImax[0][30][15]=  -0.219649;
-     EtaROImin[0][30][16]=  -0.837822;EtaROImax[0][30][16]=  -0.756521;PhiROImin[0][30][16]=  -0.389909;PhiROImax[0][30][16]=  -0.305953;
-     EtaROImin[0][30][17]=	    0;EtaROImax[0][30][17]=	     0;PhiROImin[0][30][17]=	      0;PhiROImax[0][30][17]=	       0;
-     EtaROImin[0][30][18]=  -0.837822;EtaROImax[0][30][18]=  -0.756521;PhiROImin[0][30][18]=  -0.302322;PhiROImax[0][30][18]=  -0.219649;
-     EtaROImin[0][30][19]=	    0;EtaROImax[0][30][19]=	     0;PhiROImin[0][30][19]=	      0;PhiROImax[0][30][19]=	       0;
-     EtaROImin[0][30][20]=  -0.903324;EtaROImax[0][30][20]=  -0.844116;PhiROImin[0][30][20]=  -0.389909;PhiROImax[0][30][20]=  -0.305953;
-     EtaROImin[0][30][21]=  -0.956037;EtaROImax[0][30][21]=  -0.899344;PhiROImin[0][30][21]=  -0.389909;PhiROImax[0][30][21]=  -0.305953;
-     EtaROImin[0][30][22]=  -0.903324;EtaROImax[0][30][22]=  -0.844116;PhiROImin[0][30][22]=  -0.302322;PhiROImax[0][30][22]=  -0.219649;
-     EtaROImin[0][30][23]=  -0.956037;EtaROImax[0][30][23]=  -0.899344;PhiROImin[0][30][23]=  -0.302322;PhiROImax[0][30][23]=  -0.219649;
-     EtaROImin[0][30][24]=	    0;EtaROImax[0][30][24]=	     0;PhiROImin[0][30][24]=	      0;PhiROImax[0][30][24]=	       0;
-     EtaROImin[0][30][25]=	    0;EtaROImax[0][30][25]=	     0;PhiROImin[0][30][25]=	      0;PhiROImax[0][30][25]=	       0;
-     EtaROImin[0][30][26]=	    0;EtaROImax[0][30][26]=	     0;PhiROImin[0][30][26]=	      0;PhiROImax[0][30][26]=	       0;
-     EtaROImin[0][30][27]=	    0;EtaROImax[0][30][27]=	     0;PhiROImin[0][30][27]=	      0;PhiROImax[0][30][27]=	       0;
-     EtaROImin[0][30][28]=	    0;EtaROImax[0][30][28]=	     0;PhiROImin[0][30][28]=	      0;PhiROImax[0][30][28]=	       0;
-     EtaROImin[0][30][29]=	    0;EtaROImax[0][30][29]=	     0;PhiROImin[0][30][29]=	      0;PhiROImax[0][30][29]=	       0;
-     EtaROImin[0][30][30]=	    0;EtaROImax[0][30][30]=	     0;PhiROImin[0][30][30]=	      0;PhiROImax[0][30][30]=	       0;
-     EtaROImin[0][30][31]=	    0;EtaROImax[0][30][31]=	     0;PhiROImin[0][30][31]=	      0;PhiROImax[0][30][31]=	       0;
-     EtaROImin[0][31][ 0]=	    0;EtaROImax[0][31][ 0]=	     0;PhiROImin[0][31][ 0]=	      0;PhiROImax[0][31][ 0]=	       0;
-     EtaROImin[0][31][ 1]=  -0.238757;EtaROImax[0][31][ 1]=   -0.13107;PhiROImin[0][31][ 1]=  -0.113212;PhiROImax[0][31][ 1]=-0.00296767;
-     EtaROImin[0][31][ 2]=	    0;EtaROImax[0][31][ 2]=	     0;PhiROImin[0][31][ 2]=	      0;PhiROImax[0][31][ 2]=	       0;
-     EtaROImin[0][31][ 3]=  -0.238757;EtaROImax[0][31][ 3]=   -0.13107;PhiROImin[0][31][ 3]=  -0.224169;PhiROImax[0][31][ 3]=  -0.116737;
-     EtaROImin[0][31][ 4]=  -0.452099;EtaROImax[0][31][ 4]=  -0.350831;PhiROImin[0][31][ 4]=  -0.112612;PhiROImax[0][31][ 4]=-0.00295181;
-     EtaROImin[0][31][ 5]=   -0.35049;EtaROImax[0][31][ 5]=  -0.246207;PhiROImin[0][31][ 5]=  -0.112612;PhiROImax[0][31][ 5]=-0.00295181;
-     EtaROImin[0][31][ 6]=  -0.452099;EtaROImax[0][31][ 6]=  -0.350831;PhiROImin[0][31][ 6]=  -0.223011;PhiROImax[0][31][ 6]=  -0.116119;
-     EtaROImin[0][31][ 7]=   -0.35049;EtaROImax[0][31][ 7]=  -0.246207;PhiROImin[0][31][ 7]=  -0.223011;PhiROImax[0][31][ 7]=  -0.116119;
-     EtaROImin[0][31][ 8]=  -0.648101;EtaROImax[0][31][ 8]=  -0.555789;PhiROImin[0][31][ 8]=  -0.112612;PhiROImax[0][31][ 8]=-0.00295181;
-     EtaROImin[0][31][ 9]=  -0.554444;EtaROImax[0][31][ 9]=  -0.458091;PhiROImin[0][31][ 9]=  -0.112612;PhiROImax[0][31][ 9]=-0.00295181;
-     EtaROImin[0][31][10]=  -0.648101;EtaROImax[0][31][10]=  -0.555789;PhiROImin[0][31][10]=  -0.223011;PhiROImax[0][31][10]=  -0.116119;
-     EtaROImin[0][31][11]=  -0.554444;EtaROImax[0][31][11]=  -0.458091;PhiROImin[0][31][11]=  -0.223011;PhiROImax[0][31][11]=  -0.116119;
-     EtaROImin[0][31][12]=  -0.776449;EtaROImax[0][31][12]=  -0.731124;PhiROImin[0][31][12]=  -0.113212;PhiROImax[0][31][12]=-0.00296767;
-     EtaROImin[0][31][13]=  -0.728056;EtaROImax[0][31][13]=  -0.655857;PhiROImin[0][31][13]=  -0.113212;PhiROImax[0][31][13]=-0.00296767;
-     EtaROImin[0][31][14]=  -0.776449;EtaROImax[0][31][14]=  -0.731124;PhiROImin[0][31][14]=  -0.224169;PhiROImax[0][31][14]=  -0.116737;
-     EtaROImin[0][31][15]=  -0.728056;EtaROImax[0][31][15]=  -0.655857;PhiROImin[0][31][15]=  -0.224169;PhiROImax[0][31][15]=  -0.116737;
-     EtaROImin[0][31][16]=  -0.895163;EtaROImax[0][31][16]=  -0.853359;PhiROImin[0][31][16]=  -0.113212;PhiROImax[0][31][16]=-0.00296767;
-     EtaROImin[0][31][17]=  -0.850528;EtaROImax[0][31][17]=  -0.783867;PhiROImin[0][31][17]=  -0.113212;PhiROImax[0][31][17]=-0.00296767;
-     EtaROImin[0][31][18]=  -0.895163;EtaROImax[0][31][18]=  -0.853359;PhiROImin[0][31][18]=  -0.224169;PhiROImax[0][31][18]=  -0.116737;
-     EtaROImin[0][31][19]=  -0.850528;EtaROImax[0][31][19]=  -0.783867;PhiROImin[0][31][19]=  -0.224169;PhiROImax[0][31][19]=  -0.116737;
-     EtaROImin[0][31][20]=   -1.02514;EtaROImax[0][31][20]=  -0.964674;PhiROImin[0][31][20]=  -0.112612;PhiROImax[0][31][20]=-0.00295181;
-     EtaROImin[0][31][21]=  -0.961344;EtaROImax[0][31][21]=  -0.898201;PhiROImin[0][31][21]=  -0.112612;PhiROImax[0][31][21]=-0.00295181;
-     EtaROImin[0][31][22]=   -1.02514;EtaROImax[0][31][22]=  -0.964674;PhiROImin[0][31][22]=  -0.223011;PhiROImax[0][31][22]=  -0.116119;
-     EtaROImin[0][31][23]=  -0.961344;EtaROImax[0][31][23]=  -0.898201;PhiROImin[0][31][23]=  -0.223011;PhiROImax[0][31][23]=  -0.116119;
-     EtaROImin[0][31][24]=	    0;EtaROImax[0][31][24]=	     0;PhiROImin[0][31][24]=	      0;PhiROImax[0][31][24]=	       0;
-     EtaROImin[0][31][25]=   -1.06547;EtaROImax[0][31][25]=   -1.03003;PhiROImin[0][31][25]=  -0.113429;PhiROImax[0][31][25]=-0.00306876;
-     EtaROImin[0][31][26]=	    0;EtaROImax[0][31][26]=	     0;PhiROImin[0][31][26]=	      0;PhiROImax[0][31][26]=	       0;
-     EtaROImin[0][31][27]=   -1.06547;EtaROImax[0][31][27]=   -1.03003;PhiROImin[0][31][27]=  -0.197143;PhiROImax[0][31][27]=  -0.116958;
-     EtaROImin[0][31][28]=	    0;EtaROImax[0][31][28]=	     0;PhiROImin[0][31][28]=	      0;PhiROImax[0][31][28]=	       0;
-     EtaROImin[0][31][29]=	    0;EtaROImax[0][31][29]=	     0;PhiROImin[0][31][29]=	      0;PhiROImax[0][31][29]=	       0;
-     EtaROImin[0][31][30]=	    0;EtaROImax[0][31][30]=	     0;PhiROImin[0][31][30]=	      0;PhiROImax[0][31][30]=	       0;
-     EtaROImin[0][31][31]=	    0;EtaROImax[0][31][31]=	     0;PhiROImin[0][31][31]=	      0;PhiROImax[0][31][31]=	       0;
-     EtaROImin[1][ 0][ 0]=   0.130922;EtaROImax[1][ 0][ 0]=   0.238612;PhiROImin[1][ 0][ 0]= 0.00295181;PhiROImax[1][ 0][ 0]=	0.112612;
-     EtaROImin[1][ 0][ 1]=  0.0231199;EtaROImax[1][ 0][ 1]=   0.131749;PhiROImin[1][ 0][ 1]= 0.00295181;PhiROImax[1][ 0][ 1]=	0.112612;
-     EtaROImin[1][ 0][ 2]=   0.130922;EtaROImax[1][ 0][ 2]=   0.238612;PhiROImin[1][ 0][ 2]=   0.116119;PhiROImax[1][ 0][ 2]=	0.223011;
-     EtaROImin[1][ 0][ 3]=  0.0231199;EtaROImax[1][ 0][ 3]=   0.131749;PhiROImin[1][ 0][ 3]=   0.116119;PhiROImax[1][ 0][ 3]=	0.223011;
-     EtaROImin[1][ 0][ 4]=   0.350831;EtaROImax[1][ 0][ 4]=   0.452099;PhiROImin[1][ 0][ 4]= 0.00295181;PhiROImax[1][ 0][ 4]=	0.112612;
-     EtaROImin[1][ 0][ 5]=   0.246207;EtaROImax[1][ 0][ 5]=    0.35049;PhiROImin[1][ 0][ 5]= 0.00295181;PhiROImax[1][ 0][ 5]=	0.112612;
-     EtaROImin[1][ 0][ 6]=   0.350831;EtaROImax[1][ 0][ 6]=   0.452099;PhiROImin[1][ 0][ 6]=   0.116119;PhiROImax[1][ 0][ 6]=	0.223011;
-     EtaROImin[1][ 0][ 7]=   0.246207;EtaROImax[1][ 0][ 7]=    0.35049;PhiROImin[1][ 0][ 7]=   0.116119;PhiROImax[1][ 0][ 7]=	0.223011;
-     EtaROImin[1][ 0][ 8]=   0.555789;EtaROImax[1][ 0][ 8]=   0.648101;PhiROImin[1][ 0][ 8]= 0.00295181;PhiROImax[1][ 0][ 8]=	0.112612;
-     EtaROImin[1][ 0][ 9]=   0.458091;EtaROImax[1][ 0][ 9]=   0.554444;PhiROImin[1][ 0][ 9]= 0.00295181;PhiROImax[1][ 0][ 9]=	0.112612;
-     EtaROImin[1][ 0][10]=   0.555789;EtaROImax[1][ 0][10]=   0.648101;PhiROImin[1][ 0][10]=   0.116119;PhiROImax[1][ 0][10]=	0.223011;
-     EtaROImin[1][ 0][11]=   0.458091;EtaROImax[1][ 0][11]=   0.554444;PhiROImin[1][ 0][11]=   0.116119;PhiROImax[1][ 0][11]=	0.223011;
-     EtaROImin[1][ 0][12]=   0.731124;EtaROImax[1][ 0][12]=   0.776449;PhiROImin[1][ 0][12]= 0.00296767;PhiROImax[1][ 0][12]=	0.113212;
-     EtaROImin[1][ 0][13]=   0.655857;EtaROImax[1][ 0][13]=   0.728056;PhiROImin[1][ 0][13]= 0.00296767;PhiROImax[1][ 0][13]=	0.113212;
-     EtaROImin[1][ 0][14]=   0.731124;EtaROImax[1][ 0][14]=   0.776449;PhiROImin[1][ 0][14]=   0.116737;PhiROImax[1][ 0][14]=	0.224169;
-     EtaROImin[1][ 0][15]=   0.655857;EtaROImax[1][ 0][15]=   0.728056;PhiROImin[1][ 0][15]=   0.116737;PhiROImax[1][ 0][15]=	0.224169;
-     EtaROImin[1][ 0][16]=   0.853359;EtaROImax[1][ 0][16]=   0.895163;PhiROImin[1][ 0][16]= 0.00296767;PhiROImax[1][ 0][16]=	0.113212;
-     EtaROImin[1][ 0][17]=   0.783867;EtaROImax[1][ 0][17]=   0.850528;PhiROImin[1][ 0][17]= 0.00296767;PhiROImax[1][ 0][17]=	0.113212;
-     EtaROImin[1][ 0][18]=   0.853359;EtaROImax[1][ 0][18]=   0.895163;PhiROImin[1][ 0][18]=   0.116737;PhiROImax[1][ 0][18]=	0.224169;
-     EtaROImin[1][ 0][19]=   0.783867;EtaROImax[1][ 0][19]=   0.850528;PhiROImin[1][ 0][19]=   0.116737;PhiROImax[1][ 0][19]=	0.224169;
-     EtaROImin[1][ 0][20]=   0.964674;EtaROImax[1][ 0][20]=    1.02514;PhiROImin[1][ 0][20]= 0.00295181;PhiROImax[1][ 0][20]=	0.112612;
-     EtaROImin[1][ 0][21]=   0.898201;EtaROImax[1][ 0][21]=   0.961344;PhiROImin[1][ 0][21]= 0.00295181;PhiROImax[1][ 0][21]=	0.112612;
-     EtaROImin[1][ 0][22]=   0.964674;EtaROImax[1][ 0][22]=    1.02514;PhiROImin[1][ 0][22]=   0.116119;PhiROImax[1][ 0][22]=	0.223011;
-     EtaROImin[1][ 0][23]=   0.898201;EtaROImax[1][ 0][23]=   0.961344;PhiROImin[1][ 0][23]=   0.116119;PhiROImax[1][ 0][23]=	0.223011;
-     EtaROImin[1][ 0][24]=	    0;EtaROImax[1][ 0][24]=	     0;PhiROImin[1][ 0][24]=	      0;PhiROImax[1][ 0][24]=	       0;
-     EtaROImin[1][ 0][25]=    1.03003;EtaROImax[1][ 0][25]=    1.06547;PhiROImin[1][ 0][25]= 0.00306876;PhiROImax[1][ 0][25]=	0.113429;
-     EtaROImin[1][ 0][26]=	    0;EtaROImax[1][ 0][26]=	     0;PhiROImin[1][ 0][26]=	      0;PhiROImax[1][ 0][26]=	       0;
-     EtaROImin[1][ 0][27]=    1.03003;EtaROImax[1][ 0][27]=    1.06547;PhiROImin[1][ 0][27]=   0.116958;PhiROImax[1][ 0][27]=	0.197143;
-     EtaROImin[1][ 0][28]=	    0;EtaROImax[1][ 0][28]=	     0;PhiROImin[1][ 0][28]=	      0;PhiROImax[1][ 0][28]=	       0;
-     EtaROImin[1][ 0][29]=	    0;EtaROImax[1][ 0][29]=	     0;PhiROImin[1][ 0][29]=	      0;PhiROImax[1][ 0][29]=	       0;
-     EtaROImin[1][ 0][30]=	    0;EtaROImax[1][ 0][30]=	     0;PhiROImin[1][ 0][30]=	      0;PhiROImax[1][ 0][30]=	       0;
-     EtaROImin[1][ 0][31]=	    0;EtaROImax[1][ 0][31]=	     0;PhiROImin[1][ 0][31]=	      0;PhiROImax[1][ 0][31]=	       0;
-     EtaROImin[1][ 1][ 0]=  0.0208251;EtaROImax[1][ 1][ 0]=   0.118734;PhiROImin[1][ 1][ 0]=   0.305953;PhiROImax[1][ 1][ 0]=	0.389909;
-     EtaROImin[1][ 1][ 1]=   0.116816;EtaROImax[1][ 1][ 1]=   0.213185;PhiROImin[1][ 1][ 1]=   0.305953;PhiROImax[1][ 1][ 1]=	0.389909;
-     EtaROImin[1][ 1][ 2]=  0.0208251;EtaROImax[1][ 1][ 2]=   0.118734;PhiROImin[1][ 1][ 2]=   0.219649;PhiROImax[1][ 1][ 2]=	0.302322;
-     EtaROImin[1][ 1][ 3]=   0.116816;EtaROImax[1][ 1][ 3]=   0.213185;PhiROImin[1][ 1][ 3]=   0.219649;PhiROImax[1][ 1][ 3]=	0.302322;
-     EtaROImin[1][ 1][ 4]=   0.222449;EtaROImax[1][ 1][ 4]=   0.302928;PhiROImin[1][ 1][ 4]=   0.305953;PhiROImax[1][ 1][ 4]=	0.389909;
-     EtaROImin[1][ 1][ 5]=    0.30075;EtaROImax[1][ 1][ 5]=   0.416721;PhiROImin[1][ 1][ 5]=   0.305953;PhiROImax[1][ 1][ 5]=	0.389909;
-     EtaROImin[1][ 1][ 6]=   0.222449;EtaROImax[1][ 1][ 6]=   0.302928;PhiROImin[1][ 1][ 6]=   0.219649;PhiROImax[1][ 1][ 6]=	0.302322;
-     EtaROImin[1][ 1][ 7]=    0.30075;EtaROImax[1][ 1][ 7]=   0.416721;PhiROImin[1][ 1][ 7]=   0.219649;PhiROImax[1][ 1][ 7]=	0.302322;
-     EtaROImin[1][ 1][ 8]=    0.42967;EtaROImax[1][ 1][ 8]=   0.504617;PhiROImin[1][ 1][ 8]=   0.305953;PhiROImax[1][ 1][ 8]=	0.389909;
-     EtaROImin[1][ 1][ 9]=   0.501681;EtaROImax[1][ 1][ 9]=   0.573871;PhiROImin[1][ 1][ 9]=   0.305953;PhiROImax[1][ 1][ 9]=	0.389909;
-     EtaROImin[1][ 1][10]=    0.42967;EtaROImax[1][ 1][10]=   0.504617;PhiROImin[1][ 1][10]=   0.219649;PhiROImax[1][ 1][10]=	0.302322;
-     EtaROImin[1][ 1][11]=   0.501681;EtaROImax[1][ 1][11]=   0.573871;PhiROImin[1][ 1][11]=   0.219649;PhiROImax[1][ 1][11]=	0.302322;
-     EtaROImin[1][ 1][12]=   0.583785;EtaROImax[1][ 1][12]=   0.653329;PhiROImin[1][ 1][12]=   0.305953;PhiROImax[1][ 1][12]=	0.389909;
-     EtaROImin[1][ 1][13]=   0.649934;EtaROImax[1][ 1][13]=   0.741516;PhiROImin[1][ 1][13]=   0.305953;PhiROImax[1][ 1][13]=	0.389909;
-     EtaROImin[1][ 1][14]=   0.583785;EtaROImax[1][ 1][14]=   0.653329;PhiROImin[1][ 1][14]=   0.219649;PhiROImax[1][ 1][14]=	0.302322;
-     EtaROImin[1][ 1][15]=   0.649934;EtaROImax[1][ 1][15]=   0.741516;PhiROImin[1][ 1][15]=   0.219649;PhiROImax[1][ 1][15]=	0.302322;
-     EtaROImin[1][ 1][16]=   0.756521;EtaROImax[1][ 1][16]=   0.837822;PhiROImin[1][ 1][16]=   0.305953;PhiROImax[1][ 1][16]=	0.389909;
-     EtaROImin[1][ 1][17]=	    0;EtaROImax[1][ 1][17]=	     0;PhiROImin[1][ 1][17]=	      0;PhiROImax[1][ 1][17]=	       0;
-     EtaROImin[1][ 1][18]=   0.756521;EtaROImax[1][ 1][18]=   0.837822;PhiROImin[1][ 1][18]=   0.219649;PhiROImax[1][ 1][18]=	0.302322;
-     EtaROImin[1][ 1][19]=	    0;EtaROImax[1][ 1][19]=	     0;PhiROImin[1][ 1][19]=	      0;PhiROImax[1][ 1][19]=	       0;
-     EtaROImin[1][ 1][20]=   0.844116;EtaROImax[1][ 1][20]=   0.903324;PhiROImin[1][ 1][20]=   0.305953;PhiROImax[1][ 1][20]=	0.389909;
-     EtaROImin[1][ 1][21]=   0.899344;EtaROImax[1][ 1][21]=   0.956037;PhiROImin[1][ 1][21]=   0.305953;PhiROImax[1][ 1][21]=	0.389909;
-     EtaROImin[1][ 1][22]=   0.844116;EtaROImax[1][ 1][22]=   0.903324;PhiROImin[1][ 1][22]=   0.219649;PhiROImax[1][ 1][22]=	0.302322;
-     EtaROImin[1][ 1][23]=   0.899344;EtaROImax[1][ 1][23]=   0.956037;PhiROImin[1][ 1][23]=   0.219649;PhiROImax[1][ 1][23]=	0.302322;
-     EtaROImin[1][ 1][24]=	    0;EtaROImax[1][ 1][24]=	     0;PhiROImin[1][ 1][24]=	      0;PhiROImax[1][ 1][24]=	       0;
-     EtaROImin[1][ 1][25]=	    0;EtaROImax[1][ 1][25]=	     0;PhiROImin[1][ 1][25]=	      0;PhiROImax[1][ 1][25]=	       0;
-     EtaROImin[1][ 1][26]=	    0;EtaROImax[1][ 1][26]=	     0;PhiROImin[1][ 1][26]=	      0;PhiROImax[1][ 1][26]=	       0;
-     EtaROImin[1][ 1][27]=	    0;EtaROImax[1][ 1][27]=	     0;PhiROImin[1][ 1][27]=	      0;PhiROImax[1][ 1][27]=	       0;
-     EtaROImin[1][ 1][28]=	    0;EtaROImax[1][ 1][28]=	     0;PhiROImin[1][ 1][28]=	      0;PhiROImax[1][ 1][28]=	       0;
-     EtaROImin[1][ 1][29]=	    0;EtaROImax[1][ 1][29]=	     0;PhiROImin[1][ 1][29]=	      0;PhiROImax[1][ 1][29]=	       0;
-     EtaROImin[1][ 1][30]=	    0;EtaROImax[1][ 1][30]=	     0;PhiROImin[1][ 1][30]=	      0;PhiROImax[1][ 1][30]=	       0;
-     EtaROImin[1][ 1][31]=	    0;EtaROImax[1][ 1][31]=	     0;PhiROImin[1][ 1][31]=	      0;PhiROImax[1][ 1][31]=	       0;
-     EtaROImin[1][ 2][ 0]=   0.116816;EtaROImax[1][ 2][ 0]=   0.213185;PhiROImin[1][ 2][ 0]=   0.395489;PhiROImax[1][ 2][ 0]=	0.479445;
-     EtaROImin[1][ 2][ 1]=  0.0208251;EtaROImax[1][ 2][ 1]=   0.118734;PhiROImin[1][ 2][ 1]=   0.395489;PhiROImax[1][ 2][ 1]=	0.479445;
-     EtaROImin[1][ 2][ 2]=   0.116816;EtaROImax[1][ 2][ 2]=   0.213185;PhiROImin[1][ 2][ 2]=   0.483076;PhiROImax[1][ 2][ 2]=	0.565749;
-     EtaROImin[1][ 2][ 3]=  0.0208251;EtaROImax[1][ 2][ 3]=   0.118734;PhiROImin[1][ 2][ 3]=   0.483076;PhiROImax[1][ 2][ 3]=	0.565749;
-     EtaROImin[1][ 2][ 4]=    0.30075;EtaROImax[1][ 2][ 4]=   0.416721;PhiROImin[1][ 2][ 4]=   0.395489;PhiROImax[1][ 2][ 4]=	0.479445;
-     EtaROImin[1][ 2][ 5]=   0.222449;EtaROImax[1][ 2][ 5]=   0.302928;PhiROImin[1][ 2][ 5]=   0.395489;PhiROImax[1][ 2][ 5]=	0.479445;
-     EtaROImin[1][ 2][ 6]=    0.30075;EtaROImax[1][ 2][ 6]=   0.416721;PhiROImin[1][ 2][ 6]=   0.483076;PhiROImax[1][ 2][ 6]=	0.565749;
-     EtaROImin[1][ 2][ 7]=   0.222449;EtaROImax[1][ 2][ 7]=   0.302928;PhiROImin[1][ 2][ 7]=   0.483076;PhiROImax[1][ 2][ 7]=	0.565749;
-     EtaROImin[1][ 2][ 8]=   0.501681;EtaROImax[1][ 2][ 8]=   0.573871;PhiROImin[1][ 2][ 8]=   0.395489;PhiROImax[1][ 2][ 8]=	0.479445;
-     EtaROImin[1][ 2][ 9]=    0.42967;EtaROImax[1][ 2][ 9]=   0.504617;PhiROImin[1][ 2][ 9]=   0.395489;PhiROImax[1][ 2][ 9]=	0.479445;
-     EtaROImin[1][ 2][10]=   0.501681;EtaROImax[1][ 2][10]=   0.573871;PhiROImin[1][ 2][10]=   0.483076;PhiROImax[1][ 2][10]=	0.565749;
-     EtaROImin[1][ 2][11]=    0.42967;EtaROImax[1][ 2][11]=   0.504617;PhiROImin[1][ 2][11]=   0.483076;PhiROImax[1][ 2][11]=	0.565749;
-     EtaROImin[1][ 2][12]=   0.649934;EtaROImax[1][ 2][12]=   0.741516;PhiROImin[1][ 2][12]=   0.395489;PhiROImax[1][ 2][12]=	0.479445;
-     EtaROImin[1][ 2][13]=   0.583785;EtaROImax[1][ 2][13]=   0.653329;PhiROImin[1][ 2][13]=   0.395489;PhiROImax[1][ 2][13]=	0.479445;
-     EtaROImin[1][ 2][14]=   0.649934;EtaROImax[1][ 2][14]=   0.741516;PhiROImin[1][ 2][14]=   0.483076;PhiROImax[1][ 2][14]=	0.565749;
-     EtaROImin[1][ 2][15]=   0.583785;EtaROImax[1][ 2][15]=   0.653329;PhiROImin[1][ 2][15]=   0.483076;PhiROImax[1][ 2][15]=	0.565749;
-     EtaROImin[1][ 2][16]=	    0;EtaROImax[1][ 2][16]=	     0;PhiROImin[1][ 2][16]=	      0;PhiROImax[1][ 2][16]=	       0;
-     EtaROImin[1][ 2][17]=   0.756521;EtaROImax[1][ 2][17]=   0.837822;PhiROImin[1][ 2][17]=   0.395489;PhiROImax[1][ 2][17]=	0.479445;
-     EtaROImin[1][ 2][18]=	    0;EtaROImax[1][ 2][18]=	     0;PhiROImin[1][ 2][18]=	      0;PhiROImax[1][ 2][18]=	       0;
-     EtaROImin[1][ 2][19]=   0.756521;EtaROImax[1][ 2][19]=   0.837822;PhiROImin[1][ 2][19]=   0.483076;PhiROImax[1][ 2][19]=	0.565749;
-     EtaROImin[1][ 2][20]=   0.899344;EtaROImax[1][ 2][20]=   0.956037;PhiROImin[1][ 2][20]=   0.395489;PhiROImax[1][ 2][20]=	0.479445;
-     EtaROImin[1][ 2][21]=   0.844116;EtaROImax[1][ 2][21]=   0.903324;PhiROImin[1][ 2][21]=   0.395489;PhiROImax[1][ 2][21]=	0.479445;
-     EtaROImin[1][ 2][22]=   0.899344;EtaROImax[1][ 2][22]=   0.956037;PhiROImin[1][ 2][22]=   0.483076;PhiROImax[1][ 2][22]=	0.565749;
-     EtaROImin[1][ 2][23]=   0.844116;EtaROImax[1][ 2][23]=   0.903324;PhiROImin[1][ 2][23]=   0.483076;PhiROImax[1][ 2][23]=	0.565749;
-     EtaROImin[1][ 2][24]=	    0;EtaROImax[1][ 2][24]=	     0;PhiROImin[1][ 2][24]=	      0;PhiROImax[1][ 2][24]=	       0;
-     EtaROImin[1][ 2][25]=	    0;EtaROImax[1][ 2][25]=	     0;PhiROImin[1][ 2][25]=	      0;PhiROImax[1][ 2][25]=	       0;
-     EtaROImin[1][ 2][26]=	    0;EtaROImax[1][ 2][26]=	     0;PhiROImin[1][ 2][26]=	      0;PhiROImax[1][ 2][26]=	       0;
-     EtaROImin[1][ 2][27]=	    0;EtaROImax[1][ 2][27]=	     0;PhiROImin[1][ 2][27]=	      0;PhiROImax[1][ 2][27]=	       0;
-     EtaROImin[1][ 2][28]=	    0;EtaROImax[1][ 2][28]=	     0;PhiROImin[1][ 2][28]=	      0;PhiROImax[1][ 2][28]=	       0;
-     EtaROImin[1][ 2][29]=	    0;EtaROImax[1][ 2][29]=	     0;PhiROImin[1][ 2][29]=	      0;PhiROImax[1][ 2][29]=	       0;
-     EtaROImin[1][ 2][30]=	    0;EtaROImax[1][ 2][30]=	     0;PhiROImin[1][ 2][30]=	      0;PhiROImax[1][ 2][30]=	       0;
-     EtaROImin[1][ 2][31]=	    0;EtaROImax[1][ 2][31]=	     0;PhiROImin[1][ 2][31]=	      0;PhiROImax[1][ 2][31]=	       0;
-     EtaROImin[1][ 3][ 0]=  0.0231199;EtaROImax[1][ 3][ 0]=   0.131749;PhiROImin[1][ 3][ 0]=   0.672786;PhiROImax[1][ 3][ 0]=	0.782446;
-     EtaROImin[1][ 3][ 1]=   0.130922;EtaROImax[1][ 3][ 1]=   0.238612;PhiROImin[1][ 3][ 1]=   0.672786;PhiROImax[1][ 3][ 1]=	0.782446;
-     EtaROImin[1][ 3][ 2]=  0.0231199;EtaROImax[1][ 3][ 2]=   0.131749;PhiROImin[1][ 3][ 2]=   0.562387;PhiROImax[1][ 3][ 2]=	0.669279;
-     EtaROImin[1][ 3][ 3]=   0.130922;EtaROImax[1][ 3][ 3]=   0.238612;PhiROImin[1][ 3][ 3]=   0.562387;PhiROImax[1][ 3][ 3]=	0.669279;
-     EtaROImin[1][ 3][ 4]=   0.246207;EtaROImax[1][ 3][ 4]=    0.35049;PhiROImin[1][ 3][ 4]=   0.672786;PhiROImax[1][ 3][ 4]=	0.782446;
-     EtaROImin[1][ 3][ 5]=   0.350831;EtaROImax[1][ 3][ 5]=   0.452099;PhiROImin[1][ 3][ 5]=   0.672786;PhiROImax[1][ 3][ 5]=	0.782446;
-     EtaROImin[1][ 3][ 6]=   0.246207;EtaROImax[1][ 3][ 6]=    0.35049;PhiROImin[1][ 3][ 6]=   0.562387;PhiROImax[1][ 3][ 6]=	0.669279;
-     EtaROImin[1][ 3][ 7]=   0.350831;EtaROImax[1][ 3][ 7]=   0.452099;PhiROImin[1][ 3][ 7]=   0.562387;PhiROImax[1][ 3][ 7]=	0.669279;
-     EtaROImin[1][ 3][ 8]=   0.458091;EtaROImax[1][ 3][ 8]=   0.554444;PhiROImin[1][ 3][ 8]=   0.672786;PhiROImax[1][ 3][ 8]=	0.782446;
-     EtaROImin[1][ 3][ 9]=   0.555789;EtaROImax[1][ 3][ 9]=   0.648101;PhiROImin[1][ 3][ 9]=   0.672786;PhiROImax[1][ 3][ 9]=	0.782446;
-     EtaROImin[1][ 3][10]=   0.458091;EtaROImax[1][ 3][10]=   0.554444;PhiROImin[1][ 3][10]=   0.562387;PhiROImax[1][ 3][10]=	0.669279;
-     EtaROImin[1][ 3][11]=   0.555789;EtaROImax[1][ 3][11]=   0.648101;PhiROImin[1][ 3][11]=   0.562387;PhiROImax[1][ 3][11]=	0.669279;
-     EtaROImin[1][ 3][12]=   0.655857;EtaROImax[1][ 3][12]=   0.703298;PhiROImin[1][ 3][12]=   0.672186;PhiROImax[1][ 3][12]=	 0.78243;
-     EtaROImin[1][ 3][13]=   0.706413;EtaROImax[1][ 3][13]=   0.776449;PhiROImin[1][ 3][13]=   0.672186;PhiROImax[1][ 3][13]=	 0.78243;
-     EtaROImin[1][ 3][14]=   0.655857;EtaROImax[1][ 3][14]=   0.703298;PhiROImin[1][ 3][14]=   0.561229;PhiROImax[1][ 3][14]=	0.668661;
-     EtaROImin[1][ 3][15]=   0.706413;EtaROImax[1][ 3][15]=   0.776449;PhiROImin[1][ 3][15]=   0.561229;PhiROImax[1][ 3][15]=	0.668661;
-     EtaROImin[1][ 3][16]=   0.783867;EtaROImax[1][ 3][16]=    0.82768;PhiROImin[1][ 3][16]=   0.672186;PhiROImax[1][ 3][16]=	 0.78243;
-     EtaROImin[1][ 3][17]=   0.830556;EtaROImax[1][ 3][17]=   0.895163;PhiROImin[1][ 3][17]=   0.672186;PhiROImax[1][ 3][17]=	 0.78243;
-     EtaROImin[1][ 3][18]=   0.783867;EtaROImax[1][ 3][18]=    0.82768;PhiROImin[1][ 3][18]=   0.561229;PhiROImax[1][ 3][18]=	0.668661;
-     EtaROImin[1][ 3][19]=   0.830556;EtaROImax[1][ 3][19]=   0.895163;PhiROImin[1][ 3][19]=   0.561229;PhiROImax[1][ 3][19]=	0.668661;
-     EtaROImin[1][ 3][20]=   0.898201;EtaROImax[1][ 3][20]=   0.961344;PhiROImin[1][ 3][20]=   0.672786;PhiROImax[1][ 3][20]=	0.782446;
-     EtaROImin[1][ 3][21]=   0.964674;EtaROImax[1][ 3][21]=    1.02514;PhiROImin[1][ 3][21]=   0.672786;PhiROImax[1][ 3][21]=	0.782446;
-     EtaROImin[1][ 3][22]=   0.898201;EtaROImax[1][ 3][22]=   0.961344;PhiROImin[1][ 3][22]=   0.562387;PhiROImax[1][ 3][22]=	0.669279;
-     EtaROImin[1][ 3][23]=   0.964674;EtaROImax[1][ 3][23]=    1.02514;PhiROImin[1][ 3][23]=   0.562387;PhiROImax[1][ 3][23]=	0.669279;
-     EtaROImin[1][ 3][24]=    1.03003;EtaROImax[1][ 3][24]=    1.06547;PhiROImin[1][ 3][24]=   0.671969;PhiROImax[1][ 3][24]=	0.782329;
-     EtaROImin[1][ 3][25]=	    0;EtaROImax[1][ 3][25]=	     0;PhiROImin[1][ 3][25]=	      0;PhiROImax[1][ 3][25]=	       0;
-     EtaROImin[1][ 3][26]=    1.03003;EtaROImax[1][ 3][26]=    1.06547;PhiROImin[1][ 3][26]=   0.588255;PhiROImax[1][ 3][26]=	 0.66844;
-     EtaROImin[1][ 3][27]=	    0;EtaROImax[1][ 3][27]=	     0;PhiROImin[1][ 3][27]=	      0;PhiROImax[1][ 3][27]=	       0;
-     EtaROImin[1][ 3][28]=	    0;EtaROImax[1][ 3][28]=	     0;PhiROImin[1][ 3][28]=	      0;PhiROImax[1][ 3][28]=	       0;
-     EtaROImin[1][ 3][29]=	    0;EtaROImax[1][ 3][29]=	     0;PhiROImin[1][ 3][29]=	      0;PhiROImax[1][ 3][29]=	       0;
-     EtaROImin[1][ 3][30]=	    0;EtaROImax[1][ 3][30]=	     0;PhiROImin[1][ 3][30]=	      0;PhiROImax[1][ 3][30]=	       0;
-     EtaROImin[1][ 3][31]=	    0;EtaROImax[1][ 3][31]=	     0;PhiROImin[1][ 3][31]=	      0;PhiROImax[1][ 3][31]=	       0;
-     EtaROImin[1][ 4][ 0]=   0.130922;EtaROImax[1][ 4][ 0]=   0.238612;PhiROImin[1][ 4][ 0]=	0.78835;PhiROImax[1][ 4][ 0]=	0.898011;
-     EtaROImin[1][ 4][ 1]=  0.0231199;EtaROImax[1][ 4][ 1]=   0.131749;PhiROImin[1][ 4][ 1]=	0.78835;PhiROImax[1][ 4][ 1]=	0.898011;
-     EtaROImin[1][ 4][ 2]=   0.130922;EtaROImax[1][ 4][ 2]=   0.238612;PhiROImin[1][ 4][ 2]=   0.901517;PhiROImax[1][ 4][ 2]=	 1.00841;
-     EtaROImin[1][ 4][ 3]=  0.0231199;EtaROImax[1][ 4][ 3]=   0.131749;PhiROImin[1][ 4][ 3]=   0.901517;PhiROImax[1][ 4][ 3]=	 1.00841;
-     EtaROImin[1][ 4][ 4]=   0.350831;EtaROImax[1][ 4][ 4]=   0.452099;PhiROImin[1][ 4][ 4]=	0.78835;PhiROImax[1][ 4][ 4]=	0.898011;
-     EtaROImin[1][ 4][ 5]=   0.246207;EtaROImax[1][ 4][ 5]=    0.35049;PhiROImin[1][ 4][ 5]=	0.78835;PhiROImax[1][ 4][ 5]=	0.898011;
-     EtaROImin[1][ 4][ 6]=   0.350831;EtaROImax[1][ 4][ 6]=   0.452099;PhiROImin[1][ 4][ 6]=   0.901517;PhiROImax[1][ 4][ 6]=	 1.00841;
-     EtaROImin[1][ 4][ 7]=   0.246207;EtaROImax[1][ 4][ 7]=    0.35049;PhiROImin[1][ 4][ 7]=   0.901517;PhiROImax[1][ 4][ 7]=	 1.00841;
-     EtaROImin[1][ 4][ 8]=   0.555789;EtaROImax[1][ 4][ 8]=   0.648101;PhiROImin[1][ 4][ 8]=	0.78835;PhiROImax[1][ 4][ 8]=	0.898011;
-     EtaROImin[1][ 4][ 9]=   0.458091;EtaROImax[1][ 4][ 9]=   0.554444;PhiROImin[1][ 4][ 9]=	0.78835;PhiROImax[1][ 4][ 9]=	0.898011;
-     EtaROImin[1][ 4][10]=   0.555789;EtaROImax[1][ 4][10]=   0.648101;PhiROImin[1][ 4][10]=   0.901517;PhiROImax[1][ 4][10]=	 1.00841;
-     EtaROImin[1][ 4][11]=   0.458091;EtaROImax[1][ 4][11]=   0.554444;PhiROImin[1][ 4][11]=   0.901517;PhiROImax[1][ 4][11]=	 1.00841;
-     EtaROImin[1][ 4][12]=   0.731124;EtaROImax[1][ 4][12]=   0.776449;PhiROImin[1][ 4][12]=   0.788366;PhiROImax[1][ 4][12]=	 0.89861;
-     EtaROImin[1][ 4][13]=   0.655857;EtaROImax[1][ 4][13]=   0.728056;PhiROImin[1][ 4][13]=   0.788366;PhiROImax[1][ 4][13]=	 0.89861;
-     EtaROImin[1][ 4][14]=   0.731124;EtaROImax[1][ 4][14]=   0.776449;PhiROImin[1][ 4][14]=   0.902135;PhiROImax[1][ 4][14]=	 1.00957;
-     EtaROImin[1][ 4][15]=   0.655857;EtaROImax[1][ 4][15]=   0.728056;PhiROImin[1][ 4][15]=   0.902135;PhiROImax[1][ 4][15]=	 1.00957;
-     EtaROImin[1][ 4][16]=   0.853359;EtaROImax[1][ 4][16]=   0.895163;PhiROImin[1][ 4][16]=   0.788366;PhiROImax[1][ 4][16]=	 0.89861;
-     EtaROImin[1][ 4][17]=   0.783867;EtaROImax[1][ 4][17]=   0.850528;PhiROImin[1][ 4][17]=   0.788366;PhiROImax[1][ 4][17]=	 0.89861;
-     EtaROImin[1][ 4][18]=   0.853359;EtaROImax[1][ 4][18]=   0.895163;PhiROImin[1][ 4][18]=   0.902135;PhiROImax[1][ 4][18]=	 1.00957;
-     EtaROImin[1][ 4][19]=   0.783867;EtaROImax[1][ 4][19]=   0.850528;PhiROImin[1][ 4][19]=   0.902135;PhiROImax[1][ 4][19]=	 1.00957;
-     EtaROImin[1][ 4][20]=   0.964674;EtaROImax[1][ 4][20]=    1.02514;PhiROImin[1][ 4][20]=	0.78835;PhiROImax[1][ 4][20]=	0.898011;
-     EtaROImin[1][ 4][21]=   0.898201;EtaROImax[1][ 4][21]=   0.961344;PhiROImin[1][ 4][21]=	0.78835;PhiROImax[1][ 4][21]=	0.898011;
-     EtaROImin[1][ 4][22]=   0.964674;EtaROImax[1][ 4][22]=    1.02514;PhiROImin[1][ 4][22]=   0.901517;PhiROImax[1][ 4][22]=	 1.00841;
-     EtaROImin[1][ 4][23]=   0.898201;EtaROImax[1][ 4][23]=   0.961344;PhiROImin[1][ 4][23]=   0.901517;PhiROImax[1][ 4][23]=	 1.00841;
-     EtaROImin[1][ 4][24]=	    0;EtaROImax[1][ 4][24]=	     0;PhiROImin[1][ 4][24]=	      0;PhiROImax[1][ 4][24]=	       0;
-     EtaROImin[1][ 4][25]=    1.03003;EtaROImax[1][ 4][25]=    1.06547;PhiROImin[1][ 4][25]=   0.788467;PhiROImax[1][ 4][25]=	0.898827;
-     EtaROImin[1][ 4][26]=	    0;EtaROImax[1][ 4][26]=	     0;PhiROImin[1][ 4][26]=	      0;PhiROImax[1][ 4][26]=	       0;
-     EtaROImin[1][ 4][27]=    1.03003;EtaROImax[1][ 4][27]=    1.06547;PhiROImin[1][ 4][27]=   0.902356;PhiROImax[1][ 4][27]=	0.982541;
-     EtaROImin[1][ 4][28]=	    0;EtaROImax[1][ 4][28]=	     0;PhiROImin[1][ 4][28]=	      0;PhiROImax[1][ 4][28]=	       0;
-     EtaROImin[1][ 4][29]=	    0;EtaROImax[1][ 4][29]=	     0;PhiROImin[1][ 4][29]=	      0;PhiROImax[1][ 4][29]=	       0;
-     EtaROImin[1][ 4][30]=	    0;EtaROImax[1][ 4][30]=	     0;PhiROImin[1][ 4][30]=	      0;PhiROImax[1][ 4][30]=	       0;
-     EtaROImin[1][ 4][31]=	    0;EtaROImax[1][ 4][31]=	     0;PhiROImin[1][ 4][31]=	      0;PhiROImax[1][ 4][31]=	       0;
-     EtaROImin[1][ 5][ 0]=  0.0208251;EtaROImax[1][ 5][ 0]=   0.118734;PhiROImin[1][ 5][ 0]=	1.09135;PhiROImax[1][ 5][ 0]=	 1.17531;
-     EtaROImin[1][ 5][ 1]=   0.116816;EtaROImax[1][ 5][ 1]=   0.213185;PhiROImin[1][ 5][ 1]=	1.09135;PhiROImax[1][ 5][ 1]=	 1.17531;
-     EtaROImin[1][ 5][ 2]=  0.0208251;EtaROImax[1][ 5][ 2]=   0.118734;PhiROImin[1][ 5][ 2]=	1.00505;PhiROImax[1][ 5][ 2]=	 1.08772;
-     EtaROImin[1][ 5][ 3]=   0.116816;EtaROImax[1][ 5][ 3]=   0.213185;PhiROImin[1][ 5][ 3]=	1.00505;PhiROImax[1][ 5][ 3]=	 1.08772;
-     EtaROImin[1][ 5][ 4]=   0.222449;EtaROImax[1][ 5][ 4]=   0.302928;PhiROImin[1][ 5][ 4]=	1.09135;PhiROImax[1][ 5][ 4]=	 1.17531;
-     EtaROImin[1][ 5][ 5]=    0.30075;EtaROImax[1][ 5][ 5]=   0.416721;PhiROImin[1][ 5][ 5]=	1.09135;PhiROImax[1][ 5][ 5]=	 1.17531;
-     EtaROImin[1][ 5][ 6]=   0.222449;EtaROImax[1][ 5][ 6]=   0.302928;PhiROImin[1][ 5][ 6]=	1.00505;PhiROImax[1][ 5][ 6]=	 1.08772;
-     EtaROImin[1][ 5][ 7]=    0.30075;EtaROImax[1][ 5][ 7]=   0.416721;PhiROImin[1][ 5][ 7]=	1.00505;PhiROImax[1][ 5][ 7]=	 1.08772;
-     EtaROImin[1][ 5][ 8]=    0.42967;EtaROImax[1][ 5][ 8]=   0.504617;PhiROImin[1][ 5][ 8]=	1.09135;PhiROImax[1][ 5][ 8]=	 1.17531;
-     EtaROImin[1][ 5][ 9]=   0.501681;EtaROImax[1][ 5][ 9]=   0.573871;PhiROImin[1][ 5][ 9]=	1.09135;PhiROImax[1][ 5][ 9]=	 1.17531;
-     EtaROImin[1][ 5][10]=    0.42967;EtaROImax[1][ 5][10]=   0.504617;PhiROImin[1][ 5][10]=	1.00505;PhiROImax[1][ 5][10]=	 1.08772;
-     EtaROImin[1][ 5][11]=   0.501681;EtaROImax[1][ 5][11]=   0.573871;PhiROImin[1][ 5][11]=	1.00505;PhiROImax[1][ 5][11]=	 1.08772;
-     EtaROImin[1][ 5][12]=   0.583785;EtaROImax[1][ 5][12]=   0.653329;PhiROImin[1][ 5][12]=	1.09135;PhiROImax[1][ 5][12]=	 1.17531;
-     EtaROImin[1][ 5][13]=   0.649934;EtaROImax[1][ 5][13]=   0.741516;PhiROImin[1][ 5][13]=	1.09135;PhiROImax[1][ 5][13]=	 1.17531;
-     EtaROImin[1][ 5][14]=   0.583785;EtaROImax[1][ 5][14]=   0.653329;PhiROImin[1][ 5][14]=	1.00505;PhiROImax[1][ 5][14]=	 1.08772;
-     EtaROImin[1][ 5][15]=   0.649934;EtaROImax[1][ 5][15]=   0.741516;PhiROImin[1][ 5][15]=	1.00505;PhiROImax[1][ 5][15]=	 1.08772;
-     EtaROImin[1][ 5][16]=   0.756521;EtaROImax[1][ 5][16]=   0.837822;PhiROImin[1][ 5][16]=	1.09135;PhiROImax[1][ 5][16]=	 1.17531;
-     EtaROImin[1][ 5][17]=	    0;EtaROImax[1][ 5][17]=	     0;PhiROImin[1][ 5][17]=	      0;PhiROImax[1][ 5][17]=	       0;
-     EtaROImin[1][ 5][18]=   0.756521;EtaROImax[1][ 5][18]=   0.837822;PhiROImin[1][ 5][18]=	1.00505;PhiROImax[1][ 5][18]=	 1.08772;
-     EtaROImin[1][ 5][19]=	    0;EtaROImax[1][ 5][19]=	     0;PhiROImin[1][ 5][19]=	      0;PhiROImax[1][ 5][19]=	       0;
-     EtaROImin[1][ 5][20]=   0.844116;EtaROImax[1][ 5][20]=   0.903324;PhiROImin[1][ 5][20]=	1.09135;PhiROImax[1][ 5][20]=	 1.17531;
-     EtaROImin[1][ 5][21]=   0.899344;EtaROImax[1][ 5][21]=   0.956037;PhiROImin[1][ 5][21]=	1.09135;PhiROImax[1][ 5][21]=	 1.17531;
-     EtaROImin[1][ 5][22]=   0.844116;EtaROImax[1][ 5][22]=   0.903324;PhiROImin[1][ 5][22]=	1.00505;PhiROImax[1][ 5][22]=	 1.08772;
-     EtaROImin[1][ 5][23]=   0.899344;EtaROImax[1][ 5][23]=   0.956037;PhiROImin[1][ 5][23]=	1.00505;PhiROImax[1][ 5][23]=	 1.08772;
-     EtaROImin[1][ 5][24]=	    0;EtaROImax[1][ 5][24]=	     0;PhiROImin[1][ 5][24]=	      0;PhiROImax[1][ 5][24]=	       0;
-     EtaROImin[1][ 5][25]=	    0;EtaROImax[1][ 5][25]=	     0;PhiROImin[1][ 5][25]=	      0;PhiROImax[1][ 5][25]=	       0;
-     EtaROImin[1][ 5][26]=	    0;EtaROImax[1][ 5][26]=	     0;PhiROImin[1][ 5][26]=	      0;PhiROImax[1][ 5][26]=	       0;
-     EtaROImin[1][ 5][27]=	    0;EtaROImax[1][ 5][27]=	     0;PhiROImin[1][ 5][27]=	      0;PhiROImax[1][ 5][27]=	       0;
-     EtaROImin[1][ 5][28]=	    0;EtaROImax[1][ 5][28]=	     0;PhiROImin[1][ 5][28]=	      0;PhiROImax[1][ 5][28]=	       0;
-     EtaROImin[1][ 5][29]=	    0;EtaROImax[1][ 5][29]=	     0;PhiROImin[1][ 5][29]=	      0;PhiROImax[1][ 5][29]=	       0;
-     EtaROImin[1][ 5][30]=	    0;EtaROImax[1][ 5][30]=	     0;PhiROImin[1][ 5][30]=	      0;PhiROImax[1][ 5][30]=	       0;
-     EtaROImin[1][ 5][31]=	    0;EtaROImax[1][ 5][31]=	     0;PhiROImin[1][ 5][31]=	      0;PhiROImax[1][ 5][31]=	       0;
-     EtaROImin[1][ 6][ 0]=   0.116816;EtaROImax[1][ 6][ 0]=   0.213185;PhiROImin[1][ 6][ 0]=	1.18089;PhiROImax[1][ 6][ 0]=	 1.26484;
-     EtaROImin[1][ 6][ 1]=  0.0208251;EtaROImax[1][ 6][ 1]=   0.118734;PhiROImin[1][ 6][ 1]=	1.18089;PhiROImax[1][ 6][ 1]=	 1.26484;
-     EtaROImin[1][ 6][ 2]=   0.116816;EtaROImax[1][ 6][ 2]=   0.213185;PhiROImin[1][ 6][ 2]=	1.26847;PhiROImax[1][ 6][ 2]=	 1.35115;
-     EtaROImin[1][ 6][ 3]=  0.0208251;EtaROImax[1][ 6][ 3]=   0.118734;PhiROImin[1][ 6][ 3]=	1.26847;PhiROImax[1][ 6][ 3]=	 1.35115;
-     EtaROImin[1][ 6][ 4]=    0.30075;EtaROImax[1][ 6][ 4]=   0.416721;PhiROImin[1][ 6][ 4]=	1.18089;PhiROImax[1][ 6][ 4]=	 1.26484;
-     EtaROImin[1][ 6][ 5]=   0.222449;EtaROImax[1][ 6][ 5]=   0.302928;PhiROImin[1][ 6][ 5]=	1.18089;PhiROImax[1][ 6][ 5]=	 1.26484;
-     EtaROImin[1][ 6][ 6]=    0.30075;EtaROImax[1][ 6][ 6]=   0.416721;PhiROImin[1][ 6][ 6]=	1.26847;PhiROImax[1][ 6][ 6]=	 1.35115;
-     EtaROImin[1][ 6][ 7]=   0.222449;EtaROImax[1][ 6][ 7]=   0.302928;PhiROImin[1][ 6][ 7]=	1.26847;PhiROImax[1][ 6][ 7]=	 1.35115;
-     EtaROImin[1][ 6][ 8]=   0.501681;EtaROImax[1][ 6][ 8]=   0.573871;PhiROImin[1][ 6][ 8]=	1.18089;PhiROImax[1][ 6][ 8]=	 1.26484;
-     EtaROImin[1][ 6][ 9]=    0.42967;EtaROImax[1][ 6][ 9]=   0.504617;PhiROImin[1][ 6][ 9]=	1.18089;PhiROImax[1][ 6][ 9]=	 1.26484;
-     EtaROImin[1][ 6][10]=   0.501681;EtaROImax[1][ 6][10]=   0.573871;PhiROImin[1][ 6][10]=	1.26847;PhiROImax[1][ 6][10]=	 1.35115;
-     EtaROImin[1][ 6][11]=    0.42967;EtaROImax[1][ 6][11]=   0.504617;PhiROImin[1][ 6][11]=	1.26847;PhiROImax[1][ 6][11]=	 1.35115;
-     EtaROImin[1][ 6][12]=   0.649934;EtaROImax[1][ 6][12]=   0.741516;PhiROImin[1][ 6][12]=	1.18089;PhiROImax[1][ 6][12]=	 1.26484;
-     EtaROImin[1][ 6][13]=   0.583785;EtaROImax[1][ 6][13]=   0.653329;PhiROImin[1][ 6][13]=	1.18089;PhiROImax[1][ 6][13]=	 1.26484;
-     EtaROImin[1][ 6][14]=   0.649934;EtaROImax[1][ 6][14]=   0.741516;PhiROImin[1][ 6][14]=	1.26847;PhiROImax[1][ 6][14]=	 1.35115;
-     EtaROImin[1][ 6][15]=   0.583785;EtaROImax[1][ 6][15]=   0.653329;PhiROImin[1][ 6][15]=	1.26847;PhiROImax[1][ 6][15]=	 1.35115;
-     EtaROImin[1][ 6][16]=	    0;EtaROImax[1][ 6][16]=	     0;PhiROImin[1][ 6][16]=	      0;PhiROImax[1][ 6][16]=	       0;
-     EtaROImin[1][ 6][17]=   0.756521;EtaROImax[1][ 6][17]=   0.837822;PhiROImin[1][ 6][17]=	1.18089;PhiROImax[1][ 6][17]=	 1.26484;
-     EtaROImin[1][ 6][18]=	    0;EtaROImax[1][ 6][18]=	     0;PhiROImin[1][ 6][18]=	      0;PhiROImax[1][ 6][18]=	       0;
-     EtaROImin[1][ 6][19]=   0.756521;EtaROImax[1][ 6][19]=   0.837822;PhiROImin[1][ 6][19]=	1.26847;PhiROImax[1][ 6][19]=	 1.35115;
-     EtaROImin[1][ 6][20]=   0.899344;EtaROImax[1][ 6][20]=   0.956037;PhiROImin[1][ 6][20]=	1.18089;PhiROImax[1][ 6][20]=	 1.26484;
-     EtaROImin[1][ 6][21]=   0.844116;EtaROImax[1][ 6][21]=   0.903324;PhiROImin[1][ 6][21]=	1.18089;PhiROImax[1][ 6][21]=	 1.26484;
-     EtaROImin[1][ 6][22]=   0.899344;EtaROImax[1][ 6][22]=   0.956037;PhiROImin[1][ 6][22]=	1.26847;PhiROImax[1][ 6][22]=	 1.35115;
-     EtaROImin[1][ 6][23]=   0.844116;EtaROImax[1][ 6][23]=   0.903324;PhiROImin[1][ 6][23]=	1.26847;PhiROImax[1][ 6][23]=	 1.35115;
-     EtaROImin[1][ 6][24]=	    0;EtaROImax[1][ 6][24]=	     0;PhiROImin[1][ 6][24]=	      0;PhiROImax[1][ 6][24]=	       0;
-     EtaROImin[1][ 6][25]=	    0;EtaROImax[1][ 6][25]=	     0;PhiROImin[1][ 6][25]=	      0;PhiROImax[1][ 6][25]=	       0;
-     EtaROImin[1][ 6][26]=	    0;EtaROImax[1][ 6][26]=	     0;PhiROImin[1][ 6][26]=	      0;PhiROImax[1][ 6][26]=	       0;
-     EtaROImin[1][ 6][27]=	    0;EtaROImax[1][ 6][27]=	     0;PhiROImin[1][ 6][27]=	      0;PhiROImax[1][ 6][27]=	       0;
-     EtaROImin[1][ 6][28]=	    0;EtaROImax[1][ 6][28]=	     0;PhiROImin[1][ 6][28]=	      0;PhiROImax[1][ 6][28]=	       0;
-     EtaROImin[1][ 6][29]=	    0;EtaROImax[1][ 6][29]=	     0;PhiROImin[1][ 6][29]=	      0;PhiROImax[1][ 6][29]=	       0;
-     EtaROImin[1][ 6][30]=	    0;EtaROImax[1][ 6][30]=	     0;PhiROImin[1][ 6][30]=	      0;PhiROImax[1][ 6][30]=	       0;
-     EtaROImin[1][ 6][31]=	    0;EtaROImax[1][ 6][31]=	     0;PhiROImin[1][ 6][31]=	      0;PhiROImax[1][ 6][31]=	       0;
-     EtaROImin[1][ 7][ 0]=  0.0552456;EtaROImax[1][ 7][ 0]=   0.147216;PhiROImin[1][ 7][ 0]=	1.45818;PhiROImax[1][ 7][ 0]=	 1.56784;
-     EtaROImin[1][ 7][ 1]=    0.14708;EtaROImax[1][ 7][ 1]=   0.238313;PhiROImin[1][ 7][ 1]=	1.45818;PhiROImax[1][ 7][ 1]=	 1.56784;
-     EtaROImin[1][ 7][ 2]=  0.0552456;EtaROImax[1][ 7][ 2]=   0.147216;PhiROImin[1][ 7][ 2]=	1.34779;PhiROImax[1][ 7][ 2]=	 1.45468;
-     EtaROImin[1][ 7][ 3]=    0.14708;EtaROImax[1][ 7][ 3]=   0.238313;PhiROImin[1][ 7][ 3]=	1.34779;PhiROImax[1][ 7][ 3]=	 1.45468;
-     EtaROImin[1][ 7][ 4]=   0.246207;EtaROImax[1][ 7][ 4]=    0.35049;PhiROImin[1][ 7][ 4]=	1.45818;PhiROImax[1][ 7][ 4]=	 1.56784;
-     EtaROImin[1][ 7][ 5]=   0.350831;EtaROImax[1][ 7][ 5]=   0.452099;PhiROImin[1][ 7][ 5]=	1.45818;PhiROImax[1][ 7][ 5]=	 1.56784;
-     EtaROImin[1][ 7][ 6]=   0.246207;EtaROImax[1][ 7][ 6]=    0.35049;PhiROImin[1][ 7][ 6]=	1.34779;PhiROImax[1][ 7][ 6]=	 1.45468;
-     EtaROImin[1][ 7][ 7]=   0.350831;EtaROImax[1][ 7][ 7]=   0.452099;PhiROImin[1][ 7][ 7]=	1.34779;PhiROImax[1][ 7][ 7]=	 1.45468;
-     EtaROImin[1][ 7][ 8]=   0.458091;EtaROImax[1][ 7][ 8]=   0.554444;PhiROImin[1][ 7][ 8]=	1.45818;PhiROImax[1][ 7][ 8]=	 1.56784;
-     EtaROImin[1][ 7][ 9]=   0.555789;EtaROImax[1][ 7][ 9]=   0.648101;PhiROImin[1][ 7][ 9]=	1.45818;PhiROImax[1][ 7][ 9]=	 1.56784;
-     EtaROImin[1][ 7][10]=   0.458091;EtaROImax[1][ 7][10]=   0.554444;PhiROImin[1][ 7][10]=	1.34779;PhiROImax[1][ 7][10]=	 1.45468;
-     EtaROImin[1][ 7][11]=   0.555789;EtaROImax[1][ 7][11]=   0.648101;PhiROImin[1][ 7][11]=	1.34779;PhiROImax[1][ 7][11]=	 1.45468;
-     EtaROImin[1][ 7][12]=   0.655857;EtaROImax[1][ 7][12]=   0.703298;PhiROImin[1][ 7][12]=	1.45758;PhiROImax[1][ 7][12]=	 1.56783;
-     EtaROImin[1][ 7][13]=   0.706413;EtaROImax[1][ 7][13]=   0.776449;PhiROImin[1][ 7][13]=	1.45758;PhiROImax[1][ 7][13]=	 1.56783;
-     EtaROImin[1][ 7][14]=   0.655857;EtaROImax[1][ 7][14]=   0.703298;PhiROImin[1][ 7][14]=	1.34663;PhiROImax[1][ 7][14]=	 1.45406;
-     EtaROImin[1][ 7][15]=   0.706413;EtaROImax[1][ 7][15]=   0.776449;PhiROImin[1][ 7][15]=	1.34663;PhiROImax[1][ 7][15]=	 1.45406;
-     EtaROImin[1][ 7][16]=   0.783867;EtaROImax[1][ 7][16]=    0.82768;PhiROImin[1][ 7][16]=	1.45758;PhiROImax[1][ 7][16]=	 1.56783;
-     EtaROImin[1][ 7][17]=   0.830556;EtaROImax[1][ 7][17]=   0.895163;PhiROImin[1][ 7][17]=	1.45758;PhiROImax[1][ 7][17]=	 1.56783;
-     EtaROImin[1][ 7][18]=   0.783867;EtaROImax[1][ 7][18]=    0.82768;PhiROImin[1][ 7][18]=	1.34663;PhiROImax[1][ 7][18]=	 1.45406;
-     EtaROImin[1][ 7][19]=   0.830556;EtaROImax[1][ 7][19]=   0.895163;PhiROImin[1][ 7][19]=	1.34663;PhiROImax[1][ 7][19]=	 1.45406;
-     EtaROImin[1][ 7][20]=   0.898201;EtaROImax[1][ 7][20]=   0.961344;PhiROImin[1][ 7][20]=	1.45818;PhiROImax[1][ 7][20]=	 1.56784;
-     EtaROImin[1][ 7][21]=   0.964674;EtaROImax[1][ 7][21]=    1.02514;PhiROImin[1][ 7][21]=	1.45818;PhiROImax[1][ 7][21]=	 1.56784;
-     EtaROImin[1][ 7][22]=   0.898201;EtaROImax[1][ 7][22]=   0.961344;PhiROImin[1][ 7][22]=	1.34779;PhiROImax[1][ 7][22]=	 1.45468;
-     EtaROImin[1][ 7][23]=   0.964674;EtaROImax[1][ 7][23]=    1.02514;PhiROImin[1][ 7][23]=	1.34779;PhiROImax[1][ 7][23]=	 1.45468;
-     EtaROImin[1][ 7][24]=    1.03003;EtaROImax[1][ 7][24]=    1.06547;PhiROImin[1][ 7][24]=	1.45737;PhiROImax[1][ 7][24]=	 1.56773;
-     EtaROImin[1][ 7][25]=	    0;EtaROImax[1][ 7][25]=	     0;PhiROImin[1][ 7][25]=	      0;PhiROImax[1][ 7][25]=	       0;
-     EtaROImin[1][ 7][26]=    1.03003;EtaROImax[1][ 7][26]=    1.06547;PhiROImin[1][ 7][26]=	1.37365;PhiROImax[1][ 7][26]=	 1.45384;
-     EtaROImin[1][ 7][27]=	    0;EtaROImax[1][ 7][27]=	     0;PhiROImin[1][ 7][27]=	      0;PhiROImax[1][ 7][27]=	       0;
-     EtaROImin[1][ 7][28]=	    0;EtaROImax[1][ 7][28]=	     0;PhiROImin[1][ 7][28]=	      0;PhiROImax[1][ 7][28]=	       0;
-     EtaROImin[1][ 7][29]=	    0;EtaROImax[1][ 7][29]=	     0;PhiROImin[1][ 7][29]=	      0;PhiROImax[1][ 7][29]=	       0;
-     EtaROImin[1][ 7][30]=	    0;EtaROImax[1][ 7][30]=	     0;PhiROImin[1][ 7][30]=	      0;PhiROImax[1][ 7][30]=	       0;
-     EtaROImin[1][ 7][31]=	    0;EtaROImax[1][ 7][31]=	     0;PhiROImin[1][ 7][31]=	      0;PhiROImax[1][ 7][31]=	       0;
-     EtaROImin[1][ 8][ 0]=    0.14708;EtaROImax[1][ 8][ 0]=   0.238313;PhiROImin[1][ 8][ 0]=	1.57375;PhiROImax[1][ 8][ 0]=	 1.68341;
-     EtaROImin[1][ 8][ 1]=  0.0552456;EtaROImax[1][ 8][ 1]=   0.147216;PhiROImin[1][ 8][ 1]=	1.57375;PhiROImax[1][ 8][ 1]=	 1.68341;
-     EtaROImin[1][ 8][ 2]=    0.14708;EtaROImax[1][ 8][ 2]=   0.238313;PhiROImin[1][ 8][ 2]=	1.68692;PhiROImax[1][ 8][ 2]=	 1.79381;
-     EtaROImin[1][ 8][ 3]=  0.0552456;EtaROImax[1][ 8][ 3]=   0.147216;PhiROImin[1][ 8][ 3]=	1.68692;PhiROImax[1][ 8][ 3]=	 1.79381;
-     EtaROImin[1][ 8][ 4]=   0.350831;EtaROImax[1][ 8][ 4]=   0.452099;PhiROImin[1][ 8][ 4]=	1.57375;PhiROImax[1][ 8][ 4]=	 1.68341;
-     EtaROImin[1][ 8][ 5]=   0.246207;EtaROImax[1][ 8][ 5]=    0.35049;PhiROImin[1][ 8][ 5]=	1.57375;PhiROImax[1][ 8][ 5]=	 1.68341;
-     EtaROImin[1][ 8][ 6]=   0.350831;EtaROImax[1][ 8][ 6]=   0.452099;PhiROImin[1][ 8][ 6]=	1.68692;PhiROImax[1][ 8][ 6]=	 1.79381;
-     EtaROImin[1][ 8][ 7]=   0.246207;EtaROImax[1][ 8][ 7]=    0.35049;PhiROImin[1][ 8][ 7]=	1.68692;PhiROImax[1][ 8][ 7]=	 1.79381;
-     EtaROImin[1][ 8][ 8]=   0.555789;EtaROImax[1][ 8][ 8]=   0.648101;PhiROImin[1][ 8][ 8]=	1.57375;PhiROImax[1][ 8][ 8]=	 1.68341;
-     EtaROImin[1][ 8][ 9]=   0.458091;EtaROImax[1][ 8][ 9]=   0.554444;PhiROImin[1][ 8][ 9]=	1.57375;PhiROImax[1][ 8][ 9]=	 1.68341;
-     EtaROImin[1][ 8][10]=   0.555789;EtaROImax[1][ 8][10]=   0.648101;PhiROImin[1][ 8][10]=	1.68692;PhiROImax[1][ 8][10]=	 1.79381;
-     EtaROImin[1][ 8][11]=   0.458091;EtaROImax[1][ 8][11]=   0.554444;PhiROImin[1][ 8][11]=	1.68692;PhiROImax[1][ 8][11]=	 1.79381;
-     EtaROImin[1][ 8][12]=   0.731124;EtaROImax[1][ 8][12]=   0.776449;PhiROImin[1][ 8][12]=	1.57376;PhiROImax[1][ 8][12]=	 1.68401;
-     EtaROImin[1][ 8][13]=   0.655857;EtaROImax[1][ 8][13]=   0.728056;PhiROImin[1][ 8][13]=	1.57376;PhiROImax[1][ 8][13]=	 1.68401;
-     EtaROImin[1][ 8][14]=   0.731124;EtaROImax[1][ 8][14]=   0.776449;PhiROImin[1][ 8][14]=	1.68753;PhiROImax[1][ 8][14]=	 1.79497;
-     EtaROImin[1][ 8][15]=   0.655857;EtaROImax[1][ 8][15]=   0.728056;PhiROImin[1][ 8][15]=	1.68753;PhiROImax[1][ 8][15]=	 1.79497;
-     EtaROImin[1][ 8][16]=   0.853359;EtaROImax[1][ 8][16]=   0.895163;PhiROImin[1][ 8][16]=	1.57376;PhiROImax[1][ 8][16]=	 1.68401;
-     EtaROImin[1][ 8][17]=   0.783867;EtaROImax[1][ 8][17]=   0.850528;PhiROImin[1][ 8][17]=	1.57376;PhiROImax[1][ 8][17]=	 1.68401;
-     EtaROImin[1][ 8][18]=   0.853359;EtaROImax[1][ 8][18]=   0.895163;PhiROImin[1][ 8][18]=	1.68753;PhiROImax[1][ 8][18]=	 1.79497;
-     EtaROImin[1][ 8][19]=   0.783867;EtaROImax[1][ 8][19]=   0.850528;PhiROImin[1][ 8][19]=	1.68753;PhiROImax[1][ 8][19]=	 1.79497;
-     EtaROImin[1][ 8][20]=   0.964674;EtaROImax[1][ 8][20]=    1.02514;PhiROImin[1][ 8][20]=	1.57375;PhiROImax[1][ 8][20]=	 1.68341;
-     EtaROImin[1][ 8][21]=   0.898201;EtaROImax[1][ 8][21]=   0.961344;PhiROImin[1][ 8][21]=	1.57375;PhiROImax[1][ 8][21]=	 1.68341;
-     EtaROImin[1][ 8][22]=   0.964674;EtaROImax[1][ 8][22]=    1.02514;PhiROImin[1][ 8][22]=	1.68692;PhiROImax[1][ 8][22]=	 1.79381;
-     EtaROImin[1][ 8][23]=   0.898201;EtaROImax[1][ 8][23]=   0.961344;PhiROImin[1][ 8][23]=	1.68692;PhiROImax[1][ 8][23]=	 1.79381;
-     EtaROImin[1][ 8][24]=	    0;EtaROImax[1][ 8][24]=	     0;PhiROImin[1][ 8][24]=	      0;PhiROImax[1][ 8][24]=	       0;
-     EtaROImin[1][ 8][25]=    1.03003;EtaROImax[1][ 8][25]=    1.06547;PhiROImin[1][ 8][25]=	1.57387;PhiROImax[1][ 8][25]=	 1.68423;
-     EtaROImin[1][ 8][26]=	    0;EtaROImax[1][ 8][26]=	     0;PhiROImin[1][ 8][26]=	      0;PhiROImax[1][ 8][26]=	       0;
-     EtaROImin[1][ 8][27]=    1.03003;EtaROImax[1][ 8][27]=    1.06547;PhiROImin[1][ 8][27]=	1.68775;PhiROImax[1][ 8][27]=	 1.76794;
-     EtaROImin[1][ 8][28]=	    0;EtaROImax[1][ 8][28]=	     0;PhiROImin[1][ 8][28]=	      0;PhiROImax[1][ 8][28]=	       0;
-     EtaROImin[1][ 8][29]=	    0;EtaROImax[1][ 8][29]=	     0;PhiROImin[1][ 8][29]=	      0;PhiROImax[1][ 8][29]=	       0;
-     EtaROImin[1][ 8][30]=	    0;EtaROImax[1][ 8][30]=	     0;PhiROImin[1][ 8][30]=	      0;PhiROImax[1][ 8][30]=	       0;
-     EtaROImin[1][ 8][31]=	    0;EtaROImax[1][ 8][31]=	     0;PhiROImin[1][ 8][31]=	      0;PhiROImax[1][ 8][31]=	       0;
-     EtaROImin[1][ 9][ 0]=  0.0208251;EtaROImax[1][ 9][ 0]=   0.118734;PhiROImin[1][ 9][ 0]=	1.87675;PhiROImax[1][ 9][ 0]=	 1.96071;
-     EtaROImin[1][ 9][ 1]=   0.116816;EtaROImax[1][ 9][ 1]=   0.213185;PhiROImin[1][ 9][ 1]=	1.87675;PhiROImax[1][ 9][ 1]=	 1.96071;
-     EtaROImin[1][ 9][ 2]=  0.0208251;EtaROImax[1][ 9][ 2]=   0.118734;PhiROImin[1][ 9][ 2]=	1.79045;PhiROImax[1][ 9][ 2]=	 1.87312;
-     EtaROImin[1][ 9][ 3]=   0.116816;EtaROImax[1][ 9][ 3]=   0.213185;PhiROImin[1][ 9][ 3]=	1.79045;PhiROImax[1][ 9][ 3]=	 1.87312;
-     EtaROImin[1][ 9][ 4]=   0.222449;EtaROImax[1][ 9][ 4]=   0.302928;PhiROImin[1][ 9][ 4]=	1.87675;PhiROImax[1][ 9][ 4]=	 1.96071;
-     EtaROImin[1][ 9][ 5]=    0.30075;EtaROImax[1][ 9][ 5]=   0.416721;PhiROImin[1][ 9][ 5]=	1.87675;PhiROImax[1][ 9][ 5]=	 1.96071;
-     EtaROImin[1][ 9][ 6]=   0.222449;EtaROImax[1][ 9][ 6]=   0.302928;PhiROImin[1][ 9][ 6]=	1.79045;PhiROImax[1][ 9][ 6]=	 1.87312;
-     EtaROImin[1][ 9][ 7]=    0.30075;EtaROImax[1][ 9][ 7]=   0.416721;PhiROImin[1][ 9][ 7]=	1.79045;PhiROImax[1][ 9][ 7]=	 1.87312;
-     EtaROImin[1][ 9][ 8]=    0.42967;EtaROImax[1][ 9][ 8]=   0.504617;PhiROImin[1][ 9][ 8]=	1.87675;PhiROImax[1][ 9][ 8]=	 1.96071;
-     EtaROImin[1][ 9][ 9]=   0.501681;EtaROImax[1][ 9][ 9]=   0.573871;PhiROImin[1][ 9][ 9]=	1.87675;PhiROImax[1][ 9][ 9]=	 1.96071;
-     EtaROImin[1][ 9][10]=    0.42967;EtaROImax[1][ 9][10]=   0.504617;PhiROImin[1][ 9][10]=	1.79045;PhiROImax[1][ 9][10]=	 1.87312;
-     EtaROImin[1][ 9][11]=   0.501681;EtaROImax[1][ 9][11]=   0.573871;PhiROImin[1][ 9][11]=	1.79045;PhiROImax[1][ 9][11]=	 1.87312;
-     EtaROImin[1][ 9][12]=   0.583785;EtaROImax[1][ 9][12]=   0.653329;PhiROImin[1][ 9][12]=	1.87675;PhiROImax[1][ 9][12]=	 1.96071;
-     EtaROImin[1][ 9][13]=   0.649934;EtaROImax[1][ 9][13]=   0.741516;PhiROImin[1][ 9][13]=	1.87675;PhiROImax[1][ 9][13]=	 1.96071;
-     EtaROImin[1][ 9][14]=   0.583785;EtaROImax[1][ 9][14]=   0.653329;PhiROImin[1][ 9][14]=	1.79045;PhiROImax[1][ 9][14]=	 1.87312;
-     EtaROImin[1][ 9][15]=   0.649934;EtaROImax[1][ 9][15]=   0.741516;PhiROImin[1][ 9][15]=	1.79045;PhiROImax[1][ 9][15]=	 1.87312;
-     EtaROImin[1][ 9][16]=   0.756521;EtaROImax[1][ 9][16]=   0.837822;PhiROImin[1][ 9][16]=	1.87675;PhiROImax[1][ 9][16]=	 1.96071;
-     EtaROImin[1][ 9][17]=	    0;EtaROImax[1][ 9][17]=	     0;PhiROImin[1][ 9][17]=	      0;PhiROImax[1][ 9][17]=	       0;
-     EtaROImin[1][ 9][18]=   0.756521;EtaROImax[1][ 9][18]=   0.837822;PhiROImin[1][ 9][18]=	1.79045;PhiROImax[1][ 9][18]=	 1.87312;
-     EtaROImin[1][ 9][19]=	    0;EtaROImax[1][ 9][19]=	     0;PhiROImin[1][ 9][19]=	      0;PhiROImax[1][ 9][19]=	       0;
-     EtaROImin[1][ 9][20]=   0.844116;EtaROImax[1][ 9][20]=   0.903324;PhiROImin[1][ 9][20]=	1.87675;PhiROImax[1][ 9][20]=	 1.96071;
-     EtaROImin[1][ 9][21]=   0.899344;EtaROImax[1][ 9][21]=   0.956037;PhiROImin[1][ 9][21]=	1.87675;PhiROImax[1][ 9][21]=	 1.96071;
-     EtaROImin[1][ 9][22]=   0.844116;EtaROImax[1][ 9][22]=   0.903324;PhiROImin[1][ 9][22]=	1.79045;PhiROImax[1][ 9][22]=	 1.87312;
-     EtaROImin[1][ 9][23]=   0.899344;EtaROImax[1][ 9][23]=   0.956037;PhiROImin[1][ 9][23]=	1.79045;PhiROImax[1][ 9][23]=	 1.87312;
-     EtaROImin[1][ 9][24]=	    0;EtaROImax[1][ 9][24]=	     0;PhiROImin[1][ 9][24]=	      0;PhiROImax[1][ 9][24]=	       0;
-     EtaROImin[1][ 9][25]=	    0;EtaROImax[1][ 9][25]=	     0;PhiROImin[1][ 9][25]=	      0;PhiROImax[1][ 9][25]=	       0;
-     EtaROImin[1][ 9][26]=	    0;EtaROImax[1][ 9][26]=	     0;PhiROImin[1][ 9][26]=	      0;PhiROImax[1][ 9][26]=	       0;
-     EtaROImin[1][ 9][27]=	    0;EtaROImax[1][ 9][27]=	     0;PhiROImin[1][ 9][27]=	      0;PhiROImax[1][ 9][27]=	       0;
-     EtaROImin[1][ 9][28]=	    0;EtaROImax[1][ 9][28]=	     0;PhiROImin[1][ 9][28]=	      0;PhiROImax[1][ 9][28]=	       0;
-     EtaROImin[1][ 9][29]=	    0;EtaROImax[1][ 9][29]=	     0;PhiROImin[1][ 9][29]=	      0;PhiROImax[1][ 9][29]=	       0;
-     EtaROImin[1][ 9][30]=	    0;EtaROImax[1][ 9][30]=	     0;PhiROImin[1][ 9][30]=	      0;PhiROImax[1][ 9][30]=	       0;
-     EtaROImin[1][ 9][31]=	    0;EtaROImax[1][ 9][31]=	     0;PhiROImin[1][ 9][31]=	      0;PhiROImax[1][ 9][31]=	       0;
-     EtaROImin[1][10][ 0]=   0.116816;EtaROImax[1][10][ 0]=   0.213185;PhiROImin[1][10][ 0]=	1.96629;PhiROImax[1][10][ 0]=	 2.05024;
-     EtaROImin[1][10][ 1]=  0.0208251;EtaROImax[1][10][ 1]=   0.118734;PhiROImin[1][10][ 1]=	1.96629;PhiROImax[1][10][ 1]=	 2.05024;
-     EtaROImin[1][10][ 2]=   0.116816;EtaROImax[1][10][ 2]=   0.213185;PhiROImin[1][10][ 2]=	2.05387;PhiROImax[1][10][ 2]=	 2.13655;
-     EtaROImin[1][10][ 3]=  0.0208251;EtaROImax[1][10][ 3]=   0.118734;PhiROImin[1][10][ 3]=	2.05387;PhiROImax[1][10][ 3]=	 2.13655;
-     EtaROImin[1][10][ 4]=    0.30075;EtaROImax[1][10][ 4]=   0.416721;PhiROImin[1][10][ 4]=	1.96629;PhiROImax[1][10][ 4]=	 2.05024;
-     EtaROImin[1][10][ 5]=   0.222449;EtaROImax[1][10][ 5]=   0.302928;PhiROImin[1][10][ 5]=	1.96629;PhiROImax[1][10][ 5]=	 2.05024;
-     EtaROImin[1][10][ 6]=    0.30075;EtaROImax[1][10][ 6]=   0.416721;PhiROImin[1][10][ 6]=	2.05387;PhiROImax[1][10][ 6]=	 2.13655;
-     EtaROImin[1][10][ 7]=   0.222449;EtaROImax[1][10][ 7]=   0.302928;PhiROImin[1][10][ 7]=	2.05387;PhiROImax[1][10][ 7]=	 2.13655;
-     EtaROImin[1][10][ 8]=   0.501681;EtaROImax[1][10][ 8]=   0.573871;PhiROImin[1][10][ 8]=	1.96629;PhiROImax[1][10][ 8]=	 2.05024;
-     EtaROImin[1][10][ 9]=    0.42967;EtaROImax[1][10][ 9]=   0.504617;PhiROImin[1][10][ 9]=	1.96629;PhiROImax[1][10][ 9]=	 2.05024;
-     EtaROImin[1][10][10]=   0.501681;EtaROImax[1][10][10]=   0.573871;PhiROImin[1][10][10]=	2.05387;PhiROImax[1][10][10]=	 2.13655;
-     EtaROImin[1][10][11]=    0.42967;EtaROImax[1][10][11]=   0.504617;PhiROImin[1][10][11]=	2.05387;PhiROImax[1][10][11]=	 2.13655;
-     EtaROImin[1][10][12]=   0.649934;EtaROImax[1][10][12]=   0.741516;PhiROImin[1][10][12]=	1.96629;PhiROImax[1][10][12]=	 2.05024;
-     EtaROImin[1][10][13]=   0.583785;EtaROImax[1][10][13]=   0.653329;PhiROImin[1][10][13]=	1.96629;PhiROImax[1][10][13]=	 2.05024;
-     EtaROImin[1][10][14]=   0.649934;EtaROImax[1][10][14]=   0.741516;PhiROImin[1][10][14]=	2.05387;PhiROImax[1][10][14]=	 2.13655;
-     EtaROImin[1][10][15]=   0.583785;EtaROImax[1][10][15]=   0.653329;PhiROImin[1][10][15]=	2.05387;PhiROImax[1][10][15]=	 2.13655;
-     EtaROImin[1][10][16]=	    0;EtaROImax[1][10][16]=	     0;PhiROImin[1][10][16]=	      0;PhiROImax[1][10][16]=	       0;
-     EtaROImin[1][10][17]=   0.756521;EtaROImax[1][10][17]=   0.837822;PhiROImin[1][10][17]=	1.96629;PhiROImax[1][10][17]=	 2.05024;
-     EtaROImin[1][10][18]=	    0;EtaROImax[1][10][18]=	     0;PhiROImin[1][10][18]=	      0;PhiROImax[1][10][18]=	       0;
-     EtaROImin[1][10][19]=   0.756521;EtaROImax[1][10][19]=   0.837822;PhiROImin[1][10][19]=	2.05387;PhiROImax[1][10][19]=	 2.13655;
-     EtaROImin[1][10][20]=   0.899344;EtaROImax[1][10][20]=   0.956037;PhiROImin[1][10][20]=	1.96629;PhiROImax[1][10][20]=	 2.05024;
-     EtaROImin[1][10][21]=   0.844116;EtaROImax[1][10][21]=   0.903324;PhiROImin[1][10][21]=	1.96629;PhiROImax[1][10][21]=	 2.05024;
-     EtaROImin[1][10][22]=   0.899344;EtaROImax[1][10][22]=   0.956037;PhiROImin[1][10][22]=	2.05387;PhiROImax[1][10][22]=	 2.13655;
-     EtaROImin[1][10][23]=   0.844116;EtaROImax[1][10][23]=   0.903324;PhiROImin[1][10][23]=	2.05387;PhiROImax[1][10][23]=	 2.13655;
-     EtaROImin[1][10][24]=	    0;EtaROImax[1][10][24]=	     0;PhiROImin[1][10][24]=	      0;PhiROImax[1][10][24]=	       0;
-     EtaROImin[1][10][25]=	    0;EtaROImax[1][10][25]=	     0;PhiROImin[1][10][25]=	      0;PhiROImax[1][10][25]=	       0;
-     EtaROImin[1][10][26]=	    0;EtaROImax[1][10][26]=	     0;PhiROImin[1][10][26]=	      0;PhiROImax[1][10][26]=	       0;
-     EtaROImin[1][10][27]=	    0;EtaROImax[1][10][27]=	     0;PhiROImin[1][10][27]=	      0;PhiROImax[1][10][27]=	       0;
-     EtaROImin[1][10][28]=	    0;EtaROImax[1][10][28]=	     0;PhiROImin[1][10][28]=	      0;PhiROImax[1][10][28]=	       0;
-     EtaROImin[1][10][29]=	    0;EtaROImax[1][10][29]=	     0;PhiROImin[1][10][29]=	      0;PhiROImax[1][10][29]=	       0;
-     EtaROImin[1][10][30]=	    0;EtaROImax[1][10][30]=	     0;PhiROImin[1][10][30]=	      0;PhiROImax[1][10][30]=	       0;
-     EtaROImin[1][10][31]=	    0;EtaROImax[1][10][31]=	     0;PhiROImin[1][10][31]=	      0;PhiROImax[1][10][31]=	       0;
-     EtaROImin[1][11][ 0]=   0.130922;EtaROImax[1][11][ 0]=   0.238612;PhiROImin[1][11][ 0]=	2.24298;PhiROImax[1][11][ 0]=	 2.35323;
-     EtaROImin[1][11][ 1]=	    0;EtaROImax[1][11][ 1]=	     0;PhiROImin[1][11][ 1]=	      0;PhiROImax[1][11][ 1]=	       0;
-     EtaROImin[1][11][ 2]=   0.130922;EtaROImax[1][11][ 2]=   0.238612;PhiROImin[1][11][ 2]=	2.13203;PhiROImax[1][11][ 2]=	 2.23946;
-     EtaROImin[1][11][ 3]=	    0;EtaROImax[1][11][ 3]=	     0;PhiROImin[1][11][ 3]=	      0;PhiROImax[1][11][ 3]=	       0;
-     EtaROImin[1][11][ 4]=   0.246207;EtaROImax[1][11][ 4]=    0.35049;PhiROImin[1][11][ 4]=	2.24358;PhiROImax[1][11][ 4]=	 2.35324;
-     EtaROImin[1][11][ 5]=   0.350831;EtaROImax[1][11][ 5]=   0.452099;PhiROImin[1][11][ 5]=	2.24358;PhiROImax[1][11][ 5]=	 2.35324;
-     EtaROImin[1][11][ 6]=   0.246207;EtaROImax[1][11][ 6]=    0.35049;PhiROImin[1][11][ 6]=	2.13318;PhiROImax[1][11][ 6]=	 2.24008;
-     EtaROImin[1][11][ 7]=   0.350831;EtaROImax[1][11][ 7]=   0.452099;PhiROImin[1][11][ 7]=	2.13318;PhiROImax[1][11][ 7]=	 2.24008;
-     EtaROImin[1][11][ 8]=   0.458091;EtaROImax[1][11][ 8]=   0.554444;PhiROImin[1][11][ 8]=	2.24358;PhiROImax[1][11][ 8]=	 2.35324;
-     EtaROImin[1][11][ 9]=   0.555789;EtaROImax[1][11][ 9]=   0.648101;PhiROImin[1][11][ 9]=	2.24358;PhiROImax[1][11][ 9]=	 2.35324;
-     EtaROImin[1][11][10]=   0.458091;EtaROImax[1][11][10]=   0.554444;PhiROImin[1][11][10]=	2.13318;PhiROImax[1][11][10]=	 2.24008;
-     EtaROImin[1][11][11]=   0.555789;EtaROImax[1][11][11]=   0.648101;PhiROImin[1][11][11]=	2.13318;PhiROImax[1][11][11]=	 2.24008;
-     EtaROImin[1][11][12]=   0.655857;EtaROImax[1][11][12]=   0.703298;PhiROImin[1][11][12]=	2.24298;PhiROImax[1][11][12]=	 2.35323;
-     EtaROImin[1][11][13]=   0.706413;EtaROImax[1][11][13]=   0.776449;PhiROImin[1][11][13]=	2.24298;PhiROImax[1][11][13]=	 2.35323;
-     EtaROImin[1][11][14]=   0.655857;EtaROImax[1][11][14]=   0.703298;PhiROImin[1][11][14]=	2.13203;PhiROImax[1][11][14]=	 2.23946;
-     EtaROImin[1][11][15]=   0.706413;EtaROImax[1][11][15]=   0.776449;PhiROImin[1][11][15]=	2.13203;PhiROImax[1][11][15]=	 2.23946;
-     EtaROImin[1][11][16]=   0.783867;EtaROImax[1][11][16]=    0.82768;PhiROImin[1][11][16]=	2.24298;PhiROImax[1][11][16]=	 2.35323;
-     EtaROImin[1][11][17]=   0.830556;EtaROImax[1][11][17]=   0.895163;PhiROImin[1][11][17]=	2.24298;PhiROImax[1][11][17]=	 2.35323;
-     EtaROImin[1][11][18]=   0.783867;EtaROImax[1][11][18]=    0.82768;PhiROImin[1][11][18]=	2.13203;PhiROImax[1][11][18]=	 2.23946;
-     EtaROImin[1][11][19]=   0.830556;EtaROImax[1][11][19]=   0.895163;PhiROImin[1][11][19]=	2.13203;PhiROImax[1][11][19]=	 2.23946;
-     EtaROImin[1][11][20]=   0.898201;EtaROImax[1][11][20]=   0.961344;PhiROImin[1][11][20]=	2.24358;PhiROImax[1][11][20]=	 2.35324;
-     EtaROImin[1][11][21]=   0.964674;EtaROImax[1][11][21]=    1.02514;PhiROImin[1][11][21]=	2.24358;PhiROImax[1][11][21]=	 2.35324;
-     EtaROImin[1][11][22]=   0.898201;EtaROImax[1][11][22]=   0.961344;PhiROImin[1][11][22]=	2.13318;PhiROImax[1][11][22]=	 2.24008;
-     EtaROImin[1][11][23]=   0.964674;EtaROImax[1][11][23]=    1.02514;PhiROImin[1][11][23]=	2.13318;PhiROImax[1][11][23]=	 2.24008;
-     EtaROImin[1][11][24]=    1.03003;EtaROImax[1][11][24]=    1.06547;PhiROImin[1][11][24]=	2.24277;PhiROImax[1][11][24]=	 2.35313;
-     EtaROImin[1][11][25]=	    0;EtaROImax[1][11][25]=	     0;PhiROImin[1][11][25]=	      0;PhiROImax[1][11][25]=	       0;
-     EtaROImin[1][11][26]=    1.03003;EtaROImax[1][11][26]=    1.06547;PhiROImin[1][11][26]=	2.15905;PhiROImax[1][11][26]=	 2.23924;
-     EtaROImin[1][11][27]=	    0;EtaROImax[1][11][27]=	     0;PhiROImin[1][11][27]=	      0;PhiROImax[1][11][27]=	       0;
-     EtaROImin[1][11][28]=	    0;EtaROImax[1][11][28]=	     0;PhiROImin[1][11][28]=	      0;PhiROImax[1][11][28]=	       0;
-     EtaROImin[1][11][29]=	    0;EtaROImax[1][11][29]=	     0;PhiROImin[1][11][29]=	      0;PhiROImax[1][11][29]=	       0;
-     EtaROImin[1][11][30]=	    0;EtaROImax[1][11][30]=	     0;PhiROImin[1][11][30]=	      0;PhiROImax[1][11][30]=	       0;
-     EtaROImin[1][11][31]=	    0;EtaROImax[1][11][31]=	     0;PhiROImin[1][11][31]=	      0;PhiROImax[1][11][31]=	       0;
-     EtaROImin[1][12][ 0]=	    0;EtaROImax[1][12][ 0]=	     0;PhiROImin[1][12][ 0]=	      0;PhiROImax[1][12][ 0]=	       0;
-     EtaROImin[1][12][ 1]=   0.130922;EtaROImax[1][12][ 1]=   0.238612;PhiROImin[1][12][ 1]=	2.35916;PhiROImax[1][12][ 1]=	 2.46941;
-     EtaROImin[1][12][ 2]=	    0;EtaROImax[1][12][ 2]=	     0;PhiROImin[1][12][ 2]=	      0;PhiROImax[1][12][ 2]=	       0;
-     EtaROImin[1][12][ 3]=   0.130922;EtaROImax[1][12][ 3]=   0.238612;PhiROImin[1][12][ 3]=	2.47293;PhiROImax[1][12][ 3]=	 2.58036;
-     EtaROImin[1][12][ 4]=   0.350831;EtaROImax[1][12][ 4]=   0.452099;PhiROImin[1][12][ 4]=	2.35915;PhiROImax[1][12][ 4]=	 2.46881;
-     EtaROImin[1][12][ 5]=   0.246207;EtaROImax[1][12][ 5]=    0.35049;PhiROImin[1][12][ 5]=	2.35915;PhiROImax[1][12][ 5]=	 2.46881;
-     EtaROImin[1][12][ 6]=   0.350831;EtaROImax[1][12][ 6]=   0.452099;PhiROImin[1][12][ 6]=	2.47231;PhiROImax[1][12][ 6]=	 2.57921;
-     EtaROImin[1][12][ 7]=   0.246207;EtaROImax[1][12][ 7]=    0.35049;PhiROImin[1][12][ 7]=	2.47231;PhiROImax[1][12][ 7]=	 2.57921;
-     EtaROImin[1][12][ 8]=   0.555789;EtaROImax[1][12][ 8]=   0.648101;PhiROImin[1][12][ 8]=	2.35915;PhiROImax[1][12][ 8]=	 2.46881;
-     EtaROImin[1][12][ 9]=   0.458091;EtaROImax[1][12][ 9]=   0.554444;PhiROImin[1][12][ 9]=	2.35915;PhiROImax[1][12][ 9]=	 2.46881;
-     EtaROImin[1][12][10]=   0.555789;EtaROImax[1][12][10]=   0.648101;PhiROImin[1][12][10]=	2.47231;PhiROImax[1][12][10]=	 2.57921;
-     EtaROImin[1][12][11]=   0.458091;EtaROImax[1][12][11]=   0.554444;PhiROImin[1][12][11]=	2.47231;PhiROImax[1][12][11]=	 2.57921;
-     EtaROImin[1][12][12]=   0.731124;EtaROImax[1][12][12]=   0.776449;PhiROImin[1][12][12]=	2.35916;PhiROImax[1][12][12]=	 2.46941;
-     EtaROImin[1][12][13]=   0.655857;EtaROImax[1][12][13]=   0.728056;PhiROImin[1][12][13]=	2.35916;PhiROImax[1][12][13]=	 2.46941;
-     EtaROImin[1][12][14]=   0.731124;EtaROImax[1][12][14]=   0.776449;PhiROImin[1][12][14]=	2.47293;PhiROImax[1][12][14]=	 2.58036;
-     EtaROImin[1][12][15]=   0.655857;EtaROImax[1][12][15]=   0.728056;PhiROImin[1][12][15]=	2.47293;PhiROImax[1][12][15]=	 2.58036;
-     EtaROImin[1][12][16]=   0.853359;EtaROImax[1][12][16]=   0.895163;PhiROImin[1][12][16]=	2.35916;PhiROImax[1][12][16]=	 2.46941;
-     EtaROImin[1][12][17]=   0.783867;EtaROImax[1][12][17]=   0.850528;PhiROImin[1][12][17]=	2.35916;PhiROImax[1][12][17]=	 2.46941;
-     EtaROImin[1][12][18]=   0.853359;EtaROImax[1][12][18]=   0.895163;PhiROImin[1][12][18]=	2.47293;PhiROImax[1][12][18]=	 2.58036;
-     EtaROImin[1][12][19]=   0.783867;EtaROImax[1][12][19]=   0.850528;PhiROImin[1][12][19]=	2.47293;PhiROImax[1][12][19]=	 2.58036;
-     EtaROImin[1][12][20]=   0.964674;EtaROImax[1][12][20]=    1.02514;PhiROImin[1][12][20]=	2.35915;PhiROImax[1][12][20]=	 2.46881;
-     EtaROImin[1][12][21]=   0.898201;EtaROImax[1][12][21]=   0.961344;PhiROImin[1][12][21]=	2.35915;PhiROImax[1][12][21]=	 2.46881;
-     EtaROImin[1][12][22]=   0.964674;EtaROImax[1][12][22]=    1.02514;PhiROImin[1][12][22]=	2.47231;PhiROImax[1][12][22]=	 2.57921;
-     EtaROImin[1][12][23]=   0.898201;EtaROImax[1][12][23]=   0.961344;PhiROImin[1][12][23]=	2.47231;PhiROImax[1][12][23]=	 2.57921;
-     EtaROImin[1][12][24]=	    0;EtaROImax[1][12][24]=	     0;PhiROImin[1][12][24]=	      0;PhiROImax[1][12][24]=	       0;
-     EtaROImin[1][12][25]=    1.03003;EtaROImax[1][12][25]=    1.06547;PhiROImin[1][12][25]=	2.35926;PhiROImax[1][12][25]=	 2.46962;
-     EtaROImin[1][12][26]=	    0;EtaROImax[1][12][26]=	     0;PhiROImin[1][12][26]=	      0;PhiROImax[1][12][26]=	       0;
-     EtaROImin[1][12][27]=    1.03003;EtaROImax[1][12][27]=    1.06547;PhiROImin[1][12][27]=	2.47315;PhiROImax[1][12][27]=	 2.55334;
-     EtaROImin[1][12][28]=	    0;EtaROImax[1][12][28]=	     0;PhiROImin[1][12][28]=	      0;PhiROImax[1][12][28]=	       0;
-     EtaROImin[1][12][29]=	    0;EtaROImax[1][12][29]=	     0;PhiROImin[1][12][29]=	      0;PhiROImax[1][12][29]=	       0;
-     EtaROImin[1][12][30]=	    0;EtaROImax[1][12][30]=	     0;PhiROImin[1][12][30]=	      0;PhiROImax[1][12][30]=	       0;
-     EtaROImin[1][12][31]=	    0;EtaROImax[1][12][31]=	     0;PhiROImin[1][12][31]=	      0;PhiROImax[1][12][31]=	       0;
-     EtaROImin[1][13][ 0]=  0.0208251;EtaROImax[1][13][ 0]=   0.118734;PhiROImin[1][13][ 0]=	2.66215;PhiROImax[1][13][ 0]=	  2.7461;
-     EtaROImin[1][13][ 1]=   0.116816;EtaROImax[1][13][ 1]=   0.213185;PhiROImin[1][13][ 1]=	2.66215;PhiROImax[1][13][ 1]=	  2.7461;
-     EtaROImin[1][13][ 2]=  0.0208251;EtaROImax[1][13][ 2]=   0.118734;PhiROImin[1][13][ 2]=	2.57584;PhiROImax[1][13][ 2]=	 2.65852;
-     EtaROImin[1][13][ 3]=   0.116816;EtaROImax[1][13][ 3]=   0.213185;PhiROImin[1][13][ 3]=	2.57584;PhiROImax[1][13][ 3]=	 2.65852;
-     EtaROImin[1][13][ 4]=   0.222449;EtaROImax[1][13][ 4]=   0.302928;PhiROImin[1][13][ 4]=	2.66215;PhiROImax[1][13][ 4]=	  2.7461;
-     EtaROImin[1][13][ 5]=    0.30075;EtaROImax[1][13][ 5]=   0.416721;PhiROImin[1][13][ 5]=	2.66215;PhiROImax[1][13][ 5]=	  2.7461;
-     EtaROImin[1][13][ 6]=   0.222449;EtaROImax[1][13][ 6]=   0.302928;PhiROImin[1][13][ 6]=	2.57584;PhiROImax[1][13][ 6]=	 2.65852;
-     EtaROImin[1][13][ 7]=    0.30075;EtaROImax[1][13][ 7]=   0.416721;PhiROImin[1][13][ 7]=	2.57584;PhiROImax[1][13][ 7]=	 2.65852;
-     EtaROImin[1][13][ 8]=    0.42967;EtaROImax[1][13][ 8]=   0.504617;PhiROImin[1][13][ 8]=	2.66215;PhiROImax[1][13][ 8]=	  2.7461;
-     EtaROImin[1][13][ 9]=   0.501681;EtaROImax[1][13][ 9]=   0.573871;PhiROImin[1][13][ 9]=	2.66215;PhiROImax[1][13][ 9]=	  2.7461;
-     EtaROImin[1][13][10]=    0.42967;EtaROImax[1][13][10]=   0.504617;PhiROImin[1][13][10]=	2.57584;PhiROImax[1][13][10]=	 2.65852;
-     EtaROImin[1][13][11]=   0.501681;EtaROImax[1][13][11]=   0.573871;PhiROImin[1][13][11]=	2.57584;PhiROImax[1][13][11]=	 2.65852;
-     EtaROImin[1][13][12]=   0.583785;EtaROImax[1][13][12]=   0.653329;PhiROImin[1][13][12]=	2.66215;PhiROImax[1][13][12]=	  2.7461;
-     EtaROImin[1][13][13]=   0.649934;EtaROImax[1][13][13]=   0.741516;PhiROImin[1][13][13]=	2.66215;PhiROImax[1][13][13]=	  2.7461;
-     EtaROImin[1][13][14]=   0.583785;EtaROImax[1][13][14]=   0.653329;PhiROImin[1][13][14]=	2.57584;PhiROImax[1][13][14]=	 2.65852;
-     EtaROImin[1][13][15]=   0.649934;EtaROImax[1][13][15]=   0.741516;PhiROImin[1][13][15]=	2.57584;PhiROImax[1][13][15]=	 2.65852;
-     EtaROImin[1][13][16]=   0.756521;EtaROImax[1][13][16]=   0.837822;PhiROImin[1][13][16]=	2.66215;PhiROImax[1][13][16]=	  2.7461;
-     EtaROImin[1][13][17]=	    0;EtaROImax[1][13][17]=	     0;PhiROImin[1][13][17]=	      0;PhiROImax[1][13][17]=	       0;
-     EtaROImin[1][13][18]=   0.756521;EtaROImax[1][13][18]=   0.837822;PhiROImin[1][13][18]=	2.57584;PhiROImax[1][13][18]=	 2.65852;
-     EtaROImin[1][13][19]=	    0;EtaROImax[1][13][19]=	     0;PhiROImin[1][13][19]=	      0;PhiROImax[1][13][19]=	       0;
-     EtaROImin[1][13][20]=   0.844116;EtaROImax[1][13][20]=   0.903324;PhiROImin[1][13][20]=	2.66215;PhiROImax[1][13][20]=	  2.7461;
-     EtaROImin[1][13][21]=   0.899344;EtaROImax[1][13][21]=   0.956037;PhiROImin[1][13][21]=	2.66215;PhiROImax[1][13][21]=	  2.7461;
-     EtaROImin[1][13][22]=   0.844116;EtaROImax[1][13][22]=   0.903324;PhiROImin[1][13][22]=	2.57584;PhiROImax[1][13][22]=	 2.65852;
-     EtaROImin[1][13][23]=   0.899344;EtaROImax[1][13][23]=   0.956037;PhiROImin[1][13][23]=	2.57584;PhiROImax[1][13][23]=	 2.65852;
-     EtaROImin[1][13][24]=	    0;EtaROImax[1][13][24]=	     0;PhiROImin[1][13][24]=	      0;PhiROImax[1][13][24]=	       0;
-     EtaROImin[1][13][25]=	    0;EtaROImax[1][13][25]=	     0;PhiROImin[1][13][25]=	      0;PhiROImax[1][13][25]=	       0;
-     EtaROImin[1][13][26]=	    0;EtaROImax[1][13][26]=	     0;PhiROImin[1][13][26]=	      0;PhiROImax[1][13][26]=	       0;
-     EtaROImin[1][13][27]=	    0;EtaROImax[1][13][27]=	     0;PhiROImin[1][13][27]=	      0;PhiROImax[1][13][27]=	       0;
-     EtaROImin[1][13][28]=	    0;EtaROImax[1][13][28]=	     0;PhiROImin[1][13][28]=	      0;PhiROImax[1][13][28]=	       0;
-     EtaROImin[1][13][29]=	    0;EtaROImax[1][13][29]=	     0;PhiROImin[1][13][29]=	      0;PhiROImax[1][13][29]=	       0;
-     EtaROImin[1][13][30]=	    0;EtaROImax[1][13][30]=	     0;PhiROImin[1][13][30]=	      0;PhiROImax[1][13][30]=	       0;
-     EtaROImin[1][13][31]=	    0;EtaROImax[1][13][31]=	     0;PhiROImin[1][13][31]=	      0;PhiROImax[1][13][31]=	       0;
-     EtaROImin[1][14][ 0]=   0.116816;EtaROImax[1][14][ 0]=   0.213185;PhiROImin[1][14][ 0]=	2.75168;PhiROImax[1][14][ 0]=	 2.83564;
-     EtaROImin[1][14][ 1]=  0.0208251;EtaROImax[1][14][ 1]=   0.118734;PhiROImin[1][14][ 1]=	2.75168;PhiROImax[1][14][ 1]=	 2.83564;
-     EtaROImin[1][14][ 2]=   0.116816;EtaROImax[1][14][ 2]=   0.213185;PhiROImin[1][14][ 2]=	2.83927;PhiROImax[1][14][ 2]=	 2.92194;
-     EtaROImin[1][14][ 3]=  0.0208251;EtaROImax[1][14][ 3]=   0.118734;PhiROImin[1][14][ 3]=	2.83927;PhiROImax[1][14][ 3]=	 2.92194;
-     EtaROImin[1][14][ 4]=    0.30075;EtaROImax[1][14][ 4]=   0.416721;PhiROImin[1][14][ 4]=	2.75168;PhiROImax[1][14][ 4]=	 2.83564;
-     EtaROImin[1][14][ 5]=   0.222449;EtaROImax[1][14][ 5]=   0.302928;PhiROImin[1][14][ 5]=	2.75168;PhiROImax[1][14][ 5]=	 2.83564;
-     EtaROImin[1][14][ 6]=    0.30075;EtaROImax[1][14][ 6]=   0.416721;PhiROImin[1][14][ 6]=	2.83927;PhiROImax[1][14][ 6]=	 2.92194;
-     EtaROImin[1][14][ 7]=   0.222449;EtaROImax[1][14][ 7]=   0.302928;PhiROImin[1][14][ 7]=	2.83927;PhiROImax[1][14][ 7]=	 2.92194;
-     EtaROImin[1][14][ 8]=   0.501681;EtaROImax[1][14][ 8]=   0.573871;PhiROImin[1][14][ 8]=	2.75168;PhiROImax[1][14][ 8]=	 2.83564;
-     EtaROImin[1][14][ 9]=    0.42967;EtaROImax[1][14][ 9]=   0.504617;PhiROImin[1][14][ 9]=	2.75168;PhiROImax[1][14][ 9]=	 2.83564;
-     EtaROImin[1][14][10]=   0.501681;EtaROImax[1][14][10]=   0.573871;PhiROImin[1][14][10]=	2.83927;PhiROImax[1][14][10]=	 2.92194;
-     EtaROImin[1][14][11]=    0.42967;EtaROImax[1][14][11]=   0.504617;PhiROImin[1][14][11]=	2.83927;PhiROImax[1][14][11]=	 2.92194;
-     EtaROImin[1][14][12]=   0.649934;EtaROImax[1][14][12]=   0.741516;PhiROImin[1][14][12]=	2.75168;PhiROImax[1][14][12]=	 2.83564;
-     EtaROImin[1][14][13]=   0.583785;EtaROImax[1][14][13]=   0.653329;PhiROImin[1][14][13]=	2.75168;PhiROImax[1][14][13]=	 2.83564;
-     EtaROImin[1][14][14]=   0.649934;EtaROImax[1][14][14]=   0.741516;PhiROImin[1][14][14]=	2.83927;PhiROImax[1][14][14]=	 2.92194;
-     EtaROImin[1][14][15]=   0.583785;EtaROImax[1][14][15]=   0.653329;PhiROImin[1][14][15]=	2.83927;PhiROImax[1][14][15]=	 2.92194;
-     EtaROImin[1][14][16]=	    0;EtaROImax[1][14][16]=	     0;PhiROImin[1][14][16]=	      0;PhiROImax[1][14][16]=	       0;
-     EtaROImin[1][14][17]=   0.756521;EtaROImax[1][14][17]=   0.837822;PhiROImin[1][14][17]=	2.75168;PhiROImax[1][14][17]=	 2.83564;
-     EtaROImin[1][14][18]=	    0;EtaROImax[1][14][18]=	     0;PhiROImin[1][14][18]=	      0;PhiROImax[1][14][18]=	       0;
-     EtaROImin[1][14][19]=   0.756521;EtaROImax[1][14][19]=   0.837822;PhiROImin[1][14][19]=	2.83927;PhiROImax[1][14][19]=	 2.92194;
-     EtaROImin[1][14][20]=   0.899344;EtaROImax[1][14][20]=   0.956037;PhiROImin[1][14][20]=	2.75168;PhiROImax[1][14][20]=	 2.83564;
-     EtaROImin[1][14][21]=   0.844116;EtaROImax[1][14][21]=   0.903324;PhiROImin[1][14][21]=	2.75168;PhiROImax[1][14][21]=	 2.83564;
-     EtaROImin[1][14][22]=   0.899344;EtaROImax[1][14][22]=   0.956037;PhiROImin[1][14][22]=	2.83927;PhiROImax[1][14][22]=	 2.92194;
-     EtaROImin[1][14][23]=   0.844116;EtaROImax[1][14][23]=   0.903324;PhiROImin[1][14][23]=	2.83927;PhiROImax[1][14][23]=	 2.92194;
-     EtaROImin[1][14][24]=	    0;EtaROImax[1][14][24]=	     0;PhiROImin[1][14][24]=	      0;PhiROImax[1][14][24]=	       0;
-     EtaROImin[1][14][25]=	    0;EtaROImax[1][14][25]=	     0;PhiROImin[1][14][25]=	      0;PhiROImax[1][14][25]=	       0;
-     EtaROImin[1][14][26]=	    0;EtaROImax[1][14][26]=	     0;PhiROImin[1][14][26]=	      0;PhiROImax[1][14][26]=	       0;
-     EtaROImin[1][14][27]=	    0;EtaROImax[1][14][27]=	     0;PhiROImin[1][14][27]=	      0;PhiROImax[1][14][27]=	       0;
-     EtaROImin[1][14][28]=	    0;EtaROImax[1][14][28]=	     0;PhiROImin[1][14][28]=	      0;PhiROImax[1][14][28]=	       0;
-     EtaROImin[1][14][29]=	    0;EtaROImax[1][14][29]=	     0;PhiROImin[1][14][29]=	      0;PhiROImax[1][14][29]=	       0;
-     EtaROImin[1][14][30]=	    0;EtaROImax[1][14][30]=	     0;PhiROImin[1][14][30]=	      0;PhiROImax[1][14][30]=	       0;
-     EtaROImin[1][14][31]=	    0;EtaROImax[1][14][31]=	     0;PhiROImin[1][14][31]=	      0;PhiROImax[1][14][31]=	       0;
-     EtaROImin[1][15][ 0]=   0.130922;EtaROImax[1][15][ 0]=   0.238612;PhiROImin[1][15][ 0]=	3.02838;PhiROImax[1][15][ 0]=	 3.13862;
-     EtaROImin[1][15][ 1]=	    0;EtaROImax[1][15][ 1]=	     0;PhiROImin[1][15][ 1]=	      0;PhiROImax[1][15][ 1]=	       0;
-     EtaROImin[1][15][ 2]=   0.130922;EtaROImax[1][15][ 2]=   0.238612;PhiROImin[1][15][ 2]=	2.91742;PhiROImax[1][15][ 2]=	 3.02486;
-     EtaROImin[1][15][ 3]=	    0;EtaROImax[1][15][ 3]=	     0;PhiROImin[1][15][ 3]=	      0;PhiROImax[1][15][ 3]=	       0;
-     EtaROImin[1][15][ 4]=   0.246207;EtaROImax[1][15][ 4]=    0.35049;PhiROImin[1][15][ 4]=	3.02898;PhiROImax[1][15][ 4]=	 3.13864;
-     EtaROImin[1][15][ 5]=   0.350831;EtaROImax[1][15][ 5]=   0.452099;PhiROImin[1][15][ 5]=	3.02898;PhiROImax[1][15][ 5]=	 3.13864;
-     EtaROImin[1][15][ 6]=   0.246207;EtaROImax[1][15][ 6]=    0.35049;PhiROImin[1][15][ 6]=	2.91858;PhiROImax[1][15][ 6]=	 3.02547;
-     EtaROImin[1][15][ 7]=   0.350831;EtaROImax[1][15][ 7]=   0.452099;PhiROImin[1][15][ 7]=	2.91858;PhiROImax[1][15][ 7]=	 3.02547;
-     EtaROImin[1][15][ 8]=   0.458091;EtaROImax[1][15][ 8]=   0.554444;PhiROImin[1][15][ 8]=	3.02898;PhiROImax[1][15][ 8]=	 3.13864;
-     EtaROImin[1][15][ 9]=   0.555789;EtaROImax[1][15][ 9]=   0.648101;PhiROImin[1][15][ 9]=	3.02898;PhiROImax[1][15][ 9]=	 3.13864;
-     EtaROImin[1][15][10]=   0.458091;EtaROImax[1][15][10]=   0.554444;PhiROImin[1][15][10]=	2.91858;PhiROImax[1][15][10]=	 3.02547;
-     EtaROImin[1][15][11]=   0.555789;EtaROImax[1][15][11]=   0.648101;PhiROImin[1][15][11]=	2.91858;PhiROImax[1][15][11]=	 3.02547;
-     EtaROImin[1][15][12]=   0.655857;EtaROImax[1][15][12]=   0.703298;PhiROImin[1][15][12]=	3.02838;PhiROImax[1][15][12]=	 3.13862;
-     EtaROImin[1][15][13]=   0.706413;EtaROImax[1][15][13]=   0.776449;PhiROImin[1][15][13]=	3.02838;PhiROImax[1][15][13]=	 3.13862;
-     EtaROImin[1][15][14]=   0.655857;EtaROImax[1][15][14]=   0.703298;PhiROImin[1][15][14]=	2.91742;PhiROImax[1][15][14]=	 3.02486;
-     EtaROImin[1][15][15]=   0.706413;EtaROImax[1][15][15]=   0.776449;PhiROImin[1][15][15]=	2.91742;PhiROImax[1][15][15]=	 3.02486;
-     EtaROImin[1][15][16]=   0.783867;EtaROImax[1][15][16]=    0.82768;PhiROImin[1][15][16]=	3.02838;PhiROImax[1][15][16]=	 3.13862;
-     EtaROImin[1][15][17]=   0.830556;EtaROImax[1][15][17]=   0.895163;PhiROImin[1][15][17]=	3.02838;PhiROImax[1][15][17]=	 3.13862;
-     EtaROImin[1][15][18]=   0.783867;EtaROImax[1][15][18]=    0.82768;PhiROImin[1][15][18]=	2.91742;PhiROImax[1][15][18]=	 3.02486;
-     EtaROImin[1][15][19]=   0.830556;EtaROImax[1][15][19]=   0.895163;PhiROImin[1][15][19]=	2.91742;PhiROImax[1][15][19]=	 3.02486;
-     EtaROImin[1][15][20]=   0.898201;EtaROImax[1][15][20]=   0.961344;PhiROImin[1][15][20]=	3.02898;PhiROImax[1][15][20]=	 3.13864;
-     EtaROImin[1][15][21]=   0.964674;EtaROImax[1][15][21]=    1.02514;PhiROImin[1][15][21]=	3.02898;PhiROImax[1][15][21]=	 3.13864;
-     EtaROImin[1][15][22]=   0.898201;EtaROImax[1][15][22]=   0.961344;PhiROImin[1][15][22]=	2.91858;PhiROImax[1][15][22]=	 3.02547;
-     EtaROImin[1][15][23]=   0.964674;EtaROImax[1][15][23]=    1.02514;PhiROImin[1][15][23]=	2.91858;PhiROImax[1][15][23]=	 3.02547;
-     EtaROImin[1][15][24]=    1.03003;EtaROImax[1][15][24]=    1.06547;PhiROImin[1][15][24]=	3.02816;PhiROImax[1][15][24]=	 3.13852;
-     EtaROImin[1][15][25]=	    0;EtaROImax[1][15][25]=	     0;PhiROImin[1][15][25]=	      0;PhiROImax[1][15][25]=	       0;
-     EtaROImin[1][15][26]=    1.03003;EtaROImax[1][15][26]=    1.06547;PhiROImin[1][15][26]=	2.94445;PhiROImax[1][15][26]=	 3.02463;
-     EtaROImin[1][15][27]=	    0;EtaROImax[1][15][27]=	     0;PhiROImin[1][15][27]=	      0;PhiROImax[1][15][27]=	       0;
-     EtaROImin[1][15][28]=	    0;EtaROImax[1][15][28]=	     0;PhiROImin[1][15][28]=	      0;PhiROImax[1][15][28]=	       0;
-     EtaROImin[1][15][29]=	    0;EtaROImax[1][15][29]=	     0;PhiROImin[1][15][29]=	      0;PhiROImax[1][15][29]=	       0;
-     EtaROImin[1][15][30]=	    0;EtaROImax[1][15][30]=	     0;PhiROImin[1][15][30]=	      0;PhiROImax[1][15][30]=	       0;
-     EtaROImin[1][15][31]=	    0;EtaROImax[1][15][31]=	     0;PhiROImin[1][15][31]=	      0;PhiROImax[1][15][31]=	       0;
-     EtaROImin[1][16][ 0]=	    0;EtaROImax[1][16][ 0]=	     0;PhiROImin[1][16][ 0]=	      0;PhiROImax[1][16][ 0]=	       0;
-     EtaROImin[1][16][ 1]=   0.130922;EtaROImax[1][16][ 1]=   0.238612;PhiROImin[1][16][ 1]=   -3.13862;PhiROImax[1][16][ 1]=	-3.02838;
-     EtaROImin[1][16][ 2]=	    0;EtaROImax[1][16][ 2]=	     0;PhiROImin[1][16][ 2]=	      0;PhiROImax[1][16][ 2]=	       0;
-     EtaROImin[1][16][ 3]=   0.130922;EtaROImax[1][16][ 3]=   0.238612;PhiROImin[1][16][ 3]=   -3.02486;PhiROImax[1][16][ 3]=	-2.91742;
-     EtaROImin[1][16][ 4]=   0.350831;EtaROImax[1][16][ 4]=   0.452099;PhiROImin[1][16][ 4]=   -3.13864;PhiROImax[1][16][ 4]=	-3.02898;
-     EtaROImin[1][16][ 5]=   0.246207;EtaROImax[1][16][ 5]=    0.35049;PhiROImin[1][16][ 5]=   -3.13864;PhiROImax[1][16][ 5]=	-3.02898;
-     EtaROImin[1][16][ 6]=   0.350831;EtaROImax[1][16][ 6]=   0.452099;PhiROImin[1][16][ 6]=   -3.02547;PhiROImax[1][16][ 6]=	-2.91858;
-     EtaROImin[1][16][ 7]=   0.246207;EtaROImax[1][16][ 7]=    0.35049;PhiROImin[1][16][ 7]=   -3.02547;PhiROImax[1][16][ 7]=	-2.91858;
-     EtaROImin[1][16][ 8]=   0.555789;EtaROImax[1][16][ 8]=   0.648101;PhiROImin[1][16][ 8]=   -3.13864;PhiROImax[1][16][ 8]=	-3.02898;
-     EtaROImin[1][16][ 9]=   0.458091;EtaROImax[1][16][ 9]=   0.554444;PhiROImin[1][16][ 9]=   -3.13864;PhiROImax[1][16][ 9]=	-3.02898;
-     EtaROImin[1][16][10]=   0.555789;EtaROImax[1][16][10]=   0.648101;PhiROImin[1][16][10]=   -3.02547;PhiROImax[1][16][10]=	-2.91858;
-     EtaROImin[1][16][11]=   0.458091;EtaROImax[1][16][11]=   0.554444;PhiROImin[1][16][11]=   -3.02547;PhiROImax[1][16][11]=	-2.91858;
-     EtaROImin[1][16][12]=   0.731124;EtaROImax[1][16][12]=   0.776449;PhiROImin[1][16][12]=   -3.13862;PhiROImax[1][16][12]=	-3.02838;
-     EtaROImin[1][16][13]=   0.655857;EtaROImax[1][16][13]=   0.728056;PhiROImin[1][16][13]=   -3.13862;PhiROImax[1][16][13]=	-3.02838;
-     EtaROImin[1][16][14]=   0.731124;EtaROImax[1][16][14]=   0.776449;PhiROImin[1][16][14]=   -3.02486;PhiROImax[1][16][14]=	-2.91742;
-     EtaROImin[1][16][15]=   0.655857;EtaROImax[1][16][15]=   0.728056;PhiROImin[1][16][15]=   -3.02486;PhiROImax[1][16][15]=	-2.91742;
-     EtaROImin[1][16][16]=   0.853359;EtaROImax[1][16][16]=   0.895163;PhiROImin[1][16][16]=   -3.13862;PhiROImax[1][16][16]=	-3.02838;
-     EtaROImin[1][16][17]=   0.783867;EtaROImax[1][16][17]=   0.850528;PhiROImin[1][16][17]=   -3.13862;PhiROImax[1][16][17]=	-3.02838;
-     EtaROImin[1][16][18]=   0.853359;EtaROImax[1][16][18]=   0.895163;PhiROImin[1][16][18]=   -3.02486;PhiROImax[1][16][18]=	-2.91742;
-     EtaROImin[1][16][19]=   0.783867;EtaROImax[1][16][19]=   0.850528;PhiROImin[1][16][19]=   -3.02486;PhiROImax[1][16][19]=	-2.91742;
-     EtaROImin[1][16][20]=   0.964674;EtaROImax[1][16][20]=    1.02514;PhiROImin[1][16][20]=   -3.13864;PhiROImax[1][16][20]=	-3.02898;
-     EtaROImin[1][16][21]=   0.898201;EtaROImax[1][16][21]=   0.961344;PhiROImin[1][16][21]=   -3.13864;PhiROImax[1][16][21]=	-3.02898;
-     EtaROImin[1][16][22]=   0.964674;EtaROImax[1][16][22]=    1.02514;PhiROImin[1][16][22]=   -3.02547;PhiROImax[1][16][22]=	-2.91858;
-     EtaROImin[1][16][23]=   0.898201;EtaROImax[1][16][23]=   0.961344;PhiROImin[1][16][23]=   -3.02547;PhiROImax[1][16][23]=	-2.91858;
-     EtaROImin[1][16][24]=	    0;EtaROImax[1][16][24]=	     0;PhiROImin[1][16][24]=	      0;PhiROImax[1][16][24]=	       0;
-     EtaROImin[1][16][25]=    1.03003;EtaROImax[1][16][25]=    1.06547;PhiROImin[1][16][25]=   -3.13852;PhiROImax[1][16][25]=	-3.02816;
-     EtaROImin[1][16][26]=	    0;EtaROImax[1][16][26]=	     0;PhiROImin[1][16][26]=	      0;PhiROImax[1][16][26]=	       0;
-     EtaROImin[1][16][27]=    1.03003;EtaROImax[1][16][27]=    1.06547;PhiROImin[1][16][27]=   -3.02463;PhiROImax[1][16][27]=	-2.94445;
-     EtaROImin[1][16][28]=	    0;EtaROImax[1][16][28]=	     0;PhiROImin[1][16][28]=	      0;PhiROImax[1][16][28]=	       0;
-     EtaROImin[1][16][29]=	    0;EtaROImax[1][16][29]=	     0;PhiROImin[1][16][29]=	      0;PhiROImax[1][16][29]=	       0;
-     EtaROImin[1][16][30]=	    0;EtaROImax[1][16][30]=	     0;PhiROImin[1][16][30]=	      0;PhiROImax[1][16][30]=	       0;
-     EtaROImin[1][16][31]=	    0;EtaROImax[1][16][31]=	     0;PhiROImin[1][16][31]=	      0;PhiROImax[1][16][31]=	       0;
-     EtaROImin[1][17][ 0]=  0.0208251;EtaROImax[1][17][ 0]=   0.118734;PhiROImin[1][17][ 0]=   -2.83564;PhiROImax[1][17][ 0]=	-2.75168;
-     EtaROImin[1][17][ 1]=   0.116816;EtaROImax[1][17][ 1]=   0.213185;PhiROImin[1][17][ 1]=   -2.83564;PhiROImax[1][17][ 1]=	-2.75168;
-     EtaROImin[1][17][ 2]=  0.0208251;EtaROImax[1][17][ 2]=   0.118734;PhiROImin[1][17][ 2]=   -2.92194;PhiROImax[1][17][ 2]=	-2.83927;
-     EtaROImin[1][17][ 3]=   0.116816;EtaROImax[1][17][ 3]=   0.213185;PhiROImin[1][17][ 3]=   -2.92194;PhiROImax[1][17][ 3]=	-2.83927;
-     EtaROImin[1][17][ 4]=   0.222449;EtaROImax[1][17][ 4]=   0.302928;PhiROImin[1][17][ 4]=   -2.83564;PhiROImax[1][17][ 4]=	-2.75168;
-     EtaROImin[1][17][ 5]=    0.30075;EtaROImax[1][17][ 5]=   0.416721;PhiROImin[1][17][ 5]=   -2.83564;PhiROImax[1][17][ 5]=	-2.75168;
-     EtaROImin[1][17][ 6]=   0.222449;EtaROImax[1][17][ 6]=   0.302928;PhiROImin[1][17][ 6]=   -2.92194;PhiROImax[1][17][ 6]=	-2.83927;
-     EtaROImin[1][17][ 7]=    0.30075;EtaROImax[1][17][ 7]=   0.416721;PhiROImin[1][17][ 7]=   -2.92194;PhiROImax[1][17][ 7]=	-2.83927;
-     EtaROImin[1][17][ 8]=    0.42967;EtaROImax[1][17][ 8]=   0.504617;PhiROImin[1][17][ 8]=   -2.83564;PhiROImax[1][17][ 8]=	-2.75168;
-     EtaROImin[1][17][ 9]=   0.501681;EtaROImax[1][17][ 9]=   0.573871;PhiROImin[1][17][ 9]=   -2.83564;PhiROImax[1][17][ 9]=	-2.75168;
-     EtaROImin[1][17][10]=    0.42967;EtaROImax[1][17][10]=   0.504617;PhiROImin[1][17][10]=   -2.92194;PhiROImax[1][17][10]=	-2.83927;
-     EtaROImin[1][17][11]=   0.501681;EtaROImax[1][17][11]=   0.573871;PhiROImin[1][17][11]=   -2.92194;PhiROImax[1][17][11]=	-2.83927;
-     EtaROImin[1][17][12]=   0.583785;EtaROImax[1][17][12]=   0.653329;PhiROImin[1][17][12]=   -2.83564;PhiROImax[1][17][12]=	-2.75168;
-     EtaROImin[1][17][13]=   0.649934;EtaROImax[1][17][13]=   0.741516;PhiROImin[1][17][13]=   -2.83564;PhiROImax[1][17][13]=	-2.75168;
-     EtaROImin[1][17][14]=   0.583785;EtaROImax[1][17][14]=   0.653329;PhiROImin[1][17][14]=   -2.92194;PhiROImax[1][17][14]=	-2.83927;
-     EtaROImin[1][17][15]=   0.649934;EtaROImax[1][17][15]=   0.741516;PhiROImin[1][17][15]=   -2.92194;PhiROImax[1][17][15]=	-2.83927;
-     EtaROImin[1][17][16]=   0.756521;EtaROImax[1][17][16]=   0.837822;PhiROImin[1][17][16]=   -2.83564;PhiROImax[1][17][16]=	-2.75168;
-     EtaROImin[1][17][17]=	    0;EtaROImax[1][17][17]=	     0;PhiROImin[1][17][17]=	      0;PhiROImax[1][17][17]=	       0;
-     EtaROImin[1][17][18]=   0.756521;EtaROImax[1][17][18]=   0.837822;PhiROImin[1][17][18]=   -2.92194;PhiROImax[1][17][18]=	-2.83927;
-     EtaROImin[1][17][19]=	    0;EtaROImax[1][17][19]=	     0;PhiROImin[1][17][19]=	      0;PhiROImax[1][17][19]=	       0;
-     EtaROImin[1][17][20]=   0.844116;EtaROImax[1][17][20]=   0.903324;PhiROImin[1][17][20]=   -2.83564;PhiROImax[1][17][20]=	-2.75168;
-     EtaROImin[1][17][21]=   0.899344;EtaROImax[1][17][21]=   0.956037;PhiROImin[1][17][21]=   -2.83564;PhiROImax[1][17][21]=	-2.75168;
-     EtaROImin[1][17][22]=   0.844116;EtaROImax[1][17][22]=   0.903324;PhiROImin[1][17][22]=   -2.92194;PhiROImax[1][17][22]=	-2.83927;
-     EtaROImin[1][17][23]=   0.899344;EtaROImax[1][17][23]=   0.956037;PhiROImin[1][17][23]=   -2.92194;PhiROImax[1][17][23]=	-2.83927;
-     EtaROImin[1][17][24]=	    0;EtaROImax[1][17][24]=	     0;PhiROImin[1][17][24]=	      0;PhiROImax[1][17][24]=	       0;
-     EtaROImin[1][17][25]=	    0;EtaROImax[1][17][25]=	     0;PhiROImin[1][17][25]=	      0;PhiROImax[1][17][25]=	       0;
-     EtaROImin[1][17][26]=	    0;EtaROImax[1][17][26]=	     0;PhiROImin[1][17][26]=	      0;PhiROImax[1][17][26]=	       0;
-     EtaROImin[1][17][27]=	    0;EtaROImax[1][17][27]=	     0;PhiROImin[1][17][27]=	      0;PhiROImax[1][17][27]=	       0;
-     EtaROImin[1][17][28]=	    0;EtaROImax[1][17][28]=	     0;PhiROImin[1][17][28]=	      0;PhiROImax[1][17][28]=	       0;
-     EtaROImin[1][17][29]=	    0;EtaROImax[1][17][29]=	     0;PhiROImin[1][17][29]=	      0;PhiROImax[1][17][29]=	       0;
-     EtaROImin[1][17][30]=	    0;EtaROImax[1][17][30]=	     0;PhiROImin[1][17][30]=	      0;PhiROImax[1][17][30]=	       0;
-     EtaROImin[1][17][31]=	    0;EtaROImax[1][17][31]=	     0;PhiROImin[1][17][31]=	      0;PhiROImax[1][17][31]=	       0;
-     EtaROImin[1][18][ 0]=   0.116816;EtaROImax[1][18][ 0]=   0.213185;PhiROImin[1][18][ 0]=	-2.7461;PhiROImax[1][18][ 0]=	-2.66215;
-     EtaROImin[1][18][ 1]=  0.0208251;EtaROImax[1][18][ 1]=   0.118734;PhiROImin[1][18][ 1]=	-2.7461;PhiROImax[1][18][ 1]=	-2.66215;
-     EtaROImin[1][18][ 2]=   0.116816;EtaROImax[1][18][ 2]=   0.213185;PhiROImin[1][18][ 2]=   -2.65852;PhiROImax[1][18][ 2]=	-2.57584;
-     EtaROImin[1][18][ 3]=  0.0208251;EtaROImax[1][18][ 3]=   0.118734;PhiROImin[1][18][ 3]=   -2.65852;PhiROImax[1][18][ 3]=	-2.57584;
-     EtaROImin[1][18][ 4]=    0.30075;EtaROImax[1][18][ 4]=   0.416721;PhiROImin[1][18][ 4]=	-2.7461;PhiROImax[1][18][ 4]=	-2.66215;
-     EtaROImin[1][18][ 5]=   0.222449;EtaROImax[1][18][ 5]=   0.302928;PhiROImin[1][18][ 5]=	-2.7461;PhiROImax[1][18][ 5]=	-2.66215;
-     EtaROImin[1][18][ 6]=    0.30075;EtaROImax[1][18][ 6]=   0.416721;PhiROImin[1][18][ 6]=   -2.65852;PhiROImax[1][18][ 6]=	-2.57584;
-     EtaROImin[1][18][ 7]=   0.222449;EtaROImax[1][18][ 7]=   0.302928;PhiROImin[1][18][ 7]=   -2.65852;PhiROImax[1][18][ 7]=	-2.57584;
-     EtaROImin[1][18][ 8]=   0.501681;EtaROImax[1][18][ 8]=   0.573871;PhiROImin[1][18][ 8]=	-2.7461;PhiROImax[1][18][ 8]=	-2.66215;
-     EtaROImin[1][18][ 9]=    0.42967;EtaROImax[1][18][ 9]=   0.504617;PhiROImin[1][18][ 9]=	-2.7461;PhiROImax[1][18][ 9]=	-2.66215;
-     EtaROImin[1][18][10]=   0.501681;EtaROImax[1][18][10]=   0.573871;PhiROImin[1][18][10]=   -2.65852;PhiROImax[1][18][10]=	-2.57584;
-     EtaROImin[1][18][11]=    0.42967;EtaROImax[1][18][11]=   0.504617;PhiROImin[1][18][11]=   -2.65852;PhiROImax[1][18][11]=	-2.57584;
-     EtaROImin[1][18][12]=   0.649934;EtaROImax[1][18][12]=   0.741516;PhiROImin[1][18][12]=	-2.7461;PhiROImax[1][18][12]=	-2.66215;
-     EtaROImin[1][18][13]=   0.583785;EtaROImax[1][18][13]=   0.653329;PhiROImin[1][18][13]=	-2.7461;PhiROImax[1][18][13]=	-2.66215;
-     EtaROImin[1][18][14]=   0.649934;EtaROImax[1][18][14]=   0.741516;PhiROImin[1][18][14]=   -2.65852;PhiROImax[1][18][14]=	-2.57584;
-     EtaROImin[1][18][15]=   0.583785;EtaROImax[1][18][15]=   0.653329;PhiROImin[1][18][15]=   -2.65852;PhiROImax[1][18][15]=	-2.57584;
-     EtaROImin[1][18][16]=	    0;EtaROImax[1][18][16]=	     0;PhiROImin[1][18][16]=	      0;PhiROImax[1][18][16]=	       0;
-     EtaROImin[1][18][17]=   0.756521;EtaROImax[1][18][17]=   0.837822;PhiROImin[1][18][17]=	-2.7461;PhiROImax[1][18][17]=	-2.66215;
-     EtaROImin[1][18][18]=	    0;EtaROImax[1][18][18]=	     0;PhiROImin[1][18][18]=	      0;PhiROImax[1][18][18]=	       0;
-     EtaROImin[1][18][19]=   0.756521;EtaROImax[1][18][19]=   0.837822;PhiROImin[1][18][19]=   -2.65852;PhiROImax[1][18][19]=	-2.57584;
-     EtaROImin[1][18][20]=   0.899344;EtaROImax[1][18][20]=   0.956037;PhiROImin[1][18][20]=	-2.7461;PhiROImax[1][18][20]=	-2.66215;
-     EtaROImin[1][18][21]=   0.844116;EtaROImax[1][18][21]=   0.903324;PhiROImin[1][18][21]=	-2.7461;PhiROImax[1][18][21]=	-2.66215;
-     EtaROImin[1][18][22]=   0.899344;EtaROImax[1][18][22]=   0.956037;PhiROImin[1][18][22]=   -2.65852;PhiROImax[1][18][22]=	-2.57584;
-     EtaROImin[1][18][23]=   0.844116;EtaROImax[1][18][23]=   0.903324;PhiROImin[1][18][23]=   -2.65852;PhiROImax[1][18][23]=	-2.57584;
-     EtaROImin[1][18][24]=	    0;EtaROImax[1][18][24]=	     0;PhiROImin[1][18][24]=	      0;PhiROImax[1][18][24]=	       0;
-     EtaROImin[1][18][25]=	    0;EtaROImax[1][18][25]=	     0;PhiROImin[1][18][25]=	      0;PhiROImax[1][18][25]=	       0;
-     EtaROImin[1][18][26]=	    0;EtaROImax[1][18][26]=	     0;PhiROImin[1][18][26]=	      0;PhiROImax[1][18][26]=	       0;
-     EtaROImin[1][18][27]=	    0;EtaROImax[1][18][27]=	     0;PhiROImin[1][18][27]=	      0;PhiROImax[1][18][27]=	       0;
-     EtaROImin[1][18][28]=	    0;EtaROImax[1][18][28]=	     0;PhiROImin[1][18][28]=	      0;PhiROImax[1][18][28]=	       0;
-     EtaROImin[1][18][29]=	    0;EtaROImax[1][18][29]=	     0;PhiROImin[1][18][29]=	      0;PhiROImax[1][18][29]=	       0;
-     EtaROImin[1][18][30]=	    0;EtaROImax[1][18][30]=	     0;PhiROImin[1][18][30]=	      0;PhiROImax[1][18][30]=	       0;
-     EtaROImin[1][18][31]=	    0;EtaROImax[1][18][31]=	     0;PhiROImin[1][18][31]=	      0;PhiROImax[1][18][31]=	       0;
-     EtaROImin[1][19][ 0]=  0.0874905;EtaROImax[1][19][ 0]=   0.145912;PhiROImin[1][19][ 0]=   -2.46941;PhiROImax[1][19][ 0]=	-2.35916;
-     EtaROImin[1][19][ 1]=   0.149792;EtaROImax[1][19][ 1]=   0.238294;PhiROImin[1][19][ 1]=   -2.46941;PhiROImax[1][19][ 1]=	-2.35916;
-     EtaROImin[1][19][ 2]=  0.0874905;EtaROImax[1][19][ 2]=   0.145912;PhiROImin[1][19][ 2]=   -2.58036;PhiROImax[1][19][ 2]=	-2.47293;
-     EtaROImin[1][19][ 3]=   0.149792;EtaROImax[1][19][ 3]=   0.238294;PhiROImin[1][19][ 3]=   -2.58036;PhiROImax[1][19][ 3]=	-2.47293;
-     EtaROImin[1][19][ 4]=   0.246207;EtaROImax[1][19][ 4]=    0.35049;PhiROImin[1][19][ 4]=   -2.46881;PhiROImax[1][19][ 4]=	-2.35915;
-     EtaROImin[1][19][ 5]=   0.350831;EtaROImax[1][19][ 5]=   0.452099;PhiROImin[1][19][ 5]=   -2.46881;PhiROImax[1][19][ 5]=	-2.35915;
-     EtaROImin[1][19][ 6]=   0.246207;EtaROImax[1][19][ 6]=    0.35049;PhiROImin[1][19][ 6]=   -2.57921;PhiROImax[1][19][ 6]=	-2.47231;
-     EtaROImin[1][19][ 7]=   0.350831;EtaROImax[1][19][ 7]=   0.452099;PhiROImin[1][19][ 7]=   -2.57921;PhiROImax[1][19][ 7]=	-2.47231;
-     EtaROImin[1][19][ 8]=   0.458091;EtaROImax[1][19][ 8]=   0.554444;PhiROImin[1][19][ 8]=   -2.46881;PhiROImax[1][19][ 8]=	-2.35915;
-     EtaROImin[1][19][ 9]=   0.555789;EtaROImax[1][19][ 9]=   0.648101;PhiROImin[1][19][ 9]=   -2.46881;PhiROImax[1][19][ 9]=	-2.35915;
-     EtaROImin[1][19][10]=   0.458091;EtaROImax[1][19][10]=   0.554444;PhiROImin[1][19][10]=   -2.57921;PhiROImax[1][19][10]=	-2.47231;
-     EtaROImin[1][19][11]=   0.555789;EtaROImax[1][19][11]=   0.648101;PhiROImin[1][19][11]=   -2.57921;PhiROImax[1][19][11]=	-2.47231;
-     EtaROImin[1][19][12]=   0.655857;EtaROImax[1][19][12]=   0.703298;PhiROImin[1][19][12]=   -2.46941;PhiROImax[1][19][12]=	-2.35916;
-     EtaROImin[1][19][13]=   0.706413;EtaROImax[1][19][13]=   0.776449;PhiROImin[1][19][13]=   -2.46941;PhiROImax[1][19][13]=	-2.35916;
-     EtaROImin[1][19][14]=   0.655857;EtaROImax[1][19][14]=   0.703298;PhiROImin[1][19][14]=   -2.58036;PhiROImax[1][19][14]=	-2.47293;
-     EtaROImin[1][19][15]=   0.706413;EtaROImax[1][19][15]=   0.776449;PhiROImin[1][19][15]=   -2.58036;PhiROImax[1][19][15]=	-2.47293;
-     EtaROImin[1][19][16]=   0.783867;EtaROImax[1][19][16]=    0.82768;PhiROImin[1][19][16]=   -2.46941;PhiROImax[1][19][16]=	-2.35916;
-     EtaROImin[1][19][17]=   0.830556;EtaROImax[1][19][17]=   0.895163;PhiROImin[1][19][17]=   -2.46941;PhiROImax[1][19][17]=	-2.35916;
-     EtaROImin[1][19][18]=   0.783867;EtaROImax[1][19][18]=    0.82768;PhiROImin[1][19][18]=   -2.58036;PhiROImax[1][19][18]=	-2.47293;
-     EtaROImin[1][19][19]=   0.830556;EtaROImax[1][19][19]=   0.895163;PhiROImin[1][19][19]=   -2.58036;PhiROImax[1][19][19]=	-2.47293;
-     EtaROImin[1][19][20]=   0.898201;EtaROImax[1][19][20]=   0.961344;PhiROImin[1][19][20]=   -2.46881;PhiROImax[1][19][20]=	-2.35915;
-     EtaROImin[1][19][21]=   0.964674;EtaROImax[1][19][21]=    1.02514;PhiROImin[1][19][21]=   -2.46881;PhiROImax[1][19][21]=	-2.35915;
-     EtaROImin[1][19][22]=   0.898201;EtaROImax[1][19][22]=   0.961344;PhiROImin[1][19][22]=   -2.57921;PhiROImax[1][19][22]=	-2.47231;
-     EtaROImin[1][19][23]=   0.964674;EtaROImax[1][19][23]=    1.02514;PhiROImin[1][19][23]=   -2.57921;PhiROImax[1][19][23]=	-2.47231;
-     EtaROImin[1][19][24]=    1.03003;EtaROImax[1][19][24]=    1.06547;PhiROImin[1][19][24]=   -2.46962;PhiROImax[1][19][24]=	-2.35926;
-     EtaROImin[1][19][25]=	    0;EtaROImax[1][19][25]=	     0;PhiROImin[1][19][25]=	      0;PhiROImax[1][19][25]=	       0;
-     EtaROImin[1][19][26]=    1.03003;EtaROImax[1][19][26]=    1.06547;PhiROImin[1][19][26]=   -2.55334;PhiROImax[1][19][26]=	-2.47315;
-     EtaROImin[1][19][27]=	    0;EtaROImax[1][19][27]=	     0;PhiROImin[1][19][27]=	      0;PhiROImax[1][19][27]=	       0;
-     EtaROImin[1][19][28]=	    0;EtaROImax[1][19][28]=	     0;PhiROImin[1][19][28]=	      0;PhiROImax[1][19][28]=	       0;
-     EtaROImin[1][19][29]=	    0;EtaROImax[1][19][29]=	     0;PhiROImin[1][19][29]=	      0;PhiROImax[1][19][29]=	       0;
-     EtaROImin[1][19][30]=	    0;EtaROImax[1][19][30]=	     0;PhiROImin[1][19][30]=	      0;PhiROImax[1][19][30]=	       0;
-     EtaROImin[1][19][31]=	    0;EtaROImax[1][19][31]=	     0;PhiROImin[1][19][31]=	      0;PhiROImax[1][19][31]=	       0;
-     EtaROImin[1][20][ 0]=   0.180742;EtaROImax[1][20][ 0]=   0.238294;PhiROImin[1][20][ 0]=   -2.35323;PhiROImax[1][20][ 0]=	-2.24298;
-     EtaROImin[1][20][ 1]=  0.0874905;EtaROImax[1][20][ 1]=   0.176882;PhiROImin[1][20][ 1]=   -2.35323;PhiROImax[1][20][ 1]=	-2.24298;
-     EtaROImin[1][20][ 2]=   0.180742;EtaROImax[1][20][ 2]=   0.238294;PhiROImin[1][20][ 2]=   -2.23946;PhiROImax[1][20][ 2]=	-2.13203;
-     EtaROImin[1][20][ 3]=  0.0874905;EtaROImax[1][20][ 3]=   0.176882;PhiROImin[1][20][ 3]=   -2.23946;PhiROImax[1][20][ 3]=	-2.13203;
-     EtaROImin[1][20][ 4]=   0.350831;EtaROImax[1][20][ 4]=   0.452099;PhiROImin[1][20][ 4]=   -2.35324;PhiROImax[1][20][ 4]=	-2.24358;
-     EtaROImin[1][20][ 5]=   0.246207;EtaROImax[1][20][ 5]=    0.35049;PhiROImin[1][20][ 5]=   -2.35324;PhiROImax[1][20][ 5]=	-2.24358;
-     EtaROImin[1][20][ 6]=   0.350831;EtaROImax[1][20][ 6]=   0.452099;PhiROImin[1][20][ 6]=   -2.24008;PhiROImax[1][20][ 6]=	-2.13318;
-     EtaROImin[1][20][ 7]=   0.246207;EtaROImax[1][20][ 7]=    0.35049;PhiROImin[1][20][ 7]=   -2.24008;PhiROImax[1][20][ 7]=	-2.13318;
-     EtaROImin[1][20][ 8]=   0.555789;EtaROImax[1][20][ 8]=   0.648101;PhiROImin[1][20][ 8]=   -2.35324;PhiROImax[1][20][ 8]=	-2.24358;
-     EtaROImin[1][20][ 9]=   0.458091;EtaROImax[1][20][ 9]=   0.554444;PhiROImin[1][20][ 9]=   -2.35324;PhiROImax[1][20][ 9]=	-2.24358;
-     EtaROImin[1][20][10]=   0.555789;EtaROImax[1][20][10]=   0.648101;PhiROImin[1][20][10]=   -2.24008;PhiROImax[1][20][10]=	-2.13318;
-     EtaROImin[1][20][11]=   0.458091;EtaROImax[1][20][11]=   0.554444;PhiROImin[1][20][11]=   -2.24008;PhiROImax[1][20][11]=	-2.13318;
-     EtaROImin[1][20][12]=   0.731124;EtaROImax[1][20][12]=   0.776449;PhiROImin[1][20][12]=   -2.35323;PhiROImax[1][20][12]=	-2.24298;
-     EtaROImin[1][20][13]=   0.655857;EtaROImax[1][20][13]=   0.728056;PhiROImin[1][20][13]=   -2.35323;PhiROImax[1][20][13]=	-2.24298;
-     EtaROImin[1][20][14]=   0.731124;EtaROImax[1][20][14]=   0.776449;PhiROImin[1][20][14]=   -2.23946;PhiROImax[1][20][14]=	-2.13203;
-     EtaROImin[1][20][15]=   0.655857;EtaROImax[1][20][15]=   0.728056;PhiROImin[1][20][15]=   -2.23946;PhiROImax[1][20][15]=	-2.13203;
-     EtaROImin[1][20][16]=   0.853359;EtaROImax[1][20][16]=   0.895163;PhiROImin[1][20][16]=   -2.35323;PhiROImax[1][20][16]=	-2.24298;
-     EtaROImin[1][20][17]=   0.783867;EtaROImax[1][20][17]=   0.850528;PhiROImin[1][20][17]=   -2.35323;PhiROImax[1][20][17]=	-2.24298;
-     EtaROImin[1][20][18]=   0.853359;EtaROImax[1][20][18]=   0.895163;PhiROImin[1][20][18]=   -2.23946;PhiROImax[1][20][18]=	-2.13203;
-     EtaROImin[1][20][19]=   0.783867;EtaROImax[1][20][19]=   0.850528;PhiROImin[1][20][19]=   -2.23946;PhiROImax[1][20][19]=	-2.13203;
-     EtaROImin[1][20][20]=   0.964674;EtaROImax[1][20][20]=    1.02514;PhiROImin[1][20][20]=   -2.35324;PhiROImax[1][20][20]=	-2.24358;
-     EtaROImin[1][20][21]=   0.898201;EtaROImax[1][20][21]=   0.961344;PhiROImin[1][20][21]=   -2.35324;PhiROImax[1][20][21]=	-2.24358;
-     EtaROImin[1][20][22]=   0.964674;EtaROImax[1][20][22]=    1.02514;PhiROImin[1][20][22]=   -2.24008;PhiROImax[1][20][22]=	-2.13318;
-     EtaROImin[1][20][23]=   0.898201;EtaROImax[1][20][23]=   0.961344;PhiROImin[1][20][23]=   -2.24008;PhiROImax[1][20][23]=	-2.13318;
-     EtaROImin[1][20][24]=	    0;EtaROImax[1][20][24]=	     0;PhiROImin[1][20][24]=	      0;PhiROImax[1][20][24]=	       0;
-     EtaROImin[1][20][25]=    1.03003;EtaROImax[1][20][25]=    1.06547;PhiROImin[1][20][25]=   -2.35313;PhiROImax[1][20][25]=	-2.24277;
-     EtaROImin[1][20][26]=	    0;EtaROImax[1][20][26]=	     0;PhiROImin[1][20][26]=	      0;PhiROImax[1][20][26]=	       0;
-     EtaROImin[1][20][27]=    1.03003;EtaROImax[1][20][27]=    1.06547;PhiROImin[1][20][27]=   -2.23924;PhiROImax[1][20][27]=	-2.15905;
-     EtaROImin[1][20][28]=	    0;EtaROImax[1][20][28]=	     0;PhiROImin[1][20][28]=	      0;PhiROImax[1][20][28]=	       0;
-     EtaROImin[1][20][29]=	    0;EtaROImax[1][20][29]=	     0;PhiROImin[1][20][29]=	      0;PhiROImax[1][20][29]=	       0;
-     EtaROImin[1][20][30]=	    0;EtaROImax[1][20][30]=	     0;PhiROImin[1][20][30]=	      0;PhiROImax[1][20][30]=	       0;
-     EtaROImin[1][20][31]=	    0;EtaROImax[1][20][31]=	     0;PhiROImin[1][20][31]=	      0;PhiROImax[1][20][31]=	       0;
-     EtaROImin[1][21][ 0]=  0.0775634;EtaROImax[1][21][ 0]=   0.126072;PhiROImin[1][21][ 0]=   -2.05024;PhiROImax[1][21][ 0]=	-1.96629;
-     EtaROImin[1][21][ 1]=   0.129296;EtaROImax[1][21][ 1]=   0.203032;PhiROImin[1][21][ 1]=   -2.05024;PhiROImax[1][21][ 1]=	-1.96629;
-     EtaROImin[1][21][ 2]=  0.0775634;EtaROImax[1][21][ 2]=   0.126072;PhiROImin[1][21][ 2]=   -2.13655;PhiROImax[1][21][ 2]=	-2.05387;
-     EtaROImin[1][21][ 3]=   0.129296;EtaROImax[1][21][ 3]=   0.203032;PhiROImin[1][21][ 3]=   -2.13655;PhiROImax[1][21][ 3]=	-2.05387;
-     EtaROImin[1][21][ 4]=   0.200823;EtaROImax[1][21][ 4]=   0.248155;PhiROImin[1][21][ 4]=   -2.04983;PhiROImax[1][21][ 4]=	-1.96627;
-     EtaROImin[1][21][ 5]=   0.251292;EtaROImax[1][21][ 5]=   0.322732;PhiROImin[1][21][ 5]=   -2.04983;PhiROImax[1][21][ 5]=	-1.96627;
-     EtaROImin[1][21][ 6]=   0.200823;EtaROImax[1][21][ 6]=   0.248155;PhiROImin[1][21][ 6]=   -2.13573;PhiROImax[1][21][ 6]=	-2.05344;
-     EtaROImin[1][21][ 7]=   0.251292;EtaROImax[1][21][ 7]=   0.322732;PhiROImin[1][21][ 7]=   -2.13573;PhiROImax[1][21][ 7]=	-2.05344;
-     EtaROImin[1][21][ 8]=   0.362484;EtaROImax[1][21][ 8]=   0.441017;PhiROImin[1][21][ 8]=   -2.04536;PhiROImax[1][21][ 8]=	-1.96564;
-     EtaROImin[1][21][ 9]=   0.439011;EtaROImax[1][21][ 9]=    0.51487;PhiROImin[1][21][ 9]=   -2.04536;PhiROImax[1][21][ 9]=	-1.96564;
-     EtaROImin[1][21][10]=   0.362484;EtaROImax[1][21][10]=   0.441017;PhiROImin[1][21][10]=   -2.12657;PhiROImax[1][21][10]=	-2.04792;
-     EtaROImin[1][21][11]=   0.439011;EtaROImax[1][21][11]=    0.51487;PhiROImin[1][21][11]=   -2.12657;PhiROImax[1][21][11]=	-2.04792;
-     EtaROImin[1][21][12]=   0.470878;EtaROImax[1][21][12]=   0.569141;PhiROImin[1][21][12]=   -2.05024;PhiROImax[1][21][12]=	-1.96629;
-     EtaROImin[1][21][13]=   0.566067;EtaROImax[1][21][13]=   0.659332;PhiROImin[1][21][13]=   -2.05024;PhiROImax[1][21][13]=	-1.96629;
-     EtaROImin[1][21][14]=   0.470878;EtaROImax[1][21][14]=   0.569141;PhiROImin[1][21][14]=   -2.13655;PhiROImax[1][21][14]=	-2.05387;
-     EtaROImin[1][21][15]=   0.566067;EtaROImax[1][21][15]=   0.659332;PhiROImin[1][21][15]=   -2.13655;PhiROImax[1][21][15]=	-2.05387;
-     EtaROImin[1][21][16]=   0.622205;EtaROImax[1][21][16]=   0.674155;PhiROImin[1][21][16]=   -2.04536;PhiROImax[1][21][16]=	-1.96564;
-     EtaROImin[1][21][17]=   0.671529;EtaROImax[1][21][17]=    0.72184;PhiROImin[1][21][17]=   -2.04536;PhiROImax[1][21][17]=	-1.96564;
-     EtaROImin[1][21][18]=   0.622205;EtaROImax[1][21][18]=   0.674155;PhiROImin[1][21][18]=   -2.12657;PhiROImax[1][21][18]=	-2.04792;
-     EtaROImin[1][21][19]=   0.671529;EtaROImax[1][21][19]=    0.72184;PhiROImin[1][21][19]=   -2.12657;PhiROImax[1][21][19]=	-2.04792;
-     EtaROImin[1][21][20]=   0.744499;EtaROImax[1][21][20]=   0.831846;PhiROImin[1][21][20]=   -2.04536;PhiROImax[1][21][20]=	-1.96564;
-     EtaROImin[1][21][21]=   0.833797;EtaROImax[1][21][21]=   0.893028;PhiROImin[1][21][21]=   -2.04536;PhiROImax[1][21][21]=	-1.96564;
-     EtaROImin[1][21][22]=   0.744499;EtaROImax[1][21][22]=   0.831846;PhiROImin[1][21][22]=   -2.12657;PhiROImax[1][21][22]=	-2.04792;
-     EtaROImin[1][21][23]=   0.833797;EtaROImax[1][21][23]=   0.893028;PhiROImin[1][21][23]=   -2.12657;PhiROImax[1][21][23]=	-2.04792;
-     EtaROImin[1][21][24]=   0.788882;EtaROImax[1][21][24]=   0.850339;PhiROImin[1][21][24]=   -2.05024;PhiROImax[1][21][24]=	-1.96629;
-     EtaROImin[1][21][25]=   0.846464;EtaROImax[1][21][25]=   0.905303;PhiROImin[1][21][25]=   -2.05024;PhiROImax[1][21][25]=	-1.96629;
-     EtaROImin[1][21][26]=   0.788882;EtaROImax[1][21][26]=   0.850339;PhiROImin[1][21][26]=   -2.13655;PhiROImax[1][21][26]=	-2.05387;
-     EtaROImin[1][21][27]=   0.846464;EtaROImax[1][21][27]=   0.905303;PhiROImin[1][21][27]=   -2.13655;PhiROImax[1][21][27]=	-2.05387;
-     EtaROImin[1][21][28]=   0.911293;EtaROImax[1][21][28]=   0.938699;PhiROImin[1][21][28]=   -2.03358;PhiROImax[1][21][28]=	-1.98444;
-     EtaROImin[1][21][29]=   0.940507;EtaROImax[1][21][29]=    0.98143;PhiROImin[1][21][29]=   -2.03358;PhiROImax[1][21][29]=	-1.98444;
-     EtaROImin[1][21][30]=   0.911293;EtaROImax[1][21][30]=   0.938699;PhiROImin[1][21][30]=   -2.12127;PhiROImax[1][21][30]=	-2.03635;
-     EtaROImin[1][21][31]=   0.940507;EtaROImax[1][21][31]=    0.98143;PhiROImin[1][21][31]=   -2.12127;PhiROImax[1][21][31]=	-2.03635;
-     EtaROImin[1][22][ 0]=   0.155043;EtaROImax[1][22][ 0]=   0.203032;PhiROImin[1][22][ 0]=   -1.96071;PhiROImax[1][22][ 0]=	-1.87675;
-     EtaROImin[1][22][ 1]=  0.0775634;EtaROImax[1][22][ 1]=    0.15183;PhiROImin[1][22][ 1]=   -1.96071;PhiROImax[1][22][ 1]=	-1.87675;
-     EtaROImin[1][22][ 2]=   0.155043;EtaROImax[1][22][ 2]=   0.203032;PhiROImin[1][22][ 2]=   -1.87312;PhiROImax[1][22][ 2]=	-1.79045;
-     EtaROImin[1][22][ 3]=  0.0775634;EtaROImax[1][22][ 3]=    0.15183;PhiROImin[1][22][ 3]=   -1.87312;PhiROImax[1][22][ 3]=	-1.79045;
-     EtaROImin[1][22][ 4]=   0.276301;EtaROImax[1][22][ 4]=   0.322732;PhiROImin[1][22][ 4]=   -1.96072;PhiROImax[1][22][ 4]=	-1.87716;
-     EtaROImin[1][22][ 5]=   0.200823;EtaROImax[1][22][ 5]=   0.273184;PhiROImin[1][22][ 5]=   -1.96072;PhiROImax[1][22][ 5]=	-1.87716;
-     EtaROImin[1][22][ 6]=   0.276301;EtaROImax[1][22][ 6]=   0.322732;PhiROImin[1][22][ 6]=   -1.87355;PhiROImax[1][22][ 6]=	-1.79126;
-     EtaROImin[1][22][ 7]=   0.200823;EtaROImax[1][22][ 7]=   0.273184;PhiROImin[1][22][ 7]=   -1.87355;PhiROImax[1][22][ 7]=	-1.79126;
-     EtaROImin[1][22][ 8]=   0.439011;EtaROImax[1][22][ 8]=    0.51487;PhiROImin[1][22][ 8]=   -1.96135;PhiROImax[1][22][ 8]=	-1.88163;
-     EtaROImin[1][22][ 9]=   0.362484;EtaROImax[1][22][ 9]=   0.441017;PhiROImin[1][22][ 9]=   -1.96135;PhiROImax[1][22][ 9]=	-1.88163;
-     EtaROImin[1][22][10]=   0.439011;EtaROImax[1][22][10]=    0.51487;PhiROImin[1][22][10]=   -1.87907;PhiROImax[1][22][10]=	-1.80042;
-     EtaROImin[1][22][11]=   0.362484;EtaROImax[1][22][11]=   0.441017;PhiROImin[1][22][11]=   -1.87907;PhiROImax[1][22][11]=	-1.80042;
-     EtaROImin[1][22][12]=   0.566067;EtaROImax[1][22][12]=   0.659332;PhiROImin[1][22][12]=   -1.96071;PhiROImax[1][22][12]=	-1.87675;
-     EtaROImin[1][22][13]=   0.470878;EtaROImax[1][22][13]=   0.569141;PhiROImin[1][22][13]=   -1.96071;PhiROImax[1][22][13]=	-1.87675;
-     EtaROImin[1][22][14]=   0.566067;EtaROImax[1][22][14]=   0.659332;PhiROImin[1][22][14]=   -1.87312;PhiROImax[1][22][14]=	-1.79045;
-     EtaROImin[1][22][15]=   0.470878;EtaROImax[1][22][15]=   0.569141;PhiROImin[1][22][15]=   -1.87312;PhiROImax[1][22][15]=	-1.79045;
-     EtaROImin[1][22][16]=   0.671529;EtaROImax[1][22][16]=    0.72184;PhiROImin[1][22][16]=   -1.96135;PhiROImax[1][22][16]=	-1.88163;
-     EtaROImin[1][22][17]=   0.622205;EtaROImax[1][22][17]=   0.674155;PhiROImin[1][22][17]=   -1.96135;PhiROImax[1][22][17]=	-1.88163;
-     EtaROImin[1][22][18]=   0.671529;EtaROImax[1][22][18]=    0.72184;PhiROImin[1][22][18]=   -1.87907;PhiROImax[1][22][18]=	-1.80042;
-     EtaROImin[1][22][19]=   0.622205;EtaROImax[1][22][19]=   0.674155;PhiROImin[1][22][19]=   -1.87907;PhiROImax[1][22][19]=	-1.80042;
-     EtaROImin[1][22][20]=   0.833797;EtaROImax[1][22][20]=   0.893028;PhiROImin[1][22][20]=   -1.96135;PhiROImax[1][22][20]=	-1.88163;
-     EtaROImin[1][22][21]=   0.744499;EtaROImax[1][22][21]=   0.831846;PhiROImin[1][22][21]=   -1.96135;PhiROImax[1][22][21]=	-1.88163;
-     EtaROImin[1][22][22]=   0.833797;EtaROImax[1][22][22]=   0.893028;PhiROImin[1][22][22]=   -1.87907;PhiROImax[1][22][22]=	-1.80042;
-     EtaROImin[1][22][23]=   0.744499;EtaROImax[1][22][23]=   0.831846;PhiROImin[1][22][23]=   -1.87907;PhiROImax[1][22][23]=	-1.80042;
-     EtaROImin[1][22][24]=   0.846464;EtaROImax[1][22][24]=   0.905303;PhiROImin[1][22][24]=   -1.96071;PhiROImax[1][22][24]=	-1.87675;
-     EtaROImin[1][22][25]=   0.788882;EtaROImax[1][22][25]=   0.850339;PhiROImin[1][22][25]=   -1.96071;PhiROImax[1][22][25]=	-1.87675;
-     EtaROImin[1][22][26]=   0.846464;EtaROImax[1][22][26]=   0.905303;PhiROImin[1][22][26]=   -1.87312;PhiROImax[1][22][26]=	-1.79045;
-     EtaROImin[1][22][27]=   0.788882;EtaROImax[1][22][27]=   0.850339;PhiROImin[1][22][27]=   -1.87312;PhiROImax[1][22][27]=	-1.79045;
-     EtaROImin[1][22][28]=   0.957137;EtaROImax[1][22][28]=   0.983719;PhiROImin[1][22][28]=   -1.97686;PhiROImax[1][22][28]=	-1.89087;
-     EtaROImin[1][22][29]=   0.913486;EtaROImax[1][22][29]=   0.955345;PhiROImin[1][22][29]=   -1.97686;PhiROImax[1][22][29]=	-1.89087;
-     EtaROImin[1][22][30]=   0.957137;EtaROImax[1][22][30]=   0.983719;PhiROImin[1][22][30]=   -1.98444;PhiROImax[1][22][30]=	-1.88811;
-     EtaROImin[1][22][31]=   0.913486;EtaROImax[1][22][31]=   0.955345;PhiROImin[1][22][31]=   -1.98444;PhiROImax[1][22][31]=	-1.88811;
-     EtaROImin[1][23][ 0]=  0.0552456;EtaROImax[1][23][ 0]=   0.147216;PhiROImin[1][23][ 0]=   -1.68341;PhiROImax[1][23][ 0]=	-1.57375;
-     EtaROImin[1][23][ 1]=    0.14708;EtaROImax[1][23][ 1]=   0.238313;PhiROImin[1][23][ 1]=   -1.68341;PhiROImax[1][23][ 1]=	-1.57375;
-     EtaROImin[1][23][ 2]=  0.0552456;EtaROImax[1][23][ 2]=   0.147216;PhiROImin[1][23][ 2]=   -1.79381;PhiROImax[1][23][ 2]=	-1.68692;
-     EtaROImin[1][23][ 3]=    0.14708;EtaROImax[1][23][ 3]=   0.238313;PhiROImin[1][23][ 3]=   -1.79381;PhiROImax[1][23][ 3]=	-1.68692;
-     EtaROImin[1][23][ 4]=   0.246207;EtaROImax[1][23][ 4]=    0.35049;PhiROImin[1][23][ 4]=   -1.68341;PhiROImax[1][23][ 4]=	-1.57375;
-     EtaROImin[1][23][ 5]=   0.350831;EtaROImax[1][23][ 5]=   0.452099;PhiROImin[1][23][ 5]=   -1.68341;PhiROImax[1][23][ 5]=	-1.57375;
-     EtaROImin[1][23][ 6]=   0.246207;EtaROImax[1][23][ 6]=    0.35049;PhiROImin[1][23][ 6]=   -1.79381;PhiROImax[1][23][ 6]=	-1.68692;
-     EtaROImin[1][23][ 7]=   0.350831;EtaROImax[1][23][ 7]=   0.452099;PhiROImin[1][23][ 7]=   -1.79381;PhiROImax[1][23][ 7]=	-1.68692;
-     EtaROImin[1][23][ 8]=   0.458091;EtaROImax[1][23][ 8]=   0.554444;PhiROImin[1][23][ 8]=   -1.68341;PhiROImax[1][23][ 8]=	-1.57375;
-     EtaROImin[1][23][ 9]=   0.555789;EtaROImax[1][23][ 9]=   0.648101;PhiROImin[1][23][ 9]=   -1.68341;PhiROImax[1][23][ 9]=	-1.57375;
-     EtaROImin[1][23][10]=   0.458091;EtaROImax[1][23][10]=   0.554444;PhiROImin[1][23][10]=   -1.79381;PhiROImax[1][23][10]=	-1.68692;
-     EtaROImin[1][23][11]=   0.555789;EtaROImax[1][23][11]=   0.648101;PhiROImin[1][23][11]=   -1.79381;PhiROImax[1][23][11]=	-1.68692;
-     EtaROImin[1][23][12]=   0.677222;EtaROImax[1][23][12]=   0.720119;PhiROImin[1][23][12]=   -1.62692;PhiROImax[1][23][12]=	 -1.5708;
-     EtaROImin[1][23][13]=    0.72294;EtaROImax[1][23][13]=   0.786462;PhiROImin[1][23][13]=   -1.62692;PhiROImax[1][23][13]=	 -1.5708;
-     EtaROImin[1][23][14]=   0.677222;EtaROImax[1][23][14]=   0.720119;PhiROImin[1][23][14]=   -1.69744;PhiROImax[1][23][14]=	-1.63046;
-     EtaROImin[1][23][15]=    0.72294;EtaROImax[1][23][15]=   0.786462;PhiROImin[1][23][15]=   -1.69744;PhiROImax[1][23][15]=	-1.63046;
-     EtaROImin[1][23][16]=   0.783867;EtaROImax[1][23][16]=    0.82768;PhiROImin[1][23][16]=   -1.68401;PhiROImax[1][23][16]=	-1.57376;
-     EtaROImin[1][23][17]=   0.830556;EtaROImax[1][23][17]=   0.895163;PhiROImin[1][23][17]=   -1.68401;PhiROImax[1][23][17]=	-1.57376;
-     EtaROImin[1][23][18]=   0.783867;EtaROImax[1][23][18]=    0.82768;PhiROImin[1][23][18]=   -1.79497;PhiROImax[1][23][18]=	-1.68753;
-     EtaROImin[1][23][19]=   0.830556;EtaROImax[1][23][19]=   0.895163;PhiROImin[1][23][19]=   -1.79497;PhiROImax[1][23][19]=	-1.68753;
-     EtaROImin[1][23][20]=   0.898201;EtaROImax[1][23][20]=   0.961344;PhiROImin[1][23][20]=   -1.68341;PhiROImax[1][23][20]=	-1.57375;
-     EtaROImin[1][23][21]=   0.964674;EtaROImax[1][23][21]=    1.02514;PhiROImin[1][23][21]=   -1.68341;PhiROImax[1][23][21]=	-1.57375;
-     EtaROImin[1][23][22]=   0.898201;EtaROImax[1][23][22]=   0.961344;PhiROImin[1][23][22]=   -1.79381;PhiROImax[1][23][22]=	-1.68692;
-     EtaROImin[1][23][23]=   0.964674;EtaROImax[1][23][23]=    1.02514;PhiROImin[1][23][23]=   -1.79381;PhiROImax[1][23][23]=	-1.68692;
-     EtaROImin[1][23][24]=    1.03003;EtaROImax[1][23][24]=    1.06547;PhiROImin[1][23][24]=   -1.68423;PhiROImax[1][23][24]=	-1.57387;
-     EtaROImin[1][23][25]=	    0;EtaROImax[1][23][25]=	     0;PhiROImin[1][23][25]=	      0;PhiROImax[1][23][25]=	       0;
-     EtaROImin[1][23][26]=    1.03003;EtaROImax[1][23][26]=    1.06547;PhiROImin[1][23][26]=   -1.76794;PhiROImax[1][23][26]=	-1.68775;
-     EtaROImin[1][23][27]=	    0;EtaROImax[1][23][27]=	     0;PhiROImin[1][23][27]=	      0;PhiROImax[1][23][27]=	       0;
-     EtaROImin[1][23][28]=	    0;EtaROImax[1][23][28]=	     0;PhiROImin[1][23][28]=	      0;PhiROImax[1][23][28]=	       0;
-     EtaROImin[1][23][29]=	    0;EtaROImax[1][23][29]=	     0;PhiROImin[1][23][29]=	      0;PhiROImax[1][23][29]=	       0;
-     EtaROImin[1][23][30]=	    0;EtaROImax[1][23][30]=	     0;PhiROImin[1][23][30]=	      0;PhiROImax[1][23][30]=	       0;
-     EtaROImin[1][23][31]=	    0;EtaROImax[1][23][31]=	     0;PhiROImin[1][23][31]=	      0;PhiROImax[1][23][31]=	       0;
-     EtaROImin[1][24][ 0]=    0.14708;EtaROImax[1][24][ 0]=   0.238313;PhiROImin[1][24][ 0]=   -1.56784;PhiROImax[1][24][ 0]=	-1.45818;
-     EtaROImin[1][24][ 1]=  0.0552456;EtaROImax[1][24][ 1]=   0.147216;PhiROImin[1][24][ 1]=   -1.56784;PhiROImax[1][24][ 1]=	-1.45818;
-     EtaROImin[1][24][ 2]=    0.14708;EtaROImax[1][24][ 2]=   0.238313;PhiROImin[1][24][ 2]=   -1.45468;PhiROImax[1][24][ 2]=	-1.34779;
-     EtaROImin[1][24][ 3]=  0.0552456;EtaROImax[1][24][ 3]=   0.147216;PhiROImin[1][24][ 3]=   -1.45468;PhiROImax[1][24][ 3]=	-1.34779;
-     EtaROImin[1][24][ 4]=   0.350831;EtaROImax[1][24][ 4]=   0.452099;PhiROImin[1][24][ 4]=   -1.56784;PhiROImax[1][24][ 4]=	-1.45818;
-     EtaROImin[1][24][ 5]=   0.246207;EtaROImax[1][24][ 5]=    0.35049;PhiROImin[1][24][ 5]=   -1.56784;PhiROImax[1][24][ 5]=	-1.45818;
-     EtaROImin[1][24][ 6]=   0.350831;EtaROImax[1][24][ 6]=   0.452099;PhiROImin[1][24][ 6]=   -1.45468;PhiROImax[1][24][ 6]=	-1.34779;
-     EtaROImin[1][24][ 7]=   0.246207;EtaROImax[1][24][ 7]=    0.35049;PhiROImin[1][24][ 7]=   -1.45468;PhiROImax[1][24][ 7]=	-1.34779;
-     EtaROImin[1][24][ 8]=   0.555789;EtaROImax[1][24][ 8]=   0.648101;PhiROImin[1][24][ 8]=   -1.56784;PhiROImax[1][24][ 8]=	-1.45818;
-     EtaROImin[1][24][ 9]=   0.458091;EtaROImax[1][24][ 9]=   0.554444;PhiROImin[1][24][ 9]=   -1.56784;PhiROImax[1][24][ 9]=	-1.45818;
-     EtaROImin[1][24][10]=   0.555789;EtaROImax[1][24][10]=   0.648101;PhiROImin[1][24][10]=   -1.45468;PhiROImax[1][24][10]=	-1.34779;
-     EtaROImin[1][24][11]=   0.458091;EtaROImax[1][24][11]=   0.554444;PhiROImin[1][24][11]=   -1.45468;PhiROImax[1][24][11]=	-1.34779;
-     EtaROImin[1][24][12]=   0.745327;EtaROImax[1][24][12]=   0.786462;PhiROImin[1][24][12]=   -1.56798;PhiROImax[1][24][12]=	 -1.5005;
-     EtaROImin[1][24][13]=   0.677222;EtaROImax[1][24][13]=   0.742545;PhiROImin[1][24][13]=   -1.56798;PhiROImax[1][24][13]=	 -1.5005;
-     EtaROImin[1][24][14]=   0.745327;EtaROImax[1][24][14]=   0.786462;PhiROImin[1][24][14]=	-1.5708;PhiROImax[1][24][14]=	-1.49696;
-     EtaROImin[1][24][15]=   0.677222;EtaROImax[1][24][15]=   0.742545;PhiROImin[1][24][15]=	-1.5708;PhiROImax[1][24][15]=	-1.49696;
-     EtaROImin[1][24][16]=   0.853359;EtaROImax[1][24][16]=   0.895163;PhiROImin[1][24][16]=   -1.56783;PhiROImax[1][24][16]=	-1.45758;
-     EtaROImin[1][24][17]=   0.783867;EtaROImax[1][24][17]=   0.850528;PhiROImin[1][24][17]=   -1.56783;PhiROImax[1][24][17]=	-1.45758;
-     EtaROImin[1][24][18]=   0.853359;EtaROImax[1][24][18]=   0.895163;PhiROImin[1][24][18]=   -1.45406;PhiROImax[1][24][18]=	-1.34663;
-     EtaROImin[1][24][19]=   0.783867;EtaROImax[1][24][19]=   0.850528;PhiROImin[1][24][19]=   -1.45406;PhiROImax[1][24][19]=	-1.34663;
-     EtaROImin[1][24][20]=   0.964674;EtaROImax[1][24][20]=    1.02514;PhiROImin[1][24][20]=   -1.56784;PhiROImax[1][24][20]=	-1.45818;
-     EtaROImin[1][24][21]=   0.898201;EtaROImax[1][24][21]=   0.961344;PhiROImin[1][24][21]=   -1.56784;PhiROImax[1][24][21]=	-1.45818;
-     EtaROImin[1][24][22]=   0.964674;EtaROImax[1][24][22]=    1.02514;PhiROImin[1][24][22]=   -1.45468;PhiROImax[1][24][22]=	-1.34779;
-     EtaROImin[1][24][23]=   0.898201;EtaROImax[1][24][23]=   0.961344;PhiROImin[1][24][23]=   -1.45468;PhiROImax[1][24][23]=	-1.34779;
-     EtaROImin[1][24][24]=	    0;EtaROImax[1][24][24]=	     0;PhiROImin[1][24][24]=	      0;PhiROImax[1][24][24]=	       0;
-     EtaROImin[1][24][25]=    1.03003;EtaROImax[1][24][25]=    1.06547;PhiROImin[1][24][25]=   -1.56773;PhiROImax[1][24][25]=	-1.45737;
-     EtaROImin[1][24][26]=	    0;EtaROImax[1][24][26]=	     0;PhiROImin[1][24][26]=	      0;PhiROImax[1][24][26]=	       0;
-     EtaROImin[1][24][27]=    1.03003;EtaROImax[1][24][27]=    1.06547;PhiROImin[1][24][27]=   -1.45384;PhiROImax[1][24][27]=	-1.37365;
-     EtaROImin[1][24][28]=	    0;EtaROImax[1][24][28]=	     0;PhiROImin[1][24][28]=	      0;PhiROImax[1][24][28]=	       0;
-     EtaROImin[1][24][29]=	    0;EtaROImax[1][24][29]=	     0;PhiROImin[1][24][29]=	      0;PhiROImax[1][24][29]=	       0;
-     EtaROImin[1][24][30]=	    0;EtaROImax[1][24][30]=	     0;PhiROImin[1][24][30]=	      0;PhiROImax[1][24][30]=	       0;
-     EtaROImin[1][24][31]=	    0;EtaROImax[1][24][31]=	     0;PhiROImin[1][24][31]=	      0;PhiROImax[1][24][31]=	       0;
-     EtaROImin[1][25][ 0]=  0.0775634;EtaROImax[1][25][ 0]=   0.126072;PhiROImin[1][25][ 0]=   -1.26484;PhiROImax[1][25][ 0]=	-1.18089;
-     EtaROImin[1][25][ 1]=   0.129296;EtaROImax[1][25][ 1]=   0.203032;PhiROImin[1][25][ 1]=   -1.26484;PhiROImax[1][25][ 1]=	-1.18089;
-     EtaROImin[1][25][ 2]=  0.0775634;EtaROImax[1][25][ 2]=   0.126072;PhiROImin[1][25][ 2]=   -1.35115;PhiROImax[1][25][ 2]=	-1.26847;
-     EtaROImin[1][25][ 3]=   0.129296;EtaROImax[1][25][ 3]=   0.203032;PhiROImin[1][25][ 3]=   -1.35115;PhiROImax[1][25][ 3]=	-1.26847;
-     EtaROImin[1][25][ 4]=   0.200823;EtaROImax[1][25][ 4]=   0.248155;PhiROImin[1][25][ 4]=   -1.26443;PhiROImax[1][25][ 4]=	-1.18087;
-     EtaROImin[1][25][ 5]=   0.251292;EtaROImax[1][25][ 5]=   0.322732;PhiROImin[1][25][ 5]=   -1.26443;PhiROImax[1][25][ 5]=	-1.18087;
-     EtaROImin[1][25][ 6]=   0.200823;EtaROImax[1][25][ 6]=   0.248155;PhiROImin[1][25][ 6]=   -1.35034;PhiROImax[1][25][ 6]=	-1.26804;
-     EtaROImin[1][25][ 7]=   0.251292;EtaROImax[1][25][ 7]=   0.322732;PhiROImin[1][25][ 7]=   -1.35034;PhiROImax[1][25][ 7]=	-1.26804;
-     EtaROImin[1][25][ 8]=   0.361231;EtaROImax[1][25][ 8]=   0.439522;PhiROImin[1][25][ 8]=   -1.25967;PhiROImax[1][25][ 8]=	-1.18023;
-     EtaROImin[1][25][ 9]=   0.440504;EtaROImax[1][25][ 9]=   0.516583;PhiROImin[1][25][ 9]=   -1.25967;PhiROImax[1][25][ 9]=	-1.18023;
-     EtaROImin[1][25][10]=   0.361231;EtaROImax[1][25][10]=   0.439522;PhiROImin[1][25][10]=   -1.34059;PhiROImax[1][25][10]=	-1.26222;
-     EtaROImin[1][25][11]=   0.440504;EtaROImax[1][25][11]=   0.516583;PhiROImin[1][25][11]=   -1.34059;PhiROImax[1][25][11]=	-1.26222;
-     EtaROImin[1][25][12]=   0.470878;EtaROImax[1][25][12]=   0.569141;PhiROImin[1][25][12]=   -1.26484;PhiROImax[1][25][12]=	-1.18089;
-     EtaROImin[1][25][13]=   0.566067;EtaROImax[1][25][13]=   0.659332;PhiROImin[1][25][13]=   -1.26484;PhiROImax[1][25][13]=	-1.18089;
-     EtaROImin[1][25][14]=   0.470878;EtaROImax[1][25][14]=   0.569141;PhiROImin[1][25][14]=   -1.35115;PhiROImax[1][25][14]=	-1.26847;
-     EtaROImin[1][25][15]=   0.566067;EtaROImax[1][25][15]=   0.659332;PhiROImin[1][25][15]=   -1.35115;PhiROImax[1][25][15]=	-1.26847;
-     EtaROImin[1][25][16]=   0.620212;EtaROImax[1][25][16]=   0.672035;PhiROImin[1][25][16]=   -1.25967;PhiROImax[1][25][16]=	-1.18023;
-     EtaROImin[1][25][17]=   0.673648;EtaROImax[1][25][17]=   0.724075;PhiROImin[1][25][17]=   -1.25967;PhiROImax[1][25][17]=	-1.18023;
-     EtaROImin[1][25][18]=   0.620212;EtaROImax[1][25][18]=   0.672035;PhiROImin[1][25][18]=   -1.34059;PhiROImax[1][25][18]=	-1.26222;
-     EtaROImin[1][25][19]=   0.673648;EtaROImax[1][25][19]=   0.724075;PhiROImin[1][25][19]=   -1.34059;PhiROImax[1][25][19]=	-1.26222;
-     EtaROImin[1][25][20]=   0.744499;EtaROImax[1][25][20]=   0.831846;PhiROImin[1][25][20]=   -1.25997;PhiROImax[1][25][20]=	-1.18024;
-     EtaROImin[1][25][21]=   0.833797;EtaROImax[1][25][21]=   0.893028;PhiROImin[1][25][21]=   -1.25997;PhiROImax[1][25][21]=	-1.18024;
-     EtaROImin[1][25][22]=   0.744499;EtaROImax[1][25][22]=   0.831846;PhiROImin[1][25][22]=   -1.34117;PhiROImax[1][25][22]=	-1.26253;
-     EtaROImin[1][25][23]=   0.833797;EtaROImax[1][25][23]=   0.893028;PhiROImin[1][25][23]=   -1.34117;PhiROImax[1][25][23]=	-1.26253;
-     EtaROImin[1][25][24]=   0.788882;EtaROImax[1][25][24]=   0.850339;PhiROImin[1][25][24]=   -1.26484;PhiROImax[1][25][24]=	-1.18089;
-     EtaROImin[1][25][25]=   0.846464;EtaROImax[1][25][25]=   0.905303;PhiROImin[1][25][25]=   -1.26484;PhiROImax[1][25][25]=	-1.18089;
-     EtaROImin[1][25][26]=   0.788882;EtaROImax[1][25][26]=   0.850339;PhiROImin[1][25][26]=   -1.35115;PhiROImax[1][25][26]=	-1.26847;
-     EtaROImin[1][25][27]=   0.846464;EtaROImax[1][25][27]=   0.905303;PhiROImin[1][25][27]=   -1.35115;PhiROImax[1][25][27]=	-1.26847;
-     EtaROImin[1][25][28]=   0.914143;EtaROImax[1][25][28]=	0.9416;PhiROImin[1][25][28]=   -1.20642;PhiROImax[1][25][28]=	-1.15713;
-     EtaROImin[1][25][29]=   0.943411;EtaROImax[1][25][29]=   0.984405;PhiROImin[1][25][29]=   -1.20642;PhiROImax[1][25][29]=	-1.15713;
-     EtaROImin[1][25][30]=   0.914143;EtaROImax[1][25][30]=	0.9416;PhiROImin[1][25][30]=   -1.29487;PhiROImax[1][25][30]=	 -1.2092;
-     EtaROImin[1][25][31]=   0.943411;EtaROImax[1][25][31]=   0.984405;PhiROImin[1][25][31]=   -1.29487;PhiROImax[1][25][31]=	 -1.2092;
-     EtaROImin[1][26][ 0]=   0.155043;EtaROImax[1][26][ 0]=   0.203032;PhiROImin[1][26][ 0]=   -1.17531;PhiROImax[1][26][ 0]=	-1.09135;
-     EtaROImin[1][26][ 1]=  0.0775634;EtaROImax[1][26][ 1]=    0.15183;PhiROImin[1][26][ 1]=   -1.17531;PhiROImax[1][26][ 1]=	-1.09135;
-     EtaROImin[1][26][ 2]=   0.155043;EtaROImax[1][26][ 2]=   0.203032;PhiROImin[1][26][ 2]=   -1.08772;PhiROImax[1][26][ 2]=	-1.00505;
-     EtaROImin[1][26][ 3]=  0.0775634;EtaROImax[1][26][ 3]=    0.15183;PhiROImin[1][26][ 3]=   -1.08772;PhiROImax[1][26][ 3]=	-1.00505;
-     EtaROImin[1][26][ 4]=   0.276301;EtaROImax[1][26][ 4]=   0.322732;PhiROImin[1][26][ 4]=   -1.17532;PhiROImax[1][26][ 4]=	-1.09176;
-     EtaROImin[1][26][ 5]=   0.200823;EtaROImax[1][26][ 5]=   0.273184;PhiROImin[1][26][ 5]=   -1.17532;PhiROImax[1][26][ 5]=	-1.09176;
-     EtaROImin[1][26][ 6]=   0.276301;EtaROImax[1][26][ 6]=   0.322732;PhiROImin[1][26][ 6]=   -1.08815;PhiROImax[1][26][ 6]=	-1.00586;
-     EtaROImin[1][26][ 7]=   0.200823;EtaROImax[1][26][ 7]=   0.273184;PhiROImin[1][26][ 7]=   -1.08815;PhiROImax[1][26][ 7]=	-1.00586;
-     EtaROImin[1][26][ 8]=   0.440504;EtaROImax[1][26][ 8]=   0.516583;PhiROImin[1][26][ 8]=   -1.17596;PhiROImax[1][26][ 8]=	-1.09652;
-     EtaROImin[1][26][ 9]=   0.361231;EtaROImax[1][26][ 9]=   0.439522;PhiROImin[1][26][ 9]=   -1.17596;PhiROImax[1][26][ 9]=	-1.09652;
-     EtaROImin[1][26][10]=   0.440504;EtaROImax[1][26][10]=   0.516583;PhiROImin[1][26][10]=   -1.09397;PhiROImax[1][26][10]=	 -1.0156;
-     EtaROImin[1][26][11]=   0.361231;EtaROImax[1][26][11]=   0.439522;PhiROImin[1][26][11]=   -1.09397;PhiROImax[1][26][11]=	 -1.0156;
-     EtaROImin[1][26][12]=   0.566067;EtaROImax[1][26][12]=   0.659332;PhiROImin[1][26][12]=   -1.17531;PhiROImax[1][26][12]=	-1.09135;
-     EtaROImin[1][26][13]=   0.470878;EtaROImax[1][26][13]=   0.569141;PhiROImin[1][26][13]=   -1.17531;PhiROImax[1][26][13]=	-1.09135;
-     EtaROImin[1][26][14]=   0.566067;EtaROImax[1][26][14]=   0.659332;PhiROImin[1][26][14]=   -1.08772;PhiROImax[1][26][14]=	-1.00505;
-     EtaROImin[1][26][15]=   0.470878;EtaROImax[1][26][15]=   0.569141;PhiROImin[1][26][15]=   -1.08772;PhiROImax[1][26][15]=	-1.00505;
-     EtaROImin[1][26][16]=   0.673648;EtaROImax[1][26][16]=   0.724075;PhiROImin[1][26][16]=   -1.17596;PhiROImax[1][26][16]=	-1.09652;
-     EtaROImin[1][26][17]=   0.620212;EtaROImax[1][26][17]=   0.672035;PhiROImin[1][26][17]=   -1.17596;PhiROImax[1][26][17]=	-1.09652;
-     EtaROImin[1][26][18]=   0.673648;EtaROImax[1][26][18]=   0.724075;PhiROImin[1][26][18]=   -1.09397;PhiROImax[1][26][18]=	 -1.0156;
-     EtaROImin[1][26][19]=   0.620212;EtaROImax[1][26][19]=   0.672035;PhiROImin[1][26][19]=   -1.09397;PhiROImax[1][26][19]=	 -1.0156;
-     EtaROImin[1][26][20]=   0.833797;EtaROImax[1][26][20]=   0.893028;PhiROImin[1][26][20]=   -1.17595;PhiROImax[1][26][20]=	-1.09623;
-     EtaROImin[1][26][21]=   0.744499;EtaROImax[1][26][21]=   0.831846;PhiROImin[1][26][21]=   -1.17595;PhiROImax[1][26][21]=	-1.09623;
-     EtaROImin[1][26][22]=   0.833797;EtaROImax[1][26][22]=   0.893028;PhiROImin[1][26][22]=   -1.09367;PhiROImax[1][26][22]=	-1.01502;
-     EtaROImin[1][26][23]=   0.744499;EtaROImax[1][26][23]=   0.831846;PhiROImin[1][26][23]=   -1.09367;PhiROImax[1][26][23]=	-1.01502;
-     EtaROImin[1][26][24]=   0.846464;EtaROImax[1][26][24]=   0.905303;PhiROImin[1][26][24]=   -1.17531;PhiROImax[1][26][24]=	-1.09135;
-     EtaROImin[1][26][25]=   0.788882;EtaROImax[1][26][25]=   0.850339;PhiROImin[1][26][25]=   -1.17531;PhiROImax[1][26][25]=	-1.09135;
-     EtaROImin[1][26][26]=   0.846464;EtaROImax[1][26][26]=   0.905303;PhiROImin[1][26][26]=   -1.08772;PhiROImax[1][26][26]=	-1.00505;
-     EtaROImin[1][26][27]=   0.788882;EtaROImax[1][26][27]=   0.850339;PhiROImin[1][26][27]=   -1.08772;PhiROImax[1][26][27]=	-1.00505;
-     EtaROImin[1][26][28]=   0.955553;EtaROImax[1][26][28]=    0.98211;PhiROImin[1][26][28]=   -1.14955;PhiROImax[1][26][28]=	-1.06384;
-     EtaROImin[1][26][29]=   0.911945;EtaROImax[1][26][29]=   0.953764;PhiROImin[1][26][29]=   -1.14955;PhiROImax[1][26][29]=	-1.06384;
-     EtaROImin[1][26][30]=   0.955553;EtaROImax[1][26][30]=    0.98211;PhiROImin[1][26][30]=   -1.15713;PhiROImax[1][26][30]=	 -1.0611;
-     EtaROImin[1][26][31]=   0.911945;EtaROImax[1][26][31]=   0.953764;PhiROImin[1][26][31]=   -1.15713;PhiROImax[1][26][31]=	 -1.0611;
-     EtaROImin[1][27][ 0]=  0.0874905;EtaROImax[1][27][ 0]=   0.145912;PhiROImin[1][27][ 0]=   -0.89861;PhiROImax[1][27][ 0]=  -0.788366;
-     EtaROImin[1][27][ 1]=   0.149792;EtaROImax[1][27][ 1]=   0.238294;PhiROImin[1][27][ 1]=   -0.89861;PhiROImax[1][27][ 1]=  -0.788366;
-     EtaROImin[1][27][ 2]=  0.0874905;EtaROImax[1][27][ 2]=   0.145912;PhiROImin[1][27][ 2]=   -1.00957;PhiROImax[1][27][ 2]=  -0.902135;
-     EtaROImin[1][27][ 3]=   0.149792;EtaROImax[1][27][ 3]=   0.238294;PhiROImin[1][27][ 3]=   -1.00957;PhiROImax[1][27][ 3]=  -0.902135;
-     EtaROImin[1][27][ 4]=   0.246207;EtaROImax[1][27][ 4]=    0.35049;PhiROImin[1][27][ 4]=  -0.898011;PhiROImax[1][27][ 4]=	-0.78835;
-     EtaROImin[1][27][ 5]=   0.350831;EtaROImax[1][27][ 5]=   0.452099;PhiROImin[1][27][ 5]=  -0.898011;PhiROImax[1][27][ 5]=	-0.78835;
-     EtaROImin[1][27][ 6]=   0.246207;EtaROImax[1][27][ 6]=    0.35049;PhiROImin[1][27][ 6]=   -1.00841;PhiROImax[1][27][ 6]=  -0.901517;
-     EtaROImin[1][27][ 7]=   0.350831;EtaROImax[1][27][ 7]=   0.452099;PhiROImin[1][27][ 7]=   -1.00841;PhiROImax[1][27][ 7]=  -0.901517;
-     EtaROImin[1][27][ 8]=   0.458091;EtaROImax[1][27][ 8]=   0.554444;PhiROImin[1][27][ 8]=  -0.898011;PhiROImax[1][27][ 8]=	-0.78835;
-     EtaROImin[1][27][ 9]=   0.555789;EtaROImax[1][27][ 9]=   0.648101;PhiROImin[1][27][ 9]=  -0.898011;PhiROImax[1][27][ 9]=	-0.78835;
-     EtaROImin[1][27][10]=   0.458091;EtaROImax[1][27][10]=   0.554444;PhiROImin[1][27][10]=   -1.00841;PhiROImax[1][27][10]=  -0.901517;
-     EtaROImin[1][27][11]=   0.555789;EtaROImax[1][27][11]=   0.648101;PhiROImin[1][27][11]=   -1.00841;PhiROImax[1][27][11]=  -0.901517;
-     EtaROImin[1][27][12]=   0.655857;EtaROImax[1][27][12]=   0.703298;PhiROImin[1][27][12]=   -0.89861;PhiROImax[1][27][12]=  -0.788366;
-     EtaROImin[1][27][13]=   0.706413;EtaROImax[1][27][13]=   0.776449;PhiROImin[1][27][13]=   -0.89861;PhiROImax[1][27][13]=  -0.788366;
-     EtaROImin[1][27][14]=   0.655857;EtaROImax[1][27][14]=   0.703298;PhiROImin[1][27][14]=   -1.00957;PhiROImax[1][27][14]=  -0.902135;
-     EtaROImin[1][27][15]=   0.706413;EtaROImax[1][27][15]=   0.776449;PhiROImin[1][27][15]=   -1.00957;PhiROImax[1][27][15]=  -0.902135;
-     EtaROImin[1][27][16]=   0.783867;EtaROImax[1][27][16]=    0.82768;PhiROImin[1][27][16]=   -0.89861;PhiROImax[1][27][16]=  -0.788366;
-     EtaROImin[1][27][17]=   0.830556;EtaROImax[1][27][17]=   0.895163;PhiROImin[1][27][17]=   -0.89861;PhiROImax[1][27][17]=  -0.788366;
-     EtaROImin[1][27][18]=   0.783867;EtaROImax[1][27][18]=    0.82768;PhiROImin[1][27][18]=   -1.00957;PhiROImax[1][27][18]=  -0.902135;
-     EtaROImin[1][27][19]=   0.830556;EtaROImax[1][27][19]=   0.895163;PhiROImin[1][27][19]=   -1.00957;PhiROImax[1][27][19]=  -0.902135;
-     EtaROImin[1][27][20]=   0.898201;EtaROImax[1][27][20]=   0.961344;PhiROImin[1][27][20]=  -0.898011;PhiROImax[1][27][20]=	-0.78835;
-     EtaROImin[1][27][21]=   0.964674;EtaROImax[1][27][21]=    1.02514;PhiROImin[1][27][21]=  -0.898011;PhiROImax[1][27][21]=	-0.78835;
-     EtaROImin[1][27][22]=   0.898201;EtaROImax[1][27][22]=   0.961344;PhiROImin[1][27][22]=   -1.00841;PhiROImax[1][27][22]=  -0.901517;
-     EtaROImin[1][27][23]=   0.964674;EtaROImax[1][27][23]=    1.02514;PhiROImin[1][27][23]=   -1.00841;PhiROImax[1][27][23]=  -0.901517;
-     EtaROImin[1][27][24]=    1.03003;EtaROImax[1][27][24]=    1.06547;PhiROImin[1][27][24]=  -0.898827;PhiROImax[1][27][24]=  -0.788467;
-     EtaROImin[1][27][25]=	    0;EtaROImax[1][27][25]=	     0;PhiROImin[1][27][25]=	      0;PhiROImax[1][27][25]=	       0;
-     EtaROImin[1][27][26]=    1.03003;EtaROImax[1][27][26]=    1.06547;PhiROImin[1][27][26]=  -0.982541;PhiROImax[1][27][26]=  -0.902356;
-     EtaROImin[1][27][27]=	    0;EtaROImax[1][27][27]=	     0;PhiROImin[1][27][27]=	      0;PhiROImax[1][27][27]=	       0;
-     EtaROImin[1][27][28]=	    0;EtaROImax[1][27][28]=	     0;PhiROImin[1][27][28]=	      0;PhiROImax[1][27][28]=	       0;
-     EtaROImin[1][27][29]=	    0;EtaROImax[1][27][29]=	     0;PhiROImin[1][27][29]=	      0;PhiROImax[1][27][29]=	       0;
-     EtaROImin[1][27][30]=	    0;EtaROImax[1][27][30]=	     0;PhiROImin[1][27][30]=	      0;PhiROImax[1][27][30]=	       0;
-     EtaROImin[1][27][31]=	    0;EtaROImax[1][27][31]=	     0;PhiROImin[1][27][31]=	      0;PhiROImax[1][27][31]=	       0;
-     EtaROImin[1][28][ 0]=   0.180742;EtaROImax[1][28][ 0]=   0.238294;PhiROImin[1][28][ 0]=   -0.78243;PhiROImax[1][28][ 0]=  -0.672186;
-     EtaROImin[1][28][ 1]=  0.0874905;EtaROImax[1][28][ 1]=   0.176882;PhiROImin[1][28][ 1]=   -0.78243;PhiROImax[1][28][ 1]=  -0.672186;
-     EtaROImin[1][28][ 2]=   0.180742;EtaROImax[1][28][ 2]=   0.238294;PhiROImin[1][28][ 2]=  -0.668661;PhiROImax[1][28][ 2]=  -0.561229;
-     EtaROImin[1][28][ 3]=  0.0874905;EtaROImax[1][28][ 3]=   0.176882;PhiROImin[1][28][ 3]=  -0.668661;PhiROImax[1][28][ 3]=  -0.561229;
-     EtaROImin[1][28][ 4]=   0.350831;EtaROImax[1][28][ 4]=   0.452099;PhiROImin[1][28][ 4]=  -0.782446;PhiROImax[1][28][ 4]=  -0.672786;
-     EtaROImin[1][28][ 5]=   0.246207;EtaROImax[1][28][ 5]=    0.35049;PhiROImin[1][28][ 5]=  -0.782446;PhiROImax[1][28][ 5]=  -0.672786;
-     EtaROImin[1][28][ 6]=   0.350831;EtaROImax[1][28][ 6]=   0.452099;PhiROImin[1][28][ 6]=  -0.669279;PhiROImax[1][28][ 6]=  -0.562387;
-     EtaROImin[1][28][ 7]=   0.246207;EtaROImax[1][28][ 7]=    0.35049;PhiROImin[1][28][ 7]=  -0.669279;PhiROImax[1][28][ 7]=  -0.562387;
-     EtaROImin[1][28][ 8]=   0.555789;EtaROImax[1][28][ 8]=   0.648101;PhiROImin[1][28][ 8]=  -0.782446;PhiROImax[1][28][ 8]=  -0.672786;
-     EtaROImin[1][28][ 9]=   0.458091;EtaROImax[1][28][ 9]=   0.554444;PhiROImin[1][28][ 9]=  -0.782446;PhiROImax[1][28][ 9]=  -0.672786;
-     EtaROImin[1][28][10]=   0.555789;EtaROImax[1][28][10]=   0.648101;PhiROImin[1][28][10]=  -0.669279;PhiROImax[1][28][10]=  -0.562387;
-     EtaROImin[1][28][11]=   0.458091;EtaROImax[1][28][11]=   0.554444;PhiROImin[1][28][11]=  -0.669279;PhiROImax[1][28][11]=  -0.562387;
-     EtaROImin[1][28][12]=   0.731124;EtaROImax[1][28][12]=   0.776449;PhiROImin[1][28][12]=   -0.78243;PhiROImax[1][28][12]=  -0.672186;
-     EtaROImin[1][28][13]=   0.655857;EtaROImax[1][28][13]=   0.728056;PhiROImin[1][28][13]=   -0.78243;PhiROImax[1][28][13]=  -0.672186;
-     EtaROImin[1][28][14]=   0.731124;EtaROImax[1][28][14]=   0.776449;PhiROImin[1][28][14]=  -0.668661;PhiROImax[1][28][14]=  -0.561229;
-     EtaROImin[1][28][15]=   0.655857;EtaROImax[1][28][15]=   0.728056;PhiROImin[1][28][15]=  -0.668661;PhiROImax[1][28][15]=  -0.561229;
-     EtaROImin[1][28][16]=   0.853359;EtaROImax[1][28][16]=   0.895163;PhiROImin[1][28][16]=   -0.78243;PhiROImax[1][28][16]=  -0.672186;
-     EtaROImin[1][28][17]=   0.783867;EtaROImax[1][28][17]=   0.850528;PhiROImin[1][28][17]=   -0.78243;PhiROImax[1][28][17]=  -0.672186;
-     EtaROImin[1][28][18]=   0.853359;EtaROImax[1][28][18]=   0.895163;PhiROImin[1][28][18]=  -0.668661;PhiROImax[1][28][18]=  -0.561229;
-     EtaROImin[1][28][19]=   0.783867;EtaROImax[1][28][19]=   0.850528;PhiROImin[1][28][19]=  -0.668661;PhiROImax[1][28][19]=  -0.561229;
-     EtaROImin[1][28][20]=   0.964674;EtaROImax[1][28][20]=    1.02514;PhiROImin[1][28][20]=  -0.782446;PhiROImax[1][28][20]=  -0.672786;
-     EtaROImin[1][28][21]=   0.898201;EtaROImax[1][28][21]=   0.961344;PhiROImin[1][28][21]=  -0.782446;PhiROImax[1][28][21]=  -0.672786;
-     EtaROImin[1][28][22]=   0.964674;EtaROImax[1][28][22]=    1.02514;PhiROImin[1][28][22]=  -0.669279;PhiROImax[1][28][22]=  -0.562387;
-     EtaROImin[1][28][23]=   0.898201;EtaROImax[1][28][23]=   0.961344;PhiROImin[1][28][23]=  -0.669279;PhiROImax[1][28][23]=  -0.562387;
-     EtaROImin[1][28][24]=	    0;EtaROImax[1][28][24]=	     0;PhiROImin[1][28][24]=	      0;PhiROImax[1][28][24]=	       0;
-     EtaROImin[1][28][25]=    1.03003;EtaROImax[1][28][25]=    1.06547;PhiROImin[1][28][25]=  -0.782329;PhiROImax[1][28][25]=  -0.671969;
-     EtaROImin[1][28][26]=	    0;EtaROImax[1][28][26]=	     0;PhiROImin[1][28][26]=	      0;PhiROImax[1][28][26]=	       0;
-     EtaROImin[1][28][27]=    1.03003;EtaROImax[1][28][27]=    1.06547;PhiROImin[1][28][27]=   -0.66844;PhiROImax[1][28][27]=  -0.588255;
-     EtaROImin[1][28][28]=	    0;EtaROImax[1][28][28]=	     0;PhiROImin[1][28][28]=	      0;PhiROImax[1][28][28]=	       0;
-     EtaROImin[1][28][29]=	    0;EtaROImax[1][28][29]=	     0;PhiROImin[1][28][29]=	      0;PhiROImax[1][28][29]=	       0;
-     EtaROImin[1][28][30]=	    0;EtaROImax[1][28][30]=	     0;PhiROImin[1][28][30]=	      0;PhiROImax[1][28][30]=	       0;
-     EtaROImin[1][28][31]=	    0;EtaROImax[1][28][31]=	     0;PhiROImin[1][28][31]=	      0;PhiROImax[1][28][31]=	       0;
-     EtaROImin[1][29][ 0]=  0.0208251;EtaROImax[1][29][ 0]=   0.118734;PhiROImin[1][29][ 0]=  -0.479445;PhiROImax[1][29][ 0]=  -0.395489;
-     EtaROImin[1][29][ 1]=   0.116816;EtaROImax[1][29][ 1]=   0.213185;PhiROImin[1][29][ 1]=  -0.479445;PhiROImax[1][29][ 1]=  -0.395489;
-     EtaROImin[1][29][ 2]=  0.0208251;EtaROImax[1][29][ 2]=   0.118734;PhiROImin[1][29][ 2]=  -0.565749;PhiROImax[1][29][ 2]=  -0.483076;
-     EtaROImin[1][29][ 3]=   0.116816;EtaROImax[1][29][ 3]=   0.213185;PhiROImin[1][29][ 3]=  -0.565749;PhiROImax[1][29][ 3]=  -0.483076;
-     EtaROImin[1][29][ 4]=   0.222449;EtaROImax[1][29][ 4]=   0.302928;PhiROImin[1][29][ 4]=  -0.479445;PhiROImax[1][29][ 4]=  -0.395489;
-     EtaROImin[1][29][ 5]=    0.30075;EtaROImax[1][29][ 5]=   0.416721;PhiROImin[1][29][ 5]=  -0.479445;PhiROImax[1][29][ 5]=  -0.395489;
-     EtaROImin[1][29][ 6]=   0.222449;EtaROImax[1][29][ 6]=   0.302928;PhiROImin[1][29][ 6]=  -0.565749;PhiROImax[1][29][ 6]=  -0.483076;
-     EtaROImin[1][29][ 7]=    0.30075;EtaROImax[1][29][ 7]=   0.416721;PhiROImin[1][29][ 7]=  -0.565749;PhiROImax[1][29][ 7]=  -0.483076;
-     EtaROImin[1][29][ 8]=    0.42967;EtaROImax[1][29][ 8]=   0.504617;PhiROImin[1][29][ 8]=  -0.479445;PhiROImax[1][29][ 8]=  -0.395489;
-     EtaROImin[1][29][ 9]=   0.501681;EtaROImax[1][29][ 9]=   0.573871;PhiROImin[1][29][ 9]=  -0.479445;PhiROImax[1][29][ 9]=  -0.395489;
-     EtaROImin[1][29][10]=    0.42967;EtaROImax[1][29][10]=   0.504617;PhiROImin[1][29][10]=  -0.565749;PhiROImax[1][29][10]=  -0.483076;
-     EtaROImin[1][29][11]=   0.501681;EtaROImax[1][29][11]=   0.573871;PhiROImin[1][29][11]=  -0.565749;PhiROImax[1][29][11]=  -0.483076;
-     EtaROImin[1][29][12]=   0.583785;EtaROImax[1][29][12]=   0.653329;PhiROImin[1][29][12]=  -0.479445;PhiROImax[1][29][12]=  -0.395489;
-     EtaROImin[1][29][13]=   0.649934;EtaROImax[1][29][13]=   0.741516;PhiROImin[1][29][13]=  -0.479445;PhiROImax[1][29][13]=  -0.395489;
-     EtaROImin[1][29][14]=   0.583785;EtaROImax[1][29][14]=   0.653329;PhiROImin[1][29][14]=  -0.565749;PhiROImax[1][29][14]=  -0.483076;
-     EtaROImin[1][29][15]=   0.649934;EtaROImax[1][29][15]=   0.741516;PhiROImin[1][29][15]=  -0.565749;PhiROImax[1][29][15]=  -0.483076;
-     EtaROImin[1][29][16]=   0.756521;EtaROImax[1][29][16]=   0.837822;PhiROImin[1][29][16]=  -0.479445;PhiROImax[1][29][16]=  -0.395489;
-     EtaROImin[1][29][17]=	    0;EtaROImax[1][29][17]=	     0;PhiROImin[1][29][17]=	      0;PhiROImax[1][29][17]=	       0;
-     EtaROImin[1][29][18]=   0.756521;EtaROImax[1][29][18]=   0.837822;PhiROImin[1][29][18]=  -0.565749;PhiROImax[1][29][18]=  -0.483076;
-     EtaROImin[1][29][19]=	    0;EtaROImax[1][29][19]=	     0;PhiROImin[1][29][19]=	      0;PhiROImax[1][29][19]=	       0;
-     EtaROImin[1][29][20]=   0.844116;EtaROImax[1][29][20]=   0.903324;PhiROImin[1][29][20]=  -0.479445;PhiROImax[1][29][20]=  -0.395489;
-     EtaROImin[1][29][21]=   0.899344;EtaROImax[1][29][21]=   0.956037;PhiROImin[1][29][21]=  -0.479445;PhiROImax[1][29][21]=  -0.395489;
-     EtaROImin[1][29][22]=   0.844116;EtaROImax[1][29][22]=   0.903324;PhiROImin[1][29][22]=  -0.565749;PhiROImax[1][29][22]=  -0.483076;
-     EtaROImin[1][29][23]=   0.899344;EtaROImax[1][29][23]=   0.956037;PhiROImin[1][29][23]=  -0.565749;PhiROImax[1][29][23]=  -0.483076;
-     EtaROImin[1][29][24]=	    0;EtaROImax[1][29][24]=	     0;PhiROImin[1][29][24]=	      0;PhiROImax[1][29][24]=	       0;
-     EtaROImin[1][29][25]=	    0;EtaROImax[1][29][25]=	     0;PhiROImin[1][29][25]=	      0;PhiROImax[1][29][25]=	       0;
-     EtaROImin[1][29][26]=	    0;EtaROImax[1][29][26]=	     0;PhiROImin[1][29][26]=	      0;PhiROImax[1][29][26]=	       0;
-     EtaROImin[1][29][27]=	    0;EtaROImax[1][29][27]=	     0;PhiROImin[1][29][27]=	      0;PhiROImax[1][29][27]=	       0;
-     EtaROImin[1][29][28]=	    0;EtaROImax[1][29][28]=	     0;PhiROImin[1][29][28]=	      0;PhiROImax[1][29][28]=	       0;
-     EtaROImin[1][29][29]=	    0;EtaROImax[1][29][29]=	     0;PhiROImin[1][29][29]=	      0;PhiROImax[1][29][29]=	       0;
-     EtaROImin[1][29][30]=	    0;EtaROImax[1][29][30]=	     0;PhiROImin[1][29][30]=	      0;PhiROImax[1][29][30]=	       0;
-     EtaROImin[1][29][31]=	    0;EtaROImax[1][29][31]=	     0;PhiROImin[1][29][31]=	      0;PhiROImax[1][29][31]=	       0;
-     EtaROImin[1][30][ 0]=   0.116816;EtaROImax[1][30][ 0]=   0.213185;PhiROImin[1][30][ 0]=  -0.389909;PhiROImax[1][30][ 0]=  -0.305953;
-     EtaROImin[1][30][ 1]=  0.0208251;EtaROImax[1][30][ 1]=   0.118734;PhiROImin[1][30][ 1]=  -0.389909;PhiROImax[1][30][ 1]=  -0.305953;
-     EtaROImin[1][30][ 2]=   0.116816;EtaROImax[1][30][ 2]=   0.213185;PhiROImin[1][30][ 2]=  -0.302322;PhiROImax[1][30][ 2]=  -0.219649;
-     EtaROImin[1][30][ 3]=  0.0208251;EtaROImax[1][30][ 3]=   0.118734;PhiROImin[1][30][ 3]=  -0.302322;PhiROImax[1][30][ 3]=  -0.219649;
-     EtaROImin[1][30][ 4]=    0.30075;EtaROImax[1][30][ 4]=   0.416721;PhiROImin[1][30][ 4]=  -0.389909;PhiROImax[1][30][ 4]=  -0.305953;
-     EtaROImin[1][30][ 5]=   0.222449;EtaROImax[1][30][ 5]=   0.302928;PhiROImin[1][30][ 5]=  -0.389909;PhiROImax[1][30][ 5]=  -0.305953;
-     EtaROImin[1][30][ 6]=    0.30075;EtaROImax[1][30][ 6]=   0.416721;PhiROImin[1][30][ 6]=  -0.302322;PhiROImax[1][30][ 6]=  -0.219649;
-     EtaROImin[1][30][ 7]=   0.222449;EtaROImax[1][30][ 7]=   0.302928;PhiROImin[1][30][ 7]=  -0.302322;PhiROImax[1][30][ 7]=  -0.219649;
-     EtaROImin[1][30][ 8]=   0.501681;EtaROImax[1][30][ 8]=   0.573871;PhiROImin[1][30][ 8]=  -0.389909;PhiROImax[1][30][ 8]=  -0.305953;
-     EtaROImin[1][30][ 9]=    0.42967;EtaROImax[1][30][ 9]=   0.504617;PhiROImin[1][30][ 9]=  -0.389909;PhiROImax[1][30][ 9]=  -0.305953;
-     EtaROImin[1][30][10]=   0.501681;EtaROImax[1][30][10]=   0.573871;PhiROImin[1][30][10]=  -0.302322;PhiROImax[1][30][10]=  -0.219649;
-     EtaROImin[1][30][11]=    0.42967;EtaROImax[1][30][11]=   0.504617;PhiROImin[1][30][11]=  -0.302322;PhiROImax[1][30][11]=  -0.219649;
-     EtaROImin[1][30][12]=   0.649934;EtaROImax[1][30][12]=   0.741516;PhiROImin[1][30][12]=  -0.389909;PhiROImax[1][30][12]=  -0.305953;
-     EtaROImin[1][30][13]=   0.583785;EtaROImax[1][30][13]=   0.653329;PhiROImin[1][30][13]=  -0.389909;PhiROImax[1][30][13]=  -0.305953;
-     EtaROImin[1][30][14]=   0.649934;EtaROImax[1][30][14]=   0.741516;PhiROImin[1][30][14]=  -0.302322;PhiROImax[1][30][14]=  -0.219649;
-     EtaROImin[1][30][15]=   0.583785;EtaROImax[1][30][15]=   0.653329;PhiROImin[1][30][15]=  -0.302322;PhiROImax[1][30][15]=  -0.219649;
-     EtaROImin[1][30][16]=	    0;EtaROImax[1][30][16]=	     0;PhiROImin[1][30][16]=	      0;PhiROImax[1][30][16]=	       0;
-     EtaROImin[1][30][17]=   0.756521;EtaROImax[1][30][17]=   0.837822;PhiROImin[1][30][17]=  -0.389909;PhiROImax[1][30][17]=  -0.305953;
-     EtaROImin[1][30][18]=	    0;EtaROImax[1][30][18]=	     0;PhiROImin[1][30][18]=	      0;PhiROImax[1][30][18]=	       0;
-     EtaROImin[1][30][19]=   0.756521;EtaROImax[1][30][19]=   0.837822;PhiROImin[1][30][19]=  -0.302322;PhiROImax[1][30][19]=  -0.219649;
-     EtaROImin[1][30][20]=   0.899344;EtaROImax[1][30][20]=   0.956037;PhiROImin[1][30][20]=  -0.389909;PhiROImax[1][30][20]=  -0.305953;
-     EtaROImin[1][30][21]=   0.844116;EtaROImax[1][30][21]=   0.903324;PhiROImin[1][30][21]=  -0.389909;PhiROImax[1][30][21]=  -0.305953;
-     EtaROImin[1][30][22]=   0.899344;EtaROImax[1][30][22]=   0.956037;PhiROImin[1][30][22]=  -0.302322;PhiROImax[1][30][22]=  -0.219649;
-     EtaROImin[1][30][23]=   0.844116;EtaROImax[1][30][23]=   0.903324;PhiROImin[1][30][23]=  -0.302322;PhiROImax[1][30][23]=  -0.219649;
-     EtaROImin[1][30][24]=	    0;EtaROImax[1][30][24]=	     0;PhiROImin[1][30][24]=	      0;PhiROImax[1][30][24]=	       0;
-     EtaROImin[1][30][25]=	    0;EtaROImax[1][30][25]=	     0;PhiROImin[1][30][25]=	      0;PhiROImax[1][30][25]=	       0;
-     EtaROImin[1][30][26]=	    0;EtaROImax[1][30][26]=	     0;PhiROImin[1][30][26]=	      0;PhiROImax[1][30][26]=	       0;
-     EtaROImin[1][30][27]=	    0;EtaROImax[1][30][27]=	     0;PhiROImin[1][30][27]=	      0;PhiROImax[1][30][27]=	       0;
-     EtaROImin[1][30][28]=	    0;EtaROImax[1][30][28]=	     0;PhiROImin[1][30][28]=	      0;PhiROImax[1][30][28]=	       0;
-     EtaROImin[1][30][29]=	    0;EtaROImax[1][30][29]=	     0;PhiROImin[1][30][29]=	      0;PhiROImax[1][30][29]=	       0;
-     EtaROImin[1][30][30]=	    0;EtaROImax[1][30][30]=	     0;PhiROImin[1][30][30]=	      0;PhiROImax[1][30][30]=	       0;
-     EtaROImin[1][30][31]=	    0;EtaROImax[1][30][31]=	     0;PhiROImin[1][30][31]=	      0;PhiROImax[1][30][31]=	       0;
-     EtaROImin[1][31][ 0]=  0.0231199;EtaROImax[1][31][ 0]=   0.131749;PhiROImin[1][31][ 0]=  -0.112612;PhiROImax[1][31][ 0]=-0.00295181;
-     EtaROImin[1][31][ 1]=   0.130922;EtaROImax[1][31][ 1]=   0.238612;PhiROImin[1][31][ 1]=  -0.112612;PhiROImax[1][31][ 1]=-0.00295181;
-     EtaROImin[1][31][ 2]=  0.0231199;EtaROImax[1][31][ 2]=   0.131749;PhiROImin[1][31][ 2]=  -0.223011;PhiROImax[1][31][ 2]=  -0.116119;
-     EtaROImin[1][31][ 3]=   0.130922;EtaROImax[1][31][ 3]=   0.238612;PhiROImin[1][31][ 3]=  -0.223011;PhiROImax[1][31][ 3]=  -0.116119;
-     EtaROImin[1][31][ 4]=   0.246207;EtaROImax[1][31][ 4]=    0.35049;PhiROImin[1][31][ 4]=  -0.112612;PhiROImax[1][31][ 4]=-0.00295181;
-     EtaROImin[1][31][ 5]=   0.350831;EtaROImax[1][31][ 5]=   0.452099;PhiROImin[1][31][ 5]=  -0.112612;PhiROImax[1][31][ 5]=-0.00295181;
-     EtaROImin[1][31][ 6]=   0.246207;EtaROImax[1][31][ 6]=    0.35049;PhiROImin[1][31][ 6]=  -0.223011;PhiROImax[1][31][ 6]=  -0.116119;
-     EtaROImin[1][31][ 7]=   0.350831;EtaROImax[1][31][ 7]=   0.452099;PhiROImin[1][31][ 7]=  -0.223011;PhiROImax[1][31][ 7]=  -0.116119;
-     EtaROImin[1][31][ 8]=   0.458091;EtaROImax[1][31][ 8]=   0.554444;PhiROImin[1][31][ 8]=  -0.112612;PhiROImax[1][31][ 8]=-0.00295181;
-     EtaROImin[1][31][ 9]=   0.555789;EtaROImax[1][31][ 9]=   0.648101;PhiROImin[1][31][ 9]=  -0.112612;PhiROImax[1][31][ 9]=-0.00295181;
-     EtaROImin[1][31][10]=   0.458091;EtaROImax[1][31][10]=   0.554444;PhiROImin[1][31][10]=  -0.223011;PhiROImax[1][31][10]=  -0.116119;
-     EtaROImin[1][31][11]=   0.555789;EtaROImax[1][31][11]=   0.648101;PhiROImin[1][31][11]=  -0.223011;PhiROImax[1][31][11]=  -0.116119;
-     EtaROImin[1][31][12]=   0.655857;EtaROImax[1][31][12]=   0.703298;PhiROImin[1][31][12]=  -0.113212;PhiROImax[1][31][12]=-0.00296767;
-     EtaROImin[1][31][13]=   0.706413;EtaROImax[1][31][13]=   0.776449;PhiROImin[1][31][13]=  -0.113212;PhiROImax[1][31][13]=-0.00296767;
-     EtaROImin[1][31][14]=   0.655857;EtaROImax[1][31][14]=   0.703298;PhiROImin[1][31][14]=  -0.224169;PhiROImax[1][31][14]=  -0.116737;
-     EtaROImin[1][31][15]=   0.706413;EtaROImax[1][31][15]=   0.776449;PhiROImin[1][31][15]=  -0.224169;PhiROImax[1][31][15]=  -0.116737;
-     EtaROImin[1][31][16]=   0.783867;EtaROImax[1][31][16]=    0.82768;PhiROImin[1][31][16]=  -0.113212;PhiROImax[1][31][16]=-0.00296767;
-     EtaROImin[1][31][17]=   0.830556;EtaROImax[1][31][17]=   0.895163;PhiROImin[1][31][17]=  -0.113212;PhiROImax[1][31][17]=-0.00296767;
-     EtaROImin[1][31][18]=   0.783867;EtaROImax[1][31][18]=    0.82768;PhiROImin[1][31][18]=  -0.224169;PhiROImax[1][31][18]=  -0.116737;
-     EtaROImin[1][31][19]=   0.830556;EtaROImax[1][31][19]=   0.895163;PhiROImin[1][31][19]=  -0.224169;PhiROImax[1][31][19]=  -0.116737;
-     EtaROImin[1][31][20]=   0.898201;EtaROImax[1][31][20]=   0.961344;PhiROImin[1][31][20]=  -0.112612;PhiROImax[1][31][20]=-0.00295181;
-     EtaROImin[1][31][21]=   0.964674;EtaROImax[1][31][21]=    1.02514;PhiROImin[1][31][21]=  -0.112612;PhiROImax[1][31][21]=-0.00295181;
-     EtaROImin[1][31][22]=   0.898201;EtaROImax[1][31][22]=   0.961344;PhiROImin[1][31][22]=  -0.223011;PhiROImax[1][31][22]=  -0.116119;
-     EtaROImin[1][31][23]=   0.964674;EtaROImax[1][31][23]=    1.02514;PhiROImin[1][31][23]=  -0.223011;PhiROImax[1][31][23]=  -0.116119;
-     EtaROImin[1][31][24]=    1.03003;EtaROImax[1][31][24]=    1.06547;PhiROImin[1][31][24]=  -0.113429;PhiROImax[1][31][24]=-0.00306876;
-     EtaROImin[1][31][25]=	    0;EtaROImax[1][31][25]=	     0;PhiROImin[1][31][25]=	      0;PhiROImax[1][31][25]=	       0;
-     EtaROImin[1][31][26]=    1.03003;EtaROImax[1][31][26]=    1.06547;PhiROImin[1][31][26]=  -0.197143;PhiROImax[1][31][26]=  -0.116958;
-     EtaROImin[1][31][27]=	    0;EtaROImax[1][31][27]=	     0;PhiROImin[1][31][27]=	      0;PhiROImax[1][31][27]=	       0;
-     EtaROImin[1][31][28]=	    0;EtaROImax[1][31][28]=	     0;PhiROImin[1][31][28]=	      0;PhiROImax[1][31][28]=	       0;
-     EtaROImin[1][31][29]=	    0;EtaROImax[1][31][29]=	     0;PhiROImin[1][31][29]=	      0;PhiROImax[1][31][29]=	       0;
-     EtaROImin[1][31][30]=	    0;EtaROImax[1][31][30]=	     0;PhiROImin[1][31][30]=	      0;PhiROImax[1][31][30]=	       0;
-     EtaROImin[1][31][31]=	    0;EtaROImax[1][31][31]=	     0;PhiROImin[1][31][31]=	      0;PhiROImax[1][31][31]=	       0;
+     m_EtaROImin[0][ 0][ 0]=  -0.238757;m_EtaROImax[0][ 0][ 0]=   -0.13107;m_PhiROImin[0][ 0][ 0]= 0.00296767;m_PhiROImax[0][ 0][ 0]=	0.113212;
+     m_EtaROImin[0][ 0][ 1]=	    0;m_EtaROImax[0][ 0][ 1]=	     0;m_PhiROImin[0][ 0][ 1]=	      0;m_PhiROImax[0][ 0][ 1]=	       0;
+     m_EtaROImin[0][ 0][ 2]=  -0.238757;m_EtaROImax[0][ 0][ 2]=   -0.13107;m_PhiROImin[0][ 0][ 2]=   0.116737;m_PhiROImax[0][ 0][ 2]=	0.224169;
+     m_EtaROImin[0][ 0][ 3]=	    0;m_EtaROImax[0][ 0][ 3]=	     0;m_PhiROImin[0][ 0][ 3]=	      0;m_PhiROImax[0][ 0][ 3]=	       0;
+     m_EtaROImin[0][ 0][ 4]=   -0.35049;m_EtaROImax[0][ 0][ 4]=  -0.246207;m_PhiROImin[0][ 0][ 4]= 0.00295181;m_PhiROImax[0][ 0][ 4]=	0.112612;
+     m_EtaROImin[0][ 0][ 5]=  -0.452099;m_EtaROImax[0][ 0][ 5]=  -0.350831;m_PhiROImin[0][ 0][ 5]= 0.00295181;m_PhiROImax[0][ 0][ 5]=	0.112612;
+     m_EtaROImin[0][ 0][ 6]=   -0.35049;m_EtaROImax[0][ 0][ 6]=  -0.246207;m_PhiROImin[0][ 0][ 6]=   0.116119;m_PhiROImax[0][ 0][ 6]=	0.223011;
+     m_EtaROImin[0][ 0][ 7]=  -0.452099;m_EtaROImax[0][ 0][ 7]=  -0.350831;m_PhiROImin[0][ 0][ 7]=   0.116119;m_PhiROImax[0][ 0][ 7]=	0.223011;
+     m_EtaROImin[0][ 0][ 8]=  -0.554444;m_EtaROImax[0][ 0][ 8]=  -0.458091;m_PhiROImin[0][ 0][ 8]= 0.00295181;m_PhiROImax[0][ 0][ 8]=	0.112612;
+     m_EtaROImin[0][ 0][ 9]=  -0.648101;m_EtaROImax[0][ 0][ 9]=  -0.555789;m_PhiROImin[0][ 0][ 9]= 0.00295181;m_PhiROImax[0][ 0][ 9]=	0.112612;
+     m_EtaROImin[0][ 0][10]=  -0.554444;m_EtaROImax[0][ 0][10]=  -0.458091;m_PhiROImin[0][ 0][10]=   0.116119;m_PhiROImax[0][ 0][10]=	0.223011;
+     m_EtaROImin[0][ 0][11]=  -0.648101;m_EtaROImax[0][ 0][11]=  -0.555789;m_PhiROImin[0][ 0][11]=   0.116119;m_PhiROImax[0][ 0][11]=	0.223011;
+     m_EtaROImin[0][ 0][12]=  -0.703298;m_EtaROImax[0][ 0][12]=  -0.655857;m_PhiROImin[0][ 0][12]= 0.00296767;m_PhiROImax[0][ 0][12]=	0.113212;
+     m_EtaROImin[0][ 0][13]=  -0.776449;m_EtaROImax[0][ 0][13]=  -0.706413;m_PhiROImin[0][ 0][13]= 0.00296767;m_PhiROImax[0][ 0][13]=	0.113212;
+     m_EtaROImin[0][ 0][14]=  -0.703298;m_EtaROImax[0][ 0][14]=  -0.655857;m_PhiROImin[0][ 0][14]=   0.116737;m_PhiROImax[0][ 0][14]=	0.224169;
+     m_EtaROImin[0][ 0][15]=  -0.776449;m_EtaROImax[0][ 0][15]=  -0.706413;m_PhiROImin[0][ 0][15]=   0.116737;m_PhiROImax[0][ 0][15]=	0.224169;
+     m_EtaROImin[0][ 0][16]=   -0.82768;m_EtaROImax[0][ 0][16]=  -0.783867;m_PhiROImin[0][ 0][16]= 0.00296767;m_PhiROImax[0][ 0][16]=	0.113212;
+     m_EtaROImin[0][ 0][17]=  -0.895163;m_EtaROImax[0][ 0][17]=  -0.830556;m_PhiROImin[0][ 0][17]= 0.00296767;m_PhiROImax[0][ 0][17]=	0.113212;
+     m_EtaROImin[0][ 0][18]=   -0.82768;m_EtaROImax[0][ 0][18]=  -0.783867;m_PhiROImin[0][ 0][18]=   0.116737;m_PhiROImax[0][ 0][18]=	0.224169;
+     m_EtaROImin[0][ 0][19]=  -0.895163;m_EtaROImax[0][ 0][19]=  -0.830556;m_PhiROImin[0][ 0][19]=   0.116737;m_PhiROImax[0][ 0][19]=	0.224169;
+     m_EtaROImin[0][ 0][20]=  -0.961344;m_EtaROImax[0][ 0][20]=  -0.898201;m_PhiROImin[0][ 0][20]= 0.00295181;m_PhiROImax[0][ 0][20]=	0.112612;
+     m_EtaROImin[0][ 0][21]=   -1.02514;m_EtaROImax[0][ 0][21]=  -0.964674;m_PhiROImin[0][ 0][21]= 0.00295181;m_PhiROImax[0][ 0][21]=	0.112612;
+     m_EtaROImin[0][ 0][22]=  -0.961344;m_EtaROImax[0][ 0][22]=  -0.898201;m_PhiROImin[0][ 0][22]=   0.116119;m_PhiROImax[0][ 0][22]=	0.223011;
+     m_EtaROImin[0][ 0][23]=   -1.02514;m_EtaROImax[0][ 0][23]=  -0.964674;m_PhiROImin[0][ 0][23]=   0.116119;m_PhiROImax[0][ 0][23]=	0.223011;
+     m_EtaROImin[0][ 0][24]=   -1.06547;m_EtaROImax[0][ 0][24]=   -1.03003;m_PhiROImin[0][ 0][24]= 0.00306876;m_PhiROImax[0][ 0][24]=	0.113429;
+     m_EtaROImin[0][ 0][25]=	    0;m_EtaROImax[0][ 0][25]=	     0;m_PhiROImin[0][ 0][25]=	      0;m_PhiROImax[0][ 0][25]=	       0;
+     m_EtaROImin[0][ 0][26]=   -1.06547;m_EtaROImax[0][ 0][26]=   -1.03003;m_PhiROImin[0][ 0][26]=   0.116958;m_PhiROImax[0][ 0][26]=	0.197143;
+     m_EtaROImin[0][ 0][27]=	    0;m_EtaROImax[0][ 0][27]=	     0;m_PhiROImin[0][ 0][27]=	      0;m_PhiROImax[0][ 0][27]=	       0;
+     m_EtaROImin[0][ 0][28]=	    0;m_EtaROImax[0][ 0][28]=	     0;m_PhiROImin[0][ 0][28]=	      0;m_PhiROImax[0][ 0][28]=	       0;
+     m_EtaROImin[0][ 0][29]=	    0;m_EtaROImax[0][ 0][29]=	     0;m_PhiROImin[0][ 0][29]=	      0;m_PhiROImax[0][ 0][29]=	       0;
+     m_EtaROImin[0][ 0][30]=	    0;m_EtaROImax[0][ 0][30]=	     0;m_PhiROImin[0][ 0][30]=	      0;m_PhiROImax[0][ 0][30]=	       0;
+     m_EtaROImin[0][ 0][31]=	    0;m_EtaROImax[0][ 0][31]=	     0;m_PhiROImin[0][ 0][31]=	      0;m_PhiROImax[0][ 0][31]=	       0;
+     m_EtaROImin[0][ 1][ 0]=  -0.213185;m_EtaROImax[0][ 1][ 0]=  -0.116816;m_PhiROImin[0][ 1][ 0]=   0.305953;m_PhiROImax[0][ 1][ 0]=	0.389909;
+     m_EtaROImin[0][ 1][ 1]=  -0.118734;m_EtaROImax[0][ 1][ 1]= -0.0208251;m_PhiROImin[0][ 1][ 1]=   0.305953;m_PhiROImax[0][ 1][ 1]=	0.389909;
+     m_EtaROImin[0][ 1][ 2]=  -0.213185;m_EtaROImax[0][ 1][ 2]=  -0.116816;m_PhiROImin[0][ 1][ 2]=   0.219649;m_PhiROImax[0][ 1][ 2]=	0.302322;
+     m_EtaROImin[0][ 1][ 3]=  -0.118734;m_EtaROImax[0][ 1][ 3]= -0.0208251;m_PhiROImin[0][ 1][ 3]=   0.219649;m_PhiROImax[0][ 1][ 3]=	0.302322;
+     m_EtaROImin[0][ 1][ 4]=  -0.416721;m_EtaROImax[0][ 1][ 4]=   -0.30075;m_PhiROImin[0][ 1][ 4]=   0.305953;m_PhiROImax[0][ 1][ 4]=	0.389909;
+     m_EtaROImin[0][ 1][ 5]=  -0.302928;m_EtaROImax[0][ 1][ 5]=  -0.222449;m_PhiROImin[0][ 1][ 5]=   0.305953;m_PhiROImax[0][ 1][ 5]=	0.389909;
+     m_EtaROImin[0][ 1][ 6]=  -0.416721;m_EtaROImax[0][ 1][ 6]=   -0.30075;m_PhiROImin[0][ 1][ 6]=   0.219649;m_PhiROImax[0][ 1][ 6]=	0.302322;
+     m_EtaROImin[0][ 1][ 7]=  -0.302928;m_EtaROImax[0][ 1][ 7]=  -0.222449;m_PhiROImin[0][ 1][ 7]=   0.219649;m_PhiROImax[0][ 1][ 7]=	0.302322;
+     m_EtaROImin[0][ 1][ 8]=  -0.573871;m_EtaROImax[0][ 1][ 8]=  -0.501681;m_PhiROImin[0][ 1][ 8]=   0.305953;m_PhiROImax[0][ 1][ 8]=	0.389909;
+     m_EtaROImin[0][ 1][ 9]=  -0.504617;m_EtaROImax[0][ 1][ 9]=   -0.42967;m_PhiROImin[0][ 1][ 9]=   0.305953;m_PhiROImax[0][ 1][ 9]=	0.389909;
+     m_EtaROImin[0][ 1][10]=  -0.573871;m_EtaROImax[0][ 1][10]=  -0.501681;m_PhiROImin[0][ 1][10]=   0.219649;m_PhiROImax[0][ 1][10]=	0.302322;
+     m_EtaROImin[0][ 1][11]=  -0.504617;m_EtaROImax[0][ 1][11]=   -0.42967;m_PhiROImin[0][ 1][11]=   0.219649;m_PhiROImax[0][ 1][11]=	0.302322;
+     m_EtaROImin[0][ 1][12]=  -0.741516;m_EtaROImax[0][ 1][12]=  -0.649933;m_PhiROImin[0][ 1][12]=   0.305953;m_PhiROImax[0][ 1][12]=	0.389909;
+     m_EtaROImin[0][ 1][13]=  -0.653329;m_EtaROImax[0][ 1][13]=  -0.583785;m_PhiROImin[0][ 1][13]=   0.305953;m_PhiROImax[0][ 1][13]=	0.389909;
+     m_EtaROImin[0][ 1][14]=  -0.741516;m_EtaROImax[0][ 1][14]=  -0.649933;m_PhiROImin[0][ 1][14]=   0.219649;m_PhiROImax[0][ 1][14]=	0.302322;
+     m_EtaROImin[0][ 1][15]=  -0.653329;m_EtaROImax[0][ 1][15]=  -0.583785;m_PhiROImin[0][ 1][15]=   0.219649;m_PhiROImax[0][ 1][15]=	0.302322;
+     m_EtaROImin[0][ 1][16]=	    0;m_EtaROImax[0][ 1][16]=	     0;m_PhiROImin[0][ 1][16]=	      0;m_PhiROImax[0][ 1][16]=	       0;
+     m_EtaROImin[0][ 1][17]=  -0.837822;m_EtaROImax[0][ 1][17]=  -0.756521;m_PhiROImin[0][ 1][17]=   0.305953;m_PhiROImax[0][ 1][17]=	0.389909;
+     m_EtaROImin[0][ 1][18]=	    0;m_EtaROImax[0][ 1][18]=	     0;m_PhiROImin[0][ 1][18]=	      0;m_PhiROImax[0][ 1][18]=	       0;
+     m_EtaROImin[0][ 1][19]=  -0.837822;m_EtaROImax[0][ 1][19]=  -0.756521;m_PhiROImin[0][ 1][19]=   0.219649;m_PhiROImax[0][ 1][19]=	0.302322;
+     m_EtaROImin[0][ 1][20]=  -0.956037;m_EtaROImax[0][ 1][20]=  -0.899344;m_PhiROImin[0][ 1][20]=   0.305953;m_PhiROImax[0][ 1][20]=	0.389909;
+     m_EtaROImin[0][ 1][21]=  -0.903324;m_EtaROImax[0][ 1][21]=  -0.844116;m_PhiROImin[0][ 1][21]=   0.305953;m_PhiROImax[0][ 1][21]=	0.389909;
+     m_EtaROImin[0][ 1][22]=  -0.956037;m_EtaROImax[0][ 1][22]=  -0.899344;m_PhiROImin[0][ 1][22]=   0.219649;m_PhiROImax[0][ 1][22]=	0.302322;
+     m_EtaROImin[0][ 1][23]=  -0.903324;m_EtaROImax[0][ 1][23]=  -0.844116;m_PhiROImin[0][ 1][23]=   0.219649;m_PhiROImax[0][ 1][23]=	0.302322;
+     m_EtaROImin[0][ 1][24]=	    0;m_EtaROImax[0][ 1][24]=	     0;m_PhiROImin[0][ 1][24]=	      0;m_PhiROImax[0][ 1][24]=	       0;
+     m_EtaROImin[0][ 1][25]=	    0;m_EtaROImax[0][ 1][25]=	     0;m_PhiROImin[0][ 1][25]=	      0;m_PhiROImax[0][ 1][25]=	       0;
+     m_EtaROImin[0][ 1][26]=	    0;m_EtaROImax[0][ 1][26]=	     0;m_PhiROImin[0][ 1][26]=	      0;m_PhiROImax[0][ 1][26]=	       0;
+     m_EtaROImin[0][ 1][27]=	    0;m_EtaROImax[0][ 1][27]=	     0;m_PhiROImin[0][ 1][27]=	      0;m_PhiROImax[0][ 1][27]=	       0;
+     m_EtaROImin[0][ 1][28]=	    0;m_EtaROImax[0][ 1][28]=	     0;m_PhiROImin[0][ 1][28]=	      0;m_PhiROImax[0][ 1][28]=	       0;
+     m_EtaROImin[0][ 1][29]=	    0;m_EtaROImax[0][ 1][29]=	     0;m_PhiROImin[0][ 1][29]=	      0;m_PhiROImax[0][ 1][29]=	       0;
+     m_EtaROImin[0][ 1][30]=	    0;m_EtaROImax[0][ 1][30]=	     0;m_PhiROImin[0][ 1][30]=	      0;m_PhiROImax[0][ 1][30]=	       0;
+     m_EtaROImin[0][ 1][31]=	    0;m_EtaROImax[0][ 1][31]=	     0;m_PhiROImin[0][ 1][31]=	      0;m_PhiROImax[0][ 1][31]=	       0;
+     m_EtaROImin[0][ 2][ 0]=  -0.118734;m_EtaROImax[0][ 2][ 0]= -0.0208251;m_PhiROImin[0][ 2][ 0]=   0.395489;m_PhiROImax[0][ 2][ 0]=	0.479445;
+     m_EtaROImin[0][ 2][ 1]=  -0.213185;m_EtaROImax[0][ 2][ 1]=  -0.116816;m_PhiROImin[0][ 2][ 1]=   0.395489;m_PhiROImax[0][ 2][ 1]=	0.479445;
+     m_EtaROImin[0][ 2][ 2]=  -0.118734;m_EtaROImax[0][ 2][ 2]= -0.0208251;m_PhiROImin[0][ 2][ 2]=   0.483076;m_PhiROImax[0][ 2][ 2]=	0.565749;
+     m_EtaROImin[0][ 2][ 3]=  -0.213185;m_EtaROImax[0][ 2][ 3]=  -0.116816;m_PhiROImin[0][ 2][ 3]=   0.483076;m_PhiROImax[0][ 2][ 3]=	0.565749;
+     m_EtaROImin[0][ 2][ 4]=  -0.302928;m_EtaROImax[0][ 2][ 4]=  -0.222449;m_PhiROImin[0][ 2][ 4]=   0.395489;m_PhiROImax[0][ 2][ 4]=	0.479445;
+     m_EtaROImin[0][ 2][ 5]=  -0.416721;m_EtaROImax[0][ 2][ 5]=   -0.30075;m_PhiROImin[0][ 2][ 5]=   0.395489;m_PhiROImax[0][ 2][ 5]=	0.479445;
+     m_EtaROImin[0][ 2][ 6]=  -0.302928;m_EtaROImax[0][ 2][ 6]=  -0.222449;m_PhiROImin[0][ 2][ 6]=   0.483076;m_PhiROImax[0][ 2][ 6]=	0.565749;
+     m_EtaROImin[0][ 2][ 7]=  -0.416721;m_EtaROImax[0][ 2][ 7]=   -0.30075;m_PhiROImin[0][ 2][ 7]=   0.483076;m_PhiROImax[0][ 2][ 7]=	0.565749;
+     m_EtaROImin[0][ 2][ 8]=  -0.504617;m_EtaROImax[0][ 2][ 8]=   -0.42967;m_PhiROImin[0][ 2][ 8]=   0.395489;m_PhiROImax[0][ 2][ 8]=	0.479445;
+     m_EtaROImin[0][ 2][ 9]=  -0.573871;m_EtaROImax[0][ 2][ 9]=  -0.501681;m_PhiROImin[0][ 2][ 9]=   0.395489;m_PhiROImax[0][ 2][ 9]=	0.479445;
+     m_EtaROImin[0][ 2][10]=  -0.504617;m_EtaROImax[0][ 2][10]=   -0.42967;m_PhiROImin[0][ 2][10]=   0.483076;m_PhiROImax[0][ 2][10]=	0.565749;
+     m_EtaROImin[0][ 2][11]=  -0.573871;m_EtaROImax[0][ 2][11]=  -0.501681;m_PhiROImin[0][ 2][11]=   0.483076;m_PhiROImax[0][ 2][11]=	0.565749;
+     m_EtaROImin[0][ 2][12]=  -0.653329;m_EtaROImax[0][ 2][12]=  -0.583785;m_PhiROImin[0][ 2][12]=   0.395489;m_PhiROImax[0][ 2][12]=	0.479445;
+     m_EtaROImin[0][ 2][13]=  -0.741516;m_EtaROImax[0][ 2][13]=  -0.649933;m_PhiROImin[0][ 2][13]=   0.395489;m_PhiROImax[0][ 2][13]=	0.479445;
+     m_EtaROImin[0][ 2][14]=  -0.653329;m_EtaROImax[0][ 2][14]=  -0.583785;m_PhiROImin[0][ 2][14]=   0.483076;m_PhiROImax[0][ 2][14]=	0.565749;
+     m_EtaROImin[0][ 2][15]=  -0.741516;m_EtaROImax[0][ 2][15]=  -0.649933;m_PhiROImin[0][ 2][15]=   0.483076;m_PhiROImax[0][ 2][15]=	0.565749;
+     m_EtaROImin[0][ 2][16]=  -0.837822;m_EtaROImax[0][ 2][16]=  -0.756521;m_PhiROImin[0][ 2][16]=   0.395489;m_PhiROImax[0][ 2][16]=	0.479445;
+     m_EtaROImin[0][ 2][17]=	    0;m_EtaROImax[0][ 2][17]=	     0;m_PhiROImin[0][ 2][17]=	      0;m_PhiROImax[0][ 2][17]=	       0;
+     m_EtaROImin[0][ 2][18]=  -0.837822;m_EtaROImax[0][ 2][18]=  -0.756521;m_PhiROImin[0][ 2][18]=   0.483076;m_PhiROImax[0][ 2][18]=	0.565749;
+     m_EtaROImin[0][ 2][19]=	    0;m_EtaROImax[0][ 2][19]=	     0;m_PhiROImin[0][ 2][19]=	      0;m_PhiROImax[0][ 2][19]=	       0;
+     m_EtaROImin[0][ 2][20]=  -0.903324;m_EtaROImax[0][ 2][20]=  -0.844116;m_PhiROImin[0][ 2][20]=   0.395489;m_PhiROImax[0][ 2][20]=	0.479445;
+     m_EtaROImin[0][ 2][21]=  -0.956037;m_EtaROImax[0][ 2][21]=  -0.899344;m_PhiROImin[0][ 2][21]=   0.395489;m_PhiROImax[0][ 2][21]=	0.479445;
+     m_EtaROImin[0][ 2][22]=  -0.903324;m_EtaROImax[0][ 2][22]=  -0.844116;m_PhiROImin[0][ 2][22]=   0.483076;m_PhiROImax[0][ 2][22]=	0.565749;
+     m_EtaROImin[0][ 2][23]=  -0.956037;m_EtaROImax[0][ 2][23]=  -0.899344;m_PhiROImin[0][ 2][23]=   0.483076;m_PhiROImax[0][ 2][23]=	0.565749;
+     m_EtaROImin[0][ 2][24]=	    0;m_EtaROImax[0][ 2][24]=	     0;m_PhiROImin[0][ 2][24]=	      0;m_PhiROImax[0][ 2][24]=	       0;
+     m_EtaROImin[0][ 2][25]=	    0;m_EtaROImax[0][ 2][25]=	     0;m_PhiROImin[0][ 2][25]=	      0;m_PhiROImax[0][ 2][25]=	       0;
+     m_EtaROImin[0][ 2][26]=	    0;m_EtaROImax[0][ 2][26]=	     0;m_PhiROImin[0][ 2][26]=	      0;m_PhiROImax[0][ 2][26]=	       0;
+     m_EtaROImin[0][ 2][27]=	    0;m_EtaROImax[0][ 2][27]=	     0;m_PhiROImin[0][ 2][27]=	      0;m_PhiROImax[0][ 2][27]=	       0;
+     m_EtaROImin[0][ 2][28]=	    0;m_EtaROImax[0][ 2][28]=	     0;m_PhiROImin[0][ 2][28]=	      0;m_PhiROImax[0][ 2][28]=	       0;
+     m_EtaROImin[0][ 2][29]=	    0;m_EtaROImax[0][ 2][29]=	     0;m_PhiROImin[0][ 2][29]=	      0;m_PhiROImax[0][ 2][29]=	       0;
+     m_EtaROImin[0][ 2][30]=	    0;m_EtaROImax[0][ 2][30]=	     0;m_PhiROImin[0][ 2][30]=	      0;m_PhiROImax[0][ 2][30]=	       0;
+     m_EtaROImin[0][ 2][31]=	    0;m_EtaROImax[0][ 2][31]=	     0;m_PhiROImin[0][ 2][31]=	      0;m_PhiROImax[0][ 2][31]=	       0;
+     m_EtaROImin[0][ 3][ 0]=  -0.238532;m_EtaROImax[0][ 3][ 0]=  -0.147302;m_PhiROImin[0][ 3][ 0]=   0.672786;m_PhiROImax[0][ 3][ 0]=	0.782446;
+     m_EtaROImin[0][ 3][ 1]=  -0.147437;m_EtaROImax[0][ 3][ 1]= -0.0554683;m_PhiROImin[0][ 3][ 1]=   0.672786;m_PhiROImax[0][ 3][ 1]=	0.782446;
+     m_EtaROImin[0][ 3][ 2]=  -0.238532;m_EtaROImax[0][ 3][ 2]=  -0.147302;m_PhiROImin[0][ 3][ 2]=   0.562387;m_PhiROImax[0][ 3][ 2]=	0.669279;
+     m_EtaROImin[0][ 3][ 3]=  -0.147437;m_EtaROImax[0][ 3][ 3]= -0.0554683;m_PhiROImin[0][ 3][ 3]=   0.562387;m_PhiROImax[0][ 3][ 3]=	0.669279;
+     m_EtaROImin[0][ 3][ 4]=  -0.452099;m_EtaROImax[0][ 3][ 4]=  -0.350831;m_PhiROImin[0][ 3][ 4]=   0.672786;m_PhiROImax[0][ 3][ 4]=	0.782446;
+     m_EtaROImin[0][ 3][ 5]=   -0.35049;m_EtaROImax[0][ 3][ 5]=  -0.246207;m_PhiROImin[0][ 3][ 5]=   0.672786;m_PhiROImax[0][ 3][ 5]=	0.782446;
+     m_EtaROImin[0][ 3][ 6]=  -0.452099;m_EtaROImax[0][ 3][ 6]=  -0.350831;m_PhiROImin[0][ 3][ 6]=   0.562387;m_PhiROImax[0][ 3][ 6]=	0.669279;
+     m_EtaROImin[0][ 3][ 7]=   -0.35049;m_EtaROImax[0][ 3][ 7]=  -0.246207;m_PhiROImin[0][ 3][ 7]=   0.562387;m_PhiROImax[0][ 3][ 7]=	0.669279;
+     m_EtaROImin[0][ 3][ 8]=  -0.648101;m_EtaROImax[0][ 3][ 8]=  -0.555789;m_PhiROImin[0][ 3][ 8]=   0.672786;m_PhiROImax[0][ 3][ 8]=	0.782446;
+     m_EtaROImin[0][ 3][ 9]=  -0.554444;m_EtaROImax[0][ 3][ 9]=  -0.458091;m_PhiROImin[0][ 3][ 9]=   0.672786;m_PhiROImax[0][ 3][ 9]=	0.782446;
+     m_EtaROImin[0][ 3][10]=  -0.648101;m_EtaROImax[0][ 3][10]=  -0.555789;m_PhiROImin[0][ 3][10]=   0.562387;m_PhiROImax[0][ 3][10]=	0.669279;
+     m_EtaROImin[0][ 3][11]=  -0.554444;m_EtaROImax[0][ 3][11]=  -0.458091;m_PhiROImin[0][ 3][11]=   0.562387;m_PhiROImax[0][ 3][11]=	0.669279;
+     m_EtaROImin[0][ 3][12]=  -0.776449;m_EtaROImax[0][ 3][12]=  -0.731124;m_PhiROImin[0][ 3][12]=   0.672186;m_PhiROImax[0][ 3][12]=	 0.78243;
+     m_EtaROImin[0][ 3][13]=  -0.728056;m_EtaROImax[0][ 3][13]=  -0.655857;m_PhiROImin[0][ 3][13]=   0.672186;m_PhiROImax[0][ 3][13]=	 0.78243;
+     m_EtaROImin[0][ 3][14]=  -0.776449;m_EtaROImax[0][ 3][14]=  -0.731124;m_PhiROImin[0][ 3][14]=   0.561229;m_PhiROImax[0][ 3][14]=	0.668661;
+     m_EtaROImin[0][ 3][15]=  -0.728056;m_EtaROImax[0][ 3][15]=  -0.655857;m_PhiROImin[0][ 3][15]=   0.561229;m_PhiROImax[0][ 3][15]=	0.668661;
+     m_EtaROImin[0][ 3][16]=  -0.895163;m_EtaROImax[0][ 3][16]=  -0.853359;m_PhiROImin[0][ 3][16]=   0.672186;m_PhiROImax[0][ 3][16]=	 0.78243;
+     m_EtaROImin[0][ 3][17]=  -0.850528;m_EtaROImax[0][ 3][17]=  -0.783867;m_PhiROImin[0][ 3][17]=   0.672186;m_PhiROImax[0][ 3][17]=	 0.78243;
+     m_EtaROImin[0][ 3][18]=  -0.895163;m_EtaROImax[0][ 3][18]=  -0.853359;m_PhiROImin[0][ 3][18]=   0.561229;m_PhiROImax[0][ 3][18]=	0.668661;
+     m_EtaROImin[0][ 3][19]=  -0.850528;m_EtaROImax[0][ 3][19]=  -0.783867;m_PhiROImin[0][ 3][19]=   0.561229;m_PhiROImax[0][ 3][19]=	0.668661;
+     m_EtaROImin[0][ 3][20]=   -1.02514;m_EtaROImax[0][ 3][20]=  -0.964674;m_PhiROImin[0][ 3][20]=   0.672786;m_PhiROImax[0][ 3][20]=	0.782446;
+     m_EtaROImin[0][ 3][21]=  -0.961344;m_EtaROImax[0][ 3][21]=  -0.898201;m_PhiROImin[0][ 3][21]=   0.672786;m_PhiROImax[0][ 3][21]=	0.782446;
+     m_EtaROImin[0][ 3][22]=   -1.02514;m_EtaROImax[0][ 3][22]=  -0.964674;m_PhiROImin[0][ 3][22]=   0.562387;m_PhiROImax[0][ 3][22]=	0.669279;
+     m_EtaROImin[0][ 3][23]=  -0.961344;m_EtaROImax[0][ 3][23]=  -0.898201;m_PhiROImin[0][ 3][23]=   0.562387;m_PhiROImax[0][ 3][23]=	0.669279;
+     m_EtaROImin[0][ 3][24]=	    0;m_EtaROImax[0][ 3][24]=	     0;m_PhiROImin[0][ 3][24]=	      0;m_PhiROImax[0][ 3][24]=	       0;
+     m_EtaROImin[0][ 3][25]=   -1.06547;m_EtaROImax[0][ 3][25]=   -1.03003;m_PhiROImin[0][ 3][25]=   0.671969;m_PhiROImax[0][ 3][25]=	0.782329;
+     m_EtaROImin[0][ 3][26]=	    0;m_EtaROImax[0][ 3][26]=	     0;m_PhiROImin[0][ 3][26]=	      0;m_PhiROImax[0][ 3][26]=	       0;
+     m_EtaROImin[0][ 3][27]=   -1.06547;m_EtaROImax[0][ 3][27]=   -1.03003;m_PhiROImin[0][ 3][27]=   0.588255;m_PhiROImax[0][ 3][27]=	 0.66844;
+     m_EtaROImin[0][ 3][28]=	    0;m_EtaROImax[0][ 3][28]=	     0;m_PhiROImin[0][ 3][28]=	      0;m_PhiROImax[0][ 3][28]=	       0;
+     m_EtaROImin[0][ 3][29]=	    0;m_EtaROImax[0][ 3][29]=	     0;m_PhiROImin[0][ 3][29]=	      0;m_PhiROImax[0][ 3][29]=	       0;
+     m_EtaROImin[0][ 3][30]=	    0;m_EtaROImax[0][ 3][30]=	     0;m_PhiROImin[0][ 3][30]=	      0;m_PhiROImax[0][ 3][30]=	       0;
+     m_EtaROImin[0][ 3][31]=	    0;m_EtaROImax[0][ 3][31]=	     0;m_PhiROImin[0][ 3][31]=	      0;m_PhiROImax[0][ 3][31]=	       0;
+     m_EtaROImin[0][ 4][ 0]=  -0.147437;m_EtaROImax[0][ 4][ 0]= -0.0554683;m_PhiROImin[0][ 4][ 0]=	0.78835;m_PhiROImax[0][ 4][ 0]=	0.898011;
+     m_EtaROImin[0][ 4][ 1]=  -0.238532;m_EtaROImax[0][ 4][ 1]=  -0.147302;m_PhiROImin[0][ 4][ 1]=	0.78835;m_PhiROImax[0][ 4][ 1]=	0.898011;
+     m_EtaROImin[0][ 4][ 2]=  -0.147437;m_EtaROImax[0][ 4][ 2]= -0.0554683;m_PhiROImin[0][ 4][ 2]=   0.901517;m_PhiROImax[0][ 4][ 2]=	 1.00841;
+     m_EtaROImin[0][ 4][ 3]=  -0.238532;m_EtaROImax[0][ 4][ 3]=  -0.147302;m_PhiROImin[0][ 4][ 3]=   0.901517;m_PhiROImax[0][ 4][ 3]=	 1.00841;
+     m_EtaROImin[0][ 4][ 4]=   -0.35049;m_EtaROImax[0][ 4][ 4]=  -0.246207;m_PhiROImin[0][ 4][ 4]=	0.78835;m_PhiROImax[0][ 4][ 4]=	0.898011;
+     m_EtaROImin[0][ 4][ 5]=  -0.452099;m_EtaROImax[0][ 4][ 5]=  -0.350831;m_PhiROImin[0][ 4][ 5]=	0.78835;m_PhiROImax[0][ 4][ 5]=	0.898011;
+     m_EtaROImin[0][ 4][ 6]=   -0.35049;m_EtaROImax[0][ 4][ 6]=  -0.246207;m_PhiROImin[0][ 4][ 6]=   0.901517;m_PhiROImax[0][ 4][ 6]=	 1.00841;
+     m_EtaROImin[0][ 4][ 7]=  -0.452099;m_EtaROImax[0][ 4][ 7]=  -0.350831;m_PhiROImin[0][ 4][ 7]=   0.901517;m_PhiROImax[0][ 4][ 7]=	 1.00841;
+     m_EtaROImin[0][ 4][ 8]=  -0.554444;m_EtaROImax[0][ 4][ 8]=  -0.458091;m_PhiROImin[0][ 4][ 8]=	0.78835;m_PhiROImax[0][ 4][ 8]=	0.898011;
+     m_EtaROImin[0][ 4][ 9]=  -0.648101;m_EtaROImax[0][ 4][ 9]=  -0.555789;m_PhiROImin[0][ 4][ 9]=	0.78835;m_PhiROImax[0][ 4][ 9]=	0.898011;
+     m_EtaROImin[0][ 4][10]=  -0.554444;m_EtaROImax[0][ 4][10]=  -0.458091;m_PhiROImin[0][ 4][10]=   0.901517;m_PhiROImax[0][ 4][10]=	 1.00841;
+     m_EtaROImin[0][ 4][11]=  -0.648101;m_EtaROImax[0][ 4][11]=  -0.555789;m_PhiROImin[0][ 4][11]=   0.901517;m_PhiROImax[0][ 4][11]=	 1.00841;
+     m_EtaROImin[0][ 4][12]=  -0.703298;m_EtaROImax[0][ 4][12]=  -0.655857;m_PhiROImin[0][ 4][12]=   0.788366;m_PhiROImax[0][ 4][12]=	 0.89861;
+     m_EtaROImin[0][ 4][13]=  -0.776449;m_EtaROImax[0][ 4][13]=  -0.706413;m_PhiROImin[0][ 4][13]=   0.788366;m_PhiROImax[0][ 4][13]=	 0.89861;
+     m_EtaROImin[0][ 4][14]=  -0.703298;m_EtaROImax[0][ 4][14]=  -0.655857;m_PhiROImin[0][ 4][14]=   0.902135;m_PhiROImax[0][ 4][14]=	 1.00957;
+     m_EtaROImin[0][ 4][15]=  -0.776449;m_EtaROImax[0][ 4][15]=  -0.706413;m_PhiROImin[0][ 4][15]=   0.902135;m_PhiROImax[0][ 4][15]=	 1.00957;
+     m_EtaROImin[0][ 4][16]=   -0.82768;m_EtaROImax[0][ 4][16]=  -0.783867;m_PhiROImin[0][ 4][16]=   0.788366;m_PhiROImax[0][ 4][16]=	 0.89861;
+     m_EtaROImin[0][ 4][17]=  -0.895163;m_EtaROImax[0][ 4][17]=  -0.830556;m_PhiROImin[0][ 4][17]=   0.788366;m_PhiROImax[0][ 4][17]=	 0.89861;
+     m_EtaROImin[0][ 4][18]=   -0.82768;m_EtaROImax[0][ 4][18]=  -0.783867;m_PhiROImin[0][ 4][18]=   0.902135;m_PhiROImax[0][ 4][18]=	 1.00957;
+     m_EtaROImin[0][ 4][19]=  -0.895163;m_EtaROImax[0][ 4][19]=  -0.830556;m_PhiROImin[0][ 4][19]=   0.902135;m_PhiROImax[0][ 4][19]=	 1.00957;
+     m_EtaROImin[0][ 4][20]=  -0.961344;m_EtaROImax[0][ 4][20]=  -0.898201;m_PhiROImin[0][ 4][20]=	0.78835;m_PhiROImax[0][ 4][20]=	0.898011;
+     m_EtaROImin[0][ 4][21]=   -1.02514;m_EtaROImax[0][ 4][21]=  -0.964674;m_PhiROImin[0][ 4][21]=	0.78835;m_PhiROImax[0][ 4][21]=	0.898011;
+     m_EtaROImin[0][ 4][22]=  -0.961344;m_EtaROImax[0][ 4][22]=  -0.898201;m_PhiROImin[0][ 4][22]=   0.901517;m_PhiROImax[0][ 4][22]=	 1.00841;
+     m_EtaROImin[0][ 4][23]=   -1.02514;m_EtaROImax[0][ 4][23]=  -0.964674;m_PhiROImin[0][ 4][23]=   0.901517;m_PhiROImax[0][ 4][23]=	 1.00841;
+     m_EtaROImin[0][ 4][24]=   -1.06547;m_EtaROImax[0][ 4][24]=   -1.03003;m_PhiROImin[0][ 4][24]=   0.788467;m_PhiROImax[0][ 4][24]=	0.898827;
+     m_EtaROImin[0][ 4][25]=	    0;m_EtaROImax[0][ 4][25]=	     0;m_PhiROImin[0][ 4][25]=	      0;m_PhiROImax[0][ 4][25]=	       0;
+     m_EtaROImin[0][ 4][26]=   -1.06547;m_EtaROImax[0][ 4][26]=   -1.03003;m_PhiROImin[0][ 4][26]=   0.902356;m_PhiROImax[0][ 4][26]=	0.982541;
+     m_EtaROImin[0][ 4][27]=	    0;m_EtaROImax[0][ 4][27]=	     0;m_PhiROImin[0][ 4][27]=	      0;m_PhiROImax[0][ 4][27]=	       0;
+     m_EtaROImin[0][ 4][28]=	    0;m_EtaROImax[0][ 4][28]=	     0;m_PhiROImin[0][ 4][28]=	      0;m_PhiROImax[0][ 4][28]=	       0;
+     m_EtaROImin[0][ 4][29]=	    0;m_EtaROImax[0][ 4][29]=	     0;m_PhiROImin[0][ 4][29]=	      0;m_PhiROImax[0][ 4][29]=	       0;
+     m_EtaROImin[0][ 4][30]=	    0;m_EtaROImax[0][ 4][30]=	     0;m_PhiROImin[0][ 4][30]=	      0;m_PhiROImax[0][ 4][30]=	       0;
+     m_EtaROImin[0][ 4][31]=	    0;m_EtaROImax[0][ 4][31]=	     0;m_PhiROImin[0][ 4][31]=	      0;m_PhiROImax[0][ 4][31]=	       0;
+     m_EtaROImin[0][ 5][ 0]=  -0.213185;m_EtaROImax[0][ 5][ 0]=  -0.116816;m_PhiROImin[0][ 5][ 0]=	1.09135;m_PhiROImax[0][ 5][ 0]=	 1.17531;
+     m_EtaROImin[0][ 5][ 1]=  -0.118734;m_EtaROImax[0][ 5][ 1]= -0.0208251;m_PhiROImin[0][ 5][ 1]=	1.09135;m_PhiROImax[0][ 5][ 1]=	 1.17531;
+     m_EtaROImin[0][ 5][ 2]=  -0.213185;m_EtaROImax[0][ 5][ 2]=  -0.116816;m_PhiROImin[0][ 5][ 2]=	1.00505;m_PhiROImax[0][ 5][ 2]=	 1.08772;
+     m_EtaROImin[0][ 5][ 3]=  -0.118734;m_EtaROImax[0][ 5][ 3]= -0.0208251;m_PhiROImin[0][ 5][ 3]=	1.00505;m_PhiROImax[0][ 5][ 3]=	 1.08772;
+     m_EtaROImin[0][ 5][ 4]=  -0.416721;m_EtaROImax[0][ 5][ 4]=   -0.30075;m_PhiROImin[0][ 5][ 4]=	1.09135;m_PhiROImax[0][ 5][ 4]=	 1.17531;
+     m_EtaROImin[0][ 5][ 5]=  -0.302928;m_EtaROImax[0][ 5][ 5]=  -0.222449;m_PhiROImin[0][ 5][ 5]=	1.09135;m_PhiROImax[0][ 5][ 5]=	 1.17531;
+     m_EtaROImin[0][ 5][ 6]=  -0.416721;m_EtaROImax[0][ 5][ 6]=   -0.30075;m_PhiROImin[0][ 5][ 6]=	1.00505;m_PhiROImax[0][ 5][ 6]=	 1.08772;
+     m_EtaROImin[0][ 5][ 7]=  -0.302928;m_EtaROImax[0][ 5][ 7]=  -0.222449;m_PhiROImin[0][ 5][ 7]=	1.00505;m_PhiROImax[0][ 5][ 7]=	 1.08772;
+     m_EtaROImin[0][ 5][ 8]=  -0.573871;m_EtaROImax[0][ 5][ 8]=  -0.501681;m_PhiROImin[0][ 5][ 8]=	1.09135;m_PhiROImax[0][ 5][ 8]=	 1.17531;
+     m_EtaROImin[0][ 5][ 9]=  -0.504617;m_EtaROImax[0][ 5][ 9]=   -0.42967;m_PhiROImin[0][ 5][ 9]=	1.09135;m_PhiROImax[0][ 5][ 9]=	 1.17531;
+     m_EtaROImin[0][ 5][10]=  -0.573871;m_EtaROImax[0][ 5][10]=  -0.501681;m_PhiROImin[0][ 5][10]=	1.00505;m_PhiROImax[0][ 5][10]=	 1.08772;
+     m_EtaROImin[0][ 5][11]=  -0.504617;m_EtaROImax[0][ 5][11]=   -0.42967;m_PhiROImin[0][ 5][11]=	1.00505;m_PhiROImax[0][ 5][11]=	 1.08772;
+     m_EtaROImin[0][ 5][12]=  -0.741516;m_EtaROImax[0][ 5][12]=  -0.649933;m_PhiROImin[0][ 5][12]=	1.09135;m_PhiROImax[0][ 5][12]=	 1.17531;
+     m_EtaROImin[0][ 5][13]=  -0.653329;m_EtaROImax[0][ 5][13]=  -0.583785;m_PhiROImin[0][ 5][13]=	1.09135;m_PhiROImax[0][ 5][13]=	 1.17531;
+     m_EtaROImin[0][ 5][14]=  -0.741516;m_EtaROImax[0][ 5][14]=  -0.649933;m_PhiROImin[0][ 5][14]=	1.00505;m_PhiROImax[0][ 5][14]=	 1.08772;
+     m_EtaROImin[0][ 5][15]=  -0.653329;m_EtaROImax[0][ 5][15]=  -0.583785;m_PhiROImin[0][ 5][15]=	1.00505;m_PhiROImax[0][ 5][15]=	 1.08772;
+     m_EtaROImin[0][ 5][16]=	    0;m_EtaROImax[0][ 5][16]=	     0;m_PhiROImin[0][ 5][16]=	      0;m_PhiROImax[0][ 5][16]=	       0;
+     m_EtaROImin[0][ 5][17]=  -0.837822;m_EtaROImax[0][ 5][17]=  -0.756521;m_PhiROImin[0][ 5][17]=	1.09135;m_PhiROImax[0][ 5][17]=	 1.17531;
+     m_EtaROImin[0][ 5][18]=	    0;m_EtaROImax[0][ 5][18]=	     0;m_PhiROImin[0][ 5][18]=	      0;m_PhiROImax[0][ 5][18]=	       0;
+     m_EtaROImin[0][ 5][19]=  -0.837822;m_EtaROImax[0][ 5][19]=  -0.756521;m_PhiROImin[0][ 5][19]=	1.00505;m_PhiROImax[0][ 5][19]=	 1.08772;
+     m_EtaROImin[0][ 5][20]=  -0.956037;m_EtaROImax[0][ 5][20]=  -0.899344;m_PhiROImin[0][ 5][20]=	1.09135;m_PhiROImax[0][ 5][20]=	 1.17531;
+     m_EtaROImin[0][ 5][21]=  -0.903324;m_EtaROImax[0][ 5][21]=  -0.844116;m_PhiROImin[0][ 5][21]=	1.09135;m_PhiROImax[0][ 5][21]=	 1.17531;
+     m_EtaROImin[0][ 5][22]=  -0.956037;m_EtaROImax[0][ 5][22]=  -0.899344;m_PhiROImin[0][ 5][22]=	1.00505;m_PhiROImax[0][ 5][22]=	 1.08772;
+     m_EtaROImin[0][ 5][23]=  -0.903324;m_EtaROImax[0][ 5][23]=  -0.844116;m_PhiROImin[0][ 5][23]=	1.00505;m_PhiROImax[0][ 5][23]=	 1.08772;
+     m_EtaROImin[0][ 5][24]=	    0;m_EtaROImax[0][ 5][24]=	     0;m_PhiROImin[0][ 5][24]=	      0;m_PhiROImax[0][ 5][24]=	       0;
+     m_EtaROImin[0][ 5][25]=	    0;m_EtaROImax[0][ 5][25]=	     0;m_PhiROImin[0][ 5][25]=	      0;m_PhiROImax[0][ 5][25]=	       0;
+     m_EtaROImin[0][ 5][26]=	    0;m_EtaROImax[0][ 5][26]=	     0;m_PhiROImin[0][ 5][26]=	      0;m_PhiROImax[0][ 5][26]=	       0;
+     m_EtaROImin[0][ 5][27]=	    0;m_EtaROImax[0][ 5][27]=	     0;m_PhiROImin[0][ 5][27]=	      0;m_PhiROImax[0][ 5][27]=	       0;
+     m_EtaROImin[0][ 5][28]=	    0;m_EtaROImax[0][ 5][28]=	     0;m_PhiROImin[0][ 5][28]=	      0;m_PhiROImax[0][ 5][28]=	       0;
+     m_EtaROImin[0][ 5][29]=	    0;m_EtaROImax[0][ 5][29]=	     0;m_PhiROImin[0][ 5][29]=	      0;m_PhiROImax[0][ 5][29]=	       0;
+     m_EtaROImin[0][ 5][30]=	    0;m_EtaROImax[0][ 5][30]=	     0;m_PhiROImin[0][ 5][30]=	      0;m_PhiROImax[0][ 5][30]=	       0;
+     m_EtaROImin[0][ 5][31]=	    0;m_EtaROImax[0][ 5][31]=	     0;m_PhiROImin[0][ 5][31]=	      0;m_PhiROImax[0][ 5][31]=	       0;
+     m_EtaROImin[0][ 6][ 0]=  -0.118734;m_EtaROImax[0][ 6][ 0]= -0.0208251;m_PhiROImin[0][ 6][ 0]=	1.18089;m_PhiROImax[0][ 6][ 0]=	 1.26484;
+     m_EtaROImin[0][ 6][ 1]=  -0.213185;m_EtaROImax[0][ 6][ 1]=  -0.116816;m_PhiROImin[0][ 6][ 1]=	1.18089;m_PhiROImax[0][ 6][ 1]=	 1.26484;
+     m_EtaROImin[0][ 6][ 2]=  -0.118734;m_EtaROImax[0][ 6][ 2]= -0.0208251;m_PhiROImin[0][ 6][ 2]=	1.26847;m_PhiROImax[0][ 6][ 2]=	 1.35115;
+     m_EtaROImin[0][ 6][ 3]=  -0.213185;m_EtaROImax[0][ 6][ 3]=  -0.116816;m_PhiROImin[0][ 6][ 3]=	1.26847;m_PhiROImax[0][ 6][ 3]=	 1.35115;
+     m_EtaROImin[0][ 6][ 4]=  -0.302928;m_EtaROImax[0][ 6][ 4]=  -0.222449;m_PhiROImin[0][ 6][ 4]=	1.18089;m_PhiROImax[0][ 6][ 4]=	 1.26484;
+     m_EtaROImin[0][ 6][ 5]=  -0.416721;m_EtaROImax[0][ 6][ 5]=   -0.30075;m_PhiROImin[0][ 6][ 5]=	1.18089;m_PhiROImax[0][ 6][ 5]=	 1.26484;
+     m_EtaROImin[0][ 6][ 6]=  -0.302928;m_EtaROImax[0][ 6][ 6]=  -0.222449;m_PhiROImin[0][ 6][ 6]=	1.26847;m_PhiROImax[0][ 6][ 6]=	 1.35115;
+     m_EtaROImin[0][ 6][ 7]=  -0.416721;m_EtaROImax[0][ 6][ 7]=   -0.30075;m_PhiROImin[0][ 6][ 7]=	1.26847;m_PhiROImax[0][ 6][ 7]=	 1.35115;
+     m_EtaROImin[0][ 6][ 8]=  -0.504617;m_EtaROImax[0][ 6][ 8]=   -0.42967;m_PhiROImin[0][ 6][ 8]=	1.18089;m_PhiROImax[0][ 6][ 8]=	 1.26484;
+     m_EtaROImin[0][ 6][ 9]=  -0.573871;m_EtaROImax[0][ 6][ 9]=  -0.501681;m_PhiROImin[0][ 6][ 9]=	1.18089;m_PhiROImax[0][ 6][ 9]=	 1.26484;
+     m_EtaROImin[0][ 6][10]=  -0.504617;m_EtaROImax[0][ 6][10]=   -0.42967;m_PhiROImin[0][ 6][10]=	1.26847;m_PhiROImax[0][ 6][10]=	 1.35115;
+     m_EtaROImin[0][ 6][11]=  -0.573871;m_EtaROImax[0][ 6][11]=  -0.501681;m_PhiROImin[0][ 6][11]=	1.26847;m_PhiROImax[0][ 6][11]=	 1.35115;
+     m_EtaROImin[0][ 6][12]=  -0.653329;m_EtaROImax[0][ 6][12]=  -0.583785;m_PhiROImin[0][ 6][12]=	1.18089;m_PhiROImax[0][ 6][12]=	 1.26484;
+     m_EtaROImin[0][ 6][13]=  -0.741516;m_EtaROImax[0][ 6][13]=  -0.649933;m_PhiROImin[0][ 6][13]=	1.18089;m_PhiROImax[0][ 6][13]=	 1.26484;
+     m_EtaROImin[0][ 6][14]=  -0.653329;m_EtaROImax[0][ 6][14]=  -0.583785;m_PhiROImin[0][ 6][14]=	1.26847;m_PhiROImax[0][ 6][14]=	 1.35115;
+     m_EtaROImin[0][ 6][15]=  -0.741516;m_EtaROImax[0][ 6][15]=  -0.649933;m_PhiROImin[0][ 6][15]=	1.26847;m_PhiROImax[0][ 6][15]=	 1.35115;
+     m_EtaROImin[0][ 6][16]=  -0.837822;m_EtaROImax[0][ 6][16]=  -0.756521;m_PhiROImin[0][ 6][16]=	1.18089;m_PhiROImax[0][ 6][16]=	 1.26484;
+     m_EtaROImin[0][ 6][17]=	    0;m_EtaROImax[0][ 6][17]=	     0;m_PhiROImin[0][ 6][17]=	      0;m_PhiROImax[0][ 6][17]=	       0;
+     m_EtaROImin[0][ 6][18]=  -0.837822;m_EtaROImax[0][ 6][18]=  -0.756521;m_PhiROImin[0][ 6][18]=	1.26847;m_PhiROImax[0][ 6][18]=	 1.35115;
+     m_EtaROImin[0][ 6][19]=	    0;m_EtaROImax[0][ 6][19]=	     0;m_PhiROImin[0][ 6][19]=	      0;m_PhiROImax[0][ 6][19]=	       0;
+     m_EtaROImin[0][ 6][20]=  -0.903324;m_EtaROImax[0][ 6][20]=  -0.844116;m_PhiROImin[0][ 6][20]=	1.18089;m_PhiROImax[0][ 6][20]=	 1.26484;
+     m_EtaROImin[0][ 6][21]=  -0.956037;m_EtaROImax[0][ 6][21]=  -0.899344;m_PhiROImin[0][ 6][21]=	1.18089;m_PhiROImax[0][ 6][21]=	 1.26484;
+     m_EtaROImin[0][ 6][22]=  -0.903324;m_EtaROImax[0][ 6][22]=  -0.844116;m_PhiROImin[0][ 6][22]=	1.26847;m_PhiROImax[0][ 6][22]=	 1.35115;
+     m_EtaROImin[0][ 6][23]=  -0.956037;m_EtaROImax[0][ 6][23]=  -0.899344;m_PhiROImin[0][ 6][23]=	1.26847;m_PhiROImax[0][ 6][23]=	 1.35115;
+     m_EtaROImin[0][ 6][24]=	    0;m_EtaROImax[0][ 6][24]=	     0;m_PhiROImin[0][ 6][24]=	      0;m_PhiROImax[0][ 6][24]=	       0;
+     m_EtaROImin[0][ 6][25]=	    0;m_EtaROImax[0][ 6][25]=	     0;m_PhiROImin[0][ 6][25]=	      0;m_PhiROImax[0][ 6][25]=	       0;
+     m_EtaROImin[0][ 6][26]=	    0;m_EtaROImax[0][ 6][26]=	     0;m_PhiROImin[0][ 6][26]=	      0;m_PhiROImax[0][ 6][26]=	       0;
+     m_EtaROImin[0][ 6][27]=	    0;m_EtaROImax[0][ 6][27]=	     0;m_PhiROImin[0][ 6][27]=	      0;m_PhiROImax[0][ 6][27]=	       0;
+     m_EtaROImin[0][ 6][28]=	    0;m_EtaROImax[0][ 6][28]=	     0;m_PhiROImin[0][ 6][28]=	      0;m_PhiROImax[0][ 6][28]=	       0;
+     m_EtaROImin[0][ 6][29]=	    0;m_EtaROImax[0][ 6][29]=	     0;m_PhiROImin[0][ 6][29]=	      0;m_PhiROImax[0][ 6][29]=	       0;
+     m_EtaROImin[0][ 6][30]=	    0;m_EtaROImax[0][ 6][30]=	     0;m_PhiROImin[0][ 6][30]=	      0;m_PhiROImax[0][ 6][30]=	       0;
+     m_EtaROImin[0][ 6][31]=	    0;m_EtaROImax[0][ 6][31]=	     0;m_PhiROImin[0][ 6][31]=	      0;m_PhiROImax[0][ 6][31]=	       0;
+     m_EtaROImin[0][ 7][ 0]=  -0.238313;m_EtaROImax[0][ 7][ 0]=   -0.14708;m_PhiROImin[0][ 7][ 0]=	1.45818;m_PhiROImax[0][ 7][ 0]=	 1.56784;
+     m_EtaROImin[0][ 7][ 1]=  -0.147216;m_EtaROImax[0][ 7][ 1]= -0.0552456;m_PhiROImin[0][ 7][ 1]=	1.45818;m_PhiROImax[0][ 7][ 1]=	 1.56784;
+     m_EtaROImin[0][ 7][ 2]=  -0.238313;m_EtaROImax[0][ 7][ 2]=   -0.14708;m_PhiROImin[0][ 7][ 2]=	1.34779;m_PhiROImax[0][ 7][ 2]=	 1.45468;
+     m_EtaROImin[0][ 7][ 3]=  -0.147216;m_EtaROImax[0][ 7][ 3]= -0.0552456;m_PhiROImin[0][ 7][ 3]=	1.34779;m_PhiROImax[0][ 7][ 3]=	 1.45468;
+     m_EtaROImin[0][ 7][ 4]=  -0.452099;m_EtaROImax[0][ 7][ 4]=  -0.350831;m_PhiROImin[0][ 7][ 4]=	1.45818;m_PhiROImax[0][ 7][ 4]=	 1.56784;
+     m_EtaROImin[0][ 7][ 5]=   -0.35049;m_EtaROImax[0][ 7][ 5]=  -0.246207;m_PhiROImin[0][ 7][ 5]=	1.45818;m_PhiROImax[0][ 7][ 5]=	 1.56784;
+     m_EtaROImin[0][ 7][ 6]=  -0.452099;m_EtaROImax[0][ 7][ 6]=  -0.350831;m_PhiROImin[0][ 7][ 6]=	1.34779;m_PhiROImax[0][ 7][ 6]=	 1.45468;
+     m_EtaROImin[0][ 7][ 7]=   -0.35049;m_EtaROImax[0][ 7][ 7]=  -0.246207;m_PhiROImin[0][ 7][ 7]=	1.34779;m_PhiROImax[0][ 7][ 7]=	 1.45468;
+     m_EtaROImin[0][ 7][ 8]=  -0.648101;m_EtaROImax[0][ 7][ 8]=  -0.555789;m_PhiROImin[0][ 7][ 8]=	1.45818;m_PhiROImax[0][ 7][ 8]=	 1.56784;
+     m_EtaROImin[0][ 7][ 9]=  -0.554444;m_EtaROImax[0][ 7][ 9]=  -0.458091;m_PhiROImin[0][ 7][ 9]=	1.45818;m_PhiROImax[0][ 7][ 9]=	 1.56784;
+     m_EtaROImin[0][ 7][10]=  -0.648101;m_EtaROImax[0][ 7][10]=  -0.555789;m_PhiROImin[0][ 7][10]=	1.34779;m_PhiROImax[0][ 7][10]=	 1.45468;
+     m_EtaROImin[0][ 7][11]=  -0.554444;m_EtaROImax[0][ 7][11]=  -0.458091;m_PhiROImin[0][ 7][11]=	1.34779;m_PhiROImax[0][ 7][11]=	 1.45468;
+     m_EtaROImin[0][ 7][12]=  -0.776449;m_EtaROImax[0][ 7][12]=  -0.731124;m_PhiROImin[0][ 7][12]=	1.45758;m_PhiROImax[0][ 7][12]=	 1.56783;
+     m_EtaROImin[0][ 7][13]=  -0.728056;m_EtaROImax[0][ 7][13]=  -0.655857;m_PhiROImin[0][ 7][13]=	1.45758;m_PhiROImax[0][ 7][13]=	 1.56783;
+     m_EtaROImin[0][ 7][14]=  -0.776449;m_EtaROImax[0][ 7][14]=  -0.731124;m_PhiROImin[0][ 7][14]=	1.34663;m_PhiROImax[0][ 7][14]=	 1.45406;
+     m_EtaROImin[0][ 7][15]=  -0.728056;m_EtaROImax[0][ 7][15]=  -0.655857;m_PhiROImin[0][ 7][15]=	1.34663;m_PhiROImax[0][ 7][15]=	 1.45406;
+     m_EtaROImin[0][ 7][16]=  -0.895163;m_EtaROImax[0][ 7][16]=  -0.853359;m_PhiROImin[0][ 7][16]=	1.45758;m_PhiROImax[0][ 7][16]=	 1.56783;
+     m_EtaROImin[0][ 7][17]=  -0.850528;m_EtaROImax[0][ 7][17]=  -0.783867;m_PhiROImin[0][ 7][17]=	1.45758;m_PhiROImax[0][ 7][17]=	 1.56783;
+     m_EtaROImin[0][ 7][18]=  -0.895163;m_EtaROImax[0][ 7][18]=  -0.853359;m_PhiROImin[0][ 7][18]=	1.34663;m_PhiROImax[0][ 7][18]=	 1.45406;
+     m_EtaROImin[0][ 7][19]=  -0.850528;m_EtaROImax[0][ 7][19]=  -0.783867;m_PhiROImin[0][ 7][19]=	1.34663;m_PhiROImax[0][ 7][19]=	 1.45406;
+     m_EtaROImin[0][ 7][20]=   -1.02514;m_EtaROImax[0][ 7][20]=  -0.964674;m_PhiROImin[0][ 7][20]=	1.45818;m_PhiROImax[0][ 7][20]=	 1.56784;
+     m_EtaROImin[0][ 7][21]=  -0.961344;m_EtaROImax[0][ 7][21]=  -0.898201;m_PhiROImin[0][ 7][21]=	1.45818;m_PhiROImax[0][ 7][21]=	 1.56784;
+     m_EtaROImin[0][ 7][22]=   -1.02514;m_EtaROImax[0][ 7][22]=  -0.964674;m_PhiROImin[0][ 7][22]=	1.34779;m_PhiROImax[0][ 7][22]=	 1.45468;
+     m_EtaROImin[0][ 7][23]=  -0.961344;m_EtaROImax[0][ 7][23]=  -0.898201;m_PhiROImin[0][ 7][23]=	1.34779;m_PhiROImax[0][ 7][23]=	 1.45468;
+     m_EtaROImin[0][ 7][24]=	    0;m_EtaROImax[0][ 7][24]=	     0;m_PhiROImin[0][ 7][24]=	      0;m_PhiROImax[0][ 7][24]=	       0;
+     m_EtaROImin[0][ 7][25]=   -1.06547;m_EtaROImax[0][ 7][25]=   -1.03003;m_PhiROImin[0][ 7][25]=	1.45737;m_PhiROImax[0][ 7][25]=	 1.56773;
+     m_EtaROImin[0][ 7][26]=	    0;m_EtaROImax[0][ 7][26]=	     0;m_PhiROImin[0][ 7][26]=	      0;m_PhiROImax[0][ 7][26]=	       0;
+     m_EtaROImin[0][ 7][27]=   -1.06547;m_EtaROImax[0][ 7][27]=   -1.03003;m_PhiROImin[0][ 7][27]=	1.37365;m_PhiROImax[0][ 7][27]=	 1.45384;
+     m_EtaROImin[0][ 7][28]=	    0;m_EtaROImax[0][ 7][28]=	     0;m_PhiROImin[0][ 7][28]=	      0;m_PhiROImax[0][ 7][28]=	       0;
+     m_EtaROImin[0][ 7][29]=	    0;m_EtaROImax[0][ 7][29]=	     0;m_PhiROImin[0][ 7][29]=	      0;m_PhiROImax[0][ 7][29]=	       0;
+     m_EtaROImin[0][ 7][30]=	    0;m_EtaROImax[0][ 7][30]=	     0;m_PhiROImin[0][ 7][30]=	      0;m_PhiROImax[0][ 7][30]=	       0;
+     m_EtaROImin[0][ 7][31]=	    0;m_EtaROImax[0][ 7][31]=	     0;m_PhiROImin[0][ 7][31]=	      0;m_PhiROImax[0][ 7][31]=	       0;
+     m_EtaROImin[0][ 8][ 0]=  -0.147216;m_EtaROImax[0][ 8][ 0]= -0.0552456;m_PhiROImin[0][ 8][ 0]=	1.57375;m_PhiROImax[0][ 8][ 0]=	 1.68341;
+     m_EtaROImin[0][ 8][ 1]=  -0.238313;m_EtaROImax[0][ 8][ 1]=   -0.14708;m_PhiROImin[0][ 8][ 1]=	1.57375;m_PhiROImax[0][ 8][ 1]=	 1.68341;
+     m_EtaROImin[0][ 8][ 2]=  -0.147216;m_EtaROImax[0][ 8][ 2]= -0.0552456;m_PhiROImin[0][ 8][ 2]=	1.68692;m_PhiROImax[0][ 8][ 2]=	 1.79381;
+     m_EtaROImin[0][ 8][ 3]=  -0.238313;m_EtaROImax[0][ 8][ 3]=   -0.14708;m_PhiROImin[0][ 8][ 3]=	1.68692;m_PhiROImax[0][ 8][ 3]=	 1.79381;
+     m_EtaROImin[0][ 8][ 4]=   -0.35049;m_EtaROImax[0][ 8][ 4]=  -0.246207;m_PhiROImin[0][ 8][ 4]=	1.57375;m_PhiROImax[0][ 8][ 4]=	 1.68341;
+     m_EtaROImin[0][ 8][ 5]=  -0.452099;m_EtaROImax[0][ 8][ 5]=  -0.350831;m_PhiROImin[0][ 8][ 5]=	1.57375;m_PhiROImax[0][ 8][ 5]=	 1.68341;
+     m_EtaROImin[0][ 8][ 6]=   -0.35049;m_EtaROImax[0][ 8][ 6]=  -0.246207;m_PhiROImin[0][ 8][ 6]=	1.68692;m_PhiROImax[0][ 8][ 6]=	 1.79381;
+     m_EtaROImin[0][ 8][ 7]=  -0.452099;m_EtaROImax[0][ 8][ 7]=  -0.350831;m_PhiROImin[0][ 8][ 7]=	1.68692;m_PhiROImax[0][ 8][ 7]=	 1.79381;
+     m_EtaROImin[0][ 8][ 8]=  -0.554444;m_EtaROImax[0][ 8][ 8]=  -0.458091;m_PhiROImin[0][ 8][ 8]=	1.57375;m_PhiROImax[0][ 8][ 8]=	 1.68341;
+     m_EtaROImin[0][ 8][ 9]=  -0.648101;m_EtaROImax[0][ 8][ 9]=  -0.555789;m_PhiROImin[0][ 8][ 9]=	1.57375;m_PhiROImax[0][ 8][ 9]=	 1.68341;
+     m_EtaROImin[0][ 8][10]=  -0.554444;m_EtaROImax[0][ 8][10]=  -0.458091;m_PhiROImin[0][ 8][10]=	1.68692;m_PhiROImax[0][ 8][10]=	 1.79381;
+     m_EtaROImin[0][ 8][11]=  -0.648101;m_EtaROImax[0][ 8][11]=  -0.555789;m_PhiROImin[0][ 8][11]=	1.68692;m_PhiROImax[0][ 8][11]=	 1.79381;
+     m_EtaROImin[0][ 8][12]=  -0.703298;m_EtaROImax[0][ 8][12]=  -0.655857;m_PhiROImin[0][ 8][12]=	1.57376;m_PhiROImax[0][ 8][12]=	 1.68401;
+     m_EtaROImin[0][ 8][13]=  -0.776449;m_EtaROImax[0][ 8][13]=  -0.706413;m_PhiROImin[0][ 8][13]=	1.57376;m_PhiROImax[0][ 8][13]=	 1.68401;
+     m_EtaROImin[0][ 8][14]=  -0.703298;m_EtaROImax[0][ 8][14]=  -0.655857;m_PhiROImin[0][ 8][14]=	1.68753;m_PhiROImax[0][ 8][14]=	 1.79497;
+     m_EtaROImin[0][ 8][15]=  -0.776449;m_EtaROImax[0][ 8][15]=  -0.706413;m_PhiROImin[0][ 8][15]=	1.68753;m_PhiROImax[0][ 8][15]=	 1.79497;
+     m_EtaROImin[0][ 8][16]=   -0.82768;m_EtaROImax[0][ 8][16]=  -0.783867;m_PhiROImin[0][ 8][16]=	1.57376;m_PhiROImax[0][ 8][16]=	 1.68401;
+     m_EtaROImin[0][ 8][17]=  -0.895163;m_EtaROImax[0][ 8][17]=  -0.830556;m_PhiROImin[0][ 8][17]=	1.57376;m_PhiROImax[0][ 8][17]=	 1.68401;
+     m_EtaROImin[0][ 8][18]=   -0.82768;m_EtaROImax[0][ 8][18]=  -0.783867;m_PhiROImin[0][ 8][18]=	1.68753;m_PhiROImax[0][ 8][18]=	 1.79497;
+     m_EtaROImin[0][ 8][19]=  -0.895163;m_EtaROImax[0][ 8][19]=  -0.830556;m_PhiROImin[0][ 8][19]=	1.68753;m_PhiROImax[0][ 8][19]=	 1.79497;
+     m_EtaROImin[0][ 8][20]=  -0.961344;m_EtaROImax[0][ 8][20]=  -0.898201;m_PhiROImin[0][ 8][20]=	1.57375;m_PhiROImax[0][ 8][20]=	 1.68341;
+     m_EtaROImin[0][ 8][21]=   -1.02514;m_EtaROImax[0][ 8][21]=  -0.964674;m_PhiROImin[0][ 8][21]=	1.57375;m_PhiROImax[0][ 8][21]=	 1.68341;
+     m_EtaROImin[0][ 8][22]=  -0.961344;m_EtaROImax[0][ 8][22]=  -0.898201;m_PhiROImin[0][ 8][22]=	1.68692;m_PhiROImax[0][ 8][22]=	 1.79381;
+     m_EtaROImin[0][ 8][23]=   -1.02514;m_EtaROImax[0][ 8][23]=  -0.964674;m_PhiROImin[0][ 8][23]=	1.68692;m_PhiROImax[0][ 8][23]=	 1.79381;
+     m_EtaROImin[0][ 8][24]=   -1.06547;m_EtaROImax[0][ 8][24]=   -1.03003;m_PhiROImin[0][ 8][24]=	1.57387;m_PhiROImax[0][ 8][24]=	 1.68423;
+     m_EtaROImin[0][ 8][25]=	    0;m_EtaROImax[0][ 8][25]=	     0;m_PhiROImin[0][ 8][25]=	      0;m_PhiROImax[0][ 8][25]=	       0;
+     m_EtaROImin[0][ 8][26]=   -1.06547;m_EtaROImax[0][ 8][26]=   -1.03003;m_PhiROImin[0][ 8][26]=	1.68775;m_PhiROImax[0][ 8][26]=	 1.76794;
+     m_EtaROImin[0][ 8][27]=	    0;m_EtaROImax[0][ 8][27]=	     0;m_PhiROImin[0][ 8][27]=	      0;m_PhiROImax[0][ 8][27]=	       0;
+     m_EtaROImin[0][ 8][28]=	    0;m_EtaROImax[0][ 8][28]=	     0;m_PhiROImin[0][ 8][28]=	      0;m_PhiROImax[0][ 8][28]=	       0;
+     m_EtaROImin[0][ 8][29]=	    0;m_EtaROImax[0][ 8][29]=	     0;m_PhiROImin[0][ 8][29]=	      0;m_PhiROImax[0][ 8][29]=	       0;
+     m_EtaROImin[0][ 8][30]=	    0;m_EtaROImax[0][ 8][30]=	     0;m_PhiROImin[0][ 8][30]=	      0;m_PhiROImax[0][ 8][30]=	       0;
+     m_EtaROImin[0][ 8][31]=	    0;m_EtaROImax[0][ 8][31]=	     0;m_PhiROImin[0][ 8][31]=	      0;m_PhiROImax[0][ 8][31]=	       0;
+     m_EtaROImin[0][ 9][ 0]=  -0.213185;m_EtaROImax[0][ 9][ 0]=  -0.116816;m_PhiROImin[0][ 9][ 0]=	1.87675;m_PhiROImax[0][ 9][ 0]=	 1.96071;
+     m_EtaROImin[0][ 9][ 1]=  -0.118734;m_EtaROImax[0][ 9][ 1]= -0.0208251;m_PhiROImin[0][ 9][ 1]=	1.87675;m_PhiROImax[0][ 9][ 1]=	 1.96071;
+     m_EtaROImin[0][ 9][ 2]=  -0.213185;m_EtaROImax[0][ 9][ 2]=  -0.116816;m_PhiROImin[0][ 9][ 2]=	1.79045;m_PhiROImax[0][ 9][ 2]=	 1.87312;
+     m_EtaROImin[0][ 9][ 3]=  -0.118734;m_EtaROImax[0][ 9][ 3]= -0.0208251;m_PhiROImin[0][ 9][ 3]=	1.79045;m_PhiROImax[0][ 9][ 3]=	 1.87312;
+     m_EtaROImin[0][ 9][ 4]=  -0.416721;m_EtaROImax[0][ 9][ 4]=   -0.30075;m_PhiROImin[0][ 9][ 4]=	1.87675;m_PhiROImax[0][ 9][ 4]=	 1.96071;
+     m_EtaROImin[0][ 9][ 5]=  -0.302928;m_EtaROImax[0][ 9][ 5]=  -0.222449;m_PhiROImin[0][ 9][ 5]=	1.87675;m_PhiROImax[0][ 9][ 5]=	 1.96071;
+     m_EtaROImin[0][ 9][ 6]=  -0.416721;m_EtaROImax[0][ 9][ 6]=   -0.30075;m_PhiROImin[0][ 9][ 6]=	1.79045;m_PhiROImax[0][ 9][ 6]=	 1.87312;
+     m_EtaROImin[0][ 9][ 7]=  -0.302928;m_EtaROImax[0][ 9][ 7]=  -0.222449;m_PhiROImin[0][ 9][ 7]=	1.79045;m_PhiROImax[0][ 9][ 7]=	 1.87312;
+     m_EtaROImin[0][ 9][ 8]=  -0.573871;m_EtaROImax[0][ 9][ 8]=  -0.501681;m_PhiROImin[0][ 9][ 8]=	1.87675;m_PhiROImax[0][ 9][ 8]=	 1.96071;
+     m_EtaROImin[0][ 9][ 9]=  -0.504617;m_EtaROImax[0][ 9][ 9]=   -0.42967;m_PhiROImin[0][ 9][ 9]=	1.87675;m_PhiROImax[0][ 9][ 9]=	 1.96071;
+     m_EtaROImin[0][ 9][10]=  -0.573871;m_EtaROImax[0][ 9][10]=  -0.501681;m_PhiROImin[0][ 9][10]=	1.79045;m_PhiROImax[0][ 9][10]=	 1.87312;
+     m_EtaROImin[0][ 9][11]=  -0.504617;m_EtaROImax[0][ 9][11]=   -0.42967;m_PhiROImin[0][ 9][11]=	1.79045;m_PhiROImax[0][ 9][11]=	 1.87312;
+     m_EtaROImin[0][ 9][12]=  -0.741516;m_EtaROImax[0][ 9][12]=  -0.649933;m_PhiROImin[0][ 9][12]=	1.87675;m_PhiROImax[0][ 9][12]=	 1.96071;
+     m_EtaROImin[0][ 9][13]=  -0.653329;m_EtaROImax[0][ 9][13]=  -0.583785;m_PhiROImin[0][ 9][13]=	1.87675;m_PhiROImax[0][ 9][13]=	 1.96071;
+     m_EtaROImin[0][ 9][14]=  -0.741516;m_EtaROImax[0][ 9][14]=  -0.649933;m_PhiROImin[0][ 9][14]=	1.79045;m_PhiROImax[0][ 9][14]=	 1.87312;
+     m_EtaROImin[0][ 9][15]=  -0.653329;m_EtaROImax[0][ 9][15]=  -0.583785;m_PhiROImin[0][ 9][15]=	1.79045;m_PhiROImax[0][ 9][15]=	 1.87312;
+     m_EtaROImin[0][ 9][16]=	    0;m_EtaROImax[0][ 9][16]=	     0;m_PhiROImin[0][ 9][16]=	      0;m_PhiROImax[0][ 9][16]=	       0;
+     m_EtaROImin[0][ 9][17]=  -0.837822;m_EtaROImax[0][ 9][17]=  -0.756521;m_PhiROImin[0][ 9][17]=	1.87675;m_PhiROImax[0][ 9][17]=	 1.96071;
+     m_EtaROImin[0][ 9][18]=	    0;m_EtaROImax[0][ 9][18]=	     0;m_PhiROImin[0][ 9][18]=	      0;m_PhiROImax[0][ 9][18]=	       0;
+     m_EtaROImin[0][ 9][19]=  -0.837822;m_EtaROImax[0][ 9][19]=  -0.756521;m_PhiROImin[0][ 9][19]=	1.79045;m_PhiROImax[0][ 9][19]=	 1.87312;
+     m_EtaROImin[0][ 9][20]=  -0.956037;m_EtaROImax[0][ 9][20]=  -0.899344;m_PhiROImin[0][ 9][20]=	1.87675;m_PhiROImax[0][ 9][20]=	 1.96071;
+     m_EtaROImin[0][ 9][21]=  -0.903324;m_EtaROImax[0][ 9][21]=  -0.844116;m_PhiROImin[0][ 9][21]=	1.87675;m_PhiROImax[0][ 9][21]=	 1.96071;
+     m_EtaROImin[0][ 9][22]=  -0.956037;m_EtaROImax[0][ 9][22]=  -0.899344;m_PhiROImin[0][ 9][22]=	1.79045;m_PhiROImax[0][ 9][22]=	 1.87312;
+     m_EtaROImin[0][ 9][23]=  -0.903324;m_EtaROImax[0][ 9][23]=  -0.844116;m_PhiROImin[0][ 9][23]=	1.79045;m_PhiROImax[0][ 9][23]=	 1.87312;
+     m_EtaROImin[0][ 9][24]=	    0;m_EtaROImax[0][ 9][24]=	     0;m_PhiROImin[0][ 9][24]=	      0;m_PhiROImax[0][ 9][24]=	       0;
+     m_EtaROImin[0][ 9][25]=	    0;m_EtaROImax[0][ 9][25]=	     0;m_PhiROImin[0][ 9][25]=	      0;m_PhiROImax[0][ 9][25]=	       0;
+     m_EtaROImin[0][ 9][26]=	    0;m_EtaROImax[0][ 9][26]=	     0;m_PhiROImin[0][ 9][26]=	      0;m_PhiROImax[0][ 9][26]=	       0;
+     m_EtaROImin[0][ 9][27]=	    0;m_EtaROImax[0][ 9][27]=	     0;m_PhiROImin[0][ 9][27]=	      0;m_PhiROImax[0][ 9][27]=	       0;
+     m_EtaROImin[0][ 9][28]=	    0;m_EtaROImax[0][ 9][28]=	     0;m_PhiROImin[0][ 9][28]=	      0;m_PhiROImax[0][ 9][28]=	       0;
+     m_EtaROImin[0][ 9][29]=	    0;m_EtaROImax[0][ 9][29]=	     0;m_PhiROImin[0][ 9][29]=	      0;m_PhiROImax[0][ 9][29]=	       0;
+     m_EtaROImin[0][ 9][30]=	    0;m_EtaROImax[0][ 9][30]=	     0;m_PhiROImin[0][ 9][30]=	      0;m_PhiROImax[0][ 9][30]=	       0;
+     m_EtaROImin[0][ 9][31]=	    0;m_EtaROImax[0][ 9][31]=	     0;m_PhiROImin[0][ 9][31]=	      0;m_PhiROImax[0][ 9][31]=	       0;
+     m_EtaROImin[0][10][ 0]=  -0.118734;m_EtaROImax[0][10][ 0]= -0.0208251;m_PhiROImin[0][10][ 0]=	1.96629;m_PhiROImax[0][10][ 0]=	 2.05024;
+     m_EtaROImin[0][10][ 1]=  -0.213185;m_EtaROImax[0][10][ 1]=  -0.116816;m_PhiROImin[0][10][ 1]=	1.96629;m_PhiROImax[0][10][ 1]=	 2.05024;
+     m_EtaROImin[0][10][ 2]=  -0.118734;m_EtaROImax[0][10][ 2]= -0.0208251;m_PhiROImin[0][10][ 2]=	2.05387;m_PhiROImax[0][10][ 2]=	 2.13655;
+     m_EtaROImin[0][10][ 3]=  -0.213185;m_EtaROImax[0][10][ 3]=  -0.116816;m_PhiROImin[0][10][ 3]=	2.05387;m_PhiROImax[0][10][ 3]=	 2.13655;
+     m_EtaROImin[0][10][ 4]=  -0.302928;m_EtaROImax[0][10][ 4]=  -0.222449;m_PhiROImin[0][10][ 4]=	1.96629;m_PhiROImax[0][10][ 4]=	 2.05024;
+     m_EtaROImin[0][10][ 5]=  -0.416721;m_EtaROImax[0][10][ 5]=   -0.30075;m_PhiROImin[0][10][ 5]=	1.96629;m_PhiROImax[0][10][ 5]=	 2.05024;
+     m_EtaROImin[0][10][ 6]=  -0.302928;m_EtaROImax[0][10][ 6]=  -0.222449;m_PhiROImin[0][10][ 6]=	2.05387;m_PhiROImax[0][10][ 6]=	 2.13655;
+     m_EtaROImin[0][10][ 7]=  -0.416721;m_EtaROImax[0][10][ 7]=   -0.30075;m_PhiROImin[0][10][ 7]=	2.05387;m_PhiROImax[0][10][ 7]=	 2.13655;
+     m_EtaROImin[0][10][ 8]=  -0.504617;m_EtaROImax[0][10][ 8]=   -0.42967;m_PhiROImin[0][10][ 8]=	1.96629;m_PhiROImax[0][10][ 8]=	 2.05024;
+     m_EtaROImin[0][10][ 9]=  -0.573871;m_EtaROImax[0][10][ 9]=  -0.501681;m_PhiROImin[0][10][ 9]=	1.96629;m_PhiROImax[0][10][ 9]=	 2.05024;
+     m_EtaROImin[0][10][10]=  -0.504617;m_EtaROImax[0][10][10]=   -0.42967;m_PhiROImin[0][10][10]=	2.05387;m_PhiROImax[0][10][10]=	 2.13655;
+     m_EtaROImin[0][10][11]=  -0.573871;m_EtaROImax[0][10][11]=  -0.501681;m_PhiROImin[0][10][11]=	2.05387;m_PhiROImax[0][10][11]=	 2.13655;
+     m_EtaROImin[0][10][12]=  -0.653329;m_EtaROImax[0][10][12]=  -0.583785;m_PhiROImin[0][10][12]=	1.96629;m_PhiROImax[0][10][12]=	 2.05024;
+     m_EtaROImin[0][10][13]=  -0.741516;m_EtaROImax[0][10][13]=  -0.649933;m_PhiROImin[0][10][13]=	1.96629;m_PhiROImax[0][10][13]=	 2.05024;
+     m_EtaROImin[0][10][14]=  -0.653329;m_EtaROImax[0][10][14]=  -0.583785;m_PhiROImin[0][10][14]=	2.05387;m_PhiROImax[0][10][14]=	 2.13655;
+     m_EtaROImin[0][10][15]=  -0.741516;m_EtaROImax[0][10][15]=  -0.649933;m_PhiROImin[0][10][15]=	2.05387;m_PhiROImax[0][10][15]=	 2.13655;
+     m_EtaROImin[0][10][16]=  -0.837822;m_EtaROImax[0][10][16]=  -0.756521;m_PhiROImin[0][10][16]=	1.96629;m_PhiROImax[0][10][16]=	 2.05024;
+     m_EtaROImin[0][10][17]=	    0;m_EtaROImax[0][10][17]=	     0;m_PhiROImin[0][10][17]=	      0;m_PhiROImax[0][10][17]=	       0;
+     m_EtaROImin[0][10][18]=  -0.837822;m_EtaROImax[0][10][18]=  -0.756521;m_PhiROImin[0][10][18]=	2.05387;m_PhiROImax[0][10][18]=	 2.13655;
+     m_EtaROImin[0][10][19]=	    0;m_EtaROImax[0][10][19]=	     0;m_PhiROImin[0][10][19]=	      0;m_PhiROImax[0][10][19]=	       0;
+     m_EtaROImin[0][10][20]=  -0.903324;m_EtaROImax[0][10][20]=  -0.844116;m_PhiROImin[0][10][20]=	1.96629;m_PhiROImax[0][10][20]=	 2.05024;
+     m_EtaROImin[0][10][21]=  -0.956037;m_EtaROImax[0][10][21]=  -0.899344;m_PhiROImin[0][10][21]=	1.96629;m_PhiROImax[0][10][21]=	 2.05024;
+     m_EtaROImin[0][10][22]=  -0.903324;m_EtaROImax[0][10][22]=  -0.844116;m_PhiROImin[0][10][22]=	2.05387;m_PhiROImax[0][10][22]=	 2.13655;
+     m_EtaROImin[0][10][23]=  -0.956037;m_EtaROImax[0][10][23]=  -0.899344;m_PhiROImin[0][10][23]=	2.05387;m_PhiROImax[0][10][23]=	 2.13655;
+     m_EtaROImin[0][10][24]=	    0;m_EtaROImax[0][10][24]=	     0;m_PhiROImin[0][10][24]=	      0;m_PhiROImax[0][10][24]=	       0;
+     m_EtaROImin[0][10][25]=	    0;m_EtaROImax[0][10][25]=	     0;m_PhiROImin[0][10][25]=	      0;m_PhiROImax[0][10][25]=	       0;
+     m_EtaROImin[0][10][26]=	    0;m_EtaROImax[0][10][26]=	     0;m_PhiROImin[0][10][26]=	      0;m_PhiROImax[0][10][26]=	       0;
+     m_EtaROImin[0][10][27]=	    0;m_EtaROImax[0][10][27]=	     0;m_PhiROImin[0][10][27]=	      0;m_PhiROImax[0][10][27]=	       0;
+     m_EtaROImin[0][10][28]=	    0;m_EtaROImax[0][10][28]=	     0;m_PhiROImin[0][10][28]=	      0;m_PhiROImax[0][10][28]=	       0;
+     m_EtaROImin[0][10][29]=	    0;m_EtaROImax[0][10][29]=	     0;m_PhiROImin[0][10][29]=	      0;m_PhiROImax[0][10][29]=	       0;
+     m_EtaROImin[0][10][30]=	    0;m_EtaROImax[0][10][30]=	     0;m_PhiROImin[0][10][30]=	      0;m_PhiROImax[0][10][30]=	       0;
+     m_EtaROImin[0][10][31]=	    0;m_EtaROImax[0][10][31]=	     0;m_PhiROImin[0][10][31]=	      0;m_PhiROImax[0][10][31]=	       0;
+     m_EtaROImin[0][11][ 0]=	    0;m_EtaROImax[0][11][ 0]=	     0;m_PhiROImin[0][11][ 0]=	      0;m_PhiROImax[0][11][ 0]=	       0;
+     m_EtaROImin[0][11][ 1]=  -0.238612;m_EtaROImax[0][11][ 1]=  -0.130922;m_PhiROImin[0][11][ 1]=	2.24298;m_PhiROImax[0][11][ 1]=	 2.35323;
+     m_EtaROImin[0][11][ 2]=	    0;m_EtaROImax[0][11][ 2]=	     0;m_PhiROImin[0][11][ 2]=	      0;m_PhiROImax[0][11][ 2]=	       0;
+     m_EtaROImin[0][11][ 3]=  -0.238612;m_EtaROImax[0][11][ 3]=  -0.130922;m_PhiROImin[0][11][ 3]=	2.13203;m_PhiROImax[0][11][ 3]=	 2.23946;
+     m_EtaROImin[0][11][ 4]=  -0.452099;m_EtaROImax[0][11][ 4]=  -0.350831;m_PhiROImin[0][11][ 4]=	2.24358;m_PhiROImax[0][11][ 4]=	 2.35324;
+     m_EtaROImin[0][11][ 5]=   -0.35049;m_EtaROImax[0][11][ 5]=  -0.246207;m_PhiROImin[0][11][ 5]=	2.24358;m_PhiROImax[0][11][ 5]=	 2.35324;
+     m_EtaROImin[0][11][ 6]=  -0.452099;m_EtaROImax[0][11][ 6]=  -0.350831;m_PhiROImin[0][11][ 6]=	2.13318;m_PhiROImax[0][11][ 6]=	 2.24008;
+     m_EtaROImin[0][11][ 7]=   -0.35049;m_EtaROImax[0][11][ 7]=  -0.246207;m_PhiROImin[0][11][ 7]=	2.13318;m_PhiROImax[0][11][ 7]=	 2.24008;
+     m_EtaROImin[0][11][ 8]=  -0.648101;m_EtaROImax[0][11][ 8]=  -0.555789;m_PhiROImin[0][11][ 8]=	2.24358;m_PhiROImax[0][11][ 8]=	 2.35324;
+     m_EtaROImin[0][11][ 9]=  -0.554444;m_EtaROImax[0][11][ 9]=  -0.458091;m_PhiROImin[0][11][ 9]=	2.24358;m_PhiROImax[0][11][ 9]=	 2.35324;
+     m_EtaROImin[0][11][10]=  -0.648101;m_EtaROImax[0][11][10]=  -0.555789;m_PhiROImin[0][11][10]=	2.13318;m_PhiROImax[0][11][10]=	 2.24008;
+     m_EtaROImin[0][11][11]=  -0.554444;m_EtaROImax[0][11][11]=  -0.458091;m_PhiROImin[0][11][11]=	2.13318;m_PhiROImax[0][11][11]=	 2.24008;
+     m_EtaROImin[0][11][12]=  -0.776449;m_EtaROImax[0][11][12]=  -0.731124;m_PhiROImin[0][11][12]=	2.24298;m_PhiROImax[0][11][12]=	 2.35323;
+     m_EtaROImin[0][11][13]=  -0.728056;m_EtaROImax[0][11][13]=  -0.655857;m_PhiROImin[0][11][13]=	2.24298;m_PhiROImax[0][11][13]=	 2.35323;
+     m_EtaROImin[0][11][14]=  -0.776449;m_EtaROImax[0][11][14]=  -0.731124;m_PhiROImin[0][11][14]=	2.13203;m_PhiROImax[0][11][14]=	 2.23946;
+     m_EtaROImin[0][11][15]=  -0.728056;m_EtaROImax[0][11][15]=  -0.655857;m_PhiROImin[0][11][15]=	2.13203;m_PhiROImax[0][11][15]=	 2.23946;
+     m_EtaROImin[0][11][16]=  -0.895163;m_EtaROImax[0][11][16]=  -0.853359;m_PhiROImin[0][11][16]=	2.24298;m_PhiROImax[0][11][16]=	 2.35323;
+     m_EtaROImin[0][11][17]=  -0.850528;m_EtaROImax[0][11][17]=  -0.783867;m_PhiROImin[0][11][17]=	2.24298;m_PhiROImax[0][11][17]=	 2.35323;
+     m_EtaROImin[0][11][18]=  -0.895163;m_EtaROImax[0][11][18]=  -0.853359;m_PhiROImin[0][11][18]=	2.13203;m_PhiROImax[0][11][18]=	 2.23946;
+     m_EtaROImin[0][11][19]=  -0.850528;m_EtaROImax[0][11][19]=  -0.783867;m_PhiROImin[0][11][19]=	2.13203;m_PhiROImax[0][11][19]=	 2.23946;
+     m_EtaROImin[0][11][20]=   -1.02514;m_EtaROImax[0][11][20]=  -0.964674;m_PhiROImin[0][11][20]=	2.24358;m_PhiROImax[0][11][20]=	 2.35324;
+     m_EtaROImin[0][11][21]=  -0.961344;m_EtaROImax[0][11][21]=  -0.898201;m_PhiROImin[0][11][21]=	2.24358;m_PhiROImax[0][11][21]=	 2.35324;
+     m_EtaROImin[0][11][22]=   -1.02514;m_EtaROImax[0][11][22]=  -0.964674;m_PhiROImin[0][11][22]=	2.13318;m_PhiROImax[0][11][22]=	 2.24008;
+     m_EtaROImin[0][11][23]=  -0.961344;m_EtaROImax[0][11][23]=  -0.898201;m_PhiROImin[0][11][23]=	2.13318;m_PhiROImax[0][11][23]=	 2.24008;
+     m_EtaROImin[0][11][24]=	    0;m_EtaROImax[0][11][24]=	     0;m_PhiROImin[0][11][24]=	      0;m_PhiROImax[0][11][24]=	       0;
+     m_EtaROImin[0][11][25]=   -1.06547;m_EtaROImax[0][11][25]=   -1.03003;m_PhiROImin[0][11][25]=	2.24277;m_PhiROImax[0][11][25]=	 2.35313;
+     m_EtaROImin[0][11][26]=	    0;m_EtaROImax[0][11][26]=	     0;m_PhiROImin[0][11][26]=	      0;m_PhiROImax[0][11][26]=	       0;
+     m_EtaROImin[0][11][27]=   -1.06547;m_EtaROImax[0][11][27]=   -1.03003;m_PhiROImin[0][11][27]=	2.15905;m_PhiROImax[0][11][27]=	 2.23924;
+     m_EtaROImin[0][11][28]=	    0;m_EtaROImax[0][11][28]=	     0;m_PhiROImin[0][11][28]=	      0;m_PhiROImax[0][11][28]=	       0;
+     m_EtaROImin[0][11][29]=	    0;m_EtaROImax[0][11][29]=	     0;m_PhiROImin[0][11][29]=	      0;m_PhiROImax[0][11][29]=	       0;
+     m_EtaROImin[0][11][30]=	    0;m_EtaROImax[0][11][30]=	     0;m_PhiROImin[0][11][30]=	      0;m_PhiROImax[0][11][30]=	       0;
+     m_EtaROImin[0][11][31]=	    0;m_EtaROImax[0][11][31]=	     0;m_PhiROImin[0][11][31]=	      0;m_PhiROImax[0][11][31]=	       0;
+     m_EtaROImin[0][12][ 0]=  -0.238612;m_EtaROImax[0][12][ 0]=  -0.130922;m_PhiROImin[0][12][ 0]=	2.35916;m_PhiROImax[0][12][ 0]=	 2.46941;
+     m_EtaROImin[0][12][ 1]=	    0;m_EtaROImax[0][12][ 1]=	     0;m_PhiROImin[0][12][ 1]=	      0;m_PhiROImax[0][12][ 1]=	       0;
+     m_EtaROImin[0][12][ 2]=  -0.238612;m_EtaROImax[0][12][ 2]=  -0.130922;m_PhiROImin[0][12][ 2]=	2.47293;m_PhiROImax[0][12][ 2]=	 2.58036;
+     m_EtaROImin[0][12][ 3]=	    0;m_EtaROImax[0][12][ 3]=	     0;m_PhiROImin[0][12][ 3]=	      0;m_PhiROImax[0][12][ 3]=	       0;
+     m_EtaROImin[0][12][ 4]=   -0.35049;m_EtaROImax[0][12][ 4]=  -0.246207;m_PhiROImin[0][12][ 4]=	2.35915;m_PhiROImax[0][12][ 4]=	 2.46881;
+     m_EtaROImin[0][12][ 5]=  -0.452099;m_EtaROImax[0][12][ 5]=  -0.350831;m_PhiROImin[0][12][ 5]=	2.35915;m_PhiROImax[0][12][ 5]=	 2.46881;
+     m_EtaROImin[0][12][ 6]=   -0.35049;m_EtaROImax[0][12][ 6]=  -0.246207;m_PhiROImin[0][12][ 6]=	2.47231;m_PhiROImax[0][12][ 6]=	 2.57921;
+     m_EtaROImin[0][12][ 7]=  -0.452099;m_EtaROImax[0][12][ 7]=  -0.350831;m_PhiROImin[0][12][ 7]=	2.47231;m_PhiROImax[0][12][ 7]=	 2.57921;
+     m_EtaROImin[0][12][ 8]=  -0.554444;m_EtaROImax[0][12][ 8]=  -0.458091;m_PhiROImin[0][12][ 8]=	2.35915;m_PhiROImax[0][12][ 8]=	 2.46881;
+     m_EtaROImin[0][12][ 9]=  -0.648101;m_EtaROImax[0][12][ 9]=  -0.555789;m_PhiROImin[0][12][ 9]=	2.35915;m_PhiROImax[0][12][ 9]=	 2.46881;
+     m_EtaROImin[0][12][10]=  -0.554444;m_EtaROImax[0][12][10]=  -0.458091;m_PhiROImin[0][12][10]=	2.47231;m_PhiROImax[0][12][10]=	 2.57921;
+     m_EtaROImin[0][12][11]=  -0.648101;m_EtaROImax[0][12][11]=  -0.555789;m_PhiROImin[0][12][11]=	2.47231;m_PhiROImax[0][12][11]=	 2.57921;
+     m_EtaROImin[0][12][12]=  -0.703298;m_EtaROImax[0][12][12]=  -0.655857;m_PhiROImin[0][12][12]=	2.35916;m_PhiROImax[0][12][12]=	 2.46941;
+     m_EtaROImin[0][12][13]=  -0.776449;m_EtaROImax[0][12][13]=  -0.706413;m_PhiROImin[0][12][13]=	2.35916;m_PhiROImax[0][12][13]=	 2.46941;
+     m_EtaROImin[0][12][14]=  -0.703298;m_EtaROImax[0][12][14]=  -0.655857;m_PhiROImin[0][12][14]=	2.47293;m_PhiROImax[0][12][14]=	 2.58036;
+     m_EtaROImin[0][12][15]=  -0.776449;m_EtaROImax[0][12][15]=  -0.706413;m_PhiROImin[0][12][15]=	2.47293;m_PhiROImax[0][12][15]=	 2.58036;
+     m_EtaROImin[0][12][16]=   -0.82768;m_EtaROImax[0][12][16]=  -0.783867;m_PhiROImin[0][12][16]=	2.35916;m_PhiROImax[0][12][16]=	 2.46941;
+     m_EtaROImin[0][12][17]=  -0.895163;m_EtaROImax[0][12][17]=  -0.830556;m_PhiROImin[0][12][17]=	2.35916;m_PhiROImax[0][12][17]=	 2.46941;
+     m_EtaROImin[0][12][18]=   -0.82768;m_EtaROImax[0][12][18]=  -0.783867;m_PhiROImin[0][12][18]=	2.47293;m_PhiROImax[0][12][18]=	 2.58036;
+     m_EtaROImin[0][12][19]=  -0.895163;m_EtaROImax[0][12][19]=  -0.830556;m_PhiROImin[0][12][19]=	2.47293;m_PhiROImax[0][12][19]=	 2.58036;
+     m_EtaROImin[0][12][20]=  -0.961344;m_EtaROImax[0][12][20]=  -0.898201;m_PhiROImin[0][12][20]=	2.35915;m_PhiROImax[0][12][20]=	 2.46881;
+     m_EtaROImin[0][12][21]=   -1.02514;m_EtaROImax[0][12][21]=  -0.964674;m_PhiROImin[0][12][21]=	2.35915;m_PhiROImax[0][12][21]=	 2.46881;
+     m_EtaROImin[0][12][22]=  -0.961344;m_EtaROImax[0][12][22]=  -0.898201;m_PhiROImin[0][12][22]=	2.47231;m_PhiROImax[0][12][22]=	 2.57921;
+     m_EtaROImin[0][12][23]=   -1.02514;m_EtaROImax[0][12][23]=  -0.964674;m_PhiROImin[0][12][23]=	2.47231;m_PhiROImax[0][12][23]=	 2.57921;
+     m_EtaROImin[0][12][24]=   -1.06547;m_EtaROImax[0][12][24]=   -1.03003;m_PhiROImin[0][12][24]=	2.35926;m_PhiROImax[0][12][24]=	 2.46962;
+     m_EtaROImin[0][12][25]=	    0;m_EtaROImax[0][12][25]=	     0;m_PhiROImin[0][12][25]=	      0;m_PhiROImax[0][12][25]=	       0;
+     m_EtaROImin[0][12][26]=   -1.06547;m_EtaROImax[0][12][26]=   -1.03003;m_PhiROImin[0][12][26]=	2.47315;m_PhiROImax[0][12][26]=	 2.55334;
+     m_EtaROImin[0][12][27]=	    0;m_EtaROImax[0][12][27]=	     0;m_PhiROImin[0][12][27]=	      0;m_PhiROImax[0][12][27]=	       0;
+     m_EtaROImin[0][12][28]=	    0;m_EtaROImax[0][12][28]=	     0;m_PhiROImin[0][12][28]=	      0;m_PhiROImax[0][12][28]=	       0;
+     m_EtaROImin[0][12][29]=	    0;m_EtaROImax[0][12][29]=	     0;m_PhiROImin[0][12][29]=	      0;m_PhiROImax[0][12][29]=	       0;
+     m_EtaROImin[0][12][30]=	    0;m_EtaROImax[0][12][30]=	     0;m_PhiROImin[0][12][30]=	      0;m_PhiROImax[0][12][30]=	       0;
+     m_EtaROImin[0][12][31]=	    0;m_EtaROImax[0][12][31]=	     0;m_PhiROImin[0][12][31]=	      0;m_PhiROImax[0][12][31]=	       0;
+     m_EtaROImin[0][13][ 0]=  -0.214185;m_EtaROImax[0][13][ 0]=  -0.117369;m_PhiROImin[0][13][ 0]=	2.66256;m_PhiROImax[0][13][ 0]=	 2.74612;
+     m_EtaROImin[0][13][ 1]=  -0.118174;m_EtaROImax[0][13][ 1]= -0.0207264;m_PhiROImin[0][13][ 1]=	2.66256;m_PhiROImax[0][13][ 1]=	 2.74612;
+     m_EtaROImin[0][13][ 2]=  -0.214185;m_EtaROImax[0][13][ 2]=  -0.117369;m_PhiROImin[0][13][ 2]=	2.57665;m_PhiROImax[0][13][ 2]=	 2.65895;
+     m_EtaROImin[0][13][ 3]=  -0.118174;m_EtaROImax[0][13][ 3]= -0.0207264;m_PhiROImin[0][13][ 3]=	2.57665;m_PhiROImax[0][13][ 3]=	 2.65895;
+     m_EtaROImin[0][13][ 4]=  -0.416721;m_EtaROImax[0][13][ 4]=   -0.30075;m_PhiROImin[0][13][ 4]=	2.66215;m_PhiROImax[0][13][ 4]=	  2.7461;
+     m_EtaROImin[0][13][ 5]=  -0.302928;m_EtaROImax[0][13][ 5]=  -0.222449;m_PhiROImin[0][13][ 5]=	2.66215;m_PhiROImax[0][13][ 5]=	  2.7461;
+     m_EtaROImin[0][13][ 6]=  -0.416721;m_EtaROImax[0][13][ 6]=   -0.30075;m_PhiROImin[0][13][ 6]=	2.57584;m_PhiROImax[0][13][ 6]=	 2.65852;
+     m_EtaROImin[0][13][ 7]=  -0.302928;m_EtaROImax[0][13][ 7]=  -0.222449;m_PhiROImin[0][13][ 7]=	2.57584;m_PhiROImax[0][13][ 7]=	 2.65852;
+     m_EtaROImin[0][13][ 8]=  -0.573871;m_EtaROImax[0][13][ 8]=  -0.501681;m_PhiROImin[0][13][ 8]=	2.66215;m_PhiROImax[0][13][ 8]=	  2.7461;
+     m_EtaROImin[0][13][ 9]=  -0.504617;m_EtaROImax[0][13][ 9]=   -0.42967;m_PhiROImin[0][13][ 9]=	2.66215;m_PhiROImax[0][13][ 9]=	  2.7461;
+     m_EtaROImin[0][13][10]=  -0.573871;m_EtaROImax[0][13][10]=  -0.501681;m_PhiROImin[0][13][10]=	2.57584;m_PhiROImax[0][13][10]=	 2.65852;
+     m_EtaROImin[0][13][11]=  -0.504617;m_EtaROImax[0][13][11]=   -0.42967;m_PhiROImin[0][13][11]=	2.57584;m_PhiROImax[0][13][11]=	 2.65852;
+     m_EtaROImin[0][13][12]=  -0.741516;m_EtaROImax[0][13][12]=  -0.649933;m_PhiROImin[0][13][12]=	2.66215;m_PhiROImax[0][13][12]=	  2.7461;
+     m_EtaROImin[0][13][13]=  -0.653329;m_EtaROImax[0][13][13]=  -0.583785;m_PhiROImin[0][13][13]=	2.66215;m_PhiROImax[0][13][13]=	  2.7461;
+     m_EtaROImin[0][13][14]=  -0.741516;m_EtaROImax[0][13][14]=  -0.649933;m_PhiROImin[0][13][14]=	2.57584;m_PhiROImax[0][13][14]=	 2.65852;
+     m_EtaROImin[0][13][15]=  -0.653329;m_EtaROImax[0][13][15]=  -0.583785;m_PhiROImin[0][13][15]=	2.57584;m_PhiROImax[0][13][15]=	 2.65852;
+     m_EtaROImin[0][13][16]=	    0;m_EtaROImax[0][13][16]=	     0;m_PhiROImin[0][13][16]=	      0;m_PhiROImax[0][13][16]=	       0;
+     m_EtaROImin[0][13][17]=  -0.837822;m_EtaROImax[0][13][17]=  -0.756521;m_PhiROImin[0][13][17]=	2.66215;m_PhiROImax[0][13][17]=	  2.7461;
+     m_EtaROImin[0][13][18]=	    0;m_EtaROImax[0][13][18]=	     0;m_PhiROImin[0][13][18]=	      0;m_PhiROImax[0][13][18]=	       0;
+     m_EtaROImin[0][13][19]=  -0.837822;m_EtaROImax[0][13][19]=  -0.756521;m_PhiROImin[0][13][19]=	2.57584;m_PhiROImax[0][13][19]=	 2.65852;
+     m_EtaROImin[0][13][20]=  -0.956037;m_EtaROImax[0][13][20]=  -0.899344;m_PhiROImin[0][13][20]=	2.66215;m_PhiROImax[0][13][20]=	  2.7461;
+     m_EtaROImin[0][13][21]=  -0.903324;m_EtaROImax[0][13][21]=  -0.844116;m_PhiROImin[0][13][21]=	2.66215;m_PhiROImax[0][13][21]=	  2.7461;
+     m_EtaROImin[0][13][22]=  -0.956037;m_EtaROImax[0][13][22]=  -0.899344;m_PhiROImin[0][13][22]=	2.57584;m_PhiROImax[0][13][22]=	 2.65852;
+     m_EtaROImin[0][13][23]=  -0.903324;m_EtaROImax[0][13][23]=  -0.844116;m_PhiROImin[0][13][23]=	2.57584;m_PhiROImax[0][13][23]=	 2.65852;
+     m_EtaROImin[0][13][24]=	    0;m_EtaROImax[0][13][24]=	     0;m_PhiROImin[0][13][24]=	      0;m_PhiROImax[0][13][24]=	       0;
+     m_EtaROImin[0][13][25]=	    0;m_EtaROImax[0][13][25]=	     0;m_PhiROImin[0][13][25]=	      0;m_PhiROImax[0][13][25]=	       0;
+     m_EtaROImin[0][13][26]=	    0;m_EtaROImax[0][13][26]=	     0;m_PhiROImin[0][13][26]=	      0;m_PhiROImax[0][13][26]=	       0;
+     m_EtaROImin[0][13][27]=	    0;m_EtaROImax[0][13][27]=	     0;m_PhiROImin[0][13][27]=	      0;m_PhiROImax[0][13][27]=	       0;
+     m_EtaROImin[0][13][28]=	    0;m_EtaROImax[0][13][28]=	     0;m_PhiROImin[0][13][28]=	      0;m_PhiROImax[0][13][28]=	       0;
+     m_EtaROImin[0][13][29]=	    0;m_EtaROImax[0][13][29]=	     0;m_PhiROImin[0][13][29]=	      0;m_PhiROImax[0][13][29]=	       0;
+     m_EtaROImin[0][13][30]=	    0;m_EtaROImax[0][13][30]=	     0;m_PhiROImin[0][13][30]=	      0;m_PhiROImax[0][13][30]=	       0;
+     m_EtaROImin[0][13][31]=	    0;m_EtaROImax[0][13][31]=	     0;m_PhiROImin[0][13][31]=	      0;m_PhiROImax[0][13][31]=	       0;
+     m_EtaROImin[0][14][ 0]=  -0.118174;m_EtaROImax[0][14][ 0]= -0.0207264;m_PhiROImin[0][14][ 0]=	2.75167;m_PhiROImax[0][14][ 0]=	 2.83523;
+     m_EtaROImin[0][14][ 1]=  -0.214185;m_EtaROImax[0][14][ 1]=  -0.117369;m_PhiROImin[0][14][ 1]=	2.75167;m_PhiROImax[0][14][ 1]=	 2.83523;
+     m_EtaROImin[0][14][ 2]=  -0.118174;m_EtaROImax[0][14][ 2]= -0.0207264;m_PhiROImin[0][14][ 2]=	2.83884;m_PhiROImax[0][14][ 2]=	 2.92113;
+     m_EtaROImin[0][14][ 3]=  -0.214185;m_EtaROImax[0][14][ 3]=  -0.117369;m_PhiROImin[0][14][ 3]=	2.83884;m_PhiROImax[0][14][ 3]=	 2.92113;
+     m_EtaROImin[0][14][ 4]=  -0.302928;m_EtaROImax[0][14][ 4]=  -0.222449;m_PhiROImin[0][14][ 4]=	2.75168;m_PhiROImax[0][14][ 4]=	 2.83564;
+     m_EtaROImin[0][14][ 5]=  -0.416721;m_EtaROImax[0][14][ 5]=   -0.30075;m_PhiROImin[0][14][ 5]=	2.75168;m_PhiROImax[0][14][ 5]=	 2.83564;
+     m_EtaROImin[0][14][ 6]=  -0.302928;m_EtaROImax[0][14][ 6]=  -0.222449;m_PhiROImin[0][14][ 6]=	2.83927;m_PhiROImax[0][14][ 6]=	 2.92194;
+     m_EtaROImin[0][14][ 7]=  -0.416721;m_EtaROImax[0][14][ 7]=   -0.30075;m_PhiROImin[0][14][ 7]=	2.83927;m_PhiROImax[0][14][ 7]=	 2.92194;
+     m_EtaROImin[0][14][ 8]=  -0.504617;m_EtaROImax[0][14][ 8]=   -0.42967;m_PhiROImin[0][14][ 8]=	2.75168;m_PhiROImax[0][14][ 8]=	 2.83564;
+     m_EtaROImin[0][14][ 9]=  -0.573871;m_EtaROImax[0][14][ 9]=  -0.501681;m_PhiROImin[0][14][ 9]=	2.75168;m_PhiROImax[0][14][ 9]=	 2.83564;
+     m_EtaROImin[0][14][10]=  -0.504617;m_EtaROImax[0][14][10]=   -0.42967;m_PhiROImin[0][14][10]=	2.83927;m_PhiROImax[0][14][10]=	 2.92194;
+     m_EtaROImin[0][14][11]=  -0.573871;m_EtaROImax[0][14][11]=  -0.501681;m_PhiROImin[0][14][11]=	2.83927;m_PhiROImax[0][14][11]=	 2.92194;
+     m_EtaROImin[0][14][12]=  -0.653329;m_EtaROImax[0][14][12]=  -0.583785;m_PhiROImin[0][14][12]=	2.75168;m_PhiROImax[0][14][12]=	 2.83564;
+     m_EtaROImin[0][14][13]=  -0.741516;m_EtaROImax[0][14][13]=  -0.649933;m_PhiROImin[0][14][13]=	2.75168;m_PhiROImax[0][14][13]=	 2.83564;
+     m_EtaROImin[0][14][14]=  -0.653329;m_EtaROImax[0][14][14]=  -0.583785;m_PhiROImin[0][14][14]=	2.83927;m_PhiROImax[0][14][14]=	 2.92194;
+     m_EtaROImin[0][14][15]=  -0.741516;m_EtaROImax[0][14][15]=  -0.649933;m_PhiROImin[0][14][15]=	2.83927;m_PhiROImax[0][14][15]=	 2.92194;
+     m_EtaROImin[0][14][16]=  -0.837822;m_EtaROImax[0][14][16]=  -0.756521;m_PhiROImin[0][14][16]=	2.75168;m_PhiROImax[0][14][16]=	 2.83564;
+     m_EtaROImin[0][14][17]=	    0;m_EtaROImax[0][14][17]=	     0;m_PhiROImin[0][14][17]=	      0;m_PhiROImax[0][14][17]=	       0;
+     m_EtaROImin[0][14][18]=  -0.837822;m_EtaROImax[0][14][18]=  -0.756521;m_PhiROImin[0][14][18]=	2.83927;m_PhiROImax[0][14][18]=	 2.92194;
+     m_EtaROImin[0][14][19]=	    0;m_EtaROImax[0][14][19]=	     0;m_PhiROImin[0][14][19]=	      0;m_PhiROImax[0][14][19]=	       0;
+     m_EtaROImin[0][14][20]=  -0.903324;m_EtaROImax[0][14][20]=  -0.844116;m_PhiROImin[0][14][20]=	2.75168;m_PhiROImax[0][14][20]=	 2.83564;
+     m_EtaROImin[0][14][21]=  -0.956037;m_EtaROImax[0][14][21]=  -0.899344;m_PhiROImin[0][14][21]=	2.75168;m_PhiROImax[0][14][21]=	 2.83564;
+     m_EtaROImin[0][14][22]=  -0.903324;m_EtaROImax[0][14][22]=  -0.844116;m_PhiROImin[0][14][22]=	2.83927;m_PhiROImax[0][14][22]=	 2.92194;
+     m_EtaROImin[0][14][23]=  -0.956037;m_EtaROImax[0][14][23]=  -0.899344;m_PhiROImin[0][14][23]=	2.83927;m_PhiROImax[0][14][23]=	 2.92194;
+     m_EtaROImin[0][14][24]=	    0;m_EtaROImax[0][14][24]=	     0;m_PhiROImin[0][14][24]=	      0;m_PhiROImax[0][14][24]=	       0;
+     m_EtaROImin[0][14][25]=	    0;m_EtaROImax[0][14][25]=	     0;m_PhiROImin[0][14][25]=	      0;m_PhiROImax[0][14][25]=	       0;
+     m_EtaROImin[0][14][26]=	    0;m_EtaROImax[0][14][26]=	     0;m_PhiROImin[0][14][26]=	      0;m_PhiROImax[0][14][26]=	       0;
+     m_EtaROImin[0][14][27]=	    0;m_EtaROImax[0][14][27]=	     0;m_PhiROImin[0][14][27]=	      0;m_PhiROImax[0][14][27]=	       0;
+     m_EtaROImin[0][14][28]=	    0;m_EtaROImax[0][14][28]=	     0;m_PhiROImin[0][14][28]=	      0;m_PhiROImax[0][14][28]=	       0;
+     m_EtaROImin[0][14][29]=	    0;m_EtaROImax[0][14][29]=	     0;m_PhiROImin[0][14][29]=	      0;m_PhiROImax[0][14][29]=	       0;
+     m_EtaROImin[0][14][30]=	    0;m_EtaROImax[0][14][30]=	     0;m_PhiROImin[0][14][30]=	      0;m_PhiROImax[0][14][30]=	       0;
+     m_EtaROImin[0][14][31]=	    0;m_EtaROImax[0][14][31]=	     0;m_PhiROImin[0][14][31]=	      0;m_PhiROImax[0][14][31]=	       0;
+     m_EtaROImin[0][15][ 0]=  -0.238476;m_EtaROImax[0][15][ 0]=  -0.180926;m_PhiROImin[0][15][ 0]=	3.02838;m_PhiROImax[0][15][ 0]=	 3.13862;
+     m_EtaROImin[0][15][ 1]=  -0.177066;m_EtaROImax[0][15][ 1]= -0.0876766;m_PhiROImin[0][15][ 1]=	3.02838;m_PhiROImax[0][15][ 1]=	 3.13862;
+     m_EtaROImin[0][15][ 2]=  -0.238476;m_EtaROImax[0][15][ 2]=  -0.180926;m_PhiROImin[0][15][ 2]=	2.91742;m_PhiROImax[0][15][ 2]=	 3.02486;
+     m_EtaROImin[0][15][ 3]=  -0.177066;m_EtaROImax[0][15][ 3]= -0.0876766;m_PhiROImin[0][15][ 3]=	2.91742;m_PhiROImax[0][15][ 3]=	 3.02486;
+     m_EtaROImin[0][15][ 4]=  -0.452099;m_EtaROImax[0][15][ 4]=  -0.350831;m_PhiROImin[0][15][ 4]=	3.02898;m_PhiROImax[0][15][ 4]=	 3.13864;
+     m_EtaROImin[0][15][ 5]=   -0.35049;m_EtaROImax[0][15][ 5]=  -0.246207;m_PhiROImin[0][15][ 5]=	3.02898;m_PhiROImax[0][15][ 5]=	 3.13864;
+     m_EtaROImin[0][15][ 6]=  -0.452099;m_EtaROImax[0][15][ 6]=  -0.350831;m_PhiROImin[0][15][ 6]=	2.91858;m_PhiROImax[0][15][ 6]=	 3.02547;
+     m_EtaROImin[0][15][ 7]=   -0.35049;m_EtaROImax[0][15][ 7]=  -0.246207;m_PhiROImin[0][15][ 7]=	2.91858;m_PhiROImax[0][15][ 7]=	 3.02547;
+     m_EtaROImin[0][15][ 8]=  -0.648101;m_EtaROImax[0][15][ 8]=  -0.555789;m_PhiROImin[0][15][ 8]=	3.02898;m_PhiROImax[0][15][ 8]=	 3.13864;
+     m_EtaROImin[0][15][ 9]=  -0.554444;m_EtaROImax[0][15][ 9]=  -0.458091;m_PhiROImin[0][15][ 9]=	3.02898;m_PhiROImax[0][15][ 9]=	 3.13864;
+     m_EtaROImin[0][15][10]=  -0.648101;m_EtaROImax[0][15][10]=  -0.555789;m_PhiROImin[0][15][10]=	2.91858;m_PhiROImax[0][15][10]=	 3.02547;
+     m_EtaROImin[0][15][11]=  -0.554444;m_EtaROImax[0][15][11]=  -0.458091;m_PhiROImin[0][15][11]=	2.91858;m_PhiROImax[0][15][11]=	 3.02547;
+     m_EtaROImin[0][15][12]=  -0.776449;m_EtaROImax[0][15][12]=  -0.731124;m_PhiROImin[0][15][12]=	3.02838;m_PhiROImax[0][15][12]=	 3.13862;
+     m_EtaROImin[0][15][13]=  -0.728056;m_EtaROImax[0][15][13]=  -0.655857;m_PhiROImin[0][15][13]=	3.02838;m_PhiROImax[0][15][13]=	 3.13862;
+     m_EtaROImin[0][15][14]=  -0.776449;m_EtaROImax[0][15][14]=  -0.731124;m_PhiROImin[0][15][14]=	2.91742;m_PhiROImax[0][15][14]=	 3.02486;
+     m_EtaROImin[0][15][15]=  -0.728056;m_EtaROImax[0][15][15]=  -0.655857;m_PhiROImin[0][15][15]=	2.91742;m_PhiROImax[0][15][15]=	 3.02486;
+     m_EtaROImin[0][15][16]=  -0.895163;m_EtaROImax[0][15][16]=  -0.853359;m_PhiROImin[0][15][16]=	3.02838;m_PhiROImax[0][15][16]=	 3.13862;
+     m_EtaROImin[0][15][17]=  -0.850528;m_EtaROImax[0][15][17]=  -0.783867;m_PhiROImin[0][15][17]=	3.02838;m_PhiROImax[0][15][17]=	 3.13862;
+     m_EtaROImin[0][15][18]=  -0.895163;m_EtaROImax[0][15][18]=  -0.853359;m_PhiROImin[0][15][18]=	2.91742;m_PhiROImax[0][15][18]=	 3.02486;
+     m_EtaROImin[0][15][19]=  -0.850528;m_EtaROImax[0][15][19]=  -0.783867;m_PhiROImin[0][15][19]=	2.91742;m_PhiROImax[0][15][19]=	 3.02486;
+     m_EtaROImin[0][15][20]=   -1.02514;m_EtaROImax[0][15][20]=  -0.964674;m_PhiROImin[0][15][20]=	3.02898;m_PhiROImax[0][15][20]=	 3.13864;
+     m_EtaROImin[0][15][21]=  -0.961344;m_EtaROImax[0][15][21]=  -0.898201;m_PhiROImin[0][15][21]=	3.02898;m_PhiROImax[0][15][21]=	 3.13864;
+     m_EtaROImin[0][15][22]=   -1.02514;m_EtaROImax[0][15][22]=  -0.964674;m_PhiROImin[0][15][22]=	2.91858;m_PhiROImax[0][15][22]=	 3.02547;
+     m_EtaROImin[0][15][23]=  -0.961344;m_EtaROImax[0][15][23]=  -0.898201;m_PhiROImin[0][15][23]=	2.91858;m_PhiROImax[0][15][23]=	 3.02547;
+     m_EtaROImin[0][15][24]=	    0;m_EtaROImax[0][15][24]=	     0;m_PhiROImin[0][15][24]=	      0;m_PhiROImax[0][15][24]=	       0;
+     m_EtaROImin[0][15][25]=   -1.06547;m_EtaROImax[0][15][25]=   -1.03003;m_PhiROImin[0][15][25]=	3.02816;m_PhiROImax[0][15][25]=	 3.13852;
+     m_EtaROImin[0][15][26]=	    0;m_EtaROImax[0][15][26]=	     0;m_PhiROImin[0][15][26]=	      0;m_PhiROImax[0][15][26]=	       0;
+     m_EtaROImin[0][15][27]=   -1.06547;m_EtaROImax[0][15][27]=   -1.03003;m_PhiROImin[0][15][27]=	2.94445;m_PhiROImax[0][15][27]=	 3.02463;
+     m_EtaROImin[0][15][28]=	    0;m_EtaROImax[0][15][28]=	     0;m_PhiROImin[0][15][28]=	      0;m_PhiROImax[0][15][28]=	       0;
+     m_EtaROImin[0][15][29]=	    0;m_EtaROImax[0][15][29]=	     0;m_PhiROImin[0][15][29]=	      0;m_PhiROImax[0][15][29]=	       0;
+     m_EtaROImin[0][15][30]=	    0;m_EtaROImax[0][15][30]=	     0;m_PhiROImin[0][15][30]=	      0;m_PhiROImax[0][15][30]=	       0;
+     m_EtaROImin[0][15][31]=	    0;m_EtaROImax[0][15][31]=	     0;m_PhiROImin[0][15][31]=	      0;m_PhiROImax[0][15][31]=	       0;
+     m_EtaROImin[0][16][ 0]=  -0.146097;m_EtaROImax[0][16][ 0]= -0.0876766;m_PhiROImin[0][16][ 0]=   -3.13862;m_PhiROImax[0][16][ 0]=	-3.02838;
+     m_EtaROImin[0][16][ 1]=  -0.238476;m_EtaROImax[0][16][ 1]=  -0.149976;m_PhiROImin[0][16][ 1]=   -3.13862;m_PhiROImax[0][16][ 1]=	-3.02838;
+     m_EtaROImin[0][16][ 2]=  -0.146097;m_EtaROImax[0][16][ 2]= -0.0876766;m_PhiROImin[0][16][ 2]=   -3.02486;m_PhiROImax[0][16][ 2]=	-2.91742;
+     m_EtaROImin[0][16][ 3]=  -0.238476;m_EtaROImax[0][16][ 3]=  -0.149976;m_PhiROImin[0][16][ 3]=   -3.02486;m_PhiROImax[0][16][ 3]=	-2.91742;
+     m_EtaROImin[0][16][ 4]=   -0.35049;m_EtaROImax[0][16][ 4]=  -0.246207;m_PhiROImin[0][16][ 4]=   -3.13864;m_PhiROImax[0][16][ 4]=	-3.02898;
+     m_EtaROImin[0][16][ 5]=  -0.452099;m_EtaROImax[0][16][ 5]=  -0.350831;m_PhiROImin[0][16][ 5]=   -3.13864;m_PhiROImax[0][16][ 5]=	-3.02898;
+     m_EtaROImin[0][16][ 6]=   -0.35049;m_EtaROImax[0][16][ 6]=  -0.246207;m_PhiROImin[0][16][ 6]=   -3.02547;m_PhiROImax[0][16][ 6]=	-2.91858;
+     m_EtaROImin[0][16][ 7]=  -0.452099;m_EtaROImax[0][16][ 7]=  -0.350831;m_PhiROImin[0][16][ 7]=   -3.02547;m_PhiROImax[0][16][ 7]=	-2.91858;
+     m_EtaROImin[0][16][ 8]=  -0.554444;m_EtaROImax[0][16][ 8]=  -0.458091;m_PhiROImin[0][16][ 8]=   -3.13864;m_PhiROImax[0][16][ 8]=	-3.02898;
+     m_EtaROImin[0][16][ 9]=  -0.648101;m_EtaROImax[0][16][ 9]=  -0.555789;m_PhiROImin[0][16][ 9]=   -3.13864;m_PhiROImax[0][16][ 9]=	-3.02898;
+     m_EtaROImin[0][16][10]=  -0.554444;m_EtaROImax[0][16][10]=  -0.458091;m_PhiROImin[0][16][10]=   -3.02547;m_PhiROImax[0][16][10]=	-2.91858;
+     m_EtaROImin[0][16][11]=  -0.648101;m_EtaROImax[0][16][11]=  -0.555789;m_PhiROImin[0][16][11]=   -3.02547;m_PhiROImax[0][16][11]=	-2.91858;
+     m_EtaROImin[0][16][12]=  -0.703298;m_EtaROImax[0][16][12]=  -0.655857;m_PhiROImin[0][16][12]=   -3.13862;m_PhiROImax[0][16][12]=	-3.02838;
+     m_EtaROImin[0][16][13]=  -0.776449;m_EtaROImax[0][16][13]=  -0.706413;m_PhiROImin[0][16][13]=   -3.13862;m_PhiROImax[0][16][13]=	-3.02838;
+     m_EtaROImin[0][16][14]=  -0.703298;m_EtaROImax[0][16][14]=  -0.655857;m_PhiROImin[0][16][14]=   -3.02486;m_PhiROImax[0][16][14]=	-2.91742;
+     m_EtaROImin[0][16][15]=  -0.776449;m_EtaROImax[0][16][15]=  -0.706413;m_PhiROImin[0][16][15]=   -3.02486;m_PhiROImax[0][16][15]=	-2.91742;
+     m_EtaROImin[0][16][16]=   -0.82768;m_EtaROImax[0][16][16]=  -0.783867;m_PhiROImin[0][16][16]=   -3.13862;m_PhiROImax[0][16][16]=	-3.02838;
+     m_EtaROImin[0][16][17]=  -0.895163;m_EtaROImax[0][16][17]=  -0.830556;m_PhiROImin[0][16][17]=   -3.13862;m_PhiROImax[0][16][17]=	-3.02838;
+     m_EtaROImin[0][16][18]=   -0.82768;m_EtaROImax[0][16][18]=  -0.783867;m_PhiROImin[0][16][18]=   -3.02486;m_PhiROImax[0][16][18]=	-2.91742;
+     m_EtaROImin[0][16][19]=  -0.895163;m_EtaROImax[0][16][19]=  -0.830556;m_PhiROImin[0][16][19]=   -3.02486;m_PhiROImax[0][16][19]=	-2.91742;
+     m_EtaROImin[0][16][20]=  -0.961344;m_EtaROImax[0][16][20]=  -0.898201;m_PhiROImin[0][16][20]=   -3.13864;m_PhiROImax[0][16][20]=	-3.02898;
+     m_EtaROImin[0][16][21]=   -1.02514;m_EtaROImax[0][16][21]=  -0.964674;m_PhiROImin[0][16][21]=   -3.13864;m_PhiROImax[0][16][21]=	-3.02898;
+     m_EtaROImin[0][16][22]=  -0.961344;m_EtaROImax[0][16][22]=  -0.898201;m_PhiROImin[0][16][22]=   -3.02547;m_PhiROImax[0][16][22]=	-2.91858;
+     m_EtaROImin[0][16][23]=   -1.02514;m_EtaROImax[0][16][23]=  -0.964674;m_PhiROImin[0][16][23]=   -3.02547;m_PhiROImax[0][16][23]=	-2.91858;
+     m_EtaROImin[0][16][24]=   -1.06547;m_EtaROImax[0][16][24]=   -1.03003;m_PhiROImin[0][16][24]=   -3.13852;m_PhiROImax[0][16][24]=	-3.02816;
+     m_EtaROImin[0][16][25]=	    0;m_EtaROImax[0][16][25]=	     0;m_PhiROImin[0][16][25]=	      0;m_PhiROImax[0][16][25]=	       0;
+     m_EtaROImin[0][16][26]=   -1.06547;m_EtaROImax[0][16][26]=   -1.03003;m_PhiROImin[0][16][26]=   -3.02463;m_PhiROImax[0][16][26]=	-2.94445;
+     m_EtaROImin[0][16][27]=	    0;m_EtaROImax[0][16][27]=	     0;m_PhiROImin[0][16][27]=	      0;m_PhiROImax[0][16][27]=	       0;
+     m_EtaROImin[0][16][28]=	    0;m_EtaROImax[0][16][28]=	     0;m_PhiROImin[0][16][28]=	      0;m_PhiROImax[0][16][28]=	       0;
+     m_EtaROImin[0][16][29]=	    0;m_EtaROImax[0][16][29]=	     0;m_PhiROImin[0][16][29]=	      0;m_PhiROImax[0][16][29]=	       0;
+     m_EtaROImin[0][16][30]=	    0;m_EtaROImax[0][16][30]=	     0;m_PhiROImin[0][16][30]=	      0;m_PhiROImax[0][16][30]=	       0;
+     m_EtaROImin[0][16][31]=	    0;m_EtaROImax[0][16][31]=	     0;m_PhiROImin[0][16][31]=	      0;m_PhiROImax[0][16][31]=	       0;
+     m_EtaROImin[0][17][ 0]=  -0.213185;m_EtaROImax[0][17][ 0]=  -0.116816;m_PhiROImin[0][17][ 0]=   -2.83564;m_PhiROImax[0][17][ 0]=	-2.75168;
+     m_EtaROImin[0][17][ 1]=  -0.118734;m_EtaROImax[0][17][ 1]= -0.0208251;m_PhiROImin[0][17][ 1]=   -2.83564;m_PhiROImax[0][17][ 1]=	-2.75168;
+     m_EtaROImin[0][17][ 2]=  -0.213185;m_EtaROImax[0][17][ 2]=  -0.116816;m_PhiROImin[0][17][ 2]=   -2.92194;m_PhiROImax[0][17][ 2]=	-2.83927;
+     m_EtaROImin[0][17][ 3]=  -0.118734;m_EtaROImax[0][17][ 3]= -0.0208251;m_PhiROImin[0][17][ 3]=   -2.92194;m_PhiROImax[0][17][ 3]=	-2.83927;
+     m_EtaROImin[0][17][ 4]=  -0.416721;m_EtaROImax[0][17][ 4]=   -0.30075;m_PhiROImin[0][17][ 4]=   -2.83564;m_PhiROImax[0][17][ 4]=	-2.75168;
+     m_EtaROImin[0][17][ 5]=  -0.302928;m_EtaROImax[0][17][ 5]=  -0.222449;m_PhiROImin[0][17][ 5]=   -2.83564;m_PhiROImax[0][17][ 5]=	-2.75168;
+     m_EtaROImin[0][17][ 6]=  -0.416721;m_EtaROImax[0][17][ 6]=   -0.30075;m_PhiROImin[0][17][ 6]=   -2.92194;m_PhiROImax[0][17][ 6]=	-2.83927;
+     m_EtaROImin[0][17][ 7]=  -0.302928;m_EtaROImax[0][17][ 7]=  -0.222449;m_PhiROImin[0][17][ 7]=   -2.92194;m_PhiROImax[0][17][ 7]=	-2.83927;
+     m_EtaROImin[0][17][ 8]=  -0.573871;m_EtaROImax[0][17][ 8]=  -0.501681;m_PhiROImin[0][17][ 8]=   -2.83564;m_PhiROImax[0][17][ 8]=	-2.75168;
+     m_EtaROImin[0][17][ 9]=  -0.504617;m_EtaROImax[0][17][ 9]=   -0.42967;m_PhiROImin[0][17][ 9]=   -2.83564;m_PhiROImax[0][17][ 9]=	-2.75168;
+     m_EtaROImin[0][17][10]=  -0.573871;m_EtaROImax[0][17][10]=  -0.501681;m_PhiROImin[0][17][10]=   -2.92194;m_PhiROImax[0][17][10]=	-2.83927;
+     m_EtaROImin[0][17][11]=  -0.504617;m_EtaROImax[0][17][11]=   -0.42967;m_PhiROImin[0][17][11]=   -2.92194;m_PhiROImax[0][17][11]=	-2.83927;
+     m_EtaROImin[0][17][12]=  -0.741516;m_EtaROImax[0][17][12]=  -0.649933;m_PhiROImin[0][17][12]=   -2.83564;m_PhiROImax[0][17][12]=	-2.75168;
+     m_EtaROImin[0][17][13]=  -0.653329;m_EtaROImax[0][17][13]=  -0.583785;m_PhiROImin[0][17][13]=   -2.83564;m_PhiROImax[0][17][13]=	-2.75168;
+     m_EtaROImin[0][17][14]=  -0.741516;m_EtaROImax[0][17][14]=  -0.649933;m_PhiROImin[0][17][14]=   -2.92194;m_PhiROImax[0][17][14]=	-2.83927;
+     m_EtaROImin[0][17][15]=  -0.653329;m_EtaROImax[0][17][15]=  -0.583785;m_PhiROImin[0][17][15]=   -2.92194;m_PhiROImax[0][17][15]=	-2.83927;
+     m_EtaROImin[0][17][16]=	    0;m_EtaROImax[0][17][16]=	     0;m_PhiROImin[0][17][16]=	      0;m_PhiROImax[0][17][16]=	       0;
+     m_EtaROImin[0][17][17]=  -0.837822;m_EtaROImax[0][17][17]=  -0.756521;m_PhiROImin[0][17][17]=   -2.83564;m_PhiROImax[0][17][17]=	-2.75168;
+     m_EtaROImin[0][17][18]=	    0;m_EtaROImax[0][17][18]=	     0;m_PhiROImin[0][17][18]=	      0;m_PhiROImax[0][17][18]=	       0;
+     m_EtaROImin[0][17][19]=  -0.837822;m_EtaROImax[0][17][19]=  -0.756521;m_PhiROImin[0][17][19]=   -2.92194;m_PhiROImax[0][17][19]=	-2.83927;
+     m_EtaROImin[0][17][20]=  -0.956037;m_EtaROImax[0][17][20]=  -0.899344;m_PhiROImin[0][17][20]=   -2.83564;m_PhiROImax[0][17][20]=	-2.75168;
+     m_EtaROImin[0][17][21]=  -0.903324;m_EtaROImax[0][17][21]=  -0.844116;m_PhiROImin[0][17][21]=   -2.83564;m_PhiROImax[0][17][21]=	-2.75168;
+     m_EtaROImin[0][17][22]=  -0.956037;m_EtaROImax[0][17][22]=  -0.899344;m_PhiROImin[0][17][22]=   -2.92194;m_PhiROImax[0][17][22]=	-2.83927;
+     m_EtaROImin[0][17][23]=  -0.903324;m_EtaROImax[0][17][23]=  -0.844116;m_PhiROImin[0][17][23]=   -2.92194;m_PhiROImax[0][17][23]=	-2.83927;
+     m_EtaROImin[0][17][24]=	    0;m_EtaROImax[0][17][24]=	     0;m_PhiROImin[0][17][24]=	      0;m_PhiROImax[0][17][24]=	       0;
+     m_EtaROImin[0][17][25]=	    0;m_EtaROImax[0][17][25]=	     0;m_PhiROImin[0][17][25]=	      0;m_PhiROImax[0][17][25]=	       0;
+     m_EtaROImin[0][17][26]=	    0;m_EtaROImax[0][17][26]=	     0;m_PhiROImin[0][17][26]=	      0;m_PhiROImax[0][17][26]=	       0;
+     m_EtaROImin[0][17][27]=	    0;m_EtaROImax[0][17][27]=	     0;m_PhiROImin[0][17][27]=	      0;m_PhiROImax[0][17][27]=	       0;
+     m_EtaROImin[0][17][28]=	    0;m_EtaROImax[0][17][28]=	     0;m_PhiROImin[0][17][28]=	      0;m_PhiROImax[0][17][28]=	       0;
+     m_EtaROImin[0][17][29]=	    0;m_EtaROImax[0][17][29]=	     0;m_PhiROImin[0][17][29]=	      0;m_PhiROImax[0][17][29]=	       0;
+     m_EtaROImin[0][17][30]=	    0;m_EtaROImax[0][17][30]=	     0;m_PhiROImin[0][17][30]=	      0;m_PhiROImax[0][17][30]=	       0;
+     m_EtaROImin[0][17][31]=	    0;m_EtaROImax[0][17][31]=	     0;m_PhiROImin[0][17][31]=	      0;m_PhiROImax[0][17][31]=	       0;
+     m_EtaROImin[0][18][ 0]=  -0.118734;m_EtaROImax[0][18][ 0]= -0.0208251;m_PhiROImin[0][18][ 0]=	-2.7461;m_PhiROImax[0][18][ 0]=	-2.66215;
+     m_EtaROImin[0][18][ 1]=  -0.213185;m_EtaROImax[0][18][ 1]=  -0.116816;m_PhiROImin[0][18][ 1]=	-2.7461;m_PhiROImax[0][18][ 1]=	-2.66215;
+     m_EtaROImin[0][18][ 2]=  -0.118734;m_EtaROImax[0][18][ 2]= -0.0208251;m_PhiROImin[0][18][ 2]=   -2.65852;m_PhiROImax[0][18][ 2]=	-2.57584;
+     m_EtaROImin[0][18][ 3]=  -0.213185;m_EtaROImax[0][18][ 3]=  -0.116816;m_PhiROImin[0][18][ 3]=   -2.65852;m_PhiROImax[0][18][ 3]=	-2.57584;
+     m_EtaROImin[0][18][ 4]=  -0.302928;m_EtaROImax[0][18][ 4]=  -0.222449;m_PhiROImin[0][18][ 4]=	-2.7461;m_PhiROImax[0][18][ 4]=	-2.66215;
+     m_EtaROImin[0][18][ 5]=  -0.416721;m_EtaROImax[0][18][ 5]=   -0.30075;m_PhiROImin[0][18][ 5]=	-2.7461;m_PhiROImax[0][18][ 5]=	-2.66215;
+     m_EtaROImin[0][18][ 6]=  -0.302928;m_EtaROImax[0][18][ 6]=  -0.222449;m_PhiROImin[0][18][ 6]=   -2.65852;m_PhiROImax[0][18][ 6]=	-2.57584;
+     m_EtaROImin[0][18][ 7]=  -0.416721;m_EtaROImax[0][18][ 7]=   -0.30075;m_PhiROImin[0][18][ 7]=   -2.65852;m_PhiROImax[0][18][ 7]=	-2.57584;
+     m_EtaROImin[0][18][ 8]=  -0.504617;m_EtaROImax[0][18][ 8]=   -0.42967;m_PhiROImin[0][18][ 8]=	-2.7461;m_PhiROImax[0][18][ 8]=	-2.66215;
+     m_EtaROImin[0][18][ 9]=  -0.573871;m_EtaROImax[0][18][ 9]=  -0.501681;m_PhiROImin[0][18][ 9]=	-2.7461;m_PhiROImax[0][18][ 9]=	-2.66215;
+     m_EtaROImin[0][18][10]=  -0.504617;m_EtaROImax[0][18][10]=   -0.42967;m_PhiROImin[0][18][10]=   -2.65852;m_PhiROImax[0][18][10]=	-2.57584;
+     m_EtaROImin[0][18][11]=  -0.573871;m_EtaROImax[0][18][11]=  -0.501681;m_PhiROImin[0][18][11]=   -2.65852;m_PhiROImax[0][18][11]=	-2.57584;
+     m_EtaROImin[0][18][12]=  -0.653329;m_EtaROImax[0][18][12]=  -0.583785;m_PhiROImin[0][18][12]=	-2.7461;m_PhiROImax[0][18][12]=	-2.66215;
+     m_EtaROImin[0][18][13]=  -0.741516;m_EtaROImax[0][18][13]=  -0.649933;m_PhiROImin[0][18][13]=	-2.7461;m_PhiROImax[0][18][13]=	-2.66215;
+     m_EtaROImin[0][18][14]=  -0.653329;m_EtaROImax[0][18][14]=  -0.583785;m_PhiROImin[0][18][14]=   -2.65852;m_PhiROImax[0][18][14]=	-2.57584;
+     m_EtaROImin[0][18][15]=  -0.741516;m_EtaROImax[0][18][15]=  -0.649933;m_PhiROImin[0][18][15]=   -2.65852;m_PhiROImax[0][18][15]=	-2.57584;
+     m_EtaROImin[0][18][16]=  -0.837822;m_EtaROImax[0][18][16]=  -0.756521;m_PhiROImin[0][18][16]=	-2.7461;m_PhiROImax[0][18][16]=	-2.66215;
+     m_EtaROImin[0][18][17]=	    0;m_EtaROImax[0][18][17]=	     0;m_PhiROImin[0][18][17]=	      0;m_PhiROImax[0][18][17]=	       0;
+     m_EtaROImin[0][18][18]=  -0.837822;m_EtaROImax[0][18][18]=  -0.756521;m_PhiROImin[0][18][18]=   -2.65852;m_PhiROImax[0][18][18]=	-2.57584;
+     m_EtaROImin[0][18][19]=	    0;m_EtaROImax[0][18][19]=	     0;m_PhiROImin[0][18][19]=	      0;m_PhiROImax[0][18][19]=	       0;
+     m_EtaROImin[0][18][20]=  -0.903324;m_EtaROImax[0][18][20]=  -0.844116;m_PhiROImin[0][18][20]=	-2.7461;m_PhiROImax[0][18][20]=	-2.66215;
+     m_EtaROImin[0][18][21]=  -0.956037;m_EtaROImax[0][18][21]=  -0.899344;m_PhiROImin[0][18][21]=	-2.7461;m_PhiROImax[0][18][21]=	-2.66215;
+     m_EtaROImin[0][18][22]=  -0.903324;m_EtaROImax[0][18][22]=  -0.844116;m_PhiROImin[0][18][22]=   -2.65852;m_PhiROImax[0][18][22]=	-2.57584;
+     m_EtaROImin[0][18][23]=  -0.956037;m_EtaROImax[0][18][23]=  -0.899344;m_PhiROImin[0][18][23]=   -2.65852;m_PhiROImax[0][18][23]=	-2.57584;
+     m_EtaROImin[0][18][24]=	    0;m_EtaROImax[0][18][24]=	     0;m_PhiROImin[0][18][24]=	      0;m_PhiROImax[0][18][24]=	       0;
+     m_EtaROImin[0][18][25]=	    0;m_EtaROImax[0][18][25]=	     0;m_PhiROImin[0][18][25]=	      0;m_PhiROImax[0][18][25]=	       0;
+     m_EtaROImin[0][18][26]=	    0;m_EtaROImax[0][18][26]=	     0;m_PhiROImin[0][18][26]=	      0;m_PhiROImax[0][18][26]=	       0;
+     m_EtaROImin[0][18][27]=	    0;m_EtaROImax[0][18][27]=	     0;m_PhiROImin[0][18][27]=	      0;m_PhiROImax[0][18][27]=	       0;
+     m_EtaROImin[0][18][28]=	    0;m_EtaROImax[0][18][28]=	     0;m_PhiROImin[0][18][28]=	      0;m_PhiROImax[0][18][28]=	       0;
+     m_EtaROImin[0][18][29]=	    0;m_EtaROImax[0][18][29]=	     0;m_PhiROImin[0][18][29]=	      0;m_PhiROImax[0][18][29]=	       0;
+     m_EtaROImin[0][18][30]=	    0;m_EtaROImax[0][18][30]=	     0;m_PhiROImin[0][18][30]=	      0;m_PhiROImax[0][18][30]=	       0;
+     m_EtaROImin[0][18][31]=	    0;m_EtaROImax[0][18][31]=	     0;m_PhiROImin[0][18][31]=	      0;m_PhiROImax[0][18][31]=	       0;
+     m_EtaROImin[0][19][ 0]=  -0.238294;m_EtaROImax[0][19][ 0]=  -0.180742;m_PhiROImin[0][19][ 0]=   -2.46941;m_PhiROImax[0][19][ 0]=	-2.35916;
+     m_EtaROImin[0][19][ 1]=  -0.176882;m_EtaROImax[0][19][ 1]= -0.0874905;m_PhiROImin[0][19][ 1]=   -2.46941;m_PhiROImax[0][19][ 1]=	-2.35916;
+     m_EtaROImin[0][19][ 2]=  -0.238294;m_EtaROImax[0][19][ 2]=  -0.180742;m_PhiROImin[0][19][ 2]=   -2.58036;m_PhiROImax[0][19][ 2]=	-2.47293;
+     m_EtaROImin[0][19][ 3]=  -0.176882;m_EtaROImax[0][19][ 3]= -0.0874905;m_PhiROImin[0][19][ 3]=   -2.58036;m_PhiROImax[0][19][ 3]=	-2.47293;
+     m_EtaROImin[0][19][ 4]=  -0.452099;m_EtaROImax[0][19][ 4]=  -0.350831;m_PhiROImin[0][19][ 4]=   -2.46881;m_PhiROImax[0][19][ 4]=	-2.35915;
+     m_EtaROImin[0][19][ 5]=   -0.35049;m_EtaROImax[0][19][ 5]=  -0.246207;m_PhiROImin[0][19][ 5]=   -2.46881;m_PhiROImax[0][19][ 5]=	-2.35915;
+     m_EtaROImin[0][19][ 6]=  -0.452099;m_EtaROImax[0][19][ 6]=  -0.350831;m_PhiROImin[0][19][ 6]=   -2.57921;m_PhiROImax[0][19][ 6]=	-2.47231;
+     m_EtaROImin[0][19][ 7]=   -0.35049;m_EtaROImax[0][19][ 7]=  -0.246207;m_PhiROImin[0][19][ 7]=   -2.57921;m_PhiROImax[0][19][ 7]=	-2.47231;
+     m_EtaROImin[0][19][ 8]=  -0.648101;m_EtaROImax[0][19][ 8]=  -0.555789;m_PhiROImin[0][19][ 8]=   -2.46881;m_PhiROImax[0][19][ 8]=	-2.35915;
+     m_EtaROImin[0][19][ 9]=  -0.554444;m_EtaROImax[0][19][ 9]=  -0.458091;m_PhiROImin[0][19][ 9]=   -2.46881;m_PhiROImax[0][19][ 9]=	-2.35915;
+     m_EtaROImin[0][19][10]=  -0.648101;m_EtaROImax[0][19][10]=  -0.555789;m_PhiROImin[0][19][10]=   -2.57921;m_PhiROImax[0][19][10]=	-2.47231;
+     m_EtaROImin[0][19][11]=  -0.554444;m_EtaROImax[0][19][11]=  -0.458091;m_PhiROImin[0][19][11]=   -2.57921;m_PhiROImax[0][19][11]=	-2.47231;
+     m_EtaROImin[0][19][12]=  -0.776449;m_EtaROImax[0][19][12]=  -0.731124;m_PhiROImin[0][19][12]=   -2.46941;m_PhiROImax[0][19][12]=	-2.35916;
+     m_EtaROImin[0][19][13]=  -0.728056;m_EtaROImax[0][19][13]=  -0.655857;m_PhiROImin[0][19][13]=   -2.46941;m_PhiROImax[0][19][13]=	-2.35916;
+     m_EtaROImin[0][19][14]=  -0.776449;m_EtaROImax[0][19][14]=  -0.731124;m_PhiROImin[0][19][14]=   -2.58036;m_PhiROImax[0][19][14]=	-2.47293;
+     m_EtaROImin[0][19][15]=  -0.728056;m_EtaROImax[0][19][15]=  -0.655857;m_PhiROImin[0][19][15]=   -2.58036;m_PhiROImax[0][19][15]=	-2.47293;
+     m_EtaROImin[0][19][16]=  -0.895163;m_EtaROImax[0][19][16]=  -0.853359;m_PhiROImin[0][19][16]=   -2.46941;m_PhiROImax[0][19][16]=	-2.35916;
+     m_EtaROImin[0][19][17]=  -0.850528;m_EtaROImax[0][19][17]=  -0.783867;m_PhiROImin[0][19][17]=   -2.46941;m_PhiROImax[0][19][17]=	-2.35916;
+     m_EtaROImin[0][19][18]=  -0.895163;m_EtaROImax[0][19][18]=  -0.853359;m_PhiROImin[0][19][18]=   -2.58036;m_PhiROImax[0][19][18]=	-2.47293;
+     m_EtaROImin[0][19][19]=  -0.850528;m_EtaROImax[0][19][19]=  -0.783867;m_PhiROImin[0][19][19]=   -2.58036;m_PhiROImax[0][19][19]=	-2.47293;
+     m_EtaROImin[0][19][20]=   -1.02514;m_EtaROImax[0][19][20]=  -0.964674;m_PhiROImin[0][19][20]=   -2.46881;m_PhiROImax[0][19][20]=	-2.35915;
+     m_EtaROImin[0][19][21]=  -0.961344;m_EtaROImax[0][19][21]=  -0.898201;m_PhiROImin[0][19][21]=   -2.46881;m_PhiROImax[0][19][21]=	-2.35915;
+     m_EtaROImin[0][19][22]=   -1.02514;m_EtaROImax[0][19][22]=  -0.964674;m_PhiROImin[0][19][22]=   -2.57921;m_PhiROImax[0][19][22]=	-2.47231;
+     m_EtaROImin[0][19][23]=  -0.961344;m_EtaROImax[0][19][23]=  -0.898201;m_PhiROImin[0][19][23]=   -2.57921;m_PhiROImax[0][19][23]=	-2.47231;
+     m_EtaROImin[0][19][24]=	    0;m_EtaROImax[0][19][24]=	     0;m_PhiROImin[0][19][24]=	      0;m_PhiROImax[0][19][24]=	       0;
+     m_EtaROImin[0][19][25]=   -1.06547;m_EtaROImax[0][19][25]=   -1.03003;m_PhiROImin[0][19][25]=   -2.46962;m_PhiROImax[0][19][25]=	-2.35926;
+     m_EtaROImin[0][19][26]=	    0;m_EtaROImax[0][19][26]=	     0;m_PhiROImin[0][19][26]=	      0;m_PhiROImax[0][19][26]=	       0;
+     m_EtaROImin[0][19][27]=   -1.06547;m_EtaROImax[0][19][27]=   -1.03003;m_PhiROImin[0][19][27]=   -2.55334;m_PhiROImax[0][19][27]=	-2.47315;
+     m_EtaROImin[0][19][28]=	    0;m_EtaROImax[0][19][28]=	     0;m_PhiROImin[0][19][28]=	      0;m_PhiROImax[0][19][28]=	       0;
+     m_EtaROImin[0][19][29]=	    0;m_EtaROImax[0][19][29]=	     0;m_PhiROImin[0][19][29]=	      0;m_PhiROImax[0][19][29]=	       0;
+     m_EtaROImin[0][19][30]=	    0;m_EtaROImax[0][19][30]=	     0;m_PhiROImin[0][19][30]=	      0;m_PhiROImax[0][19][30]=	       0;
+     m_EtaROImin[0][19][31]=	    0;m_EtaROImax[0][19][31]=	     0;m_PhiROImin[0][19][31]=	      0;m_PhiROImax[0][19][31]=	       0;
+     m_EtaROImin[0][20][ 0]=  -0.145912;m_EtaROImax[0][20][ 0]= -0.0874905;m_PhiROImin[0][20][ 0]=   -2.35323;m_PhiROImax[0][20][ 0]=	-2.24298;
+     m_EtaROImin[0][20][ 1]=  -0.238294;m_EtaROImax[0][20][ 1]=  -0.149792;m_PhiROImin[0][20][ 1]=   -2.35323;m_PhiROImax[0][20][ 1]=	-2.24298;
+     m_EtaROImin[0][20][ 2]=  -0.145912;m_EtaROImax[0][20][ 2]= -0.0874905;m_PhiROImin[0][20][ 2]=   -2.23946;m_PhiROImax[0][20][ 2]=	-2.13203;
+     m_EtaROImin[0][20][ 3]=  -0.238294;m_EtaROImax[0][20][ 3]=  -0.149792;m_PhiROImin[0][20][ 3]=   -2.23946;m_PhiROImax[0][20][ 3]=	-2.13203;
+     m_EtaROImin[0][20][ 4]=   -0.35049;m_EtaROImax[0][20][ 4]=  -0.246207;m_PhiROImin[0][20][ 4]=   -2.35324;m_PhiROImax[0][20][ 4]=	-2.24358;
+     m_EtaROImin[0][20][ 5]=  -0.452099;m_EtaROImax[0][20][ 5]=  -0.350831;m_PhiROImin[0][20][ 5]=   -2.35324;m_PhiROImax[0][20][ 5]=	-2.24358;
+     m_EtaROImin[0][20][ 6]=   -0.35049;m_EtaROImax[0][20][ 6]=  -0.246207;m_PhiROImin[0][20][ 6]=   -2.24008;m_PhiROImax[0][20][ 6]=	-2.13318;
+     m_EtaROImin[0][20][ 7]=  -0.452099;m_EtaROImax[0][20][ 7]=  -0.350831;m_PhiROImin[0][20][ 7]=   -2.24008;m_PhiROImax[0][20][ 7]=	-2.13318;
+     m_EtaROImin[0][20][ 8]=  -0.554444;m_EtaROImax[0][20][ 8]=  -0.458091;m_PhiROImin[0][20][ 8]=   -2.35324;m_PhiROImax[0][20][ 8]=	-2.24358;
+     m_EtaROImin[0][20][ 9]=  -0.648101;m_EtaROImax[0][20][ 9]=  -0.555789;m_PhiROImin[0][20][ 9]=   -2.35324;m_PhiROImax[0][20][ 9]=	-2.24358;
+     m_EtaROImin[0][20][10]=  -0.554444;m_EtaROImax[0][20][10]=  -0.458091;m_PhiROImin[0][20][10]=   -2.24008;m_PhiROImax[0][20][10]=	-2.13318;
+     m_EtaROImin[0][20][11]=  -0.648101;m_EtaROImax[0][20][11]=  -0.555789;m_PhiROImin[0][20][11]=   -2.24008;m_PhiROImax[0][20][11]=	-2.13318;
+     m_EtaROImin[0][20][12]=  -0.703298;m_EtaROImax[0][20][12]=  -0.655857;m_PhiROImin[0][20][12]=   -2.35323;m_PhiROImax[0][20][12]=	-2.24298;
+     m_EtaROImin[0][20][13]=  -0.776449;m_EtaROImax[0][20][13]=  -0.706413;m_PhiROImin[0][20][13]=   -2.35323;m_PhiROImax[0][20][13]=	-2.24298;
+     m_EtaROImin[0][20][14]=  -0.703298;m_EtaROImax[0][20][14]=  -0.655857;m_PhiROImin[0][20][14]=   -2.23946;m_PhiROImax[0][20][14]=	-2.13203;
+     m_EtaROImin[0][20][15]=  -0.776449;m_EtaROImax[0][20][15]=  -0.706413;m_PhiROImin[0][20][15]=   -2.23946;m_PhiROImax[0][20][15]=	-2.13203;
+     m_EtaROImin[0][20][16]=   -0.82768;m_EtaROImax[0][20][16]=  -0.783867;m_PhiROImin[0][20][16]=   -2.35323;m_PhiROImax[0][20][16]=	-2.24298;
+     m_EtaROImin[0][20][17]=  -0.895163;m_EtaROImax[0][20][17]=  -0.830556;m_PhiROImin[0][20][17]=   -2.35323;m_PhiROImax[0][20][17]=	-2.24298;
+     m_EtaROImin[0][20][18]=   -0.82768;m_EtaROImax[0][20][18]=  -0.783867;m_PhiROImin[0][20][18]=   -2.23946;m_PhiROImax[0][20][18]=	-2.13203;
+     m_EtaROImin[0][20][19]=  -0.895163;m_EtaROImax[0][20][19]=  -0.830556;m_PhiROImin[0][20][19]=   -2.23946;m_PhiROImax[0][20][19]=	-2.13203;
+     m_EtaROImin[0][20][20]=  -0.961344;m_EtaROImax[0][20][20]=  -0.898201;m_PhiROImin[0][20][20]=   -2.35324;m_PhiROImax[0][20][20]=	-2.24358;
+     m_EtaROImin[0][20][21]=   -1.02514;m_EtaROImax[0][20][21]=  -0.964674;m_PhiROImin[0][20][21]=   -2.35324;m_PhiROImax[0][20][21]=	-2.24358;
+     m_EtaROImin[0][20][22]=  -0.961344;m_EtaROImax[0][20][22]=  -0.898201;m_PhiROImin[0][20][22]=   -2.24008;m_PhiROImax[0][20][22]=	-2.13318;
+     m_EtaROImin[0][20][23]=   -1.02514;m_EtaROImax[0][20][23]=  -0.964674;m_PhiROImin[0][20][23]=   -2.24008;m_PhiROImax[0][20][23]=	-2.13318;
+     m_EtaROImin[0][20][24]=   -1.06547;m_EtaROImax[0][20][24]=   -1.03003;m_PhiROImin[0][20][24]=   -2.35313;m_PhiROImax[0][20][24]=	-2.24277;
+     m_EtaROImin[0][20][25]=	    0;m_EtaROImax[0][20][25]=	     0;m_PhiROImin[0][20][25]=	      0;m_PhiROImax[0][20][25]=	       0;
+     m_EtaROImin[0][20][26]=   -1.06547;m_EtaROImax[0][20][26]=   -1.03003;m_PhiROImin[0][20][26]=   -2.23924;m_PhiROImax[0][20][26]=	-2.15905;
+     m_EtaROImin[0][20][27]=	    0;m_EtaROImax[0][20][27]=	     0;m_PhiROImin[0][20][27]=	      0;m_PhiROImax[0][20][27]=	       0;
+     m_EtaROImin[0][20][28]=	    0;m_EtaROImax[0][20][28]=	     0;m_PhiROImin[0][20][28]=	      0;m_PhiROImax[0][20][28]=	       0;
+     m_EtaROImin[0][20][29]=	    0;m_EtaROImax[0][20][29]=	     0;m_PhiROImin[0][20][29]=	      0;m_PhiROImax[0][20][29]=	       0;
+     m_EtaROImin[0][20][30]=	    0;m_EtaROImax[0][20][30]=	     0;m_PhiROImin[0][20][30]=	      0;m_PhiROImax[0][20][30]=	       0;
+     m_EtaROImin[0][20][31]=	    0;m_EtaROImax[0][20][31]=	     0;m_PhiROImin[0][20][31]=	      0;m_PhiROImax[0][20][31]=	       0;
+     m_EtaROImin[0][21][ 0]=  -0.203032;m_EtaROImax[0][21][ 0]=  -0.155043;m_PhiROImin[0][21][ 0]=   -2.05024;m_PhiROImax[0][21][ 0]=	-1.96629;
+     m_EtaROImin[0][21][ 1]=   -0.15183;m_EtaROImax[0][21][ 1]= -0.0775634;m_PhiROImin[0][21][ 1]=   -2.05024;m_PhiROImax[0][21][ 1]=	-1.96629;
+     m_EtaROImin[0][21][ 2]=  -0.203032;m_EtaROImax[0][21][ 2]=  -0.155043;m_PhiROImin[0][21][ 2]=   -2.13655;m_PhiROImax[0][21][ 2]=	-2.05387;
+     m_EtaROImin[0][21][ 3]=   -0.15183;m_EtaROImax[0][21][ 3]= -0.0775634;m_PhiROImin[0][21][ 3]=   -2.13655;m_PhiROImax[0][21][ 3]=	-2.05387;
+     m_EtaROImin[0][21][ 4]=  -0.322732;m_EtaROImax[0][21][ 4]=  -0.276301;m_PhiROImin[0][21][ 4]=   -2.04983;m_PhiROImax[0][21][ 4]=	-1.96627;
+     m_EtaROImin[0][21][ 5]=  -0.273184;m_EtaROImax[0][21][ 5]=  -0.200823;m_PhiROImin[0][21][ 5]=   -2.04983;m_PhiROImax[0][21][ 5]=	-1.96627;
+     m_EtaROImin[0][21][ 6]=  -0.322732;m_EtaROImax[0][21][ 6]=  -0.276301;m_PhiROImin[0][21][ 6]=   -2.13573;m_PhiROImax[0][21][ 6]=	-2.05344;
+     m_EtaROImin[0][21][ 7]=  -0.273184;m_EtaROImax[0][21][ 7]=  -0.200823;m_PhiROImin[0][21][ 7]=   -2.13573;m_PhiROImax[0][21][ 7]=	-2.05344;
+     m_EtaROImin[0][21][ 8]=   -0.51487;m_EtaROImax[0][21][ 8]=  -0.439011;m_PhiROImin[0][21][ 8]=   -2.04536;m_PhiROImax[0][21][ 8]=	-1.96564;
+     m_EtaROImin[0][21][ 9]=  -0.441017;m_EtaROImax[0][21][ 9]=  -0.362484;m_PhiROImin[0][21][ 9]=   -2.04536;m_PhiROImax[0][21][ 9]=	-1.96564;
+     m_EtaROImin[0][21][10]=   -0.51487;m_EtaROImax[0][21][10]=  -0.439011;m_PhiROImin[0][21][10]=   -2.12657;m_PhiROImax[0][21][10]=	-2.04792;
+     m_EtaROImin[0][21][11]=  -0.441017;m_EtaROImax[0][21][11]=  -0.362484;m_PhiROImin[0][21][11]=   -2.12657;m_PhiROImax[0][21][11]=	-2.04792;
+     m_EtaROImin[0][21][12]=  -0.659332;m_EtaROImax[0][21][12]=  -0.566067;m_PhiROImin[0][21][12]=   -2.05024;m_PhiROImax[0][21][12]=	-1.96629;
+     m_EtaROImin[0][21][13]=  -0.569141;m_EtaROImax[0][21][13]=  -0.470878;m_PhiROImin[0][21][13]=   -2.05024;m_PhiROImax[0][21][13]=	-1.96629;
+     m_EtaROImin[0][21][14]=  -0.659332;m_EtaROImax[0][21][14]=  -0.566067;m_PhiROImin[0][21][14]=   -2.13655;m_PhiROImax[0][21][14]=	-2.05387;
+     m_EtaROImin[0][21][15]=  -0.569141;m_EtaROImax[0][21][15]=  -0.470878;m_PhiROImin[0][21][15]=   -2.13655;m_PhiROImax[0][21][15]=	-2.05387;
+     m_EtaROImin[0][21][16]=   -0.72184;m_EtaROImax[0][21][16]=  -0.671529;m_PhiROImin[0][21][16]=   -2.04536;m_PhiROImax[0][21][16]=	-1.96564;
+     m_EtaROImin[0][21][17]=  -0.674155;m_EtaROImax[0][21][17]=  -0.622205;m_PhiROImin[0][21][17]=   -2.04536;m_PhiROImax[0][21][17]=	-1.96564;
+     m_EtaROImin[0][21][18]=   -0.72184;m_EtaROImax[0][21][18]=  -0.671529;m_PhiROImin[0][21][18]=   -2.12657;m_PhiROImax[0][21][18]=	-2.04792;
+     m_EtaROImin[0][21][19]=  -0.674155;m_EtaROImax[0][21][19]=  -0.622205;m_PhiROImin[0][21][19]=   -2.12657;m_PhiROImax[0][21][19]=	-2.04792;
+     m_EtaROImin[0][21][20]=  -0.893028;m_EtaROImax[0][21][20]=  -0.833797;m_PhiROImin[0][21][20]=   -2.04536;m_PhiROImax[0][21][20]=	-1.96564;
+     m_EtaROImin[0][21][21]=  -0.831846;m_EtaROImax[0][21][21]=  -0.744499;m_PhiROImin[0][21][21]=   -2.04536;m_PhiROImax[0][21][21]=	-1.96564;
+     m_EtaROImin[0][21][22]=  -0.893028;m_EtaROImax[0][21][22]=  -0.833797;m_PhiROImin[0][21][22]=   -2.12657;m_PhiROImax[0][21][22]=	-2.04792;
+     m_EtaROImin[0][21][23]=  -0.831846;m_EtaROImax[0][21][23]=  -0.744499;m_PhiROImin[0][21][23]=   -2.12657;m_PhiROImax[0][21][23]=	-2.04792;
+     m_EtaROImin[0][21][24]=  -0.905303;m_EtaROImax[0][21][24]=  -0.846464;m_PhiROImin[0][21][24]=   -2.05024;m_PhiROImax[0][21][24]=	-1.96629;
+     m_EtaROImin[0][21][25]=  -0.850339;m_EtaROImax[0][21][25]=  -0.788882;m_PhiROImin[0][21][25]=   -2.05024;m_PhiROImax[0][21][25]=	-1.96629;
+     m_EtaROImin[0][21][26]=  -0.905303;m_EtaROImax[0][21][26]=  -0.846464;m_PhiROImin[0][21][26]=   -2.13655;m_PhiROImax[0][21][26]=	-2.05387;
+     m_EtaROImin[0][21][27]=  -0.850339;m_EtaROImax[0][21][27]=  -0.788882;m_PhiROImin[0][21][27]=   -2.13655;m_PhiROImax[0][21][27]=	-2.05387;
+     m_EtaROImin[0][21][28]=   -0.98143;m_EtaROImax[0][21][28]=  -0.954883;m_PhiROImin[0][21][28]=   -2.03358;m_PhiROImax[0][21][28]=	-1.98444;
+     m_EtaROImin[0][21][29]=  -0.953094;m_EtaROImax[0][21][29]=  -0.911293;m_PhiROImin[0][21][29]=   -2.03358;m_PhiROImax[0][21][29]=	-1.98444;
+     m_EtaROImin[0][21][30]=   -0.98143;m_EtaROImax[0][21][30]=  -0.954883;m_PhiROImin[0][21][30]=   -2.12127;m_PhiROImax[0][21][30]=	-2.03635;
+     m_EtaROImin[0][21][31]=  -0.953094;m_EtaROImax[0][21][31]=  -0.911293;m_PhiROImin[0][21][31]=   -2.12127;m_PhiROImax[0][21][31]=	-2.03635;
+     m_EtaROImin[0][22][ 0]=  -0.126072;m_EtaROImax[0][22][ 0]= -0.0775634;m_PhiROImin[0][22][ 0]=   -1.96071;m_PhiROImax[0][22][ 0]=	-1.87675;
+     m_EtaROImin[0][22][ 1]=  -0.203032;m_EtaROImax[0][22][ 1]=  -0.129296;m_PhiROImin[0][22][ 1]=   -1.96071;m_PhiROImax[0][22][ 1]=	-1.87675;
+     m_EtaROImin[0][22][ 2]=  -0.126072;m_EtaROImax[0][22][ 2]= -0.0775634;m_PhiROImin[0][22][ 2]=   -1.87312;m_PhiROImax[0][22][ 2]=	-1.79045;
+     m_EtaROImin[0][22][ 3]=  -0.203032;m_EtaROImax[0][22][ 3]=  -0.129296;m_PhiROImin[0][22][ 3]=   -1.87312;m_PhiROImax[0][22][ 3]=	-1.79045;
+     m_EtaROImin[0][22][ 4]=  -0.248155;m_EtaROImax[0][22][ 4]=  -0.200823;m_PhiROImin[0][22][ 4]=   -1.96072;m_PhiROImax[0][22][ 4]=	-1.87716;
+     m_EtaROImin[0][22][ 5]=  -0.322732;m_EtaROImax[0][22][ 5]=  -0.251292;m_PhiROImin[0][22][ 5]=   -1.96072;m_PhiROImax[0][22][ 5]=	-1.87716;
+     m_EtaROImin[0][22][ 6]=  -0.248155;m_EtaROImax[0][22][ 6]=  -0.200823;m_PhiROImin[0][22][ 6]=   -1.87355;m_PhiROImax[0][22][ 6]=	-1.79126;
+     m_EtaROImin[0][22][ 7]=  -0.322732;m_EtaROImax[0][22][ 7]=  -0.251292;m_PhiROImin[0][22][ 7]=   -1.87355;m_PhiROImax[0][22][ 7]=	-1.79126;
+     m_EtaROImin[0][22][ 8]=  -0.441017;m_EtaROImax[0][22][ 8]=  -0.362484;m_PhiROImin[0][22][ 8]=   -1.96135;m_PhiROImax[0][22][ 8]=	-1.88163;
+     m_EtaROImin[0][22][ 9]=   -0.51487;m_EtaROImax[0][22][ 9]=  -0.439011;m_PhiROImin[0][22][ 9]=   -1.96135;m_PhiROImax[0][22][ 9]=	-1.88163;
+     m_EtaROImin[0][22][10]=  -0.441017;m_EtaROImax[0][22][10]=  -0.362484;m_PhiROImin[0][22][10]=   -1.87907;m_PhiROImax[0][22][10]=	-1.80042;
+     m_EtaROImin[0][22][11]=   -0.51487;m_EtaROImax[0][22][11]=  -0.439011;m_PhiROImin[0][22][11]=   -1.87907;m_PhiROImax[0][22][11]=	-1.80042;
+     m_EtaROImin[0][22][12]=  -0.569141;m_EtaROImax[0][22][12]=  -0.470878;m_PhiROImin[0][22][12]=   -1.96071;m_PhiROImax[0][22][12]=	-1.87675;
+     m_EtaROImin[0][22][13]=  -0.659332;m_EtaROImax[0][22][13]=  -0.566067;m_PhiROImin[0][22][13]=   -1.96071;m_PhiROImax[0][22][13]=	-1.87675;
+     m_EtaROImin[0][22][14]=  -0.569141;m_EtaROImax[0][22][14]=  -0.470878;m_PhiROImin[0][22][14]=   -1.87312;m_PhiROImax[0][22][14]=	-1.79045;
+     m_EtaROImin[0][22][15]=  -0.659332;m_EtaROImax[0][22][15]=  -0.566067;m_PhiROImin[0][22][15]=   -1.87312;m_PhiROImax[0][22][15]=	-1.79045;
+     m_EtaROImin[0][22][16]=  -0.674155;m_EtaROImax[0][22][16]=  -0.622205;m_PhiROImin[0][22][16]=   -1.96135;m_PhiROImax[0][22][16]=	-1.88163;
+     m_EtaROImin[0][22][17]=   -0.72184;m_EtaROImax[0][22][17]=  -0.671529;m_PhiROImin[0][22][17]=   -1.96135;m_PhiROImax[0][22][17]=	-1.88163;
+     m_EtaROImin[0][22][18]=  -0.674155;m_EtaROImax[0][22][18]=  -0.622205;m_PhiROImin[0][22][18]=   -1.87907;m_PhiROImax[0][22][18]=	-1.80042;
+     m_EtaROImin[0][22][19]=   -0.72184;m_EtaROImax[0][22][19]=  -0.671529;m_PhiROImin[0][22][19]=   -1.87907;m_PhiROImax[0][22][19]=	-1.80042;
+     m_EtaROImin[0][22][20]=  -0.831846;m_EtaROImax[0][22][20]=  -0.744499;m_PhiROImin[0][22][20]=   -1.96135;m_PhiROImax[0][22][20]=	-1.88163;
+     m_EtaROImin[0][22][21]=  -0.893028;m_EtaROImax[0][22][21]=  -0.833797;m_PhiROImin[0][22][21]=   -1.96135;m_PhiROImax[0][22][21]=	-1.88163;
+     m_EtaROImin[0][22][22]=  -0.831846;m_EtaROImax[0][22][22]=  -0.744499;m_PhiROImin[0][22][22]=   -1.87907;m_PhiROImax[0][22][22]=	-1.80042;
+     m_EtaROImin[0][22][23]=  -0.893028;m_EtaROImax[0][22][23]=  -0.833797;m_PhiROImin[0][22][23]=   -1.87907;m_PhiROImax[0][22][23]=	-1.80042;
+     m_EtaROImin[0][22][24]=  -0.850339;m_EtaROImax[0][22][24]=  -0.788882;m_PhiROImin[0][22][24]=   -1.96071;m_PhiROImax[0][22][24]=	-1.87675;
+     m_EtaROImin[0][22][25]=  -0.905303;m_EtaROImax[0][22][25]=  -0.846464;m_PhiROImin[0][22][25]=   -1.96071;m_PhiROImax[0][22][25]=	-1.87675;
+     m_EtaROImin[0][22][26]=  -0.850339;m_EtaROImax[0][22][26]=  -0.788882;m_PhiROImin[0][22][26]=   -1.87312;m_PhiROImax[0][22][26]=	-1.79045;
+     m_EtaROImin[0][22][27]=  -0.905303;m_EtaROImax[0][22][27]=  -0.846464;m_PhiROImin[0][22][27]=   -1.87312;m_PhiROImax[0][22][27]=	-1.79045;
+     m_EtaROImin[0][22][28]=  -0.940931;m_EtaROImax[0][22][28]=  -0.913486;m_PhiROImin[0][22][28]=   -1.97686;m_PhiROImax[0][22][28]=	-1.89087;
+     m_EtaROImin[0][22][29]=  -0.983719;m_EtaROImax[0][22][29]=  -0.942741;m_PhiROImin[0][22][29]=   -1.97686;m_PhiROImax[0][22][29]=	-1.89087;
+     m_EtaROImin[0][22][30]=  -0.940931;m_EtaROImax[0][22][30]=  -0.913486;m_PhiROImin[0][22][30]=   -1.98444;m_PhiROImax[0][22][30]=	-1.88811;
+     m_EtaROImin[0][22][31]=  -0.983719;m_EtaROImax[0][22][31]=  -0.942741;m_PhiROImin[0][22][31]=   -1.98444;m_PhiROImax[0][22][31]=	-1.88811;
+     m_EtaROImin[0][23][ 0]=  -0.238866;m_EtaROImax[0][23][ 0]=  -0.131182;m_PhiROImin[0][23][ 0]=   -1.68341;m_PhiROImax[0][23][ 0]=	-1.57375;
+     m_EtaROImin[0][23][ 1]=  -0.132007;m_EtaROImax[0][23][ 1]=   -0.02338;m_PhiROImin[0][23][ 1]=   -1.68341;m_PhiROImax[0][23][ 1]=	-1.57375;
+     m_EtaROImin[0][23][ 2]=  -0.238866;m_EtaROImax[0][23][ 2]=  -0.131182;m_PhiROImin[0][23][ 2]=   -1.79381;m_PhiROImax[0][23][ 2]=	-1.68692;
+     m_EtaROImin[0][23][ 3]=  -0.132007;m_EtaROImax[0][23][ 3]=   -0.02338;m_PhiROImin[0][23][ 3]=   -1.79381;m_PhiROImax[0][23][ 3]=	-1.68692;
+     m_EtaROImin[0][23][ 4]=  -0.452099;m_EtaROImax[0][23][ 4]=  -0.350831;m_PhiROImin[0][23][ 4]=   -1.68341;m_PhiROImax[0][23][ 4]=	-1.57375;
+     m_EtaROImin[0][23][ 5]=   -0.35049;m_EtaROImax[0][23][ 5]=  -0.246207;m_PhiROImin[0][23][ 5]=   -1.68341;m_PhiROImax[0][23][ 5]=	-1.57375;
+     m_EtaROImin[0][23][ 6]=  -0.452099;m_EtaROImax[0][23][ 6]=  -0.350831;m_PhiROImin[0][23][ 6]=   -1.79381;m_PhiROImax[0][23][ 6]=	-1.68692;
+     m_EtaROImin[0][23][ 7]=   -0.35049;m_EtaROImax[0][23][ 7]=  -0.246207;m_PhiROImin[0][23][ 7]=   -1.79381;m_PhiROImax[0][23][ 7]=	-1.68692;
+     m_EtaROImin[0][23][ 8]=  -0.648101;m_EtaROImax[0][23][ 8]=  -0.555789;m_PhiROImin[0][23][ 8]=   -1.68341;m_PhiROImax[0][23][ 8]=	-1.57375;
+     m_EtaROImin[0][23][ 9]=  -0.554444;m_EtaROImax[0][23][ 9]=  -0.458091;m_PhiROImin[0][23][ 9]=   -1.68341;m_PhiROImax[0][23][ 9]=	-1.57375;
+     m_EtaROImin[0][23][10]=  -0.648101;m_EtaROImax[0][23][10]=  -0.555789;m_PhiROImin[0][23][10]=   -1.79381;m_PhiROImax[0][23][10]=	-1.68692;
+     m_EtaROImin[0][23][11]=  -0.554444;m_EtaROImax[0][23][11]=  -0.458091;m_PhiROImin[0][23][11]=   -1.79381;m_PhiROImax[0][23][11]=	-1.68692;
+     m_EtaROImin[0][23][12]=  -0.786462;m_EtaROImax[0][23][12]=  -0.745327;m_PhiROImin[0][23][12]=   -1.62692;m_PhiROImax[0][23][12]=	 -1.5708;
+     m_EtaROImin[0][23][13]=  -0.742545;m_EtaROImax[0][23][13]=  -0.677222;m_PhiROImin[0][23][13]=   -1.62692;m_PhiROImax[0][23][13]=	 -1.5708;
+     m_EtaROImin[0][23][14]=  -0.786462;m_EtaROImax[0][23][14]=  -0.745327;m_PhiROImin[0][23][14]=   -1.69744;m_PhiROImax[0][23][14]=	-1.63046;
+     m_EtaROImin[0][23][15]=  -0.742545;m_EtaROImax[0][23][15]=  -0.677222;m_PhiROImin[0][23][15]=   -1.69744;m_PhiROImax[0][23][15]=	-1.63046;
+     m_EtaROImin[0][23][16]=  -0.895163;m_EtaROImax[0][23][16]=  -0.853359;m_PhiROImin[0][23][16]=   -1.68401;m_PhiROImax[0][23][16]=	-1.57376;
+     m_EtaROImin[0][23][17]=  -0.850528;m_EtaROImax[0][23][17]=  -0.783867;m_PhiROImin[0][23][17]=   -1.68401;m_PhiROImax[0][23][17]=	-1.57376;
+     m_EtaROImin[0][23][18]=  -0.895163;m_EtaROImax[0][23][18]=  -0.853359;m_PhiROImin[0][23][18]=   -1.79497;m_PhiROImax[0][23][18]=	-1.68753;
+     m_EtaROImin[0][23][19]=  -0.850528;m_EtaROImax[0][23][19]=  -0.783867;m_PhiROImin[0][23][19]=   -1.79497;m_PhiROImax[0][23][19]=	-1.68753;
+     m_EtaROImin[0][23][20]=   -1.02514;m_EtaROImax[0][23][20]=  -0.964674;m_PhiROImin[0][23][20]=   -1.68341;m_PhiROImax[0][23][20]=	-1.57375;
+     m_EtaROImin[0][23][21]=  -0.961344;m_EtaROImax[0][23][21]=  -0.898201;m_PhiROImin[0][23][21]=   -1.68341;m_PhiROImax[0][23][21]=	-1.57375;
+     m_EtaROImin[0][23][22]=   -1.02514;m_EtaROImax[0][23][22]=  -0.964674;m_PhiROImin[0][23][22]=   -1.79381;m_PhiROImax[0][23][22]=	-1.68692;
+     m_EtaROImin[0][23][23]=  -0.961344;m_EtaROImax[0][23][23]=  -0.898201;m_PhiROImin[0][23][23]=   -1.79381;m_PhiROImax[0][23][23]=	-1.68692;
+     m_EtaROImin[0][23][24]=	    0;m_EtaROImax[0][23][24]=	     0;m_PhiROImin[0][23][24]=	      0;m_PhiROImax[0][23][24]=	       0;
+     m_EtaROImin[0][23][25]=   -1.06547;m_EtaROImax[0][23][25]=   -1.03003;m_PhiROImin[0][23][25]=   -1.68423;m_PhiROImax[0][23][25]=	-1.57387;
+     m_EtaROImin[0][23][26]=	    0;m_EtaROImax[0][23][26]=	     0;m_PhiROImin[0][23][26]=	      0;m_PhiROImax[0][23][26]=	       0;
+     m_EtaROImin[0][23][27]=   -1.06547;m_EtaROImax[0][23][27]=   -1.03003;m_PhiROImin[0][23][27]=   -1.76794;m_PhiROImax[0][23][27]=	-1.68775;
+     m_EtaROImin[0][23][28]=	    0;m_EtaROImax[0][23][28]=	     0;m_PhiROImin[0][23][28]=	      0;m_PhiROImax[0][23][28]=	       0;
+     m_EtaROImin[0][23][29]=	    0;m_EtaROImax[0][23][29]=	     0;m_PhiROImin[0][23][29]=	      0;m_PhiROImax[0][23][29]=	       0;
+     m_EtaROImin[0][23][30]=	    0;m_EtaROImax[0][23][30]=	     0;m_PhiROImin[0][23][30]=	      0;m_PhiROImax[0][23][30]=	       0;
+     m_EtaROImin[0][23][31]=	    0;m_EtaROImax[0][23][31]=	     0;m_PhiROImin[0][23][31]=	      0;m_PhiROImax[0][23][31]=	       0;
+     m_EtaROImin[0][24][ 0]=  -0.132007;m_EtaROImax[0][24][ 0]=   -0.02338;m_PhiROImin[0][24][ 0]=   -1.56784;m_PhiROImax[0][24][ 0]=	-1.45818;
+     m_EtaROImin[0][24][ 1]=  -0.238866;m_EtaROImax[0][24][ 1]=  -0.131182;m_PhiROImin[0][24][ 1]=   -1.56784;m_PhiROImax[0][24][ 1]=	-1.45818;
+     m_EtaROImin[0][24][ 2]=  -0.132007;m_EtaROImax[0][24][ 2]=   -0.02338;m_PhiROImin[0][24][ 2]=   -1.45468;m_PhiROImax[0][24][ 2]=	-1.34779;
+     m_EtaROImin[0][24][ 3]=  -0.238866;m_EtaROImax[0][24][ 3]=  -0.131182;m_PhiROImin[0][24][ 3]=   -1.45468;m_PhiROImax[0][24][ 3]=	-1.34779;
+     m_EtaROImin[0][24][ 4]=   -0.35049;m_EtaROImax[0][24][ 4]=  -0.246207;m_PhiROImin[0][24][ 4]=   -1.56784;m_PhiROImax[0][24][ 4]=	-1.45818;
+     m_EtaROImin[0][24][ 5]=  -0.452099;m_EtaROImax[0][24][ 5]=  -0.350831;m_PhiROImin[0][24][ 5]=   -1.56784;m_PhiROImax[0][24][ 5]=	-1.45818;
+     m_EtaROImin[0][24][ 6]=   -0.35049;m_EtaROImax[0][24][ 6]=  -0.246207;m_PhiROImin[0][24][ 6]=   -1.45468;m_PhiROImax[0][24][ 6]=	-1.34779;
+     m_EtaROImin[0][24][ 7]=  -0.452099;m_EtaROImax[0][24][ 7]=  -0.350831;m_PhiROImin[0][24][ 7]=   -1.45468;m_PhiROImax[0][24][ 7]=	-1.34779;
+     m_EtaROImin[0][24][ 8]=  -0.554444;m_EtaROImax[0][24][ 8]=  -0.458091;m_PhiROImin[0][24][ 8]=   -1.56784;m_PhiROImax[0][24][ 8]=	-1.45818;
+     m_EtaROImin[0][24][ 9]=  -0.648101;m_EtaROImax[0][24][ 9]=  -0.555789;m_PhiROImin[0][24][ 9]=   -1.56784;m_PhiROImax[0][24][ 9]=	-1.45818;
+     m_EtaROImin[0][24][10]=  -0.554444;m_EtaROImax[0][24][10]=  -0.458091;m_PhiROImin[0][24][10]=   -1.45468;m_PhiROImax[0][24][10]=	-1.34779;
+     m_EtaROImin[0][24][11]=  -0.648101;m_EtaROImax[0][24][11]=  -0.555789;m_PhiROImin[0][24][11]=   -1.45468;m_PhiROImax[0][24][11]=	-1.34779;
+     m_EtaROImin[0][24][12]=  -0.720119;m_EtaROImax[0][24][12]=  -0.677222;m_PhiROImin[0][24][12]=   -1.56798;m_PhiROImax[0][24][12]=	 -1.5005;
+     m_EtaROImin[0][24][13]=  -0.786462;m_EtaROImax[0][24][13]=   -0.72294;m_PhiROImin[0][24][13]=   -1.56798;m_PhiROImax[0][24][13]=	 -1.5005;
+     m_EtaROImin[0][24][14]=  -0.720119;m_EtaROImax[0][24][14]=  -0.677222;m_PhiROImin[0][24][14]=	-1.5708;m_PhiROImax[0][24][14]=	-1.49696;
+     m_EtaROImin[0][24][15]=  -0.786462;m_EtaROImax[0][24][15]=   -0.72294;m_PhiROImin[0][24][15]=	-1.5708;m_PhiROImax[0][24][15]=	-1.49696;
+     m_EtaROImin[0][24][16]=   -0.82768;m_EtaROImax[0][24][16]=  -0.783867;m_PhiROImin[0][24][16]=   -1.56783;m_PhiROImax[0][24][16]=	-1.45758;
+     m_EtaROImin[0][24][17]=  -0.895163;m_EtaROImax[0][24][17]=  -0.830556;m_PhiROImin[0][24][17]=   -1.56783;m_PhiROImax[0][24][17]=	-1.45758;
+     m_EtaROImin[0][24][18]=   -0.82768;m_EtaROImax[0][24][18]=  -0.783867;m_PhiROImin[0][24][18]=   -1.45406;m_PhiROImax[0][24][18]=	-1.34663;
+     m_EtaROImin[0][24][19]=  -0.895163;m_EtaROImax[0][24][19]=  -0.830556;m_PhiROImin[0][24][19]=   -1.45406;m_PhiROImax[0][24][19]=	-1.34663;
+     m_EtaROImin[0][24][20]=  -0.961344;m_EtaROImax[0][24][20]=  -0.898201;m_PhiROImin[0][24][20]=   -1.56784;m_PhiROImax[0][24][20]=	-1.45818;
+     m_EtaROImin[0][24][21]=   -1.02514;m_EtaROImax[0][24][21]=  -0.964674;m_PhiROImin[0][24][21]=   -1.56784;m_PhiROImax[0][24][21]=	-1.45818;
+     m_EtaROImin[0][24][22]=  -0.961344;m_EtaROImax[0][24][22]=  -0.898201;m_PhiROImin[0][24][22]=   -1.45468;m_PhiROImax[0][24][22]=	-1.34779;
+     m_EtaROImin[0][24][23]=   -1.02514;m_EtaROImax[0][24][23]=  -0.964674;m_PhiROImin[0][24][23]=   -1.45468;m_PhiROImax[0][24][23]=	-1.34779;
+     m_EtaROImin[0][24][24]=   -1.06547;m_EtaROImax[0][24][24]=   -1.03003;m_PhiROImin[0][24][24]=   -1.56773;m_PhiROImax[0][24][24]=	-1.45737;
+     m_EtaROImin[0][24][25]=	    0;m_EtaROImax[0][24][25]=	     0;m_PhiROImin[0][24][25]=	      0;m_PhiROImax[0][24][25]=	       0;
+     m_EtaROImin[0][24][26]=   -1.06547;m_EtaROImax[0][24][26]=   -1.03003;m_PhiROImin[0][24][26]=   -1.45384;m_PhiROImax[0][24][26]=	-1.37365;
+     m_EtaROImin[0][24][27]=	    0;m_EtaROImax[0][24][27]=	     0;m_PhiROImin[0][24][27]=	      0;m_PhiROImax[0][24][27]=	       0;
+     m_EtaROImin[0][24][28]=	    0;m_EtaROImax[0][24][28]=	     0;m_PhiROImin[0][24][28]=	      0;m_PhiROImax[0][24][28]=	       0;
+     m_EtaROImin[0][24][29]=	    0;m_EtaROImax[0][24][29]=	     0;m_PhiROImin[0][24][29]=	      0;m_PhiROImax[0][24][29]=	       0;
+     m_EtaROImin[0][24][30]=	    0;m_EtaROImax[0][24][30]=	     0;m_PhiROImin[0][24][30]=	      0;m_PhiROImax[0][24][30]=	       0;
+     m_EtaROImin[0][24][31]=	    0;m_EtaROImax[0][24][31]=	     0;m_PhiROImin[0][24][31]=	      0;m_PhiROImax[0][24][31]=	       0;
+     m_EtaROImin[0][25][ 0]=  -0.203032;m_EtaROImax[0][25][ 0]=  -0.155043;m_PhiROImin[0][25][ 0]=   -1.26484;m_PhiROImax[0][25][ 0]=	-1.18089;
+     m_EtaROImin[0][25][ 1]=   -0.15183;m_EtaROImax[0][25][ 1]= -0.0775634;m_PhiROImin[0][25][ 1]=   -1.26484;m_PhiROImax[0][25][ 1]=	-1.18089;
+     m_EtaROImin[0][25][ 2]=  -0.203032;m_EtaROImax[0][25][ 2]=  -0.155043;m_PhiROImin[0][25][ 2]=   -1.35115;m_PhiROImax[0][25][ 2]=	-1.26847;
+     m_EtaROImin[0][25][ 3]=   -0.15183;m_EtaROImax[0][25][ 3]= -0.0775634;m_PhiROImin[0][25][ 3]=   -1.35115;m_PhiROImax[0][25][ 3]=	-1.26847;
+     m_EtaROImin[0][25][ 4]=  -0.322732;m_EtaROImax[0][25][ 4]=  -0.276301;m_PhiROImin[0][25][ 4]=   -1.26443;m_PhiROImax[0][25][ 4]=	-1.18087;
+     m_EtaROImin[0][25][ 5]=  -0.273184;m_EtaROImax[0][25][ 5]=  -0.200823;m_PhiROImin[0][25][ 5]=   -1.26443;m_PhiROImax[0][25][ 5]=	-1.18087;
+     m_EtaROImin[0][25][ 6]=  -0.322732;m_EtaROImax[0][25][ 6]=  -0.276301;m_PhiROImin[0][25][ 6]=   -1.35034;m_PhiROImax[0][25][ 6]=	-1.26804;
+     m_EtaROImin[0][25][ 7]=  -0.273184;m_EtaROImax[0][25][ 7]=  -0.200823;m_PhiROImin[0][25][ 7]=   -1.35034;m_PhiROImax[0][25][ 7]=	-1.26804;
+     m_EtaROImin[0][25][ 8]=  -0.516583;m_EtaROImax[0][25][ 8]=  -0.440504;m_PhiROImin[0][25][ 8]=   -1.25967;m_PhiROImax[0][25][ 8]=	-1.18023;
+     m_EtaROImin[0][25][ 9]=  -0.439522;m_EtaROImax[0][25][ 9]=  -0.361231;m_PhiROImin[0][25][ 9]=   -1.25967;m_PhiROImax[0][25][ 9]=	-1.18023;
+     m_EtaROImin[0][25][10]=  -0.516583;m_EtaROImax[0][25][10]=  -0.440504;m_PhiROImin[0][25][10]=   -1.34059;m_PhiROImax[0][25][10]=	-1.26222;
+     m_EtaROImin[0][25][11]=  -0.439522;m_EtaROImax[0][25][11]=  -0.361231;m_PhiROImin[0][25][11]=   -1.34059;m_PhiROImax[0][25][11]=	-1.26222;
+     m_EtaROImin[0][25][12]=  -0.659332;m_EtaROImax[0][25][12]=  -0.566067;m_PhiROImin[0][25][12]=   -1.26484;m_PhiROImax[0][25][12]=	-1.18089;
+     m_EtaROImin[0][25][13]=  -0.569141;m_EtaROImax[0][25][13]=  -0.470878;m_PhiROImin[0][25][13]=   -1.26484;m_PhiROImax[0][25][13]=	-1.18089;
+     m_EtaROImin[0][25][14]=  -0.659332;m_EtaROImax[0][25][14]=  -0.566067;m_PhiROImin[0][25][14]=   -1.35115;m_PhiROImax[0][25][14]=	-1.26847;
+     m_EtaROImin[0][25][15]=  -0.569141;m_EtaROImax[0][25][15]=  -0.470878;m_PhiROImin[0][25][15]=   -1.35115;m_PhiROImax[0][25][15]=	-1.26847;
+     m_EtaROImin[0][25][16]=  -0.724075;m_EtaROImax[0][25][16]=  -0.673648;m_PhiROImin[0][25][16]=   -1.25967;m_PhiROImax[0][25][16]=	-1.18023;
+     m_EtaROImin[0][25][17]=  -0.672035;m_EtaROImax[0][25][17]=  -0.620212;m_PhiROImin[0][25][17]=   -1.25967;m_PhiROImax[0][25][17]=	-1.18023;
+     m_EtaROImin[0][25][18]=  -0.724075;m_EtaROImax[0][25][18]=  -0.673648;m_PhiROImin[0][25][18]=   -1.34059;m_PhiROImax[0][25][18]=	-1.26222;
+     m_EtaROImin[0][25][19]=  -0.672035;m_EtaROImax[0][25][19]=  -0.620212;m_PhiROImin[0][25][19]=   -1.34059;m_PhiROImax[0][25][19]=	-1.26222;
+     m_EtaROImin[0][25][20]=  -0.893028;m_EtaROImax[0][25][20]=  -0.833797;m_PhiROImin[0][25][20]=   -1.25997;m_PhiROImax[0][25][20]=	-1.18024;
+     m_EtaROImin[0][25][21]=  -0.831846;m_EtaROImax[0][25][21]=  -0.744499;m_PhiROImin[0][25][21]=   -1.25997;m_PhiROImax[0][25][21]=	-1.18024;
+     m_EtaROImin[0][25][22]=  -0.893028;m_EtaROImax[0][25][22]=  -0.833797;m_PhiROImin[0][25][22]=   -1.34117;m_PhiROImax[0][25][22]=	-1.26253;
+     m_EtaROImin[0][25][23]=  -0.831846;m_EtaROImax[0][25][23]=  -0.744499;m_PhiROImin[0][25][23]=   -1.34117;m_PhiROImax[0][25][23]=	-1.26253;
+     m_EtaROImin[0][25][24]=  -0.905303;m_EtaROImax[0][25][24]=  -0.846464;m_PhiROImin[0][25][24]=   -1.26484;m_PhiROImax[0][25][24]=	-1.18089;
+     m_EtaROImin[0][25][25]=  -0.850339;m_EtaROImax[0][25][25]=  -0.788882;m_PhiROImin[0][25][25]=   -1.26484;m_PhiROImax[0][25][25]=	-1.18089;
+     m_EtaROImin[0][25][26]=  -0.905303;m_EtaROImax[0][25][26]=  -0.846464;m_PhiROImin[0][25][26]=   -1.35115;m_PhiROImax[0][25][26]=	-1.26847;
+     m_EtaROImin[0][25][27]=  -0.850339;m_EtaROImax[0][25][27]=  -0.788882;m_PhiROImin[0][25][27]=   -1.35115;m_PhiROImax[0][25][27]=	-1.26847;
+     m_EtaROImin[0][25][28]=  -0.984405;m_EtaROImax[0][25][28]=  -0.957812;m_PhiROImin[0][25][28]=   -1.20642;m_PhiROImax[0][25][28]=	-1.15713;
+     m_EtaROImin[0][25][29]=   -0.95602;m_EtaROImax[0][25][29]=  -0.914143;m_PhiROImin[0][25][29]=   -1.20642;m_PhiROImax[0][25][29]=	-1.15713;
+     m_EtaROImin[0][25][30]=  -0.984405;m_EtaROImax[0][25][30]=  -0.957812;m_PhiROImin[0][25][30]=   -1.29487;m_PhiROImax[0][25][30]=	 -1.2092;
+     m_EtaROImin[0][25][31]=   -0.95602;m_EtaROImax[0][25][31]=  -0.914143;m_PhiROImin[0][25][31]=   -1.29487;m_PhiROImax[0][25][31]=	 -1.2092;
+     m_EtaROImin[0][26][ 0]=  -0.126072;m_EtaROImax[0][26][ 0]= -0.0775634;m_PhiROImin[0][26][ 0]=   -1.17531;m_PhiROImax[0][26][ 0]=	-1.09135;
+     m_EtaROImin[0][26][ 1]=  -0.203032;m_EtaROImax[0][26][ 1]=  -0.129296;m_PhiROImin[0][26][ 1]=   -1.17531;m_PhiROImax[0][26][ 1]=	-1.09135;
+     m_EtaROImin[0][26][ 2]=  -0.126072;m_EtaROImax[0][26][ 2]= -0.0775634;m_PhiROImin[0][26][ 2]=   -1.08772;m_PhiROImax[0][26][ 2]=	-1.00505;
+     m_EtaROImin[0][26][ 3]=  -0.203032;m_EtaROImax[0][26][ 3]=  -0.129296;m_PhiROImin[0][26][ 3]=   -1.08772;m_PhiROImax[0][26][ 3]=	-1.00505;
+     m_EtaROImin[0][26][ 4]=  -0.248155;m_EtaROImax[0][26][ 4]=  -0.200823;m_PhiROImin[0][26][ 4]=   -1.17532;m_PhiROImax[0][26][ 4]=	-1.09176;
+     m_EtaROImin[0][26][ 5]=  -0.322732;m_EtaROImax[0][26][ 5]=  -0.251292;m_PhiROImin[0][26][ 5]=   -1.17532;m_PhiROImax[0][26][ 5]=	-1.09176;
+     m_EtaROImin[0][26][ 6]=  -0.248155;m_EtaROImax[0][26][ 6]=  -0.200823;m_PhiROImin[0][26][ 6]=   -1.08815;m_PhiROImax[0][26][ 6]=	-1.00586;
+     m_EtaROImin[0][26][ 7]=  -0.322732;m_EtaROImax[0][26][ 7]=  -0.251292;m_PhiROImin[0][26][ 7]=   -1.08815;m_PhiROImax[0][26][ 7]=	-1.00586;
+     m_EtaROImin[0][26][ 8]=  -0.439522;m_EtaROImax[0][26][ 8]=  -0.361231;m_PhiROImin[0][26][ 8]=   -1.17596;m_PhiROImax[0][26][ 8]=	-1.09652;
+     m_EtaROImin[0][26][ 9]=  -0.516583;m_EtaROImax[0][26][ 9]=  -0.440504;m_PhiROImin[0][26][ 9]=   -1.17596;m_PhiROImax[0][26][ 9]=	-1.09652;
+     m_EtaROImin[0][26][10]=  -0.439522;m_EtaROImax[0][26][10]=  -0.361231;m_PhiROImin[0][26][10]=   -1.09397;m_PhiROImax[0][26][10]=	 -1.0156;
+     m_EtaROImin[0][26][11]=  -0.516583;m_EtaROImax[0][26][11]=  -0.440504;m_PhiROImin[0][26][11]=   -1.09397;m_PhiROImax[0][26][11]=	 -1.0156;
+     m_EtaROImin[0][26][12]=  -0.569141;m_EtaROImax[0][26][12]=  -0.470878;m_PhiROImin[0][26][12]=   -1.17531;m_PhiROImax[0][26][12]=	-1.09135;
+     m_EtaROImin[0][26][13]=  -0.659332;m_EtaROImax[0][26][13]=  -0.566067;m_PhiROImin[0][26][13]=   -1.17531;m_PhiROImax[0][26][13]=	-1.09135;
+     m_EtaROImin[0][26][14]=  -0.569141;m_EtaROImax[0][26][14]=  -0.470878;m_PhiROImin[0][26][14]=   -1.08772;m_PhiROImax[0][26][14]=	-1.00505;
+     m_EtaROImin[0][26][15]=  -0.659332;m_EtaROImax[0][26][15]=  -0.566067;m_PhiROImin[0][26][15]=   -1.08772;m_PhiROImax[0][26][15]=	-1.00505;
+     m_EtaROImin[0][26][16]=  -0.672035;m_EtaROImax[0][26][16]=  -0.620212;m_PhiROImin[0][26][16]=   -1.17596;m_PhiROImax[0][26][16]=	-1.09652;
+     m_EtaROImin[0][26][17]=  -0.724075;m_EtaROImax[0][26][17]=  -0.673648;m_PhiROImin[0][26][17]=   -1.17596;m_PhiROImax[0][26][17]=	-1.09652;
+     m_EtaROImin[0][26][18]=  -0.672035;m_EtaROImax[0][26][18]=  -0.620212;m_PhiROImin[0][26][18]=   -1.09397;m_PhiROImax[0][26][18]=	 -1.0156;
+     m_EtaROImin[0][26][19]=  -0.724075;m_EtaROImax[0][26][19]=  -0.673648;m_PhiROImin[0][26][19]=   -1.09397;m_PhiROImax[0][26][19]=	 -1.0156;
+     m_EtaROImin[0][26][20]=  -0.831846;m_EtaROImax[0][26][20]=  -0.744499;m_PhiROImin[0][26][20]=   -1.17595;m_PhiROImax[0][26][20]=	-1.09623;
+     m_EtaROImin[0][26][21]=  -0.893028;m_EtaROImax[0][26][21]=  -0.833797;m_PhiROImin[0][26][21]=   -1.17595;m_PhiROImax[0][26][21]=	-1.09623;
+     m_EtaROImin[0][26][22]=  -0.831846;m_EtaROImax[0][26][22]=  -0.744499;m_PhiROImin[0][26][22]=   -1.09367;m_PhiROImax[0][26][22]=	-1.01502;
+     m_EtaROImin[0][26][23]=  -0.893028;m_EtaROImax[0][26][23]=  -0.833797;m_PhiROImin[0][26][23]=   -1.09367;m_PhiROImax[0][26][23]=	-1.01502;
+     m_EtaROImin[0][26][24]=  -0.850339;m_EtaROImax[0][26][24]=  -0.788882;m_PhiROImin[0][26][24]=   -1.17531;m_PhiROImax[0][26][24]=	-1.09135;
+     m_EtaROImin[0][26][25]=  -0.905303;m_EtaROImax[0][26][25]=  -0.846464;m_PhiROImin[0][26][25]=   -1.17531;m_PhiROImax[0][26][25]=	-1.09135;
+     m_EtaROImin[0][26][26]=  -0.850339;m_EtaROImax[0][26][26]=  -0.788882;m_PhiROImin[0][26][26]=   -1.08772;m_PhiROImax[0][26][26]=	-1.00505;
+     m_EtaROImin[0][26][27]=  -0.905303;m_EtaROImax[0][26][27]=  -0.846464;m_PhiROImin[0][26][27]=   -1.08772;m_PhiROImax[0][26][27]=	-1.00505;
+     m_EtaROImin[0][26][28]=  -0.939363;m_EtaROImax[0][26][28]=  -0.911945;m_PhiROImin[0][26][28]=   -1.14955;m_PhiROImax[0][26][28]=	-1.06384;
+     m_EtaROImin[0][26][29]=   -0.98211;m_EtaROImax[0][26][29]=  -0.941171;m_PhiROImin[0][26][29]=   -1.14955;m_PhiROImax[0][26][29]=	-1.06384;
+     m_EtaROImin[0][26][30]=  -0.939363;m_EtaROImax[0][26][30]=  -0.911945;m_PhiROImin[0][26][30]=   -1.15713;m_PhiROImax[0][26][30]=	 -1.0611;
+     m_EtaROImin[0][26][31]=   -0.98211;m_EtaROImax[0][26][31]=  -0.941171;m_PhiROImin[0][26][31]=   -1.15713;m_PhiROImax[0][26][31]=	 -1.0611;
+     m_EtaROImin[0][27][ 0]=  -0.238294;m_EtaROImax[0][27][ 0]=  -0.180742;m_PhiROImin[0][27][ 0]=   -0.89861;m_PhiROImax[0][27][ 0]=  -0.788366;
+     m_EtaROImin[0][27][ 1]=  -0.176882;m_EtaROImax[0][27][ 1]= -0.0874905;m_PhiROImin[0][27][ 1]=   -0.89861;m_PhiROImax[0][27][ 1]=  -0.788366;
+     m_EtaROImin[0][27][ 2]=  -0.238294;m_EtaROImax[0][27][ 2]=  -0.180742;m_PhiROImin[0][27][ 2]=   -1.00957;m_PhiROImax[0][27][ 2]=  -0.902135;
+     m_EtaROImin[0][27][ 3]=  -0.176882;m_EtaROImax[0][27][ 3]= -0.0874905;m_PhiROImin[0][27][ 3]=   -1.00957;m_PhiROImax[0][27][ 3]=  -0.902135;
+     m_EtaROImin[0][27][ 4]=  -0.452099;m_EtaROImax[0][27][ 4]=  -0.350831;m_PhiROImin[0][27][ 4]=  -0.898011;m_PhiROImax[0][27][ 4]=	-0.78835;
+     m_EtaROImin[0][27][ 5]=   -0.35049;m_EtaROImax[0][27][ 5]=  -0.246207;m_PhiROImin[0][27][ 5]=  -0.898011;m_PhiROImax[0][27][ 5]=	-0.78835;
+     m_EtaROImin[0][27][ 6]=  -0.452099;m_EtaROImax[0][27][ 6]=  -0.350831;m_PhiROImin[0][27][ 6]=   -1.00841;m_PhiROImax[0][27][ 6]=  -0.901517;
+     m_EtaROImin[0][27][ 7]=   -0.35049;m_EtaROImax[0][27][ 7]=  -0.246207;m_PhiROImin[0][27][ 7]=   -1.00841;m_PhiROImax[0][27][ 7]=  -0.901517;
+     m_EtaROImin[0][27][ 8]=  -0.648101;m_EtaROImax[0][27][ 8]=  -0.555789;m_PhiROImin[0][27][ 8]=  -0.898011;m_PhiROImax[0][27][ 8]=	-0.78835;
+     m_EtaROImin[0][27][ 9]=  -0.554444;m_EtaROImax[0][27][ 9]=  -0.458091;m_PhiROImin[0][27][ 9]=  -0.898011;m_PhiROImax[0][27][ 9]=	-0.78835;
+     m_EtaROImin[0][27][10]=  -0.648101;m_EtaROImax[0][27][10]=  -0.555789;m_PhiROImin[0][27][10]=   -1.00841;m_PhiROImax[0][27][10]=  -0.901517;
+     m_EtaROImin[0][27][11]=  -0.554444;m_EtaROImax[0][27][11]=  -0.458091;m_PhiROImin[0][27][11]=   -1.00841;m_PhiROImax[0][27][11]=  -0.901517;
+     m_EtaROImin[0][27][12]=  -0.776449;m_EtaROImax[0][27][12]=  -0.731124;m_PhiROImin[0][27][12]=   -0.89861;m_PhiROImax[0][27][12]=  -0.788366;
+     m_EtaROImin[0][27][13]=  -0.728056;m_EtaROImax[0][27][13]=  -0.655857;m_PhiROImin[0][27][13]=   -0.89861;m_PhiROImax[0][27][13]=  -0.788366;
+     m_EtaROImin[0][27][14]=  -0.776449;m_EtaROImax[0][27][14]=  -0.731124;m_PhiROImin[0][27][14]=   -1.00957;m_PhiROImax[0][27][14]=  -0.902135;
+     m_EtaROImin[0][27][15]=  -0.728056;m_EtaROImax[0][27][15]=  -0.655857;m_PhiROImin[0][27][15]=   -1.00957;m_PhiROImax[0][27][15]=  -0.902135;
+     m_EtaROImin[0][27][16]=  -0.895163;m_EtaROImax[0][27][16]=  -0.853359;m_PhiROImin[0][27][16]=   -0.89861;m_PhiROImax[0][27][16]=  -0.788366;
+     m_EtaROImin[0][27][17]=  -0.850528;m_EtaROImax[0][27][17]=  -0.783867;m_PhiROImin[0][27][17]=   -0.89861;m_PhiROImax[0][27][17]=  -0.788366;
+     m_EtaROImin[0][27][18]=  -0.895163;m_EtaROImax[0][27][18]=  -0.853359;m_PhiROImin[0][27][18]=   -1.00957;m_PhiROImax[0][27][18]=  -0.902135;
+     m_EtaROImin[0][27][19]=  -0.850528;m_EtaROImax[0][27][19]=  -0.783867;m_PhiROImin[0][27][19]=   -1.00957;m_PhiROImax[0][27][19]=  -0.902135;
+     m_EtaROImin[0][27][20]=   -1.02514;m_EtaROImax[0][27][20]=  -0.964674;m_PhiROImin[0][27][20]=  -0.898011;m_PhiROImax[0][27][20]=	-0.78835;
+     m_EtaROImin[0][27][21]=  -0.961344;m_EtaROImax[0][27][21]=  -0.898201;m_PhiROImin[0][27][21]=  -0.898011;m_PhiROImax[0][27][21]=	-0.78835;
+     m_EtaROImin[0][27][22]=   -1.02514;m_EtaROImax[0][27][22]=  -0.964674;m_PhiROImin[0][27][22]=   -1.00841;m_PhiROImax[0][27][22]=  -0.901517;
+     m_EtaROImin[0][27][23]=  -0.961344;m_EtaROImax[0][27][23]=  -0.898201;m_PhiROImin[0][27][23]=   -1.00841;m_PhiROImax[0][27][23]=  -0.901517;
+     m_EtaROImin[0][27][24]=	    0;m_EtaROImax[0][27][24]=	     0;m_PhiROImin[0][27][24]=	      0;m_PhiROImax[0][27][24]=	       0;
+     m_EtaROImin[0][27][25]=   -1.06547;m_EtaROImax[0][27][25]=   -1.03003;m_PhiROImin[0][27][25]=  -0.898827;m_PhiROImax[0][27][25]=  -0.788467;
+     m_EtaROImin[0][27][26]=	    0;m_EtaROImax[0][27][26]=	     0;m_PhiROImin[0][27][26]=	      0;m_PhiROImax[0][27][26]=	       0;
+     m_EtaROImin[0][27][27]=   -1.06547;m_EtaROImax[0][27][27]=   -1.03003;m_PhiROImin[0][27][27]=  -0.982541;m_PhiROImax[0][27][27]=  -0.902356;
+     m_EtaROImin[0][27][28]=	    0;m_EtaROImax[0][27][28]=	     0;m_PhiROImin[0][27][28]=	      0;m_PhiROImax[0][27][28]=	       0;
+     m_EtaROImin[0][27][29]=	    0;m_EtaROImax[0][27][29]=	     0;m_PhiROImin[0][27][29]=	      0;m_PhiROImax[0][27][29]=	       0;
+     m_EtaROImin[0][27][30]=	    0;m_EtaROImax[0][27][30]=	     0;m_PhiROImin[0][27][30]=	      0;m_PhiROImax[0][27][30]=	       0;
+     m_EtaROImin[0][27][31]=	    0;m_EtaROImax[0][27][31]=	     0;m_PhiROImin[0][27][31]=	      0;m_PhiROImax[0][27][31]=	       0;
+     m_EtaROImin[0][28][ 0]=  -0.145912;m_EtaROImax[0][28][ 0]= -0.0874905;m_PhiROImin[0][28][ 0]=   -0.78243;m_PhiROImax[0][28][ 0]=  -0.672186;
+     m_EtaROImin[0][28][ 1]=  -0.238294;m_EtaROImax[0][28][ 1]=  -0.149792;m_PhiROImin[0][28][ 1]=   -0.78243;m_PhiROImax[0][28][ 1]=  -0.672186;
+     m_EtaROImin[0][28][ 2]=  -0.145912;m_EtaROImax[0][28][ 2]= -0.0874905;m_PhiROImin[0][28][ 2]=  -0.668661;m_PhiROImax[0][28][ 2]=  -0.561229;
+     m_EtaROImin[0][28][ 3]=  -0.238294;m_EtaROImax[0][28][ 3]=  -0.149792;m_PhiROImin[0][28][ 3]=  -0.668661;m_PhiROImax[0][28][ 3]=  -0.561229;
+     m_EtaROImin[0][28][ 4]=   -0.35049;m_EtaROImax[0][28][ 4]=  -0.246207;m_PhiROImin[0][28][ 4]=  -0.782446;m_PhiROImax[0][28][ 4]=  -0.672786;
+     m_EtaROImin[0][28][ 5]=  -0.452099;m_EtaROImax[0][28][ 5]=  -0.350831;m_PhiROImin[0][28][ 5]=  -0.782446;m_PhiROImax[0][28][ 5]=  -0.672786;
+     m_EtaROImin[0][28][ 6]=   -0.35049;m_EtaROImax[0][28][ 6]=  -0.246207;m_PhiROImin[0][28][ 6]=  -0.669279;m_PhiROImax[0][28][ 6]=  -0.562387;
+     m_EtaROImin[0][28][ 7]=  -0.452099;m_EtaROImax[0][28][ 7]=  -0.350831;m_PhiROImin[0][28][ 7]=  -0.669279;m_PhiROImax[0][28][ 7]=  -0.562387;
+     m_EtaROImin[0][28][ 8]=  -0.554444;m_EtaROImax[0][28][ 8]=  -0.458091;m_PhiROImin[0][28][ 8]=  -0.782446;m_PhiROImax[0][28][ 8]=  -0.672786;
+     m_EtaROImin[0][28][ 9]=  -0.648101;m_EtaROImax[0][28][ 9]=  -0.555789;m_PhiROImin[0][28][ 9]=  -0.782446;m_PhiROImax[0][28][ 9]=  -0.672786;
+     m_EtaROImin[0][28][10]=  -0.554444;m_EtaROImax[0][28][10]=  -0.458091;m_PhiROImin[0][28][10]=  -0.669279;m_PhiROImax[0][28][10]=  -0.562387;
+     m_EtaROImin[0][28][11]=  -0.648101;m_EtaROImax[0][28][11]=  -0.555789;m_PhiROImin[0][28][11]=  -0.669279;m_PhiROImax[0][28][11]=  -0.562387;
+     m_EtaROImin[0][28][12]=  -0.703298;m_EtaROImax[0][28][12]=  -0.655857;m_PhiROImin[0][28][12]=   -0.78243;m_PhiROImax[0][28][12]=  -0.672186;
+     m_EtaROImin[0][28][13]=  -0.776449;m_EtaROImax[0][28][13]=  -0.706413;m_PhiROImin[0][28][13]=   -0.78243;m_PhiROImax[0][28][13]=  -0.672186;
+     m_EtaROImin[0][28][14]=  -0.703298;m_EtaROImax[0][28][14]=  -0.655857;m_PhiROImin[0][28][14]=  -0.668661;m_PhiROImax[0][28][14]=  -0.561229;
+     m_EtaROImin[0][28][15]=  -0.776449;m_EtaROImax[0][28][15]=  -0.706413;m_PhiROImin[0][28][15]=  -0.668661;m_PhiROImax[0][28][15]=  -0.561229;
+     m_EtaROImin[0][28][16]=   -0.82768;m_EtaROImax[0][28][16]=  -0.783867;m_PhiROImin[0][28][16]=   -0.78243;m_PhiROImax[0][28][16]=  -0.672186;
+     m_EtaROImin[0][28][17]=  -0.895163;m_EtaROImax[0][28][17]=  -0.830556;m_PhiROImin[0][28][17]=   -0.78243;m_PhiROImax[0][28][17]=  -0.672186;
+     m_EtaROImin[0][28][18]=   -0.82768;m_EtaROImax[0][28][18]=  -0.783867;m_PhiROImin[0][28][18]=  -0.668661;m_PhiROImax[0][28][18]=  -0.561229;
+     m_EtaROImin[0][28][19]=  -0.895163;m_EtaROImax[0][28][19]=  -0.830556;m_PhiROImin[0][28][19]=  -0.668661;m_PhiROImax[0][28][19]=  -0.561229;
+     m_EtaROImin[0][28][20]=  -0.961344;m_EtaROImax[0][28][20]=  -0.898201;m_PhiROImin[0][28][20]=  -0.782446;m_PhiROImax[0][28][20]=  -0.672786;
+     m_EtaROImin[0][28][21]=   -1.02514;m_EtaROImax[0][28][21]=  -0.964674;m_PhiROImin[0][28][21]=  -0.782446;m_PhiROImax[0][28][21]=  -0.672786;
+     m_EtaROImin[0][28][22]=  -0.961344;m_EtaROImax[0][28][22]=  -0.898201;m_PhiROImin[0][28][22]=  -0.669279;m_PhiROImax[0][28][22]=  -0.562387;
+     m_EtaROImin[0][28][23]=   -1.02514;m_EtaROImax[0][28][23]=  -0.964674;m_PhiROImin[0][28][23]=  -0.669279;m_PhiROImax[0][28][23]=  -0.562387;
+     m_EtaROImin[0][28][24]=   -1.06547;m_EtaROImax[0][28][24]=   -1.03003;m_PhiROImin[0][28][24]=  -0.782329;m_PhiROImax[0][28][24]=  -0.671969;
+     m_EtaROImin[0][28][25]=	    0;m_EtaROImax[0][28][25]=	     0;m_PhiROImin[0][28][25]=	      0;m_PhiROImax[0][28][25]=	       0;
+     m_EtaROImin[0][28][26]=   -1.06547;m_EtaROImax[0][28][26]=   -1.03003;m_PhiROImin[0][28][26]=   -0.66844;m_PhiROImax[0][28][26]=  -0.588255;
+     m_EtaROImin[0][28][27]=	    0;m_EtaROImax[0][28][27]=	     0;m_PhiROImin[0][28][27]=	      0;m_PhiROImax[0][28][27]=	       0;
+     m_EtaROImin[0][28][28]=	    0;m_EtaROImax[0][28][28]=	     0;m_PhiROImin[0][28][28]=	      0;m_PhiROImax[0][28][28]=	       0;
+     m_EtaROImin[0][28][29]=	    0;m_EtaROImax[0][28][29]=	     0;m_PhiROImin[0][28][29]=	      0;m_PhiROImax[0][28][29]=	       0;
+     m_EtaROImin[0][28][30]=	    0;m_EtaROImax[0][28][30]=	     0;m_PhiROImin[0][28][30]=	      0;m_PhiROImax[0][28][30]=	       0;
+     m_EtaROImin[0][28][31]=	    0;m_EtaROImax[0][28][31]=	     0;m_PhiROImin[0][28][31]=	      0;m_PhiROImax[0][28][31]=	       0;
+     m_EtaROImin[0][29][ 0]=  -0.213185;m_EtaROImax[0][29][ 0]=  -0.116816;m_PhiROImin[0][29][ 0]=  -0.479445;m_PhiROImax[0][29][ 0]=  -0.395489;
+     m_EtaROImin[0][29][ 1]=  -0.118734;m_EtaROImax[0][29][ 1]= -0.0208251;m_PhiROImin[0][29][ 1]=  -0.479445;m_PhiROImax[0][29][ 1]=  -0.395489;
+     m_EtaROImin[0][29][ 2]=  -0.213185;m_EtaROImax[0][29][ 2]=  -0.116816;m_PhiROImin[0][29][ 2]=  -0.565749;m_PhiROImax[0][29][ 2]=  -0.483076;
+     m_EtaROImin[0][29][ 3]=  -0.118734;m_EtaROImax[0][29][ 3]= -0.0208251;m_PhiROImin[0][29][ 3]=  -0.565749;m_PhiROImax[0][29][ 3]=  -0.483076;
+     m_EtaROImin[0][29][ 4]=  -0.416721;m_EtaROImax[0][29][ 4]=   -0.30075;m_PhiROImin[0][29][ 4]=  -0.479445;m_PhiROImax[0][29][ 4]=  -0.395489;
+     m_EtaROImin[0][29][ 5]=  -0.302928;m_EtaROImax[0][29][ 5]=  -0.222449;m_PhiROImin[0][29][ 5]=  -0.479445;m_PhiROImax[0][29][ 5]=  -0.395489;
+     m_EtaROImin[0][29][ 6]=  -0.416721;m_EtaROImax[0][29][ 6]=   -0.30075;m_PhiROImin[0][29][ 6]=  -0.565749;m_PhiROImax[0][29][ 6]=  -0.483076;
+     m_EtaROImin[0][29][ 7]=  -0.302928;m_EtaROImax[0][29][ 7]=  -0.222449;m_PhiROImin[0][29][ 7]=  -0.565749;m_PhiROImax[0][29][ 7]=  -0.483076;
+     m_EtaROImin[0][29][ 8]=  -0.573871;m_EtaROImax[0][29][ 8]=  -0.501681;m_PhiROImin[0][29][ 8]=  -0.479445;m_PhiROImax[0][29][ 8]=  -0.395489;
+     m_EtaROImin[0][29][ 9]=  -0.504617;m_EtaROImax[0][29][ 9]=   -0.42967;m_PhiROImin[0][29][ 9]=  -0.479445;m_PhiROImax[0][29][ 9]=  -0.395489;
+     m_EtaROImin[0][29][10]=  -0.573871;m_EtaROImax[0][29][10]=  -0.501681;m_PhiROImin[0][29][10]=  -0.565749;m_PhiROImax[0][29][10]=  -0.483076;
+     m_EtaROImin[0][29][11]=  -0.504617;m_EtaROImax[0][29][11]=   -0.42967;m_PhiROImin[0][29][11]=  -0.565749;m_PhiROImax[0][29][11]=  -0.483076;
+     m_EtaROImin[0][29][12]=  -0.741516;m_EtaROImax[0][29][12]=  -0.649933;m_PhiROImin[0][29][12]=  -0.479445;m_PhiROImax[0][29][12]=  -0.395489;
+     m_EtaROImin[0][29][13]=  -0.653329;m_EtaROImax[0][29][13]=  -0.583785;m_PhiROImin[0][29][13]=  -0.479445;m_PhiROImax[0][29][13]=  -0.395489;
+     m_EtaROImin[0][29][14]=  -0.741516;m_EtaROImax[0][29][14]=  -0.649933;m_PhiROImin[0][29][14]=  -0.565749;m_PhiROImax[0][29][14]=  -0.483076;
+     m_EtaROImin[0][29][15]=  -0.653329;m_EtaROImax[0][29][15]=  -0.583785;m_PhiROImin[0][29][15]=  -0.565749;m_PhiROImax[0][29][15]=  -0.483076;
+     m_EtaROImin[0][29][16]=	    0;m_EtaROImax[0][29][16]=	     0;m_PhiROImin[0][29][16]=	      0;m_PhiROImax[0][29][16]=	       0;
+     m_EtaROImin[0][29][17]=  -0.837822;m_EtaROImax[0][29][17]=  -0.756521;m_PhiROImin[0][29][17]=  -0.479445;m_PhiROImax[0][29][17]=  -0.395489;
+     m_EtaROImin[0][29][18]=	    0;m_EtaROImax[0][29][18]=	     0;m_PhiROImin[0][29][18]=	      0;m_PhiROImax[0][29][18]=	       0;
+     m_EtaROImin[0][29][19]=  -0.837822;m_EtaROImax[0][29][19]=  -0.756521;m_PhiROImin[0][29][19]=  -0.565749;m_PhiROImax[0][29][19]=  -0.483076;
+     m_EtaROImin[0][29][20]=  -0.956037;m_EtaROImax[0][29][20]=  -0.899344;m_PhiROImin[0][29][20]=  -0.479445;m_PhiROImax[0][29][20]=  -0.395489;
+     m_EtaROImin[0][29][21]=  -0.903324;m_EtaROImax[0][29][21]=  -0.844116;m_PhiROImin[0][29][21]=  -0.479445;m_PhiROImax[0][29][21]=  -0.395489;
+     m_EtaROImin[0][29][22]=  -0.956037;m_EtaROImax[0][29][22]=  -0.899344;m_PhiROImin[0][29][22]=  -0.565749;m_PhiROImax[0][29][22]=  -0.483076;
+     m_EtaROImin[0][29][23]=  -0.903324;m_EtaROImax[0][29][23]=  -0.844116;m_PhiROImin[0][29][23]=  -0.565749;m_PhiROImax[0][29][23]=  -0.483076;
+     m_EtaROImin[0][29][24]=	    0;m_EtaROImax[0][29][24]=	     0;m_PhiROImin[0][29][24]=	      0;m_PhiROImax[0][29][24]=	       0;
+     m_EtaROImin[0][29][25]=	    0;m_EtaROImax[0][29][25]=	     0;m_PhiROImin[0][29][25]=	      0;m_PhiROImax[0][29][25]=	       0;
+     m_EtaROImin[0][29][26]=	    0;m_EtaROImax[0][29][26]=	     0;m_PhiROImin[0][29][26]=	      0;m_PhiROImax[0][29][26]=	       0;
+     m_EtaROImin[0][29][27]=	    0;m_EtaROImax[0][29][27]=	     0;m_PhiROImin[0][29][27]=	      0;m_PhiROImax[0][29][27]=	       0;
+     m_EtaROImin[0][29][28]=	    0;m_EtaROImax[0][29][28]=	     0;m_PhiROImin[0][29][28]=	      0;m_PhiROImax[0][29][28]=	       0;
+     m_EtaROImin[0][29][29]=	    0;m_EtaROImax[0][29][29]=	     0;m_PhiROImin[0][29][29]=	      0;m_PhiROImax[0][29][29]=	       0;
+     m_EtaROImin[0][29][30]=	    0;m_EtaROImax[0][29][30]=	     0;m_PhiROImin[0][29][30]=	      0;m_PhiROImax[0][29][30]=	       0;
+     m_EtaROImin[0][29][31]=	    0;m_EtaROImax[0][29][31]=	     0;m_PhiROImin[0][29][31]=	      0;m_PhiROImax[0][29][31]=	       0;
+     m_EtaROImin[0][30][ 0]=  -0.118734;m_EtaROImax[0][30][ 0]= -0.0208251;m_PhiROImin[0][30][ 0]=  -0.389909;m_PhiROImax[0][30][ 0]=  -0.305953;
+     m_EtaROImin[0][30][ 1]=  -0.213185;m_EtaROImax[0][30][ 1]=  -0.116816;m_PhiROImin[0][30][ 1]=  -0.389909;m_PhiROImax[0][30][ 1]=  -0.305953;
+     m_EtaROImin[0][30][ 2]=  -0.118734;m_EtaROImax[0][30][ 2]= -0.0208251;m_PhiROImin[0][30][ 2]=  -0.302322;m_PhiROImax[0][30][ 2]=  -0.219649;
+     m_EtaROImin[0][30][ 3]=  -0.213185;m_EtaROImax[0][30][ 3]=  -0.116816;m_PhiROImin[0][30][ 3]=  -0.302322;m_PhiROImax[0][30][ 3]=  -0.219649;
+     m_EtaROImin[0][30][ 4]=  -0.302928;m_EtaROImax[0][30][ 4]=  -0.222449;m_PhiROImin[0][30][ 4]=  -0.389909;m_PhiROImax[0][30][ 4]=  -0.305953;
+     m_EtaROImin[0][30][ 5]=  -0.416721;m_EtaROImax[0][30][ 5]=   -0.30075;m_PhiROImin[0][30][ 5]=  -0.389909;m_PhiROImax[0][30][ 5]=  -0.305953;
+     m_EtaROImin[0][30][ 6]=  -0.302928;m_EtaROImax[0][30][ 6]=  -0.222449;m_PhiROImin[0][30][ 6]=  -0.302322;m_PhiROImax[0][30][ 6]=  -0.219649;
+     m_EtaROImin[0][30][ 7]=  -0.416721;m_EtaROImax[0][30][ 7]=   -0.30075;m_PhiROImin[0][30][ 7]=  -0.302322;m_PhiROImax[0][30][ 7]=  -0.219649;
+     m_EtaROImin[0][30][ 8]=  -0.504617;m_EtaROImax[0][30][ 8]=   -0.42967;m_PhiROImin[0][30][ 8]=  -0.389909;m_PhiROImax[0][30][ 8]=  -0.305953;
+     m_EtaROImin[0][30][ 9]=  -0.573871;m_EtaROImax[0][30][ 9]=  -0.501681;m_PhiROImin[0][30][ 9]=  -0.389909;m_PhiROImax[0][30][ 9]=  -0.305953;
+     m_EtaROImin[0][30][10]=  -0.504617;m_EtaROImax[0][30][10]=   -0.42967;m_PhiROImin[0][30][10]=  -0.302322;m_PhiROImax[0][30][10]=  -0.219649;
+     m_EtaROImin[0][30][11]=  -0.573871;m_EtaROImax[0][30][11]=  -0.501681;m_PhiROImin[0][30][11]=  -0.302322;m_PhiROImax[0][30][11]=  -0.219649;
+     m_EtaROImin[0][30][12]=  -0.653329;m_EtaROImax[0][30][12]=  -0.583785;m_PhiROImin[0][30][12]=  -0.389909;m_PhiROImax[0][30][12]=  -0.305953;
+     m_EtaROImin[0][30][13]=  -0.741516;m_EtaROImax[0][30][13]=  -0.649933;m_PhiROImin[0][30][13]=  -0.389909;m_PhiROImax[0][30][13]=  -0.305953;
+     m_EtaROImin[0][30][14]=  -0.653329;m_EtaROImax[0][30][14]=  -0.583785;m_PhiROImin[0][30][14]=  -0.302322;m_PhiROImax[0][30][14]=  -0.219649;
+     m_EtaROImin[0][30][15]=  -0.741516;m_EtaROImax[0][30][15]=  -0.649933;m_PhiROImin[0][30][15]=  -0.302322;m_PhiROImax[0][30][15]=  -0.219649;
+     m_EtaROImin[0][30][16]=  -0.837822;m_EtaROImax[0][30][16]=  -0.756521;m_PhiROImin[0][30][16]=  -0.389909;m_PhiROImax[0][30][16]=  -0.305953;
+     m_EtaROImin[0][30][17]=	    0;m_EtaROImax[0][30][17]=	     0;m_PhiROImin[0][30][17]=	      0;m_PhiROImax[0][30][17]=	       0;
+     m_EtaROImin[0][30][18]=  -0.837822;m_EtaROImax[0][30][18]=  -0.756521;m_PhiROImin[0][30][18]=  -0.302322;m_PhiROImax[0][30][18]=  -0.219649;
+     m_EtaROImin[0][30][19]=	    0;m_EtaROImax[0][30][19]=	     0;m_PhiROImin[0][30][19]=	      0;m_PhiROImax[0][30][19]=	       0;
+     m_EtaROImin[0][30][20]=  -0.903324;m_EtaROImax[0][30][20]=  -0.844116;m_PhiROImin[0][30][20]=  -0.389909;m_PhiROImax[0][30][20]=  -0.305953;
+     m_EtaROImin[0][30][21]=  -0.956037;m_EtaROImax[0][30][21]=  -0.899344;m_PhiROImin[0][30][21]=  -0.389909;m_PhiROImax[0][30][21]=  -0.305953;
+     m_EtaROImin[0][30][22]=  -0.903324;m_EtaROImax[0][30][22]=  -0.844116;m_PhiROImin[0][30][22]=  -0.302322;m_PhiROImax[0][30][22]=  -0.219649;
+     m_EtaROImin[0][30][23]=  -0.956037;m_EtaROImax[0][30][23]=  -0.899344;m_PhiROImin[0][30][23]=  -0.302322;m_PhiROImax[0][30][23]=  -0.219649;
+     m_EtaROImin[0][30][24]=	    0;m_EtaROImax[0][30][24]=	     0;m_PhiROImin[0][30][24]=	      0;m_PhiROImax[0][30][24]=	       0;
+     m_EtaROImin[0][30][25]=	    0;m_EtaROImax[0][30][25]=	     0;m_PhiROImin[0][30][25]=	      0;m_PhiROImax[0][30][25]=	       0;
+     m_EtaROImin[0][30][26]=	    0;m_EtaROImax[0][30][26]=	     0;m_PhiROImin[0][30][26]=	      0;m_PhiROImax[0][30][26]=	       0;
+     m_EtaROImin[0][30][27]=	    0;m_EtaROImax[0][30][27]=	     0;m_PhiROImin[0][30][27]=	      0;m_PhiROImax[0][30][27]=	       0;
+     m_EtaROImin[0][30][28]=	    0;m_EtaROImax[0][30][28]=	     0;m_PhiROImin[0][30][28]=	      0;m_PhiROImax[0][30][28]=	       0;
+     m_EtaROImin[0][30][29]=	    0;m_EtaROImax[0][30][29]=	     0;m_PhiROImin[0][30][29]=	      0;m_PhiROImax[0][30][29]=	       0;
+     m_EtaROImin[0][30][30]=	    0;m_EtaROImax[0][30][30]=	     0;m_PhiROImin[0][30][30]=	      0;m_PhiROImax[0][30][30]=	       0;
+     m_EtaROImin[0][30][31]=	    0;m_EtaROImax[0][30][31]=	     0;m_PhiROImin[0][30][31]=	      0;m_PhiROImax[0][30][31]=	       0;
+     m_EtaROImin[0][31][ 0]=	    0;m_EtaROImax[0][31][ 0]=	     0;m_PhiROImin[0][31][ 0]=	      0;m_PhiROImax[0][31][ 0]=	       0;
+     m_EtaROImin[0][31][ 1]=  -0.238757;m_EtaROImax[0][31][ 1]=   -0.13107;m_PhiROImin[0][31][ 1]=  -0.113212;m_PhiROImax[0][31][ 1]=-0.00296767;
+     m_EtaROImin[0][31][ 2]=	    0;m_EtaROImax[0][31][ 2]=	     0;m_PhiROImin[0][31][ 2]=	      0;m_PhiROImax[0][31][ 2]=	       0;
+     m_EtaROImin[0][31][ 3]=  -0.238757;m_EtaROImax[0][31][ 3]=   -0.13107;m_PhiROImin[0][31][ 3]=  -0.224169;m_PhiROImax[0][31][ 3]=  -0.116737;
+     m_EtaROImin[0][31][ 4]=  -0.452099;m_EtaROImax[0][31][ 4]=  -0.350831;m_PhiROImin[0][31][ 4]=  -0.112612;m_PhiROImax[0][31][ 4]=-0.00295181;
+     m_EtaROImin[0][31][ 5]=   -0.35049;m_EtaROImax[0][31][ 5]=  -0.246207;m_PhiROImin[0][31][ 5]=  -0.112612;m_PhiROImax[0][31][ 5]=-0.00295181;
+     m_EtaROImin[0][31][ 6]=  -0.452099;m_EtaROImax[0][31][ 6]=  -0.350831;m_PhiROImin[0][31][ 6]=  -0.223011;m_PhiROImax[0][31][ 6]=  -0.116119;
+     m_EtaROImin[0][31][ 7]=   -0.35049;m_EtaROImax[0][31][ 7]=  -0.246207;m_PhiROImin[0][31][ 7]=  -0.223011;m_PhiROImax[0][31][ 7]=  -0.116119;
+     m_EtaROImin[0][31][ 8]=  -0.648101;m_EtaROImax[0][31][ 8]=  -0.555789;m_PhiROImin[0][31][ 8]=  -0.112612;m_PhiROImax[0][31][ 8]=-0.00295181;
+     m_EtaROImin[0][31][ 9]=  -0.554444;m_EtaROImax[0][31][ 9]=  -0.458091;m_PhiROImin[0][31][ 9]=  -0.112612;m_PhiROImax[0][31][ 9]=-0.00295181;
+     m_EtaROImin[0][31][10]=  -0.648101;m_EtaROImax[0][31][10]=  -0.555789;m_PhiROImin[0][31][10]=  -0.223011;m_PhiROImax[0][31][10]=  -0.116119;
+     m_EtaROImin[0][31][11]=  -0.554444;m_EtaROImax[0][31][11]=  -0.458091;m_PhiROImin[0][31][11]=  -0.223011;m_PhiROImax[0][31][11]=  -0.116119;
+     m_EtaROImin[0][31][12]=  -0.776449;m_EtaROImax[0][31][12]=  -0.731124;m_PhiROImin[0][31][12]=  -0.113212;m_PhiROImax[0][31][12]=-0.00296767;
+     m_EtaROImin[0][31][13]=  -0.728056;m_EtaROImax[0][31][13]=  -0.655857;m_PhiROImin[0][31][13]=  -0.113212;m_PhiROImax[0][31][13]=-0.00296767;
+     m_EtaROImin[0][31][14]=  -0.776449;m_EtaROImax[0][31][14]=  -0.731124;m_PhiROImin[0][31][14]=  -0.224169;m_PhiROImax[0][31][14]=  -0.116737;
+     m_EtaROImin[0][31][15]=  -0.728056;m_EtaROImax[0][31][15]=  -0.655857;m_PhiROImin[0][31][15]=  -0.224169;m_PhiROImax[0][31][15]=  -0.116737;
+     m_EtaROImin[0][31][16]=  -0.895163;m_EtaROImax[0][31][16]=  -0.853359;m_PhiROImin[0][31][16]=  -0.113212;m_PhiROImax[0][31][16]=-0.00296767;
+     m_EtaROImin[0][31][17]=  -0.850528;m_EtaROImax[0][31][17]=  -0.783867;m_PhiROImin[0][31][17]=  -0.113212;m_PhiROImax[0][31][17]=-0.00296767;
+     m_EtaROImin[0][31][18]=  -0.895163;m_EtaROImax[0][31][18]=  -0.853359;m_PhiROImin[0][31][18]=  -0.224169;m_PhiROImax[0][31][18]=  -0.116737;
+     m_EtaROImin[0][31][19]=  -0.850528;m_EtaROImax[0][31][19]=  -0.783867;m_PhiROImin[0][31][19]=  -0.224169;m_PhiROImax[0][31][19]=  -0.116737;
+     m_EtaROImin[0][31][20]=   -1.02514;m_EtaROImax[0][31][20]=  -0.964674;m_PhiROImin[0][31][20]=  -0.112612;m_PhiROImax[0][31][20]=-0.00295181;
+     m_EtaROImin[0][31][21]=  -0.961344;m_EtaROImax[0][31][21]=  -0.898201;m_PhiROImin[0][31][21]=  -0.112612;m_PhiROImax[0][31][21]=-0.00295181;
+     m_EtaROImin[0][31][22]=   -1.02514;m_EtaROImax[0][31][22]=  -0.964674;m_PhiROImin[0][31][22]=  -0.223011;m_PhiROImax[0][31][22]=  -0.116119;
+     m_EtaROImin[0][31][23]=  -0.961344;m_EtaROImax[0][31][23]=  -0.898201;m_PhiROImin[0][31][23]=  -0.223011;m_PhiROImax[0][31][23]=  -0.116119;
+     m_EtaROImin[0][31][24]=	    0;m_EtaROImax[0][31][24]=	     0;m_PhiROImin[0][31][24]=	      0;m_PhiROImax[0][31][24]=	       0;
+     m_EtaROImin[0][31][25]=   -1.06547;m_EtaROImax[0][31][25]=   -1.03003;m_PhiROImin[0][31][25]=  -0.113429;m_PhiROImax[0][31][25]=-0.00306876;
+     m_EtaROImin[0][31][26]=	    0;m_EtaROImax[0][31][26]=	     0;m_PhiROImin[0][31][26]=	      0;m_PhiROImax[0][31][26]=	       0;
+     m_EtaROImin[0][31][27]=   -1.06547;m_EtaROImax[0][31][27]=   -1.03003;m_PhiROImin[0][31][27]=  -0.197143;m_PhiROImax[0][31][27]=  -0.116958;
+     m_EtaROImin[0][31][28]=	    0;m_EtaROImax[0][31][28]=	     0;m_PhiROImin[0][31][28]=	      0;m_PhiROImax[0][31][28]=	       0;
+     m_EtaROImin[0][31][29]=	    0;m_EtaROImax[0][31][29]=	     0;m_PhiROImin[0][31][29]=	      0;m_PhiROImax[0][31][29]=	       0;
+     m_EtaROImin[0][31][30]=	    0;m_EtaROImax[0][31][30]=	     0;m_PhiROImin[0][31][30]=	      0;m_PhiROImax[0][31][30]=	       0;
+     m_EtaROImin[0][31][31]=	    0;m_EtaROImax[0][31][31]=	     0;m_PhiROImin[0][31][31]=	      0;m_PhiROImax[0][31][31]=	       0;
+     m_EtaROImin[1][ 0][ 0]=   0.130922;m_EtaROImax[1][ 0][ 0]=   0.238612;m_PhiROImin[1][ 0][ 0]= 0.00295181;m_PhiROImax[1][ 0][ 0]=	0.112612;
+     m_EtaROImin[1][ 0][ 1]=  0.0231199;m_EtaROImax[1][ 0][ 1]=   0.131749;m_PhiROImin[1][ 0][ 1]= 0.00295181;m_PhiROImax[1][ 0][ 1]=	0.112612;
+     m_EtaROImin[1][ 0][ 2]=   0.130922;m_EtaROImax[1][ 0][ 2]=   0.238612;m_PhiROImin[1][ 0][ 2]=   0.116119;m_PhiROImax[1][ 0][ 2]=	0.223011;
+     m_EtaROImin[1][ 0][ 3]=  0.0231199;m_EtaROImax[1][ 0][ 3]=   0.131749;m_PhiROImin[1][ 0][ 3]=   0.116119;m_PhiROImax[1][ 0][ 3]=	0.223011;
+     m_EtaROImin[1][ 0][ 4]=   0.350831;m_EtaROImax[1][ 0][ 4]=   0.452099;m_PhiROImin[1][ 0][ 4]= 0.00295181;m_PhiROImax[1][ 0][ 4]=	0.112612;
+     m_EtaROImin[1][ 0][ 5]=   0.246207;m_EtaROImax[1][ 0][ 5]=    0.35049;m_PhiROImin[1][ 0][ 5]= 0.00295181;m_PhiROImax[1][ 0][ 5]=	0.112612;
+     m_EtaROImin[1][ 0][ 6]=   0.350831;m_EtaROImax[1][ 0][ 6]=   0.452099;m_PhiROImin[1][ 0][ 6]=   0.116119;m_PhiROImax[1][ 0][ 6]=	0.223011;
+     m_EtaROImin[1][ 0][ 7]=   0.246207;m_EtaROImax[1][ 0][ 7]=    0.35049;m_PhiROImin[1][ 0][ 7]=   0.116119;m_PhiROImax[1][ 0][ 7]=	0.223011;
+     m_EtaROImin[1][ 0][ 8]=   0.555789;m_EtaROImax[1][ 0][ 8]=   0.648101;m_PhiROImin[1][ 0][ 8]= 0.00295181;m_PhiROImax[1][ 0][ 8]=	0.112612;
+     m_EtaROImin[1][ 0][ 9]=   0.458091;m_EtaROImax[1][ 0][ 9]=   0.554444;m_PhiROImin[1][ 0][ 9]= 0.00295181;m_PhiROImax[1][ 0][ 9]=	0.112612;
+     m_EtaROImin[1][ 0][10]=   0.555789;m_EtaROImax[1][ 0][10]=   0.648101;m_PhiROImin[1][ 0][10]=   0.116119;m_PhiROImax[1][ 0][10]=	0.223011;
+     m_EtaROImin[1][ 0][11]=   0.458091;m_EtaROImax[1][ 0][11]=   0.554444;m_PhiROImin[1][ 0][11]=   0.116119;m_PhiROImax[1][ 0][11]=	0.223011;
+     m_EtaROImin[1][ 0][12]=   0.731124;m_EtaROImax[1][ 0][12]=   0.776449;m_PhiROImin[1][ 0][12]= 0.00296767;m_PhiROImax[1][ 0][12]=	0.113212;
+     m_EtaROImin[1][ 0][13]=   0.655857;m_EtaROImax[1][ 0][13]=   0.728056;m_PhiROImin[1][ 0][13]= 0.00296767;m_PhiROImax[1][ 0][13]=	0.113212;
+     m_EtaROImin[1][ 0][14]=   0.731124;m_EtaROImax[1][ 0][14]=   0.776449;m_PhiROImin[1][ 0][14]=   0.116737;m_PhiROImax[1][ 0][14]=	0.224169;
+     m_EtaROImin[1][ 0][15]=   0.655857;m_EtaROImax[1][ 0][15]=   0.728056;m_PhiROImin[1][ 0][15]=   0.116737;m_PhiROImax[1][ 0][15]=	0.224169;
+     m_EtaROImin[1][ 0][16]=   0.853359;m_EtaROImax[1][ 0][16]=   0.895163;m_PhiROImin[1][ 0][16]= 0.00296767;m_PhiROImax[1][ 0][16]=	0.113212;
+     m_EtaROImin[1][ 0][17]=   0.783867;m_EtaROImax[1][ 0][17]=   0.850528;m_PhiROImin[1][ 0][17]= 0.00296767;m_PhiROImax[1][ 0][17]=	0.113212;
+     m_EtaROImin[1][ 0][18]=   0.853359;m_EtaROImax[1][ 0][18]=   0.895163;m_PhiROImin[1][ 0][18]=   0.116737;m_PhiROImax[1][ 0][18]=	0.224169;
+     m_EtaROImin[1][ 0][19]=   0.783867;m_EtaROImax[1][ 0][19]=   0.850528;m_PhiROImin[1][ 0][19]=   0.116737;m_PhiROImax[1][ 0][19]=	0.224169;
+     m_EtaROImin[1][ 0][20]=   0.964674;m_EtaROImax[1][ 0][20]=    1.02514;m_PhiROImin[1][ 0][20]= 0.00295181;m_PhiROImax[1][ 0][20]=	0.112612;
+     m_EtaROImin[1][ 0][21]=   0.898201;m_EtaROImax[1][ 0][21]=   0.961344;m_PhiROImin[1][ 0][21]= 0.00295181;m_PhiROImax[1][ 0][21]=	0.112612;
+     m_EtaROImin[1][ 0][22]=   0.964674;m_EtaROImax[1][ 0][22]=    1.02514;m_PhiROImin[1][ 0][22]=   0.116119;m_PhiROImax[1][ 0][22]=	0.223011;
+     m_EtaROImin[1][ 0][23]=   0.898201;m_EtaROImax[1][ 0][23]=   0.961344;m_PhiROImin[1][ 0][23]=   0.116119;m_PhiROImax[1][ 0][23]=	0.223011;
+     m_EtaROImin[1][ 0][24]=	    0;m_EtaROImax[1][ 0][24]=	     0;m_PhiROImin[1][ 0][24]=	      0;m_PhiROImax[1][ 0][24]=	       0;
+     m_EtaROImin[1][ 0][25]=    1.03003;m_EtaROImax[1][ 0][25]=    1.06547;m_PhiROImin[1][ 0][25]= 0.00306876;m_PhiROImax[1][ 0][25]=	0.113429;
+     m_EtaROImin[1][ 0][26]=	    0;m_EtaROImax[1][ 0][26]=	     0;m_PhiROImin[1][ 0][26]=	      0;m_PhiROImax[1][ 0][26]=	       0;
+     m_EtaROImin[1][ 0][27]=    1.03003;m_EtaROImax[1][ 0][27]=    1.06547;m_PhiROImin[1][ 0][27]=   0.116958;m_PhiROImax[1][ 0][27]=	0.197143;
+     m_EtaROImin[1][ 0][28]=	    0;m_EtaROImax[1][ 0][28]=	     0;m_PhiROImin[1][ 0][28]=	      0;m_PhiROImax[1][ 0][28]=	       0;
+     m_EtaROImin[1][ 0][29]=	    0;m_EtaROImax[1][ 0][29]=	     0;m_PhiROImin[1][ 0][29]=	      0;m_PhiROImax[1][ 0][29]=	       0;
+     m_EtaROImin[1][ 0][30]=	    0;m_EtaROImax[1][ 0][30]=	     0;m_PhiROImin[1][ 0][30]=	      0;m_PhiROImax[1][ 0][30]=	       0;
+     m_EtaROImin[1][ 0][31]=	    0;m_EtaROImax[1][ 0][31]=	     0;m_PhiROImin[1][ 0][31]=	      0;m_PhiROImax[1][ 0][31]=	       0;
+     m_EtaROImin[1][ 1][ 0]=  0.0208251;m_EtaROImax[1][ 1][ 0]=   0.118734;m_PhiROImin[1][ 1][ 0]=   0.305953;m_PhiROImax[1][ 1][ 0]=	0.389909;
+     m_EtaROImin[1][ 1][ 1]=   0.116816;m_EtaROImax[1][ 1][ 1]=   0.213185;m_PhiROImin[1][ 1][ 1]=   0.305953;m_PhiROImax[1][ 1][ 1]=	0.389909;
+     m_EtaROImin[1][ 1][ 2]=  0.0208251;m_EtaROImax[1][ 1][ 2]=   0.118734;m_PhiROImin[1][ 1][ 2]=   0.219649;m_PhiROImax[1][ 1][ 2]=	0.302322;
+     m_EtaROImin[1][ 1][ 3]=   0.116816;m_EtaROImax[1][ 1][ 3]=   0.213185;m_PhiROImin[1][ 1][ 3]=   0.219649;m_PhiROImax[1][ 1][ 3]=	0.302322;
+     m_EtaROImin[1][ 1][ 4]=   0.222449;m_EtaROImax[1][ 1][ 4]=   0.302928;m_PhiROImin[1][ 1][ 4]=   0.305953;m_PhiROImax[1][ 1][ 4]=	0.389909;
+     m_EtaROImin[1][ 1][ 5]=    0.30075;m_EtaROImax[1][ 1][ 5]=   0.416721;m_PhiROImin[1][ 1][ 5]=   0.305953;m_PhiROImax[1][ 1][ 5]=	0.389909;
+     m_EtaROImin[1][ 1][ 6]=   0.222449;m_EtaROImax[1][ 1][ 6]=   0.302928;m_PhiROImin[1][ 1][ 6]=   0.219649;m_PhiROImax[1][ 1][ 6]=	0.302322;
+     m_EtaROImin[1][ 1][ 7]=    0.30075;m_EtaROImax[1][ 1][ 7]=   0.416721;m_PhiROImin[1][ 1][ 7]=   0.219649;m_PhiROImax[1][ 1][ 7]=	0.302322;
+     m_EtaROImin[1][ 1][ 8]=    0.42967;m_EtaROImax[1][ 1][ 8]=   0.504617;m_PhiROImin[1][ 1][ 8]=   0.305953;m_PhiROImax[1][ 1][ 8]=	0.389909;
+     m_EtaROImin[1][ 1][ 9]=   0.501681;m_EtaROImax[1][ 1][ 9]=   0.573871;m_PhiROImin[1][ 1][ 9]=   0.305953;m_PhiROImax[1][ 1][ 9]=	0.389909;
+     m_EtaROImin[1][ 1][10]=    0.42967;m_EtaROImax[1][ 1][10]=   0.504617;m_PhiROImin[1][ 1][10]=   0.219649;m_PhiROImax[1][ 1][10]=	0.302322;
+     m_EtaROImin[1][ 1][11]=   0.501681;m_EtaROImax[1][ 1][11]=   0.573871;m_PhiROImin[1][ 1][11]=   0.219649;m_PhiROImax[1][ 1][11]=	0.302322;
+     m_EtaROImin[1][ 1][12]=   0.583785;m_EtaROImax[1][ 1][12]=   0.653329;m_PhiROImin[1][ 1][12]=   0.305953;m_PhiROImax[1][ 1][12]=	0.389909;
+     m_EtaROImin[1][ 1][13]=   0.649934;m_EtaROImax[1][ 1][13]=   0.741516;m_PhiROImin[1][ 1][13]=   0.305953;m_PhiROImax[1][ 1][13]=	0.389909;
+     m_EtaROImin[1][ 1][14]=   0.583785;m_EtaROImax[1][ 1][14]=   0.653329;m_PhiROImin[1][ 1][14]=   0.219649;m_PhiROImax[1][ 1][14]=	0.302322;
+     m_EtaROImin[1][ 1][15]=   0.649934;m_EtaROImax[1][ 1][15]=   0.741516;m_PhiROImin[1][ 1][15]=   0.219649;m_PhiROImax[1][ 1][15]=	0.302322;
+     m_EtaROImin[1][ 1][16]=   0.756521;m_EtaROImax[1][ 1][16]=   0.837822;m_PhiROImin[1][ 1][16]=   0.305953;m_PhiROImax[1][ 1][16]=	0.389909;
+     m_EtaROImin[1][ 1][17]=	    0;m_EtaROImax[1][ 1][17]=	     0;m_PhiROImin[1][ 1][17]=	      0;m_PhiROImax[1][ 1][17]=	       0;
+     m_EtaROImin[1][ 1][18]=   0.756521;m_EtaROImax[1][ 1][18]=   0.837822;m_PhiROImin[1][ 1][18]=   0.219649;m_PhiROImax[1][ 1][18]=	0.302322;
+     m_EtaROImin[1][ 1][19]=	    0;m_EtaROImax[1][ 1][19]=	     0;m_PhiROImin[1][ 1][19]=	      0;m_PhiROImax[1][ 1][19]=	       0;
+     m_EtaROImin[1][ 1][20]=   0.844116;m_EtaROImax[1][ 1][20]=   0.903324;m_PhiROImin[1][ 1][20]=   0.305953;m_PhiROImax[1][ 1][20]=	0.389909;
+     m_EtaROImin[1][ 1][21]=   0.899344;m_EtaROImax[1][ 1][21]=   0.956037;m_PhiROImin[1][ 1][21]=   0.305953;m_PhiROImax[1][ 1][21]=	0.389909;
+     m_EtaROImin[1][ 1][22]=   0.844116;m_EtaROImax[1][ 1][22]=   0.903324;m_PhiROImin[1][ 1][22]=   0.219649;m_PhiROImax[1][ 1][22]=	0.302322;
+     m_EtaROImin[1][ 1][23]=   0.899344;m_EtaROImax[1][ 1][23]=   0.956037;m_PhiROImin[1][ 1][23]=   0.219649;m_PhiROImax[1][ 1][23]=	0.302322;
+     m_EtaROImin[1][ 1][24]=	    0;m_EtaROImax[1][ 1][24]=	     0;m_PhiROImin[1][ 1][24]=	      0;m_PhiROImax[1][ 1][24]=	       0;
+     m_EtaROImin[1][ 1][25]=	    0;m_EtaROImax[1][ 1][25]=	     0;m_PhiROImin[1][ 1][25]=	      0;m_PhiROImax[1][ 1][25]=	       0;
+     m_EtaROImin[1][ 1][26]=	    0;m_EtaROImax[1][ 1][26]=	     0;m_PhiROImin[1][ 1][26]=	      0;m_PhiROImax[1][ 1][26]=	       0;
+     m_EtaROImin[1][ 1][27]=	    0;m_EtaROImax[1][ 1][27]=	     0;m_PhiROImin[1][ 1][27]=	      0;m_PhiROImax[1][ 1][27]=	       0;
+     m_EtaROImin[1][ 1][28]=	    0;m_EtaROImax[1][ 1][28]=	     0;m_PhiROImin[1][ 1][28]=	      0;m_PhiROImax[1][ 1][28]=	       0;
+     m_EtaROImin[1][ 1][29]=	    0;m_EtaROImax[1][ 1][29]=	     0;m_PhiROImin[1][ 1][29]=	      0;m_PhiROImax[1][ 1][29]=	       0;
+     m_EtaROImin[1][ 1][30]=	    0;m_EtaROImax[1][ 1][30]=	     0;m_PhiROImin[1][ 1][30]=	      0;m_PhiROImax[1][ 1][30]=	       0;
+     m_EtaROImin[1][ 1][31]=	    0;m_EtaROImax[1][ 1][31]=	     0;m_PhiROImin[1][ 1][31]=	      0;m_PhiROImax[1][ 1][31]=	       0;
+     m_EtaROImin[1][ 2][ 0]=   0.116816;m_EtaROImax[1][ 2][ 0]=   0.213185;m_PhiROImin[1][ 2][ 0]=   0.395489;m_PhiROImax[1][ 2][ 0]=	0.479445;
+     m_EtaROImin[1][ 2][ 1]=  0.0208251;m_EtaROImax[1][ 2][ 1]=   0.118734;m_PhiROImin[1][ 2][ 1]=   0.395489;m_PhiROImax[1][ 2][ 1]=	0.479445;
+     m_EtaROImin[1][ 2][ 2]=   0.116816;m_EtaROImax[1][ 2][ 2]=   0.213185;m_PhiROImin[1][ 2][ 2]=   0.483076;m_PhiROImax[1][ 2][ 2]=	0.565749;
+     m_EtaROImin[1][ 2][ 3]=  0.0208251;m_EtaROImax[1][ 2][ 3]=   0.118734;m_PhiROImin[1][ 2][ 3]=   0.483076;m_PhiROImax[1][ 2][ 3]=	0.565749;
+     m_EtaROImin[1][ 2][ 4]=    0.30075;m_EtaROImax[1][ 2][ 4]=   0.416721;m_PhiROImin[1][ 2][ 4]=   0.395489;m_PhiROImax[1][ 2][ 4]=	0.479445;
+     m_EtaROImin[1][ 2][ 5]=   0.222449;m_EtaROImax[1][ 2][ 5]=   0.302928;m_PhiROImin[1][ 2][ 5]=   0.395489;m_PhiROImax[1][ 2][ 5]=	0.479445;
+     m_EtaROImin[1][ 2][ 6]=    0.30075;m_EtaROImax[1][ 2][ 6]=   0.416721;m_PhiROImin[1][ 2][ 6]=   0.483076;m_PhiROImax[1][ 2][ 6]=	0.565749;
+     m_EtaROImin[1][ 2][ 7]=   0.222449;m_EtaROImax[1][ 2][ 7]=   0.302928;m_PhiROImin[1][ 2][ 7]=   0.483076;m_PhiROImax[1][ 2][ 7]=	0.565749;
+     m_EtaROImin[1][ 2][ 8]=   0.501681;m_EtaROImax[1][ 2][ 8]=   0.573871;m_PhiROImin[1][ 2][ 8]=   0.395489;m_PhiROImax[1][ 2][ 8]=	0.479445;
+     m_EtaROImin[1][ 2][ 9]=    0.42967;m_EtaROImax[1][ 2][ 9]=   0.504617;m_PhiROImin[1][ 2][ 9]=   0.395489;m_PhiROImax[1][ 2][ 9]=	0.479445;
+     m_EtaROImin[1][ 2][10]=   0.501681;m_EtaROImax[1][ 2][10]=   0.573871;m_PhiROImin[1][ 2][10]=   0.483076;m_PhiROImax[1][ 2][10]=	0.565749;
+     m_EtaROImin[1][ 2][11]=    0.42967;m_EtaROImax[1][ 2][11]=   0.504617;m_PhiROImin[1][ 2][11]=   0.483076;m_PhiROImax[1][ 2][11]=	0.565749;
+     m_EtaROImin[1][ 2][12]=   0.649934;m_EtaROImax[1][ 2][12]=   0.741516;m_PhiROImin[1][ 2][12]=   0.395489;m_PhiROImax[1][ 2][12]=	0.479445;
+     m_EtaROImin[1][ 2][13]=   0.583785;m_EtaROImax[1][ 2][13]=   0.653329;m_PhiROImin[1][ 2][13]=   0.395489;m_PhiROImax[1][ 2][13]=	0.479445;
+     m_EtaROImin[1][ 2][14]=   0.649934;m_EtaROImax[1][ 2][14]=   0.741516;m_PhiROImin[1][ 2][14]=   0.483076;m_PhiROImax[1][ 2][14]=	0.565749;
+     m_EtaROImin[1][ 2][15]=   0.583785;m_EtaROImax[1][ 2][15]=   0.653329;m_PhiROImin[1][ 2][15]=   0.483076;m_PhiROImax[1][ 2][15]=	0.565749;
+     m_EtaROImin[1][ 2][16]=	    0;m_EtaROImax[1][ 2][16]=	     0;m_PhiROImin[1][ 2][16]=	      0;m_PhiROImax[1][ 2][16]=	       0;
+     m_EtaROImin[1][ 2][17]=   0.756521;m_EtaROImax[1][ 2][17]=   0.837822;m_PhiROImin[1][ 2][17]=   0.395489;m_PhiROImax[1][ 2][17]=	0.479445;
+     m_EtaROImin[1][ 2][18]=	    0;m_EtaROImax[1][ 2][18]=	     0;m_PhiROImin[1][ 2][18]=	      0;m_PhiROImax[1][ 2][18]=	       0;
+     m_EtaROImin[1][ 2][19]=   0.756521;m_EtaROImax[1][ 2][19]=   0.837822;m_PhiROImin[1][ 2][19]=   0.483076;m_PhiROImax[1][ 2][19]=	0.565749;
+     m_EtaROImin[1][ 2][20]=   0.899344;m_EtaROImax[1][ 2][20]=   0.956037;m_PhiROImin[1][ 2][20]=   0.395489;m_PhiROImax[1][ 2][20]=	0.479445;
+     m_EtaROImin[1][ 2][21]=   0.844116;m_EtaROImax[1][ 2][21]=   0.903324;m_PhiROImin[1][ 2][21]=   0.395489;m_PhiROImax[1][ 2][21]=	0.479445;
+     m_EtaROImin[1][ 2][22]=   0.899344;m_EtaROImax[1][ 2][22]=   0.956037;m_PhiROImin[1][ 2][22]=   0.483076;m_PhiROImax[1][ 2][22]=	0.565749;
+     m_EtaROImin[1][ 2][23]=   0.844116;m_EtaROImax[1][ 2][23]=   0.903324;m_PhiROImin[1][ 2][23]=   0.483076;m_PhiROImax[1][ 2][23]=	0.565749;
+     m_EtaROImin[1][ 2][24]=	    0;m_EtaROImax[1][ 2][24]=	     0;m_PhiROImin[1][ 2][24]=	      0;m_PhiROImax[1][ 2][24]=	       0;
+     m_EtaROImin[1][ 2][25]=	    0;m_EtaROImax[1][ 2][25]=	     0;m_PhiROImin[1][ 2][25]=	      0;m_PhiROImax[1][ 2][25]=	       0;
+     m_EtaROImin[1][ 2][26]=	    0;m_EtaROImax[1][ 2][26]=	     0;m_PhiROImin[1][ 2][26]=	      0;m_PhiROImax[1][ 2][26]=	       0;
+     m_EtaROImin[1][ 2][27]=	    0;m_EtaROImax[1][ 2][27]=	     0;m_PhiROImin[1][ 2][27]=	      0;m_PhiROImax[1][ 2][27]=	       0;
+     m_EtaROImin[1][ 2][28]=	    0;m_EtaROImax[1][ 2][28]=	     0;m_PhiROImin[1][ 2][28]=	      0;m_PhiROImax[1][ 2][28]=	       0;
+     m_EtaROImin[1][ 2][29]=	    0;m_EtaROImax[1][ 2][29]=	     0;m_PhiROImin[1][ 2][29]=	      0;m_PhiROImax[1][ 2][29]=	       0;
+     m_EtaROImin[1][ 2][30]=	    0;m_EtaROImax[1][ 2][30]=	     0;m_PhiROImin[1][ 2][30]=	      0;m_PhiROImax[1][ 2][30]=	       0;
+     m_EtaROImin[1][ 2][31]=	    0;m_EtaROImax[1][ 2][31]=	     0;m_PhiROImin[1][ 2][31]=	      0;m_PhiROImax[1][ 2][31]=	       0;
+     m_EtaROImin[1][ 3][ 0]=  0.0231199;m_EtaROImax[1][ 3][ 0]=   0.131749;m_PhiROImin[1][ 3][ 0]=   0.672786;m_PhiROImax[1][ 3][ 0]=	0.782446;
+     m_EtaROImin[1][ 3][ 1]=   0.130922;m_EtaROImax[1][ 3][ 1]=   0.238612;m_PhiROImin[1][ 3][ 1]=   0.672786;m_PhiROImax[1][ 3][ 1]=	0.782446;
+     m_EtaROImin[1][ 3][ 2]=  0.0231199;m_EtaROImax[1][ 3][ 2]=   0.131749;m_PhiROImin[1][ 3][ 2]=   0.562387;m_PhiROImax[1][ 3][ 2]=	0.669279;
+     m_EtaROImin[1][ 3][ 3]=   0.130922;m_EtaROImax[1][ 3][ 3]=   0.238612;m_PhiROImin[1][ 3][ 3]=   0.562387;m_PhiROImax[1][ 3][ 3]=	0.669279;
+     m_EtaROImin[1][ 3][ 4]=   0.246207;m_EtaROImax[1][ 3][ 4]=    0.35049;m_PhiROImin[1][ 3][ 4]=   0.672786;m_PhiROImax[1][ 3][ 4]=	0.782446;
+     m_EtaROImin[1][ 3][ 5]=   0.350831;m_EtaROImax[1][ 3][ 5]=   0.452099;m_PhiROImin[1][ 3][ 5]=   0.672786;m_PhiROImax[1][ 3][ 5]=	0.782446;
+     m_EtaROImin[1][ 3][ 6]=   0.246207;m_EtaROImax[1][ 3][ 6]=    0.35049;m_PhiROImin[1][ 3][ 6]=   0.562387;m_PhiROImax[1][ 3][ 6]=	0.669279;
+     m_EtaROImin[1][ 3][ 7]=   0.350831;m_EtaROImax[1][ 3][ 7]=   0.452099;m_PhiROImin[1][ 3][ 7]=   0.562387;m_PhiROImax[1][ 3][ 7]=	0.669279;
+     m_EtaROImin[1][ 3][ 8]=   0.458091;m_EtaROImax[1][ 3][ 8]=   0.554444;m_PhiROImin[1][ 3][ 8]=   0.672786;m_PhiROImax[1][ 3][ 8]=	0.782446;
+     m_EtaROImin[1][ 3][ 9]=   0.555789;m_EtaROImax[1][ 3][ 9]=   0.648101;m_PhiROImin[1][ 3][ 9]=   0.672786;m_PhiROImax[1][ 3][ 9]=	0.782446;
+     m_EtaROImin[1][ 3][10]=   0.458091;m_EtaROImax[1][ 3][10]=   0.554444;m_PhiROImin[1][ 3][10]=   0.562387;m_PhiROImax[1][ 3][10]=	0.669279;
+     m_EtaROImin[1][ 3][11]=   0.555789;m_EtaROImax[1][ 3][11]=   0.648101;m_PhiROImin[1][ 3][11]=   0.562387;m_PhiROImax[1][ 3][11]=	0.669279;
+     m_EtaROImin[1][ 3][12]=   0.655857;m_EtaROImax[1][ 3][12]=   0.703298;m_PhiROImin[1][ 3][12]=   0.672186;m_PhiROImax[1][ 3][12]=	 0.78243;
+     m_EtaROImin[1][ 3][13]=   0.706413;m_EtaROImax[1][ 3][13]=   0.776449;m_PhiROImin[1][ 3][13]=   0.672186;m_PhiROImax[1][ 3][13]=	 0.78243;
+     m_EtaROImin[1][ 3][14]=   0.655857;m_EtaROImax[1][ 3][14]=   0.703298;m_PhiROImin[1][ 3][14]=   0.561229;m_PhiROImax[1][ 3][14]=	0.668661;
+     m_EtaROImin[1][ 3][15]=   0.706413;m_EtaROImax[1][ 3][15]=   0.776449;m_PhiROImin[1][ 3][15]=   0.561229;m_PhiROImax[1][ 3][15]=	0.668661;
+     m_EtaROImin[1][ 3][16]=   0.783867;m_EtaROImax[1][ 3][16]=    0.82768;m_PhiROImin[1][ 3][16]=   0.672186;m_PhiROImax[1][ 3][16]=	 0.78243;
+     m_EtaROImin[1][ 3][17]=   0.830556;m_EtaROImax[1][ 3][17]=   0.895163;m_PhiROImin[1][ 3][17]=   0.672186;m_PhiROImax[1][ 3][17]=	 0.78243;
+     m_EtaROImin[1][ 3][18]=   0.783867;m_EtaROImax[1][ 3][18]=    0.82768;m_PhiROImin[1][ 3][18]=   0.561229;m_PhiROImax[1][ 3][18]=	0.668661;
+     m_EtaROImin[1][ 3][19]=   0.830556;m_EtaROImax[1][ 3][19]=   0.895163;m_PhiROImin[1][ 3][19]=   0.561229;m_PhiROImax[1][ 3][19]=	0.668661;
+     m_EtaROImin[1][ 3][20]=   0.898201;m_EtaROImax[1][ 3][20]=   0.961344;m_PhiROImin[1][ 3][20]=   0.672786;m_PhiROImax[1][ 3][20]=	0.782446;
+     m_EtaROImin[1][ 3][21]=   0.964674;m_EtaROImax[1][ 3][21]=    1.02514;m_PhiROImin[1][ 3][21]=   0.672786;m_PhiROImax[1][ 3][21]=	0.782446;
+     m_EtaROImin[1][ 3][22]=   0.898201;m_EtaROImax[1][ 3][22]=   0.961344;m_PhiROImin[1][ 3][22]=   0.562387;m_PhiROImax[1][ 3][22]=	0.669279;
+     m_EtaROImin[1][ 3][23]=   0.964674;m_EtaROImax[1][ 3][23]=    1.02514;m_PhiROImin[1][ 3][23]=   0.562387;m_PhiROImax[1][ 3][23]=	0.669279;
+     m_EtaROImin[1][ 3][24]=    1.03003;m_EtaROImax[1][ 3][24]=    1.06547;m_PhiROImin[1][ 3][24]=   0.671969;m_PhiROImax[1][ 3][24]=	0.782329;
+     m_EtaROImin[1][ 3][25]=	    0;m_EtaROImax[1][ 3][25]=	     0;m_PhiROImin[1][ 3][25]=	      0;m_PhiROImax[1][ 3][25]=	       0;
+     m_EtaROImin[1][ 3][26]=    1.03003;m_EtaROImax[1][ 3][26]=    1.06547;m_PhiROImin[1][ 3][26]=   0.588255;m_PhiROImax[1][ 3][26]=	 0.66844;
+     m_EtaROImin[1][ 3][27]=	    0;m_EtaROImax[1][ 3][27]=	     0;m_PhiROImin[1][ 3][27]=	      0;m_PhiROImax[1][ 3][27]=	       0;
+     m_EtaROImin[1][ 3][28]=	    0;m_EtaROImax[1][ 3][28]=	     0;m_PhiROImin[1][ 3][28]=	      0;m_PhiROImax[1][ 3][28]=	       0;
+     m_EtaROImin[1][ 3][29]=	    0;m_EtaROImax[1][ 3][29]=	     0;m_PhiROImin[1][ 3][29]=	      0;m_PhiROImax[1][ 3][29]=	       0;
+     m_EtaROImin[1][ 3][30]=	    0;m_EtaROImax[1][ 3][30]=	     0;m_PhiROImin[1][ 3][30]=	      0;m_PhiROImax[1][ 3][30]=	       0;
+     m_EtaROImin[1][ 3][31]=	    0;m_EtaROImax[1][ 3][31]=	     0;m_PhiROImin[1][ 3][31]=	      0;m_PhiROImax[1][ 3][31]=	       0;
+     m_EtaROImin[1][ 4][ 0]=   0.130922;m_EtaROImax[1][ 4][ 0]=   0.238612;m_PhiROImin[1][ 4][ 0]=	0.78835;m_PhiROImax[1][ 4][ 0]=	0.898011;
+     m_EtaROImin[1][ 4][ 1]=  0.0231199;m_EtaROImax[1][ 4][ 1]=   0.131749;m_PhiROImin[1][ 4][ 1]=	0.78835;m_PhiROImax[1][ 4][ 1]=	0.898011;
+     m_EtaROImin[1][ 4][ 2]=   0.130922;m_EtaROImax[1][ 4][ 2]=   0.238612;m_PhiROImin[1][ 4][ 2]=   0.901517;m_PhiROImax[1][ 4][ 2]=	 1.00841;
+     m_EtaROImin[1][ 4][ 3]=  0.0231199;m_EtaROImax[1][ 4][ 3]=   0.131749;m_PhiROImin[1][ 4][ 3]=   0.901517;m_PhiROImax[1][ 4][ 3]=	 1.00841;
+     m_EtaROImin[1][ 4][ 4]=   0.350831;m_EtaROImax[1][ 4][ 4]=   0.452099;m_PhiROImin[1][ 4][ 4]=	0.78835;m_PhiROImax[1][ 4][ 4]=	0.898011;
+     m_EtaROImin[1][ 4][ 5]=   0.246207;m_EtaROImax[1][ 4][ 5]=    0.35049;m_PhiROImin[1][ 4][ 5]=	0.78835;m_PhiROImax[1][ 4][ 5]=	0.898011;
+     m_EtaROImin[1][ 4][ 6]=   0.350831;m_EtaROImax[1][ 4][ 6]=   0.452099;m_PhiROImin[1][ 4][ 6]=   0.901517;m_PhiROImax[1][ 4][ 6]=	 1.00841;
+     m_EtaROImin[1][ 4][ 7]=   0.246207;m_EtaROImax[1][ 4][ 7]=    0.35049;m_PhiROImin[1][ 4][ 7]=   0.901517;m_PhiROImax[1][ 4][ 7]=	 1.00841;
+     m_EtaROImin[1][ 4][ 8]=   0.555789;m_EtaROImax[1][ 4][ 8]=   0.648101;m_PhiROImin[1][ 4][ 8]=	0.78835;m_PhiROImax[1][ 4][ 8]=	0.898011;
+     m_EtaROImin[1][ 4][ 9]=   0.458091;m_EtaROImax[1][ 4][ 9]=   0.554444;m_PhiROImin[1][ 4][ 9]=	0.78835;m_PhiROImax[1][ 4][ 9]=	0.898011;
+     m_EtaROImin[1][ 4][10]=   0.555789;m_EtaROImax[1][ 4][10]=   0.648101;m_PhiROImin[1][ 4][10]=   0.901517;m_PhiROImax[1][ 4][10]=	 1.00841;
+     m_EtaROImin[1][ 4][11]=   0.458091;m_EtaROImax[1][ 4][11]=   0.554444;m_PhiROImin[1][ 4][11]=   0.901517;m_PhiROImax[1][ 4][11]=	 1.00841;
+     m_EtaROImin[1][ 4][12]=   0.731124;m_EtaROImax[1][ 4][12]=   0.776449;m_PhiROImin[1][ 4][12]=   0.788366;m_PhiROImax[1][ 4][12]=	 0.89861;
+     m_EtaROImin[1][ 4][13]=   0.655857;m_EtaROImax[1][ 4][13]=   0.728056;m_PhiROImin[1][ 4][13]=   0.788366;m_PhiROImax[1][ 4][13]=	 0.89861;
+     m_EtaROImin[1][ 4][14]=   0.731124;m_EtaROImax[1][ 4][14]=   0.776449;m_PhiROImin[1][ 4][14]=   0.902135;m_PhiROImax[1][ 4][14]=	 1.00957;
+     m_EtaROImin[1][ 4][15]=   0.655857;m_EtaROImax[1][ 4][15]=   0.728056;m_PhiROImin[1][ 4][15]=   0.902135;m_PhiROImax[1][ 4][15]=	 1.00957;
+     m_EtaROImin[1][ 4][16]=   0.853359;m_EtaROImax[1][ 4][16]=   0.895163;m_PhiROImin[1][ 4][16]=   0.788366;m_PhiROImax[1][ 4][16]=	 0.89861;
+     m_EtaROImin[1][ 4][17]=   0.783867;m_EtaROImax[1][ 4][17]=   0.850528;m_PhiROImin[1][ 4][17]=   0.788366;m_PhiROImax[1][ 4][17]=	 0.89861;
+     m_EtaROImin[1][ 4][18]=   0.853359;m_EtaROImax[1][ 4][18]=   0.895163;m_PhiROImin[1][ 4][18]=   0.902135;m_PhiROImax[1][ 4][18]=	 1.00957;
+     m_EtaROImin[1][ 4][19]=   0.783867;m_EtaROImax[1][ 4][19]=   0.850528;m_PhiROImin[1][ 4][19]=   0.902135;m_PhiROImax[1][ 4][19]=	 1.00957;
+     m_EtaROImin[1][ 4][20]=   0.964674;m_EtaROImax[1][ 4][20]=    1.02514;m_PhiROImin[1][ 4][20]=	0.78835;m_PhiROImax[1][ 4][20]=	0.898011;
+     m_EtaROImin[1][ 4][21]=   0.898201;m_EtaROImax[1][ 4][21]=   0.961344;m_PhiROImin[1][ 4][21]=	0.78835;m_PhiROImax[1][ 4][21]=	0.898011;
+     m_EtaROImin[1][ 4][22]=   0.964674;m_EtaROImax[1][ 4][22]=    1.02514;m_PhiROImin[1][ 4][22]=   0.901517;m_PhiROImax[1][ 4][22]=	 1.00841;
+     m_EtaROImin[1][ 4][23]=   0.898201;m_EtaROImax[1][ 4][23]=   0.961344;m_PhiROImin[1][ 4][23]=   0.901517;m_PhiROImax[1][ 4][23]=	 1.00841;
+     m_EtaROImin[1][ 4][24]=	    0;m_EtaROImax[1][ 4][24]=	     0;m_PhiROImin[1][ 4][24]=	      0;m_PhiROImax[1][ 4][24]=	       0;
+     m_EtaROImin[1][ 4][25]=    1.03003;m_EtaROImax[1][ 4][25]=    1.06547;m_PhiROImin[1][ 4][25]=   0.788467;m_PhiROImax[1][ 4][25]=	0.898827;
+     m_EtaROImin[1][ 4][26]=	    0;m_EtaROImax[1][ 4][26]=	     0;m_PhiROImin[1][ 4][26]=	      0;m_PhiROImax[1][ 4][26]=	       0;
+     m_EtaROImin[1][ 4][27]=    1.03003;m_EtaROImax[1][ 4][27]=    1.06547;m_PhiROImin[1][ 4][27]=   0.902356;m_PhiROImax[1][ 4][27]=	0.982541;
+     m_EtaROImin[1][ 4][28]=	    0;m_EtaROImax[1][ 4][28]=	     0;m_PhiROImin[1][ 4][28]=	      0;m_PhiROImax[1][ 4][28]=	       0;
+     m_EtaROImin[1][ 4][29]=	    0;m_EtaROImax[1][ 4][29]=	     0;m_PhiROImin[1][ 4][29]=	      0;m_PhiROImax[1][ 4][29]=	       0;
+     m_EtaROImin[1][ 4][30]=	    0;m_EtaROImax[1][ 4][30]=	     0;m_PhiROImin[1][ 4][30]=	      0;m_PhiROImax[1][ 4][30]=	       0;
+     m_EtaROImin[1][ 4][31]=	    0;m_EtaROImax[1][ 4][31]=	     0;m_PhiROImin[1][ 4][31]=	      0;m_PhiROImax[1][ 4][31]=	       0;
+     m_EtaROImin[1][ 5][ 0]=  0.0208251;m_EtaROImax[1][ 5][ 0]=   0.118734;m_PhiROImin[1][ 5][ 0]=	1.09135;m_PhiROImax[1][ 5][ 0]=	 1.17531;
+     m_EtaROImin[1][ 5][ 1]=   0.116816;m_EtaROImax[1][ 5][ 1]=   0.213185;m_PhiROImin[1][ 5][ 1]=	1.09135;m_PhiROImax[1][ 5][ 1]=	 1.17531;
+     m_EtaROImin[1][ 5][ 2]=  0.0208251;m_EtaROImax[1][ 5][ 2]=   0.118734;m_PhiROImin[1][ 5][ 2]=	1.00505;m_PhiROImax[1][ 5][ 2]=	 1.08772;
+     m_EtaROImin[1][ 5][ 3]=   0.116816;m_EtaROImax[1][ 5][ 3]=   0.213185;m_PhiROImin[1][ 5][ 3]=	1.00505;m_PhiROImax[1][ 5][ 3]=	 1.08772;
+     m_EtaROImin[1][ 5][ 4]=   0.222449;m_EtaROImax[1][ 5][ 4]=   0.302928;m_PhiROImin[1][ 5][ 4]=	1.09135;m_PhiROImax[1][ 5][ 4]=	 1.17531;
+     m_EtaROImin[1][ 5][ 5]=    0.30075;m_EtaROImax[1][ 5][ 5]=   0.416721;m_PhiROImin[1][ 5][ 5]=	1.09135;m_PhiROImax[1][ 5][ 5]=	 1.17531;
+     m_EtaROImin[1][ 5][ 6]=   0.222449;m_EtaROImax[1][ 5][ 6]=   0.302928;m_PhiROImin[1][ 5][ 6]=	1.00505;m_PhiROImax[1][ 5][ 6]=	 1.08772;
+     m_EtaROImin[1][ 5][ 7]=    0.30075;m_EtaROImax[1][ 5][ 7]=   0.416721;m_PhiROImin[1][ 5][ 7]=	1.00505;m_PhiROImax[1][ 5][ 7]=	 1.08772;
+     m_EtaROImin[1][ 5][ 8]=    0.42967;m_EtaROImax[1][ 5][ 8]=   0.504617;m_PhiROImin[1][ 5][ 8]=	1.09135;m_PhiROImax[1][ 5][ 8]=	 1.17531;
+     m_EtaROImin[1][ 5][ 9]=   0.501681;m_EtaROImax[1][ 5][ 9]=   0.573871;m_PhiROImin[1][ 5][ 9]=	1.09135;m_PhiROImax[1][ 5][ 9]=	 1.17531;
+     m_EtaROImin[1][ 5][10]=    0.42967;m_EtaROImax[1][ 5][10]=   0.504617;m_PhiROImin[1][ 5][10]=	1.00505;m_PhiROImax[1][ 5][10]=	 1.08772;
+     m_EtaROImin[1][ 5][11]=   0.501681;m_EtaROImax[1][ 5][11]=   0.573871;m_PhiROImin[1][ 5][11]=	1.00505;m_PhiROImax[1][ 5][11]=	 1.08772;
+     m_EtaROImin[1][ 5][12]=   0.583785;m_EtaROImax[1][ 5][12]=   0.653329;m_PhiROImin[1][ 5][12]=	1.09135;m_PhiROImax[1][ 5][12]=	 1.17531;
+     m_EtaROImin[1][ 5][13]=   0.649934;m_EtaROImax[1][ 5][13]=   0.741516;m_PhiROImin[1][ 5][13]=	1.09135;m_PhiROImax[1][ 5][13]=	 1.17531;
+     m_EtaROImin[1][ 5][14]=   0.583785;m_EtaROImax[1][ 5][14]=   0.653329;m_PhiROImin[1][ 5][14]=	1.00505;m_PhiROImax[1][ 5][14]=	 1.08772;
+     m_EtaROImin[1][ 5][15]=   0.649934;m_EtaROImax[1][ 5][15]=   0.741516;m_PhiROImin[1][ 5][15]=	1.00505;m_PhiROImax[1][ 5][15]=	 1.08772;
+     m_EtaROImin[1][ 5][16]=   0.756521;m_EtaROImax[1][ 5][16]=   0.837822;m_PhiROImin[1][ 5][16]=	1.09135;m_PhiROImax[1][ 5][16]=	 1.17531;
+     m_EtaROImin[1][ 5][17]=	    0;m_EtaROImax[1][ 5][17]=	     0;m_PhiROImin[1][ 5][17]=	      0;m_PhiROImax[1][ 5][17]=	       0;
+     m_EtaROImin[1][ 5][18]=   0.756521;m_EtaROImax[1][ 5][18]=   0.837822;m_PhiROImin[1][ 5][18]=	1.00505;m_PhiROImax[1][ 5][18]=	 1.08772;
+     m_EtaROImin[1][ 5][19]=	    0;m_EtaROImax[1][ 5][19]=	     0;m_PhiROImin[1][ 5][19]=	      0;m_PhiROImax[1][ 5][19]=	       0;
+     m_EtaROImin[1][ 5][20]=   0.844116;m_EtaROImax[1][ 5][20]=   0.903324;m_PhiROImin[1][ 5][20]=	1.09135;m_PhiROImax[1][ 5][20]=	 1.17531;
+     m_EtaROImin[1][ 5][21]=   0.899344;m_EtaROImax[1][ 5][21]=   0.956037;m_PhiROImin[1][ 5][21]=	1.09135;m_PhiROImax[1][ 5][21]=	 1.17531;
+     m_EtaROImin[1][ 5][22]=   0.844116;m_EtaROImax[1][ 5][22]=   0.903324;m_PhiROImin[1][ 5][22]=	1.00505;m_PhiROImax[1][ 5][22]=	 1.08772;
+     m_EtaROImin[1][ 5][23]=   0.899344;m_EtaROImax[1][ 5][23]=   0.956037;m_PhiROImin[1][ 5][23]=	1.00505;m_PhiROImax[1][ 5][23]=	 1.08772;
+     m_EtaROImin[1][ 5][24]=	    0;m_EtaROImax[1][ 5][24]=	     0;m_PhiROImin[1][ 5][24]=	      0;m_PhiROImax[1][ 5][24]=	       0;
+     m_EtaROImin[1][ 5][25]=	    0;m_EtaROImax[1][ 5][25]=	     0;m_PhiROImin[1][ 5][25]=	      0;m_PhiROImax[1][ 5][25]=	       0;
+     m_EtaROImin[1][ 5][26]=	    0;m_EtaROImax[1][ 5][26]=	     0;m_PhiROImin[1][ 5][26]=	      0;m_PhiROImax[1][ 5][26]=	       0;
+     m_EtaROImin[1][ 5][27]=	    0;m_EtaROImax[1][ 5][27]=	     0;m_PhiROImin[1][ 5][27]=	      0;m_PhiROImax[1][ 5][27]=	       0;
+     m_EtaROImin[1][ 5][28]=	    0;m_EtaROImax[1][ 5][28]=	     0;m_PhiROImin[1][ 5][28]=	      0;m_PhiROImax[1][ 5][28]=	       0;
+     m_EtaROImin[1][ 5][29]=	    0;m_EtaROImax[1][ 5][29]=	     0;m_PhiROImin[1][ 5][29]=	      0;m_PhiROImax[1][ 5][29]=	       0;
+     m_EtaROImin[1][ 5][30]=	    0;m_EtaROImax[1][ 5][30]=	     0;m_PhiROImin[1][ 5][30]=	      0;m_PhiROImax[1][ 5][30]=	       0;
+     m_EtaROImin[1][ 5][31]=	    0;m_EtaROImax[1][ 5][31]=	     0;m_PhiROImin[1][ 5][31]=	      0;m_PhiROImax[1][ 5][31]=	       0;
+     m_EtaROImin[1][ 6][ 0]=   0.116816;m_EtaROImax[1][ 6][ 0]=   0.213185;m_PhiROImin[1][ 6][ 0]=	1.18089;m_PhiROImax[1][ 6][ 0]=	 1.26484;
+     m_EtaROImin[1][ 6][ 1]=  0.0208251;m_EtaROImax[1][ 6][ 1]=   0.118734;m_PhiROImin[1][ 6][ 1]=	1.18089;m_PhiROImax[1][ 6][ 1]=	 1.26484;
+     m_EtaROImin[1][ 6][ 2]=   0.116816;m_EtaROImax[1][ 6][ 2]=   0.213185;m_PhiROImin[1][ 6][ 2]=	1.26847;m_PhiROImax[1][ 6][ 2]=	 1.35115;
+     m_EtaROImin[1][ 6][ 3]=  0.0208251;m_EtaROImax[1][ 6][ 3]=   0.118734;m_PhiROImin[1][ 6][ 3]=	1.26847;m_PhiROImax[1][ 6][ 3]=	 1.35115;
+     m_EtaROImin[1][ 6][ 4]=    0.30075;m_EtaROImax[1][ 6][ 4]=   0.416721;m_PhiROImin[1][ 6][ 4]=	1.18089;m_PhiROImax[1][ 6][ 4]=	 1.26484;
+     m_EtaROImin[1][ 6][ 5]=   0.222449;m_EtaROImax[1][ 6][ 5]=   0.302928;m_PhiROImin[1][ 6][ 5]=	1.18089;m_PhiROImax[1][ 6][ 5]=	 1.26484;
+     m_EtaROImin[1][ 6][ 6]=    0.30075;m_EtaROImax[1][ 6][ 6]=   0.416721;m_PhiROImin[1][ 6][ 6]=	1.26847;m_PhiROImax[1][ 6][ 6]=	 1.35115;
+     m_EtaROImin[1][ 6][ 7]=   0.222449;m_EtaROImax[1][ 6][ 7]=   0.302928;m_PhiROImin[1][ 6][ 7]=	1.26847;m_PhiROImax[1][ 6][ 7]=	 1.35115;
+     m_EtaROImin[1][ 6][ 8]=   0.501681;m_EtaROImax[1][ 6][ 8]=   0.573871;m_PhiROImin[1][ 6][ 8]=	1.18089;m_PhiROImax[1][ 6][ 8]=	 1.26484;
+     m_EtaROImin[1][ 6][ 9]=    0.42967;m_EtaROImax[1][ 6][ 9]=   0.504617;m_PhiROImin[1][ 6][ 9]=	1.18089;m_PhiROImax[1][ 6][ 9]=	 1.26484;
+     m_EtaROImin[1][ 6][10]=   0.501681;m_EtaROImax[1][ 6][10]=   0.573871;m_PhiROImin[1][ 6][10]=	1.26847;m_PhiROImax[1][ 6][10]=	 1.35115;
+     m_EtaROImin[1][ 6][11]=    0.42967;m_EtaROImax[1][ 6][11]=   0.504617;m_PhiROImin[1][ 6][11]=	1.26847;m_PhiROImax[1][ 6][11]=	 1.35115;
+     m_EtaROImin[1][ 6][12]=   0.649934;m_EtaROImax[1][ 6][12]=   0.741516;m_PhiROImin[1][ 6][12]=	1.18089;m_PhiROImax[1][ 6][12]=	 1.26484;
+     m_EtaROImin[1][ 6][13]=   0.583785;m_EtaROImax[1][ 6][13]=   0.653329;m_PhiROImin[1][ 6][13]=	1.18089;m_PhiROImax[1][ 6][13]=	 1.26484;
+     m_EtaROImin[1][ 6][14]=   0.649934;m_EtaROImax[1][ 6][14]=   0.741516;m_PhiROImin[1][ 6][14]=	1.26847;m_PhiROImax[1][ 6][14]=	 1.35115;
+     m_EtaROImin[1][ 6][15]=   0.583785;m_EtaROImax[1][ 6][15]=   0.653329;m_PhiROImin[1][ 6][15]=	1.26847;m_PhiROImax[1][ 6][15]=	 1.35115;
+     m_EtaROImin[1][ 6][16]=	    0;m_EtaROImax[1][ 6][16]=	     0;m_PhiROImin[1][ 6][16]=	      0;m_PhiROImax[1][ 6][16]=	       0;
+     m_EtaROImin[1][ 6][17]=   0.756521;m_EtaROImax[1][ 6][17]=   0.837822;m_PhiROImin[1][ 6][17]=	1.18089;m_PhiROImax[1][ 6][17]=	 1.26484;
+     m_EtaROImin[1][ 6][18]=	    0;m_EtaROImax[1][ 6][18]=	     0;m_PhiROImin[1][ 6][18]=	      0;m_PhiROImax[1][ 6][18]=	       0;
+     m_EtaROImin[1][ 6][19]=   0.756521;m_EtaROImax[1][ 6][19]=   0.837822;m_PhiROImin[1][ 6][19]=	1.26847;m_PhiROImax[1][ 6][19]=	 1.35115;
+     m_EtaROImin[1][ 6][20]=   0.899344;m_EtaROImax[1][ 6][20]=   0.956037;m_PhiROImin[1][ 6][20]=	1.18089;m_PhiROImax[1][ 6][20]=	 1.26484;
+     m_EtaROImin[1][ 6][21]=   0.844116;m_EtaROImax[1][ 6][21]=   0.903324;m_PhiROImin[1][ 6][21]=	1.18089;m_PhiROImax[1][ 6][21]=	 1.26484;
+     m_EtaROImin[1][ 6][22]=   0.899344;m_EtaROImax[1][ 6][22]=   0.956037;m_PhiROImin[1][ 6][22]=	1.26847;m_PhiROImax[1][ 6][22]=	 1.35115;
+     m_EtaROImin[1][ 6][23]=   0.844116;m_EtaROImax[1][ 6][23]=   0.903324;m_PhiROImin[1][ 6][23]=	1.26847;m_PhiROImax[1][ 6][23]=	 1.35115;
+     m_EtaROImin[1][ 6][24]=	    0;m_EtaROImax[1][ 6][24]=	     0;m_PhiROImin[1][ 6][24]=	      0;m_PhiROImax[1][ 6][24]=	       0;
+     m_EtaROImin[1][ 6][25]=	    0;m_EtaROImax[1][ 6][25]=	     0;m_PhiROImin[1][ 6][25]=	      0;m_PhiROImax[1][ 6][25]=	       0;
+     m_EtaROImin[1][ 6][26]=	    0;m_EtaROImax[1][ 6][26]=	     0;m_PhiROImin[1][ 6][26]=	      0;m_PhiROImax[1][ 6][26]=	       0;
+     m_EtaROImin[1][ 6][27]=	    0;m_EtaROImax[1][ 6][27]=	     0;m_PhiROImin[1][ 6][27]=	      0;m_PhiROImax[1][ 6][27]=	       0;
+     m_EtaROImin[1][ 6][28]=	    0;m_EtaROImax[1][ 6][28]=	     0;m_PhiROImin[1][ 6][28]=	      0;m_PhiROImax[1][ 6][28]=	       0;
+     m_EtaROImin[1][ 6][29]=	    0;m_EtaROImax[1][ 6][29]=	     0;m_PhiROImin[1][ 6][29]=	      0;m_PhiROImax[1][ 6][29]=	       0;
+     m_EtaROImin[1][ 6][30]=	    0;m_EtaROImax[1][ 6][30]=	     0;m_PhiROImin[1][ 6][30]=	      0;m_PhiROImax[1][ 6][30]=	       0;
+     m_EtaROImin[1][ 6][31]=	    0;m_EtaROImax[1][ 6][31]=	     0;m_PhiROImin[1][ 6][31]=	      0;m_PhiROImax[1][ 6][31]=	       0;
+     m_EtaROImin[1][ 7][ 0]=  0.0552456;m_EtaROImax[1][ 7][ 0]=   0.147216;m_PhiROImin[1][ 7][ 0]=	1.45818;m_PhiROImax[1][ 7][ 0]=	 1.56784;
+     m_EtaROImin[1][ 7][ 1]=    0.14708;m_EtaROImax[1][ 7][ 1]=   0.238313;m_PhiROImin[1][ 7][ 1]=	1.45818;m_PhiROImax[1][ 7][ 1]=	 1.56784;
+     m_EtaROImin[1][ 7][ 2]=  0.0552456;m_EtaROImax[1][ 7][ 2]=   0.147216;m_PhiROImin[1][ 7][ 2]=	1.34779;m_PhiROImax[1][ 7][ 2]=	 1.45468;
+     m_EtaROImin[1][ 7][ 3]=    0.14708;m_EtaROImax[1][ 7][ 3]=   0.238313;m_PhiROImin[1][ 7][ 3]=	1.34779;m_PhiROImax[1][ 7][ 3]=	 1.45468;
+     m_EtaROImin[1][ 7][ 4]=   0.246207;m_EtaROImax[1][ 7][ 4]=    0.35049;m_PhiROImin[1][ 7][ 4]=	1.45818;m_PhiROImax[1][ 7][ 4]=	 1.56784;
+     m_EtaROImin[1][ 7][ 5]=   0.350831;m_EtaROImax[1][ 7][ 5]=   0.452099;m_PhiROImin[1][ 7][ 5]=	1.45818;m_PhiROImax[1][ 7][ 5]=	 1.56784;
+     m_EtaROImin[1][ 7][ 6]=   0.246207;m_EtaROImax[1][ 7][ 6]=    0.35049;m_PhiROImin[1][ 7][ 6]=	1.34779;m_PhiROImax[1][ 7][ 6]=	 1.45468;
+     m_EtaROImin[1][ 7][ 7]=   0.350831;m_EtaROImax[1][ 7][ 7]=   0.452099;m_PhiROImin[1][ 7][ 7]=	1.34779;m_PhiROImax[1][ 7][ 7]=	 1.45468;
+     m_EtaROImin[1][ 7][ 8]=   0.458091;m_EtaROImax[1][ 7][ 8]=   0.554444;m_PhiROImin[1][ 7][ 8]=	1.45818;m_PhiROImax[1][ 7][ 8]=	 1.56784;
+     m_EtaROImin[1][ 7][ 9]=   0.555789;m_EtaROImax[1][ 7][ 9]=   0.648101;m_PhiROImin[1][ 7][ 9]=	1.45818;m_PhiROImax[1][ 7][ 9]=	 1.56784;
+     m_EtaROImin[1][ 7][10]=   0.458091;m_EtaROImax[1][ 7][10]=   0.554444;m_PhiROImin[1][ 7][10]=	1.34779;m_PhiROImax[1][ 7][10]=	 1.45468;
+     m_EtaROImin[1][ 7][11]=   0.555789;m_EtaROImax[1][ 7][11]=   0.648101;m_PhiROImin[1][ 7][11]=	1.34779;m_PhiROImax[1][ 7][11]=	 1.45468;
+     m_EtaROImin[1][ 7][12]=   0.655857;m_EtaROImax[1][ 7][12]=   0.703298;m_PhiROImin[1][ 7][12]=	1.45758;m_PhiROImax[1][ 7][12]=	 1.56783;
+     m_EtaROImin[1][ 7][13]=   0.706413;m_EtaROImax[1][ 7][13]=   0.776449;m_PhiROImin[1][ 7][13]=	1.45758;m_PhiROImax[1][ 7][13]=	 1.56783;
+     m_EtaROImin[1][ 7][14]=   0.655857;m_EtaROImax[1][ 7][14]=   0.703298;m_PhiROImin[1][ 7][14]=	1.34663;m_PhiROImax[1][ 7][14]=	 1.45406;
+     m_EtaROImin[1][ 7][15]=   0.706413;m_EtaROImax[1][ 7][15]=   0.776449;m_PhiROImin[1][ 7][15]=	1.34663;m_PhiROImax[1][ 7][15]=	 1.45406;
+     m_EtaROImin[1][ 7][16]=   0.783867;m_EtaROImax[1][ 7][16]=    0.82768;m_PhiROImin[1][ 7][16]=	1.45758;m_PhiROImax[1][ 7][16]=	 1.56783;
+     m_EtaROImin[1][ 7][17]=   0.830556;m_EtaROImax[1][ 7][17]=   0.895163;m_PhiROImin[1][ 7][17]=	1.45758;m_PhiROImax[1][ 7][17]=	 1.56783;
+     m_EtaROImin[1][ 7][18]=   0.783867;m_EtaROImax[1][ 7][18]=    0.82768;m_PhiROImin[1][ 7][18]=	1.34663;m_PhiROImax[1][ 7][18]=	 1.45406;
+     m_EtaROImin[1][ 7][19]=   0.830556;m_EtaROImax[1][ 7][19]=   0.895163;m_PhiROImin[1][ 7][19]=	1.34663;m_PhiROImax[1][ 7][19]=	 1.45406;
+     m_EtaROImin[1][ 7][20]=   0.898201;m_EtaROImax[1][ 7][20]=   0.961344;m_PhiROImin[1][ 7][20]=	1.45818;m_PhiROImax[1][ 7][20]=	 1.56784;
+     m_EtaROImin[1][ 7][21]=   0.964674;m_EtaROImax[1][ 7][21]=    1.02514;m_PhiROImin[1][ 7][21]=	1.45818;m_PhiROImax[1][ 7][21]=	 1.56784;
+     m_EtaROImin[1][ 7][22]=   0.898201;m_EtaROImax[1][ 7][22]=   0.961344;m_PhiROImin[1][ 7][22]=	1.34779;m_PhiROImax[1][ 7][22]=	 1.45468;
+     m_EtaROImin[1][ 7][23]=   0.964674;m_EtaROImax[1][ 7][23]=    1.02514;m_PhiROImin[1][ 7][23]=	1.34779;m_PhiROImax[1][ 7][23]=	 1.45468;
+     m_EtaROImin[1][ 7][24]=    1.03003;m_EtaROImax[1][ 7][24]=    1.06547;m_PhiROImin[1][ 7][24]=	1.45737;m_PhiROImax[1][ 7][24]=	 1.56773;
+     m_EtaROImin[1][ 7][25]=	    0;m_EtaROImax[1][ 7][25]=	     0;m_PhiROImin[1][ 7][25]=	      0;m_PhiROImax[1][ 7][25]=	       0;
+     m_EtaROImin[1][ 7][26]=    1.03003;m_EtaROImax[1][ 7][26]=    1.06547;m_PhiROImin[1][ 7][26]=	1.37365;m_PhiROImax[1][ 7][26]=	 1.45384;
+     m_EtaROImin[1][ 7][27]=	    0;m_EtaROImax[1][ 7][27]=	     0;m_PhiROImin[1][ 7][27]=	      0;m_PhiROImax[1][ 7][27]=	       0;
+     m_EtaROImin[1][ 7][28]=	    0;m_EtaROImax[1][ 7][28]=	     0;m_PhiROImin[1][ 7][28]=	      0;m_PhiROImax[1][ 7][28]=	       0;
+     m_EtaROImin[1][ 7][29]=	    0;m_EtaROImax[1][ 7][29]=	     0;m_PhiROImin[1][ 7][29]=	      0;m_PhiROImax[1][ 7][29]=	       0;
+     m_EtaROImin[1][ 7][30]=	    0;m_EtaROImax[1][ 7][30]=	     0;m_PhiROImin[1][ 7][30]=	      0;m_PhiROImax[1][ 7][30]=	       0;
+     m_EtaROImin[1][ 7][31]=	    0;m_EtaROImax[1][ 7][31]=	     0;m_PhiROImin[1][ 7][31]=	      0;m_PhiROImax[1][ 7][31]=	       0;
+     m_EtaROImin[1][ 8][ 0]=    0.14708;m_EtaROImax[1][ 8][ 0]=   0.238313;m_PhiROImin[1][ 8][ 0]=	1.57375;m_PhiROImax[1][ 8][ 0]=	 1.68341;
+     m_EtaROImin[1][ 8][ 1]=  0.0552456;m_EtaROImax[1][ 8][ 1]=   0.147216;m_PhiROImin[1][ 8][ 1]=	1.57375;m_PhiROImax[1][ 8][ 1]=	 1.68341;
+     m_EtaROImin[1][ 8][ 2]=    0.14708;m_EtaROImax[1][ 8][ 2]=   0.238313;m_PhiROImin[1][ 8][ 2]=	1.68692;m_PhiROImax[1][ 8][ 2]=	 1.79381;
+     m_EtaROImin[1][ 8][ 3]=  0.0552456;m_EtaROImax[1][ 8][ 3]=   0.147216;m_PhiROImin[1][ 8][ 3]=	1.68692;m_PhiROImax[1][ 8][ 3]=	 1.79381;
+     m_EtaROImin[1][ 8][ 4]=   0.350831;m_EtaROImax[1][ 8][ 4]=   0.452099;m_PhiROImin[1][ 8][ 4]=	1.57375;m_PhiROImax[1][ 8][ 4]=	 1.68341;
+     m_EtaROImin[1][ 8][ 5]=   0.246207;m_EtaROImax[1][ 8][ 5]=    0.35049;m_PhiROImin[1][ 8][ 5]=	1.57375;m_PhiROImax[1][ 8][ 5]=	 1.68341;
+     m_EtaROImin[1][ 8][ 6]=   0.350831;m_EtaROImax[1][ 8][ 6]=   0.452099;m_PhiROImin[1][ 8][ 6]=	1.68692;m_PhiROImax[1][ 8][ 6]=	 1.79381;
+     m_EtaROImin[1][ 8][ 7]=   0.246207;m_EtaROImax[1][ 8][ 7]=    0.35049;m_PhiROImin[1][ 8][ 7]=	1.68692;m_PhiROImax[1][ 8][ 7]=	 1.79381;
+     m_EtaROImin[1][ 8][ 8]=   0.555789;m_EtaROImax[1][ 8][ 8]=   0.648101;m_PhiROImin[1][ 8][ 8]=	1.57375;m_PhiROImax[1][ 8][ 8]=	 1.68341;
+     m_EtaROImin[1][ 8][ 9]=   0.458091;m_EtaROImax[1][ 8][ 9]=   0.554444;m_PhiROImin[1][ 8][ 9]=	1.57375;m_PhiROImax[1][ 8][ 9]=	 1.68341;
+     m_EtaROImin[1][ 8][10]=   0.555789;m_EtaROImax[1][ 8][10]=   0.648101;m_PhiROImin[1][ 8][10]=	1.68692;m_PhiROImax[1][ 8][10]=	 1.79381;
+     m_EtaROImin[1][ 8][11]=   0.458091;m_EtaROImax[1][ 8][11]=   0.554444;m_PhiROImin[1][ 8][11]=	1.68692;m_PhiROImax[1][ 8][11]=	 1.79381;
+     m_EtaROImin[1][ 8][12]=   0.731124;m_EtaROImax[1][ 8][12]=   0.776449;m_PhiROImin[1][ 8][12]=	1.57376;m_PhiROImax[1][ 8][12]=	 1.68401;
+     m_EtaROImin[1][ 8][13]=   0.655857;m_EtaROImax[1][ 8][13]=   0.728056;m_PhiROImin[1][ 8][13]=	1.57376;m_PhiROImax[1][ 8][13]=	 1.68401;
+     m_EtaROImin[1][ 8][14]=   0.731124;m_EtaROImax[1][ 8][14]=   0.776449;m_PhiROImin[1][ 8][14]=	1.68753;m_PhiROImax[1][ 8][14]=	 1.79497;
+     m_EtaROImin[1][ 8][15]=   0.655857;m_EtaROImax[1][ 8][15]=   0.728056;m_PhiROImin[1][ 8][15]=	1.68753;m_PhiROImax[1][ 8][15]=	 1.79497;
+     m_EtaROImin[1][ 8][16]=   0.853359;m_EtaROImax[1][ 8][16]=   0.895163;m_PhiROImin[1][ 8][16]=	1.57376;m_PhiROImax[1][ 8][16]=	 1.68401;
+     m_EtaROImin[1][ 8][17]=   0.783867;m_EtaROImax[1][ 8][17]=   0.850528;m_PhiROImin[1][ 8][17]=	1.57376;m_PhiROImax[1][ 8][17]=	 1.68401;
+     m_EtaROImin[1][ 8][18]=   0.853359;m_EtaROImax[1][ 8][18]=   0.895163;m_PhiROImin[1][ 8][18]=	1.68753;m_PhiROImax[1][ 8][18]=	 1.79497;
+     m_EtaROImin[1][ 8][19]=   0.783867;m_EtaROImax[1][ 8][19]=   0.850528;m_PhiROImin[1][ 8][19]=	1.68753;m_PhiROImax[1][ 8][19]=	 1.79497;
+     m_EtaROImin[1][ 8][20]=   0.964674;m_EtaROImax[1][ 8][20]=    1.02514;m_PhiROImin[1][ 8][20]=	1.57375;m_PhiROImax[1][ 8][20]=	 1.68341;
+     m_EtaROImin[1][ 8][21]=   0.898201;m_EtaROImax[1][ 8][21]=   0.961344;m_PhiROImin[1][ 8][21]=	1.57375;m_PhiROImax[1][ 8][21]=	 1.68341;
+     m_EtaROImin[1][ 8][22]=   0.964674;m_EtaROImax[1][ 8][22]=    1.02514;m_PhiROImin[1][ 8][22]=	1.68692;m_PhiROImax[1][ 8][22]=	 1.79381;
+     m_EtaROImin[1][ 8][23]=   0.898201;m_EtaROImax[1][ 8][23]=   0.961344;m_PhiROImin[1][ 8][23]=	1.68692;m_PhiROImax[1][ 8][23]=	 1.79381;
+     m_EtaROImin[1][ 8][24]=	    0;m_EtaROImax[1][ 8][24]=	     0;m_PhiROImin[1][ 8][24]=	      0;m_PhiROImax[1][ 8][24]=	       0;
+     m_EtaROImin[1][ 8][25]=    1.03003;m_EtaROImax[1][ 8][25]=    1.06547;m_PhiROImin[1][ 8][25]=	1.57387;m_PhiROImax[1][ 8][25]=	 1.68423;
+     m_EtaROImin[1][ 8][26]=	    0;m_EtaROImax[1][ 8][26]=	     0;m_PhiROImin[1][ 8][26]=	      0;m_PhiROImax[1][ 8][26]=	       0;
+     m_EtaROImin[1][ 8][27]=    1.03003;m_EtaROImax[1][ 8][27]=    1.06547;m_PhiROImin[1][ 8][27]=	1.68775;m_PhiROImax[1][ 8][27]=	 1.76794;
+     m_EtaROImin[1][ 8][28]=	    0;m_EtaROImax[1][ 8][28]=	     0;m_PhiROImin[1][ 8][28]=	      0;m_PhiROImax[1][ 8][28]=	       0;
+     m_EtaROImin[1][ 8][29]=	    0;m_EtaROImax[1][ 8][29]=	     0;m_PhiROImin[1][ 8][29]=	      0;m_PhiROImax[1][ 8][29]=	       0;
+     m_EtaROImin[1][ 8][30]=	    0;m_EtaROImax[1][ 8][30]=	     0;m_PhiROImin[1][ 8][30]=	      0;m_PhiROImax[1][ 8][30]=	       0;
+     m_EtaROImin[1][ 8][31]=	    0;m_EtaROImax[1][ 8][31]=	     0;m_PhiROImin[1][ 8][31]=	      0;m_PhiROImax[1][ 8][31]=	       0;
+     m_EtaROImin[1][ 9][ 0]=  0.0208251;m_EtaROImax[1][ 9][ 0]=   0.118734;m_PhiROImin[1][ 9][ 0]=	1.87675;m_PhiROImax[1][ 9][ 0]=	 1.96071;
+     m_EtaROImin[1][ 9][ 1]=   0.116816;m_EtaROImax[1][ 9][ 1]=   0.213185;m_PhiROImin[1][ 9][ 1]=	1.87675;m_PhiROImax[1][ 9][ 1]=	 1.96071;
+     m_EtaROImin[1][ 9][ 2]=  0.0208251;m_EtaROImax[1][ 9][ 2]=   0.118734;m_PhiROImin[1][ 9][ 2]=	1.79045;m_PhiROImax[1][ 9][ 2]=	 1.87312;
+     m_EtaROImin[1][ 9][ 3]=   0.116816;m_EtaROImax[1][ 9][ 3]=   0.213185;m_PhiROImin[1][ 9][ 3]=	1.79045;m_PhiROImax[1][ 9][ 3]=	 1.87312;
+     m_EtaROImin[1][ 9][ 4]=   0.222449;m_EtaROImax[1][ 9][ 4]=   0.302928;m_PhiROImin[1][ 9][ 4]=	1.87675;m_PhiROImax[1][ 9][ 4]=	 1.96071;
+     m_EtaROImin[1][ 9][ 5]=    0.30075;m_EtaROImax[1][ 9][ 5]=   0.416721;m_PhiROImin[1][ 9][ 5]=	1.87675;m_PhiROImax[1][ 9][ 5]=	 1.96071;
+     m_EtaROImin[1][ 9][ 6]=   0.222449;m_EtaROImax[1][ 9][ 6]=   0.302928;m_PhiROImin[1][ 9][ 6]=	1.79045;m_PhiROImax[1][ 9][ 6]=	 1.87312;
+     m_EtaROImin[1][ 9][ 7]=    0.30075;m_EtaROImax[1][ 9][ 7]=   0.416721;m_PhiROImin[1][ 9][ 7]=	1.79045;m_PhiROImax[1][ 9][ 7]=	 1.87312;
+     m_EtaROImin[1][ 9][ 8]=    0.42967;m_EtaROImax[1][ 9][ 8]=   0.504617;m_PhiROImin[1][ 9][ 8]=	1.87675;m_PhiROImax[1][ 9][ 8]=	 1.96071;
+     m_EtaROImin[1][ 9][ 9]=   0.501681;m_EtaROImax[1][ 9][ 9]=   0.573871;m_PhiROImin[1][ 9][ 9]=	1.87675;m_PhiROImax[1][ 9][ 9]=	 1.96071;
+     m_EtaROImin[1][ 9][10]=    0.42967;m_EtaROImax[1][ 9][10]=   0.504617;m_PhiROImin[1][ 9][10]=	1.79045;m_PhiROImax[1][ 9][10]=	 1.87312;
+     m_EtaROImin[1][ 9][11]=   0.501681;m_EtaROImax[1][ 9][11]=   0.573871;m_PhiROImin[1][ 9][11]=	1.79045;m_PhiROImax[1][ 9][11]=	 1.87312;
+     m_EtaROImin[1][ 9][12]=   0.583785;m_EtaROImax[1][ 9][12]=   0.653329;m_PhiROImin[1][ 9][12]=	1.87675;m_PhiROImax[1][ 9][12]=	 1.96071;
+     m_EtaROImin[1][ 9][13]=   0.649934;m_EtaROImax[1][ 9][13]=   0.741516;m_PhiROImin[1][ 9][13]=	1.87675;m_PhiROImax[1][ 9][13]=	 1.96071;
+     m_EtaROImin[1][ 9][14]=   0.583785;m_EtaROImax[1][ 9][14]=   0.653329;m_PhiROImin[1][ 9][14]=	1.79045;m_PhiROImax[1][ 9][14]=	 1.87312;
+     m_EtaROImin[1][ 9][15]=   0.649934;m_EtaROImax[1][ 9][15]=   0.741516;m_PhiROImin[1][ 9][15]=	1.79045;m_PhiROImax[1][ 9][15]=	 1.87312;
+     m_EtaROImin[1][ 9][16]=   0.756521;m_EtaROImax[1][ 9][16]=   0.837822;m_PhiROImin[1][ 9][16]=	1.87675;m_PhiROImax[1][ 9][16]=	 1.96071;
+     m_EtaROImin[1][ 9][17]=	    0;m_EtaROImax[1][ 9][17]=	     0;m_PhiROImin[1][ 9][17]=	      0;m_PhiROImax[1][ 9][17]=	       0;
+     m_EtaROImin[1][ 9][18]=   0.756521;m_EtaROImax[1][ 9][18]=   0.837822;m_PhiROImin[1][ 9][18]=	1.79045;m_PhiROImax[1][ 9][18]=	 1.87312;
+     m_EtaROImin[1][ 9][19]=	    0;m_EtaROImax[1][ 9][19]=	     0;m_PhiROImin[1][ 9][19]=	      0;m_PhiROImax[1][ 9][19]=	       0;
+     m_EtaROImin[1][ 9][20]=   0.844116;m_EtaROImax[1][ 9][20]=   0.903324;m_PhiROImin[1][ 9][20]=	1.87675;m_PhiROImax[1][ 9][20]=	 1.96071;
+     m_EtaROImin[1][ 9][21]=   0.899344;m_EtaROImax[1][ 9][21]=   0.956037;m_PhiROImin[1][ 9][21]=	1.87675;m_PhiROImax[1][ 9][21]=	 1.96071;
+     m_EtaROImin[1][ 9][22]=   0.844116;m_EtaROImax[1][ 9][22]=   0.903324;m_PhiROImin[1][ 9][22]=	1.79045;m_PhiROImax[1][ 9][22]=	 1.87312;
+     m_EtaROImin[1][ 9][23]=   0.899344;m_EtaROImax[1][ 9][23]=   0.956037;m_PhiROImin[1][ 9][23]=	1.79045;m_PhiROImax[1][ 9][23]=	 1.87312;
+     m_EtaROImin[1][ 9][24]=	    0;m_EtaROImax[1][ 9][24]=	     0;m_PhiROImin[1][ 9][24]=	      0;m_PhiROImax[1][ 9][24]=	       0;
+     m_EtaROImin[1][ 9][25]=	    0;m_EtaROImax[1][ 9][25]=	     0;m_PhiROImin[1][ 9][25]=	      0;m_PhiROImax[1][ 9][25]=	       0;
+     m_EtaROImin[1][ 9][26]=	    0;m_EtaROImax[1][ 9][26]=	     0;m_PhiROImin[1][ 9][26]=	      0;m_PhiROImax[1][ 9][26]=	       0;
+     m_EtaROImin[1][ 9][27]=	    0;m_EtaROImax[1][ 9][27]=	     0;m_PhiROImin[1][ 9][27]=	      0;m_PhiROImax[1][ 9][27]=	       0;
+     m_EtaROImin[1][ 9][28]=	    0;m_EtaROImax[1][ 9][28]=	     0;m_PhiROImin[1][ 9][28]=	      0;m_PhiROImax[1][ 9][28]=	       0;
+     m_EtaROImin[1][ 9][29]=	    0;m_EtaROImax[1][ 9][29]=	     0;m_PhiROImin[1][ 9][29]=	      0;m_PhiROImax[1][ 9][29]=	       0;
+     m_EtaROImin[1][ 9][30]=	    0;m_EtaROImax[1][ 9][30]=	     0;m_PhiROImin[1][ 9][30]=	      0;m_PhiROImax[1][ 9][30]=	       0;
+     m_EtaROImin[1][ 9][31]=	    0;m_EtaROImax[1][ 9][31]=	     0;m_PhiROImin[1][ 9][31]=	      0;m_PhiROImax[1][ 9][31]=	       0;
+     m_EtaROImin[1][10][ 0]=   0.116816;m_EtaROImax[1][10][ 0]=   0.213185;m_PhiROImin[1][10][ 0]=	1.96629;m_PhiROImax[1][10][ 0]=	 2.05024;
+     m_EtaROImin[1][10][ 1]=  0.0208251;m_EtaROImax[1][10][ 1]=   0.118734;m_PhiROImin[1][10][ 1]=	1.96629;m_PhiROImax[1][10][ 1]=	 2.05024;
+     m_EtaROImin[1][10][ 2]=   0.116816;m_EtaROImax[1][10][ 2]=   0.213185;m_PhiROImin[1][10][ 2]=	2.05387;m_PhiROImax[1][10][ 2]=	 2.13655;
+     m_EtaROImin[1][10][ 3]=  0.0208251;m_EtaROImax[1][10][ 3]=   0.118734;m_PhiROImin[1][10][ 3]=	2.05387;m_PhiROImax[1][10][ 3]=	 2.13655;
+     m_EtaROImin[1][10][ 4]=    0.30075;m_EtaROImax[1][10][ 4]=   0.416721;m_PhiROImin[1][10][ 4]=	1.96629;m_PhiROImax[1][10][ 4]=	 2.05024;
+     m_EtaROImin[1][10][ 5]=   0.222449;m_EtaROImax[1][10][ 5]=   0.302928;m_PhiROImin[1][10][ 5]=	1.96629;m_PhiROImax[1][10][ 5]=	 2.05024;
+     m_EtaROImin[1][10][ 6]=    0.30075;m_EtaROImax[1][10][ 6]=   0.416721;m_PhiROImin[1][10][ 6]=	2.05387;m_PhiROImax[1][10][ 6]=	 2.13655;
+     m_EtaROImin[1][10][ 7]=   0.222449;m_EtaROImax[1][10][ 7]=   0.302928;m_PhiROImin[1][10][ 7]=	2.05387;m_PhiROImax[1][10][ 7]=	 2.13655;
+     m_EtaROImin[1][10][ 8]=   0.501681;m_EtaROImax[1][10][ 8]=   0.573871;m_PhiROImin[1][10][ 8]=	1.96629;m_PhiROImax[1][10][ 8]=	 2.05024;
+     m_EtaROImin[1][10][ 9]=    0.42967;m_EtaROImax[1][10][ 9]=   0.504617;m_PhiROImin[1][10][ 9]=	1.96629;m_PhiROImax[1][10][ 9]=	 2.05024;
+     m_EtaROImin[1][10][10]=   0.501681;m_EtaROImax[1][10][10]=   0.573871;m_PhiROImin[1][10][10]=	2.05387;m_PhiROImax[1][10][10]=	 2.13655;
+     m_EtaROImin[1][10][11]=    0.42967;m_EtaROImax[1][10][11]=   0.504617;m_PhiROImin[1][10][11]=	2.05387;m_PhiROImax[1][10][11]=	 2.13655;
+     m_EtaROImin[1][10][12]=   0.649934;m_EtaROImax[1][10][12]=   0.741516;m_PhiROImin[1][10][12]=	1.96629;m_PhiROImax[1][10][12]=	 2.05024;
+     m_EtaROImin[1][10][13]=   0.583785;m_EtaROImax[1][10][13]=   0.653329;m_PhiROImin[1][10][13]=	1.96629;m_PhiROImax[1][10][13]=	 2.05024;
+     m_EtaROImin[1][10][14]=   0.649934;m_EtaROImax[1][10][14]=   0.741516;m_PhiROImin[1][10][14]=	2.05387;m_PhiROImax[1][10][14]=	 2.13655;
+     m_EtaROImin[1][10][15]=   0.583785;m_EtaROImax[1][10][15]=   0.653329;m_PhiROImin[1][10][15]=	2.05387;m_PhiROImax[1][10][15]=	 2.13655;
+     m_EtaROImin[1][10][16]=	    0;m_EtaROImax[1][10][16]=	     0;m_PhiROImin[1][10][16]=	      0;m_PhiROImax[1][10][16]=	       0;
+     m_EtaROImin[1][10][17]=   0.756521;m_EtaROImax[1][10][17]=   0.837822;m_PhiROImin[1][10][17]=	1.96629;m_PhiROImax[1][10][17]=	 2.05024;
+     m_EtaROImin[1][10][18]=	    0;m_EtaROImax[1][10][18]=	     0;m_PhiROImin[1][10][18]=	      0;m_PhiROImax[1][10][18]=	       0;
+     m_EtaROImin[1][10][19]=   0.756521;m_EtaROImax[1][10][19]=   0.837822;m_PhiROImin[1][10][19]=	2.05387;m_PhiROImax[1][10][19]=	 2.13655;
+     m_EtaROImin[1][10][20]=   0.899344;m_EtaROImax[1][10][20]=   0.956037;m_PhiROImin[1][10][20]=	1.96629;m_PhiROImax[1][10][20]=	 2.05024;
+     m_EtaROImin[1][10][21]=   0.844116;m_EtaROImax[1][10][21]=   0.903324;m_PhiROImin[1][10][21]=	1.96629;m_PhiROImax[1][10][21]=	 2.05024;
+     m_EtaROImin[1][10][22]=   0.899344;m_EtaROImax[1][10][22]=   0.956037;m_PhiROImin[1][10][22]=	2.05387;m_PhiROImax[1][10][22]=	 2.13655;
+     m_EtaROImin[1][10][23]=   0.844116;m_EtaROImax[1][10][23]=   0.903324;m_PhiROImin[1][10][23]=	2.05387;m_PhiROImax[1][10][23]=	 2.13655;
+     m_EtaROImin[1][10][24]=	    0;m_EtaROImax[1][10][24]=	     0;m_PhiROImin[1][10][24]=	      0;m_PhiROImax[1][10][24]=	       0;
+     m_EtaROImin[1][10][25]=	    0;m_EtaROImax[1][10][25]=	     0;m_PhiROImin[1][10][25]=	      0;m_PhiROImax[1][10][25]=	       0;
+     m_EtaROImin[1][10][26]=	    0;m_EtaROImax[1][10][26]=	     0;m_PhiROImin[1][10][26]=	      0;m_PhiROImax[1][10][26]=	       0;
+     m_EtaROImin[1][10][27]=	    0;m_EtaROImax[1][10][27]=	     0;m_PhiROImin[1][10][27]=	      0;m_PhiROImax[1][10][27]=	       0;
+     m_EtaROImin[1][10][28]=	    0;m_EtaROImax[1][10][28]=	     0;m_PhiROImin[1][10][28]=	      0;m_PhiROImax[1][10][28]=	       0;
+     m_EtaROImin[1][10][29]=	    0;m_EtaROImax[1][10][29]=	     0;m_PhiROImin[1][10][29]=	      0;m_PhiROImax[1][10][29]=	       0;
+     m_EtaROImin[1][10][30]=	    0;m_EtaROImax[1][10][30]=	     0;m_PhiROImin[1][10][30]=	      0;m_PhiROImax[1][10][30]=	       0;
+     m_EtaROImin[1][10][31]=	    0;m_EtaROImax[1][10][31]=	     0;m_PhiROImin[1][10][31]=	      0;m_PhiROImax[1][10][31]=	       0;
+     m_EtaROImin[1][11][ 0]=   0.130922;m_EtaROImax[1][11][ 0]=   0.238612;m_PhiROImin[1][11][ 0]=	2.24298;m_PhiROImax[1][11][ 0]=	 2.35323;
+     m_EtaROImin[1][11][ 1]=	    0;m_EtaROImax[1][11][ 1]=	     0;m_PhiROImin[1][11][ 1]=	      0;m_PhiROImax[1][11][ 1]=	       0;
+     m_EtaROImin[1][11][ 2]=   0.130922;m_EtaROImax[1][11][ 2]=   0.238612;m_PhiROImin[1][11][ 2]=	2.13203;m_PhiROImax[1][11][ 2]=	 2.23946;
+     m_EtaROImin[1][11][ 3]=	    0;m_EtaROImax[1][11][ 3]=	     0;m_PhiROImin[1][11][ 3]=	      0;m_PhiROImax[1][11][ 3]=	       0;
+     m_EtaROImin[1][11][ 4]=   0.246207;m_EtaROImax[1][11][ 4]=    0.35049;m_PhiROImin[1][11][ 4]=	2.24358;m_PhiROImax[1][11][ 4]=	 2.35324;
+     m_EtaROImin[1][11][ 5]=   0.350831;m_EtaROImax[1][11][ 5]=   0.452099;m_PhiROImin[1][11][ 5]=	2.24358;m_PhiROImax[1][11][ 5]=	 2.35324;
+     m_EtaROImin[1][11][ 6]=   0.246207;m_EtaROImax[1][11][ 6]=    0.35049;m_PhiROImin[1][11][ 6]=	2.13318;m_PhiROImax[1][11][ 6]=	 2.24008;
+     m_EtaROImin[1][11][ 7]=   0.350831;m_EtaROImax[1][11][ 7]=   0.452099;m_PhiROImin[1][11][ 7]=	2.13318;m_PhiROImax[1][11][ 7]=	 2.24008;
+     m_EtaROImin[1][11][ 8]=   0.458091;m_EtaROImax[1][11][ 8]=   0.554444;m_PhiROImin[1][11][ 8]=	2.24358;m_PhiROImax[1][11][ 8]=	 2.35324;
+     m_EtaROImin[1][11][ 9]=   0.555789;m_EtaROImax[1][11][ 9]=   0.648101;m_PhiROImin[1][11][ 9]=	2.24358;m_PhiROImax[1][11][ 9]=	 2.35324;
+     m_EtaROImin[1][11][10]=   0.458091;m_EtaROImax[1][11][10]=   0.554444;m_PhiROImin[1][11][10]=	2.13318;m_PhiROImax[1][11][10]=	 2.24008;
+     m_EtaROImin[1][11][11]=   0.555789;m_EtaROImax[1][11][11]=   0.648101;m_PhiROImin[1][11][11]=	2.13318;m_PhiROImax[1][11][11]=	 2.24008;
+     m_EtaROImin[1][11][12]=   0.655857;m_EtaROImax[1][11][12]=   0.703298;m_PhiROImin[1][11][12]=	2.24298;m_PhiROImax[1][11][12]=	 2.35323;
+     m_EtaROImin[1][11][13]=   0.706413;m_EtaROImax[1][11][13]=   0.776449;m_PhiROImin[1][11][13]=	2.24298;m_PhiROImax[1][11][13]=	 2.35323;
+     m_EtaROImin[1][11][14]=   0.655857;m_EtaROImax[1][11][14]=   0.703298;m_PhiROImin[1][11][14]=	2.13203;m_PhiROImax[1][11][14]=	 2.23946;
+     m_EtaROImin[1][11][15]=   0.706413;m_EtaROImax[1][11][15]=   0.776449;m_PhiROImin[1][11][15]=	2.13203;m_PhiROImax[1][11][15]=	 2.23946;
+     m_EtaROImin[1][11][16]=   0.783867;m_EtaROImax[1][11][16]=    0.82768;m_PhiROImin[1][11][16]=	2.24298;m_PhiROImax[1][11][16]=	 2.35323;
+     m_EtaROImin[1][11][17]=   0.830556;m_EtaROImax[1][11][17]=   0.895163;m_PhiROImin[1][11][17]=	2.24298;m_PhiROImax[1][11][17]=	 2.35323;
+     m_EtaROImin[1][11][18]=   0.783867;m_EtaROImax[1][11][18]=    0.82768;m_PhiROImin[1][11][18]=	2.13203;m_PhiROImax[1][11][18]=	 2.23946;
+     m_EtaROImin[1][11][19]=   0.830556;m_EtaROImax[1][11][19]=   0.895163;m_PhiROImin[1][11][19]=	2.13203;m_PhiROImax[1][11][19]=	 2.23946;
+     m_EtaROImin[1][11][20]=   0.898201;m_EtaROImax[1][11][20]=   0.961344;m_PhiROImin[1][11][20]=	2.24358;m_PhiROImax[1][11][20]=	 2.35324;
+     m_EtaROImin[1][11][21]=   0.964674;m_EtaROImax[1][11][21]=    1.02514;m_PhiROImin[1][11][21]=	2.24358;m_PhiROImax[1][11][21]=	 2.35324;
+     m_EtaROImin[1][11][22]=   0.898201;m_EtaROImax[1][11][22]=   0.961344;m_PhiROImin[1][11][22]=	2.13318;m_PhiROImax[1][11][22]=	 2.24008;
+     m_EtaROImin[1][11][23]=   0.964674;m_EtaROImax[1][11][23]=    1.02514;m_PhiROImin[1][11][23]=	2.13318;m_PhiROImax[1][11][23]=	 2.24008;
+     m_EtaROImin[1][11][24]=    1.03003;m_EtaROImax[1][11][24]=    1.06547;m_PhiROImin[1][11][24]=	2.24277;m_PhiROImax[1][11][24]=	 2.35313;
+     m_EtaROImin[1][11][25]=	    0;m_EtaROImax[1][11][25]=	     0;m_PhiROImin[1][11][25]=	      0;m_PhiROImax[1][11][25]=	       0;
+     m_EtaROImin[1][11][26]=    1.03003;m_EtaROImax[1][11][26]=    1.06547;m_PhiROImin[1][11][26]=	2.15905;m_PhiROImax[1][11][26]=	 2.23924;
+     m_EtaROImin[1][11][27]=	    0;m_EtaROImax[1][11][27]=	     0;m_PhiROImin[1][11][27]=	      0;m_PhiROImax[1][11][27]=	       0;
+     m_EtaROImin[1][11][28]=	    0;m_EtaROImax[1][11][28]=	     0;m_PhiROImin[1][11][28]=	      0;m_PhiROImax[1][11][28]=	       0;
+     m_EtaROImin[1][11][29]=	    0;m_EtaROImax[1][11][29]=	     0;m_PhiROImin[1][11][29]=	      0;m_PhiROImax[1][11][29]=	       0;
+     m_EtaROImin[1][11][30]=	    0;m_EtaROImax[1][11][30]=	     0;m_PhiROImin[1][11][30]=	      0;m_PhiROImax[1][11][30]=	       0;
+     m_EtaROImin[1][11][31]=	    0;m_EtaROImax[1][11][31]=	     0;m_PhiROImin[1][11][31]=	      0;m_PhiROImax[1][11][31]=	       0;
+     m_EtaROImin[1][12][ 0]=	    0;m_EtaROImax[1][12][ 0]=	     0;m_PhiROImin[1][12][ 0]=	      0;m_PhiROImax[1][12][ 0]=	       0;
+     m_EtaROImin[1][12][ 1]=   0.130922;m_EtaROImax[1][12][ 1]=   0.238612;m_PhiROImin[1][12][ 1]=	2.35916;m_PhiROImax[1][12][ 1]=	 2.46941;
+     m_EtaROImin[1][12][ 2]=	    0;m_EtaROImax[1][12][ 2]=	     0;m_PhiROImin[1][12][ 2]=	      0;m_PhiROImax[1][12][ 2]=	       0;
+     m_EtaROImin[1][12][ 3]=   0.130922;m_EtaROImax[1][12][ 3]=   0.238612;m_PhiROImin[1][12][ 3]=	2.47293;m_PhiROImax[1][12][ 3]=	 2.58036;
+     m_EtaROImin[1][12][ 4]=   0.350831;m_EtaROImax[1][12][ 4]=   0.452099;m_PhiROImin[1][12][ 4]=	2.35915;m_PhiROImax[1][12][ 4]=	 2.46881;
+     m_EtaROImin[1][12][ 5]=   0.246207;m_EtaROImax[1][12][ 5]=    0.35049;m_PhiROImin[1][12][ 5]=	2.35915;m_PhiROImax[1][12][ 5]=	 2.46881;
+     m_EtaROImin[1][12][ 6]=   0.350831;m_EtaROImax[1][12][ 6]=   0.452099;m_PhiROImin[1][12][ 6]=	2.47231;m_PhiROImax[1][12][ 6]=	 2.57921;
+     m_EtaROImin[1][12][ 7]=   0.246207;m_EtaROImax[1][12][ 7]=    0.35049;m_PhiROImin[1][12][ 7]=	2.47231;m_PhiROImax[1][12][ 7]=	 2.57921;
+     m_EtaROImin[1][12][ 8]=   0.555789;m_EtaROImax[1][12][ 8]=   0.648101;m_PhiROImin[1][12][ 8]=	2.35915;m_PhiROImax[1][12][ 8]=	 2.46881;
+     m_EtaROImin[1][12][ 9]=   0.458091;m_EtaROImax[1][12][ 9]=   0.554444;m_PhiROImin[1][12][ 9]=	2.35915;m_PhiROImax[1][12][ 9]=	 2.46881;
+     m_EtaROImin[1][12][10]=   0.555789;m_EtaROImax[1][12][10]=   0.648101;m_PhiROImin[1][12][10]=	2.47231;m_PhiROImax[1][12][10]=	 2.57921;
+     m_EtaROImin[1][12][11]=   0.458091;m_EtaROImax[1][12][11]=   0.554444;m_PhiROImin[1][12][11]=	2.47231;m_PhiROImax[1][12][11]=	 2.57921;
+     m_EtaROImin[1][12][12]=   0.731124;m_EtaROImax[1][12][12]=   0.776449;m_PhiROImin[1][12][12]=	2.35916;m_PhiROImax[1][12][12]=	 2.46941;
+     m_EtaROImin[1][12][13]=   0.655857;m_EtaROImax[1][12][13]=   0.728056;m_PhiROImin[1][12][13]=	2.35916;m_PhiROImax[1][12][13]=	 2.46941;
+     m_EtaROImin[1][12][14]=   0.731124;m_EtaROImax[1][12][14]=   0.776449;m_PhiROImin[1][12][14]=	2.47293;m_PhiROImax[1][12][14]=	 2.58036;
+     m_EtaROImin[1][12][15]=   0.655857;m_EtaROImax[1][12][15]=   0.728056;m_PhiROImin[1][12][15]=	2.47293;m_PhiROImax[1][12][15]=	 2.58036;
+     m_EtaROImin[1][12][16]=   0.853359;m_EtaROImax[1][12][16]=   0.895163;m_PhiROImin[1][12][16]=	2.35916;m_PhiROImax[1][12][16]=	 2.46941;
+     m_EtaROImin[1][12][17]=   0.783867;m_EtaROImax[1][12][17]=   0.850528;m_PhiROImin[1][12][17]=	2.35916;m_PhiROImax[1][12][17]=	 2.46941;
+     m_EtaROImin[1][12][18]=   0.853359;m_EtaROImax[1][12][18]=   0.895163;m_PhiROImin[1][12][18]=	2.47293;m_PhiROImax[1][12][18]=	 2.58036;
+     m_EtaROImin[1][12][19]=   0.783867;m_EtaROImax[1][12][19]=   0.850528;m_PhiROImin[1][12][19]=	2.47293;m_PhiROImax[1][12][19]=	 2.58036;
+     m_EtaROImin[1][12][20]=   0.964674;m_EtaROImax[1][12][20]=    1.02514;m_PhiROImin[1][12][20]=	2.35915;m_PhiROImax[1][12][20]=	 2.46881;
+     m_EtaROImin[1][12][21]=   0.898201;m_EtaROImax[1][12][21]=   0.961344;m_PhiROImin[1][12][21]=	2.35915;m_PhiROImax[1][12][21]=	 2.46881;
+     m_EtaROImin[1][12][22]=   0.964674;m_EtaROImax[1][12][22]=    1.02514;m_PhiROImin[1][12][22]=	2.47231;m_PhiROImax[1][12][22]=	 2.57921;
+     m_EtaROImin[1][12][23]=   0.898201;m_EtaROImax[1][12][23]=   0.961344;m_PhiROImin[1][12][23]=	2.47231;m_PhiROImax[1][12][23]=	 2.57921;
+     m_EtaROImin[1][12][24]=	    0;m_EtaROImax[1][12][24]=	     0;m_PhiROImin[1][12][24]=	      0;m_PhiROImax[1][12][24]=	       0;
+     m_EtaROImin[1][12][25]=    1.03003;m_EtaROImax[1][12][25]=    1.06547;m_PhiROImin[1][12][25]=	2.35926;m_PhiROImax[1][12][25]=	 2.46962;
+     m_EtaROImin[1][12][26]=	    0;m_EtaROImax[1][12][26]=	     0;m_PhiROImin[1][12][26]=	      0;m_PhiROImax[1][12][26]=	       0;
+     m_EtaROImin[1][12][27]=    1.03003;m_EtaROImax[1][12][27]=    1.06547;m_PhiROImin[1][12][27]=	2.47315;m_PhiROImax[1][12][27]=	 2.55334;
+     m_EtaROImin[1][12][28]=	    0;m_EtaROImax[1][12][28]=	     0;m_PhiROImin[1][12][28]=	      0;m_PhiROImax[1][12][28]=	       0;
+     m_EtaROImin[1][12][29]=	    0;m_EtaROImax[1][12][29]=	     0;m_PhiROImin[1][12][29]=	      0;m_PhiROImax[1][12][29]=	       0;
+     m_EtaROImin[1][12][30]=	    0;m_EtaROImax[1][12][30]=	     0;m_PhiROImin[1][12][30]=	      0;m_PhiROImax[1][12][30]=	       0;
+     m_EtaROImin[1][12][31]=	    0;m_EtaROImax[1][12][31]=	     0;m_PhiROImin[1][12][31]=	      0;m_PhiROImax[1][12][31]=	       0;
+     m_EtaROImin[1][13][ 0]=  0.0208251;m_EtaROImax[1][13][ 0]=   0.118734;m_PhiROImin[1][13][ 0]=	2.66215;m_PhiROImax[1][13][ 0]=	  2.7461;
+     m_EtaROImin[1][13][ 1]=   0.116816;m_EtaROImax[1][13][ 1]=   0.213185;m_PhiROImin[1][13][ 1]=	2.66215;m_PhiROImax[1][13][ 1]=	  2.7461;
+     m_EtaROImin[1][13][ 2]=  0.0208251;m_EtaROImax[1][13][ 2]=   0.118734;m_PhiROImin[1][13][ 2]=	2.57584;m_PhiROImax[1][13][ 2]=	 2.65852;
+     m_EtaROImin[1][13][ 3]=   0.116816;m_EtaROImax[1][13][ 3]=   0.213185;m_PhiROImin[1][13][ 3]=	2.57584;m_PhiROImax[1][13][ 3]=	 2.65852;
+     m_EtaROImin[1][13][ 4]=   0.222449;m_EtaROImax[1][13][ 4]=   0.302928;m_PhiROImin[1][13][ 4]=	2.66215;m_PhiROImax[1][13][ 4]=	  2.7461;
+     m_EtaROImin[1][13][ 5]=    0.30075;m_EtaROImax[1][13][ 5]=   0.416721;m_PhiROImin[1][13][ 5]=	2.66215;m_PhiROImax[1][13][ 5]=	  2.7461;
+     m_EtaROImin[1][13][ 6]=   0.222449;m_EtaROImax[1][13][ 6]=   0.302928;m_PhiROImin[1][13][ 6]=	2.57584;m_PhiROImax[1][13][ 6]=	 2.65852;
+     m_EtaROImin[1][13][ 7]=    0.30075;m_EtaROImax[1][13][ 7]=   0.416721;m_PhiROImin[1][13][ 7]=	2.57584;m_PhiROImax[1][13][ 7]=	 2.65852;
+     m_EtaROImin[1][13][ 8]=    0.42967;m_EtaROImax[1][13][ 8]=   0.504617;m_PhiROImin[1][13][ 8]=	2.66215;m_PhiROImax[1][13][ 8]=	  2.7461;
+     m_EtaROImin[1][13][ 9]=   0.501681;m_EtaROImax[1][13][ 9]=   0.573871;m_PhiROImin[1][13][ 9]=	2.66215;m_PhiROImax[1][13][ 9]=	  2.7461;
+     m_EtaROImin[1][13][10]=    0.42967;m_EtaROImax[1][13][10]=   0.504617;m_PhiROImin[1][13][10]=	2.57584;m_PhiROImax[1][13][10]=	 2.65852;
+     m_EtaROImin[1][13][11]=   0.501681;m_EtaROImax[1][13][11]=   0.573871;m_PhiROImin[1][13][11]=	2.57584;m_PhiROImax[1][13][11]=	 2.65852;
+     m_EtaROImin[1][13][12]=   0.583785;m_EtaROImax[1][13][12]=   0.653329;m_PhiROImin[1][13][12]=	2.66215;m_PhiROImax[1][13][12]=	  2.7461;
+     m_EtaROImin[1][13][13]=   0.649934;m_EtaROImax[1][13][13]=   0.741516;m_PhiROImin[1][13][13]=	2.66215;m_PhiROImax[1][13][13]=	  2.7461;
+     m_EtaROImin[1][13][14]=   0.583785;m_EtaROImax[1][13][14]=   0.653329;m_PhiROImin[1][13][14]=	2.57584;m_PhiROImax[1][13][14]=	 2.65852;
+     m_EtaROImin[1][13][15]=   0.649934;m_EtaROImax[1][13][15]=   0.741516;m_PhiROImin[1][13][15]=	2.57584;m_PhiROImax[1][13][15]=	 2.65852;
+     m_EtaROImin[1][13][16]=   0.756521;m_EtaROImax[1][13][16]=   0.837822;m_PhiROImin[1][13][16]=	2.66215;m_PhiROImax[1][13][16]=	  2.7461;
+     m_EtaROImin[1][13][17]=	    0;m_EtaROImax[1][13][17]=	     0;m_PhiROImin[1][13][17]=	      0;m_PhiROImax[1][13][17]=	       0;
+     m_EtaROImin[1][13][18]=   0.756521;m_EtaROImax[1][13][18]=   0.837822;m_PhiROImin[1][13][18]=	2.57584;m_PhiROImax[1][13][18]=	 2.65852;
+     m_EtaROImin[1][13][19]=	    0;m_EtaROImax[1][13][19]=	     0;m_PhiROImin[1][13][19]=	      0;m_PhiROImax[1][13][19]=	       0;
+     m_EtaROImin[1][13][20]=   0.844116;m_EtaROImax[1][13][20]=   0.903324;m_PhiROImin[1][13][20]=	2.66215;m_PhiROImax[1][13][20]=	  2.7461;
+     m_EtaROImin[1][13][21]=   0.899344;m_EtaROImax[1][13][21]=   0.956037;m_PhiROImin[1][13][21]=	2.66215;m_PhiROImax[1][13][21]=	  2.7461;
+     m_EtaROImin[1][13][22]=   0.844116;m_EtaROImax[1][13][22]=   0.903324;m_PhiROImin[1][13][22]=	2.57584;m_PhiROImax[1][13][22]=	 2.65852;
+     m_EtaROImin[1][13][23]=   0.899344;m_EtaROImax[1][13][23]=   0.956037;m_PhiROImin[1][13][23]=	2.57584;m_PhiROImax[1][13][23]=	 2.65852;
+     m_EtaROImin[1][13][24]=	    0;m_EtaROImax[1][13][24]=	     0;m_PhiROImin[1][13][24]=	      0;m_PhiROImax[1][13][24]=	       0;
+     m_EtaROImin[1][13][25]=	    0;m_EtaROImax[1][13][25]=	     0;m_PhiROImin[1][13][25]=	      0;m_PhiROImax[1][13][25]=	       0;
+     m_EtaROImin[1][13][26]=	    0;m_EtaROImax[1][13][26]=	     0;m_PhiROImin[1][13][26]=	      0;m_PhiROImax[1][13][26]=	       0;
+     m_EtaROImin[1][13][27]=	    0;m_EtaROImax[1][13][27]=	     0;m_PhiROImin[1][13][27]=	      0;m_PhiROImax[1][13][27]=	       0;
+     m_EtaROImin[1][13][28]=	    0;m_EtaROImax[1][13][28]=	     0;m_PhiROImin[1][13][28]=	      0;m_PhiROImax[1][13][28]=	       0;
+     m_EtaROImin[1][13][29]=	    0;m_EtaROImax[1][13][29]=	     0;m_PhiROImin[1][13][29]=	      0;m_PhiROImax[1][13][29]=	       0;
+     m_EtaROImin[1][13][30]=	    0;m_EtaROImax[1][13][30]=	     0;m_PhiROImin[1][13][30]=	      0;m_PhiROImax[1][13][30]=	       0;
+     m_EtaROImin[1][13][31]=	    0;m_EtaROImax[1][13][31]=	     0;m_PhiROImin[1][13][31]=	      0;m_PhiROImax[1][13][31]=	       0;
+     m_EtaROImin[1][14][ 0]=   0.116816;m_EtaROImax[1][14][ 0]=   0.213185;m_PhiROImin[1][14][ 0]=	2.75168;m_PhiROImax[1][14][ 0]=	 2.83564;
+     m_EtaROImin[1][14][ 1]=  0.0208251;m_EtaROImax[1][14][ 1]=   0.118734;m_PhiROImin[1][14][ 1]=	2.75168;m_PhiROImax[1][14][ 1]=	 2.83564;
+     m_EtaROImin[1][14][ 2]=   0.116816;m_EtaROImax[1][14][ 2]=   0.213185;m_PhiROImin[1][14][ 2]=	2.83927;m_PhiROImax[1][14][ 2]=	 2.92194;
+     m_EtaROImin[1][14][ 3]=  0.0208251;m_EtaROImax[1][14][ 3]=   0.118734;m_PhiROImin[1][14][ 3]=	2.83927;m_PhiROImax[1][14][ 3]=	 2.92194;
+     m_EtaROImin[1][14][ 4]=    0.30075;m_EtaROImax[1][14][ 4]=   0.416721;m_PhiROImin[1][14][ 4]=	2.75168;m_PhiROImax[1][14][ 4]=	 2.83564;
+     m_EtaROImin[1][14][ 5]=   0.222449;m_EtaROImax[1][14][ 5]=   0.302928;m_PhiROImin[1][14][ 5]=	2.75168;m_PhiROImax[1][14][ 5]=	 2.83564;
+     m_EtaROImin[1][14][ 6]=    0.30075;m_EtaROImax[1][14][ 6]=   0.416721;m_PhiROImin[1][14][ 6]=	2.83927;m_PhiROImax[1][14][ 6]=	 2.92194;
+     m_EtaROImin[1][14][ 7]=   0.222449;m_EtaROImax[1][14][ 7]=   0.302928;m_PhiROImin[1][14][ 7]=	2.83927;m_PhiROImax[1][14][ 7]=	 2.92194;
+     m_EtaROImin[1][14][ 8]=   0.501681;m_EtaROImax[1][14][ 8]=   0.573871;m_PhiROImin[1][14][ 8]=	2.75168;m_PhiROImax[1][14][ 8]=	 2.83564;
+     m_EtaROImin[1][14][ 9]=    0.42967;m_EtaROImax[1][14][ 9]=   0.504617;m_PhiROImin[1][14][ 9]=	2.75168;m_PhiROImax[1][14][ 9]=	 2.83564;
+     m_EtaROImin[1][14][10]=   0.501681;m_EtaROImax[1][14][10]=   0.573871;m_PhiROImin[1][14][10]=	2.83927;m_PhiROImax[1][14][10]=	 2.92194;
+     m_EtaROImin[1][14][11]=    0.42967;m_EtaROImax[1][14][11]=   0.504617;m_PhiROImin[1][14][11]=	2.83927;m_PhiROImax[1][14][11]=	 2.92194;
+     m_EtaROImin[1][14][12]=   0.649934;m_EtaROImax[1][14][12]=   0.741516;m_PhiROImin[1][14][12]=	2.75168;m_PhiROImax[1][14][12]=	 2.83564;
+     m_EtaROImin[1][14][13]=   0.583785;m_EtaROImax[1][14][13]=   0.653329;m_PhiROImin[1][14][13]=	2.75168;m_PhiROImax[1][14][13]=	 2.83564;
+     m_EtaROImin[1][14][14]=   0.649934;m_EtaROImax[1][14][14]=   0.741516;m_PhiROImin[1][14][14]=	2.83927;m_PhiROImax[1][14][14]=	 2.92194;
+     m_EtaROImin[1][14][15]=   0.583785;m_EtaROImax[1][14][15]=   0.653329;m_PhiROImin[1][14][15]=	2.83927;m_PhiROImax[1][14][15]=	 2.92194;
+     m_EtaROImin[1][14][16]=	    0;m_EtaROImax[1][14][16]=	     0;m_PhiROImin[1][14][16]=	      0;m_PhiROImax[1][14][16]=	       0;
+     m_EtaROImin[1][14][17]=   0.756521;m_EtaROImax[1][14][17]=   0.837822;m_PhiROImin[1][14][17]=	2.75168;m_PhiROImax[1][14][17]=	 2.83564;
+     m_EtaROImin[1][14][18]=	    0;m_EtaROImax[1][14][18]=	     0;m_PhiROImin[1][14][18]=	      0;m_PhiROImax[1][14][18]=	       0;
+     m_EtaROImin[1][14][19]=   0.756521;m_EtaROImax[1][14][19]=   0.837822;m_PhiROImin[1][14][19]=	2.83927;m_PhiROImax[1][14][19]=	 2.92194;
+     m_EtaROImin[1][14][20]=   0.899344;m_EtaROImax[1][14][20]=   0.956037;m_PhiROImin[1][14][20]=	2.75168;m_PhiROImax[1][14][20]=	 2.83564;
+     m_EtaROImin[1][14][21]=   0.844116;m_EtaROImax[1][14][21]=   0.903324;m_PhiROImin[1][14][21]=	2.75168;m_PhiROImax[1][14][21]=	 2.83564;
+     m_EtaROImin[1][14][22]=   0.899344;m_EtaROImax[1][14][22]=   0.956037;m_PhiROImin[1][14][22]=	2.83927;m_PhiROImax[1][14][22]=	 2.92194;
+     m_EtaROImin[1][14][23]=   0.844116;m_EtaROImax[1][14][23]=   0.903324;m_PhiROImin[1][14][23]=	2.83927;m_PhiROImax[1][14][23]=	 2.92194;
+     m_EtaROImin[1][14][24]=	    0;m_EtaROImax[1][14][24]=	     0;m_PhiROImin[1][14][24]=	      0;m_PhiROImax[1][14][24]=	       0;
+     m_EtaROImin[1][14][25]=	    0;m_EtaROImax[1][14][25]=	     0;m_PhiROImin[1][14][25]=	      0;m_PhiROImax[1][14][25]=	       0;
+     m_EtaROImin[1][14][26]=	    0;m_EtaROImax[1][14][26]=	     0;m_PhiROImin[1][14][26]=	      0;m_PhiROImax[1][14][26]=	       0;
+     m_EtaROImin[1][14][27]=	    0;m_EtaROImax[1][14][27]=	     0;m_PhiROImin[1][14][27]=	      0;m_PhiROImax[1][14][27]=	       0;
+     m_EtaROImin[1][14][28]=	    0;m_EtaROImax[1][14][28]=	     0;m_PhiROImin[1][14][28]=	      0;m_PhiROImax[1][14][28]=	       0;
+     m_EtaROImin[1][14][29]=	    0;m_EtaROImax[1][14][29]=	     0;m_PhiROImin[1][14][29]=	      0;m_PhiROImax[1][14][29]=	       0;
+     m_EtaROImin[1][14][30]=	    0;m_EtaROImax[1][14][30]=	     0;m_PhiROImin[1][14][30]=	      0;m_PhiROImax[1][14][30]=	       0;
+     m_EtaROImin[1][14][31]=	    0;m_EtaROImax[1][14][31]=	     0;m_PhiROImin[1][14][31]=	      0;m_PhiROImax[1][14][31]=	       0;
+     m_EtaROImin[1][15][ 0]=   0.130922;m_EtaROImax[1][15][ 0]=   0.238612;m_PhiROImin[1][15][ 0]=	3.02838;m_PhiROImax[1][15][ 0]=	 3.13862;
+     m_EtaROImin[1][15][ 1]=	    0;m_EtaROImax[1][15][ 1]=	     0;m_PhiROImin[1][15][ 1]=	      0;m_PhiROImax[1][15][ 1]=	       0;
+     m_EtaROImin[1][15][ 2]=   0.130922;m_EtaROImax[1][15][ 2]=   0.238612;m_PhiROImin[1][15][ 2]=	2.91742;m_PhiROImax[1][15][ 2]=	 3.02486;
+     m_EtaROImin[1][15][ 3]=	    0;m_EtaROImax[1][15][ 3]=	     0;m_PhiROImin[1][15][ 3]=	      0;m_PhiROImax[1][15][ 3]=	       0;
+     m_EtaROImin[1][15][ 4]=   0.246207;m_EtaROImax[1][15][ 4]=    0.35049;m_PhiROImin[1][15][ 4]=	3.02898;m_PhiROImax[1][15][ 4]=	 3.13864;
+     m_EtaROImin[1][15][ 5]=   0.350831;m_EtaROImax[1][15][ 5]=   0.452099;m_PhiROImin[1][15][ 5]=	3.02898;m_PhiROImax[1][15][ 5]=	 3.13864;
+     m_EtaROImin[1][15][ 6]=   0.246207;m_EtaROImax[1][15][ 6]=    0.35049;m_PhiROImin[1][15][ 6]=	2.91858;m_PhiROImax[1][15][ 6]=	 3.02547;
+     m_EtaROImin[1][15][ 7]=   0.350831;m_EtaROImax[1][15][ 7]=   0.452099;m_PhiROImin[1][15][ 7]=	2.91858;m_PhiROImax[1][15][ 7]=	 3.02547;
+     m_EtaROImin[1][15][ 8]=   0.458091;m_EtaROImax[1][15][ 8]=   0.554444;m_PhiROImin[1][15][ 8]=	3.02898;m_PhiROImax[1][15][ 8]=	 3.13864;
+     m_EtaROImin[1][15][ 9]=   0.555789;m_EtaROImax[1][15][ 9]=   0.648101;m_PhiROImin[1][15][ 9]=	3.02898;m_PhiROImax[1][15][ 9]=	 3.13864;
+     m_EtaROImin[1][15][10]=   0.458091;m_EtaROImax[1][15][10]=   0.554444;m_PhiROImin[1][15][10]=	2.91858;m_PhiROImax[1][15][10]=	 3.02547;
+     m_EtaROImin[1][15][11]=   0.555789;m_EtaROImax[1][15][11]=   0.648101;m_PhiROImin[1][15][11]=	2.91858;m_PhiROImax[1][15][11]=	 3.02547;
+     m_EtaROImin[1][15][12]=   0.655857;m_EtaROImax[1][15][12]=   0.703298;m_PhiROImin[1][15][12]=	3.02838;m_PhiROImax[1][15][12]=	 3.13862;
+     m_EtaROImin[1][15][13]=   0.706413;m_EtaROImax[1][15][13]=   0.776449;m_PhiROImin[1][15][13]=	3.02838;m_PhiROImax[1][15][13]=	 3.13862;
+     m_EtaROImin[1][15][14]=   0.655857;m_EtaROImax[1][15][14]=   0.703298;m_PhiROImin[1][15][14]=	2.91742;m_PhiROImax[1][15][14]=	 3.02486;
+     m_EtaROImin[1][15][15]=   0.706413;m_EtaROImax[1][15][15]=   0.776449;m_PhiROImin[1][15][15]=	2.91742;m_PhiROImax[1][15][15]=	 3.02486;
+     m_EtaROImin[1][15][16]=   0.783867;m_EtaROImax[1][15][16]=    0.82768;m_PhiROImin[1][15][16]=	3.02838;m_PhiROImax[1][15][16]=	 3.13862;
+     m_EtaROImin[1][15][17]=   0.830556;m_EtaROImax[1][15][17]=   0.895163;m_PhiROImin[1][15][17]=	3.02838;m_PhiROImax[1][15][17]=	 3.13862;
+     m_EtaROImin[1][15][18]=   0.783867;m_EtaROImax[1][15][18]=    0.82768;m_PhiROImin[1][15][18]=	2.91742;m_PhiROImax[1][15][18]=	 3.02486;
+     m_EtaROImin[1][15][19]=   0.830556;m_EtaROImax[1][15][19]=   0.895163;m_PhiROImin[1][15][19]=	2.91742;m_PhiROImax[1][15][19]=	 3.02486;
+     m_EtaROImin[1][15][20]=   0.898201;m_EtaROImax[1][15][20]=   0.961344;m_PhiROImin[1][15][20]=	3.02898;m_PhiROImax[1][15][20]=	 3.13864;
+     m_EtaROImin[1][15][21]=   0.964674;m_EtaROImax[1][15][21]=    1.02514;m_PhiROImin[1][15][21]=	3.02898;m_PhiROImax[1][15][21]=	 3.13864;
+     m_EtaROImin[1][15][22]=   0.898201;m_EtaROImax[1][15][22]=   0.961344;m_PhiROImin[1][15][22]=	2.91858;m_PhiROImax[1][15][22]=	 3.02547;
+     m_EtaROImin[1][15][23]=   0.964674;m_EtaROImax[1][15][23]=    1.02514;m_PhiROImin[1][15][23]=	2.91858;m_PhiROImax[1][15][23]=	 3.02547;
+     m_EtaROImin[1][15][24]=    1.03003;m_EtaROImax[1][15][24]=    1.06547;m_PhiROImin[1][15][24]=	3.02816;m_PhiROImax[1][15][24]=	 3.13852;
+     m_EtaROImin[1][15][25]=	    0;m_EtaROImax[1][15][25]=	     0;m_PhiROImin[1][15][25]=	      0;m_PhiROImax[1][15][25]=	       0;
+     m_EtaROImin[1][15][26]=    1.03003;m_EtaROImax[1][15][26]=    1.06547;m_PhiROImin[1][15][26]=	2.94445;m_PhiROImax[1][15][26]=	 3.02463;
+     m_EtaROImin[1][15][27]=	    0;m_EtaROImax[1][15][27]=	     0;m_PhiROImin[1][15][27]=	      0;m_PhiROImax[1][15][27]=	       0;
+     m_EtaROImin[1][15][28]=	    0;m_EtaROImax[1][15][28]=	     0;m_PhiROImin[1][15][28]=	      0;m_PhiROImax[1][15][28]=	       0;
+     m_EtaROImin[1][15][29]=	    0;m_EtaROImax[1][15][29]=	     0;m_PhiROImin[1][15][29]=	      0;m_PhiROImax[1][15][29]=	       0;
+     m_EtaROImin[1][15][30]=	    0;m_EtaROImax[1][15][30]=	     0;m_PhiROImin[1][15][30]=	      0;m_PhiROImax[1][15][30]=	       0;
+     m_EtaROImin[1][15][31]=	    0;m_EtaROImax[1][15][31]=	     0;m_PhiROImin[1][15][31]=	      0;m_PhiROImax[1][15][31]=	       0;
+     m_EtaROImin[1][16][ 0]=	    0;m_EtaROImax[1][16][ 0]=	     0;m_PhiROImin[1][16][ 0]=	      0;m_PhiROImax[1][16][ 0]=	       0;
+     m_EtaROImin[1][16][ 1]=   0.130922;m_EtaROImax[1][16][ 1]=   0.238612;m_PhiROImin[1][16][ 1]=   -3.13862;m_PhiROImax[1][16][ 1]=	-3.02838;
+     m_EtaROImin[1][16][ 2]=	    0;m_EtaROImax[1][16][ 2]=	     0;m_PhiROImin[1][16][ 2]=	      0;m_PhiROImax[1][16][ 2]=	       0;
+     m_EtaROImin[1][16][ 3]=   0.130922;m_EtaROImax[1][16][ 3]=   0.238612;m_PhiROImin[1][16][ 3]=   -3.02486;m_PhiROImax[1][16][ 3]=	-2.91742;
+     m_EtaROImin[1][16][ 4]=   0.350831;m_EtaROImax[1][16][ 4]=   0.452099;m_PhiROImin[1][16][ 4]=   -3.13864;m_PhiROImax[1][16][ 4]=	-3.02898;
+     m_EtaROImin[1][16][ 5]=   0.246207;m_EtaROImax[1][16][ 5]=    0.35049;m_PhiROImin[1][16][ 5]=   -3.13864;m_PhiROImax[1][16][ 5]=	-3.02898;
+     m_EtaROImin[1][16][ 6]=   0.350831;m_EtaROImax[1][16][ 6]=   0.452099;m_PhiROImin[1][16][ 6]=   -3.02547;m_PhiROImax[1][16][ 6]=	-2.91858;
+     m_EtaROImin[1][16][ 7]=   0.246207;m_EtaROImax[1][16][ 7]=    0.35049;m_PhiROImin[1][16][ 7]=   -3.02547;m_PhiROImax[1][16][ 7]=	-2.91858;
+     m_EtaROImin[1][16][ 8]=   0.555789;m_EtaROImax[1][16][ 8]=   0.648101;m_PhiROImin[1][16][ 8]=   -3.13864;m_PhiROImax[1][16][ 8]=	-3.02898;
+     m_EtaROImin[1][16][ 9]=   0.458091;m_EtaROImax[1][16][ 9]=   0.554444;m_PhiROImin[1][16][ 9]=   -3.13864;m_PhiROImax[1][16][ 9]=	-3.02898;
+     m_EtaROImin[1][16][10]=   0.555789;m_EtaROImax[1][16][10]=   0.648101;m_PhiROImin[1][16][10]=   -3.02547;m_PhiROImax[1][16][10]=	-2.91858;
+     m_EtaROImin[1][16][11]=   0.458091;m_EtaROImax[1][16][11]=   0.554444;m_PhiROImin[1][16][11]=   -3.02547;m_PhiROImax[1][16][11]=	-2.91858;
+     m_EtaROImin[1][16][12]=   0.731124;m_EtaROImax[1][16][12]=   0.776449;m_PhiROImin[1][16][12]=   -3.13862;m_PhiROImax[1][16][12]=	-3.02838;
+     m_EtaROImin[1][16][13]=   0.655857;m_EtaROImax[1][16][13]=   0.728056;m_PhiROImin[1][16][13]=   -3.13862;m_PhiROImax[1][16][13]=	-3.02838;
+     m_EtaROImin[1][16][14]=   0.731124;m_EtaROImax[1][16][14]=   0.776449;m_PhiROImin[1][16][14]=   -3.02486;m_PhiROImax[1][16][14]=	-2.91742;
+     m_EtaROImin[1][16][15]=   0.655857;m_EtaROImax[1][16][15]=   0.728056;m_PhiROImin[1][16][15]=   -3.02486;m_PhiROImax[1][16][15]=	-2.91742;
+     m_EtaROImin[1][16][16]=   0.853359;m_EtaROImax[1][16][16]=   0.895163;m_PhiROImin[1][16][16]=   -3.13862;m_PhiROImax[1][16][16]=	-3.02838;
+     m_EtaROImin[1][16][17]=   0.783867;m_EtaROImax[1][16][17]=   0.850528;m_PhiROImin[1][16][17]=   -3.13862;m_PhiROImax[1][16][17]=	-3.02838;
+     m_EtaROImin[1][16][18]=   0.853359;m_EtaROImax[1][16][18]=   0.895163;m_PhiROImin[1][16][18]=   -3.02486;m_PhiROImax[1][16][18]=	-2.91742;
+     m_EtaROImin[1][16][19]=   0.783867;m_EtaROImax[1][16][19]=   0.850528;m_PhiROImin[1][16][19]=   -3.02486;m_PhiROImax[1][16][19]=	-2.91742;
+     m_EtaROImin[1][16][20]=   0.964674;m_EtaROImax[1][16][20]=    1.02514;m_PhiROImin[1][16][20]=   -3.13864;m_PhiROImax[1][16][20]=	-3.02898;
+     m_EtaROImin[1][16][21]=   0.898201;m_EtaROImax[1][16][21]=   0.961344;m_PhiROImin[1][16][21]=   -3.13864;m_PhiROImax[1][16][21]=	-3.02898;
+     m_EtaROImin[1][16][22]=   0.964674;m_EtaROImax[1][16][22]=    1.02514;m_PhiROImin[1][16][22]=   -3.02547;m_PhiROImax[1][16][22]=	-2.91858;
+     m_EtaROImin[1][16][23]=   0.898201;m_EtaROImax[1][16][23]=   0.961344;m_PhiROImin[1][16][23]=   -3.02547;m_PhiROImax[1][16][23]=	-2.91858;
+     m_EtaROImin[1][16][24]=	    0;m_EtaROImax[1][16][24]=	     0;m_PhiROImin[1][16][24]=	      0;m_PhiROImax[1][16][24]=	       0;
+     m_EtaROImin[1][16][25]=    1.03003;m_EtaROImax[1][16][25]=    1.06547;m_PhiROImin[1][16][25]=   -3.13852;m_PhiROImax[1][16][25]=	-3.02816;
+     m_EtaROImin[1][16][26]=	    0;m_EtaROImax[1][16][26]=	     0;m_PhiROImin[1][16][26]=	      0;m_PhiROImax[1][16][26]=	       0;
+     m_EtaROImin[1][16][27]=    1.03003;m_EtaROImax[1][16][27]=    1.06547;m_PhiROImin[1][16][27]=   -3.02463;m_PhiROImax[1][16][27]=	-2.94445;
+     m_EtaROImin[1][16][28]=	    0;m_EtaROImax[1][16][28]=	     0;m_PhiROImin[1][16][28]=	      0;m_PhiROImax[1][16][28]=	       0;
+     m_EtaROImin[1][16][29]=	    0;m_EtaROImax[1][16][29]=	     0;m_PhiROImin[1][16][29]=	      0;m_PhiROImax[1][16][29]=	       0;
+     m_EtaROImin[1][16][30]=	    0;m_EtaROImax[1][16][30]=	     0;m_PhiROImin[1][16][30]=	      0;m_PhiROImax[1][16][30]=	       0;
+     m_EtaROImin[1][16][31]=	    0;m_EtaROImax[1][16][31]=	     0;m_PhiROImin[1][16][31]=	      0;m_PhiROImax[1][16][31]=	       0;
+     m_EtaROImin[1][17][ 0]=  0.0208251;m_EtaROImax[1][17][ 0]=   0.118734;m_PhiROImin[1][17][ 0]=   -2.83564;m_PhiROImax[1][17][ 0]=	-2.75168;
+     m_EtaROImin[1][17][ 1]=   0.116816;m_EtaROImax[1][17][ 1]=   0.213185;m_PhiROImin[1][17][ 1]=   -2.83564;m_PhiROImax[1][17][ 1]=	-2.75168;
+     m_EtaROImin[1][17][ 2]=  0.0208251;m_EtaROImax[1][17][ 2]=   0.118734;m_PhiROImin[1][17][ 2]=   -2.92194;m_PhiROImax[1][17][ 2]=	-2.83927;
+     m_EtaROImin[1][17][ 3]=   0.116816;m_EtaROImax[1][17][ 3]=   0.213185;m_PhiROImin[1][17][ 3]=   -2.92194;m_PhiROImax[1][17][ 3]=	-2.83927;
+     m_EtaROImin[1][17][ 4]=   0.222449;m_EtaROImax[1][17][ 4]=   0.302928;m_PhiROImin[1][17][ 4]=   -2.83564;m_PhiROImax[1][17][ 4]=	-2.75168;
+     m_EtaROImin[1][17][ 5]=    0.30075;m_EtaROImax[1][17][ 5]=   0.416721;m_PhiROImin[1][17][ 5]=   -2.83564;m_PhiROImax[1][17][ 5]=	-2.75168;
+     m_EtaROImin[1][17][ 6]=   0.222449;m_EtaROImax[1][17][ 6]=   0.302928;m_PhiROImin[1][17][ 6]=   -2.92194;m_PhiROImax[1][17][ 6]=	-2.83927;
+     m_EtaROImin[1][17][ 7]=    0.30075;m_EtaROImax[1][17][ 7]=   0.416721;m_PhiROImin[1][17][ 7]=   -2.92194;m_PhiROImax[1][17][ 7]=	-2.83927;
+     m_EtaROImin[1][17][ 8]=    0.42967;m_EtaROImax[1][17][ 8]=   0.504617;m_PhiROImin[1][17][ 8]=   -2.83564;m_PhiROImax[1][17][ 8]=	-2.75168;
+     m_EtaROImin[1][17][ 9]=   0.501681;m_EtaROImax[1][17][ 9]=   0.573871;m_PhiROImin[1][17][ 9]=   -2.83564;m_PhiROImax[1][17][ 9]=	-2.75168;
+     m_EtaROImin[1][17][10]=    0.42967;m_EtaROImax[1][17][10]=   0.504617;m_PhiROImin[1][17][10]=   -2.92194;m_PhiROImax[1][17][10]=	-2.83927;
+     m_EtaROImin[1][17][11]=   0.501681;m_EtaROImax[1][17][11]=   0.573871;m_PhiROImin[1][17][11]=   -2.92194;m_PhiROImax[1][17][11]=	-2.83927;
+     m_EtaROImin[1][17][12]=   0.583785;m_EtaROImax[1][17][12]=   0.653329;m_PhiROImin[1][17][12]=   -2.83564;m_PhiROImax[1][17][12]=	-2.75168;
+     m_EtaROImin[1][17][13]=   0.649934;m_EtaROImax[1][17][13]=   0.741516;m_PhiROImin[1][17][13]=   -2.83564;m_PhiROImax[1][17][13]=	-2.75168;
+     m_EtaROImin[1][17][14]=   0.583785;m_EtaROImax[1][17][14]=   0.653329;m_PhiROImin[1][17][14]=   -2.92194;m_PhiROImax[1][17][14]=	-2.83927;
+     m_EtaROImin[1][17][15]=   0.649934;m_EtaROImax[1][17][15]=   0.741516;m_PhiROImin[1][17][15]=   -2.92194;m_PhiROImax[1][17][15]=	-2.83927;
+     m_EtaROImin[1][17][16]=   0.756521;m_EtaROImax[1][17][16]=   0.837822;m_PhiROImin[1][17][16]=   -2.83564;m_PhiROImax[1][17][16]=	-2.75168;
+     m_EtaROImin[1][17][17]=	    0;m_EtaROImax[1][17][17]=	     0;m_PhiROImin[1][17][17]=	      0;m_PhiROImax[1][17][17]=	       0;
+     m_EtaROImin[1][17][18]=   0.756521;m_EtaROImax[1][17][18]=   0.837822;m_PhiROImin[1][17][18]=   -2.92194;m_PhiROImax[1][17][18]=	-2.83927;
+     m_EtaROImin[1][17][19]=	    0;m_EtaROImax[1][17][19]=	     0;m_PhiROImin[1][17][19]=	      0;m_PhiROImax[1][17][19]=	       0;
+     m_EtaROImin[1][17][20]=   0.844116;m_EtaROImax[1][17][20]=   0.903324;m_PhiROImin[1][17][20]=   -2.83564;m_PhiROImax[1][17][20]=	-2.75168;
+     m_EtaROImin[1][17][21]=   0.899344;m_EtaROImax[1][17][21]=   0.956037;m_PhiROImin[1][17][21]=   -2.83564;m_PhiROImax[1][17][21]=	-2.75168;
+     m_EtaROImin[1][17][22]=   0.844116;m_EtaROImax[1][17][22]=   0.903324;m_PhiROImin[1][17][22]=   -2.92194;m_PhiROImax[1][17][22]=	-2.83927;
+     m_EtaROImin[1][17][23]=   0.899344;m_EtaROImax[1][17][23]=   0.956037;m_PhiROImin[1][17][23]=   -2.92194;m_PhiROImax[1][17][23]=	-2.83927;
+     m_EtaROImin[1][17][24]=	    0;m_EtaROImax[1][17][24]=	     0;m_PhiROImin[1][17][24]=	      0;m_PhiROImax[1][17][24]=	       0;
+     m_EtaROImin[1][17][25]=	    0;m_EtaROImax[1][17][25]=	     0;m_PhiROImin[1][17][25]=	      0;m_PhiROImax[1][17][25]=	       0;
+     m_EtaROImin[1][17][26]=	    0;m_EtaROImax[1][17][26]=	     0;m_PhiROImin[1][17][26]=	      0;m_PhiROImax[1][17][26]=	       0;
+     m_EtaROImin[1][17][27]=	    0;m_EtaROImax[1][17][27]=	     0;m_PhiROImin[1][17][27]=	      0;m_PhiROImax[1][17][27]=	       0;
+     m_EtaROImin[1][17][28]=	    0;m_EtaROImax[1][17][28]=	     0;m_PhiROImin[1][17][28]=	      0;m_PhiROImax[1][17][28]=	       0;
+     m_EtaROImin[1][17][29]=	    0;m_EtaROImax[1][17][29]=	     0;m_PhiROImin[1][17][29]=	      0;m_PhiROImax[1][17][29]=	       0;
+     m_EtaROImin[1][17][30]=	    0;m_EtaROImax[1][17][30]=	     0;m_PhiROImin[1][17][30]=	      0;m_PhiROImax[1][17][30]=	       0;
+     m_EtaROImin[1][17][31]=	    0;m_EtaROImax[1][17][31]=	     0;m_PhiROImin[1][17][31]=	      0;m_PhiROImax[1][17][31]=	       0;
+     m_EtaROImin[1][18][ 0]=   0.116816;m_EtaROImax[1][18][ 0]=   0.213185;m_PhiROImin[1][18][ 0]=	-2.7461;m_PhiROImax[1][18][ 0]=	-2.66215;
+     m_EtaROImin[1][18][ 1]=  0.0208251;m_EtaROImax[1][18][ 1]=   0.118734;m_PhiROImin[1][18][ 1]=	-2.7461;m_PhiROImax[1][18][ 1]=	-2.66215;
+     m_EtaROImin[1][18][ 2]=   0.116816;m_EtaROImax[1][18][ 2]=   0.213185;m_PhiROImin[1][18][ 2]=   -2.65852;m_PhiROImax[1][18][ 2]=	-2.57584;
+     m_EtaROImin[1][18][ 3]=  0.0208251;m_EtaROImax[1][18][ 3]=   0.118734;m_PhiROImin[1][18][ 3]=   -2.65852;m_PhiROImax[1][18][ 3]=	-2.57584;
+     m_EtaROImin[1][18][ 4]=    0.30075;m_EtaROImax[1][18][ 4]=   0.416721;m_PhiROImin[1][18][ 4]=	-2.7461;m_PhiROImax[1][18][ 4]=	-2.66215;
+     m_EtaROImin[1][18][ 5]=   0.222449;m_EtaROImax[1][18][ 5]=   0.302928;m_PhiROImin[1][18][ 5]=	-2.7461;m_PhiROImax[1][18][ 5]=	-2.66215;
+     m_EtaROImin[1][18][ 6]=    0.30075;m_EtaROImax[1][18][ 6]=   0.416721;m_PhiROImin[1][18][ 6]=   -2.65852;m_PhiROImax[1][18][ 6]=	-2.57584;
+     m_EtaROImin[1][18][ 7]=   0.222449;m_EtaROImax[1][18][ 7]=   0.302928;m_PhiROImin[1][18][ 7]=   -2.65852;m_PhiROImax[1][18][ 7]=	-2.57584;
+     m_EtaROImin[1][18][ 8]=   0.501681;m_EtaROImax[1][18][ 8]=   0.573871;m_PhiROImin[1][18][ 8]=	-2.7461;m_PhiROImax[1][18][ 8]=	-2.66215;
+     m_EtaROImin[1][18][ 9]=    0.42967;m_EtaROImax[1][18][ 9]=   0.504617;m_PhiROImin[1][18][ 9]=	-2.7461;m_PhiROImax[1][18][ 9]=	-2.66215;
+     m_EtaROImin[1][18][10]=   0.501681;m_EtaROImax[1][18][10]=   0.573871;m_PhiROImin[1][18][10]=   -2.65852;m_PhiROImax[1][18][10]=	-2.57584;
+     m_EtaROImin[1][18][11]=    0.42967;m_EtaROImax[1][18][11]=   0.504617;m_PhiROImin[1][18][11]=   -2.65852;m_PhiROImax[1][18][11]=	-2.57584;
+     m_EtaROImin[1][18][12]=   0.649934;m_EtaROImax[1][18][12]=   0.741516;m_PhiROImin[1][18][12]=	-2.7461;m_PhiROImax[1][18][12]=	-2.66215;
+     m_EtaROImin[1][18][13]=   0.583785;m_EtaROImax[1][18][13]=   0.653329;m_PhiROImin[1][18][13]=	-2.7461;m_PhiROImax[1][18][13]=	-2.66215;
+     m_EtaROImin[1][18][14]=   0.649934;m_EtaROImax[1][18][14]=   0.741516;m_PhiROImin[1][18][14]=   -2.65852;m_PhiROImax[1][18][14]=	-2.57584;
+     m_EtaROImin[1][18][15]=   0.583785;m_EtaROImax[1][18][15]=   0.653329;m_PhiROImin[1][18][15]=   -2.65852;m_PhiROImax[1][18][15]=	-2.57584;
+     m_EtaROImin[1][18][16]=	    0;m_EtaROImax[1][18][16]=	     0;m_PhiROImin[1][18][16]=	      0;m_PhiROImax[1][18][16]=	       0;
+     m_EtaROImin[1][18][17]=   0.756521;m_EtaROImax[1][18][17]=   0.837822;m_PhiROImin[1][18][17]=	-2.7461;m_PhiROImax[1][18][17]=	-2.66215;
+     m_EtaROImin[1][18][18]=	    0;m_EtaROImax[1][18][18]=	     0;m_PhiROImin[1][18][18]=	      0;m_PhiROImax[1][18][18]=	       0;
+     m_EtaROImin[1][18][19]=   0.756521;m_EtaROImax[1][18][19]=   0.837822;m_PhiROImin[1][18][19]=   -2.65852;m_PhiROImax[1][18][19]=	-2.57584;
+     m_EtaROImin[1][18][20]=   0.899344;m_EtaROImax[1][18][20]=   0.956037;m_PhiROImin[1][18][20]=	-2.7461;m_PhiROImax[1][18][20]=	-2.66215;
+     m_EtaROImin[1][18][21]=   0.844116;m_EtaROImax[1][18][21]=   0.903324;m_PhiROImin[1][18][21]=	-2.7461;m_PhiROImax[1][18][21]=	-2.66215;
+     m_EtaROImin[1][18][22]=   0.899344;m_EtaROImax[1][18][22]=   0.956037;m_PhiROImin[1][18][22]=   -2.65852;m_PhiROImax[1][18][22]=	-2.57584;
+     m_EtaROImin[1][18][23]=   0.844116;m_EtaROImax[1][18][23]=   0.903324;m_PhiROImin[1][18][23]=   -2.65852;m_PhiROImax[1][18][23]=	-2.57584;
+     m_EtaROImin[1][18][24]=	    0;m_EtaROImax[1][18][24]=	     0;m_PhiROImin[1][18][24]=	      0;m_PhiROImax[1][18][24]=	       0;
+     m_EtaROImin[1][18][25]=	    0;m_EtaROImax[1][18][25]=	     0;m_PhiROImin[1][18][25]=	      0;m_PhiROImax[1][18][25]=	       0;
+     m_EtaROImin[1][18][26]=	    0;m_EtaROImax[1][18][26]=	     0;m_PhiROImin[1][18][26]=	      0;m_PhiROImax[1][18][26]=	       0;
+     m_EtaROImin[1][18][27]=	    0;m_EtaROImax[1][18][27]=	     0;m_PhiROImin[1][18][27]=	      0;m_PhiROImax[1][18][27]=	       0;
+     m_EtaROImin[1][18][28]=	    0;m_EtaROImax[1][18][28]=	     0;m_PhiROImin[1][18][28]=	      0;m_PhiROImax[1][18][28]=	       0;
+     m_EtaROImin[1][18][29]=	    0;m_EtaROImax[1][18][29]=	     0;m_PhiROImin[1][18][29]=	      0;m_PhiROImax[1][18][29]=	       0;
+     m_EtaROImin[1][18][30]=	    0;m_EtaROImax[1][18][30]=	     0;m_PhiROImin[1][18][30]=	      0;m_PhiROImax[1][18][30]=	       0;
+     m_EtaROImin[1][18][31]=	    0;m_EtaROImax[1][18][31]=	     0;m_PhiROImin[1][18][31]=	      0;m_PhiROImax[1][18][31]=	       0;
+     m_EtaROImin[1][19][ 0]=  0.0874905;m_EtaROImax[1][19][ 0]=   0.145912;m_PhiROImin[1][19][ 0]=   -2.46941;m_PhiROImax[1][19][ 0]=	-2.35916;
+     m_EtaROImin[1][19][ 1]=   0.149792;m_EtaROImax[1][19][ 1]=   0.238294;m_PhiROImin[1][19][ 1]=   -2.46941;m_PhiROImax[1][19][ 1]=	-2.35916;
+     m_EtaROImin[1][19][ 2]=  0.0874905;m_EtaROImax[1][19][ 2]=   0.145912;m_PhiROImin[1][19][ 2]=   -2.58036;m_PhiROImax[1][19][ 2]=	-2.47293;
+     m_EtaROImin[1][19][ 3]=   0.149792;m_EtaROImax[1][19][ 3]=   0.238294;m_PhiROImin[1][19][ 3]=   -2.58036;m_PhiROImax[1][19][ 3]=	-2.47293;
+     m_EtaROImin[1][19][ 4]=   0.246207;m_EtaROImax[1][19][ 4]=    0.35049;m_PhiROImin[1][19][ 4]=   -2.46881;m_PhiROImax[1][19][ 4]=	-2.35915;
+     m_EtaROImin[1][19][ 5]=   0.350831;m_EtaROImax[1][19][ 5]=   0.452099;m_PhiROImin[1][19][ 5]=   -2.46881;m_PhiROImax[1][19][ 5]=	-2.35915;
+     m_EtaROImin[1][19][ 6]=   0.246207;m_EtaROImax[1][19][ 6]=    0.35049;m_PhiROImin[1][19][ 6]=   -2.57921;m_PhiROImax[1][19][ 6]=	-2.47231;
+     m_EtaROImin[1][19][ 7]=   0.350831;m_EtaROImax[1][19][ 7]=   0.452099;m_PhiROImin[1][19][ 7]=   -2.57921;m_PhiROImax[1][19][ 7]=	-2.47231;
+     m_EtaROImin[1][19][ 8]=   0.458091;m_EtaROImax[1][19][ 8]=   0.554444;m_PhiROImin[1][19][ 8]=   -2.46881;m_PhiROImax[1][19][ 8]=	-2.35915;
+     m_EtaROImin[1][19][ 9]=   0.555789;m_EtaROImax[1][19][ 9]=   0.648101;m_PhiROImin[1][19][ 9]=   -2.46881;m_PhiROImax[1][19][ 9]=	-2.35915;
+     m_EtaROImin[1][19][10]=   0.458091;m_EtaROImax[1][19][10]=   0.554444;m_PhiROImin[1][19][10]=   -2.57921;m_PhiROImax[1][19][10]=	-2.47231;
+     m_EtaROImin[1][19][11]=   0.555789;m_EtaROImax[1][19][11]=   0.648101;m_PhiROImin[1][19][11]=   -2.57921;m_PhiROImax[1][19][11]=	-2.47231;
+     m_EtaROImin[1][19][12]=   0.655857;m_EtaROImax[1][19][12]=   0.703298;m_PhiROImin[1][19][12]=   -2.46941;m_PhiROImax[1][19][12]=	-2.35916;
+     m_EtaROImin[1][19][13]=   0.706413;m_EtaROImax[1][19][13]=   0.776449;m_PhiROImin[1][19][13]=   -2.46941;m_PhiROImax[1][19][13]=	-2.35916;
+     m_EtaROImin[1][19][14]=   0.655857;m_EtaROImax[1][19][14]=   0.703298;m_PhiROImin[1][19][14]=   -2.58036;m_PhiROImax[1][19][14]=	-2.47293;
+     m_EtaROImin[1][19][15]=   0.706413;m_EtaROImax[1][19][15]=   0.776449;m_PhiROImin[1][19][15]=   -2.58036;m_PhiROImax[1][19][15]=	-2.47293;
+     m_EtaROImin[1][19][16]=   0.783867;m_EtaROImax[1][19][16]=    0.82768;m_PhiROImin[1][19][16]=   -2.46941;m_PhiROImax[1][19][16]=	-2.35916;
+     m_EtaROImin[1][19][17]=   0.830556;m_EtaROImax[1][19][17]=   0.895163;m_PhiROImin[1][19][17]=   -2.46941;m_PhiROImax[1][19][17]=	-2.35916;
+     m_EtaROImin[1][19][18]=   0.783867;m_EtaROImax[1][19][18]=    0.82768;m_PhiROImin[1][19][18]=   -2.58036;m_PhiROImax[1][19][18]=	-2.47293;
+     m_EtaROImin[1][19][19]=   0.830556;m_EtaROImax[1][19][19]=   0.895163;m_PhiROImin[1][19][19]=   -2.58036;m_PhiROImax[1][19][19]=	-2.47293;
+     m_EtaROImin[1][19][20]=   0.898201;m_EtaROImax[1][19][20]=   0.961344;m_PhiROImin[1][19][20]=   -2.46881;m_PhiROImax[1][19][20]=	-2.35915;
+     m_EtaROImin[1][19][21]=   0.964674;m_EtaROImax[1][19][21]=    1.02514;m_PhiROImin[1][19][21]=   -2.46881;m_PhiROImax[1][19][21]=	-2.35915;
+     m_EtaROImin[1][19][22]=   0.898201;m_EtaROImax[1][19][22]=   0.961344;m_PhiROImin[1][19][22]=   -2.57921;m_PhiROImax[1][19][22]=	-2.47231;
+     m_EtaROImin[1][19][23]=   0.964674;m_EtaROImax[1][19][23]=    1.02514;m_PhiROImin[1][19][23]=   -2.57921;m_PhiROImax[1][19][23]=	-2.47231;
+     m_EtaROImin[1][19][24]=    1.03003;m_EtaROImax[1][19][24]=    1.06547;m_PhiROImin[1][19][24]=   -2.46962;m_PhiROImax[1][19][24]=	-2.35926;
+     m_EtaROImin[1][19][25]=	    0;m_EtaROImax[1][19][25]=	     0;m_PhiROImin[1][19][25]=	      0;m_PhiROImax[1][19][25]=	       0;
+     m_EtaROImin[1][19][26]=    1.03003;m_EtaROImax[1][19][26]=    1.06547;m_PhiROImin[1][19][26]=   -2.55334;m_PhiROImax[1][19][26]=	-2.47315;
+     m_EtaROImin[1][19][27]=	    0;m_EtaROImax[1][19][27]=	     0;m_PhiROImin[1][19][27]=	      0;m_PhiROImax[1][19][27]=	       0;
+     m_EtaROImin[1][19][28]=	    0;m_EtaROImax[1][19][28]=	     0;m_PhiROImin[1][19][28]=	      0;m_PhiROImax[1][19][28]=	       0;
+     m_EtaROImin[1][19][29]=	    0;m_EtaROImax[1][19][29]=	     0;m_PhiROImin[1][19][29]=	      0;m_PhiROImax[1][19][29]=	       0;
+     m_EtaROImin[1][19][30]=	    0;m_EtaROImax[1][19][30]=	     0;m_PhiROImin[1][19][30]=	      0;m_PhiROImax[1][19][30]=	       0;
+     m_EtaROImin[1][19][31]=	    0;m_EtaROImax[1][19][31]=	     0;m_PhiROImin[1][19][31]=	      0;m_PhiROImax[1][19][31]=	       0;
+     m_EtaROImin[1][20][ 0]=   0.180742;m_EtaROImax[1][20][ 0]=   0.238294;m_PhiROImin[1][20][ 0]=   -2.35323;m_PhiROImax[1][20][ 0]=	-2.24298;
+     m_EtaROImin[1][20][ 1]=  0.0874905;m_EtaROImax[1][20][ 1]=   0.176882;m_PhiROImin[1][20][ 1]=   -2.35323;m_PhiROImax[1][20][ 1]=	-2.24298;
+     m_EtaROImin[1][20][ 2]=   0.180742;m_EtaROImax[1][20][ 2]=   0.238294;m_PhiROImin[1][20][ 2]=   -2.23946;m_PhiROImax[1][20][ 2]=	-2.13203;
+     m_EtaROImin[1][20][ 3]=  0.0874905;m_EtaROImax[1][20][ 3]=   0.176882;m_PhiROImin[1][20][ 3]=   -2.23946;m_PhiROImax[1][20][ 3]=	-2.13203;
+     m_EtaROImin[1][20][ 4]=   0.350831;m_EtaROImax[1][20][ 4]=   0.452099;m_PhiROImin[1][20][ 4]=   -2.35324;m_PhiROImax[1][20][ 4]=	-2.24358;
+     m_EtaROImin[1][20][ 5]=   0.246207;m_EtaROImax[1][20][ 5]=    0.35049;m_PhiROImin[1][20][ 5]=   -2.35324;m_PhiROImax[1][20][ 5]=	-2.24358;
+     m_EtaROImin[1][20][ 6]=   0.350831;m_EtaROImax[1][20][ 6]=   0.452099;m_PhiROImin[1][20][ 6]=   -2.24008;m_PhiROImax[1][20][ 6]=	-2.13318;
+     m_EtaROImin[1][20][ 7]=   0.246207;m_EtaROImax[1][20][ 7]=    0.35049;m_PhiROImin[1][20][ 7]=   -2.24008;m_PhiROImax[1][20][ 7]=	-2.13318;
+     m_EtaROImin[1][20][ 8]=   0.555789;m_EtaROImax[1][20][ 8]=   0.648101;m_PhiROImin[1][20][ 8]=   -2.35324;m_PhiROImax[1][20][ 8]=	-2.24358;
+     m_EtaROImin[1][20][ 9]=   0.458091;m_EtaROImax[1][20][ 9]=   0.554444;m_PhiROImin[1][20][ 9]=   -2.35324;m_PhiROImax[1][20][ 9]=	-2.24358;
+     m_EtaROImin[1][20][10]=   0.555789;m_EtaROImax[1][20][10]=   0.648101;m_PhiROImin[1][20][10]=   -2.24008;m_PhiROImax[1][20][10]=	-2.13318;
+     m_EtaROImin[1][20][11]=   0.458091;m_EtaROImax[1][20][11]=   0.554444;m_PhiROImin[1][20][11]=   -2.24008;m_PhiROImax[1][20][11]=	-2.13318;
+     m_EtaROImin[1][20][12]=   0.731124;m_EtaROImax[1][20][12]=   0.776449;m_PhiROImin[1][20][12]=   -2.35323;m_PhiROImax[1][20][12]=	-2.24298;
+     m_EtaROImin[1][20][13]=   0.655857;m_EtaROImax[1][20][13]=   0.728056;m_PhiROImin[1][20][13]=   -2.35323;m_PhiROImax[1][20][13]=	-2.24298;
+     m_EtaROImin[1][20][14]=   0.731124;m_EtaROImax[1][20][14]=   0.776449;m_PhiROImin[1][20][14]=   -2.23946;m_PhiROImax[1][20][14]=	-2.13203;
+     m_EtaROImin[1][20][15]=   0.655857;m_EtaROImax[1][20][15]=   0.728056;m_PhiROImin[1][20][15]=   -2.23946;m_PhiROImax[1][20][15]=	-2.13203;
+     m_EtaROImin[1][20][16]=   0.853359;m_EtaROImax[1][20][16]=   0.895163;m_PhiROImin[1][20][16]=   -2.35323;m_PhiROImax[1][20][16]=	-2.24298;
+     m_EtaROImin[1][20][17]=   0.783867;m_EtaROImax[1][20][17]=   0.850528;m_PhiROImin[1][20][17]=   -2.35323;m_PhiROImax[1][20][17]=	-2.24298;
+     m_EtaROImin[1][20][18]=   0.853359;m_EtaROImax[1][20][18]=   0.895163;m_PhiROImin[1][20][18]=   -2.23946;m_PhiROImax[1][20][18]=	-2.13203;
+     m_EtaROImin[1][20][19]=   0.783867;m_EtaROImax[1][20][19]=   0.850528;m_PhiROImin[1][20][19]=   -2.23946;m_PhiROImax[1][20][19]=	-2.13203;
+     m_EtaROImin[1][20][20]=   0.964674;m_EtaROImax[1][20][20]=    1.02514;m_PhiROImin[1][20][20]=   -2.35324;m_PhiROImax[1][20][20]=	-2.24358;
+     m_EtaROImin[1][20][21]=   0.898201;m_EtaROImax[1][20][21]=   0.961344;m_PhiROImin[1][20][21]=   -2.35324;m_PhiROImax[1][20][21]=	-2.24358;
+     m_EtaROImin[1][20][22]=   0.964674;m_EtaROImax[1][20][22]=    1.02514;m_PhiROImin[1][20][22]=   -2.24008;m_PhiROImax[1][20][22]=	-2.13318;
+     m_EtaROImin[1][20][23]=   0.898201;m_EtaROImax[1][20][23]=   0.961344;m_PhiROImin[1][20][23]=   -2.24008;m_PhiROImax[1][20][23]=	-2.13318;
+     m_EtaROImin[1][20][24]=	    0;m_EtaROImax[1][20][24]=	     0;m_PhiROImin[1][20][24]=	      0;m_PhiROImax[1][20][24]=	       0;
+     m_EtaROImin[1][20][25]=    1.03003;m_EtaROImax[1][20][25]=    1.06547;m_PhiROImin[1][20][25]=   -2.35313;m_PhiROImax[1][20][25]=	-2.24277;
+     m_EtaROImin[1][20][26]=	    0;m_EtaROImax[1][20][26]=	     0;m_PhiROImin[1][20][26]=	      0;m_PhiROImax[1][20][26]=	       0;
+     m_EtaROImin[1][20][27]=    1.03003;m_EtaROImax[1][20][27]=    1.06547;m_PhiROImin[1][20][27]=   -2.23924;m_PhiROImax[1][20][27]=	-2.15905;
+     m_EtaROImin[1][20][28]=	    0;m_EtaROImax[1][20][28]=	     0;m_PhiROImin[1][20][28]=	      0;m_PhiROImax[1][20][28]=	       0;
+     m_EtaROImin[1][20][29]=	    0;m_EtaROImax[1][20][29]=	     0;m_PhiROImin[1][20][29]=	      0;m_PhiROImax[1][20][29]=	       0;
+     m_EtaROImin[1][20][30]=	    0;m_EtaROImax[1][20][30]=	     0;m_PhiROImin[1][20][30]=	      0;m_PhiROImax[1][20][30]=	       0;
+     m_EtaROImin[1][20][31]=	    0;m_EtaROImax[1][20][31]=	     0;m_PhiROImin[1][20][31]=	      0;m_PhiROImax[1][20][31]=	       0;
+     m_EtaROImin[1][21][ 0]=  0.0775634;m_EtaROImax[1][21][ 0]=   0.126072;m_PhiROImin[1][21][ 0]=   -2.05024;m_PhiROImax[1][21][ 0]=	-1.96629;
+     m_EtaROImin[1][21][ 1]=   0.129296;m_EtaROImax[1][21][ 1]=   0.203032;m_PhiROImin[1][21][ 1]=   -2.05024;m_PhiROImax[1][21][ 1]=	-1.96629;
+     m_EtaROImin[1][21][ 2]=  0.0775634;m_EtaROImax[1][21][ 2]=   0.126072;m_PhiROImin[1][21][ 2]=   -2.13655;m_PhiROImax[1][21][ 2]=	-2.05387;
+     m_EtaROImin[1][21][ 3]=   0.129296;m_EtaROImax[1][21][ 3]=   0.203032;m_PhiROImin[1][21][ 3]=   -2.13655;m_PhiROImax[1][21][ 3]=	-2.05387;
+     m_EtaROImin[1][21][ 4]=   0.200823;m_EtaROImax[1][21][ 4]=   0.248155;m_PhiROImin[1][21][ 4]=   -2.04983;m_PhiROImax[1][21][ 4]=	-1.96627;
+     m_EtaROImin[1][21][ 5]=   0.251292;m_EtaROImax[1][21][ 5]=   0.322732;m_PhiROImin[1][21][ 5]=   -2.04983;m_PhiROImax[1][21][ 5]=	-1.96627;
+     m_EtaROImin[1][21][ 6]=   0.200823;m_EtaROImax[1][21][ 6]=   0.248155;m_PhiROImin[1][21][ 6]=   -2.13573;m_PhiROImax[1][21][ 6]=	-2.05344;
+     m_EtaROImin[1][21][ 7]=   0.251292;m_EtaROImax[1][21][ 7]=   0.322732;m_PhiROImin[1][21][ 7]=   -2.13573;m_PhiROImax[1][21][ 7]=	-2.05344;
+     m_EtaROImin[1][21][ 8]=   0.362484;m_EtaROImax[1][21][ 8]=   0.441017;m_PhiROImin[1][21][ 8]=   -2.04536;m_PhiROImax[1][21][ 8]=	-1.96564;
+     m_EtaROImin[1][21][ 9]=   0.439011;m_EtaROImax[1][21][ 9]=    0.51487;m_PhiROImin[1][21][ 9]=   -2.04536;m_PhiROImax[1][21][ 9]=	-1.96564;
+     m_EtaROImin[1][21][10]=   0.362484;m_EtaROImax[1][21][10]=   0.441017;m_PhiROImin[1][21][10]=   -2.12657;m_PhiROImax[1][21][10]=	-2.04792;
+     m_EtaROImin[1][21][11]=   0.439011;m_EtaROImax[1][21][11]=    0.51487;m_PhiROImin[1][21][11]=   -2.12657;m_PhiROImax[1][21][11]=	-2.04792;
+     m_EtaROImin[1][21][12]=   0.470878;m_EtaROImax[1][21][12]=   0.569141;m_PhiROImin[1][21][12]=   -2.05024;m_PhiROImax[1][21][12]=	-1.96629;
+     m_EtaROImin[1][21][13]=   0.566067;m_EtaROImax[1][21][13]=   0.659332;m_PhiROImin[1][21][13]=   -2.05024;m_PhiROImax[1][21][13]=	-1.96629;
+     m_EtaROImin[1][21][14]=   0.470878;m_EtaROImax[1][21][14]=   0.569141;m_PhiROImin[1][21][14]=   -2.13655;m_PhiROImax[1][21][14]=	-2.05387;
+     m_EtaROImin[1][21][15]=   0.566067;m_EtaROImax[1][21][15]=   0.659332;m_PhiROImin[1][21][15]=   -2.13655;m_PhiROImax[1][21][15]=	-2.05387;
+     m_EtaROImin[1][21][16]=   0.622205;m_EtaROImax[1][21][16]=   0.674155;m_PhiROImin[1][21][16]=   -2.04536;m_PhiROImax[1][21][16]=	-1.96564;
+     m_EtaROImin[1][21][17]=   0.671529;m_EtaROImax[1][21][17]=    0.72184;m_PhiROImin[1][21][17]=   -2.04536;m_PhiROImax[1][21][17]=	-1.96564;
+     m_EtaROImin[1][21][18]=   0.622205;m_EtaROImax[1][21][18]=   0.674155;m_PhiROImin[1][21][18]=   -2.12657;m_PhiROImax[1][21][18]=	-2.04792;
+     m_EtaROImin[1][21][19]=   0.671529;m_EtaROImax[1][21][19]=    0.72184;m_PhiROImin[1][21][19]=   -2.12657;m_PhiROImax[1][21][19]=	-2.04792;
+     m_EtaROImin[1][21][20]=   0.744499;m_EtaROImax[1][21][20]=   0.831846;m_PhiROImin[1][21][20]=   -2.04536;m_PhiROImax[1][21][20]=	-1.96564;
+     m_EtaROImin[1][21][21]=   0.833797;m_EtaROImax[1][21][21]=   0.893028;m_PhiROImin[1][21][21]=   -2.04536;m_PhiROImax[1][21][21]=	-1.96564;
+     m_EtaROImin[1][21][22]=   0.744499;m_EtaROImax[1][21][22]=   0.831846;m_PhiROImin[1][21][22]=   -2.12657;m_PhiROImax[1][21][22]=	-2.04792;
+     m_EtaROImin[1][21][23]=   0.833797;m_EtaROImax[1][21][23]=   0.893028;m_PhiROImin[1][21][23]=   -2.12657;m_PhiROImax[1][21][23]=	-2.04792;
+     m_EtaROImin[1][21][24]=   0.788882;m_EtaROImax[1][21][24]=   0.850339;m_PhiROImin[1][21][24]=   -2.05024;m_PhiROImax[1][21][24]=	-1.96629;
+     m_EtaROImin[1][21][25]=   0.846464;m_EtaROImax[1][21][25]=   0.905303;m_PhiROImin[1][21][25]=   -2.05024;m_PhiROImax[1][21][25]=	-1.96629;
+     m_EtaROImin[1][21][26]=   0.788882;m_EtaROImax[1][21][26]=   0.850339;m_PhiROImin[1][21][26]=   -2.13655;m_PhiROImax[1][21][26]=	-2.05387;
+     m_EtaROImin[1][21][27]=   0.846464;m_EtaROImax[1][21][27]=   0.905303;m_PhiROImin[1][21][27]=   -2.13655;m_PhiROImax[1][21][27]=	-2.05387;
+     m_EtaROImin[1][21][28]=   0.911293;m_EtaROImax[1][21][28]=   0.938699;m_PhiROImin[1][21][28]=   -2.03358;m_PhiROImax[1][21][28]=	-1.98444;
+     m_EtaROImin[1][21][29]=   0.940507;m_EtaROImax[1][21][29]=    0.98143;m_PhiROImin[1][21][29]=   -2.03358;m_PhiROImax[1][21][29]=	-1.98444;
+     m_EtaROImin[1][21][30]=   0.911293;m_EtaROImax[1][21][30]=   0.938699;m_PhiROImin[1][21][30]=   -2.12127;m_PhiROImax[1][21][30]=	-2.03635;
+     m_EtaROImin[1][21][31]=   0.940507;m_EtaROImax[1][21][31]=    0.98143;m_PhiROImin[1][21][31]=   -2.12127;m_PhiROImax[1][21][31]=	-2.03635;
+     m_EtaROImin[1][22][ 0]=   0.155043;m_EtaROImax[1][22][ 0]=   0.203032;m_PhiROImin[1][22][ 0]=   -1.96071;m_PhiROImax[1][22][ 0]=	-1.87675;
+     m_EtaROImin[1][22][ 1]=  0.0775634;m_EtaROImax[1][22][ 1]=    0.15183;m_PhiROImin[1][22][ 1]=   -1.96071;m_PhiROImax[1][22][ 1]=	-1.87675;
+     m_EtaROImin[1][22][ 2]=   0.155043;m_EtaROImax[1][22][ 2]=   0.203032;m_PhiROImin[1][22][ 2]=   -1.87312;m_PhiROImax[1][22][ 2]=	-1.79045;
+     m_EtaROImin[1][22][ 3]=  0.0775634;m_EtaROImax[1][22][ 3]=    0.15183;m_PhiROImin[1][22][ 3]=   -1.87312;m_PhiROImax[1][22][ 3]=	-1.79045;
+     m_EtaROImin[1][22][ 4]=   0.276301;m_EtaROImax[1][22][ 4]=   0.322732;m_PhiROImin[1][22][ 4]=   -1.96072;m_PhiROImax[1][22][ 4]=	-1.87716;
+     m_EtaROImin[1][22][ 5]=   0.200823;m_EtaROImax[1][22][ 5]=   0.273184;m_PhiROImin[1][22][ 5]=   -1.96072;m_PhiROImax[1][22][ 5]=	-1.87716;
+     m_EtaROImin[1][22][ 6]=   0.276301;m_EtaROImax[1][22][ 6]=   0.322732;m_PhiROImin[1][22][ 6]=   -1.87355;m_PhiROImax[1][22][ 6]=	-1.79126;
+     m_EtaROImin[1][22][ 7]=   0.200823;m_EtaROImax[1][22][ 7]=   0.273184;m_PhiROImin[1][22][ 7]=   -1.87355;m_PhiROImax[1][22][ 7]=	-1.79126;
+     m_EtaROImin[1][22][ 8]=   0.439011;m_EtaROImax[1][22][ 8]=    0.51487;m_PhiROImin[1][22][ 8]=   -1.96135;m_PhiROImax[1][22][ 8]=	-1.88163;
+     m_EtaROImin[1][22][ 9]=   0.362484;m_EtaROImax[1][22][ 9]=   0.441017;m_PhiROImin[1][22][ 9]=   -1.96135;m_PhiROImax[1][22][ 9]=	-1.88163;
+     m_EtaROImin[1][22][10]=   0.439011;m_EtaROImax[1][22][10]=    0.51487;m_PhiROImin[1][22][10]=   -1.87907;m_PhiROImax[1][22][10]=	-1.80042;
+     m_EtaROImin[1][22][11]=   0.362484;m_EtaROImax[1][22][11]=   0.441017;m_PhiROImin[1][22][11]=   -1.87907;m_PhiROImax[1][22][11]=	-1.80042;
+     m_EtaROImin[1][22][12]=   0.566067;m_EtaROImax[1][22][12]=   0.659332;m_PhiROImin[1][22][12]=   -1.96071;m_PhiROImax[1][22][12]=	-1.87675;
+     m_EtaROImin[1][22][13]=   0.470878;m_EtaROImax[1][22][13]=   0.569141;m_PhiROImin[1][22][13]=   -1.96071;m_PhiROImax[1][22][13]=	-1.87675;
+     m_EtaROImin[1][22][14]=   0.566067;m_EtaROImax[1][22][14]=   0.659332;m_PhiROImin[1][22][14]=   -1.87312;m_PhiROImax[1][22][14]=	-1.79045;
+     m_EtaROImin[1][22][15]=   0.470878;m_EtaROImax[1][22][15]=   0.569141;m_PhiROImin[1][22][15]=   -1.87312;m_PhiROImax[1][22][15]=	-1.79045;
+     m_EtaROImin[1][22][16]=   0.671529;m_EtaROImax[1][22][16]=    0.72184;m_PhiROImin[1][22][16]=   -1.96135;m_PhiROImax[1][22][16]=	-1.88163;
+     m_EtaROImin[1][22][17]=   0.622205;m_EtaROImax[1][22][17]=   0.674155;m_PhiROImin[1][22][17]=   -1.96135;m_PhiROImax[1][22][17]=	-1.88163;
+     m_EtaROImin[1][22][18]=   0.671529;m_EtaROImax[1][22][18]=    0.72184;m_PhiROImin[1][22][18]=   -1.87907;m_PhiROImax[1][22][18]=	-1.80042;
+     m_EtaROImin[1][22][19]=   0.622205;m_EtaROImax[1][22][19]=   0.674155;m_PhiROImin[1][22][19]=   -1.87907;m_PhiROImax[1][22][19]=	-1.80042;
+     m_EtaROImin[1][22][20]=   0.833797;m_EtaROImax[1][22][20]=   0.893028;m_PhiROImin[1][22][20]=   -1.96135;m_PhiROImax[1][22][20]=	-1.88163;
+     m_EtaROImin[1][22][21]=   0.744499;m_EtaROImax[1][22][21]=   0.831846;m_PhiROImin[1][22][21]=   -1.96135;m_PhiROImax[1][22][21]=	-1.88163;
+     m_EtaROImin[1][22][22]=   0.833797;m_EtaROImax[1][22][22]=   0.893028;m_PhiROImin[1][22][22]=   -1.87907;m_PhiROImax[1][22][22]=	-1.80042;
+     m_EtaROImin[1][22][23]=   0.744499;m_EtaROImax[1][22][23]=   0.831846;m_PhiROImin[1][22][23]=   -1.87907;m_PhiROImax[1][22][23]=	-1.80042;
+     m_EtaROImin[1][22][24]=   0.846464;m_EtaROImax[1][22][24]=   0.905303;m_PhiROImin[1][22][24]=   -1.96071;m_PhiROImax[1][22][24]=	-1.87675;
+     m_EtaROImin[1][22][25]=   0.788882;m_EtaROImax[1][22][25]=   0.850339;m_PhiROImin[1][22][25]=   -1.96071;m_PhiROImax[1][22][25]=	-1.87675;
+     m_EtaROImin[1][22][26]=   0.846464;m_EtaROImax[1][22][26]=   0.905303;m_PhiROImin[1][22][26]=   -1.87312;m_PhiROImax[1][22][26]=	-1.79045;
+     m_EtaROImin[1][22][27]=   0.788882;m_EtaROImax[1][22][27]=   0.850339;m_PhiROImin[1][22][27]=   -1.87312;m_PhiROImax[1][22][27]=	-1.79045;
+     m_EtaROImin[1][22][28]=   0.957137;m_EtaROImax[1][22][28]=   0.983719;m_PhiROImin[1][22][28]=   -1.97686;m_PhiROImax[1][22][28]=	-1.89087;
+     m_EtaROImin[1][22][29]=   0.913486;m_EtaROImax[1][22][29]=   0.955345;m_PhiROImin[1][22][29]=   -1.97686;m_PhiROImax[1][22][29]=	-1.89087;
+     m_EtaROImin[1][22][30]=   0.957137;m_EtaROImax[1][22][30]=   0.983719;m_PhiROImin[1][22][30]=   -1.98444;m_PhiROImax[1][22][30]=	-1.88811;
+     m_EtaROImin[1][22][31]=   0.913486;m_EtaROImax[1][22][31]=   0.955345;m_PhiROImin[1][22][31]=   -1.98444;m_PhiROImax[1][22][31]=	-1.88811;
+     m_EtaROImin[1][23][ 0]=  0.0552456;m_EtaROImax[1][23][ 0]=   0.147216;m_PhiROImin[1][23][ 0]=   -1.68341;m_PhiROImax[1][23][ 0]=	-1.57375;
+     m_EtaROImin[1][23][ 1]=    0.14708;m_EtaROImax[1][23][ 1]=   0.238313;m_PhiROImin[1][23][ 1]=   -1.68341;m_PhiROImax[1][23][ 1]=	-1.57375;
+     m_EtaROImin[1][23][ 2]=  0.0552456;m_EtaROImax[1][23][ 2]=   0.147216;m_PhiROImin[1][23][ 2]=   -1.79381;m_PhiROImax[1][23][ 2]=	-1.68692;
+     m_EtaROImin[1][23][ 3]=    0.14708;m_EtaROImax[1][23][ 3]=   0.238313;m_PhiROImin[1][23][ 3]=   -1.79381;m_PhiROImax[1][23][ 3]=	-1.68692;
+     m_EtaROImin[1][23][ 4]=   0.246207;m_EtaROImax[1][23][ 4]=    0.35049;m_PhiROImin[1][23][ 4]=   -1.68341;m_PhiROImax[1][23][ 4]=	-1.57375;
+     m_EtaROImin[1][23][ 5]=   0.350831;m_EtaROImax[1][23][ 5]=   0.452099;m_PhiROImin[1][23][ 5]=   -1.68341;m_PhiROImax[1][23][ 5]=	-1.57375;
+     m_EtaROImin[1][23][ 6]=   0.246207;m_EtaROImax[1][23][ 6]=    0.35049;m_PhiROImin[1][23][ 6]=   -1.79381;m_PhiROImax[1][23][ 6]=	-1.68692;
+     m_EtaROImin[1][23][ 7]=   0.350831;m_EtaROImax[1][23][ 7]=   0.452099;m_PhiROImin[1][23][ 7]=   -1.79381;m_PhiROImax[1][23][ 7]=	-1.68692;
+     m_EtaROImin[1][23][ 8]=   0.458091;m_EtaROImax[1][23][ 8]=   0.554444;m_PhiROImin[1][23][ 8]=   -1.68341;m_PhiROImax[1][23][ 8]=	-1.57375;
+     m_EtaROImin[1][23][ 9]=   0.555789;m_EtaROImax[1][23][ 9]=   0.648101;m_PhiROImin[1][23][ 9]=   -1.68341;m_PhiROImax[1][23][ 9]=	-1.57375;
+     m_EtaROImin[1][23][10]=   0.458091;m_EtaROImax[1][23][10]=   0.554444;m_PhiROImin[1][23][10]=   -1.79381;m_PhiROImax[1][23][10]=	-1.68692;
+     m_EtaROImin[1][23][11]=   0.555789;m_EtaROImax[1][23][11]=   0.648101;m_PhiROImin[1][23][11]=   -1.79381;m_PhiROImax[1][23][11]=	-1.68692;
+     m_EtaROImin[1][23][12]=   0.677222;m_EtaROImax[1][23][12]=   0.720119;m_PhiROImin[1][23][12]=   -1.62692;m_PhiROImax[1][23][12]=	 -1.5708;
+     m_EtaROImin[1][23][13]=    0.72294;m_EtaROImax[1][23][13]=   0.786462;m_PhiROImin[1][23][13]=   -1.62692;m_PhiROImax[1][23][13]=	 -1.5708;
+     m_EtaROImin[1][23][14]=   0.677222;m_EtaROImax[1][23][14]=   0.720119;m_PhiROImin[1][23][14]=   -1.69744;m_PhiROImax[1][23][14]=	-1.63046;
+     m_EtaROImin[1][23][15]=    0.72294;m_EtaROImax[1][23][15]=   0.786462;m_PhiROImin[1][23][15]=   -1.69744;m_PhiROImax[1][23][15]=	-1.63046;
+     m_EtaROImin[1][23][16]=   0.783867;m_EtaROImax[1][23][16]=    0.82768;m_PhiROImin[1][23][16]=   -1.68401;m_PhiROImax[1][23][16]=	-1.57376;
+     m_EtaROImin[1][23][17]=   0.830556;m_EtaROImax[1][23][17]=   0.895163;m_PhiROImin[1][23][17]=   -1.68401;m_PhiROImax[1][23][17]=	-1.57376;
+     m_EtaROImin[1][23][18]=   0.783867;m_EtaROImax[1][23][18]=    0.82768;m_PhiROImin[1][23][18]=   -1.79497;m_PhiROImax[1][23][18]=	-1.68753;
+     m_EtaROImin[1][23][19]=   0.830556;m_EtaROImax[1][23][19]=   0.895163;m_PhiROImin[1][23][19]=   -1.79497;m_PhiROImax[1][23][19]=	-1.68753;
+     m_EtaROImin[1][23][20]=   0.898201;m_EtaROImax[1][23][20]=   0.961344;m_PhiROImin[1][23][20]=   -1.68341;m_PhiROImax[1][23][20]=	-1.57375;
+     m_EtaROImin[1][23][21]=   0.964674;m_EtaROImax[1][23][21]=    1.02514;m_PhiROImin[1][23][21]=   -1.68341;m_PhiROImax[1][23][21]=	-1.57375;
+     m_EtaROImin[1][23][22]=   0.898201;m_EtaROImax[1][23][22]=   0.961344;m_PhiROImin[1][23][22]=   -1.79381;m_PhiROImax[1][23][22]=	-1.68692;
+     m_EtaROImin[1][23][23]=   0.964674;m_EtaROImax[1][23][23]=    1.02514;m_PhiROImin[1][23][23]=   -1.79381;m_PhiROImax[1][23][23]=	-1.68692;
+     m_EtaROImin[1][23][24]=    1.03003;m_EtaROImax[1][23][24]=    1.06547;m_PhiROImin[1][23][24]=   -1.68423;m_PhiROImax[1][23][24]=	-1.57387;
+     m_EtaROImin[1][23][25]=	    0;m_EtaROImax[1][23][25]=	     0;m_PhiROImin[1][23][25]=	      0;m_PhiROImax[1][23][25]=	       0;
+     m_EtaROImin[1][23][26]=    1.03003;m_EtaROImax[1][23][26]=    1.06547;m_PhiROImin[1][23][26]=   -1.76794;m_PhiROImax[1][23][26]=	-1.68775;
+     m_EtaROImin[1][23][27]=	    0;m_EtaROImax[1][23][27]=	     0;m_PhiROImin[1][23][27]=	      0;m_PhiROImax[1][23][27]=	       0;
+     m_EtaROImin[1][23][28]=	    0;m_EtaROImax[1][23][28]=	     0;m_PhiROImin[1][23][28]=	      0;m_PhiROImax[1][23][28]=	       0;
+     m_EtaROImin[1][23][29]=	    0;m_EtaROImax[1][23][29]=	     0;m_PhiROImin[1][23][29]=	      0;m_PhiROImax[1][23][29]=	       0;
+     m_EtaROImin[1][23][30]=	    0;m_EtaROImax[1][23][30]=	     0;m_PhiROImin[1][23][30]=	      0;m_PhiROImax[1][23][30]=	       0;
+     m_EtaROImin[1][23][31]=	    0;m_EtaROImax[1][23][31]=	     0;m_PhiROImin[1][23][31]=	      0;m_PhiROImax[1][23][31]=	       0;
+     m_EtaROImin[1][24][ 0]=    0.14708;m_EtaROImax[1][24][ 0]=   0.238313;m_PhiROImin[1][24][ 0]=   -1.56784;m_PhiROImax[1][24][ 0]=	-1.45818;
+     m_EtaROImin[1][24][ 1]=  0.0552456;m_EtaROImax[1][24][ 1]=   0.147216;m_PhiROImin[1][24][ 1]=   -1.56784;m_PhiROImax[1][24][ 1]=	-1.45818;
+     m_EtaROImin[1][24][ 2]=    0.14708;m_EtaROImax[1][24][ 2]=   0.238313;m_PhiROImin[1][24][ 2]=   -1.45468;m_PhiROImax[1][24][ 2]=	-1.34779;
+     m_EtaROImin[1][24][ 3]=  0.0552456;m_EtaROImax[1][24][ 3]=   0.147216;m_PhiROImin[1][24][ 3]=   -1.45468;m_PhiROImax[1][24][ 3]=	-1.34779;
+     m_EtaROImin[1][24][ 4]=   0.350831;m_EtaROImax[1][24][ 4]=   0.452099;m_PhiROImin[1][24][ 4]=   -1.56784;m_PhiROImax[1][24][ 4]=	-1.45818;
+     m_EtaROImin[1][24][ 5]=   0.246207;m_EtaROImax[1][24][ 5]=    0.35049;m_PhiROImin[1][24][ 5]=   -1.56784;m_PhiROImax[1][24][ 5]=	-1.45818;
+     m_EtaROImin[1][24][ 6]=   0.350831;m_EtaROImax[1][24][ 6]=   0.452099;m_PhiROImin[1][24][ 6]=   -1.45468;m_PhiROImax[1][24][ 6]=	-1.34779;
+     m_EtaROImin[1][24][ 7]=   0.246207;m_EtaROImax[1][24][ 7]=    0.35049;m_PhiROImin[1][24][ 7]=   -1.45468;m_PhiROImax[1][24][ 7]=	-1.34779;
+     m_EtaROImin[1][24][ 8]=   0.555789;m_EtaROImax[1][24][ 8]=   0.648101;m_PhiROImin[1][24][ 8]=   -1.56784;m_PhiROImax[1][24][ 8]=	-1.45818;
+     m_EtaROImin[1][24][ 9]=   0.458091;m_EtaROImax[1][24][ 9]=   0.554444;m_PhiROImin[1][24][ 9]=   -1.56784;m_PhiROImax[1][24][ 9]=	-1.45818;
+     m_EtaROImin[1][24][10]=   0.555789;m_EtaROImax[1][24][10]=   0.648101;m_PhiROImin[1][24][10]=   -1.45468;m_PhiROImax[1][24][10]=	-1.34779;
+     m_EtaROImin[1][24][11]=   0.458091;m_EtaROImax[1][24][11]=   0.554444;m_PhiROImin[1][24][11]=   -1.45468;m_PhiROImax[1][24][11]=	-1.34779;
+     m_EtaROImin[1][24][12]=   0.745327;m_EtaROImax[1][24][12]=   0.786462;m_PhiROImin[1][24][12]=   -1.56798;m_PhiROImax[1][24][12]=	 -1.5005;
+     m_EtaROImin[1][24][13]=   0.677222;m_EtaROImax[1][24][13]=   0.742545;m_PhiROImin[1][24][13]=   -1.56798;m_PhiROImax[1][24][13]=	 -1.5005;
+     m_EtaROImin[1][24][14]=   0.745327;m_EtaROImax[1][24][14]=   0.786462;m_PhiROImin[1][24][14]=	-1.5708;m_PhiROImax[1][24][14]=	-1.49696;
+     m_EtaROImin[1][24][15]=   0.677222;m_EtaROImax[1][24][15]=   0.742545;m_PhiROImin[1][24][15]=	-1.5708;m_PhiROImax[1][24][15]=	-1.49696;
+     m_EtaROImin[1][24][16]=   0.853359;m_EtaROImax[1][24][16]=   0.895163;m_PhiROImin[1][24][16]=   -1.56783;m_PhiROImax[1][24][16]=	-1.45758;
+     m_EtaROImin[1][24][17]=   0.783867;m_EtaROImax[1][24][17]=   0.850528;m_PhiROImin[1][24][17]=   -1.56783;m_PhiROImax[1][24][17]=	-1.45758;
+     m_EtaROImin[1][24][18]=   0.853359;m_EtaROImax[1][24][18]=   0.895163;m_PhiROImin[1][24][18]=   -1.45406;m_PhiROImax[1][24][18]=	-1.34663;
+     m_EtaROImin[1][24][19]=   0.783867;m_EtaROImax[1][24][19]=   0.850528;m_PhiROImin[1][24][19]=   -1.45406;m_PhiROImax[1][24][19]=	-1.34663;
+     m_EtaROImin[1][24][20]=   0.964674;m_EtaROImax[1][24][20]=    1.02514;m_PhiROImin[1][24][20]=   -1.56784;m_PhiROImax[1][24][20]=	-1.45818;
+     m_EtaROImin[1][24][21]=   0.898201;m_EtaROImax[1][24][21]=   0.961344;m_PhiROImin[1][24][21]=   -1.56784;m_PhiROImax[1][24][21]=	-1.45818;
+     m_EtaROImin[1][24][22]=   0.964674;m_EtaROImax[1][24][22]=    1.02514;m_PhiROImin[1][24][22]=   -1.45468;m_PhiROImax[1][24][22]=	-1.34779;
+     m_EtaROImin[1][24][23]=   0.898201;m_EtaROImax[1][24][23]=   0.961344;m_PhiROImin[1][24][23]=   -1.45468;m_PhiROImax[1][24][23]=	-1.34779;
+     m_EtaROImin[1][24][24]=	    0;m_EtaROImax[1][24][24]=	     0;m_PhiROImin[1][24][24]=	      0;m_PhiROImax[1][24][24]=	       0;
+     m_EtaROImin[1][24][25]=    1.03003;m_EtaROImax[1][24][25]=    1.06547;m_PhiROImin[1][24][25]=   -1.56773;m_PhiROImax[1][24][25]=	-1.45737;
+     m_EtaROImin[1][24][26]=	    0;m_EtaROImax[1][24][26]=	     0;m_PhiROImin[1][24][26]=	      0;m_PhiROImax[1][24][26]=	       0;
+     m_EtaROImin[1][24][27]=    1.03003;m_EtaROImax[1][24][27]=    1.06547;m_PhiROImin[1][24][27]=   -1.45384;m_PhiROImax[1][24][27]=	-1.37365;
+     m_EtaROImin[1][24][28]=	    0;m_EtaROImax[1][24][28]=	     0;m_PhiROImin[1][24][28]=	      0;m_PhiROImax[1][24][28]=	       0;
+     m_EtaROImin[1][24][29]=	    0;m_EtaROImax[1][24][29]=	     0;m_PhiROImin[1][24][29]=	      0;m_PhiROImax[1][24][29]=	       0;
+     m_EtaROImin[1][24][30]=	    0;m_EtaROImax[1][24][30]=	     0;m_PhiROImin[1][24][30]=	      0;m_PhiROImax[1][24][30]=	       0;
+     m_EtaROImin[1][24][31]=	    0;m_EtaROImax[1][24][31]=	     0;m_PhiROImin[1][24][31]=	      0;m_PhiROImax[1][24][31]=	       0;
+     m_EtaROImin[1][25][ 0]=  0.0775634;m_EtaROImax[1][25][ 0]=   0.126072;m_PhiROImin[1][25][ 0]=   -1.26484;m_PhiROImax[1][25][ 0]=	-1.18089;
+     m_EtaROImin[1][25][ 1]=   0.129296;m_EtaROImax[1][25][ 1]=   0.203032;m_PhiROImin[1][25][ 1]=   -1.26484;m_PhiROImax[1][25][ 1]=	-1.18089;
+     m_EtaROImin[1][25][ 2]=  0.0775634;m_EtaROImax[1][25][ 2]=   0.126072;m_PhiROImin[1][25][ 2]=   -1.35115;m_PhiROImax[1][25][ 2]=	-1.26847;
+     m_EtaROImin[1][25][ 3]=   0.129296;m_EtaROImax[1][25][ 3]=   0.203032;m_PhiROImin[1][25][ 3]=   -1.35115;m_PhiROImax[1][25][ 3]=	-1.26847;
+     m_EtaROImin[1][25][ 4]=   0.200823;m_EtaROImax[1][25][ 4]=   0.248155;m_PhiROImin[1][25][ 4]=   -1.26443;m_PhiROImax[1][25][ 4]=	-1.18087;
+     m_EtaROImin[1][25][ 5]=   0.251292;m_EtaROImax[1][25][ 5]=   0.322732;m_PhiROImin[1][25][ 5]=   -1.26443;m_PhiROImax[1][25][ 5]=	-1.18087;
+     m_EtaROImin[1][25][ 6]=   0.200823;m_EtaROImax[1][25][ 6]=   0.248155;m_PhiROImin[1][25][ 6]=   -1.35034;m_PhiROImax[1][25][ 6]=	-1.26804;
+     m_EtaROImin[1][25][ 7]=   0.251292;m_EtaROImax[1][25][ 7]=   0.322732;m_PhiROImin[1][25][ 7]=   -1.35034;m_PhiROImax[1][25][ 7]=	-1.26804;
+     m_EtaROImin[1][25][ 8]=   0.361231;m_EtaROImax[1][25][ 8]=   0.439522;m_PhiROImin[1][25][ 8]=   -1.25967;m_PhiROImax[1][25][ 8]=	-1.18023;
+     m_EtaROImin[1][25][ 9]=   0.440504;m_EtaROImax[1][25][ 9]=   0.516583;m_PhiROImin[1][25][ 9]=   -1.25967;m_PhiROImax[1][25][ 9]=	-1.18023;
+     m_EtaROImin[1][25][10]=   0.361231;m_EtaROImax[1][25][10]=   0.439522;m_PhiROImin[1][25][10]=   -1.34059;m_PhiROImax[1][25][10]=	-1.26222;
+     m_EtaROImin[1][25][11]=   0.440504;m_EtaROImax[1][25][11]=   0.516583;m_PhiROImin[1][25][11]=   -1.34059;m_PhiROImax[1][25][11]=	-1.26222;
+     m_EtaROImin[1][25][12]=   0.470878;m_EtaROImax[1][25][12]=   0.569141;m_PhiROImin[1][25][12]=   -1.26484;m_PhiROImax[1][25][12]=	-1.18089;
+     m_EtaROImin[1][25][13]=   0.566067;m_EtaROImax[1][25][13]=   0.659332;m_PhiROImin[1][25][13]=   -1.26484;m_PhiROImax[1][25][13]=	-1.18089;
+     m_EtaROImin[1][25][14]=   0.470878;m_EtaROImax[1][25][14]=   0.569141;m_PhiROImin[1][25][14]=   -1.35115;m_PhiROImax[1][25][14]=	-1.26847;
+     m_EtaROImin[1][25][15]=   0.566067;m_EtaROImax[1][25][15]=   0.659332;m_PhiROImin[1][25][15]=   -1.35115;m_PhiROImax[1][25][15]=	-1.26847;
+     m_EtaROImin[1][25][16]=   0.620212;m_EtaROImax[1][25][16]=   0.672035;m_PhiROImin[1][25][16]=   -1.25967;m_PhiROImax[1][25][16]=	-1.18023;
+     m_EtaROImin[1][25][17]=   0.673648;m_EtaROImax[1][25][17]=   0.724075;m_PhiROImin[1][25][17]=   -1.25967;m_PhiROImax[1][25][17]=	-1.18023;
+     m_EtaROImin[1][25][18]=   0.620212;m_EtaROImax[1][25][18]=   0.672035;m_PhiROImin[1][25][18]=   -1.34059;m_PhiROImax[1][25][18]=	-1.26222;
+     m_EtaROImin[1][25][19]=   0.673648;m_EtaROImax[1][25][19]=   0.724075;m_PhiROImin[1][25][19]=   -1.34059;m_PhiROImax[1][25][19]=	-1.26222;
+     m_EtaROImin[1][25][20]=   0.744499;m_EtaROImax[1][25][20]=   0.831846;m_PhiROImin[1][25][20]=   -1.25997;m_PhiROImax[1][25][20]=	-1.18024;
+     m_EtaROImin[1][25][21]=   0.833797;m_EtaROImax[1][25][21]=   0.893028;m_PhiROImin[1][25][21]=   -1.25997;m_PhiROImax[1][25][21]=	-1.18024;
+     m_EtaROImin[1][25][22]=   0.744499;m_EtaROImax[1][25][22]=   0.831846;m_PhiROImin[1][25][22]=   -1.34117;m_PhiROImax[1][25][22]=	-1.26253;
+     m_EtaROImin[1][25][23]=   0.833797;m_EtaROImax[1][25][23]=   0.893028;m_PhiROImin[1][25][23]=   -1.34117;m_PhiROImax[1][25][23]=	-1.26253;
+     m_EtaROImin[1][25][24]=   0.788882;m_EtaROImax[1][25][24]=   0.850339;m_PhiROImin[1][25][24]=   -1.26484;m_PhiROImax[1][25][24]=	-1.18089;
+     m_EtaROImin[1][25][25]=   0.846464;m_EtaROImax[1][25][25]=   0.905303;m_PhiROImin[1][25][25]=   -1.26484;m_PhiROImax[1][25][25]=	-1.18089;
+     m_EtaROImin[1][25][26]=   0.788882;m_EtaROImax[1][25][26]=   0.850339;m_PhiROImin[1][25][26]=   -1.35115;m_PhiROImax[1][25][26]=	-1.26847;
+     m_EtaROImin[1][25][27]=   0.846464;m_EtaROImax[1][25][27]=   0.905303;m_PhiROImin[1][25][27]=   -1.35115;m_PhiROImax[1][25][27]=	-1.26847;
+     m_EtaROImin[1][25][28]=   0.914143;m_EtaROImax[1][25][28]=	0.9416;m_PhiROImin[1][25][28]=   -1.20642;m_PhiROImax[1][25][28]=	-1.15713;
+     m_EtaROImin[1][25][29]=   0.943411;m_EtaROImax[1][25][29]=   0.984405;m_PhiROImin[1][25][29]=   -1.20642;m_PhiROImax[1][25][29]=	-1.15713;
+     m_EtaROImin[1][25][30]=   0.914143;m_EtaROImax[1][25][30]=	0.9416;m_PhiROImin[1][25][30]=   -1.29487;m_PhiROImax[1][25][30]=	 -1.2092;
+     m_EtaROImin[1][25][31]=   0.943411;m_EtaROImax[1][25][31]=   0.984405;m_PhiROImin[1][25][31]=   -1.29487;m_PhiROImax[1][25][31]=	 -1.2092;
+     m_EtaROImin[1][26][ 0]=   0.155043;m_EtaROImax[1][26][ 0]=   0.203032;m_PhiROImin[1][26][ 0]=   -1.17531;m_PhiROImax[1][26][ 0]=	-1.09135;
+     m_EtaROImin[1][26][ 1]=  0.0775634;m_EtaROImax[1][26][ 1]=    0.15183;m_PhiROImin[1][26][ 1]=   -1.17531;m_PhiROImax[1][26][ 1]=	-1.09135;
+     m_EtaROImin[1][26][ 2]=   0.155043;m_EtaROImax[1][26][ 2]=   0.203032;m_PhiROImin[1][26][ 2]=   -1.08772;m_PhiROImax[1][26][ 2]=	-1.00505;
+     m_EtaROImin[1][26][ 3]=  0.0775634;m_EtaROImax[1][26][ 3]=    0.15183;m_PhiROImin[1][26][ 3]=   -1.08772;m_PhiROImax[1][26][ 3]=	-1.00505;
+     m_EtaROImin[1][26][ 4]=   0.276301;m_EtaROImax[1][26][ 4]=   0.322732;m_PhiROImin[1][26][ 4]=   -1.17532;m_PhiROImax[1][26][ 4]=	-1.09176;
+     m_EtaROImin[1][26][ 5]=   0.200823;m_EtaROImax[1][26][ 5]=   0.273184;m_PhiROImin[1][26][ 5]=   -1.17532;m_PhiROImax[1][26][ 5]=	-1.09176;
+     m_EtaROImin[1][26][ 6]=   0.276301;m_EtaROImax[1][26][ 6]=   0.322732;m_PhiROImin[1][26][ 6]=   -1.08815;m_PhiROImax[1][26][ 6]=	-1.00586;
+     m_EtaROImin[1][26][ 7]=   0.200823;m_EtaROImax[1][26][ 7]=   0.273184;m_PhiROImin[1][26][ 7]=   -1.08815;m_PhiROImax[1][26][ 7]=	-1.00586;
+     m_EtaROImin[1][26][ 8]=   0.440504;m_EtaROImax[1][26][ 8]=   0.516583;m_PhiROImin[1][26][ 8]=   -1.17596;m_PhiROImax[1][26][ 8]=	-1.09652;
+     m_EtaROImin[1][26][ 9]=   0.361231;m_EtaROImax[1][26][ 9]=   0.439522;m_PhiROImin[1][26][ 9]=   -1.17596;m_PhiROImax[1][26][ 9]=	-1.09652;
+     m_EtaROImin[1][26][10]=   0.440504;m_EtaROImax[1][26][10]=   0.516583;m_PhiROImin[1][26][10]=   -1.09397;m_PhiROImax[1][26][10]=	 -1.0156;
+     m_EtaROImin[1][26][11]=   0.361231;m_EtaROImax[1][26][11]=   0.439522;m_PhiROImin[1][26][11]=   -1.09397;m_PhiROImax[1][26][11]=	 -1.0156;
+     m_EtaROImin[1][26][12]=   0.566067;m_EtaROImax[1][26][12]=   0.659332;m_PhiROImin[1][26][12]=   -1.17531;m_PhiROImax[1][26][12]=	-1.09135;
+     m_EtaROImin[1][26][13]=   0.470878;m_EtaROImax[1][26][13]=   0.569141;m_PhiROImin[1][26][13]=   -1.17531;m_PhiROImax[1][26][13]=	-1.09135;
+     m_EtaROImin[1][26][14]=   0.566067;m_EtaROImax[1][26][14]=   0.659332;m_PhiROImin[1][26][14]=   -1.08772;m_PhiROImax[1][26][14]=	-1.00505;
+     m_EtaROImin[1][26][15]=   0.470878;m_EtaROImax[1][26][15]=   0.569141;m_PhiROImin[1][26][15]=   -1.08772;m_PhiROImax[1][26][15]=	-1.00505;
+     m_EtaROImin[1][26][16]=   0.673648;m_EtaROImax[1][26][16]=   0.724075;m_PhiROImin[1][26][16]=   -1.17596;m_PhiROImax[1][26][16]=	-1.09652;
+     m_EtaROImin[1][26][17]=   0.620212;m_EtaROImax[1][26][17]=   0.672035;m_PhiROImin[1][26][17]=   -1.17596;m_PhiROImax[1][26][17]=	-1.09652;
+     m_EtaROImin[1][26][18]=   0.673648;m_EtaROImax[1][26][18]=   0.724075;m_PhiROImin[1][26][18]=   -1.09397;m_PhiROImax[1][26][18]=	 -1.0156;
+     m_EtaROImin[1][26][19]=   0.620212;m_EtaROImax[1][26][19]=   0.672035;m_PhiROImin[1][26][19]=   -1.09397;m_PhiROImax[1][26][19]=	 -1.0156;
+     m_EtaROImin[1][26][20]=   0.833797;m_EtaROImax[1][26][20]=   0.893028;m_PhiROImin[1][26][20]=   -1.17595;m_PhiROImax[1][26][20]=	-1.09623;
+     m_EtaROImin[1][26][21]=   0.744499;m_EtaROImax[1][26][21]=   0.831846;m_PhiROImin[1][26][21]=   -1.17595;m_PhiROImax[1][26][21]=	-1.09623;
+     m_EtaROImin[1][26][22]=   0.833797;m_EtaROImax[1][26][22]=   0.893028;m_PhiROImin[1][26][22]=   -1.09367;m_PhiROImax[1][26][22]=	-1.01502;
+     m_EtaROImin[1][26][23]=   0.744499;m_EtaROImax[1][26][23]=   0.831846;m_PhiROImin[1][26][23]=   -1.09367;m_PhiROImax[1][26][23]=	-1.01502;
+     m_EtaROImin[1][26][24]=   0.846464;m_EtaROImax[1][26][24]=   0.905303;m_PhiROImin[1][26][24]=   -1.17531;m_PhiROImax[1][26][24]=	-1.09135;
+     m_EtaROImin[1][26][25]=   0.788882;m_EtaROImax[1][26][25]=   0.850339;m_PhiROImin[1][26][25]=   -1.17531;m_PhiROImax[1][26][25]=	-1.09135;
+     m_EtaROImin[1][26][26]=   0.846464;m_EtaROImax[1][26][26]=   0.905303;m_PhiROImin[1][26][26]=   -1.08772;m_PhiROImax[1][26][26]=	-1.00505;
+     m_EtaROImin[1][26][27]=   0.788882;m_EtaROImax[1][26][27]=   0.850339;m_PhiROImin[1][26][27]=   -1.08772;m_PhiROImax[1][26][27]=	-1.00505;
+     m_EtaROImin[1][26][28]=   0.955553;m_EtaROImax[1][26][28]=    0.98211;m_PhiROImin[1][26][28]=   -1.14955;m_PhiROImax[1][26][28]=	-1.06384;
+     m_EtaROImin[1][26][29]=   0.911945;m_EtaROImax[1][26][29]=   0.953764;m_PhiROImin[1][26][29]=   -1.14955;m_PhiROImax[1][26][29]=	-1.06384;
+     m_EtaROImin[1][26][30]=   0.955553;m_EtaROImax[1][26][30]=    0.98211;m_PhiROImin[1][26][30]=   -1.15713;m_PhiROImax[1][26][30]=	 -1.0611;
+     m_EtaROImin[1][26][31]=   0.911945;m_EtaROImax[1][26][31]=   0.953764;m_PhiROImin[1][26][31]=   -1.15713;m_PhiROImax[1][26][31]=	 -1.0611;
+     m_EtaROImin[1][27][ 0]=  0.0874905;m_EtaROImax[1][27][ 0]=   0.145912;m_PhiROImin[1][27][ 0]=   -0.89861;m_PhiROImax[1][27][ 0]=  -0.788366;
+     m_EtaROImin[1][27][ 1]=   0.149792;m_EtaROImax[1][27][ 1]=   0.238294;m_PhiROImin[1][27][ 1]=   -0.89861;m_PhiROImax[1][27][ 1]=  -0.788366;
+     m_EtaROImin[1][27][ 2]=  0.0874905;m_EtaROImax[1][27][ 2]=   0.145912;m_PhiROImin[1][27][ 2]=   -1.00957;m_PhiROImax[1][27][ 2]=  -0.902135;
+     m_EtaROImin[1][27][ 3]=   0.149792;m_EtaROImax[1][27][ 3]=   0.238294;m_PhiROImin[1][27][ 3]=   -1.00957;m_PhiROImax[1][27][ 3]=  -0.902135;
+     m_EtaROImin[1][27][ 4]=   0.246207;m_EtaROImax[1][27][ 4]=    0.35049;m_PhiROImin[1][27][ 4]=  -0.898011;m_PhiROImax[1][27][ 4]=	-0.78835;
+     m_EtaROImin[1][27][ 5]=   0.350831;m_EtaROImax[1][27][ 5]=   0.452099;m_PhiROImin[1][27][ 5]=  -0.898011;m_PhiROImax[1][27][ 5]=	-0.78835;
+     m_EtaROImin[1][27][ 6]=   0.246207;m_EtaROImax[1][27][ 6]=    0.35049;m_PhiROImin[1][27][ 6]=   -1.00841;m_PhiROImax[1][27][ 6]=  -0.901517;
+     m_EtaROImin[1][27][ 7]=   0.350831;m_EtaROImax[1][27][ 7]=   0.452099;m_PhiROImin[1][27][ 7]=   -1.00841;m_PhiROImax[1][27][ 7]=  -0.901517;
+     m_EtaROImin[1][27][ 8]=   0.458091;m_EtaROImax[1][27][ 8]=   0.554444;m_PhiROImin[1][27][ 8]=  -0.898011;m_PhiROImax[1][27][ 8]=	-0.78835;
+     m_EtaROImin[1][27][ 9]=   0.555789;m_EtaROImax[1][27][ 9]=   0.648101;m_PhiROImin[1][27][ 9]=  -0.898011;m_PhiROImax[1][27][ 9]=	-0.78835;
+     m_EtaROImin[1][27][10]=   0.458091;m_EtaROImax[1][27][10]=   0.554444;m_PhiROImin[1][27][10]=   -1.00841;m_PhiROImax[1][27][10]=  -0.901517;
+     m_EtaROImin[1][27][11]=   0.555789;m_EtaROImax[1][27][11]=   0.648101;m_PhiROImin[1][27][11]=   -1.00841;m_PhiROImax[1][27][11]=  -0.901517;
+     m_EtaROImin[1][27][12]=   0.655857;m_EtaROImax[1][27][12]=   0.703298;m_PhiROImin[1][27][12]=   -0.89861;m_PhiROImax[1][27][12]=  -0.788366;
+     m_EtaROImin[1][27][13]=   0.706413;m_EtaROImax[1][27][13]=   0.776449;m_PhiROImin[1][27][13]=   -0.89861;m_PhiROImax[1][27][13]=  -0.788366;
+     m_EtaROImin[1][27][14]=   0.655857;m_EtaROImax[1][27][14]=   0.703298;m_PhiROImin[1][27][14]=   -1.00957;m_PhiROImax[1][27][14]=  -0.902135;
+     m_EtaROImin[1][27][15]=   0.706413;m_EtaROImax[1][27][15]=   0.776449;m_PhiROImin[1][27][15]=   -1.00957;m_PhiROImax[1][27][15]=  -0.902135;
+     m_EtaROImin[1][27][16]=   0.783867;m_EtaROImax[1][27][16]=    0.82768;m_PhiROImin[1][27][16]=   -0.89861;m_PhiROImax[1][27][16]=  -0.788366;
+     m_EtaROImin[1][27][17]=   0.830556;m_EtaROImax[1][27][17]=   0.895163;m_PhiROImin[1][27][17]=   -0.89861;m_PhiROImax[1][27][17]=  -0.788366;
+     m_EtaROImin[1][27][18]=   0.783867;m_EtaROImax[1][27][18]=    0.82768;m_PhiROImin[1][27][18]=   -1.00957;m_PhiROImax[1][27][18]=  -0.902135;
+     m_EtaROImin[1][27][19]=   0.830556;m_EtaROImax[1][27][19]=   0.895163;m_PhiROImin[1][27][19]=   -1.00957;m_PhiROImax[1][27][19]=  -0.902135;
+     m_EtaROImin[1][27][20]=   0.898201;m_EtaROImax[1][27][20]=   0.961344;m_PhiROImin[1][27][20]=  -0.898011;m_PhiROImax[1][27][20]=	-0.78835;
+     m_EtaROImin[1][27][21]=   0.964674;m_EtaROImax[1][27][21]=    1.02514;m_PhiROImin[1][27][21]=  -0.898011;m_PhiROImax[1][27][21]=	-0.78835;
+     m_EtaROImin[1][27][22]=   0.898201;m_EtaROImax[1][27][22]=   0.961344;m_PhiROImin[1][27][22]=   -1.00841;m_PhiROImax[1][27][22]=  -0.901517;
+     m_EtaROImin[1][27][23]=   0.964674;m_EtaROImax[1][27][23]=    1.02514;m_PhiROImin[1][27][23]=   -1.00841;m_PhiROImax[1][27][23]=  -0.901517;
+     m_EtaROImin[1][27][24]=    1.03003;m_EtaROImax[1][27][24]=    1.06547;m_PhiROImin[1][27][24]=  -0.898827;m_PhiROImax[1][27][24]=  -0.788467;
+     m_EtaROImin[1][27][25]=	    0;m_EtaROImax[1][27][25]=	     0;m_PhiROImin[1][27][25]=	      0;m_PhiROImax[1][27][25]=	       0;
+     m_EtaROImin[1][27][26]=    1.03003;m_EtaROImax[1][27][26]=    1.06547;m_PhiROImin[1][27][26]=  -0.982541;m_PhiROImax[1][27][26]=  -0.902356;
+     m_EtaROImin[1][27][27]=	    0;m_EtaROImax[1][27][27]=	     0;m_PhiROImin[1][27][27]=	      0;m_PhiROImax[1][27][27]=	       0;
+     m_EtaROImin[1][27][28]=	    0;m_EtaROImax[1][27][28]=	     0;m_PhiROImin[1][27][28]=	      0;m_PhiROImax[1][27][28]=	       0;
+     m_EtaROImin[1][27][29]=	    0;m_EtaROImax[1][27][29]=	     0;m_PhiROImin[1][27][29]=	      0;m_PhiROImax[1][27][29]=	       0;
+     m_EtaROImin[1][27][30]=	    0;m_EtaROImax[1][27][30]=	     0;m_PhiROImin[1][27][30]=	      0;m_PhiROImax[1][27][30]=	       0;
+     m_EtaROImin[1][27][31]=	    0;m_EtaROImax[1][27][31]=	     0;m_PhiROImin[1][27][31]=	      0;m_PhiROImax[1][27][31]=	       0;
+     m_EtaROImin[1][28][ 0]=   0.180742;m_EtaROImax[1][28][ 0]=   0.238294;m_PhiROImin[1][28][ 0]=   -0.78243;m_PhiROImax[1][28][ 0]=  -0.672186;
+     m_EtaROImin[1][28][ 1]=  0.0874905;m_EtaROImax[1][28][ 1]=   0.176882;m_PhiROImin[1][28][ 1]=   -0.78243;m_PhiROImax[1][28][ 1]=  -0.672186;
+     m_EtaROImin[1][28][ 2]=   0.180742;m_EtaROImax[1][28][ 2]=   0.238294;m_PhiROImin[1][28][ 2]=  -0.668661;m_PhiROImax[1][28][ 2]=  -0.561229;
+     m_EtaROImin[1][28][ 3]=  0.0874905;m_EtaROImax[1][28][ 3]=   0.176882;m_PhiROImin[1][28][ 3]=  -0.668661;m_PhiROImax[1][28][ 3]=  -0.561229;
+     m_EtaROImin[1][28][ 4]=   0.350831;m_EtaROImax[1][28][ 4]=   0.452099;m_PhiROImin[1][28][ 4]=  -0.782446;m_PhiROImax[1][28][ 4]=  -0.672786;
+     m_EtaROImin[1][28][ 5]=   0.246207;m_EtaROImax[1][28][ 5]=    0.35049;m_PhiROImin[1][28][ 5]=  -0.782446;m_PhiROImax[1][28][ 5]=  -0.672786;
+     m_EtaROImin[1][28][ 6]=   0.350831;m_EtaROImax[1][28][ 6]=   0.452099;m_PhiROImin[1][28][ 6]=  -0.669279;m_PhiROImax[1][28][ 6]=  -0.562387;
+     m_EtaROImin[1][28][ 7]=   0.246207;m_EtaROImax[1][28][ 7]=    0.35049;m_PhiROImin[1][28][ 7]=  -0.669279;m_PhiROImax[1][28][ 7]=  -0.562387;
+     m_EtaROImin[1][28][ 8]=   0.555789;m_EtaROImax[1][28][ 8]=   0.648101;m_PhiROImin[1][28][ 8]=  -0.782446;m_PhiROImax[1][28][ 8]=  -0.672786;
+     m_EtaROImin[1][28][ 9]=   0.458091;m_EtaROImax[1][28][ 9]=   0.554444;m_PhiROImin[1][28][ 9]=  -0.782446;m_PhiROImax[1][28][ 9]=  -0.672786;
+     m_EtaROImin[1][28][10]=   0.555789;m_EtaROImax[1][28][10]=   0.648101;m_PhiROImin[1][28][10]=  -0.669279;m_PhiROImax[1][28][10]=  -0.562387;
+     m_EtaROImin[1][28][11]=   0.458091;m_EtaROImax[1][28][11]=   0.554444;m_PhiROImin[1][28][11]=  -0.669279;m_PhiROImax[1][28][11]=  -0.562387;
+     m_EtaROImin[1][28][12]=   0.731124;m_EtaROImax[1][28][12]=   0.776449;m_PhiROImin[1][28][12]=   -0.78243;m_PhiROImax[1][28][12]=  -0.672186;
+     m_EtaROImin[1][28][13]=   0.655857;m_EtaROImax[1][28][13]=   0.728056;m_PhiROImin[1][28][13]=   -0.78243;m_PhiROImax[1][28][13]=  -0.672186;
+     m_EtaROImin[1][28][14]=   0.731124;m_EtaROImax[1][28][14]=   0.776449;m_PhiROImin[1][28][14]=  -0.668661;m_PhiROImax[1][28][14]=  -0.561229;
+     m_EtaROImin[1][28][15]=   0.655857;m_EtaROImax[1][28][15]=   0.728056;m_PhiROImin[1][28][15]=  -0.668661;m_PhiROImax[1][28][15]=  -0.561229;
+     m_EtaROImin[1][28][16]=   0.853359;m_EtaROImax[1][28][16]=   0.895163;m_PhiROImin[1][28][16]=   -0.78243;m_PhiROImax[1][28][16]=  -0.672186;
+     m_EtaROImin[1][28][17]=   0.783867;m_EtaROImax[1][28][17]=   0.850528;m_PhiROImin[1][28][17]=   -0.78243;m_PhiROImax[1][28][17]=  -0.672186;
+     m_EtaROImin[1][28][18]=   0.853359;m_EtaROImax[1][28][18]=   0.895163;m_PhiROImin[1][28][18]=  -0.668661;m_PhiROImax[1][28][18]=  -0.561229;
+     m_EtaROImin[1][28][19]=   0.783867;m_EtaROImax[1][28][19]=   0.850528;m_PhiROImin[1][28][19]=  -0.668661;m_PhiROImax[1][28][19]=  -0.561229;
+     m_EtaROImin[1][28][20]=   0.964674;m_EtaROImax[1][28][20]=    1.02514;m_PhiROImin[1][28][20]=  -0.782446;m_PhiROImax[1][28][20]=  -0.672786;
+     m_EtaROImin[1][28][21]=   0.898201;m_EtaROImax[1][28][21]=   0.961344;m_PhiROImin[1][28][21]=  -0.782446;m_PhiROImax[1][28][21]=  -0.672786;
+     m_EtaROImin[1][28][22]=   0.964674;m_EtaROImax[1][28][22]=    1.02514;m_PhiROImin[1][28][22]=  -0.669279;m_PhiROImax[1][28][22]=  -0.562387;
+     m_EtaROImin[1][28][23]=   0.898201;m_EtaROImax[1][28][23]=   0.961344;m_PhiROImin[1][28][23]=  -0.669279;m_PhiROImax[1][28][23]=  -0.562387;
+     m_EtaROImin[1][28][24]=	    0;m_EtaROImax[1][28][24]=	     0;m_PhiROImin[1][28][24]=	      0;m_PhiROImax[1][28][24]=	       0;
+     m_EtaROImin[1][28][25]=    1.03003;m_EtaROImax[1][28][25]=    1.06547;m_PhiROImin[1][28][25]=  -0.782329;m_PhiROImax[1][28][25]=  -0.671969;
+     m_EtaROImin[1][28][26]=	    0;m_EtaROImax[1][28][26]=	     0;m_PhiROImin[1][28][26]=	      0;m_PhiROImax[1][28][26]=	       0;
+     m_EtaROImin[1][28][27]=    1.03003;m_EtaROImax[1][28][27]=    1.06547;m_PhiROImin[1][28][27]=   -0.66844;m_PhiROImax[1][28][27]=  -0.588255;
+     m_EtaROImin[1][28][28]=	    0;m_EtaROImax[1][28][28]=	     0;m_PhiROImin[1][28][28]=	      0;m_PhiROImax[1][28][28]=	       0;
+     m_EtaROImin[1][28][29]=	    0;m_EtaROImax[1][28][29]=	     0;m_PhiROImin[1][28][29]=	      0;m_PhiROImax[1][28][29]=	       0;
+     m_EtaROImin[1][28][30]=	    0;m_EtaROImax[1][28][30]=	     0;m_PhiROImin[1][28][30]=	      0;m_PhiROImax[1][28][30]=	       0;
+     m_EtaROImin[1][28][31]=	    0;m_EtaROImax[1][28][31]=	     0;m_PhiROImin[1][28][31]=	      0;m_PhiROImax[1][28][31]=	       0;
+     m_EtaROImin[1][29][ 0]=  0.0208251;m_EtaROImax[1][29][ 0]=   0.118734;m_PhiROImin[1][29][ 0]=  -0.479445;m_PhiROImax[1][29][ 0]=  -0.395489;
+     m_EtaROImin[1][29][ 1]=   0.116816;m_EtaROImax[1][29][ 1]=   0.213185;m_PhiROImin[1][29][ 1]=  -0.479445;m_PhiROImax[1][29][ 1]=  -0.395489;
+     m_EtaROImin[1][29][ 2]=  0.0208251;m_EtaROImax[1][29][ 2]=   0.118734;m_PhiROImin[1][29][ 2]=  -0.565749;m_PhiROImax[1][29][ 2]=  -0.483076;
+     m_EtaROImin[1][29][ 3]=   0.116816;m_EtaROImax[1][29][ 3]=   0.213185;m_PhiROImin[1][29][ 3]=  -0.565749;m_PhiROImax[1][29][ 3]=  -0.483076;
+     m_EtaROImin[1][29][ 4]=   0.222449;m_EtaROImax[1][29][ 4]=   0.302928;m_PhiROImin[1][29][ 4]=  -0.479445;m_PhiROImax[1][29][ 4]=  -0.395489;
+     m_EtaROImin[1][29][ 5]=    0.30075;m_EtaROImax[1][29][ 5]=   0.416721;m_PhiROImin[1][29][ 5]=  -0.479445;m_PhiROImax[1][29][ 5]=  -0.395489;
+     m_EtaROImin[1][29][ 6]=   0.222449;m_EtaROImax[1][29][ 6]=   0.302928;m_PhiROImin[1][29][ 6]=  -0.565749;m_PhiROImax[1][29][ 6]=  -0.483076;
+     m_EtaROImin[1][29][ 7]=    0.30075;m_EtaROImax[1][29][ 7]=   0.416721;m_PhiROImin[1][29][ 7]=  -0.565749;m_PhiROImax[1][29][ 7]=  -0.483076;
+     m_EtaROImin[1][29][ 8]=    0.42967;m_EtaROImax[1][29][ 8]=   0.504617;m_PhiROImin[1][29][ 8]=  -0.479445;m_PhiROImax[1][29][ 8]=  -0.395489;
+     m_EtaROImin[1][29][ 9]=   0.501681;m_EtaROImax[1][29][ 9]=   0.573871;m_PhiROImin[1][29][ 9]=  -0.479445;m_PhiROImax[1][29][ 9]=  -0.395489;
+     m_EtaROImin[1][29][10]=    0.42967;m_EtaROImax[1][29][10]=   0.504617;m_PhiROImin[1][29][10]=  -0.565749;m_PhiROImax[1][29][10]=  -0.483076;
+     m_EtaROImin[1][29][11]=   0.501681;m_EtaROImax[1][29][11]=   0.573871;m_PhiROImin[1][29][11]=  -0.565749;m_PhiROImax[1][29][11]=  -0.483076;
+     m_EtaROImin[1][29][12]=   0.583785;m_EtaROImax[1][29][12]=   0.653329;m_PhiROImin[1][29][12]=  -0.479445;m_PhiROImax[1][29][12]=  -0.395489;
+     m_EtaROImin[1][29][13]=   0.649934;m_EtaROImax[1][29][13]=   0.741516;m_PhiROImin[1][29][13]=  -0.479445;m_PhiROImax[1][29][13]=  -0.395489;
+     m_EtaROImin[1][29][14]=   0.583785;m_EtaROImax[1][29][14]=   0.653329;m_PhiROImin[1][29][14]=  -0.565749;m_PhiROImax[1][29][14]=  -0.483076;
+     m_EtaROImin[1][29][15]=   0.649934;m_EtaROImax[1][29][15]=   0.741516;m_PhiROImin[1][29][15]=  -0.565749;m_PhiROImax[1][29][15]=  -0.483076;
+     m_EtaROImin[1][29][16]=   0.756521;m_EtaROImax[1][29][16]=   0.837822;m_PhiROImin[1][29][16]=  -0.479445;m_PhiROImax[1][29][16]=  -0.395489;
+     m_EtaROImin[1][29][17]=	    0;m_EtaROImax[1][29][17]=	     0;m_PhiROImin[1][29][17]=	      0;m_PhiROImax[1][29][17]=	       0;
+     m_EtaROImin[1][29][18]=   0.756521;m_EtaROImax[1][29][18]=   0.837822;m_PhiROImin[1][29][18]=  -0.565749;m_PhiROImax[1][29][18]=  -0.483076;
+     m_EtaROImin[1][29][19]=	    0;m_EtaROImax[1][29][19]=	     0;m_PhiROImin[1][29][19]=	      0;m_PhiROImax[1][29][19]=	       0;
+     m_EtaROImin[1][29][20]=   0.844116;m_EtaROImax[1][29][20]=   0.903324;m_PhiROImin[1][29][20]=  -0.479445;m_PhiROImax[1][29][20]=  -0.395489;
+     m_EtaROImin[1][29][21]=   0.899344;m_EtaROImax[1][29][21]=   0.956037;m_PhiROImin[1][29][21]=  -0.479445;m_PhiROImax[1][29][21]=  -0.395489;
+     m_EtaROImin[1][29][22]=   0.844116;m_EtaROImax[1][29][22]=   0.903324;m_PhiROImin[1][29][22]=  -0.565749;m_PhiROImax[1][29][22]=  -0.483076;
+     m_EtaROImin[1][29][23]=   0.899344;m_EtaROImax[1][29][23]=   0.956037;m_PhiROImin[1][29][23]=  -0.565749;m_PhiROImax[1][29][23]=  -0.483076;
+     m_EtaROImin[1][29][24]=	    0;m_EtaROImax[1][29][24]=	     0;m_PhiROImin[1][29][24]=	      0;m_PhiROImax[1][29][24]=	       0;
+     m_EtaROImin[1][29][25]=	    0;m_EtaROImax[1][29][25]=	     0;m_PhiROImin[1][29][25]=	      0;m_PhiROImax[1][29][25]=	       0;
+     m_EtaROImin[1][29][26]=	    0;m_EtaROImax[1][29][26]=	     0;m_PhiROImin[1][29][26]=	      0;m_PhiROImax[1][29][26]=	       0;
+     m_EtaROImin[1][29][27]=	    0;m_EtaROImax[1][29][27]=	     0;m_PhiROImin[1][29][27]=	      0;m_PhiROImax[1][29][27]=	       0;
+     m_EtaROImin[1][29][28]=	    0;m_EtaROImax[1][29][28]=	     0;m_PhiROImin[1][29][28]=	      0;m_PhiROImax[1][29][28]=	       0;
+     m_EtaROImin[1][29][29]=	    0;m_EtaROImax[1][29][29]=	     0;m_PhiROImin[1][29][29]=	      0;m_PhiROImax[1][29][29]=	       0;
+     m_EtaROImin[1][29][30]=	    0;m_EtaROImax[1][29][30]=	     0;m_PhiROImin[1][29][30]=	      0;m_PhiROImax[1][29][30]=	       0;
+     m_EtaROImin[1][29][31]=	    0;m_EtaROImax[1][29][31]=	     0;m_PhiROImin[1][29][31]=	      0;m_PhiROImax[1][29][31]=	       0;
+     m_EtaROImin[1][30][ 0]=   0.116816;m_EtaROImax[1][30][ 0]=   0.213185;m_PhiROImin[1][30][ 0]=  -0.389909;m_PhiROImax[1][30][ 0]=  -0.305953;
+     m_EtaROImin[1][30][ 1]=  0.0208251;m_EtaROImax[1][30][ 1]=   0.118734;m_PhiROImin[1][30][ 1]=  -0.389909;m_PhiROImax[1][30][ 1]=  -0.305953;
+     m_EtaROImin[1][30][ 2]=   0.116816;m_EtaROImax[1][30][ 2]=   0.213185;m_PhiROImin[1][30][ 2]=  -0.302322;m_PhiROImax[1][30][ 2]=  -0.219649;
+     m_EtaROImin[1][30][ 3]=  0.0208251;m_EtaROImax[1][30][ 3]=   0.118734;m_PhiROImin[1][30][ 3]=  -0.302322;m_PhiROImax[1][30][ 3]=  -0.219649;
+     m_EtaROImin[1][30][ 4]=    0.30075;m_EtaROImax[1][30][ 4]=   0.416721;m_PhiROImin[1][30][ 4]=  -0.389909;m_PhiROImax[1][30][ 4]=  -0.305953;
+     m_EtaROImin[1][30][ 5]=   0.222449;m_EtaROImax[1][30][ 5]=   0.302928;m_PhiROImin[1][30][ 5]=  -0.389909;m_PhiROImax[1][30][ 5]=  -0.305953;
+     m_EtaROImin[1][30][ 6]=    0.30075;m_EtaROImax[1][30][ 6]=   0.416721;m_PhiROImin[1][30][ 6]=  -0.302322;m_PhiROImax[1][30][ 6]=  -0.219649;
+     m_EtaROImin[1][30][ 7]=   0.222449;m_EtaROImax[1][30][ 7]=   0.302928;m_PhiROImin[1][30][ 7]=  -0.302322;m_PhiROImax[1][30][ 7]=  -0.219649;
+     m_EtaROImin[1][30][ 8]=   0.501681;m_EtaROImax[1][30][ 8]=   0.573871;m_PhiROImin[1][30][ 8]=  -0.389909;m_PhiROImax[1][30][ 8]=  -0.305953;
+     m_EtaROImin[1][30][ 9]=    0.42967;m_EtaROImax[1][30][ 9]=   0.504617;m_PhiROImin[1][30][ 9]=  -0.389909;m_PhiROImax[1][30][ 9]=  -0.305953;
+     m_EtaROImin[1][30][10]=   0.501681;m_EtaROImax[1][30][10]=   0.573871;m_PhiROImin[1][30][10]=  -0.302322;m_PhiROImax[1][30][10]=  -0.219649;
+     m_EtaROImin[1][30][11]=    0.42967;m_EtaROImax[1][30][11]=   0.504617;m_PhiROImin[1][30][11]=  -0.302322;m_PhiROImax[1][30][11]=  -0.219649;
+     m_EtaROImin[1][30][12]=   0.649934;m_EtaROImax[1][30][12]=   0.741516;m_PhiROImin[1][30][12]=  -0.389909;m_PhiROImax[1][30][12]=  -0.305953;
+     m_EtaROImin[1][30][13]=   0.583785;m_EtaROImax[1][30][13]=   0.653329;m_PhiROImin[1][30][13]=  -0.389909;m_PhiROImax[1][30][13]=  -0.305953;
+     m_EtaROImin[1][30][14]=   0.649934;m_EtaROImax[1][30][14]=   0.741516;m_PhiROImin[1][30][14]=  -0.302322;m_PhiROImax[1][30][14]=  -0.219649;
+     m_EtaROImin[1][30][15]=   0.583785;m_EtaROImax[1][30][15]=   0.653329;m_PhiROImin[1][30][15]=  -0.302322;m_PhiROImax[1][30][15]=  -0.219649;
+     m_EtaROImin[1][30][16]=	    0;m_EtaROImax[1][30][16]=	     0;m_PhiROImin[1][30][16]=	      0;m_PhiROImax[1][30][16]=	       0;
+     m_EtaROImin[1][30][17]=   0.756521;m_EtaROImax[1][30][17]=   0.837822;m_PhiROImin[1][30][17]=  -0.389909;m_PhiROImax[1][30][17]=  -0.305953;
+     m_EtaROImin[1][30][18]=	    0;m_EtaROImax[1][30][18]=	     0;m_PhiROImin[1][30][18]=	      0;m_PhiROImax[1][30][18]=	       0;
+     m_EtaROImin[1][30][19]=   0.756521;m_EtaROImax[1][30][19]=   0.837822;m_PhiROImin[1][30][19]=  -0.302322;m_PhiROImax[1][30][19]=  -0.219649;
+     m_EtaROImin[1][30][20]=   0.899344;m_EtaROImax[1][30][20]=   0.956037;m_PhiROImin[1][30][20]=  -0.389909;m_PhiROImax[1][30][20]=  -0.305953;
+     m_EtaROImin[1][30][21]=   0.844116;m_EtaROImax[1][30][21]=   0.903324;m_PhiROImin[1][30][21]=  -0.389909;m_PhiROImax[1][30][21]=  -0.305953;
+     m_EtaROImin[1][30][22]=   0.899344;m_EtaROImax[1][30][22]=   0.956037;m_PhiROImin[1][30][22]=  -0.302322;m_PhiROImax[1][30][22]=  -0.219649;
+     m_EtaROImin[1][30][23]=   0.844116;m_EtaROImax[1][30][23]=   0.903324;m_PhiROImin[1][30][23]=  -0.302322;m_PhiROImax[1][30][23]=  -0.219649;
+     m_EtaROImin[1][30][24]=	    0;m_EtaROImax[1][30][24]=	     0;m_PhiROImin[1][30][24]=	      0;m_PhiROImax[1][30][24]=	       0;
+     m_EtaROImin[1][30][25]=	    0;m_EtaROImax[1][30][25]=	     0;m_PhiROImin[1][30][25]=	      0;m_PhiROImax[1][30][25]=	       0;
+     m_EtaROImin[1][30][26]=	    0;m_EtaROImax[1][30][26]=	     0;m_PhiROImin[1][30][26]=	      0;m_PhiROImax[1][30][26]=	       0;
+     m_EtaROImin[1][30][27]=	    0;m_EtaROImax[1][30][27]=	     0;m_PhiROImin[1][30][27]=	      0;m_PhiROImax[1][30][27]=	       0;
+     m_EtaROImin[1][30][28]=	    0;m_EtaROImax[1][30][28]=	     0;m_PhiROImin[1][30][28]=	      0;m_PhiROImax[1][30][28]=	       0;
+     m_EtaROImin[1][30][29]=	    0;m_EtaROImax[1][30][29]=	     0;m_PhiROImin[1][30][29]=	      0;m_PhiROImax[1][30][29]=	       0;
+     m_EtaROImin[1][30][30]=	    0;m_EtaROImax[1][30][30]=	     0;m_PhiROImin[1][30][30]=	      0;m_PhiROImax[1][30][30]=	       0;
+     m_EtaROImin[1][30][31]=	    0;m_EtaROImax[1][30][31]=	     0;m_PhiROImin[1][30][31]=	      0;m_PhiROImax[1][30][31]=	       0;
+     m_EtaROImin[1][31][ 0]=  0.0231199;m_EtaROImax[1][31][ 0]=   0.131749;m_PhiROImin[1][31][ 0]=  -0.112612;m_PhiROImax[1][31][ 0]=-0.00295181;
+     m_EtaROImin[1][31][ 1]=   0.130922;m_EtaROImax[1][31][ 1]=   0.238612;m_PhiROImin[1][31][ 1]=  -0.112612;m_PhiROImax[1][31][ 1]=-0.00295181;
+     m_EtaROImin[1][31][ 2]=  0.0231199;m_EtaROImax[1][31][ 2]=   0.131749;m_PhiROImin[1][31][ 2]=  -0.223011;m_PhiROImax[1][31][ 2]=  -0.116119;
+     m_EtaROImin[1][31][ 3]=   0.130922;m_EtaROImax[1][31][ 3]=   0.238612;m_PhiROImin[1][31][ 3]=  -0.223011;m_PhiROImax[1][31][ 3]=  -0.116119;
+     m_EtaROImin[1][31][ 4]=   0.246207;m_EtaROImax[1][31][ 4]=    0.35049;m_PhiROImin[1][31][ 4]=  -0.112612;m_PhiROImax[1][31][ 4]=-0.00295181;
+     m_EtaROImin[1][31][ 5]=   0.350831;m_EtaROImax[1][31][ 5]=   0.452099;m_PhiROImin[1][31][ 5]=  -0.112612;m_PhiROImax[1][31][ 5]=-0.00295181;
+     m_EtaROImin[1][31][ 6]=   0.246207;m_EtaROImax[1][31][ 6]=    0.35049;m_PhiROImin[1][31][ 6]=  -0.223011;m_PhiROImax[1][31][ 6]=  -0.116119;
+     m_EtaROImin[1][31][ 7]=   0.350831;m_EtaROImax[1][31][ 7]=   0.452099;m_PhiROImin[1][31][ 7]=  -0.223011;m_PhiROImax[1][31][ 7]=  -0.116119;
+     m_EtaROImin[1][31][ 8]=   0.458091;m_EtaROImax[1][31][ 8]=   0.554444;m_PhiROImin[1][31][ 8]=  -0.112612;m_PhiROImax[1][31][ 8]=-0.00295181;
+     m_EtaROImin[1][31][ 9]=   0.555789;m_EtaROImax[1][31][ 9]=   0.648101;m_PhiROImin[1][31][ 9]=  -0.112612;m_PhiROImax[1][31][ 9]=-0.00295181;
+     m_EtaROImin[1][31][10]=   0.458091;m_EtaROImax[1][31][10]=   0.554444;m_PhiROImin[1][31][10]=  -0.223011;m_PhiROImax[1][31][10]=  -0.116119;
+     m_EtaROImin[1][31][11]=   0.555789;m_EtaROImax[1][31][11]=   0.648101;m_PhiROImin[1][31][11]=  -0.223011;m_PhiROImax[1][31][11]=  -0.116119;
+     m_EtaROImin[1][31][12]=   0.655857;m_EtaROImax[1][31][12]=   0.703298;m_PhiROImin[1][31][12]=  -0.113212;m_PhiROImax[1][31][12]=-0.00296767;
+     m_EtaROImin[1][31][13]=   0.706413;m_EtaROImax[1][31][13]=   0.776449;m_PhiROImin[1][31][13]=  -0.113212;m_PhiROImax[1][31][13]=-0.00296767;
+     m_EtaROImin[1][31][14]=   0.655857;m_EtaROImax[1][31][14]=   0.703298;m_PhiROImin[1][31][14]=  -0.224169;m_PhiROImax[1][31][14]=  -0.116737;
+     m_EtaROImin[1][31][15]=   0.706413;m_EtaROImax[1][31][15]=   0.776449;m_PhiROImin[1][31][15]=  -0.224169;m_PhiROImax[1][31][15]=  -0.116737;
+     m_EtaROImin[1][31][16]=   0.783867;m_EtaROImax[1][31][16]=    0.82768;m_PhiROImin[1][31][16]=  -0.113212;m_PhiROImax[1][31][16]=-0.00296767;
+     m_EtaROImin[1][31][17]=   0.830556;m_EtaROImax[1][31][17]=   0.895163;m_PhiROImin[1][31][17]=  -0.113212;m_PhiROImax[1][31][17]=-0.00296767;
+     m_EtaROImin[1][31][18]=   0.783867;m_EtaROImax[1][31][18]=    0.82768;m_PhiROImin[1][31][18]=  -0.224169;m_PhiROImax[1][31][18]=  -0.116737;
+     m_EtaROImin[1][31][19]=   0.830556;m_EtaROImax[1][31][19]=   0.895163;m_PhiROImin[1][31][19]=  -0.224169;m_PhiROImax[1][31][19]=  -0.116737;
+     m_EtaROImin[1][31][20]=   0.898201;m_EtaROImax[1][31][20]=   0.961344;m_PhiROImin[1][31][20]=  -0.112612;m_PhiROImax[1][31][20]=-0.00295181;
+     m_EtaROImin[1][31][21]=   0.964674;m_EtaROImax[1][31][21]=    1.02514;m_PhiROImin[1][31][21]=  -0.112612;m_PhiROImax[1][31][21]=-0.00295181;
+     m_EtaROImin[1][31][22]=   0.898201;m_EtaROImax[1][31][22]=   0.961344;m_PhiROImin[1][31][22]=  -0.223011;m_PhiROImax[1][31][22]=  -0.116119;
+     m_EtaROImin[1][31][23]=   0.964674;m_EtaROImax[1][31][23]=    1.02514;m_PhiROImin[1][31][23]=  -0.223011;m_PhiROImax[1][31][23]=  -0.116119;
+     m_EtaROImin[1][31][24]=    1.03003;m_EtaROImax[1][31][24]=    1.06547;m_PhiROImin[1][31][24]=  -0.113429;m_PhiROImax[1][31][24]=-0.00306876;
+     m_EtaROImin[1][31][25]=	    0;m_EtaROImax[1][31][25]=	     0;m_PhiROImin[1][31][25]=	      0;m_PhiROImax[1][31][25]=	       0;
+     m_EtaROImin[1][31][26]=    1.03003;m_EtaROImax[1][31][26]=    1.06547;m_PhiROImin[1][31][26]=  -0.197143;m_PhiROImax[1][31][26]=  -0.116958;
+     m_EtaROImin[1][31][27]=	    0;m_EtaROImax[1][31][27]=	     0;m_PhiROImin[1][31][27]=	      0;m_PhiROImax[1][31][27]=	       0;
+     m_EtaROImin[1][31][28]=	    0;m_EtaROImax[1][31][28]=	     0;m_PhiROImin[1][31][28]=	      0;m_PhiROImax[1][31][28]=	       0;
+     m_EtaROImin[1][31][29]=	    0;m_EtaROImax[1][31][29]=	     0;m_PhiROImin[1][31][29]=	      0;m_PhiROImax[1][31][29]=	       0;
+     m_EtaROImin[1][31][30]=	    0;m_EtaROImax[1][31][30]=	     0;m_PhiROImin[1][31][30]=	      0;m_PhiROImax[1][31][30]=	       0;
+     m_EtaROImin[1][31][31]=	    0;m_EtaROImax[1][31][31]=	     0;m_PhiROImin[1][31][31]=	      0;m_PhiROImax[1][31][31]=	       0;
 
   
   return sc;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcGlobalUtilities.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcGlobalUtilities.cxx
index 7e9c1ba166521814123a407fc61f62590148f5af..d61b803197ad492a6aa5c560e151ec0664f2c315 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcGlobalUtilities.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcGlobalUtilities.cxx
@@ -29,27 +29,27 @@
  
 namespace RpcGM 
 {
-std::vector<int>  RpcStripShift(const MuonGM::MuonDetectorManager* m_muonMgr, const RpcIdHelper* m_rpcIdHelper, Identifier prdcoll_id, int  irpctriggerInfo) 
+std::vector<int>  RpcStripShift(const MuonGM::MuonDetectorManager* muonMgr, const RpcIdHelper* rpcIdHelper, Identifier prdcoll_id, int  irpctriggerInfo) 
 {
    
-  int irpcstationPhi	 =   int(m_rpcIdHelper->stationPhi(prdcoll_id))   ;
-  int irpcstationName	 =   int(m_rpcIdHelper->stationName(prdcoll_id))  ;	     
-  int irpcstationEta	 =   int(m_rpcIdHelper->stationEta(prdcoll_id))   ;			     
-  int irpcdoubletR  	 =   int(m_rpcIdHelper->doubletR(prdcoll_id))	  ;		     
-  int irpcdoubletZ  	 =   int(m_rpcIdHelper->doubletZ(prdcoll_id))	  ;
-  int irpcdoubletPhi	 =   int(m_rpcIdHelper->doubletPhi(prdcoll_id))   ;
-  int irpcgasGap	 =   int(m_rpcIdHelper->gasGap(prdcoll_id))	  ;
-  int irpcmeasuresPhi	 =   int(m_rpcIdHelper->measuresPhi(prdcoll_id))  ;
-  int irpcstrip		 =   int(m_rpcIdHelper->strip(prdcoll_id))	  ;
+  int irpcstationPhi	 =   int(rpcIdHelper->stationPhi(prdcoll_id))   ;
+  int irpcstationName	 =   int(rpcIdHelper->stationName(prdcoll_id))  ;	     
+  int irpcstationEta	 =   int(rpcIdHelper->stationEta(prdcoll_id))   ;			     
+  int irpcdoubletR  	 =   int(rpcIdHelper->doubletR(prdcoll_id))	  ;		     
+  int irpcdoubletZ  	 =   int(rpcIdHelper->doubletZ(prdcoll_id))	  ;
+  int irpcdoubletPhi	 =   int(rpcIdHelper->doubletPhi(prdcoll_id))   ;
+  int irpcgasGap	 =   int(rpcIdHelper->gasGap(prdcoll_id))	  ;
+  int irpcmeasuresPhi	 =   int(rpcIdHelper->measuresPhi(prdcoll_id))  ;
+  int irpcstrip		 =   int(rpcIdHelper->strip(prdcoll_id))	  ;
 
   //std::cout << "prd irpcstationName " << irpcstationName<<" irpcstationEta " << irpcstationEta<< " irpcstationPhi " << irpcstationPhi<<" irpcdoubletR " << irpcdoubletR<< " irpcdoubletZ " << irpcdoubletZ <<std::endl;
    
   //get information from geomodel to book and fill rpc histos with the right max strip number
   
-  const MuonGM::RpcReadoutElement* descriptor = m_muonMgr->getRpcReadoutElement(prdcoll_id);
+  const MuonGM::RpcReadoutElement* descriptor = muonMgr->getRpcReadoutElement(prdcoll_id);
   //const MuonGM::RpcReadoutSet*     chamberset = 
-  // const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcReadoutElement(irpcstationName-2, irpcstationEta  + 8,  irpcstationPhi-1, irpcdoubletR -1,irpcdoubletZ   -1);
-  // const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields( irpcstationName, irpcstationEta, irpcstationPhi, irpcdoubletR, irpcdoubletZ, irpcdoubletPhi  );
+  // const MuonGM::RpcReadoutElement* rpc = muonMgr->getRpcReadoutElement(irpcstationName-2, irpcstationEta  + 8,  irpcstationPhi-1, irpcdoubletR -1,irpcdoubletZ   -1);
+  // const MuonGM::RpcReadoutElement* rpc = muonMgr->getRpcRElement_fromIdFields( irpcstationName, irpcstationEta, irpcstationPhi, irpcdoubletR, irpcdoubletZ, irpcdoubletPhi  );
  		      
   std::vector<int>  rpcstriptot  ;
   
@@ -159,7 +159,7 @@ std::vector<int>  RpcStripShift(const MuonGM::MuonDetectorManager* m_muonMgr, co
         }
         
 	for(int idbz=1; idbz!= 4; idbz++){
-    	const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields(krpcstationName, ieta, irpcstationPhi, krpcdoubletR, idbz, 1 );
+    	const MuonGM::RpcReadoutElement* rpc = muonMgr->getRpcRElement_fromIdFields(krpcstationName, ieta, irpcstationPhi, krpcdoubletR, idbz, 1 );
     	if(rpc != NULL ){
 	
 	//std::cout << "loop krpcstationName " << krpcstationName<<" ieta " << ieta<< " irpcstationPhi " << irpcstationPhi<<" krpcdoubletR " << krpcdoubletR<< " idbz " << idbz <<std::endl;
@@ -361,7 +361,7 @@ std::vector<int>  RpcStripShift(const MuonGM::MuonDetectorManager* m_muonMgr, co
  
 	for(int iz   =      1; iz   !=   lastdoubletZ+1; iz++	){ 
 	  
-	  const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields(iname, keta, iphi, ir, iz, 1);
+	  const MuonGM::RpcReadoutElement* rpc = muonMgr->getRpcRElement_fromIdFields(iname, keta, iphi, ir, iz, 1);
 	  //std::cout <<iname << " "<< keta <<" "<< iphi<<" "<< iz<<" z "<< panel_dbindex<< std::endl; 
     
 	  if(rpc == NULL )continue;
@@ -415,7 +415,7 @@ std::vector<int>  RpcStripShift(const MuonGM::MuonDetectorManager* m_muonMgr, co
   return  rpcstriptot ;
 
 }
-std::vector<std::string>    RpcLayerSectorSideName(const RpcIdHelper* m_rpcIdHelper, Identifier prdcoll_id, int  irpctriggerInfo)
+std::vector<std::string>    RpcLayerSectorSideName(const RpcIdHelper* rpcIdHelper, Identifier prdcoll_id, int  irpctriggerInfo)
 {
   
   
@@ -448,14 +448,14 @@ std::vector<std::string>    RpcLayerSectorSideName(const RpcIdHelper* m_rpcIdHel
   std::string sector_dphi_layer            ; 
   	       
  
-  int irpcstationPhi	=   int(m_rpcIdHelper->stationPhi(prdcoll_id))   ;	      
-  int irpcstationName	=   int(m_rpcIdHelper->stationName(prdcoll_id))  ;	      
-  int irpcstationEta	=   int(m_rpcIdHelper->stationEta(prdcoll_id))   ;		      
-  int irpcdoubletR  	=   int(m_rpcIdHelper->doubletR(prdcoll_id))	 ;	      
-  int irpcdoubletZ  	=   int(m_rpcIdHelper->doubletZ(prdcoll_id))	 ;
-  int irpcdoubletPhi	=   int(m_rpcIdHelper->doubletPhi(prdcoll_id))   ;
-  int irpcgasGap	=   int(m_rpcIdHelper->gasGap(prdcoll_id))	 ;
-  int irpcmeasuresPhi	=   int(m_rpcIdHelper->measuresPhi(prdcoll_id))  ;
+  int irpcstationPhi	=   int(rpcIdHelper->stationPhi(prdcoll_id))   ;	      
+  int irpcstationName	=   int(rpcIdHelper->stationName(prdcoll_id))  ;	      
+  int irpcstationEta	=   int(rpcIdHelper->stationEta(prdcoll_id))   ;		      
+  int irpcdoubletR  	=   int(rpcIdHelper->doubletR(prdcoll_id))	 ;	      
+  int irpcdoubletZ  	=   int(rpcIdHelper->doubletZ(prdcoll_id))	 ;
+  int irpcdoubletPhi	=   int(rpcIdHelper->doubletPhi(prdcoll_id))   ;
+  int irpcgasGap	=   int(rpcIdHelper->gasGap(prdcoll_id))	 ;
+  int irpcmeasuresPhi	=   int(rpcIdHelper->measuresPhi(prdcoll_id))  ;
   
   sprintf(dblZ_char    ,"_dblZ%d"    ,irpcdoubletZ  );
   sprintf(dblPhi_char  ,"_dblPhi%d"  ,irpcdoubletPhi);
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataEfficiency.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataEfficiency.cxx
index 2911d6c6c29c69f6bdde98856f7e44946eb40365..7f42df3806731a2e1c2aa87120b4dd0dfc0975cb 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataEfficiency.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataEfficiency.cxx
@@ -35,11 +35,6 @@
 using namespace std;
 
 
-static const string m_sMuType[2]    = {"_Muid","_Staco"};
-/////static const string m_sMuLowHigh[2] = {"_lowpt","_highpt"};
-static const string m_sMuCharge[3]  = {"_Posi","_Nega",""};
-static const string m_sSide[3]	    = {"_A","_C","AC"};
-
 
 //================================================================================================================================
 RpcLv1RawDataEfficiency::RpcLv1RawDataEfficiency( const std::string & type, 
@@ -71,37 +66,30 @@ StatusCode RpcLv1RawDataEfficiency::initialize()
    m_eventStore  = 0 ;
    m_activeStore  = 0 ;
    m_rpcIdHelper  = 0 ;
-   sectorLogicContainer  = 0 ;
+   m_sectorLogicContainer  = 0 ;
    m_muonMgr  = 0 ;
-   i_sectorid  = 0 ;
-   b_isInput  = 0 ;
-   i_ptid  = 0 ;
    m_trigtype  = 0 ;
    m_event  = 0 ;
    m_lumiblock  = 0 ;
    m_BCID  = 0 ;
-   rpclv1_MinDeltaRTrackTrigger [0] = 0 ;
-   rpclv1_MinDeltaRTrackTrigger [1] = 0 ;
-   rpclv1_TrackPt[0] = 0 ;
-   rpclv1_TrackPt[1] = 0 ;
-   rpclv1_sectorhits_A[0]  = 0 ;
-   rpclv1_sectorhits_C[0]  = 0 ;  	
-   rpclv1_sectorhits_all[0]= 0 ;
-   rpclv1_sectorhits_A[1]  = 0 ;
-   rpclv1_sectorhits_C[1]  = 0 ;  	
-   rpclv1_sectorhits_all[1]= 0 ;
-   rpclv1_sectorhits_A[2]  = 0 ;
-   rpclv1_sectorhits_C[2]  = 0 ;  	
-   rpclv1_sectorhits_all[2]= 0 ;
-   rpclv1_sectorhits_A[3]  = 0 ;
-   rpclv1_sectorhits_C[3]  = 0 ;  	
-   rpclv1_sectorhits_all[3]= 0 ;
-   rpclv1_sectorhits_A[4]  = 0 ;
-   rpclv1_sectorhits_C[4]  = 0 ;  	
-   rpclv1_sectorhits_all[4]= 0 ;
-   rpclv1_sectorhits_A[5]  = 0 ;
-   rpclv1_sectorhits_C[5]  = 0 ;  	
-   rpclv1_sectorhits_all[5]= 0 ;
+   m_rpclv1_sectorhits_A[0]  = 0 ;
+   m_rpclv1_sectorhits_C[0]  = 0 ;  	
+   m_rpclv1_sectorhits_all[0]= 0 ;
+   m_rpclv1_sectorhits_A[1]  = 0 ;
+   m_rpclv1_sectorhits_C[1]  = 0 ;  	
+   m_rpclv1_sectorhits_all[1]= 0 ;
+   m_rpclv1_sectorhits_A[2]  = 0 ;
+   m_rpclv1_sectorhits_C[2]  = 0 ;  	
+   m_rpclv1_sectorhits_all[2]= 0 ;
+   m_rpclv1_sectorhits_A[3]  = 0 ;
+   m_rpclv1_sectorhits_C[3]  = 0 ;  	
+   m_rpclv1_sectorhits_all[3]= 0 ;
+   m_rpclv1_sectorhits_A[4]  = 0 ;
+   m_rpclv1_sectorhits_C[4]  = 0 ;  	
+   m_rpclv1_sectorhits_all[4]= 0 ;
+   m_rpclv1_sectorhits_A[5]  = 0 ;
+   m_rpclv1_sectorhits_C[5]  = 0 ;  	
+   m_rpclv1_sectorhits_all[5]= 0 ;
   
   // Store Gate store
   sc = serviceLocator()->service("StoreGateSvc", m_eventStore);
@@ -356,31 +344,31 @@ StatusCode RpcLv1RawDataEfficiency::bookHistogramsRecurrent()
   if(newLumiBlock){}
 
   if(newRun){ //book all histograms per new run
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1Efficiency";
-    MonGroup MG_SectorHits(this, m_generic_path_rpclv1monitoring + "/SectorHits", run, ATTRIB_UNMANAGED ); 
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1Efficiency";
+    MonGroup MG_SectorHits(this, generic_path_rpclv1monitoring + "/SectorHits", run, ATTRIB_UNMANAGED ); 
 
     // Sector hits
     for (unsigned int iMuThreshold = 0; iMuThreshold < 6; iMuThreshold++) {  // threshold       
 
       m_ss.str(""); m_ss << "SectorHits" <<   "PT" <<iMuThreshold+1 << "_C";
-      rpclv1_sectorhits_C[iMuThreshold] = new TH2I(m_ss.str().c_str(), (m_ss.str() + ";LB;Sector").c_str() , 500, 0., 1500., 32, 0., 32.); 
-      sc = MG_SectorHits.regHist(rpclv1_sectorhits_C[iMuThreshold]);		  
+      m_rpclv1_sectorhits_C[iMuThreshold] = new TH2I(m_ss.str().c_str(), (m_ss.str() + ";LB;Sector").c_str() , 500, 0., 1500., 32, 0., 32.); 
+      sc = MG_SectorHits.regHist(m_rpclv1_sectorhits_C[iMuThreshold]);		  
       if( sc.isFailure()) {
 	msg(MSG::FATAL) << m_ss.str() << " Failed to register histogram!" << endmsg;
 	return sc;
       }
 
       m_ss.str(""); m_ss << "SectorHits" <<  "PT" <<iMuThreshold+1 << "_A";
-      rpclv1_sectorhits_A[iMuThreshold] = new TH2I(m_ss.str().c_str(), (m_ss.str() + ";LB;Sector").c_str() , 500, 0., 1500., 32, 32., 64.); 
-      sc = MG_SectorHits.regHist(rpclv1_sectorhits_A[iMuThreshold]);
+      m_rpclv1_sectorhits_A[iMuThreshold] = new TH2I(m_ss.str().c_str(), (m_ss.str() + ";LB;Sector").c_str() , 500, 0., 1500., 32, 32., 64.); 
+      sc = MG_SectorHits.regHist(m_rpclv1_sectorhits_A[iMuThreshold]);
       if( sc.isFailure()) {
 	msg(MSG::FATAL) << m_ss.str() << " Failed to register histogram!" << endmsg;
 	return sc;
       }
 
       m_ss.str(""); m_ss << "SectorHits" <<  "PT" <<iMuThreshold+1 << "_all";
-      rpclv1_sectorhits_all[iMuThreshold] = new TH2I(m_ss.str().c_str(), (m_ss.str() + ";LB;Sector").c_str() , 500, 0., 1500., 64, 0., 64.); 
-      sc = MG_SectorHits.regHist(rpclv1_sectorhits_all[iMuThreshold]);		  
+      m_rpclv1_sectorhits_all[iMuThreshold] = new TH2I(m_ss.str().c_str(), (m_ss.str() + ";LB;Sector").c_str() , 500, 0., 1500., 64, 0., 64.); 
+      sc = MG_SectorHits.regHist(m_rpclv1_sectorhits_all[iMuThreshold]);		  
       if( sc.isFailure()) {
 	msg(MSG::FATAL) << m_ss.str() << " Failed to register histogram!" << endmsg;
 	return sc;
@@ -409,7 +397,7 @@ StatusCode RpcLv1RawDataEfficiency::fillHistograms( )
   // == Filling the Histograms                                                                                                                               
   //--------------------Sector Hits---------------------------------
   // Retrieve the Sector Logic container
-  sc = (*m_activeStore) -> retrieve(sectorLogicContainer);     
+  sc = (*m_activeStore) -> retrieve(m_sectorLogicContainer);     
 		    
   if (sc.isFailure()) {
     msg(MSG::INFO) << "Cannot retrieve the RpcSectorLogicContainer" << endmsg;     
@@ -417,25 +405,25 @@ StatusCode RpcLv1RawDataEfficiency::fillHistograms( )
   }
   else {
 		      
-    RpcSectorLogicContainer::const_iterator it = sectorLogicContainer -> begin();
+    RpcSectorLogicContainer::const_iterator it = m_sectorLogicContainer -> begin();
 
-    for ( ; it != sectorLogicContainer -> end() ; ++it ) 
+    for ( ; it != m_sectorLogicContainer -> end() ; ++it ) 
       {
-	i_sectorid = (*it)->sectorId();
+	int i_sectorid = (*it)->sectorId();
 	// Loop over the trigger hits of each sector
 	RpcSectorLogic::const_iterator ithit = (*it) -> begin();
 	for ( ; ithit != (*it) -> end() ; ++ithit ) 
 	  {
-	    b_isInput        = (*ithit) -> isInput();
-	    i_ptid   = (*ithit) -> ptId();
+	    bool b_isInput        = (*ithit) -> isInput();
+	    int i_ptid   = (*ithit) -> ptId();
 	    if (b_isInput == true) // fill histograms only if there was a trigger hit
 	      {
 		for( int iThresholdIndex=0; iThresholdIndex < 6; iThresholdIndex++) {
 		  if (i_ptid == (iThresholdIndex + 1))
 		    {
-		      rpclv1_sectorhits_all[iThresholdIndex]->Fill(m_lumiblock,i_sectorid);
-		      rpclv1_sectorhits_A[iThresholdIndex]->Fill(m_lumiblock,i_sectorid);
-		      rpclv1_sectorhits_C[iThresholdIndex]->Fill(m_lumiblock,i_sectorid);
+		      m_rpclv1_sectorhits_all[iThresholdIndex]->Fill(m_lumiblock,i_sectorid);
+		      m_rpclv1_sectorhits_A[iThresholdIndex]->Fill(m_lumiblock,i_sectorid);
+		      m_rpclv1_sectorhits_C[iThresholdIndex]->Fill(m_lumiblock,i_sectorid);
 		    }
 		}
 	      }
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataSectorLogic.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataSectorLogic.cxx
index cbd40d01e3da9294491c33e729202c8a6076f954..ea023bcacabee9d7197157ad1e6680ad7ad66ed2 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataSectorLogic.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataSectorLogic.cxx
@@ -61,19 +61,8 @@ StatusCode RpcLv1RawDataSectorLogic::initialize()
 
   StatusCode sc;
 
-   rpc_eventstotal = 0;
-   rpc_event_inarea = 0; 
-   i_padid1 = 0 ;
-   i_ptid = 0 ;
-   i_roi = 0 ;
-   i_roi1 = 0 ;
-   i_outerPlane = 0 ;
-   i_overlapPhi = 0 ;
-   i_overlapEta = 0 ;
-   i_triggerBcid = 0 ;
-   i_triggerBcid1 = 0 ;
-   i_sectorid = 0 ;
-   sli = 0 ;
+   m_rpc_eventstotal = 0;
+   m_rpc_event_inarea = 0; 
    m_nTriggerHits = 0 ;
    m_nTriggerHits_out = 0 ;
    m_nTriggerHitsperSector = 0 ;
@@ -85,7 +74,7 @@ StatusCode RpcLv1RawDataSectorLogic::initialize()
    m_Tower_out = 0 ;
    m_Tower_in = 0 ;
    m_in_sectorid = 0 ;
-   sectorLogicContainer = 0 ;
+   m_sectorLogicContainer = 0 ;
       
   // Store Gate store
   sc = serviceLocator() -> service("StoreGateSvc", m_eventStore);
@@ -133,7 +122,7 @@ StatusCode RpcLv1RawDataSectorLogic::StoreTriggerType()
   else if (m_debuglevel) 
     m_log << MSG::DEBUG << "RpcLv1RawDataSectorLogic::retrieved eventInfo" << endmsg;
   
-  trigtype = eventInfo->level1TriggerType();
+  m_trigtype = eventInfo->level1TriggerType();
   
   return sc;
 }
@@ -159,64 +148,64 @@ StatusCode RpcLv1RawDataSectorLogic::fillHistograms( )
     
     
     // Path for Sector Logic Monitoring
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1SectorLogic";
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1SectorLogic";
     
     // Sector Logic histogram paths
-    MonGroup rpclv1sl_shift ( this, m_generic_path_rpclv1monitoring + "/Overview", run, ATTRIB_UNMANAGED );
+    MonGroup rpclv1sl_shift ( this, generic_path_rpclv1monitoring + "/Overview", run, ATTRIB_UNMANAGED );
     
     if(m_lumiblockhist){
       // per lumi block
-      MonGroup rpclv1sl_lumi_block ( this, m_generic_path_rpclv1monitoring + "/lumiblock", lumiBlock, ATTRIB_UNMANAGED )  ;
+      MonGroup rpclv1sl_lumi_block ( this, generic_path_rpclv1monitoring + "/lumiblock", lumiBlock, ATTRIB_UNMANAGED )  ;
     
       // get histograms
       // per lumi block
-      sc = rpclv1sl_lumi_block.getHist(rpclv1_TriggerHitsperEventperTriggerSector_LB,"SL_TriggerHits_per_Event_per_TriggerSector_LB");
+      sc = rpclv1sl_lumi_block.getHist(m_rpclv1_TriggerHitsperEventperTriggerSector_LB,"SL_TriggerHits_per_Event_per_TriggerSector_LB");
       if( sc.isFailure()) m_log << MSG::WARNING << "SL_TriggerHits_per_Event_per_TriggerSector_LB: Histogram could not be associated to MonGroup." << endmsg;   
-      sc = rpclv1sl_lumi_block.getHist(rpclv1_Hits_per_TriggerSector_LB,"SL_Hits_per_TriggerSector_LB");	
+      sc = rpclv1sl_lumi_block.getHist(m_rpclv1_Hits_per_TriggerSector_LB,"SL_Hits_per_TriggerSector_LB");	
       if( sc.isFailure() ) m_log << MSG::WARNING << "SL_Hits_per_TriggerSector_LB: Histogram could not be associated to MonGroup." << endmsg;
-      sc = rpclv1sl_lumi_block.getHist( rpclv1_triggerBCid_inout_LB, "SL_triggerBCid_inout_LB") ;
+      sc = rpclv1sl_lumi_block.getHist( m_rpclv1_triggerBCid_inout_LB, "SL_triggerBCid_inout_LB") ;
       if( sc.isFailure() ) m_log << MSG::WARNING << "SL_triggerBCid_inout_LB: Histogram could not be associated to MonGroup." << endmsg; 
     }
    
     // Overview
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerHitsperEvent,"SL_TriggerHits_per_Event");
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerHitsperEvent,"SL_TriggerHits_per_Event");
     if( sc.isFailure()) m_log << MSG::WARNING << "SL_TriggerHits_per_Event: Histogram could not be associated to MonGroup." << endmsg;   
  
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerHitsperEventperTriggerSector,"SL_TriggerHits_per_Event_per_TriggerSector");
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerHitsperEventperTriggerSector,"SL_TriggerHits_per_Event_per_TriggerSector");
     if( sc.isFailure()) m_log << MSG::WARNING << "SL_TriggerHits_per_Event_per_TriggerSector: Histogram could not be associated to MonGroup." << endmsg;   
  
-    sc = rpclv1sl_shift.getHist(rpclv1_Hits_per_TriggerSector,"SL_Hits_per_TriggerSector");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_Hits_per_TriggerSector,"SL_Hits_per_TriggerSector");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "SL_Hits_per_TriggerSector: Histogram could not be associated to MonGroup." << endmsg;
 
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad_triggerBCid_inout,"SL_TriggerSector_vs_Tower_triggerBCid_inout");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout,"SL_TriggerSector_vs_Tower_triggerBCid_inout");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad_triggerBCid_inout: Histogram could not be associated to MonGroup." << endmsg;
 
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad,"SL_TriggerSector_vs_Tower");	
-    if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad: Histogram could not be associated to MonGroup." << endmsg;
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad_Pt1,"SL_TriggerSector_vs_Tower_Pt1");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad,"SL_TriggerSector_vs_Tower");	
+    if( sc.isFailure() ) m_log << MSG::WARNING << "_rpclv1_TriggerSector_vs_Pad: Histogram could not be associated to MonGroup." << endmsg;
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad_Pt1,"SL_TriggerSector_vs_Tower_Pt1");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad_Pt1: Histogram could not be associated to MonGroup." << endmsg;
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad_Pt2,"SL_TriggerSector_vs_Tower_Pt2");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad_Pt2,"SL_TriggerSector_vs_Tower_Pt2");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad_Pt2: Histogram could not be associated to MonGroup." << endmsg;
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad_Pt3,"SL_TriggerSector_vs_Tower_Pt3");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad_Pt3,"SL_TriggerSector_vs_Tower_Pt3");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad_Pt3: Histogram could not be associated to MonGroup." << endmsg;
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad_Pt4,"SL_TriggerSector_vs_Tower_Pt4");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad_Pt4,"SL_TriggerSector_vs_Tower_Pt4");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad_Pt4: Histogram could not be associated to MonGroup." << endmsg;
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad_Pt5,"SL_TriggerSector_vs_Tower_Pt5");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad_Pt5,"SL_TriggerSector_vs_Tower_Pt5");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad_Pt5: Histogram could not be associated to MonGroup." << endmsg;
-    sc = rpclv1sl_shift.getHist(rpclv1_TriggerSector_vs_Pad_Pt6,"SL_TriggerSector_vs_Tower_Pt6");	
+    sc = rpclv1sl_shift.getHist(m_rpclv1_TriggerSector_vs_Pad_Pt6,"SL_TriggerSector_vs_Tower_Pt6");	
     if( sc.isFailure() ) m_log << MSG::WARNING << "rpclv1_TriggerSector_vs_Pad_Pt6: Histogram could not be associated to MonGroup." << endmsg;
 
-    sc = rpclv1sl_shift.getHist(rpclv1_triggerBCid_inout_vs_TriggerSector,"SL_triggerBCid_inout_vs_TriggerSector");
+    sc = rpclv1sl_shift.getHist(m_rpclv1_triggerBCid_inout_vs_TriggerSector,"SL_triggerBCid_inout_vs_TriggerSector");
     if( sc.isFailure() ) m_log << MSG::WARNING << "SL_triggerBCid_inout_vs_TriggerSector: Histogram could not be associated to MonGroup." << endmsg;
 
-    sc = rpclv1sl_shift.getHist( rpclv1_rowinBCid_vs_TriggerSector, "SL_rowinBCid_vs_TriggerSector") ;
+    sc = rpclv1sl_shift.getHist( m_rpclv1_rowinBCid_vs_TriggerSector, "SL_rowinBCid_vs_TriggerSector") ;
     if( sc.isFailure() ) m_log << MSG::WARNING << "SL_rowinBCid_vs_TriggerSector: Histogram could not be associated to MonGroup." << endmsg; 
-    sc = rpclv1sl_shift.getHist( rpclv1_triggerBCid_inout_vs_Tower , "SL_triggerBCid_inout_vs_Tower") ;
+    sc = rpclv1sl_shift.getHist( m_rpclv1_triggerBCid_inout_vs_Tower , "SL_triggerBCid_inout_vs_Tower") ;
     if( sc.isFailure() ) m_log << MSG::WARNING << "SL_triggerBCid_inout_vs_Tower: Histogram could not be associated to MonGroup." << endmsg; 
-    sc = rpclv1sl_shift.getHist( rpclv1_ptid_vs_Tower, "SL_ptid_vs_Tower") ;
+    sc = rpclv1sl_shift.getHist( m_rpclv1_ptid_vs_Tower, "SL_ptid_vs_Tower") ;
     if( sc.isFailure() ) m_log << MSG::WARNING << "SL_ptid_vs_Tower: Histogram could not be associated to MonGroup." << endmsg; 
 
-    sc = rpclv1sl_shift.getHist( rpclv1_triggerBCid_inout, "SL_triggerBCid_inout") ;
+    sc = rpclv1sl_shift.getHist( m_rpclv1_triggerBCid_inout, "SL_triggerBCid_inout") ;
     if( sc.isFailure() ) m_log << MSG::WARNING << "SL_triggerBCid_inout: Histogram could not be associated to MonGroup." << endmsg; 
 
 
@@ -227,7 +216,7 @@ StatusCode RpcLv1RawDataSectorLogic::fillHistograms( )
     m_nTriggerHits = 0;
 
     // Retrieve the Sector Logic container
-    sc = (*m_activeStore) -> retrieve(sectorLogicContainer);     
+    sc = (*m_activeStore) -> retrieve(m_sectorLogicContainer);     
     
     if (sc.isFailure()) {
       m_log << MSG::INFO << "Cannot retrieve the RpcSectorLogicContainer" << endmsg;     
@@ -237,152 +226,148 @@ StatusCode RpcLv1RawDataSectorLogic::fillHistograms( )
       ///////////////////////////////////////////
       // Loop over the Sector Logic containers //
       ///////////////////////////////////////////
-      RpcSectorLogicContainer::const_iterator it = sectorLogicContainer -> begin();
-      for ( ; it != sectorLogicContainer -> end() ; ++it ) 
+      RpcSectorLogicContainer::const_iterator it = m_sectorLogicContainer -> begin();
+      for ( ; it != m_sectorLogicContainer -> end() ; ++it ) 
 	{
-	  i_sectorid = (*it)->sectorId();
+	  int i_sectorid = (*it)->sectorId();
 	  m_nTriggerHitsperSector = 0;
 
 	  // Loop over the trigger hits of each sector
 	  RpcSectorLogic::const_iterator ithit = (*it) -> begin();
 	  for ( ; ithit != (*it) -> end() ; ++ithit ) 
-	    {
-	      // from RpcSLTriggerHit
-	      b_isInput        = (*ithit) -> isInput();
-	      i_rowinBcid      = (*ithit) -> rowinBcid();//readout window BCid
-	      i_padid          = (*ithit) -> padId();//tower
-	      i_ptid           = (*ithit) -> ptId();//threshold
-	      i_roi            = (*ithit) -> roi();//region of interest
-	      i_outerPlane     = (*ithit) -> outerPlane();
-	      i_overlapPhi     = (*ithit) -> overlapPhi();
-	      i_overlapEta     = (*ithit) -> overlapEta();
-	      i_triggerBcid    = (*ithit) -> triggerBcid();
-
-	      m_Diff_triggerBCid = 0;
-	      m_in_triggerBCid = 0;
-	      m_out_triggerBCid = 0;
-	      m_in_rowinBCid = 0;
-	      m_out_rowinBCid = 0;
-	      m_Tower_in = -1;
-
-	      if (b_isInput == true){ 
-		m_nTriggerHits++;
-		m_nTriggerHitsperSector++;
+          {
+            // from RpcSLTriggerHit
+            bool b_isInput        = (*ithit) -> isInput();
+            int i_rowinBcid      = (*ithit) -> rowinBcid();//readout window BCid
+            int i_padid          = (*ithit) -> padId();//tower
+            int i_ptid           = (*ithit) -> ptId();//threshold
+            int i_roi            = (*ithit) -> roi();//region of interest
+            int i_triggerBcid    = (*ithit) -> triggerBcid();
+
+            m_Diff_triggerBCid = 0;
+            m_in_triggerBCid = 0;
+            m_out_triggerBCid = 0;
+            m_in_rowinBCid = 0;
+            m_out_rowinBCid = 0;
+            m_Tower_in = -1;
+
+            if (b_isInput == true){ 
+              m_nTriggerHits++;
+              m_nTriggerHitsperSector++;
 		
-		//Fill hits per trigger sector histogram
-		rpclv1_Hits_per_TriggerSector -> Fill(float(i_sectorid));
-		//per lumi block
-		if(m_lumiblockhist)rpclv1_Hits_per_TriggerSector_LB -> Fill(float(i_sectorid));
-
-		//Fill Pad vs. tigger sector histograms
-		if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad -> Fill(float(-(i_padid + 1)), float(i_sectorid));
-		else rpclv1_TriggerSector_vs_Pad -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
+              //Fill hits per trigger sector histogram
+              m_rpclv1_Hits_per_TriggerSector -> Fill(float(i_sectorid));
+              //per lumi block
+              if(m_lumiblockhist)m_rpclv1_Hits_per_TriggerSector_LB -> Fill(float(i_sectorid));
+
+              //Fill Pad vs. tigger sector histograms
+              if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad -> Fill(float(-(i_padid + 1)), float(i_sectorid));
+              else m_rpclv1_TriggerSector_vs_Pad -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
 		
-		if (i_ptid == 1){
-		  if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad_Pt1 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
-		  else rpclv1_TriggerSector_vs_Pad_Pt1 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
-		}
-		if (i_ptid == 2){
-		  if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad_Pt2 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
-		  else rpclv1_TriggerSector_vs_Pad_Pt2 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
-		}
-		if (i_ptid == 3){
-		  if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad_Pt3 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
-		  else rpclv1_TriggerSector_vs_Pad_Pt3 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
-		}
-		if (i_ptid == 4){
-		  if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad_Pt4 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
-		  else rpclv1_TriggerSector_vs_Pad_Pt4 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
-		}
-		if (i_ptid == 5){
-		  if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad_Pt5 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
-		  else rpclv1_TriggerSector_vs_Pad_Pt5 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
-		}
-		if (i_ptid == 6){
-		  if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad_Pt6 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
-		  else rpclv1_TriggerSector_vs_Pad_Pt6 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
-		}
+              if (i_ptid == 1){
+                if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad_Pt1 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
+                else m_rpclv1_TriggerSector_vs_Pad_Pt1 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
+              }
+              if (i_ptid == 2){
+                if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad_Pt2 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
+                else m_rpclv1_TriggerSector_vs_Pad_Pt2 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
+              }
+              if (i_ptid == 3){
+                if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad_Pt3 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
+                else m_rpclv1_TriggerSector_vs_Pad_Pt3 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
+              }
+              if (i_ptid == 4){
+                if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad_Pt4 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
+                else m_rpclv1_TriggerSector_vs_Pad_Pt4 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
+              }
+              if (i_ptid == 5){
+                if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad_Pt5 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
+                else m_rpclv1_TriggerSector_vs_Pad_Pt5 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
+              }
+              if (i_ptid == 6){
+                if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad_Pt6 -> Fill(float(-(i_padid + 1)), float(i_sectorid));
+                else m_rpclv1_TriggerSector_vs_Pad_Pt6 -> Fill(float((i_padid + 1)), float(i_sectorid - 32));
+              }
 		
-		//Fill trigger sector vs. rowin BCid histogram
-		rpclv1_rowinBCid_vs_TriggerSector -> Fill(float(i_sectorid), float(i_rowinBcid));
+              //Fill trigger sector vs. rowin BCid histogram
+              m_rpclv1_rowinBCid_vs_TriggerSector -> Fill(float(i_sectorid), float(i_rowinBcid));
 
-		//Fill Threshold vs. Pad(Tower) histogram
-		rpclv1_ptid_vs_Tower -> Fill(float(i_padid), float(i_ptid));
+              //Fill Threshold vs. Pad(Tower) histogram
+              m_rpclv1_ptid_vs_Tower -> Fill(float(i_padid), float(i_ptid));
 
-		//Trigger BCid in
-		m_in_triggerBCid = i_triggerBcid;
-		//ReadOutWindow BCid in
-		m_in_rowinBCid = i_rowinBcid;
+              //Trigger BCid in
+              m_in_triggerBCid = i_triggerBcid;
+              //ReadOutWindow BCid in
+              m_in_rowinBCid = i_rowinBcid;
 
-		//Tower in
-		m_Tower_in = i_padid;
+              //Tower in
+              m_Tower_in = i_padid;
 		
-		m_Tower_out = -1;
-		// Loop over the trigger hits of each sector
-		RpcSectorLogic::const_iterator ithiti = (*it) -> begin();
-		for ( ; ithiti != (*it) -> end() ; ++ithiti ) 
-		  {
-		    b_isInput1        = (*ithiti) -> isInput();
-		    i_padid1          = (*ithiti) -> padId();//tower
-		    i_roi1            = (*ithiti) -> roi();//region of interest
-		    i_triggerBcid1    = (*ithiti) -> triggerBcid();
-		    i_rowinBcid1      = (*ithiti) -> rowinBcid();
-		    if (b_isInput1 == false){ 
-
-		      //Tower out calculated from ROI out
-		      if ( i_roi1 < 4 ) m_Tower_out = 0; 
-		      if ( i_roi1 >= 4 && i_roi < 8 ) m_Tower_out = 1; 
-		      if ( i_roi1 >= 8 && i_roi < 12 ) m_Tower_out = 2; 
-		      if ( i_roi1 >= 12 && i_roi < 16 ) m_Tower_out = 3; 
-		      if ( i_roi1 >= 16 && i_roi < 20 ) m_Tower_out = 4; 
-		      if ( i_roi1 >= 20 && i_roi < 24 ) m_Tower_out = 5; 
-		      if ( i_roi1 >= 24 ) m_Tower_out = 6; 
+              m_Tower_out = -1;
+              // Loop over the trigger hits of each sector
+              RpcSectorLogic::const_iterator ithiti = (*it) -> begin();
+              for ( ; ithiti != (*it) -> end() ; ++ithiti ) 
+              {
+                bool b_isInput1        = (*ithiti) -> isInput();
+                int i_roi1            = (*ithiti) -> roi();//region of interest
+                int i_triggerBcid1    = (*ithiti) -> triggerBcid();
+                int i_rowinBcid1      = (*ithiti) -> rowinBcid();
+                if (b_isInput1 == false){ 
+
+                  //Tower out calculated from ROI out
+                  if ( i_roi1 < 4 ) m_Tower_out = 0; 
+                  if ( i_roi1 >= 4 && i_roi < 8 ) m_Tower_out = 1; 
+                  if ( i_roi1 >= 8 && i_roi < 12 ) m_Tower_out = 2; 
+                  if ( i_roi1 >= 12 && i_roi < 16 ) m_Tower_out = 3; 
+                  if ( i_roi1 >= 16 && i_roi < 20 ) m_Tower_out = 4; 
+                  if ( i_roi1 >= 20 && i_roi < 24 ) m_Tower_out = 5; 
+                  if ( i_roi1 >= 24 ) m_Tower_out = 6; 
 		      
-		      //Trigger BCid out
-		      m_out_triggerBCid = i_triggerBcid1;
-		      //ReadOutWindow BCid in
-		      m_out_rowinBCid = i_rowinBcid1;
-
-		      //Calculate Timing difference in trigger BCid
-		      if ((m_Tower_out == m_Tower_in) && (m_out_rowinBCid == m_in_rowinBCid)){
-			if(m_in_triggerBCid - m_out_triggerBCid >= 0) m_Diff_triggerBCid = m_in_triggerBCid - m_out_triggerBCid;
-			else  m_Diff_triggerBCid = (m_in_triggerBCid - m_out_triggerBCid) + 8;
-		      }
-		    }
+                  //Trigger BCid out
+                  m_out_triggerBCid = i_triggerBcid1;
+                  //ReadOutWindow BCid in
+                  m_out_rowinBCid = i_rowinBcid1;
+
+                  //Calculate Timing difference in trigger BCid
+                  if ((m_Tower_out == m_Tower_in) && (m_out_rowinBCid == m_in_rowinBCid)){
+                    if(m_in_triggerBCid - m_out_triggerBCid >= 0) m_Diff_triggerBCid = m_in_triggerBCid - m_out_triggerBCid;
+                    else  m_Diff_triggerBCid = (m_in_triggerBCid - m_out_triggerBCid) + 8;
+                  }
+                }
 		    
-		  }
-	      }
+              }
+            }
 	      
 
-	      //Fill in/out dependent histograms & histograms with timing difference only for IN
-	      if (b_isInput == true){ 
+            //Fill in/out dependent histograms & histograms with timing difference only for IN
+            if (b_isInput == true){ 
 
-		rpclv1_triggerBCid_inout_vs_Tower -> Fill(float(m_Tower_out), float(m_Diff_triggerBCid));
+              m_rpclv1_triggerBCid_inout_vs_Tower -> Fill(float(m_Tower_out), float(m_Diff_triggerBCid));
 
-		// if (i_padid == 0){ 
-		rpclv1_triggerBCid_inout_vs_TriggerSector -> Fill(float(i_sectorid), float(m_Diff_triggerBCid));
-		rpclv1_triggerBCid_inout -> Fill(float(m_Diff_triggerBCid));
-		//per lumi block
-		if(m_lumiblockhist)rpclv1_triggerBCid_inout_LB -> Fill(float(m_Diff_triggerBCid));
-		// }
+              // if (i_padid == 0){ 
+              m_rpclv1_triggerBCid_inout_vs_TriggerSector -> Fill(float(i_sectorid), float(m_Diff_triggerBCid));
+              m_rpclv1_triggerBCid_inout -> Fill(float(m_Diff_triggerBCid));
+              //per lumi block
+              if(m_lumiblockhist)m_rpclv1_triggerBCid_inout_LB -> Fill(float(m_Diff_triggerBCid));
+              // }
 
-		if (i_sectorid < 32) rpclv1_TriggerSector_vs_Pad_triggerBCid_inout -> Fill(float(-(i_padid + 1)), float(i_sectorid), float(m_Diff_triggerBCid));
-		else rpclv1_TriggerSector_vs_Pad_triggerBCid_inout -> Fill(float((i_padid + 1)), float(i_sectorid - 32), float(m_Diff_triggerBCid));
-	      }
+              if (i_sectorid < 32) m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout -> Fill(float(-(i_padid + 1)), float(i_sectorid), float(m_Diff_triggerBCid));
+              else m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout -> Fill(float((i_padid + 1)), float(i_sectorid - 32), float(m_Diff_triggerBCid));
+            }
 		
-	    } // End Loop over the trigger hits of each sector	  
+          } // End Loop over the trigger hits of each sector	  
 	  
 	  // Fill the trigger hits per event per sector histogram here
 	  if (m_nTriggerHitsperSector > 0) {
-	    rpclv1_TriggerHitsperEventperTriggerSector -> Fill(float(i_sectorid), float(m_nTriggerHitsperSector));
+	    m_rpclv1_TriggerHitsperEventperTriggerSector -> Fill(float(i_sectorid), float(m_nTriggerHitsperSector));
 	    //per lumi block
-	    if(m_lumiblockhist)rpclv1_TriggerHitsperEventperTriggerSector_LB -> Fill(float(i_sectorid), float(m_nTriggerHitsperSector));
+	    if(m_lumiblockhist)m_rpclv1_TriggerHitsperEventperTriggerSector_LB -> Fill(float(i_sectorid), float(m_nTriggerHitsperSector));
 	  }
 
 	} // End Loop over the Sector Logic containers
       
       // Fill the trigger hits per event histogram here
-      rpclv1_TriggerHitsperEvent -> Fill(float(m_nTriggerHits));
+      m_rpclv1_TriggerHitsperEvent -> Fill(float(m_nTriggerHits));
 
     }
     
@@ -404,14 +389,14 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       m_environment == AthenaMonManager::online )  {     
     
     //Declare the Sector Logic histograms
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1SectorLogic";
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1SectorLogic";
      
-    MonGroup rpclv1sl_shift ( this, m_generic_path_rpclv1monitoring + "/Overview", run, ATTRIB_UNMANAGED );
+    MonGroup rpclv1sl_shift ( this, generic_path_rpclv1monitoring + "/Overview", run, ATTRIB_UNMANAGED );
     
     if(newEventsBlock){}
 
     if(newLumiBlock && m_lumiblockhist){
-      MonGroup rpclv1sl_lumi_block ( this, m_generic_path_rpclv1monitoring + "/lumiblock", lumiBlock, ATTRIB_UNMANAGED )  ;
+      MonGroup rpclv1sl_lumi_block ( this, generic_path_rpclv1monitoring + "/lumiblock", lumiBlock, ATTRIB_UNMANAGED )  ;
       if (m_debuglevel) {
       	//m_log << MSG::DEBUG << "SHIFT : "<< shift << endmsg;
       	m_log << MSG::DEBUG << "RUN : "  << run << endmsg; 	     	
@@ -421,10 +406,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       //_____________________________________________________________________
       // Sector logic statistics
 
-      std::string m_rpclv1_Hits_per_TriggerSector_LB_title = "SL_Hits_per_TriggerSector_LB";    
-      const char* m_rpclv1_Hits_per_TriggerSector_LB_title_char = m_rpclv1_Hits_per_TriggerSector_LB_title.c_str ();
+      std::string rpclv1_Hits_per_TriggerSector_LB_title = "SL_Hits_per_TriggerSector_LB";    
+      const char* rpclv1_Hits_per_TriggerSector_LB_title_char = rpclv1_Hits_per_TriggerSector_LB_title.c_str ();
 
-      TH1 *rpclv1_Hits_per_TriggerSector_LB = new TH1I(m_rpclv1_Hits_per_TriggerSector_LB_title_char, m_rpclv1_Hits_per_TriggerSector_LB_title_char, 64, 0, 64);
+      TH1 *rpclv1_Hits_per_TriggerSector_LB = new TH1I(rpclv1_Hits_per_TriggerSector_LB_title_char, rpclv1_Hits_per_TriggerSector_LB_title_char, 64, 0, 64);
 
       sc = rpclv1sl_lumi_block.regHist(rpclv1_Hits_per_TriggerSector_LB);
       if (sc.isFailure()) { 
@@ -441,11 +426,11 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
 
       //_____________________________________________________________________
       // Trigger hits per event per Trigger Sector
-      std::string m_rpclv1_TriggerHitsperEventperTriggerSector_LB_title      = "SL_TriggerHits_per_Event_per_TriggerSector_LB";     
-      const char* m_rpclv1_TriggerHitsperEventperTriggerSector_LB_title_char = m_rpclv1_TriggerHitsperEventperTriggerSector_LB_title.c_str();
+      std::string rpclv1_TriggerHitsperEventperTriggerSector_LB_title      = "SL_TriggerHits_per_Event_per_TriggerSector_LB";     
+      const char* rpclv1_TriggerHitsperEventperTriggerSector_LB_title_char = rpclv1_TriggerHitsperEventperTriggerSector_LB_title.c_str();
       
       // Create Histogram
-      TH2 *rpclv1_TriggerHitsperEventperTriggerSector_LB = new TH2I(m_rpclv1_TriggerHitsperEventperTriggerSector_LB_title_char, m_rpclv1_TriggerHitsperEventperTriggerSector_LB_title_char, 64, 0, 64, 30, -0.5, 29.5);
+      TH2 *rpclv1_TriggerHitsperEventperTriggerSector_LB = new TH2I(rpclv1_TriggerHitsperEventperTriggerSector_LB_title_char, rpclv1_TriggerHitsperEventperTriggerSector_LB_title_char, 64, 0, 64, 30, -0.5, 29.5);
  
       sc = rpclv1sl_lumi_block.regHist(rpclv1_TriggerHitsperEventperTriggerSector_LB) ; 
       if(sc.isFailure()) { 
@@ -462,10 +447,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       //_____________________________________________________________________
       // trigger BCid in vs. out per Lumi Block
 
-      std::string m_rpclv1_triggerBCid_inout_LB_title = "SL_triggerBCid_inout_LB";
-      const char* m_rpclv1_triggerBCid_inout_LB_title_char = m_rpclv1_triggerBCid_inout_LB_title.c_str();
+      std::string rpclv1_triggerBCid_inout_LB_title = "SL_triggerBCid_inout_LB";
+      const char* rpclv1_triggerBCid_inout_LB_title_char = rpclv1_triggerBCid_inout_LB_title.c_str();
 
-      TH1 * rpclv1_triggerBCid_inout_LB = new TH1I(m_rpclv1_triggerBCid_inout_LB_title_char, m_rpclv1_triggerBCid_inout_LB_title_char, 8, 0, 8);
+      TH1 * rpclv1_triggerBCid_inout_LB = new TH1I(rpclv1_triggerBCid_inout_LB_title_char, rpclv1_triggerBCid_inout_LB_title_char, 8, 0, 8);
  
       sc = rpclv1sl_lumi_block.regHist(rpclv1_triggerBCid_inout_LB);
       if(sc.isFailure()){ 
@@ -476,7 +461,7 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_triggerBCid_inout_LB -> GetXaxis() -> SetTitle("triggerBCid (in - out)");
       rpclv1_triggerBCid_inout_LB -> GetYaxis() -> SetTitle("Counts");
 
-      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_triggerBCid_inout_LB << m_rpclv1_triggerBCid_inout_LB_title.c_str() << endmsg;
+      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_triggerBCid_inout_LB << rpclv1_triggerBCid_inout_LB_title.c_str() << endmsg;
 	
 	
     }// isNewLumiBlock
@@ -491,10 +476,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
 
       //_____________________________________________________________________
       // rowin BCid vs Trigger Sector
-      std::string m_rpclv1_rowinBCid_vs_TriggerSector_title = "SL_rowinBCid_vs_TriggerSector";
-      const char* m_rpclv1_rowinBCid_vs_TriggerSector_title_char = m_rpclv1_rowinBCid_vs_TriggerSector_title.c_str();
+      std::string rpclv1_rowinBCid_vs_TriggerSector_title = "SL_rowinBCid_vs_TriggerSector";
+      const char* rpclv1_rowinBCid_vs_TriggerSector_title_char = rpclv1_rowinBCid_vs_TriggerSector_title.c_str();
 	
-      TH2* rpclv1_rowinBCid_vs_TriggerSector = new TH2I ( m_rpclv1_rowinBCid_vs_TriggerSector_title_char, m_rpclv1_rowinBCid_vs_TriggerSector_title_char, 64, 0, 64, 8, 0, 8);
+      TH2* rpclv1_rowinBCid_vs_TriggerSector = new TH2I ( rpclv1_rowinBCid_vs_TriggerSector_title_char, rpclv1_rowinBCid_vs_TriggerSector_title_char, 64, 0, 64, 8, 0, 8);
 
       sc = rpclv1sl_shift.regHist( rpclv1_rowinBCid_vs_TriggerSector );
       if(sc.isFailure()){ 
@@ -505,17 +490,17 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_rowinBCid_vs_TriggerSector -> GetYaxis() -> SetTitle("rowinBCid");
       rpclv1_rowinBCid_vs_TriggerSector -> SetOption("COLZ");
 
-      if (m_debuglevel) m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_rowinBCid_vs_TriggerSector << m_rpclv1_rowinBCid_vs_TriggerSector_title.c_str() << endmsg;
+      if (m_debuglevel) m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_rowinBCid_vs_TriggerSector << rpclv1_rowinBCid_vs_TriggerSector_title.c_str() << endmsg;
 	
 	
 
 
       //_____________________________________________________________________
       // trigger BCid (in - out) vs Tower
-      std::string m_rpclv1_triggerBCid_inout_vs_Tower_title = "SL_triggerBCid_inout_vs_Tower";
-      const char* m_rpclv1_triggerBCid_inout_vs_Tower_title_char = m_rpclv1_triggerBCid_inout_vs_Tower_title.c_str();
+      std::string rpclv1_triggerBCid_inout_vs_Tower_title = "SL_triggerBCid_inout_vs_Tower";
+      const char* rpclv1_triggerBCid_inout_vs_Tower_title_char = rpclv1_triggerBCid_inout_vs_Tower_title.c_str();
 	
-      TH2* rpclv1_triggerBCid_inout_vs_Tower = new TH2I ( m_rpclv1_triggerBCid_inout_vs_Tower_title_char, m_rpclv1_triggerBCid_inout_vs_Tower_title_char, 8, 0, 8, 8, 0, 8);
+      TH2* rpclv1_triggerBCid_inout_vs_Tower = new TH2I ( rpclv1_triggerBCid_inout_vs_Tower_title_char, rpclv1_triggerBCid_inout_vs_Tower_title_char, 8, 0, 8, 8, 0, 8);
 
       sc = rpclv1sl_shift.regHist( rpclv1_triggerBCid_inout_vs_Tower );
       if(sc.isFailure()){ 
@@ -526,17 +511,17 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_triggerBCid_inout_vs_Tower -> GetYaxis() -> SetTitle("triggerBCid (in - out)");
       rpclv1_triggerBCid_inout_vs_Tower -> SetOption("COLZ");
 
-      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " <<  rpclv1_triggerBCid_inout_vs_Tower << m_rpclv1_triggerBCid_inout_vs_Tower_title.c_str() << endmsg;
+      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " <<  rpclv1_triggerBCid_inout_vs_Tower << rpclv1_triggerBCid_inout_vs_Tower_title.c_str() << endmsg;
 
 
 
       //_____________________________________________________________________
       // Sector logic statistics
 
-      std::string m_rpclv1_Hits_per_TriggerSector_title = "SL_Hits_per_TriggerSector";    
-      const char* m_rpclv1_Hits_per_TriggerSector_title_char = m_rpclv1_Hits_per_TriggerSector_title.c_str ();
+      std::string rpclv1_Hits_per_TriggerSector_title = "SL_Hits_per_TriggerSector";    
+      const char* rpclv1_Hits_per_TriggerSector_title_char = rpclv1_Hits_per_TriggerSector_title.c_str ();
 
-      TH1 *rpclv1_Hits_per_TriggerSector = new TH1I(m_rpclv1_Hits_per_TriggerSector_title_char, m_rpclv1_Hits_per_TriggerSector_title_char, 64, 0, 64);
+      TH1 *rpclv1_Hits_per_TriggerSector = new TH1I(rpclv1_Hits_per_TriggerSector_title_char, rpclv1_Hits_per_TriggerSector_title_char, 64, 0, 64);
 
       sc = rpclv1sl_shift.regHist(rpclv1_Hits_per_TriggerSector);
       if (sc.isFailure()) { 
@@ -551,11 +536,11 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
     
       //_____________________________________________________________________
       // Trigger hits per event
-      std::string m_rpclv1_TriggerHitsperEvent_title      = "SL_TriggerHits_per_Event";     
-      const char* m_rpclv1_TriggerHitsperEvent_title_char = m_rpclv1_TriggerHitsperEvent_title.c_str();
+      std::string rpclv1_TriggerHitsperEvent_title      = "SL_TriggerHits_per_Event";     
+      const char* rpclv1_TriggerHitsperEvent_title_char = rpclv1_TriggerHitsperEvent_title.c_str();
       
       // Create Histogram
-      TH1 *rpclv1_TriggerHitsperEvent = new TH1I(m_rpclv1_TriggerHitsperEvent_title_char, m_rpclv1_TriggerHitsperEvent_title_char, 30, -0.5, 29.5);
+      TH1 *rpclv1_TriggerHitsperEvent = new TH1I(rpclv1_TriggerHitsperEvent_title_char, rpclv1_TriggerHitsperEvent_title_char, 30, -0.5, 29.5);
  
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerHitsperEvent) ; 
       if(sc.isFailure()) { 
@@ -572,11 +557,11 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
 
       //_____________________________________________________________________
       // Trigger hits per event per Trigger Sector
-      std::string m_rpclv1_TriggerHitsperEventperTriggerSector_title      = "SL_TriggerHits_per_Event_per_TriggerSector";     
-      const char* m_rpclv1_TriggerHitsperEventperTriggerSector_title_char = m_rpclv1_TriggerHitsperEventperTriggerSector_title.c_str();
+      std::string rpclv1_TriggerHitsperEventperTriggerSector_title      = "SL_TriggerHits_per_Event_per_TriggerSector";     
+      const char* rpclv1_TriggerHitsperEventperTriggerSector_title_char = rpclv1_TriggerHitsperEventperTriggerSector_title.c_str();
       
       // Create Histogram
-      TH2 *rpclv1_TriggerHitsperEventperTriggerSector = new TH2I(m_rpclv1_TriggerHitsperEventperTriggerSector_title_char, m_rpclv1_TriggerHitsperEventperTriggerSector_title_char, 64, 0, 64, 30, -0.5, 29.5);
+      TH2 *rpclv1_TriggerHitsperEventperTriggerSector = new TH2I(rpclv1_TriggerHitsperEventperTriggerSector_title_char, rpclv1_TriggerHitsperEventperTriggerSector_title_char, 64, 0, 64, 30, -0.5, 29.5);
  
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerHitsperEventperTriggerSector) ; 
       if(sc.isFailure()) { 
@@ -593,10 +578,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       //_____________________________________________________________________
       //TriggerSector_vs_Tower
 
-      std::string m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title = "SL_TriggerSector_vs_Tower_triggerBCid_inout";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title_char = m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title = "SL_TriggerSector_vs_Tower_triggerBCid_inout";    
+      const char* rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title_char = rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad_triggerBCid_inout = new TH2I(m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title_char,m_rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad_triggerBCid_inout = new TH2I(rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title_char,rpclv1_TriggerSector_vs_Pad_triggerBCid_inout_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad_triggerBCid_inout);  
       if (sc.isFailure()) { 
@@ -612,10 +597,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       //_____________________________________________________________________
       //TriggerSector_vs_Tower
 
-      std::string m_rpclv1_TriggerSector_vs_Pad_title = "SL_TriggerSector_vs_Tower";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_title_char = m_rpclv1_TriggerSector_vs_Pad_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_title = "SL_TriggerSector_vs_Tower";    
+      const char* rpclv1_TriggerSector_vs_Pad_title_char = rpclv1_TriggerSector_vs_Pad_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad = new TH2I(m_rpclv1_TriggerSector_vs_Pad_title_char,m_rpclv1_TriggerSector_vs_Pad_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad = new TH2I(rpclv1_TriggerSector_vs_Pad_title_char,rpclv1_TriggerSector_vs_Pad_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad);  
       if (sc.isFailure()) { 
@@ -630,10 +615,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
 
       //_____________________________________________________________________
       //TriggerSector_vs_Tower_Pt1
-      std::string m_rpclv1_TriggerSector_vs_Pad_Pt1_title = "SL_TriggerSector_vs_Tower_Pt1";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_Pt1_title_char = m_rpclv1_TriggerSector_vs_Pad_Pt1_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_Pt1_title = "SL_TriggerSector_vs_Tower_Pt1";    
+      const char* rpclv1_TriggerSector_vs_Pad_Pt1_title_char = rpclv1_TriggerSector_vs_Pad_Pt1_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad_Pt1 = new TH2I(m_rpclv1_TriggerSector_vs_Pad_Pt1_title_char,m_rpclv1_TriggerSector_vs_Pad_Pt1_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad_Pt1 = new TH2I(rpclv1_TriggerSector_vs_Pad_Pt1_title_char,rpclv1_TriggerSector_vs_Pad_Pt1_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad_Pt1);  
       if (sc.isFailure()) { 
@@ -645,10 +630,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_TriggerSector_vs_Pad_Pt1 -> GetYaxis() -> SetTitle("RPC trigger sector");
 
       //TriggerSector_vs_Tower_Pt2
-      std::string m_rpclv1_TriggerSector_vs_Pad_Pt2_title = "SL_TriggerSector_vs_Tower_Pt2";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_Pt2_title_char = m_rpclv1_TriggerSector_vs_Pad_Pt2_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_Pt2_title = "SL_TriggerSector_vs_Tower_Pt2";    
+      const char* rpclv1_TriggerSector_vs_Pad_Pt2_title_char = rpclv1_TriggerSector_vs_Pad_Pt2_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad_Pt2 = new TH2I(m_rpclv1_TriggerSector_vs_Pad_Pt2_title_char,m_rpclv1_TriggerSector_vs_Pad_Pt2_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad_Pt2 = new TH2I(rpclv1_TriggerSector_vs_Pad_Pt2_title_char,rpclv1_TriggerSector_vs_Pad_Pt2_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad_Pt2);  
       if (sc.isFailure()) { 
@@ -660,10 +645,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_TriggerSector_vs_Pad_Pt2 -> GetYaxis() -> SetTitle("RPC trigger sector");
 
       //TriggerSector_vs_Tower_Pt3
-      std::string m_rpclv1_TriggerSector_vs_Pad_Pt3_title = "SL_TriggerSector_vs_Tower_Pt3";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_Pt3_title_char = m_rpclv1_TriggerSector_vs_Pad_Pt3_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_Pt3_title = "SL_TriggerSector_vs_Tower_Pt3";    
+      const char* rpclv1_TriggerSector_vs_Pad_Pt3_title_char = rpclv1_TriggerSector_vs_Pad_Pt3_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad_Pt3 = new TH2I(m_rpclv1_TriggerSector_vs_Pad_Pt3_title_char,m_rpclv1_TriggerSector_vs_Pad_Pt3_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad_Pt3 = new TH2I(rpclv1_TriggerSector_vs_Pad_Pt3_title_char,rpclv1_TriggerSector_vs_Pad_Pt3_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad_Pt3);  
       if (sc.isFailure()) { 
@@ -675,10 +660,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_TriggerSector_vs_Pad_Pt3 -> GetYaxis() -> SetTitle("RPC trigger sector");
 
       //TriggerSector_vs_Tower_Pt4
-      std::string m_rpclv1_TriggerSector_vs_Pad_Pt4_title = "SL_TriggerSector_vs_Tower_Pt4";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_Pt4_title_char = m_rpclv1_TriggerSector_vs_Pad_Pt4_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_Pt4_title = "SL_TriggerSector_vs_Tower_Pt4";    
+      const char* rpclv1_TriggerSector_vs_Pad_Pt4_title_char = rpclv1_TriggerSector_vs_Pad_Pt4_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad_Pt4 = new TH2I(m_rpclv1_TriggerSector_vs_Pad_Pt4_title_char,m_rpclv1_TriggerSector_vs_Pad_Pt4_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad_Pt4 = new TH2I(rpclv1_TriggerSector_vs_Pad_Pt4_title_char,rpclv1_TriggerSector_vs_Pad_Pt4_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad_Pt4);  
       if (sc.isFailure()) { 
@@ -690,10 +675,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_TriggerSector_vs_Pad_Pt4 -> GetYaxis() -> SetTitle("RPC trigger sector");
 
       //TriggerSector_vs_Tower_Pt5
-      std::string m_rpclv1_TriggerSector_vs_Pad_Pt5_title = "SL_TriggerSector_vs_Tower_Pt5";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_Pt5_title_char = m_rpclv1_TriggerSector_vs_Pad_Pt5_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_Pt5_title = "SL_TriggerSector_vs_Tower_Pt5";    
+      const char* rpclv1_TriggerSector_vs_Pad_Pt5_title_char = rpclv1_TriggerSector_vs_Pad_Pt5_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad_Pt5 = new TH2I(m_rpclv1_TriggerSector_vs_Pad_Pt5_title_char,m_rpclv1_TriggerSector_vs_Pad_Pt5_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad_Pt5 = new TH2I(rpclv1_TriggerSector_vs_Pad_Pt5_title_char,rpclv1_TriggerSector_vs_Pad_Pt5_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad_Pt5);  
       if (sc.isFailure()) { 
@@ -705,10 +690,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_TriggerSector_vs_Pad_Pt5 -> GetYaxis() -> SetTitle("RPC trigger sector");
 
       //TriggerSector_vs_Tower_Pt6
-      std::string m_rpclv1_TriggerSector_vs_Pad_Pt6_title = "SL_TriggerSector_vs_Tower_Pt6";    
-      const char* m_rpclv1_TriggerSector_vs_Pad_Pt6_title_char = m_rpclv1_TriggerSector_vs_Pad_Pt6_title.c_str ();     
+      std::string rpclv1_TriggerSector_vs_Pad_Pt6_title = "SL_TriggerSector_vs_Tower_Pt6";    
+      const char* rpclv1_TriggerSector_vs_Pad_Pt6_title_char = rpclv1_TriggerSector_vs_Pad_Pt6_title.c_str ();     
 
-      TH2 *rpclv1_TriggerSector_vs_Pad_Pt6 = new TH2I(m_rpclv1_TriggerSector_vs_Pad_Pt6_title_char,m_rpclv1_TriggerSector_vs_Pad_Pt6_title_char, 17, -8.5, 8.5, 32, 0, 32);
+      TH2 *rpclv1_TriggerSector_vs_Pad_Pt6 = new TH2I(rpclv1_TriggerSector_vs_Pad_Pt6_title_char,rpclv1_TriggerSector_vs_Pad_Pt6_title_char, 17, -8.5, 8.5, 32, 0, 32);
 
       sc = rpclv1sl_shift.regHist(rpclv1_TriggerSector_vs_Pad_Pt6);  
       if (sc.isFailure()) { 
@@ -724,10 +709,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       //_____________________________________________________________________
       //trigger BCid in vs. out
 
-      std::string m_rpclv1_triggerBCid_inout_vs_TriggerSector_title = "SL_triggerBCid_inout_vs_TriggerSector";    
-      const char* m_rpclv1_triggerBCid_inout_vs_TriggerSector_title_char = m_rpclv1_triggerBCid_inout_vs_TriggerSector_title.c_str ();     
+      std::string rpclv1_triggerBCid_inout_vs_TriggerSector_title = "SL_triggerBCid_inout_vs_TriggerSector";    
+      const char* rpclv1_triggerBCid_inout_vs_TriggerSector_title_char = rpclv1_triggerBCid_inout_vs_TriggerSector_title.c_str ();     
 
-      TH2 *rpclv1_triggerBCid_inout_vs_TriggerSector = new TH2I(m_rpclv1_triggerBCid_inout_vs_TriggerSector_title_char,m_rpclv1_triggerBCid_inout_vs_TriggerSector_title_char, 64, 0, 64, 8, 0, 8);
+      TH2 *rpclv1_triggerBCid_inout_vs_TriggerSector = new TH2I(rpclv1_triggerBCid_inout_vs_TriggerSector_title_char,rpclv1_triggerBCid_inout_vs_TriggerSector_title_char, 64, 0, 64, 8, 0, 8);
 
       sc = rpclv1sl_shift.regHist(rpclv1_triggerBCid_inout_vs_TriggerSector);  
       if (sc.isFailure()) { 
@@ -745,10 +730,10 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       //_____________________________________________________________________
       // PtID (Threshold)
 
-      std::string m_rpclv1_ptid_vs_Tower_title = "SL_ptid_vs_Tower";
-      const char* m_rpclv1_ptid_vs_Tower_title_char = m_rpclv1_ptid_vs_Tower_title.c_str();
+      std::string rpclv1_ptid_vs_Tower_title = "SL_ptid_vs_Tower";
+      const char* rpclv1_ptid_vs_Tower_title_char = rpclv1_ptid_vs_Tower_title.c_str();
 
-      TH2 * rpclv1_ptid_vs_Tower = new TH2I(m_rpclv1_ptid_vs_Tower_title_char, m_rpclv1_ptid_vs_Tower_title_char, 8, 0, 8, 6, 1, 7);
+      TH2 * rpclv1_ptid_vs_Tower = new TH2I(rpclv1_ptid_vs_Tower_title_char, rpclv1_ptid_vs_Tower_title_char, 8, 0, 8, 6, 1, 7);
  
       sc = rpclv1sl_shift.regHist(rpclv1_ptid_vs_Tower);
       if(sc.isFailure()){ 
@@ -759,16 +744,16 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_ptid_vs_Tower -> GetXaxis() -> SetTitle("Tower");
       rpclv1_ptid_vs_Tower -> GetYaxis() -> SetTitle("Threshold");
 
-      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_ptid_vs_Tower << m_rpclv1_ptid_vs_Tower_title.c_str() << endmsg;
+      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_ptid_vs_Tower << rpclv1_ptid_vs_Tower_title.c_str() << endmsg;
 	
 	
       //_____________________________________________________________________
       // trigger BCid in vs. out
 
-      std::string m_rpclv1_triggerBCid_inout_title = "SL_triggerBCid_inout";
-      const char* m_rpclv1_triggerBCid_inout_title_char = m_rpclv1_triggerBCid_inout_title.c_str();
+      std::string rpclv1_triggerBCid_inout_title = "SL_triggerBCid_inout";
+      const char* rpclv1_triggerBCid_inout_title_char = rpclv1_triggerBCid_inout_title.c_str();
 
-      TH1 * rpclv1_triggerBCid_inout = new TH1I(m_rpclv1_triggerBCid_inout_title_char, m_rpclv1_triggerBCid_inout_title_char, 8, 0, 8);
+      TH1 * rpclv1_triggerBCid_inout = new TH1I(rpclv1_triggerBCid_inout_title_char, rpclv1_triggerBCid_inout_title_char, 8, 0, 8);
  
       sc = rpclv1sl_shift.regHist(rpclv1_triggerBCid_inout);
       if(sc.isFailure()){ 
@@ -779,7 +764,7 @@ StatusCode RpcLv1RawDataSectorLogic::bookHistogramsRecurrent()
       rpclv1_triggerBCid_inout -> GetXaxis() -> SetTitle("triggerBCid (in - out)");
       rpclv1_triggerBCid_inout -> GetYaxis() -> SetTitle("Counts");
 
-      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_triggerBCid_inout << m_rpclv1_triggerBCid_inout_title.c_str() << endmsg;
+      if (m_debuglevel)	m_log << MSG::DEBUG << "INSIDE bookHistograms successfully: " << rpclv1_triggerBCid_inout << rpclv1_triggerBCid_inout_title.c_str() << endmsg;
 	
 	
  
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataValAlg.cxx
index 3e4d380c1b668c3f0cb0e1a95355897a00a37615..dfdbf8f356773fedc0c079c7cf6af6604be7876f 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcLv1RawDataValAlg.cxx
@@ -30,21 +30,6 @@
 static const int  NMAXHIT = 200 ;
    
 
-//std::string lv1_layer_name         ;
-int  i_triggertimelowpt  	     ;    
-int  i_triggertimehighpt 	     ;  
-int  n_triggerlowpt	 	     ;  
-int  n_triggerlowpt_eta  	     ;
-int  n_triggerlowpt_phi  	     ;
-int  n_triggerhighpt	 	     ;
-int  n_triggerhighpt_eta 	     ;
-int  n_triggerhighpt_phi 	     ;
-
-int  IJKtriggerLowPtPhi  	     ;
-int  IJKtriggerLowPtEta  	     ;
-int  IJKtriggerHighPtPhi 	     ;
-int  IJKtriggerHighPtEta 	     ;
-
 /////////////////////////////////////////////////////////////////////////////
 
 RpcLv1RawDataValAlg::RpcLv1RawDataValAlg( const std::string & type, const std::string & name, const IInterface* parent )
@@ -66,8 +51,6 @@ RpcLv1RawDataValAlg::RpcLv1RawDataValAlg( const std::string & type, const std::s
   declareProperty("Side",             	  m_side=0); 
   declareProperty("Clusters",             m_doClusters = false); 
   declareProperty("doCoolDB",		  m_doCoolDB   = false );	 
-  m_padsId        = 0;
-  m_rpcchambersId = 0;
 }
 
 RpcLv1RawDataValAlg::~RpcLv1RawDataValAlg()
@@ -90,34 +73,6 @@ StatusCode RpcLv1RawDataValAlg::initialize()
   ATH_MSG_INFO ( "RpcLv1Hist		" << m_rpclv1hist		);
   ATH_MSG_INFO ( "RpcLv1ReduceNbins	" << m_rpclv1reducenbins	);
   StatusCode sc;
-  rpc_eventstotal=0;
-  rpc_event_inarea=0;
-  n_triggerhighpt = 0 ;
-  n_triggerhighpt_eta = 0 ;
-  n_triggerhighpt_phi = 0 ;
-  n_trigLow_ly = 0 ;
-  n_trigHigh_ly = 0 ;
-  IJKtriggerLowPtPhi = 0 ;
-  IJKtriggerLowPtEta = 0 ;
-  IJKtriggerHighPtPhi = 0 ;
-  IJKtriggerHighPtEta = 0 ;
-  istatPhi = 0 ;
-  iName = 0 ;
-  ir = 0 ;
-  side = 0 ;
-  sector = 0 ;
-  rpcRDO = 0 ;
-  rdoColl = 0 ;
-  m_SL_nSectors = 0 ;
-  m_SL_nTriggerHits = 0 ;
-  sectorLogicContainer = 0 ;
-  N_pad = 0 ;
-  N_bin_profile = 0 ;
-  TriggerCondition_vs_CM = 0 ;
-  rpclv1_logicalOR_LowPt0 = 0 ;
-  rpclv1_logicalOR_LowPt1 = 0 ;
-  rpclv1_logicalOR_HighPt0 = 0 ;
-  rpclv1_logicalOR_HighPt1 = 0 ;
  
   // Store Gate store
   sc = serviceLocator()->service("StoreGateSvc", m_eventStore);
@@ -196,7 +151,7 @@ StatusCode RpcLv1RawDataValAlg::StoreTriggerType() {
     return sc;
   }else {ATH_MSG_DEBUG ( "RpcLv1RawDataValAlg::retrieved eventInfo" );} 
   
-  trigtype = eventInfo->level1TriggerType();
+  m_trigtype = eventInfo->level1TriggerType();
 
   return sc;
 }
@@ -216,37 +171,27 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
  
     ATH_MSG_DEBUG ( "GetTriggerType() "<< GetTriggerType()  );
 
-    i_triggertimelowpt  =-1 ;    
-    i_triggertimehighpt =-1 ;  
-    n_triggerlowpt      = 0 ;  
-    n_triggerlowpt_eta  = 0 ;
-    n_triggerlowpt_phi  = 0 ;
-    n_triggerhighpt     = 0 ;
-    n_triggerhighpt_eta = 0 ;
-    n_triggerhighpt_phi = 0 ;
+    int i_triggertimelowpt  =-1 ;    
+    int i_triggertimehighpt =-1 ;  
+    int n_triggerlowpt      = 0 ;  
+    int n_triggerlowpt_eta  = 0 ;
+    int n_triggerlowpt_phi  = 0 ;
+    int n_triggerhighpt     = 0 ;
+    int n_triggerhighpt_eta = 0 ;
+    int n_triggerhighpt_phi = 0 ;
   
-    IJKtriggerLowPtPhi  = 0 ;
-    IJKtriggerLowPtEta  = 0 ;
-    IJKtriggerHighPtPhi = 0 ;
-    IJKtriggerHighPtEta = 0 ;
- 
+    int IJKtriggerLowPtPhi  = 0 ;
+    int IJKtriggerLowPtEta  = 0 ;
+    int IJKtriggerHighPtPhi = 0 ;
+    int IJKtriggerHighPtEta = 0 ;
  
-    m_nPads          = 0;
-    m_nCMA           = 0;
-    m_nFiredChannels = 0;  	
+    int nFiredChannels = 0;  	
     
-    for ( int i=0; i!=64; i++ ) {
-      for ( int j=0; j!=4; j++) {
-        for ( int k=0; k!=4; k++ ) {
-	  for ( int l=0; l!=32; l++ ) {
-	    PhiOr[i][j][k][l] = 0;
-	  }
-	}
-      }
-    }  
+    int PhiOr[64][4][4][32] = {{{{0}}}};
   
     // Prepare the retrieval of the RpcPadContainer
-  
+
+    const RpcPadContainer* rpcRDO = nullptr;
     sc= (*m_activeStore)->retrieve(rpcRDO,"RPCPAD");
     if (sc.isFailure()) {
       ATH_MSG_ERROR ( "Could not find RPC Pads" );     
@@ -256,37 +201,21 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
     // begin loop to get trigger time
     for (RpcPadContainer::const_iterator rdoColli = rpcRDO->begin(); rdoColli!=rpcRDO->end(); ++rdoColli)
       {
-	rdoColl = *rdoColli;
+	const RpcPad* rdoColl = *rdoColli;
 	// Now loop on the RDO to find the ones with trigger hits ijk=6
 	if ( (rdoColl)->size() != 0 ) {  	 
-	  m_nPads++;   
 	  RpcPad::const_iterator itCM = (rdoColl)->begin();
 	  for ( ; itCM != (rdoColl)->end() ; ++itCM ) {
-	    m_nCMA ++;       
 	    RpcCoinMatrix::const_iterator itChan = (*itCM)->begin();	     
 	     
 	    for ( ; itChan != (*itCM)->end() ; ++itChan ) {	     
           
-	      m_nFiredChannels++;
+	      nFiredChannels++;
 	  
-	      i_sector     = (rdoColl)->sector()     ;
-	      i_padId      = (rdoColl)->onlineId()   ;
-	      i_status     = (rdoColl)->status()     ;
-	      i_errorCode  = (rdoColl)->errorCode()  ;
-	      i_cmaId      = (*itCM)->onlineId()  ;
-	      i_fel1Id     = (*itCM)->fel1Id()    ;
-	      i_febcId     = (*itCM)->febcId()    ;
-	      i_crc        = (*itCM)->crc()	;
-	      i_bcId       = (*itChan)->bcid()    ;
-	      i_time       = (*itChan)->time()    ;
-	      i_ijk        = (*itChan)->ijk()     ;
-	      i_channel    = (*itChan)->channel() ;
-	      i_overlap    = -1                   ;
-	      i_threshold  = -1                   ;
-	      if (i_ijk==7) {
-		i_overlap  =(*itChan)->ovl();
-		i_threshold=(*itChan)->thr();
-	      }
+	      int i_cmaId      = (*itCM)->onlineId()  ;
+	      int i_bcId       = (*itChan)->bcid()    ;
+	      int i_time       = (*itChan)->time()    ;
+	      int i_ijk        = (*itChan)->ijk()     ;
 			  
 	      if(i_ijk==6){
 		if(i_cmaId<4){  
@@ -323,96 +252,116 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		 
   
     //counts rpc hits
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
   
-    MonGroup rpclv1prd_shift( this, m_generic_path_rpclv1monitoring + "/Overview", run, ATTRIB_UNMANAGED );
-    MonGroup rpclv1_shift_dqmf( this, m_generic_path_rpclv1monitoring + "/GLOBAL", run, ATTRIB_UNMANAGED ); 
-    MonGroup rpcCoolDb( this, m_generic_path_rpclv1monitoring+"/CoolDB", run, ATTRIB_UNMANAGED )          ;
+    MonGroup rpclv1prd_shift( this, generic_path_rpclv1monitoring + "/Overview", run, ATTRIB_UNMANAGED );
+    MonGroup rpclv1_shift_dqmf( this, generic_path_rpclv1monitoring + "/GLOBAL", run, ATTRIB_UNMANAGED ); 
+    MonGroup rpcCoolDb( this, generic_path_rpclv1monitoring+"/CoolDB", run, ATTRIB_UNMANAGED )          ;
    
+    TH1* rpclv1_hitperEvent = nullptr;
     sc  = rpclv1prd_shift.getHist(rpclv1_hitperEvent,"rpclv1_hitperEvent");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1_hitperEvent hist to MonGroup" );  
-    rpclv1_hitperEvent->Fill(float(m_nFiredChannels)); 
+    rpclv1_hitperEvent->Fill(float(nFiredChannels)); 
   
+    TH1* rpclv1triggerlowpt_etastat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1triggerlowpt_etastat,"Trigger_Hits_LowPt_eta_Stat");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1triggerlowpt_etastat hist to MonGroup" );
     rpclv1triggerlowpt_etastat->Fill(float(n_triggerlowpt_eta)); 
   
+    TH1* rpclv1triggerlowpt_phistat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1triggerlowpt_phistat,"Trigger_Hits_LowPt_phi_Stat");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1triggerlowpt_phistat hist to MonGroup" );
     rpclv1triggerlowpt_phistat->Fill(float(n_triggerlowpt_phi)); 
   
+    TH2* rpclv1triggerlowpt_etaphistat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1triggerlowpt_etaphistat,"Trigger_Hits_Lowpt_etaphi_Stat");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register Trigger_Hits_Lowpt_etaphi_Stat hist to MonGroup" );
     rpclv1triggerlowpt_etaphistat->Fill( float(n_triggerlowpt_phi), float(n_triggerlowpt_eta) );
    
+    TH1* rpclv1triggerhighpt_etastat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1triggerhighpt_etastat,"Trigger_Hits_HighPt_eta_Stat"); 
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1triggerhighpt_eta_stat hist to MonGroup" );  
     rpclv1triggerhighpt_etastat->Fill(float(n_triggerhighpt_eta)); 
  
+    TH1* rpclv1triggerhighpt_phistat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1triggerhighpt_phistat,"Trigger_Hits_HighPt_phi_Stat"); 
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1triggerhighpt_phi_stat hist to MonGroup" );  
     rpclv1triggerhighpt_phistat->Fill(float(n_triggerhighpt_phi)); 
   
+    TH2* rpclv1triggerhighpt_etaphistat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1triggerhighpt_etaphistat,"Trigger_Hits_HighPt_etaphi_Stat");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register Trigger_Hits_HighPt_etaphi_Stat hist to MonGroup" ); 
     rpclv1triggerhighpt_etaphistat->Fill( float(n_triggerhighpt_phi), float(n_triggerhighpt_eta) );
     
+    TH2* rpclv1ROI_LowPt = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1ROI_LowPt,"ROI_LowPt_distribution");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register ROI_LowPt_distribution hist to MonGroup" );
 
+    TH2* rpclv1ROI_HighPt = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1ROI_HighPt,"ROI_HighPt_distribution");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register ROI_HighPt_distribution hist to MonGroup" );
   
+    TH1* rpclv1sectorlogicstat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1sectorlogicstat,"SLChannel_per_SectorLogic");	
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1sectorlogicstat hist to MonGroup" );
 	    
+    TH1* rpclv1towervslogicstat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1towervslogicstat,"PadChannel_per_SectorLogic");	
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1towervslogicstat hist to MonGroup" );
 
+    TH2* rpclv1cmalogicstat = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1cmalogicstat,"CMChannel_per_SectorLogic");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1cmalogicstat hist to MonGroup" );
  
-    sc = rpclv1prd_shift.getHist(rpclv1cmalogicstat,"CMChannel_per_SectorLogic");
-    if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1cmalogicstat hist to MonGroup" );  
- 
+    TH1* rpclv1_BCid_per_TriggerCorr = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1_BCid_per_TriggerCorr,"rpclv1_BCid_per_TriggerCorrelation");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1_BCid_per_TriggerCorr hist to MonGroup" );   
   
+    TH2* rpclv1_BCid_vs_SL = nullptr;
     sc = rpclv1_shift_dqmf.getHist( rpclv1_BCid_vs_SL, "rpclv1_BCid_vs_SectorLogic") ;
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1_BCid_vs_SectorLogic hist to MonGroup" ); 
     
+    TH2* rpclv1_LPt_BCid_vs_SL = nullptr;
     sc = rpclv1_shift_dqmf.getHist( rpclv1_LPt_BCid_vs_SL, "rpclv1_LPt_BCid_vs_SectorLogic") ;
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1_LPt_BCid_vs_SectorLogic hist to MonGroup" ); 
     
+    TH2* rpclv1_HPt_BCid_vs_SL = nullptr;
     sc = rpclv1_shift_dqmf.getHist( rpclv1_HPt_BCid_vs_SL, "rpclv1_HPt_BCid_vs_SectorLogic") ;
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1_HPt_BCid_vs_SectorLogic hist to MonGroup" ); 
     
+    TH1* rpclv1_BCid_per_TriggerType = nullptr;
     sc = rpclv1_shift_dqmf.getHist(rpclv1_BCid_per_TriggerType,"rpclv1_BCid_per_TriggerType");
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register rpclv1_BCid_per_TriggerType hist to MonGroup" );   
        
+    TH2* rpclv1_TriggerCond_vs_SL = nullptr;
     sc  = rpclv1_shift_dqmf.getHist(rpclv1_TriggerCond_vs_SL, "TriggerCondition_vs_SectorLogic" ) ;
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register TriggerCondition_vs_SectorLogic hist to MonGroup" );
     
     // logical or
+    TH2* rpclv1_logicalOR_LowPt0 = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1_logicalOR_LowPt0,  "PhiLogicalOR_LowPt0"  );
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get PhiLogicalOR_LowPt0 hist "  );
     
+    TH2* rpclv1_logicalOR_LowPt1 = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1_logicalOR_LowPt1,  "PhiLogicalOR_LowPt1"  );
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get PhiLogicalOR_LowPt1 hist "  );
     
+    TH2* rpclv1_logicalOR_HighPt0 = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1_logicalOR_HighPt0, "PhiLogicalOR_HighPt0" );
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get PhiLogicalOR_HighPt0 hist " );
     
+    TH2* rpclv1_logicalOR_HighPt1 = nullptr;
     sc = rpclv1prd_shift.getHist(rpclv1_logicalOR_HighPt1, "PhiLogicalOR_HighPt1" );
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get PhiLogicalOR_HighPt1 hist " );
     
+    TH2* TriggerCondition_vs_CM = nullptr;
     sc = rpclv1prd_shift.getHist( TriggerCondition_vs_CM, "Trigger_Condition_vs_CM" );
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get TriggerCondition_vs_CM hist " );
 
 
     for (RpcPadContainer::const_iterator rdoColli = rpcRDO->begin(); rdoColli!=rpcRDO->end(); ++rdoColli)
       {
-	rdoColl = *rdoColli;
+	const RpcPad* rdoColl = *rdoColli;
 	// Now loop on the RDO to find the ones with trigger hits ijk=6
 	if ( (rdoColl)->size() != 0 ) {		    
         	    
@@ -423,32 +372,21 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
            
 	    for ( ; itChan != (*itCM)->end() ; ++itChan ) {	   
 
-	      i_sector	 = (rdoColl)->sector()    ;
-	      i_padId	 = (rdoColl)->onlineId()  ;
-	      i_status	 = (rdoColl)->status()    ;
-	      i_errorCode  = (rdoColl)->errorCode() ;
-	      i_cmaId	 = (*itCM)->onlineId()    ;
-	      i_fel1Id	 = (*itCM)->fel1Id()	  ;
-	      i_febcId	 = (*itCM)->febcId()	  ;
-	      i_crc	 = (*itCM)->crc()	  ;
-	      i_bcId	 = (*itChan)->bcid()	  ;
-	      i_time	 = (*itChan)->time()	  ;
-	      i_ijk	 = (*itChan)->ijk()	  ;
-	      i_channel	 = (*itChan)->channel()   ;
-	      i_overlap	 = -1			  ;
-	      i_threshold  = -1			  ;
-	      if (i_ijk==7) {
-		i_overlap  =(*itChan)->ovl()	  ;
-		i_threshold=(*itChan)->thr()	  ;
-	      }			
-	      else{
+	      int i_sector	 = (rdoColl)->sector()    ;
+	      int i_padId	 = (rdoColl)->onlineId()  ;
+	      int i_cmaId	 = (*itCM)->onlineId()    ;
+	      int i_bcId	 = (*itChan)->bcid()	  ;
+	      int i_time	 = (*itChan)->time()	  ;
+	      int i_ijk	 = (*itChan)->ijk()	  ;
+	      int i_channel	 = (*itChan)->channel()   ;
+	      {
 		if ( i_ijk==6 ) {
                   
 		 
 		  //look for thresholds ijk=7 in the next rdo's ijk=6,6...,7 with the same time  
-		  i_thr = 99 ;
+		  int i_thr = 99 ;
 		  RpcCoinMatrix::const_iterator itChanThr ;	   
-		  thrskip=0;
+		  int thrskip=0;
 		  for ( itChanThr = itChan+1 ; itChanThr!=(*itCM)->end() ; ++itChanThr ) {	
 		    if(thrskip==1)continue;
 		    if((*itChanThr)->ijk()<6) {
@@ -467,10 +405,10 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		    }
 		  }
 		  
-		  rpclv1_BCid_per_TriggerCorr->Fill(trigtype, i_bcId +  8 * int(i_cmaId/4) );
+		  rpclv1_BCid_per_TriggerCorr->Fill(m_trigtype, i_bcId +  8 * int(i_cmaId/4) );
         	
 		  for (int k=0; k!= 8+1 ; k++ ) {
-		    int trigBinType = trigtype & int(pow(2,float(k))) ;
+		    int trigBinType = m_trigtype & int(pow(2,float(k))) ;
 		    if (trigBinType!=0) rpclv1_BCid_per_TriggerType->Fill(k , i_bcId +  8 * int(i_cmaId/4) );  
 		  }
         	
@@ -484,17 +422,22 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		  }
 
 		  // Trigger conditions selection begin
-		  NtriggerLowPtPhi  = 0 ; IJKtriggerLowPtPhi  = 0 ;
-		  NtriggerLowPtEta  = 0 ; IJKtriggerLowPtEta  = 0 ;
-		  NtriggerHighPtPhi = 0 ; IJKtriggerHighPtPhi = 0 ;
-		  NtriggerHighPtEta = 0 ; IJKtriggerHighPtEta = 0 ;
-          
+		  int NtriggerLowPtPhi  = 0;
+		  int NtriggerLowPtEta  = 0;
+		  int NtriggerHighPtPhi = 0;
+		  int NtriggerHighPtEta = 0;
+
+                  IJKtriggerLowPtPhi  = 0;
+                  IJKtriggerLowPtEta  = 0;
+                  IJKtriggerHighPtPhi = 0;
+                  IJKtriggerHighPtEta = 0;
+                  
 		  RpcCoinMatrix::const_iterator itChan3 = (*itCM)->begin();	   
 		  for ( ; itChan3 != (*itCM)->end() ; ++itChan3 ) {
-		    ijk_trigger =  (*itChan3)->ijk() ;
+		    int ijk_trigger =  (*itChan3)->ijk() ;
 		    if ( ijk_trigger>5  ) continue; 
                
-		    Layertrigger = ijk_trigger; 
+		    int Layertrigger = ijk_trigger; 
 		    if(ijk_trigger==3) Layertrigger = Layertrigger-1;
 		    if(ijk_trigger==4) Layertrigger = Layertrigger-1;
 		    if(ijk_trigger==5) Layertrigger = Layertrigger-2;
@@ -524,17 +467,25 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		    if(ijk_trigger==5)ConfirmCh +=  32 ;
 		    
         	  
-		    sprintf(sectorlogic_name_char,"SectorLogic%d",i_sector);sectorlogic_name = sectorlogic_name_char ;
-		    sprintf(tower_name_char      ,"Tower%d"      ,i_padId );tower_name	     = tower_name_char	     ;	
-		    sprintf(cma_name_char        ,"Cma%d"        ,i_cmaId );cma_name	     = cma_name_char	     ;	
-		    sprintf(thr_name_char        ,"Thr%d"        ,i_thr   );thr_name	     = thr_name_char	     ;
+                    char sectorlogic_name_char[1000]      ;
+		    sprintf(sectorlogic_name_char,"SectorLogic%d",i_sector);
+                    std::string sectorlogic_name = sectorlogic_name_char ;
+                    char tower_name_char[1000]		;
+		    sprintf(tower_name_char      ,"Tower%d"      ,i_padId );
+                    std::string tower_name	     = tower_name_char	     ;	
+                    char cma_name_char[1000]		;
+		    sprintf(cma_name_char        ,"Cma%d"        ,i_cmaId );
+                    std::string cma_name	     = cma_name_char	     ;	
+                    char thr_name_char[1000]		;
+		    sprintf(thr_name_char        ,"Thr%d"        ,i_thr   );
+                    std::string thr_name	     = thr_name_char	     ;
           
-		    histo_flag=true;
-		    for (std::vector<std::string>::const_iterator iter=sectorlogicTowerCma_name_list2.begin(); iter!=sectorlogicTowerCma_name_list2.end(); iter++){
+		    bool histo_flag=true;
+		    for (std::vector<std::string>::const_iterator iter=m_sectorlogicTowerCma_name_list2.begin(); iter!=m_sectorlogicTowerCma_name_list2.end(); iter++){
 		      if ( (sectorlogic_name+tower_name+cma_name+thr_name)==*iter){histo_flag=false;}
 		    }
 		    if (histo_flag){ 
-		      sectorlogicTowerCma_name_list2.push_back(sectorlogic_name+tower_name+cma_name+thr_name); 
+		      m_sectorlogicTowerCma_name_list2.push_back(sectorlogic_name+tower_name+cma_name+thr_name); 
 		      bookRPCLV1TriggerRoadHistograms(sectorlogic_name, tower_name, cma_name, thr_name);
 		    }
         	  
@@ -547,10 +498,12 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		  }
         	
 		  // fill histo Trigger Conditions
+                  TH2* rpclv1_TriggerLy_vs_SL = nullptr;
 		  sc  = rpclv1prd_shift.getHist(rpclv1_TriggerLy_vs_SL, "TriggerLayer_vs_SectorLogic" ) ;
 		  if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get TriggerCondition_vs_SectorLogic hist to MonGroup" );
               
 		  if ( NtriggerLowPtPhi >0 ) {
+                    TH1* rpclv1Trigger_cond_LowPt_phi = nullptr;
 		    sc  = rpclv1prd_shift.getHist(rpclv1Trigger_cond_LowPt_phi,"Trigger_Condition_LowPt_Phi");
 		    if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register Trigger_Layer_LowPt_Phi hist to MonGroup" );
 		    rpclv1Trigger_cond_LowPt_phi -> Fill ( float(IJKtriggerLowPtPhi) )  ;
@@ -558,6 +511,7 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		    TriggerCondition_vs_CM       -> Fill (i_sector*56 + i_padId*8 + i_cmaId, IJKtriggerLowPtPhi );
 		  }
 		  if ( NtriggerLowPtEta >0 ) {
+                    TH1* rpclv1Trigger_cond_LowPt_eta = nullptr;
 		    sc  = rpclv1prd_shift.getHist(rpclv1Trigger_cond_LowPt_eta,"Trigger_Condition_LowPt_Eta");
 		    if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't registerTrigger_Condition_LowPt_Eta hist to MonGroup" );
 		    rpclv1Trigger_cond_LowPt_eta -> Fill ( float(IJKtriggerLowPtEta) )   ;
@@ -565,6 +519,7 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		    TriggerCondition_vs_CM       -> Fill (i_sector*56 + i_padId*8 + i_cmaId, IJKtriggerLowPtEta );
 		  }
 		  if ( NtriggerHighPtPhi >0 ) {
+                    TH1* rpclv1Trigger_cond_HighPt_phi = nullptr;
 		    sc  = rpclv1prd_shift.getHist(rpclv1Trigger_cond_HighPt_phi,"Trigger_Condition_HighPt_Phi");
 		    if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't registerTrigger_Condition_LowPt_Eta hist to MonGroup" );
 		    rpclv1Trigger_cond_HighPt_phi-> Fill ( float(IJKtriggerHighPtPhi))	    ;
@@ -572,6 +527,7 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		    TriggerCondition_vs_CM       -> Fill (i_sector*56 + i_padId*8 + i_cmaId, IJKtriggerHighPtPhi );
 		  }
 		  if ( NtriggerHighPtEta >0 ) {
+                    TH1* rpclv1Trigger_cond_HighPt_eta = nullptr;
 		    sc  = rpclv1prd_shift.getHist(rpclv1Trigger_cond_HighPt_eta,"Trigger_Condition_HighPt_Eta");
 		    if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't registerTrigger_Condition_LowPt_Eta hist to MonGroup" );
 		    rpclv1Trigger_cond_HighPt_eta-> Fill ( float(IJKtriggerHighPtEta))	    ;
@@ -579,7 +535,8 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		    TriggerCondition_vs_CM       -> Fill (i_sector*56 + i_padId*8 + i_cmaId, IJKtriggerHighPtEta );
 		  }
         	
-		  n_trigLow_ly = 0; n_trigHigh_ly = 0;
+		  int n_trigLow_ly = 0;
+                  int n_trigHigh_ly = 0;
 		  for (int k=0; k!=4; k++ ) {
 		    if ( ((IJKtriggerLowPtPhi | IJKtriggerLowPtEta ) & int(pow(2,float(k)))) !=0 ) n_trigLow_ly++  ;
 		  }
@@ -650,29 +607,37 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		// cma per sector logic
 		rpclv1cmalogicstat -> Fill( float(i_sector), float(i_padId*8 + i_cmaId) );
         				      
-		sprintf(sectorlogic_name_char,"SectorLogic%d",i_sector);sectorlogic_name = sectorlogic_name_char ;
-		sprintf(tower_name_char	   ,"Tower%d"	   ,i_padId );tower_name	   = tower_name_char	   ;	
-		sprintf(cma_name_char	   ,"Cma%d"	   ,i_cmaId );cma_name  	   = cma_name_char	   ;
-		sprintf(ijk_name_char	   ,"ijk%d"	   ,i_ijk   );ijk_name         = ijk_name_char         ;      
+                char sectorlogic_name_char[1000]      ;
+		sprintf(sectorlogic_name_char,"SectorLogic%d",i_sector);
+                std::string sectorlogic_name = sectorlogic_name_char ;
+                char tower_name_char[1000]		;
+		sprintf(tower_name_char	   ,"Tower%d"	   ,i_padId );
+                std::string tower_name	   = tower_name_char	   ;	
+                char cma_name_char[1000]		;
+		sprintf(cma_name_char	   ,"Cma%d"	   ,i_cmaId );
+                std::string cma_name  	   = cma_name_char	   ;
+                char ijk_name_char[1000]              ;
+		sprintf(ijk_name_char	   ,"ijk%d"	   ,i_ijk   );
+                std::string ijk_name         = ijk_name_char         ;      
         	    
-		std::string m_generic_path_RPCLV1cmatimevschcxx	     = m_generic_path_rpclv1monitoring+"/"+sectorlogic_name+"/";
-		m_generic_path_RPCLV1cmatimevschcxx		    += tower_name				     ;
-		m_generic_path_RPCLV1cmatimevschcxx		    += "/rpclv1cosmic_cmatimevsch"		     ;
-		m_generic_path_RPCLV1cmatimevschcxx		    += cma_name 				     ;
+		std::string generic_path_RPCLV1cmatimevschcxx	     = generic_path_rpclv1monitoring+"/"+sectorlogic_name+"/";
+		generic_path_RPCLV1cmatimevschcxx		    += tower_name				     ;
+		generic_path_RPCLV1cmatimevschcxx		    += "/rpclv1cosmic_cmatimevsch"		     ;
+		generic_path_RPCLV1cmatimevschcxx		    += cma_name 				     ;
         	     
-		std::string m_generic_path_RPCLV1cmatimetriggervschcxx = m_generic_path_rpclv1monitoring+"/"+sectorlogic_name+"/";
-		m_generic_path_RPCLV1cmatimetriggervschcxx	       += tower_name				     ;
-		m_generic_path_RPCLV1cmatimetriggervschcxx	       += "/rpclv1cosmic_cmatimetriggervsch"	     ;
-		m_generic_path_RPCLV1cmatimetriggervschcxx	       += cma_name				     ;
+		std::string generic_path_RPCLV1cmatimetriggervschcxx = generic_path_rpclv1monitoring+"/"+sectorlogic_name+"/";
+		generic_path_RPCLV1cmatimetriggervschcxx	       += tower_name				     ;
+		generic_path_RPCLV1cmatimetriggervschcxx	       += "/rpclv1cosmic_cmatimetriggervsch"	     ;
+		generic_path_RPCLV1cmatimetriggervschcxx	       += cma_name				     ;
           
 		// Fill time histograms begin
 		if (m_rpclv1hist ) {	
-		  histo_flag=true;
-		  for (std::vector<std::string>::const_iterator iter=sectorlogicTowerCma_name_list.begin(); iter!=sectorlogicTowerCma_name_list.end(); iter++){
+		  bool histo_flag=true;
+		  for (std::vector<std::string>::const_iterator iter=m_sectorlogicTowerCma_name_list.begin(); iter!=m_sectorlogicTowerCma_name_list.end(); iter++){
 		    if ( (sectorlogic_name+tower_name+cma_name)==*iter){histo_flag=false;}
 		  }
 		  if (histo_flag){
-		    sectorlogicTowerCma_name_list.push_back(sectorlogic_name+tower_name+cma_name);
+		    m_sectorlogicTowerCma_name_list.push_back(sectorlogic_name+tower_name+cma_name);
 		    bookRPCLV1cmatimevschHistograms(sectorlogic_name, tower_name, cma_name);
 		  }
 
@@ -691,13 +656,12 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		// profiles 
 		if ( m_rpclv1prof )  
 		  { 
-		    shift_ijk = 0;
-		    shift_pad = 1;
-		    if ( (i_sector % 4)==0 || (i_sector % 4)==3 )  {   // Large sector
-		      sec_large=2 ; }
-		    else {
-		      sec_large=1  ;}
+		    int shift_ijk = 0;
+		    int shift_pad = 1;
 
+                    int shift_cm = 0;
+                    std::string cma_name_p;
+                    char cma_name_p_char[1000]		;
 		    if ( i_cmaId==1 || i_cmaId==3 || i_cmaId==5 || i_cmaId==7 ) {
 		      sprintf(cma_name_p_char , "Cma%d_%d" , i_cmaId-1, i_cmaId);  cma_name_p = cma_name_p_char	 ;
 		      shift_cm = 32 ;
@@ -706,6 +670,7 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 		      sprintf(cma_name_p_char  ,"Cma%d_%d"  ,i_cmaId, i_cmaId+1);  cma_name_p = cma_name_p_char	 ;
 		      shift_cm = 0; }
 
+                    std::string ijk_name_p;
 		    if ( i_ijk==2 || i_ijk==3 ) {
 		      ijk_name_p = "ijk2_3" ;
 		      shift_pad = 2;
@@ -720,12 +685,12 @@ StatusCode RpcLv1RawDataValAlg::fillHistograms()
 
 		    if ( i_ijk==3  || i_ijk==5 ) { shift_ijk = 32 ; }
 
-		    histo_flag=true;
-		    for (std::vector<std::string>::const_iterator iter=profile_list.begin(); iter!=profile_list.end(); iter++){
+		    bool histo_flag=true;
+		    for (std::vector<std::string>::const_iterator iter=m_profile_list.begin(); iter!=m_profile_list.end(); iter++){
 		      if ( (sectorlogic_name+cma_name_p+ijk_name_p)==*iter){histo_flag=false;}
 		    }
 		    if (histo_flag) {
-		      profile_list.push_back(sectorlogic_name + cma_name_p + ijk_name_p);
+		      m_profile_list.push_back(sectorlogic_name + cma_name_p + ijk_name_p);
 		      //bookRPCLV1ProfilesHistograms( i_sector, sectorlogic_name, i_cmaId, cma_name_p, i_ijk, ijk_name_p ); // compilation warning to i_cmaId
 		      bookRPCLV1ProfilesHistograms( i_sector, sectorlogic_name, cma_name_p, i_ijk, ijk_name_p );
 		    }
@@ -780,6 +745,7 @@ if ( m_doCoolDB ) {
  	      std::vector<int>  	 RpcStrip = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prdcoll_id, 0);
  	      int strip_dbindex        = (RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prdcoll_id, 0)).at(16);// cool strip profile
 	        	  if ( m_doCoolDB ) {
+                            TH1* rpcCool_StripProfile = nullptr;
 	        	    if(cmaId==0||cmaId==2||cmaId==4||cmaId==6)sc = rpcCoolDb.getHist( rpcCool_StripProfile, sector_dphi_layer+"_ProfileDataCMeven" ) ;
 	        	    if(cmaId==1||cmaId==3||cmaId==5||cmaId==7)sc = rpcCoolDb.getHist( rpcCool_StripProfile, sector_dphi_layer+"_ProfileDataCModd"  ) ;
 	        	    if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get " << sector_dphi_layer << "_ProfileDataCMeven or odd" );
@@ -842,11 +808,11 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
   
   if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0Raw  || m_environment ==  AthenaMonManager::online) {     
     //declare a group of histograms
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
   
-    MonGroup rpclv1prd_shift( this, m_generic_path_rpclv1monitoring +"/Overview", run, ATTRIB_UNMANAGED );
-    MonGroup rpclv1_shift_dqmf( this, m_generic_path_rpclv1monitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )  ;
-    MonGroup rpcCoolDb( this, m_generic_path_rpclv1monitoring+"/CoolDB", run, ATTRIB_UNMANAGED )         ;
+    MonGroup rpclv1prd_shift( this, generic_path_rpclv1monitoring +"/Overview", run, ATTRIB_UNMANAGED );
+    MonGroup rpclv1_shift_dqmf( this, generic_path_rpclv1monitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )  ;
+    MonGroup rpcCoolDb( this, generic_path_rpclv1monitoring+"/CoolDB", run, ATTRIB_UNMANAGED )         ;
      
     if(newEventsBlock){}
     if(newLumiBlock){}
@@ -857,10 +823,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
        
         
 	// Trigger Layers vs SL
-	std::string m_rpclv1_TriggerLy_vs_SL_title      = "TriggerLayer_vs_SectorLogic"       ;
-	const char* m_rpclv1_TriggerLy_vs_SL_title_char = m_rpclv1_TriggerLy_vs_SL_title.c_str();
+	std::string rpclv1_TriggerLy_vs_SL_title      = "TriggerLayer_vs_SectorLogic"       ;
+	const char* rpclv1_TriggerLy_vs_SL_title_char = rpclv1_TriggerLy_vs_SL_title.c_str();
 	
-	TH2* rpclv1_TriggerLy_vs_SL = new TH2I(m_rpclv1_TriggerLy_vs_SL_title_char, m_rpclv1_TriggerLy_vs_SL_title_char, 64, 0, 64, 32, 0, 32);
+	TH2* rpclv1_TriggerLy_vs_SL = new TH2I(rpclv1_TriggerLy_vs_SL_title_char, rpclv1_TriggerLy_vs_SL_title_char, 64, 0, 64, 32, 0, 32);
 	sc = rpclv1prd_shift.regHist( rpclv1_TriggerLy_vs_SL ) ;
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1_TriggerLy_vs_SL Failed to register histogram " );       
@@ -871,7 +837,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1_TriggerLy_vs_SL->SetOption("COLZ");
 	
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_TriggerLy_vs_SL << m_rpclv1_TriggerLy_vs_SL_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_TriggerLy_vs_SL << rpclv1_TriggerLy_vs_SL_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1_TriggerLy_vs_SL successfully" ); 
@@ -900,9 +866,9 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	// trigger conditions per CM
 	// n bin x = 8 cm * 7 pad * 64 sector logic 
 	int n_bin_trigCm = 8 * 7 * 64;
-	std::string m_rpclv1_TriggerCond_vs_CM_title      = "Trigger_Condition_vs_CM"                ;
-	const char* m_rpclv1_TriggerCond_vs_CM_title_char = m_rpclv1_TriggerCond_vs_CM_title.c_str();
-	TH2* rpclv1_TriggerCond_vs_CM = new TH2I(m_rpclv1_TriggerCond_vs_CM_title_char,	m_rpclv1_TriggerCond_vs_CM_title_char,
+	std::string rpclv1_TriggerCond_vs_CM_title      = "Trigger_Condition_vs_CM"                ;
+	const char* rpclv1_TriggerCond_vs_CM_title_char = rpclv1_TriggerCond_vs_CM_title.c_str();
+	TH2* rpclv1_TriggerCond_vs_CM = new TH2I(rpclv1_TriggerCond_vs_CM_title_char,	rpclv1_TriggerCond_vs_CM_title_char,
 						 n_bin_trigCm , 1, n_bin_trigCm+1, 16, 0, 16 );
         sc = rpclv1prd_shift.regHist( rpclv1_TriggerCond_vs_CM );
 	
@@ -943,9 +909,9 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	int n_bin_logOR = 64 ;
 	
 	for (std::vector<std::string>::const_iterator it=LyNameVec.begin(); it!=LyNameVec.end(); it++ ) {
-	  std::string m_rpclv1_logicalOR_title      = "PhiLogicalOR_" + *it           ;
-	  const char* m_rpclv1_logicalOR_title_char = m_rpclv1_logicalOR_title.c_str();
-          TH2* rpclv1_logicalOR = new TH2I( m_rpclv1_logicalOR_title_char, m_rpclv1_logicalOR_title_char, 
+	  std::string rpclv1_logicalOR_title      = "PhiLogicalOR_" + *it           ;
+	  const char* rpclv1_logicalOR_title_char = rpclv1_logicalOR_title.c_str();
+          TH2* rpclv1_logicalOR = new TH2I( rpclv1_logicalOR_title_char, rpclv1_logicalOR_title_char, 
 					    n_bin_logOR, 0, n_bin_logOR, 128, 0, 128 );
 	  sc = rpclv1prd_shift.regHist( rpclv1_logicalOR );
 	  
@@ -967,10 +933,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 
 	// SHIFT histograms
 	// Trigger conditions vs SL
-	std::string m_rpclv1_TriggerCond_vs_SL_title      = "TriggerCondition_vs_SectorLogic"       ;
-	const char* m_rpclv1_TriggerCond_vs_SL_title_char = m_rpclv1_TriggerCond_vs_SL_title.c_str();
+	std::string rpclv1_TriggerCond_vs_SL_title      = "TriggerCondition_vs_SectorLogic"       ;
+	const char* rpclv1_TriggerCond_vs_SL_title_char = rpclv1_TriggerCond_vs_SL_title.c_str();
 	
-	TH2* rpclv1_TriggerCond_vs_SL = new TH2I(m_rpclv1_TriggerCond_vs_SL_title_char, m_rpclv1_TriggerCond_vs_SL_title_char, 64, 0, 64, 7, 1, 8);
+	TH2* rpclv1_TriggerCond_vs_SL = new TH2I(rpclv1_TriggerCond_vs_SL_title_char, rpclv1_TriggerCond_vs_SL_title_char, 64, 0, 64, 7, 1, 8);
 	sc = rpclv1_shift_dqmf.regHist( rpclv1_TriggerCond_vs_SL ) ;
 	if(sc.isFailure()) {
 	  ATH_MSG_FATAL ( "rpclv1_TriggerCond_vs_SL Failed to register histogram " );       
@@ -983,7 +949,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	
 	
 	
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_TriggerCond_vs_SL << m_rpclv1_TriggerCond_vs_SL_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_TriggerCond_vs_SL << rpclv1_TriggerCond_vs_SL_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1_TriggerCond_vs_SL successfully" ); 
@@ -998,10 +964,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1_TriggerCond_vs_SL->GetYaxis()->SetBinLabel(7,"Lpt+2/2Hpt");
 	
 	// BCid (ijk==6) vs SL
-	std::string m_rpclv1_BCid_vs_SL_title      = "rpclv1_BCid_vs_SectorLogic"     ;
-	const char* m_rpclv1_BCid_vs_SL_title_char = m_rpclv1_BCid_vs_SL_title.c_str();
+	std::string rpclv1_BCid_vs_SL_title      = "rpclv1_BCid_vs_SectorLogic"     ;
+	const char* rpclv1_BCid_vs_SL_title_char = rpclv1_BCid_vs_SL_title.c_str();
 	
-	TH2* rpclv1_BCid_vs_SL = new TH2I ( m_rpclv1_BCid_vs_SL_title_char, m_rpclv1_BCid_vs_SL_title_char, 64, 0, 64, 8*2, 0, 16) ;
+	TH2* rpclv1_BCid_vs_SL = new TH2I ( rpclv1_BCid_vs_SL_title_char, rpclv1_BCid_vs_SL_title_char, 64, 0, 64, 8*2, 0, 16) ;
 	sc = rpclv1_shift_dqmf.regHist( rpclv1_BCid_vs_SL );
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1_BCid_vs_SectorLogic Failed to register histogram " );       
@@ -1011,16 +977,16 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1_BCid_vs_SL->GetYaxis()->SetTitle("BCId+HPtTrigger*8 for trigger hits") ;
 	rpclv1_BCid_vs_SL->SetOption("COLZ");
 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_BCid_vs_SL << m_rpclv1_BCid_vs_SL_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_BCid_vs_SL << rpclv1_BCid_vs_SL_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1_BCid_vs_SectorLogic successfully" ); 
 		
 	// LPt BCid (ijk==6) vs SL
-	std::string m_rpclv1_LPt_BCid_vs_SL_title      = "rpclv1_LPt_BCid_vs_SectorLogic"     ;
-	const char* m_rpclv1_LPt_BCid_vs_SL_title_char = m_rpclv1_LPt_BCid_vs_SL_title.c_str();
+	std::string rpclv1_LPt_BCid_vs_SL_title      = "rpclv1_LPt_BCid_vs_SectorLogic"     ;
+	const char* rpclv1_LPt_BCid_vs_SL_title_char = rpclv1_LPt_BCid_vs_SL_title.c_str();
 	
-	TH2* rpclv1_LPt_BCid_vs_SL = new TH2I ( m_rpclv1_LPt_BCid_vs_SL_title_char, m_rpclv1_LPt_BCid_vs_SL_title_char, 64, 0, 64, 8, 0, 8) ;
+	TH2* rpclv1_LPt_BCid_vs_SL = new TH2I ( rpclv1_LPt_BCid_vs_SL_title_char, rpclv1_LPt_BCid_vs_SL_title_char, 64, 0, 64, 8, 0, 8) ;
 	sc = rpclv1_shift_dqmf.regHist( rpclv1_LPt_BCid_vs_SL );
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1_BCid_vs_SectorLogic Failed to register histogram " );       
@@ -1030,16 +996,16 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1_LPt_BCid_vs_SL->GetYaxis()->SetTitle("Trigger hits BCid") ;
 	rpclv1_LPt_BCid_vs_SL->SetOption("COLZ");
 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_LPt_BCid_vs_SL << m_rpclv1_LPt_BCid_vs_SL_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_LPt_BCid_vs_SL << rpclv1_LPt_BCid_vs_SL_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1_BCid_vs_SectorLogic successfully" ); 
 		
 	// BCid (ijk==6) vs SL
-	std::string m_rpclv1_HPt_BCid_vs_SL_title      = "rpclv1_HPt_BCid_vs_SectorLogic"     ;
-	const char* m_rpclv1_HPt_BCid_vs_SL_title_char = m_rpclv1_HPt_BCid_vs_SL_title.c_str();
+	std::string rpclv1_HPt_BCid_vs_SL_title      = "rpclv1_HPt_BCid_vs_SectorLogic"     ;
+	const char* rpclv1_HPt_BCid_vs_SL_title_char = rpclv1_HPt_BCid_vs_SL_title.c_str();
 	
-	TH2* rpclv1_HPt_BCid_vs_SL = new TH2I ( m_rpclv1_HPt_BCid_vs_SL_title_char, m_rpclv1_HPt_BCid_vs_SL_title_char, 64, 0, 64, 8, 0, 8) ;
+	TH2* rpclv1_HPt_BCid_vs_SL = new TH2I ( rpclv1_HPt_BCid_vs_SL_title_char, rpclv1_HPt_BCid_vs_SL_title_char, 64, 0, 64, 8, 0, 8) ;
 	sc = rpclv1_shift_dqmf.regHist( rpclv1_HPt_BCid_vs_SL );
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1_BCid_vs_SectorLogic Failed to register histogram " );       
@@ -1049,7 +1015,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1_HPt_BCid_vs_SL->GetYaxis()->SetTitle("Trigger hits BCid") ;
 	rpclv1_HPt_BCid_vs_SL->SetOption("COLZ");
 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_HPt_BCid_vs_SL << m_rpclv1_HPt_BCid_vs_SL_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1_HPt_BCid_vs_SL << rpclv1_HPt_BCid_vs_SL_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1_BCid_vs_SectorLogic successfully" ); 
@@ -1059,10 +1025,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
      
       
 	//hits per event
-	std::string m_rpclv1_hitperEvent_title = "rpclv1_hitperEvent";      
-	const char* m_rpclv1_hitperEvent_title_char = m_rpclv1_hitperEvent_title.c_str();
+	std::string rpclv1_hitperEvent_title = "rpclv1_hitperEvent";      
+	const char* rpclv1_hitperEvent_title_char = rpclv1_hitperEvent_title.c_str();
        
-	TH1 *rpclv1_hitperEvent=new TH1I(m_rpclv1_hitperEvent_title_char,m_rpclv1_hitperEvent_title_char, NMAXHIT,0.,NMAXHIT); 				
+	TH1 *rpclv1_hitperEvent=new TH1I(rpclv1_hitperEvent_title_char,rpclv1_hitperEvent_title_char, NMAXHIT,0.,NMAXHIT); 				
 	sc=rpclv1prd_shift.regHist(rpclv1_hitperEvent) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1_hitperEvent Failed to register histogram " );       
@@ -1078,11 +1044,11 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	ATH_MSG_DEBUG ( "Booked rpclv1_hitperEvent successfully" ); 
       
 	//lowpt ETA trigger hits stat
-	std::string m_generic_path_rpclv1triggerlowpt_etastat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1triggerlowpt_etastat_title = "Trigger_Hits_LowPt_eta_Stat";      
-	const char* m_rpclv1triggerlowpt_etastat_title_char = m_rpclv1triggerlowpt_etastat_title.c_str();
+	std::string generic_path_rpclv1triggerlowpt_etastat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1triggerlowpt_etastat_title = "Trigger_Hits_LowPt_eta_Stat";      
+	const char* rpclv1triggerlowpt_etastat_title_char = rpclv1triggerlowpt_etastat_title.c_str();
        
-	TH1 *rpclv1triggerlowpt_etastat=new TH1I(m_rpclv1triggerlowpt_etastat_title_char,m_rpclv1triggerlowpt_etastat_title_char, 15, 0, 15); 				
+	TH1 *rpclv1triggerlowpt_etastat=new TH1I(rpclv1triggerlowpt_etastat_title_char,rpclv1triggerlowpt_etastat_title_char, 15, 0, 15); 				
 	sc=rpclv1prd_shift.regHist(rpclv1triggerlowpt_etastat) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1triggerlowpt_etastat Failed to register histogram " );       
@@ -1092,7 +1058,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1triggerlowpt_etastat->GetXaxis()->SetTitle("LowPt eta trigger hits / event");
 	rpclv1triggerlowpt_etastat->GetYaxis()->SetTitle("Counts");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerlowpt_etastat << m_generic_path_rpclv1triggerlowpt_etastat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerlowpt_etastat << generic_path_rpclv1triggerlowpt_etastat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1triggerlowpt_etastat successfully" ); 	
@@ -1100,11 +1066,11 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
  
 	//lowpt PHI trigger hits stat
-	std::string m_generic_path_rpclv1triggerlowpt_phistat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1triggerlowpt_phistat_title = "Trigger_Hits_LowPt_phi_Stat";      
-	const char* m_rpclv1triggerlowpt_phistat_title_char = m_rpclv1triggerlowpt_phistat_title.c_str();
+	std::string generic_path_rpclv1triggerlowpt_phistat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1triggerlowpt_phistat_title = "Trigger_Hits_LowPt_phi_Stat";      
+	const char* rpclv1triggerlowpt_phistat_title_char = rpclv1triggerlowpt_phistat_title.c_str();
        
-	TH1 *rpclv1triggerlowpt_phistat=new TH1I(m_rpclv1triggerlowpt_phistat_title_char,m_rpclv1triggerlowpt_phistat_title_char, 15, 0, 15); 				
+	TH1 *rpclv1triggerlowpt_phistat=new TH1I(rpclv1triggerlowpt_phistat_title_char,rpclv1triggerlowpt_phistat_title_char, 15, 0, 15); 				
 	sc=rpclv1prd_shift.regHist(rpclv1triggerlowpt_phistat) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1triggerlowpt_phistat Failed to register histogram " );       
@@ -1114,7 +1080,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1triggerlowpt_phistat->GetXaxis()->SetTitle("LowPt phi trigger hits / event");
 	rpclv1triggerlowpt_phistat->GetYaxis()->SetTitle("Counts");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerlowpt_phistat << m_generic_path_rpclv1triggerlowpt_phistat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerlowpt_phistat << generic_path_rpclv1triggerlowpt_phistat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1triggerlowpt_phistat successfully" ); 	
@@ -1122,11 +1088,11 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	//////////////////////////////////////////////
       
 	//lowpt ETA-PHI trigger hits stat
-	std::string m_generic_path_rpclv1triggerlowpt_etaphistat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1triggerlowpt_etaphistat_title = "Trigger_Hits_Lowpt_etaphi_Stat";      
-	const char* m_rpclv1triggerlowpt_etaphistat_title_char = m_rpclv1triggerlowpt_etaphistat_title.c_str();
+	std::string generic_path_rpclv1triggerlowpt_etaphistat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1triggerlowpt_etaphistat_title = "Trigger_Hits_Lowpt_etaphi_Stat";      
+	const char* rpclv1triggerlowpt_etaphistat_title_char = rpclv1triggerlowpt_etaphistat_title.c_str();
        
-	TH2 *rpclv1triggerlowpt_etaphistat=new TH2I(m_rpclv1triggerlowpt_etaphistat_title_char,m_rpclv1triggerlowpt_etaphistat_title_char, 15, 0, 15,15,0,15); 				
+	TH2 *rpclv1triggerlowpt_etaphistat=new TH2I(rpclv1triggerlowpt_etaphistat_title_char,rpclv1triggerlowpt_etaphistat_title_char, 15, 0, 15,15,0,15); 				
 	sc=rpclv1prd_shift.regHist(rpclv1triggerlowpt_etaphistat) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1triggerlowpt_etaphistat Failed to register histogram " );       
@@ -1136,7 +1102,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1triggerlowpt_etaphistat->GetXaxis()->SetTitle("LowPt phi trigger hits / event");
 	rpclv1triggerlowpt_etaphistat->GetYaxis()->SetTitle("LowPt eta trigger hits / event");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerlowpt_etaphistat << m_generic_path_rpclv1triggerlowpt_etaphistat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerlowpt_etaphistat << generic_path_rpclv1triggerlowpt_etaphistat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1triggerlowpt_etaphistat successfully" ); 	
@@ -1145,10 +1111,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
            
 	//highpt ETA trigger hits stat
-	std::string m_generic_path_rpclv1triggerhighpt_etastat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1triggerhighpt_etastat_title = "Trigger_Hits_HighPt_eta_Stat";
-	const char* m_rpclv1triggerhighpt_etastat_title_char = m_rpclv1triggerhighpt_etastat_title.c_str();
-	TH1 *rpclv1triggerhighpt_etastat=new TH1I(m_rpclv1triggerhighpt_etastat_title_char,m_rpclv1triggerhighpt_etastat_title_char, 15, 0, 15);
+	std::string generic_path_rpclv1triggerhighpt_etastat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1triggerhighpt_etastat_title = "Trigger_Hits_HighPt_eta_Stat";
+	const char* rpclv1triggerhighpt_etastat_title_char = rpclv1triggerhighpt_etastat_title.c_str();
+	TH1 *rpclv1triggerhighpt_etastat=new TH1I(rpclv1triggerhighpt_etastat_title_char,rpclv1triggerhighpt_etastat_title_char, 15, 0, 15);
 	sc=rpclv1prd_shift.regHist(rpclv1triggerhighpt_etastat) ;
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1triggerhighpt_etastat Failed to register histogram " );
@@ -1158,7 +1124,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1triggerhighpt_etastat->GetXaxis()->SetTitle("HighPt eta trigger hits / event");
 	rpclv1triggerhighpt_etastat->GetYaxis()->SetTitle("Counts");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerhighpt_etastat << m_generic_path_rpclv1triggerhighpt_etastat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerhighpt_etastat << generic_path_rpclv1triggerhighpt_etastat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run );
 	ATH_MSG_DEBUG ( "Booked rpclv1triggertimehighpt_etastat successfully" );
@@ -1166,10 +1132,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	//////////////////////////////////////////////
 
 	//highpt PHI trigger hits stat
-	std::string m_generic_path_rpclv1triggerhighpt_phistat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1triggerhighpt_phistat_title = "Trigger_Hits_HighPt_phi_Stat";
-	const char* m_rpclv1triggerhighpt_phistat_title_char = m_rpclv1triggerhighpt_phistat_title.c_str();
-	TH1 *rpclv1triggerhighpt_phistat=new TH1I(m_rpclv1triggerhighpt_phistat_title_char,m_rpclv1triggerhighpt_phistat_title_char, 15, 0, 15);
+	std::string generic_path_rpclv1triggerhighpt_phistat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1triggerhighpt_phistat_title = "Trigger_Hits_HighPt_phi_Stat";
+	const char* rpclv1triggerhighpt_phistat_title_char = rpclv1triggerhighpt_phistat_title.c_str();
+	TH1 *rpclv1triggerhighpt_phistat=new TH1I(rpclv1triggerhighpt_phistat_title_char,rpclv1triggerhighpt_phistat_title_char, 15, 0, 15);
 	sc=rpclv1prd_shift.regHist(rpclv1triggerhighpt_phistat) ;
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1triggerhighpt_phistat Failed to register histogram " );
@@ -1179,7 +1145,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1triggerhighpt_phistat->GetXaxis()->SetTitle("HighPt phi trigger hits / event");
 	rpclv1triggerhighpt_phistat->GetYaxis()->SetTitle("Counts");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerhighpt_phistat << m_generic_path_rpclv1triggerhighpt_phistat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerhighpt_phistat << generic_path_rpclv1triggerhighpt_phistat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run );
 	ATH_MSG_DEBUG ( "Booked rpclv1triggertimehighpt_phistat successfully" ); 
@@ -1187,10 +1153,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	//////////////////////////////////////////////
       
 	//highpt ETA - PHI trigger hits stat
-	std::string m_generic_path_rpclv1triggerhighpt_etaphistat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1triggerhighpt_etaphistat_title = "Trigger_Hits_HighPt_etaphi_Stat";    
-	const char* m_rpclv1triggerhighpt_etaphistat_title_char = m_rpclv1triggerhighpt_etaphistat_title.c_str();     
-	TH2 *rpclv1triggerhighpt_etaphistat=new TH2I(m_rpclv1triggerhighpt_etaphistat_title_char,m_rpclv1triggerhighpt_etaphistat_title_char, 15, 0, 15,15, 0, 15);
+	std::string generic_path_rpclv1triggerhighpt_etaphistat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1triggerhighpt_etaphistat_title = "Trigger_Hits_HighPt_etaphi_Stat";    
+	const char* rpclv1triggerhighpt_etaphistat_title_char = rpclv1triggerhighpt_etaphistat_title.c_str();     
+	TH2 *rpclv1triggerhighpt_etaphistat=new TH2I(rpclv1triggerhighpt_etaphistat_title_char,rpclv1triggerhighpt_etaphistat_title_char, 15, 0, 15,15, 0, 15);
 	sc=rpclv1prd_shift.regHist(rpclv1triggerhighpt_etaphistat) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1triggerhighpt_etaphistat Failed to register histogram " );       
@@ -1200,7 +1166,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1triggerhighpt_etaphistat->GetXaxis()->SetTitle("HighPt phi trigger hits / event");
 	rpclv1triggerhighpt_etaphistat->GetYaxis()->SetTitle("HighPt eta trigger hits / event");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerhighpt_etaphistat << m_generic_path_rpclv1triggerhighpt_etaphistat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1triggerhighpt_etaphistat << generic_path_rpclv1triggerhighpt_etaphistat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1triggertimehighpt_etaphistat successfully" ); 	
@@ -1208,10 +1174,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
   
 	//sector logic statistics
-	std::string m_generic_path_rpclv1sectorlogicstat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1sectorlogicstat_title = "SLChannel_per_SectorLogic";    
-	const char* m_rpclv1sectorlogicstat_title_char = m_rpclv1sectorlogicstat_title.c_str ();     
-	TH1 *rpclv1sectorlogicstat=new TH1I(m_rpclv1sectorlogicstat_title_char,m_rpclv1sectorlogicstat_title_char, 64, 0, 64); 
+	std::string generic_path_rpclv1sectorlogicstat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1sectorlogicstat_title = "SLChannel_per_SectorLogic";    
+	const char* rpclv1sectorlogicstat_title_char = rpclv1sectorlogicstat_title.c_str ();     
+	TH1 *rpclv1sectorlogicstat=new TH1I(rpclv1sectorlogicstat_title_char,rpclv1sectorlogicstat_title_char, 64, 0, 64); 
 	sc=rpclv1prd_shift.regHist(rpclv1sectorlogicstat) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1sectorlogicstat Failed to register histogram " );       
@@ -1221,7 +1187,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1sectorlogicstat->GetXaxis()->SetTitle("SectorLogic");
 	rpclv1sectorlogicstat->GetYaxis()->SetTitle("Counts/Sector Logic "); 
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1sectorlogicstat << m_generic_path_rpclv1sectorlogicstat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1sectorlogicstat << generic_path_rpclv1sectorlogicstat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1sectorlogicstat successfully" ); 	
@@ -1229,10 +1195,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
 
 	//tower per sector logic statistics
-	std::string m_generic_path_rpclv1towervslogicstat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1towervslogicstat_title = "PadChannel_per_SectorLogic";    
-	const char* m_rpclv1towervslogicstat_title_char = m_rpclv1towervslogicstat_title.c_str ();     
-	TH2 *rpclv1towervslogicstat=new TH2I(m_rpclv1towervslogicstat_title_char,m_rpclv1towervslogicstat_title_char, 64, 0, 64, 8, 0, 8); 
+	std::string generic_path_rpclv1towervslogicstat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1towervslogicstat_title = "PadChannel_per_SectorLogic";    
+	const char* rpclv1towervslogicstat_title_char = rpclv1towervslogicstat_title.c_str ();     
+	TH2 *rpclv1towervslogicstat=new TH2I(rpclv1towervslogicstat_title_char,rpclv1towervslogicstat_title_char, 64, 0, 64, 8, 0, 8); 
 	sc=rpclv1prd_shift.regHist(rpclv1towervslogicstat) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1towervslogicstat Failed to register histogram " );       
@@ -1243,7 +1209,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1towervslogicstat->GetXaxis()->SetTitle("SectorLogic");
 	rpclv1towervslogicstat->GetYaxis()->SetTitle("Pad");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1towervslogicstat << m_generic_path_rpclv1towervslogicstat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1towervslogicstat << generic_path_rpclv1towervslogicstat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1towervslogicstat successfully" ); 	
@@ -1251,10 +1217,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
     
 	// cma channel per sector logic stat
-	std::string m_generic_path_rpclv1cmalogicstat = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1cmalogicstat_title = "CMChannel_per_SectorLogic";    
-	const char* m_rpclv1cmalogicstat_title_char = m_rpclv1cmalogicstat_title.c_str ();     
-	TH2 *rpclv1cmalogicstat=new TH2I(m_rpclv1cmalogicstat_title_char,m_rpclv1cmalogicstat_title_char, 64, 0, 64, 8*8, 0, 8*8); 
+	std::string generic_path_rpclv1cmalogicstat = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1cmalogicstat_title = "CMChannel_per_SectorLogic";    
+	const char* rpclv1cmalogicstat_title_char = rpclv1cmalogicstat_title.c_str ();     
+	TH2 *rpclv1cmalogicstat=new TH2I(rpclv1cmalogicstat_title_char,rpclv1cmalogicstat_title_char, 64, 0, 64, 8*8, 0, 8*8); 
 	sc=rpclv1prd_shift.regHist(rpclv1cmalogicstat) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1cmalogicstat Failed to register histogram " );       
@@ -1265,7 +1231,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1cmalogicstat->GetXaxis()->SetTitle("SectorLogic");
 	rpclv1cmalogicstat->GetYaxis()->SetTitle("Pad*8+Cma");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1cmalogicstat << m_generic_path_rpclv1cmalogicstat.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1cmalogicstat << generic_path_rpclv1cmalogicstat.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1cmalogicstat successfully" ); 	
@@ -1273,10 +1239,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
       
 	//ROI distribution Low Pt
-	std::string m_generic_path_rpclv1ROI_LowPt = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1ROI_LowPt_title = "ROI_LowPt_distribution";
-	const char* m_rpclv1ROI_LowPt_title_char = m_rpclv1ROI_LowPt_title.c_str();
-	TH2 * rpclv1ROI_LowPt = new TH2I(m_rpclv1ROI_LowPt_title_char, m_rpclv1ROI_LowPt_title_char, 64, 0, 64, 28, 0, 28); 
+	std::string generic_path_rpclv1ROI_LowPt = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1ROI_LowPt_title = "ROI_LowPt_distribution";
+	const char* rpclv1ROI_LowPt_title_char = rpclv1ROI_LowPt_title.c_str();
+	TH2 * rpclv1ROI_LowPt = new TH2I(rpclv1ROI_LowPt_title_char, rpclv1ROI_LowPt_title_char, 64, 0, 64, 28, 0, 28); 
 	sc=rpclv1prd_shift.regHist(rpclv1ROI_LowPt);
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1ROI_LowPt Failed to register histogram " );       
@@ -1286,7 +1252,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1ROI_LowPt->GetXaxis()->SetTitle("SectorLogic");
 	rpclv1ROI_LowPt->GetYaxis()->SetTitle("Region of Interest");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1ROI_LowPt << m_rpclv1ROI_LowPt_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1ROI_LowPt << rpclv1ROI_LowPt_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1ROI_LowPt successfully" ); 	
@@ -1294,10 +1260,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	/////////////////////////////////////////////
       
 	// ROI distribution High Pt
-	std::string m_generic_path_rpclv1ROI_HighPt = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1ROI_HighPt_title = "ROI_HighPt_distribution";
-	const char* m_rpclv1ROI_HighPt_title_char = m_rpclv1ROI_HighPt_title.c_str();
-	TH2 * rpclv1ROI_HighPt = new TH2I(m_rpclv1ROI_HighPt_title_char, m_rpclv1ROI_HighPt_title_char, 64, 0, 64, 28, 0, 28); 
+	std::string generic_path_rpclv1ROI_HighPt = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1ROI_HighPt_title = "ROI_HighPt_distribution";
+	const char* rpclv1ROI_HighPt_title_char = rpclv1ROI_HighPt_title.c_str();
+	TH2 * rpclv1ROI_HighPt = new TH2I(rpclv1ROI_HighPt_title_char, rpclv1ROI_HighPt_title_char, 64, 0, 64, 28, 0, 28); 
 	sc=rpclv1prd_shift.regHist(rpclv1ROI_HighPt);
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1ROI_HighPt Failed to register histogram " );       
@@ -1307,7 +1273,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1ROI_HighPt->GetXaxis()->SetTitle("SectorLogic");
 	rpclv1ROI_HighPt->GetYaxis()->SetTitle("Region of Interest");
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1ROI_HighPt << m_rpclv1ROI_HighPt_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1ROI_HighPt << rpclv1ROI_HighPt_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked rpclv1ROI_HighPt successfully" ); 	
@@ -1315,10 +1281,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////
       
 	// Trigger_Cond LowPt PHI
-	std::string m_generic_path_rpclv1Trigger_cond_LowPt_phi = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1Trigger_cond_LowPt_phi_title = "Trigger_Condition_LowPt_Phi";
-	const char* m_rpclv1Trigger_cond_LowPt_phi_title_char = m_rpclv1Trigger_cond_LowPt_phi_title.c_str();
-	TH1* rpclv1Trigger_cond_LowPt_phi = new TH1I( m_rpclv1Trigger_cond_LowPt_phi_title_char, m_rpclv1Trigger_cond_LowPt_phi_title_char, 16, 0, 16 );
+	std::string generic_path_rpclv1Trigger_cond_LowPt_phi = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1Trigger_cond_LowPt_phi_title = "Trigger_Condition_LowPt_Phi";
+	const char* rpclv1Trigger_cond_LowPt_phi_title_char = rpclv1Trigger_cond_LowPt_phi_title.c_str();
+	TH1* rpclv1Trigger_cond_LowPt_phi = new TH1I( rpclv1Trigger_cond_LowPt_phi_title_char, rpclv1Trigger_cond_LowPt_phi_title_char, 16, 0, 16 );
 	sc=rpclv1prd_shift.regHist(rpclv1Trigger_cond_LowPt_phi);
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "Trigger_Condition_LowPt_Phi Failed to register histogram " );       
@@ -1331,7 +1297,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1Trigger_cond_LowPt_phi->GetXaxis()->SetBinLabel(1,"None");
       
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_LowPt_phi << m_rpclv1Trigger_cond_LowPt_phi_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_LowPt_phi << rpclv1Trigger_cond_LowPt_phi_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked Trigger_Condition_LowPt_Phi successfully" ); 	
@@ -1339,10 +1305,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	//////////////////////////////////////////////
       
 	// Trigger_Cond LowPt ETA
-	std::string m_generic_path_rpclv1Trigger_cond_LowPt_eta = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1Trigger_cond_LowPt_eta_title = "Trigger_Condition_LowPt_Eta";
-	const char* m_rpclv1Trigger_cond_LowPt_eta_title_char = m_rpclv1Trigger_cond_LowPt_eta_title.c_str();
-	TH1* rpclv1Trigger_cond_LowPt_eta = new TH1I( m_rpclv1Trigger_cond_LowPt_eta_title_char, m_rpclv1Trigger_cond_LowPt_eta_title_char, 16, 0, 16 );
+	std::string generic_path_rpclv1Trigger_cond_LowPt_eta = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1Trigger_cond_LowPt_eta_title = "Trigger_Condition_LowPt_Eta";
+	const char* rpclv1Trigger_cond_LowPt_eta_title_char = rpclv1Trigger_cond_LowPt_eta_title.c_str();
+	TH1* rpclv1Trigger_cond_LowPt_eta = new TH1I( rpclv1Trigger_cond_LowPt_eta_title_char, rpclv1Trigger_cond_LowPt_eta_title_char, 16, 0, 16 );
 	sc=rpclv1prd_shift.regHist(rpclv1Trigger_cond_LowPt_eta);
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "Trigger_Condition_LowPt_eta Failed to register histogram " );       
@@ -1355,7 +1321,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1Trigger_cond_LowPt_eta->GetXaxis()->SetBinLabel(1,"None");
       
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_LowPt_eta << m_rpclv1Trigger_cond_LowPt_eta_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_LowPt_eta << rpclv1Trigger_cond_LowPt_eta_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked Trigger_Condition_LowPt_eta successfully" ); 
@@ -1363,10 +1329,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	/////////////////////////////////////////////
       
 	// Trigger_Cond HighPt PHI
-	std::string m_generic_path_rpclv1Trigger_cond_HighPt_phi = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1Trigger_cond_HighPt_phi_title = "Trigger_Condition_HighPt_Phi";
-	const char* m_rpclv1Trigger_cond_HighPt_phi_title_char = m_rpclv1Trigger_cond_HighPt_phi_title.c_str();
-	TH1* rpclv1Trigger_cond_HighPt_phi = new TH1I( m_rpclv1Trigger_cond_HighPt_phi_title_char, m_rpclv1Trigger_cond_HighPt_phi_title_char, 16, 0, 16 );
+	std::string generic_path_rpclv1Trigger_cond_HighPt_phi = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1Trigger_cond_HighPt_phi_title = "Trigger_Condition_HighPt_Phi";
+	const char* rpclv1Trigger_cond_HighPt_phi_title_char = rpclv1Trigger_cond_HighPt_phi_title.c_str();
+	TH1* rpclv1Trigger_cond_HighPt_phi = new TH1I( rpclv1Trigger_cond_HighPt_phi_title_char, rpclv1Trigger_cond_HighPt_phi_title_char, 16, 0, 16 );
 	sc=rpclv1prd_shift.regHist(rpclv1Trigger_cond_HighPt_phi);
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "Trigger_Condition_HighPt_Phi Failed to register histogram " );       
@@ -1379,7 +1345,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1Trigger_cond_HighPt_phi->GetXaxis()->SetBinLabel(1,"None");
       
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_HighPt_phi << m_rpclv1Trigger_cond_HighPt_phi_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_HighPt_phi << rpclv1Trigger_cond_HighPt_phi_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked Trigger_Condition_HighPt_Phi successfully" ); 
@@ -1387,10 +1353,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	///////////////////////////////////////////////
       
 	// Trigger_Cond HighPt ETA
-	std::string m_generic_path_rpclv1Trigger_cond_HighPt_eta = m_generic_path_rpclv1monitoring+"/Overview";
-	std::string m_rpclv1Trigger_cond_HighPt_eta_title = "Trigger_Condition_HighPt_Eta";
-	const char* m_rpclv1Trigger_cond_HighPt_eta_title_char = m_rpclv1Trigger_cond_HighPt_eta_title.c_str();
-	TH1* rpclv1Trigger_cond_HighPt_eta = new TH1I( m_rpclv1Trigger_cond_HighPt_eta_title_char, m_rpclv1Trigger_cond_HighPt_eta_title_char, 16, 0, 16 );
+	std::string generic_path_rpclv1Trigger_cond_HighPt_eta = generic_path_rpclv1monitoring+"/Overview";
+	std::string rpclv1Trigger_cond_HighPt_eta_title = "Trigger_Condition_HighPt_Eta";
+	const char* rpclv1Trigger_cond_HighPt_eta_title_char = rpclv1Trigger_cond_HighPt_eta_title.c_str();
+	TH1* rpclv1Trigger_cond_HighPt_eta = new TH1I( rpclv1Trigger_cond_HighPt_eta_title_char, rpclv1Trigger_cond_HighPt_eta_title_char, 16, 0, 16 );
 	sc=rpclv1prd_shift.regHist(rpclv1Trigger_cond_HighPt_eta);
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "Trigger_Condition_HighPt_eta Failed to register histogram " );       
@@ -1403,7 +1369,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	rpclv1Trigger_cond_HighPt_eta->GetXaxis()->SetBinLabel(1,"None");
       
 	 
-	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_HighPt_eta << m_rpclv1Trigger_cond_HighPt_eta_title.c_str() );
+	ATH_MSG_DEBUG ( "INSIDE bookHistograms : " << rpclv1Trigger_cond_HighPt_eta << rpclv1Trigger_cond_HighPt_eta_title.c_str() );
 	//ATH_MSG_DEBUG ( "SHIFT : " << shift );
 	ATH_MSG_DEBUG ( "RUN : " << run ); 	     	
 	ATH_MSG_DEBUG ( "Booked Trigger_Condition_HighPt_eta successfully" ); 
@@ -1444,7 +1410,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
     
 	/*  
 	//mean time-trigger time
-	std::string m_generic_path_rpclv1triggertimemean = m_generic_path_rpclv1monitoring+"/Overview";
+	std::string m_generic_path_rpclv1triggertimemean = generic_path_rpclv1monitoring+"/Overview";
 	std::string m_rpclv1triggertimemean_title = "Mean time - Mean Trigger time";    
 	const char* m_rpclv1triggertimemean_title_char = m_rpclv1triggertimemean_title.c_str ();     
 	TH2 *rpclv1triggertimemean=new TH2I(m_rpclv1triggertimemean_title_char,m_rpclv1triggertimemean_title_char, 1000, 0, 1000, 64, 0, 64 );
@@ -1465,7 +1431,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
   
 	//RMS time-trigger time
-	std::string m_generic_path_rpclv1triggertimeRMS = m_generic_path_rpclv1monitoring+"/Overview";
+	std::string m_generic_path_rpclv1triggertimeRMS = generic_path_rpclv1monitoring+"/Overview";
 	std::string m_rpclv1triggertimeRMS_title = "RMS of time - Trigger time";    
 	const char* m_rpclv1triggertimeRMS_title_char = m_rpclv1triggertimeRMS_title.c_str ();     
 	TH2 *rpclv1triggertimeRMS=new TH2I(m_rpclv1triggertimeRMS_title_char,m_rpclv1triggertimeRMS_title_char, 1000, 0, 1000, 64, 0, 64 );
@@ -1488,10 +1454,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	////////////////////////////////////////////// 
         
 	//BCid_per_TriggerType
-	std::string m_rpclv1_BCid_per_TriggerType_title = "rpclv1_BCid_per_TriggerType";      
-	const char* m_rpclv1_BCid_per_TriggerType_title_char = m_rpclv1_BCid_per_TriggerType_title.c_str();
+	std::string rpclv1_BCid_per_TriggerType_title = "rpclv1_BCid_per_TriggerType";      
+	const char* rpclv1_BCid_per_TriggerType_title_char = rpclv1_BCid_per_TriggerType_title.c_str();
        
-	TH2 *rpclv1_BCid_per_TriggerType=new TH2I( m_rpclv1_BCid_per_TriggerType_title_char,m_rpclv1_BCid_per_TriggerType_title_char,8, 0, 8, 8*2, 0, 16); 				
+	TH2 *rpclv1_BCid_per_TriggerType=new TH2I( rpclv1_BCid_per_TriggerType_title_char,rpclv1_BCid_per_TriggerType_title_char,8, 0, 8, 8*2, 0, 16); 				
 	sc=rpclv1_shift_dqmf.regHist(rpclv1_BCid_per_TriggerType) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1_BCid_per_TriggerType Failed to register histogram " );       
@@ -1509,10 +1475,10 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	//
       
 	//BCid_per_TriggerCorrelation
-	std::string m_rpclv1_BCid_per_TriggerCorr_title = "rpclv1_BCid_per_TriggerCorrelation";      
-	const char* m_rpclv1_BCid_per_TriggerCorr_title_char = m_rpclv1_BCid_per_TriggerCorr_title.c_str();
+	std::string rpclv1_BCid_per_TriggerCorr_title = "rpclv1_BCid_per_TriggerCorrelation";      
+	const char* rpclv1_BCid_per_TriggerCorr_title_char = rpclv1_BCid_per_TriggerCorr_title.c_str();
        
-	TH2 *rpclv1_BCid_per_TriggerCorr=new TH2I(m_rpclv1_BCid_per_TriggerCorr_title_char,m_rpclv1_BCid_per_TriggerCorr_title_char, 256, 0, 256, 8*2, 0, 16); 				
+	TH2 *rpclv1_BCid_per_TriggerCorr=new TH2I(rpclv1_BCid_per_TriggerCorr_title_char,rpclv1_BCid_per_TriggerCorr_title_char, 256, 0, 256, 8*2, 0, 16); 				
 	sc=rpclv1prd_shift.regHist(rpclv1_BCid_per_TriggerCorr) ;  
 	if(sc.isFailure())
 	  { ATH_MSG_FATAL ( "rpclv1_BCid_per_TriggerCorr Failed to register histogram " );       
@@ -1534,6 +1500,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 	  // cool histogram
 	  // strip profile -> noise and dead strips
 	  if ( m_doCoolDB ) {
+            std::vector<std::string> DB_list     ;
 	    //DB_list.push_back( "StripId" );
 	    DB_list.push_back( "ProfileCabling" );
 	    DB_list.push_back( "ProfileDataCModd"  );
@@ -1590,6 +1557,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
     std::vector<int>           RpcStrip = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prdcoll_id, 0);
     int strip_dbindex        = (RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,prdcoll_id, 0)).at(16);// cool strip profile
 		if ( m_doCoolDB ) {
+                  TH1* rpcCool_PanelIdHist = nullptr;
 		  sc = rpcCoolDb.getHist( rpcCool_PanelIdHist, sector_dphi_layer+"_ProfileCabling" ) ;
 		  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get " << sector_dphi_layer << "_ProfileCabling" );
   
@@ -1615,7 +1583,7 @@ StatusCode RpcLv1RawDataValAlg::bookHistogramsRecurrent()
 
 
 
-StatusCode RpcLv1RawDataValAlg::bookRPCLV1cmatimevschHistograms(std::string m_sectorlogic_name, std::string m_tower_name, std::string m_cma_name)
+StatusCode RpcLv1RawDataValAlg::bookRPCLV1cmatimevschHistograms(std::string sectorlogic_name, std::string tower_name, std::string cma_name)
 {
  
   StatusCode sc = StatusCode::SUCCESS;
@@ -1623,14 +1591,14 @@ StatusCode RpcLv1RawDataValAlg::bookRPCLV1cmatimevschHistograms(std::string m_se
   if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0Raw ) {  
  		    
     //declare a group of histograms
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
-    MonGroup rpclv1prd_expert( this, m_generic_path_rpclv1monitoring+"/TriggerRoad/"+m_sectorlogic_name, run, ATTRIB_UNMANAGED );   
-    MuonDQAHistList& lst = m_stationHists.getList( m_sectorlogic_name );
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
+    MonGroup rpclv1prd_expert( this, generic_path_rpclv1monitoring+"/TriggerRoad/"+sectorlogic_name, run, ATTRIB_UNMANAGED );   
+    MuonDQAHistList& lst = m_stationHists.getList( sectorlogic_name );
     
-    std::string m_generic_path_RPCLV1cmatimevsch = m_generic_path_rpclv1monitoring+"/"+m_sectorlogic_name+"/"+m_tower_name+"/rpclv1cosmic_cmatimevsch"+m_cma_name;
-    std::string m_RPCLV1cmatimevsch_title = m_sectorlogic_name + "_" + m_tower_name + m_cma_name +"_time_vs_channel";     
-    const char* m_RPCLV1cmatimevsch_title_char = m_RPCLV1cmatimevsch_title.c_str();
-    TH2 *RPCLV1cmatimevsch=new TH2I(m_RPCLV1cmatimevsch_title_char,m_RPCLV1cmatimevsch_title_char, 32*7/m_rpclv1reducenbins, 0, 32*7, 64, 0,64);                       
+    std::string generic_path_RPCLV1cmatimevsch = generic_path_rpclv1monitoring+"/"+sectorlogic_name+"/"+tower_name+"/rpclv1cosmic_cmatimevsch"+cma_name;
+    std::string RPCLV1cmatimevsch_title = sectorlogic_name + "_" + tower_name + cma_name +"_time_vs_channel";     
+    const char* RPCLV1cmatimevsch_title_char = RPCLV1cmatimevsch_title.c_str();
+    TH2 *RPCLV1cmatimevsch=new TH2I(RPCLV1cmatimevsch_title_char,RPCLV1cmatimevsch_title_char, 32*7/m_rpclv1reducenbins, 0, 32*7, 64, 0,64);                       
     lst.addHist(RPCLV1cmatimevsch);
     RPCLV1cmatimevsch->SetFillColor(42);  
     RPCLV1cmatimevsch->SetMarkerColor(1);  
@@ -1639,18 +1607,18 @@ StatusCode RpcLv1RawDataValAlg::bookRPCLV1cmatimevschHistograms(std::string m_se
     RPCLV1cmatimevsch->GetXaxis()->SetTitle("Channel + 32 * ijk"     );
     RPCLV1cmatimevsch->GetYaxis()->SetTitle("Time=bcId*8+ticks"      );
      
-    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1cmatimevschHistograms : " << RPCLV1cmatimevsch << m_generic_path_RPCLV1cmatimevsch.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1cmatimevschHistograms : " << RPCLV1cmatimevsch << generic_path_RPCLV1cmatimevsch.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run ); 
   
     sc = rpclv1prd_expert.regHist( RPCLV1cmatimevsch );
     if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't register RPCLV1cmatimevsch hist to MonGroup" );
  
-    std::string m_generic_path_RPCLV1cmatimetriggervsch = m_generic_path_rpclv1monitoring+"/"+m_sectorlogic_name+"/"+m_tower_name+"/rpclv1cosmic_cmatimetriggervsch"+m_cma_name; 
-    std::string m_RPCLV1cmatimetriggervsch_title = m_sectorlogic_name + "_" + m_tower_name + m_cma_name +"_(time-triggertime)_vs_channel";        
-    const char* m_RPCLV1cmatimetriggervsch_title_char = m_RPCLV1cmatimetriggervsch_title.c_str ();
+    std::string generic_path_RPCLV1cmatimetriggervsch = generic_path_rpclv1monitoring+"/"+sectorlogic_name+"/"+tower_name+"/rpclv1cosmic_cmatimetriggervsch"+cma_name; 
+    std::string RPCLV1cmatimetriggervsch_title = sectorlogic_name + "_" + tower_name + cma_name +"_(time-triggertime)_vs_channel";        
+    const char* RPCLV1cmatimetriggervsch_title_char = RPCLV1cmatimetriggervsch_title.c_str ();
                  
-    TH2 *RPCLV1cmatimetriggervsch=new TH2I(m_RPCLV1cmatimetriggervsch_title_char,m_RPCLV1cmatimetriggervsch_title_char, 32*7/m_rpclv1reducenbins, 0, 32*7, 2*64,-64, 64);             
+    TH2 *RPCLV1cmatimetriggervsch=new TH2I(RPCLV1cmatimetriggervsch_title_char,RPCLV1cmatimetriggervsch_title_char, 32*7/m_rpclv1reducenbins, 0, 32*7, 2*64,-64, 64);             
     lst.addHist(RPCLV1cmatimetriggervsch);
     RPCLV1cmatimetriggervsch->SetFillColor(42);  
     RPCLV1cmatimetriggervsch->SetMarkerColor(1);  
@@ -1659,7 +1627,7 @@ StatusCode RpcLv1RawDataValAlg::bookRPCLV1cmatimevschHistograms(std::string m_se
     RPCLV1cmatimetriggervsch->GetXaxis()->SetTitle("Channel + 32 * ijk"     );
     RPCLV1cmatimetriggervsch->GetYaxis()->SetTitle("Time=bcId*8+ticks"      );
      
-    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1cmatimevschHistograms : " << RPCLV1cmatimetriggervsch << m_generic_path_RPCLV1cmatimetriggervsch.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1cmatimevschHistograms : " << RPCLV1cmatimetriggervsch << generic_path_RPCLV1cmatimetriggervsch.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run ); 
   
@@ -1671,7 +1639,7 @@ StatusCode RpcLv1RawDataValAlg::bookRPCLV1cmatimevschHistograms(std::string m_se
     
 }
  
-StatusCode  RpcLv1RawDataValAlg::bookRPCLV1TriggerRoadHistograms(std::string m_sectorlogic_name, std::string m_tower_name, std::string m_cma_name, std::string m_thr_name)
+StatusCode  RpcLv1RawDataValAlg::bookRPCLV1TriggerRoadHistograms(std::string sectorlogic_name, std::string tower_name, std::string cma_name, std::string thr_name)
 
 {  
   // Trigger Road LowPt vs ijk channel   
@@ -1680,20 +1648,20 @@ StatusCode  RpcLv1RawDataValAlg::bookRPCLV1TriggerRoadHistograms(std::string m_s
   if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0Raw  ) { 
 
     //declare a group of histograms
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
-    MonGroup rpclv1prd_expert( this, m_generic_path_rpclv1monitoring+"/TriggerRoad/"+m_sectorlogic_name, run, ATTRIB_UNMANAGED );   
-    MuonDQAHistList& lst = m_stationHists.getList( m_sectorlogic_name );
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
+    MonGroup rpclv1prd_expert( this, generic_path_rpclv1monitoring+"/TriggerRoad/"+sectorlogic_name, run, ATTRIB_UNMANAGED );   
+    MuonDQAHistList& lst = m_stationHists.getList( sectorlogic_name );
   
-    std::string m_generic_path_RPCLV1TriggerRoad =  m_generic_path_rpclv1monitoring+"/"+m_sectorlogic_name+"/"+m_tower_name+"/rpclv1cosmic_TriggerRoad"+m_cma_name+m_thr_name;
-    std::string m_RPCLV1TriggerRoad_title = m_sectorlogic_name + "_" + m_tower_name + m_cma_name + m_thr_name + "_TriggerRoad";     
-    const char* m_RPCLV1TriggerRoad_title_char = m_RPCLV1TriggerRoad_title.c_str();
-    TH2 *RPCLV1TriggerRoad=new TH2I(m_RPCLV1TriggerRoad_title_char,m_RPCLV1TriggerRoad_title_char, 32/m_rpclv1reducenbins, 0, 32, 64/m_rpclv1reducenbins, 0, 64);                       
+    std::string generic_path_RPCLV1TriggerRoad =  generic_path_rpclv1monitoring+"/"+sectorlogic_name+"/"+tower_name+"/rpclv1cosmic_TriggerRoad"+cma_name+thr_name;
+    std::string RPCLV1TriggerRoad_title = sectorlogic_name + "_" + tower_name + cma_name + thr_name + "_TriggerRoad";     
+    const char* RPCLV1TriggerRoad_title_char = RPCLV1TriggerRoad_title.c_str();
+    TH2 *RPCLV1TriggerRoad=new TH2I(RPCLV1TriggerRoad_title_char,RPCLV1TriggerRoad_title_char, 32/m_rpclv1reducenbins, 0, 32, 64/m_rpclv1reducenbins, 0, 64);                       
     lst.addHist(RPCLV1TriggerRoad);
     RPCLV1TriggerRoad->SetOption("COLZ");
     RPCLV1TriggerRoad->GetXaxis()->SetTitle("Channel  (ijk=6)"  );
     RPCLV1TriggerRoad->GetYaxis()->SetTitle("Confirm channel"   );
      
-    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1TriggerRoadHistograms : " << RPCLV1TriggerRoad << m_generic_path_RPCLV1TriggerRoad.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1TriggerRoadHistograms : " << RPCLV1TriggerRoad << generic_path_RPCLV1TriggerRoad.c_str() );
     //ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run ); 
   
@@ -1706,45 +1674,46 @@ StatusCode  RpcLv1RawDataValAlg::bookRPCLV1TriggerRoadHistograms(std::string m_s
 }
 
 ///  profile cabling 
-//void RpcLv1RawDataValAlg::bookRPCLV1ProfilesHistograms(int m_i_sector, std::string m_sectorlogic_name, int m_i_cmaId, std::string m_cma_name, int m_i_ijk, std::string m_ijk_name) 
-StatusCode RpcLv1RawDataValAlg::bookRPCLV1ProfilesHistograms(int m_i_sector, std::string m_sectorlogic_name, std::string m_cma_name, int m_i_ijk, std::string m_ijk_name) 
+//void RpcLv1RawDataValAlg::bookRPCLV1ProfilesHistograms(int m_i_sector, std::string sectorlogic_name, int m_i_cmaId, std::string cma_name, int m_i_ijk, std::string m_ijk_name) 
+StatusCode RpcLv1RawDataValAlg::bookRPCLV1ProfilesHistograms(int i_sector, std::string sectorlogic_name, std::string cma_name, int i_ijk, std::string ijk_name) 
 {  
   // book profiles histograms
   
   StatusCode sc = StatusCode::SUCCESS;
   if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0Raw  ) { 
   
-    N_pad = 6            ;  
-    cm_ch_label  =  "64" ;
-    pad_ch_label = "128" ;
+    int N_pad = 6            ;  
+    std::string cm_ch_label  =  "64" ;
+    std::string pad_ch_label = "128" ;
   
     //declare a group of histograms
-    std::string m_generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
-    MonGroup rpclv1prd_expert( this, m_generic_path_rpclv1monitoring+"/Profiles/"+m_sectorlogic_name, run, ATTRIB_UNMANAGED );   
-    MuonDQAHistList& lst = m_stationHists.getList( m_sectorlogic_name );
+    std::string generic_path_rpclv1monitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
+    MonGroup rpclv1prd_expert( this, generic_path_rpclv1monitoring+"/Profiles/"+sectorlogic_name, run, ATTRIB_UNMANAGED );   
+    MuonDQAHistList& lst = m_stationHists.getList( sectorlogic_name );
   
-    std::string m_generic_path_RPCLV1Profiles = m_generic_path_rpclv1monitoring+"/"+m_sectorlogic_name+"_"+m_cma_name+"_"+m_ijk_name+"_profiles";
+    std::string generic_path_RPCLV1Profiles = generic_path_rpclv1monitoring+"/"+sectorlogic_name+"_"+cma_name+"_"+ijk_name+"_profiles";
   
-    if ( (m_i_sector % 4)==0 || (m_i_sector % 4)==3 )  { 
+    if ( (i_sector % 4)==0 || (i_sector % 4)==3 )  { 
       N_pad = 7; 
     }
-    if ( m_i_ijk<2 || m_i_ijk==6  ) { 
+    int N_bin_profile = 0;
+    if ( i_ijk<2 || i_ijk==6  ) { 
       N_bin_profile = 2 * 32 * N_pad ;
       cm_ch_label  = "32"  ;
       pad_ch_label = "64"  ; }
     else { N_bin_profile = 2 * 64 * N_pad; }
     /*
-      if ( m_i_cmaId==0 || m_i_cmaId==1 ) { m_cma_name="Cma0_1" ; }
-      if ( m_i_cmaId==2 || m_i_cmaId==3 ) { m_cma_name="Cma2_3" ; }
-      if ( m_i_cmaId==4 || m_i_cmaId==5 ) { m_cma_name="Cma4_5" ; }
-      if ( m_i_cmaId==6 || m_i_cmaId==7 ) { m_cma_name="Cma6_7" ; }
+      if ( m_i_cmaId==0 || m_i_cmaId==1 ) { cma_name="Cma0_1" ; }
+      if ( m_i_cmaId==2 || m_i_cmaId==3 ) { cma_name="Cma2_3" ; }
+      if ( m_i_cmaId==4 || m_i_cmaId==5 ) { cma_name="Cma4_5" ; }
+      if ( m_i_cmaId==6 || m_i_cmaId==7 ) { cma_name="Cma6_7" ; }
 				       
-      if ( m_i_ijk==2 || m_i_ijk==3 ) { m_ijk_name="ijk2_3" ; }
-      if ( m_i_ijk==4 || m_i_ijk==5 ) { m_ijk_name="ijk4_5" ; }  */
+      if ( i_ijk==2 || i_ijk==3 ) { ijk_name="ijk2_3" ; }
+      if ( i_ijk==4 || i_ijk==5 ) { ijk_name="ijk4_5" ; }  */
     
-    std::string m_RPCLV1Profiles_title = m_sectorlogic_name + "_" + m_cma_name+"_"+ m_ijk_name+"_Profiles";
-    const char* m_RPCLV1Profiles_title_char = m_RPCLV1Profiles_title.c_str();
-    TH1 *RPCLV1Profiles=new TH1I(m_RPCLV1Profiles_title_char,m_RPCLV1Profiles_title_char, N_bin_profile/m_rpclv1reducenbins, 0, N_bin_profile );
+    std::string RPCLV1Profiles_title = sectorlogic_name + "_" + cma_name+"_"+ ijk_name+"_Profiles";
+    const char* RPCLV1Profiles_title_char = RPCLV1Profiles_title.c_str();
+    TH1 *RPCLV1Profiles=new TH1I(RPCLV1Profiles_title_char,RPCLV1Profiles_title_char, N_bin_profile/m_rpclv1reducenbins, 0, N_bin_profile );
     lst.addHist(RPCLV1Profiles);
   
     std::string x_axis_title = "Channel+ (ijk-ijk_off)*32 +cm*"+cm_ch_label+" +pad*"+pad_ch_label ;
@@ -1753,7 +1722,7 @@ StatusCode RpcLv1RawDataValAlg::bookRPCLV1ProfilesHistograms(int m_i_sector, std
     RPCLV1Profiles->GetYaxis()->SetTitle("Counts  "   );
     RPCLV1Profiles->SetFillColor(42) ;  // 38
      
-    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1ProfilesHistograms : " << RPCLV1Profiles << m_generic_path_RPCLV1Profiles.c_str() );
+    ATH_MSG_DEBUG ( "INSIDE bookRPCLV1ProfilesHistograms : " << RPCLV1Profiles << generic_path_RPCLV1Profiles.c_str() );
    // ATH_MSG_DEBUG ( "SHIFT : " << shift );
     ATH_MSG_DEBUG ( "RUN : " << run ); 
  
@@ -1768,83 +1737,85 @@ StatusCode RpcLv1RawDataValAlg::bookRPCLV1ProfilesHistograms(int m_i_sector, std
  
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 
-void RpcLv1RawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_iterator & m_iter, int m_isec, int m_idblPhi,
-					      std::string m_layer ) 
+void RpcLv1RawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_iterator & iter, int isec, int idblPhi,
+					      std::string layer ) 
 {
   StatusCode sc = StatusCode::SUCCESS ;
   
-  std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
-  MonGroup rpcCoolDb( this, m_generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
+  std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPCLV1";
+  MonGroup rpcCoolDb( this, generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
   
-  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", m_isec+1, m_layer.c_str(), m_idblPhi+1) ;
+  char histName_char[100]	       ;
+  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", isec+1, layer.c_str(), idblPhi+1) ;
   // example: Sector01_Pivot0_dblPhi1_StripId
   
-  histName  = histName_char  ;
+  std::string histName  = histName_char  ;
   histName += "_"            ;
-  histName += *m_iter        ;  //histName += m_coolQuantity ;
-  istatPhi  = int( m_isec/2) ;
-  iName     = 0              ;
+  histName += *iter        ;  //histName += m_coolQuantity ;
+  int istatPhi  = int( isec/2) ;
+  int iName     = 0              ;
   int kName = 0              ;
   int ig        = 0          ;
   int iNameMax  = 0          ;
+  int ir = 0;
 
-  if ( m_isec==12) {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+  if ( isec==12) {
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName     =  1          ;
       iNameMax  =  2          ;
       ir    = 2 	      ;		
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName     =  1          ;
       iNameMax  =  2          ;
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 4               ;
       iNameMax  =  iName      ;
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(6,1)).c_str() ) ; 
+      ig    = atoi( (layer.substr(6,1)).c_str() ) ; 
     }
   }//sector 13
-  else if ( m_isec==11 ||  m_isec==13){
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+  else if ( isec==11 ||  isec==13){
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName = 8 ;
       iNameMax  =  10;
       ir    = 2 ;   
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;   
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;   
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName = 8 ;
       iNameMax  =  iName         ;
       ir    = 1 ;
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 9 ; // or 10 ;
       iNameMax=10          ;
       ir    = 1 ; // doubletR=2 -> upgrade of Atlas
-      ig    = atoi( (m_layer.substr(6,1)).c_str() ) ; 
+      ig    = atoi( (layer.substr(6,1)).c_str() ) ; 
     }
   } // end sectors 12 and 14  
   else {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
-      iName = 2 + (m_isec%2 ) ;
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 2 	      ;		
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
-      iName = 2 + (m_isec%2 ) ;
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
-      iName = 4 + (m_isec%2 ) ;
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
+      iName = 4 + (isec%2 ) ;
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(6,1)).c_str() ) ; 
+      ig    = atoi( (layer.substr(6,1)).c_str() ) ; 
     }
     iNameMax  =  iName         ;
   }
@@ -1855,14 +1826,14 @@ void RpcLv1RawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const
   int NTotStripsSideA = 1;
   int NTotStripsSideC = 1;     
  
-  const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields( kName, 1 , istatPhi+1, ir, 1, m_idblPhi+1 );    
+  const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields( kName, 1 , istatPhi+1, ir, 1, idblPhi+1 );    
   
   if(rpc != NULL ){  
     Identifier idr = rpc->identify();
     std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,idr, 0)  ;
     NTotStripsSideA = rpcstripshift[6]+rpcstripshift[17];
   } 
-  rpc = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, m_idblPhi+1 );    
+  rpc = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, idblPhi+1 );    
   
   if(rpc != NULL ){  
     Identifier idr = rpc->identify();
@@ -1881,7 +1852,8 @@ void RpcLv1RawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const
   
   // Fill strip Id histogram
   if ( (histName.find("ProfileCabling", 0)) != std::string::npos ) {
-  
+    
+    TH1* rpcCool_PanelIdHist = nullptr;
     sc = rpcCoolDb.getHist( rpcCool_PanelIdHist, histName.c_str() );
     if( sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get "<< histName << " hist" );
     rpcCool_PanelIdHist->GetYaxis()->SetTitle("strip Id");
@@ -1899,11 +1871,11 @@ void RpcLv1RawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const
 	for (int iz=0; iz!=3; iz++ ) {
 	  int irc = ir ;	
 	  if(abs(ieta-8)==7&&ir==1&&kName==2)continue;	
-	  if(m_isec==12&&abs(ieta-8)==6&&ir==1&&kName==2)continue;
+	  if(isec==12&&abs(ieta-8)==6&&ir==1&&kName==2)continue;
 	  if(abs(ieta-8)==7&&ir==2)irc=1; 
-	  if(m_isec==12&&abs(ieta-8)==6&&ir==2)irc=1;	 
+	  if(isec==12&&abs(ieta-8)==6&&ir==2)irc=1;	 
 											   
-    	  const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields(kName, ieta-8, istatPhi+1, irc, iz+1, m_idblPhi+1);  
+    	  const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields(kName, ieta-8, istatPhi+1, irc, iz+1, idblPhi+1);  
     	  if( rpc == NULL ) continue;   
 	  
     	  if  ( iz+1 != rpc->getDoubletZ() ) { 
@@ -1915,13 +1887,13 @@ void RpcLv1RawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const
 	  
 	  
     	  for ( int istripEta=0; istripEta!=rpcElemEtaStrip; istripEta++ ) {
-    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, m_idblPhi+1, ig+1, 0, istripEta+1) ;
+    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, idblPhi+1, ig+1, 0, istripEta+1) ;
     	    if( strip_id == 0 ) continue;
     	    coolStripIndex = (RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,strip_id, 0)).at(16);
     	    rpcCool_PanelIdHist->Fill(coolStripIndex, -1) ;
           }
     	  for ( int istripPhi=0; istripPhi!=rpcElemPhiStrip; istripPhi++ ) {
-    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, m_idblPhi+1, ig+1, 1, istripPhi+1) ;
+    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, idblPhi+1, ig+1, 1, istripPhi+1) ;
     	    if( strip_id == 0 ) continue;
     	    coolStripIndex = (RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper,strip_id, 0)).at(16);
     	    rpcCool_PanelIdHist->Fill(coolStripIndex, -1 );
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcRawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcRawDataValAlg.cxx
index 86ad97973b10a2a043f9322e4638bc14c7719eff..70969949c5800c821fcc22ed065a1938e499d491 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcRawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcRawDataValAlg.cxx
@@ -87,7 +87,7 @@ RpcRawDataValAlg::RpcRawDataValAlg( const std::string & type, const std::string
   declareProperty("doTrigEvol",		 m_doTrigEvol		= false	); // historical plot of trigger hits		
   declareProperty("doLumiPlot",	         m_doLumiPlot		= false	); 		
   declareProperty("doTriggerHits",	 m_doTriggerHits	= false	); 
-  declareProperty("minStatTrEvol",	 minStatTrEvol		= 300	);  
+  declareProperty("minStatTrEvol",	 m_minStatTrEvol	= 300	);  
   declareProperty("lv1Thres_0",		 m_lv1Thres_0		= 99	);
   declareProperty("lv1Thres_1",		 m_lv1Thres_1		= 1	);
   declareProperty("lv1Thres_2",		 m_lv1Thres_2		= 2	);
@@ -96,7 +96,7 @@ RpcRawDataValAlg::RpcRawDataValAlg( const std::string & type, const std::string
   declareProperty("ClusterContainer",    m_clusterContainerName = "rpcClusters"		);
   declareProperty("RpcPrepDataContainer",m_key_rpc		= "RPC_Measurements"	);
   declareProperty("RPCTriggerContainer", m_key_trig		= "RPC_triggerHits"	);
-  declareProperty("MinimunEntries",      MinEntries		= 10	);    // min entries required for summary plot 
+  declareProperty("MinimunEntries",      m_MinEntries		= 10	);    // min entries required for summary plot 
   declareProperty("LB_Nbins"      ,      m_LB_Nbins		= 300	);     
   declareProperty("LBmax"         ,      m_LBmax		= 1500	);
   m_padsId     = 0;
@@ -188,90 +188,62 @@ StatusCode RpcRawDataValAlg::initialize(){
     ATH_MSG_WARNING (  "Could not retrieve the summary service" );
     }
   */
-  hardware_name_list.push_back("XXX");
   
   ManagedMonitorToolBase::initialize().ignore();  //  Ignore the checking code; 
   
  
-  rpc_eventstotal=0;  
+  m_rpc_eventstotal=0;  
   
   // Clear Muon Monitoring Histograms 
-  rpc2DEtaStationTriggerHits_Side_Pt.clear();
-  rpcNumberEtaStatFired_Side_Pt.clear();
-  rpc2DPanelHits        .clear(); 
-  rpc1DvsLBPanelHits    .clear(); 
-  rpc1DvsLBTrigTowerHits.clear();
+  m_rpc2DEtaStationTriggerHits_Side_Pt.clear();
+  m_rpcNumberEtaStatFired_Side_Pt.clear();
+  m_rpc2DPanelHits        .clear(); 
+  m_rpc1DvsLBPanelHits    .clear(); 
+  m_rpc1DvsLBTrigTowerHits.clear();
   
 
   //2=BML,3=BMS,4=BOL,5=BOS,8=BMF,9=BOF,10=BOG,53=BME  
-  StationNameViewIndex[ 2][0]= 0;
-  StationNameViewIndex[ 2][1]= 1;
-  StationNameViewIndex[ 3][0]= 2;
-  StationNameViewIndex[ 3][1]= 3;
-  StationNameViewIndex[ 4][0]= 8;
-  StationNameViewIndex[ 4][1]= 9;
-  StationNameViewIndex[ 5][0]= 6;
-  StationNameViewIndex[ 5][1]= 7;
-  StationNameViewIndex[ 8][0]= 4;
-  StationNameViewIndex[ 8][1]= 5;
-  StationNameViewIndex[ 9][0]=10;
-  StationNameViewIndex[ 9][1]=11;
-  StationNameViewIndex[10][0]=10;
-  StationNameViewIndex[10][1]=11;
-  StationNameViewIndex[53][0]= 2;
-  StationNameViewIndex[53][1]= 2; 
+  m_StationNameViewIndex[ 2][0]= 0;
+  m_StationNameViewIndex[ 2][1]= 1;
+  m_StationNameViewIndex[ 3][0]= 2;
+  m_StationNameViewIndex[ 3][1]= 3;
+  m_StationNameViewIndex[ 4][0]= 8;
+  m_StationNameViewIndex[ 4][1]= 9;
+  m_StationNameViewIndex[ 5][0]= 6;
+  m_StationNameViewIndex[ 5][1]= 7;
+  m_StationNameViewIndex[ 8][0]= 4;
+  m_StationNameViewIndex[ 8][1]= 5;
+  m_StationNameViewIndex[ 9][0]=10;
+  m_StationNameViewIndex[ 9][1]=11;
+  m_StationNameViewIndex[10][0]=10;
+  m_StationNameViewIndex[10][1]=11;
+  m_StationNameViewIndex[53][0]= 2;
+  m_StationNameViewIndex[53][1]= 2; 
   
   //size in cm2 =zmax in cm * layers * # phi strips * 3 cm pitch
-  StationNameSectorSize[ 2]=  965*4*6*128*3;
-  StationNameSectorSize[ 3]=  945*4*6* 96*3;
-  StationNameSectorSize[ 4]= 1235*2*6*160*3;
-  StationNameSectorSize[ 5]= 1285*2*6*128*3;
-  StationNameSectorSize[ 8]=  685*4*2* 96*3;
-  StationNameSectorSize[ 9]= 1235*4*2*128*3;
-  StationNameSectorSize[10]= 1235*4*2*128*3;
-  StationNameSectorSize[53]=  965*4*6*128*3;
+  m_StationNameSectorSize[ 2]=  965*4*6*128*3;
+  m_StationNameSectorSize[ 3]=  945*4*6* 96*3;
+  m_StationNameSectorSize[ 4]= 1235*2*6*160*3;
+  m_StationNameSectorSize[ 5]= 1285*2*6*128*3;
+  m_StationNameSectorSize[ 8]=  685*4*2* 96*3;
+  m_StationNameSectorSize[ 9]= 1235*4*2*128*3;
+  m_StationNameSectorSize[10]= 1235*4*2*128*3;
+  m_StationNameSectorSize[53]=  965*4*6*128*3;
   
-  StationPivotSectorSize[ 2]=  965*6*128*3;
-  StationPivotSectorSize[ 3]=  945*6* 96*3;
-  StationPivotSectorSize[ 4]= 1235*6*160*3;
-  StationPivotSectorSize[ 5]= 1285*6*128*3;
-  StationPivotSectorSize[ 8]=  685*2* 96*3;
-  StationPivotSectorSize[ 9]= 1235*2*128*3;
-  StationPivotSectorSize[10]= 1235*2*128*3;
-  StationPivotSectorSize[53]=  965*6*128*3;
+  m_StationPivotSectorSize[ 2]=  965*6*128*3;
+  m_StationPivotSectorSize[ 3]=  945*6* 96*3;
+  m_StationPivotSectorSize[ 4]= 1235*6*160*3;
+  m_StationPivotSectorSize[ 5]= 1285*6*128*3;
+  m_StationPivotSectorSize[ 8]=  685*2* 96*3;
+  m_StationPivotSectorSize[ 9]= 1235*2*128*3;
+  m_StationPivotSectorSize[10]= 1235*2*128*3;
+  m_StationPivotSectorSize[53]=  965*6*128*3;
+
+  m_rpcCool_StripProfile = 0 ;
+  m_rpcCool_PanelIdHist = 0 ;
  
  
- 
- 
-   Nphi_Zstrips = 0 ;
-   NetaPanelsTot = 0 ;
-   ShiftEtaPanelsTot = 0 ;
-   NetaPanelsTotSideA = 0 ;
-   NetaPanelsTotSideC = 0 ;
-   rpcpanel_dbindex = 0 ;
-   rpctower_dbindex = 0 ;
-   rpc2DEtaStatBinX_BA = 0 ;
-   rpc2DEtaStatBinX_BC = 0 ;
-   rpc2DEtaStatBinY = 0 ;
-   etaStatShiftX_BA = 0 ;
-   etaStatShiftX_BC = 0 ;
-   binz = 0 ;
-   binminz = 0 ;
-   binmaxz = 0 ;
-   binx = 0 ;
-   binminx = 0 ;
-   binmaxx = 0 ;
-   panelBin = 0 ;
-   indexplane = 0 ;
-   NTrigger_Eta_LowPt = 0 ;
-   NTrigger_Phi_LowPt = 0 ;
-   NTrigger_Eta_HighPt = 0 ;
-   NTrigger_Phi_HighPt = 0 ;
-   rpcCool_StripProfile = 0 ;
-   rpcCool_PanelIdHist = 0 ;
- 
- 
-   m_first = true ;
+  m_first = true ;
   
   
   return StatusCode::SUCCESS;
@@ -328,7 +300,7 @@ StatusCode RpcRawDataValAlg::fillHistograms()
       m_nTrig = 0;
      
     
-      type="RPC";
+      m_type="RPC";
 
 
       // recall general histos  
@@ -343,983 +315,973 @@ StatusCode RpcRawDataValAlg::fillHistograms()
       MonGroup rpcCoolDb( this, m_generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED )         ;
     
        
-      sc = rpcprd_shift.getHist(rpctime, "Time_Distribution") ;
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpctime hist to MonGroup" );
+      sc = rpcprd_shift.getHist(m_rpctime, "Time_Distribution") ;
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpctime hist to MonGroup" );
           
-      sc = rpcprd_shift.getHist(rpcevents,"Number_of_RPC_hits_per_event");		
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpcevents hist to MonGroup" );
+      sc = rpcprd_shift.getHist(m_rpcevents,"Number_of_RPC_hits_per_event");		
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpcevents hist to MonGroup" );
         
-      sc = rpcprd_expert.getHist(rpcEtaTime,"Eta_Time_Distribution");		
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpcEtaTime hist to MonGroup" );
+      sc = rpcprd_expert.getHist(m_rpcEtaTime,"Eta_Time_Distribution");		
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpcEtaTime hist to MonGroup" );
      
-      sc = rpcprd_expert.getHist(rpcPhiTime,"Phi_Time_Distribution");				
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpcPhiTime hist to MonGroup" );
+      sc = rpcprd_expert.getHist(m_rpcPhiTime,"Phi_Time_Distribution");				
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpcPhiTime hist to MonGroup" );
         
-      sc = rpc_dqmf_global.getHist(rpc2DEtaStation,"rpc2DEtaStation");		
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpc2DEtaStation hist to MonGroup" );
+      sc = rpc_dqmf_global.getHist(m_rpc2DEtaStation,"rpc2DEtaStation");		
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpc2DEtaStation hist to MonGroup" );
     
-      sc = rpcprd_expert.getHist(rpc2DEtaStationGap1,"rpc2DEtaStationGap1");		
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpc2DEtaStationGap1 hist to MonGroup" ); 
+      sc = rpcprd_expert.getHist(m_rpc2DEtaStationGap1,"rpc2DEtaStationGap1");		
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpc2DEtaStationGap1 hist to MonGroup" ); 
     
-      sc = rpcprd_expert.getHist(rpc2DEtaStationGap2,"rpc2DEtaStationGap2");		
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpc2DEtaStationGap2 hist to MonGroup" );
+      sc = rpcprd_expert.getHist(m_rpc2DEtaStationGap2,"rpc2DEtaStationGap2");		
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpc2DEtaStationGap2 hist to MonGroup" );
     
-      sc = rpcprd_shift.getHist(rpc2DEtaStationTriggerHits,"rpc2DEtaStationTriggerHits");		
+      sc = rpcprd_shift.getHist(m_rpc2DEtaStationTriggerHits,"rpc2DEtaStationTriggerHits");		
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpc2DEtaStationLowPtTriggerHits hist to MonGroup" );  
   
-      sc = rpc_dqmf_global.getHist(GlobalHitsPerRPCMiddle, "GlobalHitsPerRPCMiddle" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get GlobalHitsPerRPCMiddle hist" );
+      sc = rpc_dqmf_global.getHist(m_GlobalHitsPerRPCMiddle, "GlobalHitsPerRPCMiddle" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_GlobalHitsPerRPCMiddle hist" );
      
-      sc = rpc_dqmf_global.getHist(GlobalHitsPerRPCOuter, "GlobalHitsPerRPCOuter" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get GlobalHitsPerRPCOuter hist"  );
+      sc = rpc_dqmf_global.getHist(m_GlobalHitsPerRPCOuter, "GlobalHitsPerRPCOuter" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_GlobalHitsPerRPCOuter hist"  );
   
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_LowPt, "EtavsPhi_TriggeredMuons_LowPt");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_LowPt hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_LowPt, "EtavsPhi_TriggeredMuons_LowPt");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_LowPt hist"  );
 
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_HighPt, "EtavsPhi_TriggeredMuons_HighPt");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_HighPt hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_HighPt, "EtavsPhi_TriggeredMuons_HighPt");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_HighPt hist"  );
     
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_Pt1, "EtavsPhi_TriggeredMuons_Pt1");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_Pt1 hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_Pt1, "EtavsPhi_TriggeredMuons_Pt1");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_Pt1 hist"  );
   
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_Pt2, "EtavsPhi_TriggeredMuons_Pt2");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_Pt2 hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_Pt2, "EtavsPhi_TriggeredMuons_Pt2");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_Pt2 hist"  );
     
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_Pt3, "EtavsPhi_TriggeredMuons_Pt3");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_Pt3 hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_Pt3, "EtavsPhi_TriggeredMuons_Pt3");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_Pt3 hist"  );
     
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_Pt4, "EtavsPhi_TriggeredMuons_Pt4");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_Pt4 hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_Pt4, "EtavsPhi_TriggeredMuons_Pt4");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_Pt4 hist"  );
     
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_Pt5, "EtavsPhi_TriggeredMuons_Pt5");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_Pt5 hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_Pt5, "EtavsPhi_TriggeredMuons_Pt5");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_Pt5 hist"  );
     
-      sc = rpc_dqmf_global.getHist(EtavsPhi_TriggeredMuons_Pt6, "EtavsPhi_TriggeredMuons_Pt6");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get EtavsPhi_TriggeredMuons_Pt6 hist"  );
+      sc = rpc_dqmf_global.getHist(m_EtavsPhi_TriggeredMuons_Pt6, "EtavsPhi_TriggeredMuons_Pt6");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_EtavsPhi_TriggeredMuons_Pt6 hist"  );
     
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasPivot0,"AtlasPivot0");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasPivot0,"AtlasPivot0");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasPivot0 hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasPivot1,"AtlasPivot1");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasPivot1,"AtlasPivot1");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasPivot1 hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasLowPt0,"AtlasLowPt0");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasLowPt0,"AtlasLowPt0");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasLowPt0 hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasLowPt1,"AtlasLowPt1");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasLowPt1,"AtlasLowPt1");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasLowPt1 hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt0,"AtlasHighPt0");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt0,"AtlasHighPt0");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt0 hist to MonGroup" );
    
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt1,"AtlasHighPt1");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt1,"AtlasHighPt1");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt1 hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasLowPt_TriggerOut,"AtlasLowPt_TriggerOut");		    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasLowPt_TriggerOut,"AtlasLowPt_TriggerOut");		    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasLowPt_TriggerOut hist to MonGroup" );
      
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt_TriggerFromLowPt,"AtlasHighPt_TriggerFromLowPt");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt,"AtlasHighPt_TriggerFromLowPt");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt_TriggerFromLowPt hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt_TriggerOut,"AtlasHighPt_TriggerOut"); 	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt_TriggerOut,"AtlasHighPt_TriggerOut"); 	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt_TriggerOut hist to MonGroup" );	
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasPivot0_PhivsZ,"AtlasPivot0_PhivsZ");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasPivot0_PhivsZ,"AtlasPivot0_PhivsZ");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasPivot0_PhivsZ hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasPivot1_PhivsZ,"AtlasPivot1_PhivsZ");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasPivot1_PhivsZ,"AtlasPivot1_PhivsZ");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasPivot1_PhivsZ hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasLowPt0_PhivsZ,"AtlasLowPt0_PhivsZ");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasLowPt0_PhivsZ,"AtlasLowPt0_PhivsZ");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasLowPt0_PhivsZ hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasLowPt1_PhivsZ,"AtlasLowPt1_PhivsZ");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasLowPt1_PhivsZ,"AtlasLowPt1_PhivsZ");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasLowPt1_PhivsZ hist to MonGroup" );
   
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt0_PhivsZ,"AtlasHighPt0_PhivsZ");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt0_PhivsZ,"AtlasHighPt0_PhivsZ");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt0_PhivsZ hist to MonGroup" );
     
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt1_PhivsZ,"AtlasHighPt1_PhivsZ");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt1_PhivsZ,"AtlasHighPt1_PhivsZ");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt1 hist to MonGroup" );
     
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ,"AtlasLowPt_TriggerOut_PhivsZ");		    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ,"AtlasLowPt_TriggerOut_PhivsZ");		    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasLowPt_TriggerOut_PhivsZ hist to MonGroup" );
     
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ,"AtlasHighPt_TriggerFromLowPt_PhivsZ");	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ,"AtlasHighPt_TriggerFromLowPt_PhivsZ");	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt_TriggerFromLowPt hist to MonGroup" );
       
-      sc = rpcprd_expert.getHist(rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ,"AtlasHighPt_TriggerOut_PhivsZ"); 	    
+      sc = rpcprd_expert.getHist(m_rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ,"AtlasHighPt_TriggerOut_PhivsZ"); 	    
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register AtlasHighPt_TriggerOut_PhivsZ hist to MonGroup" );	
      
-      sc = rpcprd_dq_BA.getHist(TotalNumber_of_RPC_hits_per_events_BA, "TotalNumber_of_RPC_hits_per_events_BA") ;
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get TotalNumber_of_RPC_hits_per_events_BA hist " );
+      sc = rpcprd_dq_BA.getHist(m_TotalNumber_of_RPC_hits_per_events_BA, "TotalNumber_of_RPC_hits_per_events_BA") ;
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_TotalNumber_of_RPC_hits_per_events_BA hist " );
     
-      sc = rpcprd_dq_BC.getHist(TotalNumber_of_RPC_hits_per_events_BC, "TotalNumber_of_RPC_hits_per_events_BC") ;
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get TotalNumber_of_RPC_hits_per_events_BC hist ");
+      sc = rpcprd_dq_BC.getHist(m_TotalNumber_of_RPC_hits_per_events_BC, "TotalNumber_of_RPC_hits_per_events_BC") ;
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_TotalNumber_of_RPC_hits_per_events_BC hist ");
     
-      sc = rpcprd_dq_BA.getHist(rpcCSEta_BA, "rpcCSEta_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcCSEta_BA hist " );
+      sc = rpcprd_dq_BA.getHist(m_rpcCSEta_BA, "rpcCSEta_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcCSEta_BA hist " );
 
-      sc = rpcprd_dq_BC.getHist(rpcCSEta_BC, "rpcCSEta_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcCSEta_BC hist " );
+      sc = rpcprd_dq_BC.getHist(m_rpcCSEta_BC, "rpcCSEta_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcCSEta_BC hist " );
 
-      sc = rpcprd_dq_BA.getHist(rpcCSPhi_BA, "rpcCSPhi_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcCSPhi_BA hist " );
+      sc = rpcprd_dq_BA.getHist(m_rpcCSPhi_BA, "rpcCSPhi_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcCSPhi_BA hist " );
 
-      sc = rpcprd_dq_BC.getHist(rpcCSPhi_BC, "rpcCSPhi_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcCSPhi_BC hist " );
+      sc = rpcprd_dq_BC.getHist(m_rpcCSPhi_BC, "rpcCSPhi_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcCSPhi_BC hist " );
 
-      sc = rpcprd_dq_BA.getHist(rpctime_LPt_BA, "rpctime_LPt_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpctime_LPt_BA hist " );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_LPt_BA, "rpctime_LPt_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpctime_LPt_BA hist " );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_LPt_BC, "rpctime_LPt_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpctime_LPt_BC hist " );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_LPt_BC, "rpctime_LPt_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpctime_LPt_BC hist " );
 
-      sc = rpcprd_dq_BA.getHist(rpctime_HPt_BA, "rpctime_HPt_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpctime_HPt_BA hist " );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_HPt_BA, "rpctime_HPt_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpctime_HPt_BA hist " );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_HPt_BC, "rpctime_HPt_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpctime_HPt_BC hist " );   
+      sc = rpcprd_dq_BC.getHist(m_rpctime_HPt_BC, "rpctime_HPt_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpctime_HPt_BC hist " );   
     
-      sc = rpcprd_dq_BA.getHist(rpctime_BA, "rpctime_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpctime_BA hist " );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_BA, "rpctime_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpctime_BA hist " );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_BC, "rpctime_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpctime_BC hist " );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_BC, "rpctime_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpctime_BC hist " );
  
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector1_BA, "rpctime_Sector1_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector1_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector1_BA, "rpctime_Sector1_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector1_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector2_BA, "rpctime_Sector2_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector2_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector2_BA, "rpctime_Sector2_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector2_BA hist "  );
    
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector3_BA, "rpctime_Sector3_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector3_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector3_BA, "rpctime_Sector3_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector3_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector4_BA, "rpctime_Sector4_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector4_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector4_BA, "rpctime_Sector4_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector4_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector5_BA, "rpctime_Sector5_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector5_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector5_BA, "rpctime_Sector5_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector5_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector6_BA, "rpctime_Sector6_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector6_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector6_BA, "rpctime_Sector6_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector6_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector7_BA, "rpctime_Sector7_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector7_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector7_BA, "rpctime_Sector7_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector7_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector8_BA, "rpctime_Sector8_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector8_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector8_BA, "rpctime_Sector8_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector8_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector9_BA, "rpctime_Sector9_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector9_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector9_BA, "rpctime_Sector9_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector9_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector10_BA, "rpctime_Sector10_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector10_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector10_BA, "rpctime_Sector10_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector10_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector11_BA, "rpctime_Sector11_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector11_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector11_BA, "rpctime_Sector11_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector11_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector12_BA, "rpctime_Sector12_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector12_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector12_BA, "rpctime_Sector12_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector12_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector13_BA, "rpctime_Sector13_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector13_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector13_BA, "rpctime_Sector13_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector13_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector14_BA, "rpctime_Sector14_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector14_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector14_BA, "rpctime_Sector14_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector14_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector15_BA, "rpctime_Sector15_BA" );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector15_BA, "rpctime_Sector15_BA" );
       if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector16_BA hist "  );
     
-      sc = rpcprd_dq_BA.getHist(rpctime_Sector16_BA, "rpctime_Sector16_BA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector2_BA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpctime_Sector16_BA, "rpctime_Sector16_BA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector2_BA hist "  );
             
-      sc = rpcprd_dq_BA.getHist(rpc1DStationNameHitsSideA, "rpc1DStationNameHitsSideA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpc1DStationNameHitsSideA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpc1DStationNameHitsSideA, "rpc1DStationNameHitsSideA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpc1DStationNameHitsSideA hist "  );
             
-      sc = rpcprd_dq_BA.getHist(rpc1DStationNameTriggerHitsSideA, "rpc1DStationNameTriggerHitsSideA" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpc1DStationNameTriggerHitsSideA hist "  );
+      sc = rpcprd_dq_BA.getHist(m_rpc1DStationNameTriggerHitsSideA, "rpc1DStationNameTriggerHitsSideA" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpc1DStationNameTriggerHitsSideA hist "  );
 
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector1_BC, "rpctime_Sector1_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector1_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector1_BC, "rpctime_Sector1_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector1_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector2_BC, "rpctime_Sector2_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector2_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector2_BC, "rpctime_Sector2_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector2_BC hist "  );
    
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector3_BC, "rpctime_Sector3_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector3_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector3_BC, "rpctime_Sector3_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector3_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector4_BC, "rpctime_Sector4_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector4_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector4_BC, "rpctime_Sector4_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector4_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector5_BC, "rpctime_Sector5_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector5_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector5_BC, "rpctime_Sector5_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector5_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector6_BC, "rpctime_Sector6_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector6_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector6_BC, "rpctime_Sector6_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector6_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector7_BC, "rpctime_Sector7_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector7_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector7_BC, "rpctime_Sector7_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector7_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector8_BC, "rpctime_Sector8_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector8_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector8_BC, "rpctime_Sector8_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector8_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector9_BC, "rpctime_Sector9_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector9_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector9_BC, "rpctime_Sector9_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector9_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector10_BC, "rpctime_Sector10_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector10_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector10_BC, "rpctime_Sector10_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector10_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector11_BC, "rpctime_Sector11_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector11_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector11_BC, "rpctime_Sector11_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector11_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector12_BC, "rpctime_Sector12_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector12_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector12_BC, "rpctime_Sector12_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector12_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector13_BC, "rpctime_Sector13_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector13_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector13_BC, "rpctime_Sector13_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector13_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector14_BC, "rpctime_Sector14_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector14_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector14_BC, "rpctime_Sector14_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector14_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector15_BC, "rpctime_Sector15_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector15_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector15_BC, "rpctime_Sector15_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector15_BC hist "  );
     
-      sc = rpcprd_dq_BC.getHist(rpctime_Sector16_BC, "rpctime_Sector16_BC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpctime_Sector16_BC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpctime_Sector16_BC, "rpctime_Sector16_BC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpctime_Sector16_BC hist "  );
             
-      sc = rpcprd_dq_BC.getHist(rpc1DStationNameHitsSideC, "rpc1DStationNameHitsSideC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpc1DStationNameHitsSideC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpc1DStationNameHitsSideC, "rpc1DStationNameHitsSideC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpc1DStationNameHitsSideC hist "  );
             
-      sc = rpcprd_dq_BC.getHist(rpc1DStationNameTriggerHitsSideC, "rpc1DStationNameTriggerHitsSideC" );
-      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get rpc1DStationNameTriggerHitsSideC hist "  );
+      sc = rpcprd_dq_BC.getHist(m_rpc1DStationNameTriggerHitsSideC, "rpc1DStationNameTriggerHitsSideC" );
+      if(sc.isFailure() ) ATH_MSG_WARNING ( "couldn't get m_rpc1DStationNameTriggerHitsSideC hist "  );
     
       // trigger road
     
     
-      sc = rpcTrigRoad.getHist( RPC_TriggerRoad, "RPC_TriggerRoad" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad hist " );
+      sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad, "RPC_TriggerRoad" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad hist " );
     
-      sc = rpcTrigRoad.getHist( RPC_TriggerRoad_Large_Eta, "RPC_TriggerRoad_Large_Eta" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_Large_Eta hist " );
+      sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad_Large_Eta, "RPC_TriggerRoad_Large_Eta" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad_Large_Eta hist " );
     
-      sc = rpcTrigRoad.getHist( RPC_TriggerRoad_Large_Phi, "RPC_TriggerRoad_Large_Phi" );
+      sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad_Large_Phi, "RPC_TriggerRoad_Large_Phi" );
       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_LowPt_Large_Phi hist " );
       /*
-	sc = rpcTrigRoad.getHist( RPC_TriggerRoad_HighPt_Large_Eta, "RPC_TriggerRoad_HighPt_Large_Eta" );
-	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_HighPt_Large_Eta hist " );
+	sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad_HighPt_Large_Eta, "RPC_TriggerRoad_HighPt_Large_Eta" );
+	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad_HighPt_Large_Eta hist " );
     
-	sc = rpcTrigRoad.getHist( RPC_TriggerRoad_HighPt_Large_Phi, "RPC_TriggerRoad_HighPt_Large_Phi" );
-	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_HighPt_Large_Phi hist " );
+	sc = rpcTrigRoad.m_getHist( m_RPC_TriggerRoad_HighPt_Large_Phi, "RPC_TriggerRoad_HighPt_Large_Phi" );
+	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad_HighPt_Large_Phi hist " );
       */
-      sc = rpcTrigRoad.getHist( RPC_TriggerRoad_Small_Eta, "RPC_TriggerRoad_Small_Eta" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_Small_Eta hist " );
+      sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad_Small_Eta, "RPC_TriggerRoad_Small_Eta" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad_Small_Eta hist " );
    
-      sc = rpcTrigRoad.getHist( RPC_TriggerRoad_Small_Phi, "RPC_TriggerRoad_Small_Phi" );
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_Small_Phi hist " );
+      sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad_Small_Phi, "RPC_TriggerRoad_Small_Phi" );
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad_Small_Phi hist " );
       /*
-	sc = rpcTrigRoad.getHist( RPC_TriggerRoad_HighPt_Small_Eta, "RPC_TriggerRoad_HighPt_Small_Eta" );
-	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_HighPt_Small_Eta hist " );
+	sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad_HighPt_Small_Eta, "RPC_TriggerRoad_HighPt_Small_Eta" );
+	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad_HighPt_Small_Eta hist " );
          
-	sc = rpcTrigRoad.getHist( RPC_TriggerRoad_HighPt_Small_Phi, "RPC_TriggerRoad_HighPt_Small_Phi" );
-	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_TriggerRoad_HighPt_Small_Phi hist " );
+	sc = rpcTrigRoad.getHist( m_RPC_TriggerRoad_HighPt_Small_Phi, "RPC_TriggerRoad_HighPt_Small_Phi" );
+	if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_TriggerRoad_HighPt_Small_Phi hist " );
       */
       // threshold
-      sc = rpcTrigRoad.getHist( RPC_Threshold_Eta, "RPC_Threshold_Eta");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_Threshold_Eta hist " );
+      sc = rpcTrigRoad.getHist( m_RPC_Threshold_Eta, "RPC_Threshold_Eta");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_Threshold_Eta hist " );
      
-      sc = rpcTrigRoad.getHist( RPC_Threshold_Phi, "RPC_Threshold_Phi");
-      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get RPC_Threshold_Phi hist " );
+      sc = rpcTrigRoad.getHist( m_RPC_Threshold_Phi, "RPC_Threshold_Phi");
+      if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_RPC_Threshold_Phi hist " );
          
       // lumiblock histos
       if(m_doLumiPlot){
        
-       MonGroup rpcTrig_lumi_block ( this, m_generic_path_rpcmonitoring + "/lumiblock", run, ATTRIB_UNMANAGED );
+        MonGroup rpcTrig_lumi_block ( this, m_generic_path_rpcmonitoring + "/lumiblock", run, ATTRIB_UNMANAGED );
  
-       sc = rpcTrig_lumi_block.getHist( rpcTriggerHitsPerEvents_Eta_LowPt, "rpcTriggerHitsPerEvents_Eta_LowPt");
-       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcTriggerHitsPerEvents_Eta_LowPt hist " ); 
+        sc = rpcTrig_lumi_block.getHist( m_rpcTriggerHitsPerEvents_Eta_LowPt, "rpcTriggerHitsPerEvents_Eta_LowPt");
+        if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcTriggerHitsPerEvents_Eta_LowPt hist " ); 
      
-       sc = rpcTrig_lumi_block.getHist( rpcTriggerHitsPerEvents_Phi_LowPt, "rpcTriggerHitsPerEvents_Phi_LowPt");
-       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcTriggerHitsPerEvents_Phi_LowPt hist " );    
+        sc = rpcTrig_lumi_block.getHist( m_rpcTriggerHitsPerEvents_Phi_LowPt, "rpcTriggerHitsPerEvents_Phi_LowPt");
+        if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcTriggerHitsPerEvents_Phi_LowPt hist " );    
         
-       sc = rpcTrig_lumi_block.getHist( rpcTriggerHitsPerEvents_Eta_HighPt, "rpcTriggerHitsPerEvents_Eta_HighPt");
-       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcTriggerHitsPerEvents_Eta_HighPt hist " ); 
+        sc = rpcTrig_lumi_block.getHist( m_rpcTriggerHitsPerEvents_Eta_HighPt, "rpcTriggerHitsPerEvents_Eta_HighPt");
+        if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcTriggerHitsPerEvents_Eta_HighPt hist " ); 
  	  
-       sc = rpcTrig_lumi_block.getHist( rpcTriggerHitsPerEvents_Phi_HighPt, "rpcTriggerHitsPerEvents_Phi_HighPt");
-       if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get rpcTriggerHitsPerEvents_Phi_HighPt hist " );  
+        sc = rpcTrig_lumi_block.getHist( m_rpcTriggerHitsPerEvents_Phi_HighPt, "rpcTriggerHitsPerEvents_Phi_HighPt");
+        if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get m_rpcTriggerHitsPerEvents_Phi_HighPt hist " );  
       }   
  
  
       for (containerIt = rpc_container->begin() ; containerIt != rpc_container->end() ; ++containerIt) 
-	{ 
+      { 
 	 
-	  for (Muon::RpcPrepDataCollection::const_iterator rpcCollection = (*containerIt)->begin(); rpcCollection!=(*containerIt)->end(); ++rpcCollection)
-	    {
-	      if (m_nPrd<maxPRD) {
-		Identifier prdcoll_id = (*rpcCollection)->identify();
-		irpcstationPhi     =   int(m_rpcIdHelper->stationPhi(prdcoll_id))  ;	      
-		irpcstationName    =   int(m_rpcIdHelper->stationName(prdcoll_id)) ;	      
-		irpcstationEta     =   int(m_rpcIdHelper->stationEta(prdcoll_id))  ;		      
-		irpcdoubletR       =   int(m_rpcIdHelper->doubletR(prdcoll_id))	 ;
-		irpcdoubletZ       =   int(m_rpcIdHelper->doubletZ(prdcoll_id))	 ;
-		irpcdoubletPhi	 =   int(m_rpcIdHelper->doubletPhi(prdcoll_id))  ;
-		irpcgasGap  	 =   int(m_rpcIdHelper->gasGap(prdcoll_id))	 ;
-		irpcmeasuresPhi	 =   int(m_rpcIdHelper->measuresPhi(prdcoll_id)) ;
-		irpcstrip		 =   int(m_rpcIdHelper->strip(prdcoll_id))	 ;
+        for (Muon::RpcPrepDataCollection::const_iterator rpcCollection = (*containerIt)->begin(); rpcCollection!=(*containerIt)->end(); ++rpcCollection)
+        {
+          if (m_nPrd<maxPRD) {
+            Identifier prdcoll_id = (*rpcCollection)->identify();
+            int irpcstationPhi     =   int(m_rpcIdHelper->stationPhi(prdcoll_id))  ;	      
+            int irpcstationName    =   int(m_rpcIdHelper->stationName(prdcoll_id)) ;	      
+            int irpcstationEta     =   int(m_rpcIdHelper->stationEta(prdcoll_id))  ;		      
+            int irpcdoubletR       =   int(m_rpcIdHelper->doubletR(prdcoll_id))	 ;
+            int irpcdoubletZ       =   int(m_rpcIdHelper->doubletZ(prdcoll_id))	 ;
+            int irpcdoubletPhi	 =   int(m_rpcIdHelper->doubletPhi(prdcoll_id))  ;
+            int irpcgasGap  	 =   int(m_rpcIdHelper->gasGap(prdcoll_id))	 ;
+            int irpcmeasuresPhi	 =   int(m_rpcIdHelper->measuresPhi(prdcoll_id)) ;
+            int irpcstrip		 =   int(m_rpcIdHelper->strip(prdcoll_id))	 ;
             
-		irpctime		 =   double((*rpcCollection)->time())	         ;		 
-		irpctriggerInfo	 =   int((*rpcCollection)->triggerInfo   ())     ; // double		   
-		irpcambiguityFlag	 =   double((*rpcCollection)->ambiguityFlag ())  ;		 
-		// irpcthreshold	 =   double((*rpcCollection)->threshold ())  ;		 
+            double irpctime		 =   double((*rpcCollection)->time())	         ;		 
+            int irpctriggerInfo	 =   int((*rpcCollection)->triggerInfo   ())     ; // double		   
+            double irpcambiguityFlag	 =   double((*rpcCollection)->ambiguityFlag ())  ;		 
+            // irpcthreshold	 =   double((*rpcCollection)->threshold ())  ;		 
 		
-		// std::cout << "irpcthreshold rpcCollection   " << irpcthreshold <<  "\n";		  
-		// m_threshold: internal threshold 
-		const MuonGM::RpcReadoutElement* descriptor_Atl = m_muonMgr->getRpcReadoutElement( prdcoll_id );
-		x_atl = descriptor_Atl ->stripPos(prdcoll_id ).x() ;
-		y_atl = descriptor_Atl ->stripPos(prdcoll_id ).y() ;
-		z_atl = descriptor_Atl ->stripPos(prdcoll_id ).z() ;
+            // std::cout << "irpcthreshold rpcCollection   " << irpcthreshold <<  "\n";		  
+            // m_threshold: internal threshold 
+            const MuonGM::RpcReadoutElement* descriptor_Atl = m_muonMgr->getRpcReadoutElement( prdcoll_id );
+            double x_atl = descriptor_Atl ->stripPos(prdcoll_id ).x() ;
+            double y_atl = descriptor_Atl ->stripPos(prdcoll_id ).y() ;
 	    		  
-		//get chamber hardware name
-		hardware_name=convertChamberName(irpcstationName,irpcstationEta,irpcstationPhi,type) ;
+            //get chamber hardware name
+            m_hardware_name=convertChamberName(irpcstationName,irpcstationEta,irpcstationPhi,m_type) ;
             
 	    		  
-		//get information from geomodel to book and fill rpc histos with the right max strip number
-		std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prdcoll_id, irpctriggerInfo)  ;
+            //get information from geomodel to book and fill rpc histos with the right max strip number
+            std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prdcoll_id, irpctriggerInfo)  ;
 		
 		 
 		
 		
-		NphiStrips         =  rpcstripshift[0] ;
-		ShiftPhiStrips     =  rpcstripshift[1] ;
-		NetaStrips	       =  rpcstripshift[2] ;
-		ShiftEtaStrips     =  rpcstripshift[3] ;
-		ShiftStrips	       =  rpcstripshift[4] ;
-		NetaStripsTot      =  rpcstripshift[5] ;
-		NetaStripsTotSideA =  rpcstripshift[6] ;
-		NetaStripsTotSideC =  rpcstripshift[7] ;
-		ShiftEtaStripsTot  =  rpcstripshift[8] ;
-		Nbin               =  rpcstripshift[9] ;
-		EtaStripSign       =  rpcstripshift[10];
-		PanelIndex         =  rpcstripshift[13];
-		Settore            =  rpcstripshift[14];
-		PlaneTipo          =  rpcstripshift[15];
-		strip_dbindex      =  rpcstripshift[16];
-		NetaPanelsTot	 =  rpcstripshift[19];  
-		ShiftEtaPanelsTot  =  rpcstripshift[20];
-		NetaPanelsTotSideA =  rpcstripshift[21];
-		NetaPanelsTotSideC =  rpcstripshift[22];
-		rpcpanel_dbindex   =  rpcstripshift[23];
-		rpctower_dbindex   =  rpcstripshift[24];
-		shiftstripphiatlas =  rpcstripshift[25];
+            int NphiStrips         =  rpcstripshift[0] ;
+            int ShiftPhiStrips     =  rpcstripshift[1] ;
+            int NetaStrips	   =  rpcstripshift[2] ;
+            int ShiftEtaStrips     =  rpcstripshift[3] ;
+            int ShiftStrips	   =  rpcstripshift[4] ;
+            int NetaStripsTot      =  rpcstripshift[5] ;
+            int NetaStripsTotSideA =  rpcstripshift[6] ;
+            int NetaStripsTotSideC =  rpcstripshift[7] ;
+            int ShiftEtaStripsTot  =  rpcstripshift[8] ;
+            int Nbin               =  rpcstripshift[9] ;
+            int EtaStripSign       =  rpcstripshift[10];
+            int PanelIndex         =  rpcstripshift[13];
+            int Settore            =  rpcstripshift[14];
+            int PlaneTipo          =  rpcstripshift[15];
+            int strip_dbindex      =  rpcstripshift[16];
+            int ShiftEtaPanelsTot  =  rpcstripshift[20];
+            int rpcpanel_dbindex   =  rpcstripshift[23];
+            int shiftstripphiatlas =  rpcstripshift[25];
  
-		//get name for titles and labels 
-		std::vector<std::string>   rpclayersectorsidename = RpcGM::RpcLayerSectorSideName(m_rpcIdHelper,prdcoll_id, irpctriggerInfo)  ;  
-		layer_name               = rpclayersectorsidename[0] ;
-		layertodraw1_name        = rpclayersectorsidename[1] ;
-		layertodraw2_name        = rpclayersectorsidename[2] ;
-		layervslayer_name        = rpclayersectorsidename[3] ;
-		layer0_name	             = rpclayersectorsidename[4] ;
-		layer1_name	             = rpclayersectorsidename[5] ;
-		layer2_name	             = rpclayersectorsidename[6] ;
-		layerPhivsEta_name       = rpclayersectorsidename[7] ;
-		layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
-		sector_name              = rpclayersectorsidename[9] ;
-		layeronly_name           = rpclayersectorsidename[10];
-		layer_name_panel         = rpclayersectorsidename[11];
-		sector_dphi_layer        = rpclayersectorsidename[12];
+            //get name for titles and labels 
+            std::vector<std::string>   rpclayersectorsidename = RpcGM::RpcLayerSectorSideName(m_rpcIdHelper,prdcoll_id, irpctriggerInfo)  ;  
+            m_layer_name               = rpclayersectorsidename[0] ;
+            m_layertodraw1_name        = rpclayersectorsidename[1] ;
+            m_layertodraw2_name        = rpclayersectorsidename[2] ;
+            m_layervslayer_name        = rpclayersectorsidename[3] ;
+            m_layer0_name	             = rpclayersectorsidename[4] ;
+            m_layer1_name	             = rpclayersectorsidename[5] ;
+            m_layer2_name	             = rpclayersectorsidename[6] ;
+            m_layerPhivsEta_name       = rpclayersectorsidename[7] ;
+            m_layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
+            m_sector_name              = rpclayersectorsidename[9] ;
+            m_layeronly_name           = rpclayersectorsidename[10];
+            m_layer_name_panel         = rpclayersectorsidename[11];
+            m_sector_dphi_layer        = rpclayersectorsidename[12];
 	      
 	    
 
             
-		// fill general histograms
+            // fill general histograms
 	      
-		rpc2DEtaStation->Fill(irpcstationEta, Settore-1 + PlaneTipo*16);
-		if(irpcgasGap==1) rpc2DEtaStationGap1	->Fill(irpcstationEta, Settore-1 + PlaneTipo*16 	);
-		if(irpcgasGap==2) rpc2DEtaStationGap2	->Fill(irpcstationEta, Settore-1 + PlaneTipo*16 	);
+            m_rpc2DEtaStation->Fill(irpcstationEta, Settore-1 + PlaneTipo*16);
+            if(irpcgasGap==1) m_rpc2DEtaStationGap1	->Fill(irpcstationEta, Settore-1 + PlaneTipo*16 	);
+            if(irpcgasGap==2) m_rpc2DEtaStationGap2	->Fill(irpcstationEta, Settore-1 + PlaneTipo*16 	);
 		
-		int NPanel_sign = ShiftEtaPanelsTot ;
-		if(irpcstationEta<0)NPanel_sign=-NPanel_sign ;
+            int NPanel_sign = ShiftEtaPanelsTot ;
+            if(irpcstationEta<0)NPanel_sign=-NPanel_sign ;
 		
-		if(PlaneTipo<2  ) GlobalHitsPerRPCMiddle->Fill(NPanel_sign , Settore-1+(irpcdoubletPhi-1)*0.5 ); 
-		if(PlaneTipo==2 ) GlobalHitsPerRPCOuter ->Fill(NPanel_sign , Settore-1+(irpcdoubletPhi-1)*0.5 );
+            if(PlaneTipo<2  ) m_GlobalHitsPerRPCMiddle->Fill(NPanel_sign , Settore-1+(irpcdoubletPhi-1)*0.5 ); 
+            if(PlaneTipo==2 ) m_GlobalHitsPerRPCOuter ->Fill(NPanel_sign , Settore-1+(irpcdoubletPhi-1)*0.5 );
 	      
 
-		//dq histo from Mauro 
-		//enum_Eta(Phi)_LowPt0_BA(BC)
-		if(PlaneTipo==0&&irpcgasGap==1){
-		  if(irpcmeasuresPhi==0){	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_LowPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1     );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Eta_LowPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1); 
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		  else{	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_LowPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Phi_LowPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		}
-		//enum_Eta(Phi)_LowPt1_BA(BC)
-		if(PlaneTipo==0&&irpcgasGap==2){
-		  if(irpcmeasuresPhi==0){	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_LowPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Eta_LowPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		  else{	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_LowPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1  );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Phi_LowPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1  );
-		    }
-		  }
-		}
-		//enum_Eta(Phi)_Pivot0_BA(BC)
-		if(PlaneTipo==1&&irpcgasGap==1){
-		  if(irpcmeasuresPhi==0){	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_Pivot0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_Pivot0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Eta_Pivot0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_Pivot0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		  else{	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_Pivot0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_Pivot0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Phi_Pivot0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_Pivot0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		}
-		//enum_Eta(Phi)_Pivot1_BA(BC)
-		if(PlaneTipo==1&&irpcgasGap==2){
-		  if(irpcmeasuresPhi==0){	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_Pivot1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_Pivot1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Eta_Pivot1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_Pivot1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		  else{	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_Pivot1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_Pivot1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Phi_Pivot1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_Pivot1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		}
-		//enum_Eta(Phi)_HighPt0_BA(BC)
-		if(PlaneTipo==2&&irpcgasGap==1){
-		  if(irpcmeasuresPhi==0){	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_HighPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Eta_HighPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		  else{	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_HighPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Phi_HighPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		}
-		//enum_Eta(Phi)_HighPt1_BA(BC)
-		if(PlaneTipo==2&&irpcgasGap==2){
-		  if(irpcmeasuresPhi==0){	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_HighPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Eta_HighPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		  else{	 
-		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_HighPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		    else{
-		      rpc2DPanelHits[enum_Phi_HighPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
-		    }
-		  }
-		}
+            //dq histo from Mauro 
+            //enum_Eta(Phi)_LowPt0_BA(BC)
+            if(PlaneTipo==0&&irpcgasGap==1){
+              if(irpcmeasuresPhi==0){	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Eta_LowPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_LowPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1     );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Eta_LowPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1); 
+                  m_rpc1DvsLBPanelHits[enum_Eta_LowPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+              else{	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Phi_LowPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_LowPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Phi_LowPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_LowPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+            }
+            //enum_Eta(Phi)_LowPt1_BA(BC)
+            if(PlaneTipo==0&&irpcgasGap==2){
+              if(irpcmeasuresPhi==0){	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Eta_LowPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_LowPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Eta_LowPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_LowPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+              else{	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Phi_LowPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_LowPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1  );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Phi_LowPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_LowPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1  );
+                }
+              }
+            }
+            //enum_Eta(Phi)_Pivot0_BA(BC)
+            if(PlaneTipo==1&&irpcgasGap==1){
+              if(irpcmeasuresPhi==0){	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Eta_Pivot0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_Pivot0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Eta_Pivot0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_Pivot0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+              else{	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Phi_Pivot0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_Pivot0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Phi_Pivot0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_Pivot0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+            }
+            //enum_Eta(Phi)_Pivot1_BA(BC)
+            if(PlaneTipo==1&&irpcgasGap==2){
+              if(irpcmeasuresPhi==0){	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Eta_Pivot1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_Pivot1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Eta_Pivot1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_Pivot1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+              else{	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Phi_Pivot1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_Pivot1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Phi_Pivot1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_Pivot1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+            }
+            //enum_Eta(Phi)_HighPt0_BA(BC)
+            if(PlaneTipo==2&&irpcgasGap==1){
+              if(irpcmeasuresPhi==0){	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Eta_HighPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_HighPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Eta_HighPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_HighPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+              else{	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Phi_HighPt0_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_HighPt0_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Phi_HighPt0_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_HighPt0_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+            }
+            //enum_Eta(Phi)_HighPt1_BA(BC)
+            if(PlaneTipo==2&&irpcgasGap==2){
+              if(irpcmeasuresPhi==0){	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Eta_HighPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_HighPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Eta_HighPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Eta_HighPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+              else{	 
+                if(EtaStripSign>0){
+                  m_rpc2DPanelHits[enum_Phi_HighPt1_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_HighPt1_BA]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+                else{
+                  m_rpc2DPanelHits[enum_Phi_HighPt1_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+                  m_rpc1DvsLBPanelHits[enum_Phi_HighPt1_BC]->Fill(lumiblock, float(rpcpanel_dbindex) + float(irpcdoubletPhi-1)*0.5-1    );
+                }
+              }
+            }
                 
 
-		///////SHIFT 1D HISTOS
+            ///////SHIFT 1D HISTOS
 		 
-	        if(EtaStripSign>=0){
-		   rpc1DStationNameHitsSideA       ->Fill(StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./StationNameSectorSize [irpcstationName]*AverageLuminosityWeight);
-		} 
-	        else{
-		   rpc1DStationNameHitsSideC       ->Fill(StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./StationNameSectorSize [irpcstationName]*AverageLuminosityWeight);
-		}
+            if(EtaStripSign>=0){
+              m_rpc1DStationNameHitsSideA       ->Fill(m_StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./m_StationNameSectorSize [irpcstationName]*AverageLuminosityWeight);
+            } 
+            else{
+              m_rpc1DStationNameHitsSideC       ->Fill(m_StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./m_StationNameSectorSize [irpcstationName]*AverageLuminosityWeight);
+            }
 		  
 	      
 	            
-		//fill eta phi view time histo distribution 
-		if(irpcmeasuresPhi==0){	 
-		  rpcEtaTime->Fill(irpctime);  
-		}
-		else{ rpcPhiTime->Fill(irpctime); }
+            //fill eta phi view time histo distribution 
+            if(irpcmeasuresPhi==0){	 
+              m_rpcEtaTime->Fill(irpctime);  
+            }
+            else{ m_rpcPhiTime->Fill(irpctime); }
 		  
-		// shift time distribution histogram 
-		rpctime -> Fill(irpctime);
+            // shift time distribution histogram 
+            m_rpctime -> Fill(irpctime);
 
-		if (irpcstationEta>=0) { rpctime_BA->Fill(irpctime); }
-		else		     { rpctime_BC->Fill(irpctime); }
+            if (irpcstationEta>=0) { m_rpctime_BA->Fill(irpctime); }
+            else		     { m_rpctime_BC->Fill(irpctime); }
 
 
 	      
-		if (irpcstationEta<0&&Settore==1 ){ rpctime_Sector1_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==2 ){ rpctime_Sector2_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==3 ){ rpctime_Sector3_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==4 ){ rpctime_Sector4_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==5 ){ rpctime_Sector5_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==6 ){ rpctime_Sector6_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==7 ){ rpctime_Sector7_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==8 ){ rpctime_Sector8_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==9 ){ rpctime_Sector9_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==10){ rpctime_Sector10_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==11){ rpctime_Sector11_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==12){ rpctime_Sector12_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==13){ rpctime_Sector13_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==14){ rpctime_Sector14_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==15){ rpctime_Sector15_BC->Fill(irpctime); }
-		if (irpcstationEta<0&&Settore==16){ rpctime_Sector16_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==1 ){ m_rpctime_Sector1_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==2 ){ m_rpctime_Sector2_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==3 ){ m_rpctime_Sector3_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==4 ){ m_rpctime_Sector4_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==5 ){ m_rpctime_Sector5_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==6 ){ m_rpctime_Sector6_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==7 ){ m_rpctime_Sector7_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==8 ){ m_rpctime_Sector8_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==9 ){ m_rpctime_Sector9_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==10){ m_rpctime_Sector10_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==11){ m_rpctime_Sector11_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==12){ m_rpctime_Sector12_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==13){ m_rpctime_Sector13_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==14){ m_rpctime_Sector14_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==15){ m_rpctime_Sector15_BC->Fill(irpctime); }
+            if (irpcstationEta<0&&Settore==16){ m_rpctime_Sector16_BC->Fill(irpctime); }
 	      
 	      
-		if (irpcstationEta>=0&&Settore==1 ){ rpctime_Sector1_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==2 ){ rpctime_Sector2_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==3 ){ rpctime_Sector3_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==4 ){ rpctime_Sector4_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==5 ){ rpctime_Sector5_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==6 ){ rpctime_Sector6_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==7 ){ rpctime_Sector7_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==8 ){ rpctime_Sector8_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==9 ){ rpctime_Sector9_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==10){ rpctime_Sector10_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==11){ rpctime_Sector11_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==12){ rpctime_Sector12_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==13){ rpctime_Sector13_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==14){ rpctime_Sector14_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==15){ rpctime_Sector15_BA->Fill(irpctime); }
-		if (irpcstationEta>=0&&Settore==16){ rpctime_Sector16_BA->Fill(irpctime); } 
+            if (irpcstationEta>=0&&Settore==1 ){ m_rpctime_Sector1_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==2 ){ m_rpctime_Sector2_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==3 ){ m_rpctime_Sector3_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==4 ){ m_rpctime_Sector4_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==5 ){ m_rpctime_Sector5_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==6 ){ m_rpctime_Sector6_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==7 ){ m_rpctime_Sector7_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==8 ){ m_rpctime_Sector8_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==9 ){ m_rpctime_Sector9_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==10){ m_rpctime_Sector10_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==11){ m_rpctime_Sector11_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==12){ m_rpctime_Sector12_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==13){ m_rpctime_Sector13_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==14){ m_rpctime_Sector14_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==15){ m_rpctime_Sector15_BA->Fill(irpctime); }
+            if (irpcstationEta>=0&&Settore==16){ m_rpctime_Sector16_BA->Fill(irpctime); } 
 
 
 	   
-		// cool strip profile
-		if ( m_doCoolDB ) {
-		  sc = rpcCoolDb.getHist( rpcCool_StripProfile, sector_dphi_layer+"_Profile" ) ;
-		  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get " << sector_dphi_layer << "_Profile hist" );
+            // cool strip profile
+            if ( m_doCoolDB ) {
+              sc = rpcCoolDb.getHist( m_rpcCool_StripProfile, m_sector_dphi_layer+"_Profile" ) ;
+              if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get " << m_sector_dphi_layer << "_Profile hist" );
   
-		  if ( rpcCool_StripProfile ) {
-		    if ( irpcmeasuresPhi==0 ) {
-		      rpcCool_StripProfile->Fill( strip_dbindex );
-		    }
-		    else {
-		      if ( irpcambiguityFlag==1 ) {
-			rpcCool_StripProfile->Fill( strip_dbindex );
-			// removed logical-OR and wired-OR of RPC Phi strips
-		      }
-		    }
-		  }
-		}
+              if ( m_rpcCool_StripProfile ) {
+                if ( irpcmeasuresPhi==0 ) {
+                  m_rpcCool_StripProfile->Fill( strip_dbindex );
+                }
+                else {
+                  if ( irpcambiguityFlag==1 ) {
+                    m_rpcCool_StripProfile->Fill( strip_dbindex );
+                    // removed logical-OR and wired-OR of RPC Phi strips
+                  }
+                }
+              }
+            }
 	      
-		if(m_rpcchamberhist){
+            if(m_rpcchamberhist){
 		
-		  ATH_MSG_DEBUG (  "RPC Hardware chamber name in the selected area : " << hardware_name );	
+              ATH_MSG_DEBUG (  "RPC Hardware chamber name in the selected area : " << m_hardware_name );	
  
-		  histo_flag=true;
-		  for (std::vector<std::string>::const_iterator iter=layer_name_list.begin(); iter!=layer_name_list.end(); iter++){
-		    if ( (hardware_name+layer_name)==*iter){histo_flag=false;}
-		  }
-		  if (histo_flag){ 
-		    layer_name_list.push_back(hardware_name+layer_name); 
-		    bookRPCLayerHistograms(hardware_name, layer_name, layer0_name, Nbin, 0 , Nbin);
-		    bookRPCLayervsTimeHistograms(hardware_name, layer_name, Nbin, 0 , Nbin);
-		    if(irpcmeasuresPhi==1)bookRPCLayerPhiAmbiHistograms(hardware_name, layer_name, layer0_name, Nbin, 0 , Nbin);
-		  }
+              bool histo_flag=true;
+              for (std::vector<std::string>::const_iterator iter=m_layer_name_list.begin(); iter!=m_layer_name_list.end(); iter++){
+                if ( (m_hardware_name+m_layer_name)==*iter){histo_flag=false;}
+              }
+              if (histo_flag){ 
+                m_layer_name_list.push_back(m_hardware_name+m_layer_name); 
+                bookRPCLayerHistograms(m_hardware_name, m_layer_name, m_layer0_name, Nbin, 0 , Nbin);
+                bookRPCLayervsTimeHistograms(m_hardware_name, m_layer_name, Nbin, 0 , Nbin);
+                if(irpcmeasuresPhi==1)bookRPCLayerPhiAmbiHistograms(m_hardware_name, m_layer_name, m_layer0_name, Nbin, 0 , Nbin);
+              }
 	      
-		  histo_flag=true ;
-		  for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++){
-		    if ( (hardware_name+layer_name_panel)==*iter){histo_flag=false;}
-		  }
-		  if (histo_flag){ 
-		    layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
-		    layer_name_bin_list_panel.push_back( PanelIndex )                ; 
-		    bookRPCLayerHistogramsPanel(hardware_name, layer_name_panel)     ; 
-		  }
+              histo_flag=true ;
+              for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++){
+                if ( (m_hardware_name+m_layer_name_panel)==*iter){histo_flag=false;}
+              }
+              if (histo_flag){ 
+                m_layer_name_list_panel.push_back(m_hardware_name+m_layer_name_panel)  ; 
+                m_layer_name_bin_list_panel.push_back( PanelIndex )                ; 
+                bookRPCLayerHistogramsPanel(m_hardware_name, m_layer_name_panel)     ; 
+              }
 		
-		  const MuonDQAHistList& hists1 = m_stationHists.getList( hardware_name + "/Profiles/" + layer_name);       	  	  	  	  	
-		  TH1* rpcstriplayer = hists1.getH1( hardware_name + "_" + layer_name + "_strip");
+              const MuonDQAHistList& hists1 = m_stationHists.getList( m_hardware_name + "/Profiles/" + m_layer_name);       	  	  	  	  	
+              TH1* rpcstriplayer = hists1.getH1( m_hardware_name + "_" + m_layer_name + "_strip");
 		  
-		  const MuonDQAHistList& hists2 = m_stationHists.getList( hardware_name + "/ProfilesvsTime/" + layer_name);       	  	  	  	  	
-		  TH2* rpcstripvstimelayer = hists2.getH2( hardware_name + "_" + layer_name + "_stripvstime");
+              const MuonDQAHistList& hists2 = m_stationHists.getList( m_hardware_name + "/ProfilesvsTime/" + m_layer_name);       	  	  	  	  	
+              TH2* rpcstripvstimelayer = hists2.getH2( m_hardware_name + "_" + m_layer_name + "_stripvstime");
 		  
-		  const MuonDQAHistList& hists3 = m_stationHists.getList( hardware_name + "/Phi_profiles_ambiguity_resolved/" + layer_name);
-		  TH1* rpcstripPhiAmbilayer = hists3.getH1(hardware_name + "_" + layer_name +"_Ambiguity_resolved_phi_strip");
+              const MuonDQAHistList& hists3 = m_stationHists.getList( m_hardware_name + "/Phi_profiles_ambiguity_resolved/" + m_layer_name);
+              TH1* rpcstripPhiAmbilayer = hists3.getH1(m_hardware_name + "_" + m_layer_name +"_Ambiguity_resolved_phi_strip");
 		    
-		  if (rpcstriplayer) {rpcstriplayer->Fill( float(irpcstrip  + ShiftStrips)  -0.5 );}
-		  else {ATH_MSG_DEBUG (  "rpcstriplayer not in hist list!" );}
+              if (rpcstriplayer) {rpcstriplayer->Fill( float(irpcstrip  + ShiftStrips)  -0.5 );}
+              else {ATH_MSG_DEBUG (  "rpcstriplayer not in hist list!" );}
             
-		  if (rpcstripvstimelayer) {rpcstripvstimelayer->Fill( float(irpcstrip  + ShiftStrips)  -0.5 , irpctime );}
-		  else {ATH_MSG_DEBUG (  "rpcstripvstimelayer not in hist list!" );}
+              if (rpcstripvstimelayer) {rpcstripvstimelayer->Fill( float(irpcstrip  + ShiftStrips)  -0.5 , irpctime );}
+              else {ATH_MSG_DEBUG (  "rpcstripvstimelayer not in hist list!" );}
 
-		  if(irpcmeasuresPhi==1&&irpcambiguityFlag==1){
-		    if (rpcstripPhiAmbilayer) {rpcstripPhiAmbilayer->Fill( float(irpcstrip  + ShiftStrips)  -0.5 );}
-		    else {ATH_MSG_DEBUG (  "rpcstripPhiAmbilayer not in hist list!" );}  
-		  }
+              if(irpcmeasuresPhi==1&&irpcambiguityFlag==1){
+                if (rpcstripPhiAmbilayer) {rpcstripPhiAmbilayer->Fill( float(irpcstrip  + ShiftStrips)  -0.5 );}
+                else {ATH_MSG_DEBUG (  "rpcstripPhiAmbilayer not in hist list!" );}  
+              }
                                         
       
-		}//end if on m_rpcchamberhist || ESD
-		else{
-		  histo_flag=true ;
-		  for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++){
-		    if ( (hardware_name+layer_name_panel)==*iter){histo_flag=false;}
-		  }
-		  if (histo_flag){ 
-		    layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
-		    layer_name_bin_list_panel.push_back( PanelIndex )                ; 
-		  }
-		}
+            }//end if on m_rpcchamberhist || ESD
+            else{
+              bool histo_flag=true ;
+              for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++){
+                if ( (m_hardware_name+m_layer_name_panel)==*iter){histo_flag=false;}
+              }
+              if (histo_flag){ 
+                m_layer_name_list_panel.push_back(m_hardware_name+m_layer_name_panel)  ; 
+                m_layer_name_bin_list_panel.push_back( PanelIndex )                ; 
+              }
+            }
 	
-		////////////// Start Loop on the second prd ///////////////////////////////
-		for (Muon::RpcPrepDataCollection::const_iterator rpcCollectionII=(*containerIt)->begin();
-		     rpcCollectionII!=(*containerIt)->end(); ++rpcCollectionII)	  	   	 	   
-		  { 
-		    Identifier prdcoll_id_II = (*rpcCollectionII)->identify(); 
+            ////////////// Start Loop on the second prd ///////////////////////////////
+            for (Muon::RpcPrepDataCollection::const_iterator rpcCollectionII=(*containerIt)->begin();
+                 rpcCollectionII!=(*containerIt)->end(); ++rpcCollectionII)	  	   	 	   
+            { 
+              Identifier prdcoll_id_II = (*rpcCollectionII)->identify(); 
 		  
-		    irpcstationPhiII       =   int(m_rpcIdHelper->stationPhi(prdcoll_id_II))  ;		
-		    irpcstationNameII      =   int(m_rpcIdHelper->stationName(prdcoll_id_II)) ;		
-		    irpcstationEtaII       =   int(m_rpcIdHelper->stationEta(prdcoll_id_II))  ; 			
-		    irpcdoubletRII         =   int(m_rpcIdHelper->doubletR(prdcoll_id_II))    ;	  	
-		    irpcdoubletZII         =   int(m_rpcIdHelper->doubletZ(prdcoll_id_II))    ;
-		    irpcdoubletPhiII       =   int(m_rpcIdHelper->doubletPhi(prdcoll_id_II))  ;
-		    irpcgasGapII           =   int(m_rpcIdHelper->gasGap(prdcoll_id_II))      ;
-		    irpcmeasuresPhiII      =   int(m_rpcIdHelper->measuresPhi(prdcoll_id_II)) ;
-		    irpcstripII            =   int(m_rpcIdHelper->strip(prdcoll_id_II))       ;  		  
-		    irpctimeII             =   double((*rpcCollectionII)->time())             ;		               		  
-		    irpctriggerInfoII      =   int((*rpcCollectionII)->triggerInfo() )        ; // double		
-		    irpcambiguityFlagII    =   double((*rpcCollectionII)->ambiguityFlag ())   ;
+              int irpcstationPhiII       =   int(m_rpcIdHelper->stationPhi(prdcoll_id_II))  ;		
+              int irpcstationNameII      =   int(m_rpcIdHelper->stationName(prdcoll_id_II)) ;		
+              int irpcstationEtaII       =   int(m_rpcIdHelper->stationEta(prdcoll_id_II))  ; 			
+              int irpcdoubletRII         =   int(m_rpcIdHelper->doubletR(prdcoll_id_II))    ;	  	
+              int irpcdoubletZII         =   int(m_rpcIdHelper->doubletZ(prdcoll_id_II))    ;
+              int irpcdoubletPhiII       =   int(m_rpcIdHelper->doubletPhi(prdcoll_id_II))  ;
+              int irpcgasGapII           =   int(m_rpcIdHelper->gasGap(prdcoll_id_II))      ;
+              int irpcmeasuresPhiII      =   int(m_rpcIdHelper->measuresPhi(prdcoll_id_II)) ;
+              int irpcstripII            =   int(m_rpcIdHelper->strip(prdcoll_id_II))       ;  		  
 		
 		  
-		    const MuonGM::RpcReadoutElement* descriptor_Atl_II = m_muonMgr->getRpcReadoutElement( prdcoll_id_II );
-		    x_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).x() ;
-		    y_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).y() ;
-		    z_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).z() ;
+              const MuonGM::RpcReadoutElement* descriptor_Atl_II = m_muonMgr->getRpcReadoutElement( prdcoll_id_II );
+              double z_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).z() ;
 		  
-		    //get information from geomodel to book and fill rpc histos with the right max strip number
-		    std::vector<int>   rpcstripshiftII = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prdcoll_id, irpctriggerInfo)  ;
-		    NbinII               =  rpcstripshiftII[9];
+              //get information from geomodel to book and fill rpc histos with the right max strip number
+              std::vector<int>   rpcstripshiftII = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prdcoll_id, irpctriggerInfo)  ;
 		    
-		    if(irpcmeasuresPhi==1&&irpcmeasuresPhiII==0){
-		      if(irpcstationPhi==irpcstationPhiII&&irpcstationName==irpcstationNameII&&irpcstationEta==irpcstationEtaII&&
-			 irpcdoubletR==irpcdoubletRII&&irpcdoubletZ==irpcdoubletZII&&irpcdoubletPhi==irpcdoubletPhiII&&irpcgasGap==irpcgasGapII){
+              if(irpcmeasuresPhi==1&&irpcmeasuresPhiII==0){
+                if(irpcstationPhi==irpcstationPhiII&&irpcstationName==irpcstationNameII&&irpcstationEta==irpcstationEtaII&&
+                   irpcdoubletR==irpcdoubletRII&&irpcdoubletZ==irpcdoubletZII&&irpcdoubletPhi==irpcdoubletPhiII&&irpcgasGap==irpcgasGapII){
 			      
-			if(m_rpcchamberhist ){   
-			  //if(1 == 0){
-			  histo_flag=true;
-			  for (std::vector<std::string>::const_iterator iter=layerPhivsEta_name_list.begin(); iter!=layerPhivsEta_name_list.end(); iter++){
-			    if ( (hardware_name+layerPhivsEta_name)==*iter){histo_flag=false;}
-			  }
-			  if (histo_flag){ 
-			    layerPhivsEta_name_list.push_back(hardware_name+layerPhivsEta_name); 
-			    bookRPCLayerPhivsEtaHistograms(hardware_name, layerPhivsEta_name, NetaStrips, 0 , NetaStrips, NphiStrips, 0 , NphiStrips);
-			  }	              
-			  const MuonDQAHistList& hists4 = m_stationHists.getList( hardware_name + "/PhivsEta/" + layerPhivsEta_name);       	  	  	  	  	
-			  TH2* rpcstriplayerPhivsEta = hists4.getH2(hardware_name + "_" + layerPhivsEta_name );    
-			  if (rpcstriplayerPhivsEta) {rpcstriplayerPhivsEta->Fill( float(irpcstripII + ShiftEtaStrips)  -0.5,  float(irpcstrip + ShiftPhiStrips)  -0.5 );}
-			  else {ATH_MSG_DEBUG (  "rpcstriplayerPhivsEta not in hist list!" );}
-			}//end if on m_rpcchamberhist or ESD	      
+                  if(m_rpcchamberhist ){   
+                    //if(1 == 0){
+                    bool histo_flag=true;
+                    for (std::vector<std::string>::const_iterator iter=m_layerPhivsEta_name_list.begin(); iter!=m_layerPhivsEta_name_list.end(); iter++){
+                      if ( (m_hardware_name+m_layerPhivsEta_name)==*iter){histo_flag=false;}
+                    }
+                    if (histo_flag){ 
+                      m_layerPhivsEta_name_list.push_back(m_hardware_name+m_layerPhivsEta_name); 
+                      bookRPCLayerPhivsEtaHistograms(m_hardware_name, m_layerPhivsEta_name, NetaStrips, 0 , NetaStrips, NphiStrips, 0 , NphiStrips);
+                    }	              
+                    const MuonDQAHistList& hists4 = m_stationHists.getList( m_hardware_name + "/PhivsEta/" + m_layerPhivsEta_name);       	  	  	  	  	
+                    TH2* rpcstriplayerPhivsEta = hists4.getH2(m_hardware_name + "_" + m_layerPhivsEta_name );    
+                    if (rpcstriplayerPhivsEta) {rpcstriplayerPhivsEta->Fill( float(irpcstripII + ShiftEtaStrips)  -0.5,  float(irpcstrip + ShiftPhiStrips)  -0.5 );}
+                    else {ATH_MSG_DEBUG (  "rpcstriplayerPhivsEta not in hist list!" );}
+                  }//end if on m_rpcchamberhist or ESD	      
 		     
-			//Sector  
-			stripetaatlas  =  ( irpcstripII + ShiftEtaStripsTot )*EtaStripSign ;	     
-			if ( stripetaatlas>0 )  stripetaatlas-- ;  
-			stripphisector =   irpcstrip + ShiftPhiStrips                      ;
+                  //Sector  
+                  int stripetaatlas  =  ( irpcstripII + ShiftEtaStripsTot )*EtaStripSign ;	     
+                  if ( stripetaatlas>0 )  stripetaatlas-- ;  
+                  int stripphisector =   irpcstrip + ShiftPhiStrips                      ;
 		          
-			if(m_rpcsectorhist){ 	      
-			  histo_flag=true;
-			  for (std::vector<std::string>::const_iterator iter=layerPhivsEtaSector_name_list.begin(); iter!=layerPhivsEtaSector_name_list.end(); iter++){
-			    if ( (sector_name+layerPhivsEtaSector_name)==*iter){histo_flag=false;}
-			  }
-			  if (histo_flag){ 
-			    layerPhivsEtaSector_name_list.push_back(sector_name+layerPhivsEtaSector_name); 
-			    bookRPCLayerPhivsEtaSectorHistograms(sector_name, layerPhivsEtaSector_name, NetaStripsTot, -NetaStripsTotSideC, NetaStripsTotSideA, NphiStrips, 0 , NphiStrips);
-			  }
-			  const MuonDQAHistList& hists5 = m_stationHists.getList( sector_name + "/PhivsEta/" + layerPhivsEtaSector_name);
-			  TH2* rpcstriplayerPhivsEtaSector = hists5.getH2(layerPhivsEtaSector_name ); 
-			  if (rpcstriplayerPhivsEtaSector) {
+                  if(m_rpcsectorhist){ 	      
+                    bool histo_flag=true;
+                    for (std::vector<std::string>::const_iterator iter=m_layerPhivsEtaSector_name_list.begin(); iter!=m_layerPhivsEtaSector_name_list.end(); iter++){
+                      if ( (m_sector_name+m_layerPhivsEtaSector_name)==*iter){histo_flag=false;}
+                    }
+                    if (histo_flag){ 
+                      m_layerPhivsEtaSector_name_list.push_back(m_sector_name+m_layerPhivsEtaSector_name); 
+                      bookRPCLayerPhivsEtaSectorHistograms(m_sector_name, m_layerPhivsEtaSector_name, NetaStripsTot, -NetaStripsTotSideC, NetaStripsTotSideA, NphiStrips, 0 , NphiStrips);
+                    }
+                    const MuonDQAHistList& hists5 = m_stationHists.getList( m_sector_name + "/PhivsEta/" + m_layerPhivsEtaSector_name);
+                    TH2* rpcstriplayerPhivsEtaSector = hists5.getH2(m_layerPhivsEtaSector_name ); 
+                    if (rpcstriplayerPhivsEtaSector) {
 		     	  
-			    rpcstriplayerPhivsEtaSector->Fill( stripetaatlas, stripphisector-1 );	
+                      rpcstriplayerPhivsEtaSector->Fill( stripetaatlas, stripphisector-1 );	
 		    
-			  }
-			  else {ATH_MSG_DEBUG (  "rpcstriplayerPhivsEtaSector not in hist list!" );}
-			}
+                    }
+                    else {ATH_MSG_DEBUG (  "rpcstriplayerPhivsEtaSector not in hist list!" );}
+                  }
 		      
-			stripphiatlas = stripphisector + shiftstripphiatlas ;
-			
-			x_atlas = x_atl     ;
-			y_atlas = y_atl     ;
-			z_atlas = z_atl_II  ;
+                  int stripphiatlas = stripphisector + shiftstripphiatlas ;
 			
-			if ( x_atlas > 0 ) { 
-			  phi_atlas = atan ( y_atlas / x_atlas ); 
-			}
-			else if ( x_atlas == 0 ){ 
-			  if (y_atlas > 0) { 
-			    phi_atlas = CLHEP::pi/2 ;
-			  }
-			  else 
-			    { 
-			      phi_atlas = -CLHEP::pi/2 ;
-			    } 
-			}
-			else{
-			  if (y_atlas > 0) { 
-			    phi_atlas = atan ( y_atlas / x_atlas ) + CLHEP::pi ; 
-			  }
-			  else 
-			    { 
-			      phi_atlas = -CLHEP::pi + atan ( y_atlas / x_atlas ) ;
-			    }  
+                  double x_atlas = x_atl     ;
+                  double y_atlas = y_atl     ;
+                  double z_atlas = z_atl_II  ;
+
+                  double phi_atlas = 0;
+                  if ( x_atlas > 0 ) { 
+                    phi_atlas = atan ( y_atlas / x_atlas ); 
+                  }
+                  else if ( x_atlas == 0 ){ 
+                    if (y_atlas > 0) { 
+                      phi_atlas = CLHEP::pi/2 ;
+                    }
+                    else 
+                    { 
+                      phi_atlas = -CLHEP::pi/2 ;
+                    } 
+                  }
+                  else{
+                    if (y_atlas > 0) { 
+                      phi_atlas = atan ( y_atlas / x_atlas ) + CLHEP::pi ; 
+                    }
+                    else 
+                    { 
+                      phi_atlas = -CLHEP::pi + atan ( y_atlas / x_atlas ) ;
+                    }  
 			 
-			}
+                  }
 			
-			// pseudorapidity
-			if ( z_atlas!=0  ) {
-			  eta_atlas = -log( abs( tan( 0.5 * atan(sqrt(pow(x_atlas,2.)+pow(y_atlas,2.))/ z_atlas )) ));
-		        }
-			else{
-			  eta_atlas = 0 ;
-		        }
-			if ( irpcstationEta<0 ) { eta_atlas = -eta_atlas; }
+                  // pseudorapidity
+                  double eta_atlas = 0;
+                  if ( z_atlas!=0  ) {
+                    eta_atlas = -log( abs( tan( 0.5 * atan(sqrt(pow(x_atlas,2.)+pow(y_atlas,2.))/ z_atlas )) ));
+                  }
+                  else{
+                    eta_atlas = 0 ;
+                  }
+                  if ( irpcstationEta<0 ) { eta_atlas = -eta_atlas; }
 			
 		                            
-			if(layeronly_name=="Pivot0" ) {
-			  rpcPhivsEtaAtlasPivot0        ->Fill( stripetaatlas , stripphiatlas -1 );
-			  rpcPhivsEtaAtlasPivot0_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			  // coord cilindriche: 1->phi, 2->z
-			  //rpcPhivsEtaAtlasPivot0_PhivsZ ->Fill( phi_atlas, z_atlas ); 
-			}
-			if(layeronly_name=="Pivot1" ) { 
-			  rpcPhivsEtaAtlasPivot1        ->Fill( stripetaatlas , stripphiatlas -1 );	
-			  rpcPhivsEtaAtlasPivot1_PhivsZ ->Fill( z_atlas, phi_atlas )           ;   
-			}
-			if(layeronly_name=="LowPt0"  	         ) { 
-			  rpcPhivsEtaAtlasLowPt0        ->Fill( stripetaatlas , stripphiatlas -1 );
-			  rpcPhivsEtaAtlasLowPt0_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			}
-			if(layeronly_name=="LowPt1"  	         ) { 
-			  rpcPhivsEtaAtlasLowPt1        ->Fill( stripetaatlas , stripphiatlas -1 );
-			  rpcPhivsEtaAtlasLowPt1_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			}
-			if(layeronly_name=="HighPt0" 	         ) { 
-			  rpcPhivsEtaAtlasHighPt0        ->Fill( stripetaatlas , stripphiatlas -1 );
-			  rpcPhivsEtaAtlasHighPt0_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			}
-			if(layeronly_name=="HighPt1" 	         ) { 
-			  rpcPhivsEtaAtlasHighPt1        ->Fill( stripetaatlas , stripphiatlas -1 );	    
-			  rpcPhivsEtaAtlasHighPt1_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			}
-			if(layeronly_name=="LowPt_TriggerOut"       ){ 
+                  if(m_layeronly_name=="Pivot0" ) {
+                    m_rpcPhivsEtaAtlasPivot0        ->Fill( stripetaatlas , stripphiatlas -1 );
+                    m_rpcPhivsEtaAtlasPivot0_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                    // coord cilindriche: 1->phi, 2->z
+                    //m_rpcPhivsEtaAtlasPivot0_PhivsZ ->Fill( phi_atlas, z_atlas ); 
+                  }
+                  if(m_layeronly_name=="Pivot1" ) { 
+                    m_rpcPhivsEtaAtlasPivot1        ->Fill( stripetaatlas , stripphiatlas -1 );	
+                    m_rpcPhivsEtaAtlasPivot1_PhivsZ ->Fill( z_atlas, phi_atlas )           ;   
+                  }
+                  if(m_layeronly_name=="LowPt0"  	         ) { 
+                    m_rpcPhivsEtaAtlasLowPt0        ->Fill( stripetaatlas , stripphiatlas -1 );
+                    m_rpcPhivsEtaAtlasLowPt0_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                  }
+                  if(m_layeronly_name=="LowPt1"  	         ) { 
+                    m_rpcPhivsEtaAtlasLowPt1        ->Fill( stripetaatlas , stripphiatlas -1 );
+                    m_rpcPhivsEtaAtlasLowPt1_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                  }
+                  if(m_layeronly_name=="HighPt0" 	         ) { 
+                    m_rpcPhivsEtaAtlasHighPt0        ->Fill( stripetaatlas , stripphiatlas -1 );
+                    m_rpcPhivsEtaAtlasHighPt0_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                  }
+                  if(m_layeronly_name=="HighPt1" 	         ) { 
+                    m_rpcPhivsEtaAtlasHighPt1        ->Fill( stripetaatlas , stripphiatlas -1 );	    
+                    m_rpcPhivsEtaAtlasHighPt1_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                  }
+                  if(m_layeronly_name=="LowPt_TriggerOut"       ){ 
 		
-			  rpcPhivsEtaAtlasLowPt_TriggerOut        ->Fill( stripetaatlas , stripphiatlas-1 );
-			  rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			}
-			if(layeronly_name=="HighPt_TriggerFromLowPt") { 
-			  rpcPhivsEtaAtlasHighPt_TriggerFromLowPt        ->Fill( stripetaatlas , stripphiatlas-1 );
-			  rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			}
-			if(layeronly_name=="HighPt_TriggerOut"      ) { 
-			  rpcPhivsEtaAtlasHighPt_TriggerOut        ->Fill( stripetaatlas , stripphiatlas-1 );
-			  rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
-			}
+                    m_rpcPhivsEtaAtlasLowPt_TriggerOut        ->Fill( stripetaatlas , stripphiatlas-1 );
+                    m_rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                  }
+                  if(m_layeronly_name=="HighPt_TriggerFromLowPt") { 
+                    m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt        ->Fill( stripetaatlas , stripphiatlas-1 );
+                    m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                  }
+                  if(m_layeronly_name=="HighPt_TriggerOut"      ) { 
+                    m_rpcPhivsEtaAtlasHighPt_TriggerOut        ->Fill( stripetaatlas , stripphiatlas-1 );
+                    m_rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )           ;
+                  }
 		    
 		  
 		  		  
-		      }//same gasgap
+                }//same gasgap
 
 	    	      
-		    }//phi and eta
+              }//phi and eta
 		     
 		      	 	      
-		    //////////same chamber, plane, phi-phi, eta-eta
-		    if(m_rpcchamberhist ){ 
-		      //if(1 == 0){     
-		      if(irpcmeasuresPhi==irpcmeasuresPhiII){
+              //////////same chamber, plane, phi-phi, eta-eta
+              if(m_rpcchamberhist ){ 
+                //if(1 == 0){     
+                if(irpcmeasuresPhi==irpcmeasuresPhiII){
 		    		  
-			if(  irpcgasGap==(irpcgasGapII+1)      && irpcstationName==irpcstationNameII  ) {
-			  if(irpcstationPhi==irpcstationPhiII&&irpcstationEta==irpcstationEtaII&&
-			     irpcdoubletR==irpcdoubletRII&&irpcdoubletZ==irpcdoubletZII&&irpcdoubletPhi==irpcdoubletPhiII){
+                  if(  irpcgasGap==(irpcgasGapII+1)      && irpcstationName==irpcstationNameII  ) {
+                    if(irpcstationPhi==irpcstationPhiII&&irpcstationEta==irpcstationEtaII&&
+                       irpcdoubletR==irpcdoubletRII&&irpcdoubletZ==irpcdoubletZII&&irpcdoubletPhi==irpcdoubletPhiII){
 		    		  
-			    histo_flag=true;
-			    for (std::vector<std::string>::const_iterator iter=layervslayer_name_list.begin(); iter!=layervslayer_name_list.end(); iter++){
-			      if ( (hardware_name+layervslayer_name)==*iter){histo_flag=false;}
-			    }
-			    if (histo_flag){ 
-			      layervslayer_name_list.push_back(hardware_name+layervslayer_name); 
-			      bookRPCLayervsLayerHistograms(hardware_name, layervslayer_name, layer1_name, layer2_name, Nbin, 0 , Nbin, Nbin, 0, Nbin);
-			    }
-
-			    const MuonDQAHistList& hists6 = m_stationHists.getList( hardware_name +"/Layer2vsLayer1/"+layervslayer_name);  
-			    TH2* rpcstriplayervslayer = hists6.getH2(hardware_name + "_" + layervslayer_name );  
+                      bool histo_flag=true;
+                      for (std::vector<std::string>::const_iterator iter=m_layervslayer_name_list.begin(); iter!=m_layervslayer_name_list.end(); iter++){
+                        if ( (m_hardware_name+m_layervslayer_name)==*iter){histo_flag=false;}
+                      }
+                      if (histo_flag){ 
+                        m_layervslayer_name_list.push_back(m_hardware_name+m_layervslayer_name); 
+                        bookRPCLayervsLayerHistograms(m_hardware_name, m_layervslayer_name, m_layer1_name, m_layer2_name, Nbin, 0 , Nbin, Nbin, 0, Nbin);
+                      }
+
+                      const MuonDQAHistList& hists6 = m_stationHists.getList( m_hardware_name +"/Layer2vsLayer1/"+m_layervslayer_name);  
+                      TH2* rpcstriplayervslayer = hists6.getH2(m_hardware_name + "_" + m_layervslayer_name );  
 	 		   
-			    if (rpcstriplayervslayer) {rpcstriplayervslayer->Fill( irpcstripII + ShiftStrips , irpcstrip + ShiftStrips );}
-			    else {ATH_MSG_DEBUG (  "rpcstriplayervslayer not in hist list!" );}
+                      if (rpcstriplayervslayer) {rpcstriplayervslayer->Fill( irpcstripII + ShiftStrips , irpcstrip + ShiftStrips );}
+                      else {ATH_MSG_DEBUG (  "rpcstriplayervslayer not in hist list!" );}
 		  
-			  }//same chamber
-			}//same plane
-		      }//phi-phi or eta-eta		  
-		    }//end if on m_rpcchamberhist or ESD  
+                    }//same chamber
+                  }//same plane
+                }//phi-phi or eta-eta		  
+              }//end if on m_rpcchamberhist or ESD  
 
-		  }     ////////////// End Loop on the second prd
+            }     ////////////// End Loop on the second prd
 	      
 		 
-		  ++m_nPrd;
-		  if (irpcstationEta>=0){ ++m_nPrd_BA ; } 
-		  else                  { ++m_nPrd_BC ; }
+            ++m_nPrd;
+            if (irpcstationEta>=0){ ++m_nPrd_BA ; } 
+            else                  { ++m_nPrd_BC ; }
 		 
 	
-		ATH_MSG_DEBUG (  " RPC PrepRawData has" << m_nPrd <<  "PRD number " );
-		map<string,int>::iterator iter_hitsperchamber = hitsperchamber_map.find(hardware_name);
-		if ( iter_hitsperchamber  == hitsperchamber_map.end() ){ 
-		  hitsperchamber_map.insert( make_pair( hardware_name,1 ) );  
-		} else {iter_hitsperchamber->second+=1;}	
-		//}//chamber name selection
-	      }
+            ATH_MSG_DEBUG (  " RPC PrepRawData has" << m_nPrd <<  "PRD number " );
+            map<string,int>::iterator iter_hitsperchamber = m_hitsperchamber_map.find(m_hardware_name);
+            if ( iter_hitsperchamber  == m_hitsperchamber_map.end() ){ 
+              m_hitsperchamber_map.insert( make_pair( m_hardware_name,1 ) );  
+            } else {iter_hitsperchamber->second+=1;}	
+            //}//chamber name selection
+          }
 	
-	      else {
+          else {
 		
-		// check if index not out of range  
-		if (m_first == true) {
-		  ATH_MSG_DEBUG (  "More than " << maxPRD << " RPC PrepRawData" );
-		  m_first = false;
-		  ATH_MSG_VERBOSE(  "More than " << maxPRD << " RPC PrepRawData" );
-		}
+            // check if index not out of range  
+            if (m_first == true) {
+              ATH_MSG_DEBUG (  "More than " << maxPRD << " RPC PrepRawData" );
+              m_first = false;
+              ATH_MSG_VERBOSE(  "More than " << maxPRD << " RPC PrepRawData" );
+            }
  		
-	      }
+          }
 		
-	    }/// if (containerIt size)    
-	}/// for chambers iterator 
+        }/// if (containerIt size)    
+      }/// for chambers iterator 
     
-      ++rpc_eventstotal;
+      ++m_rpc_eventstotal;
     
-      rpcevents->Fill(m_nPrd);    
+      m_rpcevents->Fill(m_nPrd);    
     
-      TotalNumber_of_RPC_hits_per_events_BA->Fill(m_nPrd_BA) ;
-      TotalNumber_of_RPC_hits_per_events_BC->Fill(m_nPrd_BC) ;
+      m_TotalNumber_of_RPC_hits_per_events_BA->Fill(m_nPrd_BA) ;
+      m_TotalNumber_of_RPC_hits_per_events_BC->Fill(m_nPrd_BC) ;
   
   
+      int NTrigger_Eta_LowPt  = 0;  
+      int NTrigger_Phi_LowPt  = 0;  
+      int NTrigger_Eta_HighPt = 0;  
+      int NTrigger_Phi_HighPt = 0;
+
       // loop on trigger hits
-     if(m_doTriggerHits){  
-         
-      NTrigger_Eta_LowPt	= 0	 ;  
-      NTrigger_Phi_LowPt	= 0	 ;  
-      NTrigger_Eta_HighPt = 0 	 ;  
-      NTrigger_Phi_HighPt = 0      ;
+      if(m_doTriggerHits){  
     
-      const Muon::RpcCoinDataContainer* rpc_trigcontainer;
+        const Muon::RpcCoinDataContainer* rpc_trigcontainer;
     
-      sc = (*m_activeStore)->retrieve(rpc_trigcontainer, m_key_trig );
-      if (sc.isFailure()) {
-	ATH_MSG_ERROR (  " Cannot retrieve RPC trigger Hits container " << m_key_trig );
-	return sc;
-      }
-      Muon::RpcCoinDataContainer::const_iterator trigcontainerIt;
-      for ( trigcontainerIt = rpc_trigcontainer->begin(); trigcontainerIt != rpc_trigcontainer->end(); ++trigcontainerIt ) 
+        sc = (*m_activeStore)->retrieve(rpc_trigcontainer, m_key_trig );
+        if (sc.isFailure()) {
+          ATH_MSG_ERROR (  " Cannot retrieve RPC trigger Hits container " << m_key_trig );
+          return sc;
+        }
+        Muon::RpcCoinDataContainer::const_iterator trigcontainerIt;
+        for ( trigcontainerIt = rpc_trigcontainer->begin(); trigcontainerIt != rpc_trigcontainer->end(); ++trigcontainerIt ) 
 	{
 	  for ( Muon::RpcCoinDataCollection::const_iterator rpcCoinCollection = (*trigcontainerIt)->begin();
 		rpcCoinCollection!=(*trigcontainerIt)->end();
 		++rpcCoinCollection )
-	    {
-	      if ( m_nTrig < maxPRD ) {
-		Identifier prdcoll_id = (*rpcCoinCollection)->identify();
-		irpcstationPhi     =   int(m_rpcIdHelper->stationPhi(prdcoll_id))  ;  	  
-		irpcstationName    =   int(m_rpcIdHelper->stationName(prdcoll_id)) ;  	  
-		irpcstationEta     =   int(m_rpcIdHelper->stationEta(prdcoll_id))  ;  		  
-		irpcdoubletR       =   int(m_rpcIdHelper->doubletR(prdcoll_id))    ;
-		irpcdoubletZ       =   int(m_rpcIdHelper->doubletZ(prdcoll_id))    ;
-		irpcdoubletPhi     =   int(m_rpcIdHelper->doubletPhi(prdcoll_id))  ;
-		irpcgasGap	 =   int(m_rpcIdHelper->gasGap(prdcoll_id))      ;
-		irpcmeasuresPhi    =   int(m_rpcIdHelper->measuresPhi(prdcoll_id)) ;
-		irpcstrip	         =   int(m_rpcIdHelper->strip(prdcoll_id))       ;
+          {
+            if ( m_nTrig < maxPRD ) {
+              Identifier prdcoll_id = (*rpcCoinCollection)->identify();
+              int irpcstationPhi     =   int(m_rpcIdHelper->stationPhi(prdcoll_id))  ;  	  
+              int irpcstationName    =   int(m_rpcIdHelper->stationName(prdcoll_id)) ;  	  
+              int irpcstationEta     =   int(m_rpcIdHelper->stationEta(prdcoll_id))  ;  		  
+              int irpcdoubletR       =   int(m_rpcIdHelper->doubletR(prdcoll_id))    ;
+              int irpcdoubletZ       =   int(m_rpcIdHelper->doubletZ(prdcoll_id))    ;
+              int irpcdoubletPhi     =   int(m_rpcIdHelper->doubletPhi(prdcoll_id))  ;
+              int irpcgasGap	     =   int(m_rpcIdHelper->gasGap(prdcoll_id))      ;
+              int irpcmeasuresPhi    =   int(m_rpcIdHelper->measuresPhi(prdcoll_id)) ;
+              int irpcstrip	     =   int(m_rpcIdHelper->strip(prdcoll_id))       ;
         
-		irpctime	     =   double((*rpcCoinCollection)->time())		     ;  	     
-		// irpctriggerInfo	     =   int((*rpcCoinCollection)->triggerInfo   ())	 ; // double		       
-		irpctriggerInfo    =   int ( ((*rpcCoinCollection)->isLowPtCoin())*6 + 
-					     ((*rpcCoinCollection)->isLowPtInputToHighPtCm())*100 + 
-					     ((*rpcCoinCollection)->isHighPtCoin())*106  );
-		irpcambiguityFlag  =   double((*rpcCoinCollection)->ambiguityFlag());     
-		irpcthreshold      =   int((*rpcCoinCollection)->threshold() )      ;
+              double irpctime	     =   double((*rpcCoinCollection)->time())		     ;  	     
+              // irpctriggerInfo	     =   int((*rpcCoinCollection)->triggerInfo   ())	 ; // double		       
+              int irpctriggerInfo    =   int ( ((*rpcCoinCollection)->isLowPtCoin())*6 + 
+                                           ((*rpcCoinCollection)->isLowPtInputToHighPtCm())*100 + 
+                                           ((*rpcCoinCollection)->isHighPtCoin())*106  );
+              int irpcthreshold      =   int((*rpcCoinCollection)->threshold() )      ;
 	
 	
-		//std::cout << "irpcthreshold rpcCoinCollection   " << irpcthreshold <<  "\n";		  
-		// m_threshold: internal threshold 
-		// set in joboptions the correspondence between m_threshold and lvl1 thresholds
-		if ( irpcthreshold == m_lv1Thres_0 )  m_threshold = 0 ; // no threshold assigned
-		if ( irpcthreshold == m_lv1Thres_1 )  m_threshold = 1 ;
-		if ( irpcthreshold == m_lv1Thres_2 )  m_threshold = 2 ;
-		if ( irpcthreshold == m_lv1Thres_3 )  m_threshold = 3 ;
+              //std::cout << "irpcthreshold rpcCoinCollection   " << irpcthreshold <<  "\n";		  
+              // m_threshold: internal threshold 
+              // set in joboptions the correspondence between m_threshold and lvl1 thresholds
+              if ( irpcthreshold == m_lv1Thres_0 )  m_threshold = 0 ; // no threshold assigned
+              if ( irpcthreshold == m_lv1Thres_1 )  m_threshold = 1 ;
+              if ( irpcthreshold == m_lv1Thres_2 )  m_threshold = 2 ;
+              if ( irpcthreshold == m_lv1Thres_3 )  m_threshold = 3 ;
               
-		/*switch (irpcthreshold ) {
-		  case m_lv1Thres_0 : m_threshold = 0 ; break ;
-		  case m_lv1Thres_1 : m_threshold = 1 ; break ;
-		  case m_lv1Thres_2 : m_threshold = 2 ; break ;
-		  }  */
-		if ( irpcmeasuresPhi==0 ){ 
-		  if ( irpctriggerInfo==106 ) { RPC_Threshold_Eta->Fill( m_threshold+4 ) ; }
-		  else if ( irpctriggerInfo==6 ) { RPC_Threshold_Eta->Fill( m_threshold   ) ; }
-		}
-		else { 
-		  if ( irpctriggerInfo==106 ) { RPC_Threshold_Phi->Fill( m_threshold+4 ) ; } 
-		  else if ( irpctriggerInfo==6 ) { RPC_Threshold_Phi->Fill( m_threshold   ) ; } 
-		}
+              /*switch (irpcthreshold ) {
+                case m_lv1Thres_0 : m_threshold = 0 ; break ;
+                case m_lv1Thres_1 : m_threshold = 1 ; break ;
+                case m_lv1Thres_2 : m_threshold = 2 ; break ;
+                }  */
+              if ( irpcmeasuresPhi==0 ){ 
+                if ( irpctriggerInfo==106 ) { m_RPC_Threshold_Eta->Fill( m_threshold+4 ) ; }
+                else if ( irpctriggerInfo==6 ) { m_RPC_Threshold_Eta->Fill( m_threshold   ) ; }
+              }
+              else { 
+                if ( irpctriggerInfo==106 ) { m_RPC_Threshold_Phi->Fill( m_threshold+4 ) ; } 
+                else if ( irpctriggerInfo==6 ) { m_RPC_Threshold_Phi->Fill( m_threshold   ) ; } 
+              }
                       
-		const MuonGM::RpcReadoutElement* descriptor_Atl = m_muonMgr->getRpcReadoutElement( prdcoll_id );
-		x_atl = descriptor_Atl ->stripPos(prdcoll_id ).x() ;
-		y_atl = descriptor_Atl ->stripPos(prdcoll_id ).y() ;
-		z_atl = descriptor_Atl ->stripPos(prdcoll_id ).z() ;
+              const MuonGM::RpcReadoutElement* descriptor_Atl = m_muonMgr->getRpcReadoutElement( prdcoll_id );
+                double x_atl = descriptor_Atl ->stripPos(prdcoll_id ).x() ;
+		double y_atl = descriptor_Atl ->stripPos(prdcoll_id ).y() ;
+		double z_atl = descriptor_Atl ->stripPos(prdcoll_id ).z() ;
                                 
 		Amg::Vector3D TrigHit2DEta(z_atl,sqrt(x_atl*x_atl + y_atl*y_atl), 0 );	  
 		Amg::Vector3D TrigHit2DPhi(x_atl,y_atl, 0 );	  
@@ -1328,50 +1290,45 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		if(irpcmeasuresPhi==1) TrigHit2D = TrigHit2DPhi ;
        
 		//get chamber hardware name
-		hardware_name=convertChamberName(irpcstationName,irpcstationEta,irpcstationPhi,type) ;
+		m_hardware_name=convertChamberName(irpcstationName,irpcstationEta,irpcstationPhi,m_type) ;
        
         
 		//get information from geomodel to book and fill rpc histos with the right max strip number
 		std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prdcoll_id, irpctriggerInfo)  ;
-		NphiStrips	       =  rpcstripshift[0] ;
-		ShiftPhiStrips     =  rpcstripshift[1] ;
-		NetaStrips	       =  rpcstripshift[2] ;
-		ShiftEtaStrips     =  rpcstripshift[3] ;
-		ShiftStrips	       =  rpcstripshift[4] ;
-		NetaStripsTot      =  rpcstripshift[5] ;
-		NetaStripsTotSideA =  rpcstripshift[6] ;
-		NetaStripsTotSideC =  rpcstripshift[7] ;
-		ShiftEtaStripsTot  =  rpcstripshift[8] ;
-		Nbin  	       =  rpcstripshift[9] ;
-		EtaStripSign       =  rpcstripshift[10];
-		PanelIndex	       =  rpcstripshift[13];
-		Settore	       =  rpcstripshift[14];
-		PlaneTipo	       =  rpcstripshift[15];
-		strip_dbindex      =  rpcstripshift[16];
-		NetaPanelsTot	 =  rpcstripshift[19];  
-		ShiftEtaPanelsTot  =  rpcstripshift[20];
-		NetaPanelsTotSideA =  rpcstripshift[21];
-		NetaPanelsTotSideC =  rpcstripshift[22];
-		rpcpanel_dbindex   =  rpcstripshift[23];
-		rpctower_dbindex   =  rpcstripshift[24];
-		shiftstripphiatlas =  rpcstripshift[25];
+		int NphiStrips	       =  rpcstripshift[0] ;
+		int ShiftPhiStrips     =  rpcstripshift[1] ;
+		int NetaStrips	       =  rpcstripshift[2] ;
+		int ShiftEtaStrips     =  rpcstripshift[3] ;
+		int ShiftStrips	       =  rpcstripshift[4] ;
+		int NetaStripsTot      =  rpcstripshift[5] ;
+		int NetaStripsTotSideA =  rpcstripshift[6] ;
+		int NetaStripsTotSideC =  rpcstripshift[7] ;
+		int ShiftEtaStripsTot  =  rpcstripshift[8] ;
+		int Nbin  	       =  rpcstripshift[9] ;
+		int EtaStripSign       =  rpcstripshift[10];
+		int PanelIndex	       =  rpcstripshift[13];
+		int Settore	       =  rpcstripshift[14];
+		int ShiftEtaPanelsTot  =  rpcstripshift[20];
+		int rpcpanel_dbindex   =  rpcstripshift[23];
+		int rpctower_dbindex   =  rpcstripshift[24];
+		int shiftstripphiatlas =  rpcstripshift[25];
 
  
 		//get name for titles and labels 
 		std::vector<std::string>   rpclayersectorsidename = RpcGM::RpcLayerSectorSideName(m_rpcIdHelper,prdcoll_id, irpctriggerInfo)  ;  
-		layer_name		   = rpclayersectorsidename[0] ;
-		layertodraw1_name	   = rpclayersectorsidename[1] ;
-		layertodraw2_name	   = rpclayersectorsidename[2] ;
-		layervslayer_name	   = rpclayersectorsidename[3] ;
-		layer0_name		   = rpclayersectorsidename[4] ;
-		layer1_name		   = rpclayersectorsidename[5] ;
-		layer2_name		   = rpclayersectorsidename[6] ;
-		layerPhivsEta_name	   = rpclayersectorsidename[7] ;
-		layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
-		sector_name		   = rpclayersectorsidename[9] ;
-		layeronly_name	   = rpclayersectorsidename[10];
-		layer_name_panel	   = rpclayersectorsidename[11];
-		sector_dphi_layer	   = rpclayersectorsidename[12];
+		m_layer_name		   = rpclayersectorsidename[0] ;
+		m_layertodraw1_name	   = rpclayersectorsidename[1] ;
+		m_layertodraw2_name	   = rpclayersectorsidename[2] ;
+		m_layervslayer_name	   = rpclayersectorsidename[3] ;
+		m_layer0_name		   = rpclayersectorsidename[4] ;
+		m_layer1_name		   = rpclayersectorsidename[5] ;
+		m_layer2_name		   = rpclayersectorsidename[6] ;
+		m_layerPhivsEta_name	   = rpclayersectorsidename[7] ;
+		m_layerPhivsEtaSector_name = rpclayersectorsidename[8] ;
+		m_sector_name		   = rpclayersectorsidename[9] ;
+		m_layeronly_name	   = rpclayersectorsidename[10];
+		m_layer_name_panel	   = rpclayersectorsidename[11];
+		m_sector_dphi_layer	   = rpclayersectorsidename[12];
 	      
 		int irpcstationNameC1 = irpcstationName ;
 		int irpcstationNameC2 = irpcstationName ;
@@ -1388,12 +1345,12 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		///////SHIFT 1D HISTOS
 		 
 	        if(EtaStripSign>=0){
-		   if(irpctriggerInfo==  6)rpc1DStationNameTriggerHitsSideA->Fill(StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);		  
-		   if(irpctriggerInfo==106)rpc1DStationNameTriggerHitsSideA->Fill(StationNameViewIndex[irpcstationName][irpcmeasuresPhi]+6,1./StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);
+		   if(irpctriggerInfo==  6)m_rpc1DStationNameTriggerHitsSideA->Fill(m_StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./m_StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);		  
+		   if(irpctriggerInfo==106)m_rpc1DStationNameTriggerHitsSideA->Fill(m_StationNameViewIndex[irpcstationName][irpcmeasuresPhi]+6,1./m_StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);
 		} 
 	        else{
-		   if(irpctriggerInfo==  6)rpc1DStationNameTriggerHitsSideC->Fill(StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);		  
-		   if(irpctriggerInfo==106)rpc1DStationNameTriggerHitsSideC->Fill(StationNameViewIndex[irpcstationName][irpcmeasuresPhi]+6,1./StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);
+		   if(irpctriggerInfo==  6)m_rpc1DStationNameTriggerHitsSideC->Fill(m_StationNameViewIndex[irpcstationName][irpcmeasuresPhi]  ,1./m_StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);		  
+		   if(irpctriggerInfo==106)m_rpc1DStationNameTriggerHitsSideC->Fill(m_StationNameViewIndex[irpcstationName][irpcmeasuresPhi]+6,1./m_StationPivotSectorSize[irpcstationName]*AverageLuminosityWeight);
 		}
 		
 		// fill trigger road
@@ -1409,12 +1366,12 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		    for ( Muon::RpcPrepDataCollection::const_iterator it=(*collPrep)->begin(); it!=(*collPrep)->end(); it++) {
                
 		      Identifier prdConf_id   =   (*it)->identify();
-		      irpcstationPhi_prep     =   int(m_rpcIdHelper->stationPhi (prdConf_id ))  ;   
-		      irpcstationName_prep    =   int(m_rpcIdHelper->stationName(prdConf_id ))  ;   
-		      irpcstationEta_prep     =   int(m_rpcIdHelper->stationEta (prdConf_id ))  ;	    
-		      irpcdoubletR_prep       =   int(m_rpcIdHelper->doubletR   (prdConf_id ))  ;
-		      irpcdoubletPhi_prep     =   int(m_rpcIdHelper->doubletPhi (prdConf_id ))  ;
-		      irpcmeasuresPhi_prep    =   int(m_rpcIdHelper->measuresPhi(prdConf_id ))  ;
+		      int irpcstationPhi_prep     =   int(m_rpcIdHelper->stationPhi (prdConf_id ))  ;   
+		      int irpcstationName_prep    =   int(m_rpcIdHelper->stationName(prdConf_id ))  ;   
+		      int irpcstationEta_prep     =   int(m_rpcIdHelper->stationEta (prdConf_id ))  ;	    
+		      int irpcdoubletR_prep       =   int(m_rpcIdHelper->doubletR   (prdConf_id ))  ;
+		      int irpcdoubletPhi_prep     =   int(m_rpcIdHelper->doubletPhi (prdConf_id ))  ;
+		      int irpcmeasuresPhi_prep    =   int(m_rpcIdHelper->measuresPhi(prdConf_id ))  ;
         
 		      if ( irpcmeasuresPhi_prep != irpcmeasuresPhi ) continue;
 		      if ( irpcstationPhi_prep  != irpcstationPhi  ) continue;
@@ -1429,9 +1386,9 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		      //		  std::cout << "elementID trig  " << irpcstrip << " " << irpcstationName <<" "<< irpcstationEta <<" "<< irpcstationPhi <<" "<< irpcdoubletR  << " " << irpctriggerInfo << "\n";		  
         
 		      const MuonGM::RpcReadoutElement* descriptor_Atl_prep = m_muonMgr->getRpcReadoutElement( prdConf_id );
-		      x_atl_prep = descriptor_Atl_prep ->stripPos(prdConf_id ).x() ;
-		      y_atl_prep = descriptor_Atl_prep ->stripPos(prdConf_id ).y() ;
-		      z_atl_prep = descriptor_Atl_prep ->stripPos(prdConf_id ).z() ;
+		      double x_atl_prep = descriptor_Atl_prep ->stripPos(prdConf_id ).x() ;
+		      double y_atl_prep = descriptor_Atl_prep ->stripPos(prdConf_id ).y() ;
+		      double z_atl_prep = descriptor_Atl_prep ->stripPos(prdConf_id ).z() ;
         
 		      Amg::Vector3D PrepHit2DEta( z_atl_prep, sqrt(x_atl_prep*x_atl_prep + y_atl_prep*y_atl_prep), 0 );  	  
 		      Amg::Vector3D PrepHit2DPhi( x_atl_prep, y_atl_prep , 0 );  	  
@@ -1451,7 +1408,7 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		      if(SegVector2D.mag()!=0)ImpactVector2D = ImpactVector2D/ SegVector2D.mag();      
         
 		      // impactParam = ImpactVector2D.z();
-		      impactParam = ImpactVector2D.mag() ;
+		      double impactParam = ImpactVector2D.mag() ;
 		  
 		      if ( irpcmeasuresPhi==0 ) {
 			if ( ImpactVector2D.z() <0 ) impactParam = -impactParam ;
@@ -1460,31 +1417,31 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 			if ( ImpactVector2D.z() <0 ) impactParam = -impactParam ;
 		      }
               	  
-		      RPC_TriggerRoad->Fill( impactParam, m_threshold );
+		      m_RPC_TriggerRoad->Fill( impactParam, m_threshold );
 	      
 		      if ( irpctriggerInfo==6 && irpcstationEta%2 == 0 && irpcmeasuresPhi==0 ) {
-			RPC_TriggerRoad_Large_Eta->Fill( impactParam, m_threshold );
+			m_RPC_TriggerRoad_Large_Eta->Fill( impactParam, m_threshold );
 		      }
 		      if ( irpctriggerInfo==6 && irpcstationEta%2 == 0 && irpcmeasuresPhi==1 ) {
-			RPC_TriggerRoad_Large_Phi->Fill( impactParam, m_threshold );
+			m_RPC_TriggerRoad_Large_Phi->Fill( impactParam, m_threshold );
 		      }
 		      if ( irpctriggerInfo==6 && irpcstationEta%2 == 1 && irpcmeasuresPhi==0 ) {
-			RPC_TriggerRoad_Small_Eta->Fill( impactParam, m_threshold );
+			m_RPC_TriggerRoad_Small_Eta->Fill( impactParam, m_threshold );
 		      }
 		      if ( irpctriggerInfo==6 && irpcstationEta%2 == 1 && irpcmeasuresPhi==1 ) {
-			RPC_TriggerRoad_Small_Phi->Fill( impactParam, m_threshold );
+			m_RPC_TriggerRoad_Small_Phi->Fill( impactParam, m_threshold );
 		      }     
 		      if ( irpctriggerInfo >6 && irpcstationEta%2 == 0 && irpcmeasuresPhi==0 ) {
-			RPC_TriggerRoad_Large_Eta->Fill( impactParam, m_threshold + 4 );
+			m_RPC_TriggerRoad_Large_Eta->Fill( impactParam, m_threshold + 4 );
 		      }
 		      if ( irpctriggerInfo >6 && irpcstationEta%2 == 0 && irpcmeasuresPhi==1 ) {
-			RPC_TriggerRoad_Large_Phi->Fill( impactParam, m_threshold + 4);
+			m_RPC_TriggerRoad_Large_Phi->Fill( impactParam, m_threshold + 4);
 		      }
 		      if ( irpctriggerInfo >6 && irpcstationEta%2 == 1 && irpcmeasuresPhi==0 ) {
-			RPC_TriggerRoad_Small_Eta->Fill( impactParam, m_threshold + 4);
+			m_RPC_TriggerRoad_Small_Eta->Fill( impactParam, m_threshold + 4);
 		      }
 		      if ( irpctriggerInfo >6 && irpcstationEta%2 == 1 && irpcmeasuresPhi==1 ) {
-			RPC_TriggerRoad_Small_Phi->Fill( impactParam, m_threshold + 4);
+			m_RPC_TriggerRoad_Small_Phi->Fill( impactParam, m_threshold + 4);
 		      }     
                 
 		    }
@@ -1497,59 +1454,59 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		  else {NTrigger_Phi_LowPt ++ ;}	
 		  if(irpcmeasuresPhi==0){	 
 		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_LowPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
-		      rpc2DPanelHits[enum_Eta_LowPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Eta_LowPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_LowPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Eta_LowPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_LowPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerLowPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerLowPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 			
-		      rpctime_LPt_BA->Fill(irpctime);
+		      m_rpctime_LPt_BA->Fill(irpctime);
 		    }
 		    else{
-		      rpc2DPanelHits[enum_Eta_LowPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5 + 0.5    );
-		      rpc2DPanelHits[enum_Eta_LowPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_LowPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Eta_LowPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_LowPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5 + 0.5    );
+		      m_rpc2DPanelHits[enum_Eta_LowPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_LowPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerLowPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerLowPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 			
 	
-		      rpctime_LPt_BC->Fill(irpctime);
+		      m_rpctime_LPt_BC->Fill(irpctime);
 		    }
 		  }
 		  else{	 
 		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_LowPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
-		      rpc2DPanelHits[enum_Phi_LowPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Phi_LowPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_LowPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Phi_LowPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_LowPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerLowPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerLowPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 		     
-		      rpctime_LPt_BA->Fill(irpctime);
+		      m_rpctime_LPt_BA->Fill(irpctime);
 		    }
 		    else{
-		      rpc2DPanelHits[enum_Phi_LowPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5  + 0.5    );
-		      rpc2DPanelHits[enum_Phi_LowPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_LowPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Phi_LowPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_LowPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5  + 0.5    );
+		      m_rpc2DPanelHits[enum_Phi_LowPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_LowPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerLowPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerLowPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 		     
-		      rpctime_LPt_BC->Fill(irpctime);
+		      m_rpctime_LPt_BC->Fill(irpctime);
 		    }
 		  }
-		  rpc2DEtaStationTriggerHits->Fill(irpcstationEta, Settore );
+		  m_rpc2DEtaStationTriggerHits->Fill(irpcstationEta, Settore );
 		  if ( irpcstationEta<0 ) { 
-		    rpc2DEtaStationTriggerHits_Side_Pt[enumBC_LowPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) ); 
+		    m_rpc2DEtaStationTriggerHits_Side_Pt[enumBC_LowPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) ); 
 		  }
 		  else {		      
-		    rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) ); 
+		    m_rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) ); 
 		  }
 		}
 		else if(irpctriggerInfo==100){
-		  rpc2DEtaStationTriggerHits->Fill(irpcstationEta, Settore-1 + 16 );
+		  m_rpc2DEtaStationTriggerHits->Fill(irpcstationEta, Settore-1 + 16 );
 		  // if ( irpcstationEta<0 ) { rpc2DEtaStationTriggerHits_BC ->Fill(irpcstationEta, Settore-1 + 16 );}
 		  // else {		      rpc2DEtaStationTriggerHits_BA ->Fill(irpcstationEta, Settore-1 + 16 );}
 		} 
@@ -1558,79 +1515,79 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		  else {NTrigger_Phi_HighPt ++;}
 		  if(irpcmeasuresPhi==0){	 
 		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Eta_HighPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1    );
-		      rpc2DPanelHits[enum_Eta_HighPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Eta_HighPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_HighPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1    );
+		      m_rpc2DPanelHits[enum_Eta_HighPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_HighPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 		     
-		      rpctime_HPt_BA->Fill(irpctime);
+		      m_rpctime_HPt_BA->Fill(irpctime);
 		    }
 		    else{
-		      rpc2DPanelHits[enum_Eta_HighPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5  + 0.5    );
-		      rpc2DPanelHits[enum_Eta_HighPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Eta_HighPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Eta_HighPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_HighPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5  + 0.5    );
+		      m_rpc2DPanelHits[enum_Eta_HighPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Eta_HighPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 		     
-		      rpctime_HPt_BC->Fill(irpctime);
+		      m_rpctime_HPt_BC->Fill(irpctime);
 		    }
 		  }
 		  else{	 
 		    if(EtaStripSign>0){
-		      rpc2DPanelHits[enum_Phi_HighPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1  );
-		      rpc2DPanelHits[enum_Phi_HighPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Phi_HighPt]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_HighPt]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1  );
+		      m_rpc2DPanelHits[enum_Phi_HighPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_HighPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BA]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 		     
-		      rpctime_HPt_BA->Fill(irpctime);
+		      m_rpctime_HPt_BA->Fill(irpctime);
 		    }
 		    else{
-		      rpc2DPanelHits[enum_Phi_HighPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5   + 0.5    );
-		      rpc2DPanelHits[enum_Phi_HighPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		      rpc1DvsLBPanelHits[enum_Phi_HighPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
+		      m_rpc2DPanelHits[enum_Phi_HighPt]->Fill(-ShiftEtaPanelsTot-1, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_HighPt]->Fill(lumiblock, -float(rpcpanel_dbindex) - float(irpcdoubletPhi-1)*0.5   + 0.5    );
+		      m_rpc2DPanelHits[enum_Phi_HighPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		      m_rpc1DvsLBPanelHits[enum_Phi_HighPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1     );
 		      
 		     
-		      rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
+		      m_rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BC]->Fill(lumiblock, float(rpctower_dbindex) + float(irpcdoubletPhi-1)*0.5-1      );
 		     
-		      rpctime_HPt_BC->Fill(irpctime);
+		      m_rpctime_HPt_BC->Fill(irpctime);
 		    }
 		  }
 	 
-		  rpc2DEtaStationTriggerHits->Fill(irpcstationEta, Settore-1 + 32 );
-		  if ( irpcstationEta<0 ) { rpc2DEtaStationTriggerHits_Side_Pt[enumBC_HighPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) );}
-		  else {		      rpc2DEtaStationTriggerHits_Side_Pt[enumBA_HighPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) );}
+		  m_rpc2DEtaStationTriggerHits->Fill(irpcstationEta, Settore-1 + 32 );
+		  if ( irpcstationEta<0 ) { m_rpc2DEtaStationTriggerHits_Side_Pt[enumBC_HighPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) );}
+		  else {		      m_rpc2DEtaStationTriggerHits_Side_Pt[enumBA_HighPt] ->Fill(irpcstationEta, Settore-1 + 0.5*(irpcdoubletPhi-1) );}
 		}
           
 		if(m_rpcchamberhist){
-		  ATH_MSG_DEBUG (  "RPC Hardware chamber name in the selected area : " << hardware_name );	    
+		  ATH_MSG_DEBUG (  "RPC Hardware chamber name in the selected area : " << m_hardware_name );	    
  
-		  histo_flag=true;
-		  for (std::vector<std::string>::const_iterator iter=layer_name_list.begin(); iter!=layer_name_list.end(); iter++){
-		    if ( (hardware_name+layer_name)==*iter){histo_flag=false;}
+		  bool histo_flag=true;
+		  for (std::vector<std::string>::const_iterator iter=m_layer_name_list.begin(); iter!=m_layer_name_list.end(); iter++){
+		    if ( (m_hardware_name+m_layer_name)==*iter){histo_flag=false;}
 		  }
 		  if (histo_flag){ 
-		    layer_name_list.push_back(hardware_name+layer_name); 
-		    bookRPCLayerHistograms(hardware_name, layer_name, layer0_name, Nbin, 0 , Nbin);
+		    m_layer_name_list.push_back(m_hardware_name+m_layer_name); 
+		    bookRPCLayerHistograms(m_hardware_name, m_layer_name, m_layer0_name, Nbin, 0 , Nbin);
 		  }
           
 		  histo_flag=true ;
-		  for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++){
-		    if ( (hardware_name+layer_name_panel)==*iter){histo_flag=false;}
+		  for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++){
+		    if ( (m_hardware_name+m_layer_name_panel)==*iter){histo_flag=false;}
 		  }
 		  if (histo_flag){ 
-		    layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
-		    layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
-		    bookRPCLayerHistogramsPanel(hardware_name, layer_name_panel)     ; 
+		    m_layer_name_list_panel.push_back(m_hardware_name+m_layer_name_panel)  ; 
+		    m_layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
+		    bookRPCLayerHistogramsPanel(m_hardware_name, m_layer_name_panel)     ; 
 		  }
                                    
-		  const MuonDQAHistList& hists1 = m_stationHists.getList( hardware_name + "/Profiles/" + layer_name); 					    
-		  TH1* rpcstriplayer = hists1.getH1( hardware_name + "_" + layer_name + "_strip");
+		  const MuonDQAHistList& hists1 = m_stationHists.getList( m_hardware_name + "/Profiles/" + m_layer_name); 					    
+		  TH1* rpcstriplayer = hists1.getH1( m_hardware_name + "_" + m_layer_name + "_strip");
 
                     
 		  if (rpcstriplayer) {rpcstriplayer->Fill( float(irpcstrip  + ShiftStrips)  -0.5 );}
@@ -1639,13 +1596,13 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 
 		}//end if on m_rpcchamberhist || ESD
 		else{
-		  histo_flag=true ;
-		  for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++){
-		    if ( (hardware_name+layer_name_panel)==*iter){histo_flag=false;}
+		  bool histo_flag=true ;
+		  for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++){
+		    if ( (m_hardware_name+m_layer_name_panel)==*iter){histo_flag=false;}
 		  }
 		  if (histo_flag){ 
-		    layer_name_list_panel.push_back(hardware_name+layer_name_panel)  ; 
-		    layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
+		    m_layer_name_list_panel.push_back(m_hardware_name+m_layer_name_panel)  ; 
+		    m_layer_name_bin_list_panel.push_back( PanelIndex ) 	       ; 
 		  }
         
 		}
@@ -1657,31 +1614,26 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 	
 		    Identifier prdcoll_id_II = (*rpcCoinCollectionII)->identify(); 
              	     
-		    irpcstationPhiII	    =	int(m_rpcIdHelper->stationPhi( prdcoll_id_II))   ; 	
-		    irpcstationNameII         =	int(m_rpcIdHelper->stationName(prdcoll_id_II))   ;     
-		    irpcstationEtaII	    =	int(m_rpcIdHelper->stationEta( prdcoll_id_II))   ; 	       
-		    irpcdoubletRII	    =	int(m_rpcIdHelper->doubletR(   prdcoll_id_II))   ;  
-		    irpcdoubletZII	    =	int(m_rpcIdHelper->doubletZ(   prdcoll_id_II))   ;
-		    irpcdoubletPhiII	    =	int(m_rpcIdHelper->doubletPhi( prdcoll_id_II))   ;
-		    irpcgasGapII	            =	int(m_rpcIdHelper->gasGap(     prdcoll_id_II))   ;
-		    irpcmeasuresPhiII         =	int(m_rpcIdHelper->measuresPhi(prdcoll_id_II))   ;
-		    irpcstripII	            =	int(m_rpcIdHelper->strip(      prdcoll_id_II))   ; 	 
-		    irpctimeII 	            =	double((*rpcCoinCollectionII)->time())  	 ;					   
+		    int irpcstationPhiII	    =	int(m_rpcIdHelper->stationPhi( prdcoll_id_II))   ; 	
+		    int irpcstationNameII         =	int(m_rpcIdHelper->stationName(prdcoll_id_II))   ;     
+		    int irpcstationEtaII	    =	int(m_rpcIdHelper->stationEta( prdcoll_id_II))   ; 	       
+		    int irpcdoubletRII	    =	int(m_rpcIdHelper->doubletR(   prdcoll_id_II))   ;  
+		    int irpcdoubletZII	    =	int(m_rpcIdHelper->doubletZ(   prdcoll_id_II))   ;
+		    int irpcdoubletPhiII	    =	int(m_rpcIdHelper->doubletPhi( prdcoll_id_II))   ;
+		    int irpcgasGapII	            =	int(m_rpcIdHelper->gasGap(     prdcoll_id_II))   ;
+		    int irpcmeasuresPhiII         =	int(m_rpcIdHelper->measuresPhi(prdcoll_id_II))   ;
+		    int irpcstripII	            =	int(m_rpcIdHelper->strip(      prdcoll_id_II))   ; 	 
 		    //irpctriggerInfoII         =	int((*rpcCoinCollectionII)->triggerInfo() )	 ; // double		 
-		    irpctriggerInfoII	    =   int ( ((*rpcCoinCollection)->isLowPtCoin())*6 + 
+		    int irpctriggerInfoII	    =   int ( ((*rpcCoinCollection)->isLowPtCoin())*6 + 
 					              ((*rpcCoinCollection)->isLowPtInputToHighPtCm())*100 + 
 					              ((*rpcCoinCollection)->isHighPtCoin())*106  );
-		    irpcambiguityFlagII       =	double((*rpcCoinCollectionII)->ambiguityFlag ()) ;
                
              				   
 		    const MuonGM::RpcReadoutElement* descriptor_Atl_II = m_muonMgr->getRpcReadoutElement( prdcoll_id_II );
-		    x_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).x() ;
-		    y_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).y() ;
-		    z_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).z() ;
+		    double z_atl_II = descriptor_Atl_II ->stripPos(prdcoll_id_II ).z() ;
              	   
 		    //get information from geomodel to book and fill rpc histos with the right max strip number
 		    std::vector<int>	rpcstripshiftII = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prdcoll_id, irpctriggerInfo)  ;
-		    NbinII  =  rpcstripshiftII[9];
              	    
 		    if(irpcmeasuresPhi==1&&irpcmeasuresPhiII==0&&irpctriggerInfo==irpctriggerInfoII){
 		      if(irpcstationPhi==irpcstationPhiII&&irpcstationName==irpcstationNameII&&irpcstationEta==irpcstationEtaII&&
@@ -1689,36 +1641,36 @@ StatusCode RpcRawDataValAlg::fillHistograms()
              	   
 			if(m_rpcchamberhist ){   
 			  //if(1 == 0){
-			  histo_flag=true;
-			  for (std::vector<std::string>::const_iterator iter=layerPhivsEta_name_list.begin(); iter!=layerPhivsEta_name_list.end(); iter++){
-			    if ( (hardware_name+layerPhivsEta_name)==*iter){histo_flag=false;}
+			  bool histo_flag=true;
+			  for (std::vector<std::string>::const_iterator iter=m_layerPhivsEta_name_list.begin(); iter!=m_layerPhivsEta_name_list.end(); iter++){
+			    if ( (m_hardware_name+m_layerPhivsEta_name)==*iter){histo_flag=false;}
 			  }
 			  if (histo_flag){ 
-			    layerPhivsEta_name_list.push_back(hardware_name+layerPhivsEta_name); 
-			    bookRPCLayerPhivsEtaHistograms(hardware_name, layerPhivsEta_name, NetaStrips, 0 , NetaStrips, NphiStrips, 0 , NphiStrips);
+			    m_layerPhivsEta_name_list.push_back(m_hardware_name+m_layerPhivsEta_name); 
+			    bookRPCLayerPhivsEtaHistograms(m_hardware_name, m_layerPhivsEta_name, NetaStrips, 0 , NetaStrips, NphiStrips, 0 , NphiStrips);
 			  }
-			  const MuonDQAHistList& hists4 = m_stationHists.getList( hardware_name + "/PhivsEta/" + layerPhivsEta_name);  					   
-			  TH2* rpcstriplayerPhivsEta = hists4.getH2(hardware_name + "_" + layerPhivsEta_name );    
+			  const MuonDQAHistList& hists4 = m_stationHists.getList( m_hardware_name + "/PhivsEta/" + m_layerPhivsEta_name);  					   
+			  TH2* rpcstriplayerPhivsEta = hists4.getH2(m_hardware_name + "_" + m_layerPhivsEta_name );    
 			  if (rpcstriplayerPhivsEta) {rpcstriplayerPhivsEta->Fill( float(irpcstripII + ShiftEtaStrips)  -0.5,  float(irpcstrip + ShiftPhiStrips)  -0.5 );}
 			  else {ATH_MSG_DEBUG (  "rpcstriplayerPhivsEta not in hist list!" );}
 			}//end if on m_rpcchamberhist or ESD		 
              	   
 			//Sector
              	   
-			stripetaatlas  =  ( irpcstripII + ShiftEtaStripsTot )*EtaStripSign ; 	
+			int stripetaatlas  =  ( irpcstripII + ShiftEtaStripsTot )*EtaStripSign ; 	
 			if ( stripetaatlas >0 ) stripetaatlas-- ;
-			stripphisector =   irpcstrip + ShiftPhiStrips		      ;
-			if(m_rpcsectorhist){ 		 
-			  histo_flag=true;
-			  for (std::vector<std::string>::const_iterator iter=layerPhivsEtaSector_name_list.begin(); iter!=layerPhivsEtaSector_name_list.end(); iter++){
-			    if ( (sector_name+layerPhivsEtaSector_name)==*iter){histo_flag=false;}
+			int stripphisector =   irpcstrip + ShiftPhiStrips		      ;
+			if(m_rpcsectorhist){
+			  bool histo_flag=true;
+			  for (std::vector<std::string>::const_iterator iter=m_layerPhivsEtaSector_name_list.begin(); iter!=m_layerPhivsEtaSector_name_list.end(); iter++){
+			    if ( (m_sector_name+m_layerPhivsEtaSector_name)==*iter){histo_flag=false;}
 			  }
 			  if (histo_flag){ 
-			    layerPhivsEtaSector_name_list.push_back(sector_name+layerPhivsEtaSector_name); 
-			    bookRPCLayerPhivsEtaSectorHistograms(sector_name, layerPhivsEtaSector_name, NetaStripsTot, -NetaStripsTotSideC, NetaStripsTotSideA, NphiStrips, 0 , NphiStrips);
+			    m_layerPhivsEtaSector_name_list.push_back(m_sector_name+m_layerPhivsEtaSector_name); 
+			    bookRPCLayerPhivsEtaSectorHistograms(m_sector_name, m_layerPhivsEtaSector_name, NetaStripsTot, -NetaStripsTotSideC, NetaStripsTotSideA, NphiStrips, 0 , NphiStrips);
 			  }		 
-			  const MuonDQAHistList& hists5 = m_stationHists.getList( sector_name + "/PhivsEta/" + layerPhivsEtaSector_name);
-			  TH2* rpcstriplayerPhivsEtaSector = hists5.getH2(layerPhivsEtaSector_name ); 
+			  const MuonDQAHistList& hists5 = m_stationHists.getList( m_sector_name + "/PhivsEta/" + m_layerPhivsEtaSector_name);
+			  TH2* rpcstriplayerPhivsEtaSector = hists5.getH2(m_layerPhivsEtaSector_name ); 
 			  if (rpcstriplayerPhivsEtaSector) {
                
 			    rpcstriplayerPhivsEtaSector->Fill( stripetaatlas, stripphisector-1 );    
@@ -1726,12 +1678,13 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 			  else {ATH_MSG_DEBUG (  "rpcstriplayerPhivsEtaSector not in hist list!" );} 
 			}
 			 
-			stripphiatlas = stripphisector + shiftstripphiatlas ;
+			int stripphiatlas = stripphisector + shiftstripphiatlas ;
                
-			x_atlas = x_atl     ;
-			y_atlas = y_atl     ;
-			z_atlas = z_atl_II  ;
-	
+			double x_atlas = x_atl     ;
+			double y_atlas = y_atl     ;
+			double z_atlas = z_atl_II  ;
+
+                        double phi_atlas = 0;
 			if ( x_atlas > 0 ) { 
 			  phi_atlas = atan ( y_atlas / x_atlas ); 
 			}
@@ -1754,7 +1707,8 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 			    }
              	      
 	        	}
-             	   
+
+                        double eta_atlas = 0;
 			// pseudorapidity
 			if ( z_atlas!=0  ) {
 			  eta_atlas = -log( abs( tan( 0.5 * atan(sqrt(pow(x_atlas,2.)+pow(y_atlas,2.))/ z_atlas )) ));
@@ -1764,63 +1718,63 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 	        	}
 			if ( irpcstationEta<0 ) { eta_atlas = -eta_atlas; }
         
-			if(layeronly_name=="LowPt_TriggerOut"       ){
-			  rpcPhivsEtaAtlasLowPt_TriggerOut	     ->Fill( stripetaatlas , stripphiatlas-1 );
-			  rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )	    ;
+			if(m_layeronly_name=="LowPt_TriggerOut"       ){
+			  m_rpcPhivsEtaAtlasLowPt_TriggerOut	     ->Fill( stripetaatlas , stripphiatlas-1 );
+			  m_rpcPhivsEtaAtlasLowPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )	    ;
 	        	}
-			if(layeronly_name=="HighPt_TriggerFromLowPt") { 
-			  rpcPhivsEtaAtlasHighPt_TriggerFromLowPt	    ->Fill( stripetaatlas , stripphiatlas-1 );
-			  rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ ->Fill( z_atlas, phi_atlas )	   ;
+			if(m_layeronly_name=="HighPt_TriggerFromLowPt") { 
+			  m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt	    ->Fill( stripetaatlas , stripphiatlas-1 );
+			  m_rpcPhivsEtaAtlasHighPt_TriggerFromLowPt_PhivsZ ->Fill( z_atlas, phi_atlas )	   ;
 	        	}
-			if(layeronly_name=="HighPt_TriggerOut"      ) { 
-			  rpcPhivsEtaAtlasHighPt_TriggerOut        ->Fill( stripetaatlas , stripphiatlas-1 );
-			  rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )	     ;
+			if(m_layeronly_name=="HighPt_TriggerOut"      ) { 
+			  m_rpcPhivsEtaAtlasHighPt_TriggerOut        ->Fill( stripetaatlas , stripphiatlas-1 );
+			  m_rpcPhivsEtaAtlasHighPt_TriggerOut_PhivsZ ->Fill( z_atlas, phi_atlas )	     ;
 			}
 	  
 			if ( irpctriggerInfo==6  ) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_LowPt->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_LowPt->Fill( eta_atlas, phi_atlas ); }
 			}
 			if ( irpctriggerInfo==106  ) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_HighPt->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_HighPt->Fill( eta_atlas, phi_atlas ); }
 			}
 			if ( irpctriggerInfo==6 && m_threshold==1) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_Pt1->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_Pt1->Fill( eta_atlas, phi_atlas ); }
 			}
 			if ( irpctriggerInfo==6 && m_threshold==2) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_Pt2->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_Pt2->Fill( eta_atlas, phi_atlas ); }
 			}
 			if ( irpctriggerInfo==6 && m_threshold==3) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_Pt3->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_Pt3->Fill( eta_atlas, phi_atlas ); }
 			}
 			if ( irpctriggerInfo==106 && m_threshold==1) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_Pt4->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_Pt4->Fill( eta_atlas, phi_atlas ); }
 			}
 			if ( irpctriggerInfo==106 && m_threshold==2) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_Pt5->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_Pt5->Fill( eta_atlas, phi_atlas ); }
 			}
 			if ( irpctriggerInfo==106 && m_threshold==3) {
-			  if ( x_atlas!=0 &&  y_atlas!=0 ) { EtavsPhi_TriggeredMuons_Pt6->Fill( eta_atlas, phi_atlas ); }
+			  if ( x_atlas!=0 &&  y_atlas!=0 ) { m_EtavsPhi_TriggeredMuons_Pt6->Fill( eta_atlas, phi_atlas ); }
 			}
 	                         
 		        //Data Quality Plot Alex Tuna
 		        if(irpcstationEta>=0){
 		         if( irpctriggerInfo==6){
-		          rpc2DPanelHits[enum_EtaPhi_LowPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		          rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	 ); 
+		          m_rpc2DPanelHits[enum_EtaPhi_LowPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		          m_rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	 ); 
 		         }
 		         else if( irpctriggerInfo==106){
-		          rpc2DPanelHits[enum_EtaPhi_HighPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		          rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	  );
+		          m_rpc2DPanelHits[enum_EtaPhi_HighPt_BA]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		          m_rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BA]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	  );
 		         }
 		        }
 		        else{
 		         if( irpctriggerInfo==6){
-		           rpc2DPanelHits[enum_EtaPhi_LowPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		           rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	  );
+		           m_rpc2DPanelHits[enum_EtaPhi_LowPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		           m_rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	  );
 		         }
 		         else if( irpctriggerInfo==106){
-		          rpc2DPanelHits[enum_EtaPhi_HighPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
-		          rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	  );
+		          m_rpc2DPanelHits[enum_EtaPhi_HighPt_BC]->Fill(ShiftEtaPanelsTot, Settore + 0.5*(irpcdoubletPhi-1)-1);
+		          m_rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BC]->Fill(lumiblock, float(rpcpanel_dbindex)  + float(irpcdoubletPhi-1)*0.5-1	  );
 		         }
 		        }
 			  
@@ -1840,17 +1794,17 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 			  if(irpcstationPhi==irpcstationPhiII&&irpcstationEta==irpcstationEtaII&&
 			     irpcdoubletR==irpcdoubletRII&&irpcdoubletZ==irpcdoubletZII&&irpcdoubletPhi==irpcdoubletPhiII){
              			 
-			    histo_flag=true;
-			    for (std::vector<std::string>::const_iterator iter=layervslayer_name_list.begin(); iter!=layervslayer_name_list.end(); iter++){
-			      if ( (hardware_name+layervslayer_name)==*iter){histo_flag=false;}
+			    bool histo_flag=true;
+			    for (std::vector<std::string>::const_iterator iter=m_layervslayer_name_list.begin(); iter!=m_layervslayer_name_list.end(); iter++){
+			      if ( (m_hardware_name+m_layervslayer_name)==*iter){histo_flag=false;}
 			    }
 			    if (histo_flag){ 
-			      layervslayer_name_list.push_back(hardware_name+layervslayer_name); 
-			      bookRPCLayervsLayerHistograms(hardware_name, layervslayer_name, layer1_name, layer2_name, Nbin, 0 , Nbin, Nbin, 0, Nbin);
+			      m_layervslayer_name_list.push_back(m_hardware_name+m_layervslayer_name); 
+			      bookRPCLayervsLayerHistograms(m_hardware_name, m_layervslayer_name, m_layer1_name, m_layer2_name, Nbin, 0 , Nbin, Nbin, 0, Nbin);
 			    }  
     
-			    const MuonDQAHistList& hists6 = m_stationHists.getList( hardware_name +"/Layer2vsLayer1/"+layervslayer_name);  
-			    TH2* rpcstriplayervslayer = hists6.getH2(hardware_name + "_" + layervslayer_name );  
+			    const MuonDQAHistList& hists6 = m_stationHists.getList( m_hardware_name +"/Layer2vsLayer1/"+m_layervslayer_name);  
+			    TH2* rpcstriplayervslayer = hists6.getH2(m_hardware_name + "_" + m_layervslayer_name );  
  
 			    if (rpcstriplayervslayer) {rpcstriplayervslayer->Fill( irpcstripII + ShiftStrips , irpcstrip + ShiftStrips );}
 			    else {ATH_MSG_DEBUG (  "rpcstriplayervslayer not in hist list!" );}
@@ -1872,13 +1826,14 @@ StatusCode RpcRawDataValAlg::fillHistograms()
       
       
       if(m_doLumiPlot){
-       rpcTriggerHitsPerEvents_Eta_LowPt  ->  Fill (NTrigger_Eta_LowPt )  ;  
-       rpcTriggerHitsPerEvents_Phi_LowPt  ->  Fill (NTrigger_Phi_LowPt )  ;  
-       rpcTriggerHitsPerEvents_Eta_HighPt ->  Fill (NTrigger_Eta_HighPt)  ;  
-       rpcTriggerHitsPerEvents_Phi_HighPt ->  Fill (NTrigger_Phi_HighPt)  ;
+       m_rpcTriggerHitsPerEvents_Eta_LowPt  ->  Fill (NTrigger_Eta_LowPt )  ;  
+       m_rpcTriggerHitsPerEvents_Phi_LowPt  ->  Fill (NTrigger_Phi_LowPt )  ;  
+       m_rpcTriggerHitsPerEvents_Eta_HighPt ->  Fill (NTrigger_Eta_HighPt)  ;  
+       m_rpcTriggerHitsPerEvents_Phi_HighPt ->  Fill (NTrigger_Phi_HighPt)  ;
       }
       // begin cluster monitoring
       const Muon::RpcPrepDataContainer* rpc_clusterContainer;
+      bool Clus_Retr = false;
       if(m_eventStore->contains<Muon::RpcPrepDataContainer>(m_clusterContainerName)){
 	sc = m_eventStore->retrieve(rpc_clusterContainer, m_clusterContainerName);
 	if ( sc.isSuccess() ) {
@@ -1901,14 +1856,14 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 	  m_nClus=0;
     
   
-	  sc = rpcprd_shift.getHist(rpcclusters,"Number_of_RPC_clusters_per_event");		
-	  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpcclusters hist to MonGroup" );
+	  sc = rpcprd_shift.getHist(m_rpcclusters,"Number_of_RPC_clusters_per_event");		
+	  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpcclusters hist to MonGroup" );
 
-	  sc = rpcprd_expert.getHist(rpcCSEta,"Eta_ClusterSize_Distribution");		
-	  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpcCSEta hist to MonGroup" );
+	  sc = rpcprd_expert.getHist(m_rpcCSEta,"Eta_ClusterSize_Distribution");		
+	  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpcCSEta hist to MonGroup" );
     
-	  sc = rpcprd_expert.getHist(rpcCSPhi,"Phi_ClusterSize_Distribution");		
-	  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register rpcCSPhi hist to MonGroup" );
+	  sc = rpcprd_expert.getHist(m_rpcCSPhi,"Phi_ClusterSize_Distribution");		
+	  if(sc.isFailure() ) ATH_MSG_WARNING (  "couldn't register m_rpcCSPhi hist to MonGroup" );
 
 	  ATH_MSG_DEBUG (  "Filling the RPCRawData Monitoring with clusters informations " );
    
@@ -1933,92 +1888,69 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 	
 		ATH_MSG_DEBUG (  "Adding a new cluster " );
 	     
-		irpc_clus_size     =  ((*rpcCollection)->rdoList()).size();
-		irpc_clus_time     =  (*rpcCollection)->time()            ;
-		irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id)  ;
-		irpc_clus_eta      =  m_rpcIdHelper->stationEta(prd_id)   ;
-		irpc_clus_phi      =  m_rpcIdHelper->stationPhi(prd_id)   ;
-		irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)     ;
-		irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)     ;
-		irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)   ;
-		irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)       ;
-		irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id)  ;
-
-		// get the cluster position
-		const MuonGM::RpcReadoutElement* descriptor = m_muonMgr->getRpcReadoutElement(prd_id);
-	      
-		const Amg::Vector3D stripPosC = descriptor->stripPos(prd_id);
-	      
-		irpc_clus_posx = stripPosC.x() ;
-		irpc_clus_posy = stripPosC.y() ;
-		irpc_clus_posz = stripPosC.z() ;
-	
-	
+		int irpc_clus_size     =  ((*rpcCollection)->rdoList()).size();
+		int irpc_clus_station  =  m_rpcIdHelper->stationName(prd_id)  ;
+		int irpc_clus_eta      =  m_rpcIdHelper->stationEta(prd_id)   ;
+		int irpc_clus_phi      =  m_rpcIdHelper->stationPhi(prd_id)   ;
+		int irpc_clus_doublr   =  m_rpcIdHelper->doubletR(prd_id)     ;
+		int irpc_clus_doublz   =  m_rpcIdHelper->doubletZ(prd_id)     ;
+		int irpc_clus_doublphi =  m_rpcIdHelper->doubletPhi(prd_id)   ;
+		int irpc_clus_gasgap   =  m_rpcIdHelper->gasGap(prd_id)       ;
+		int irpc_clus_measphi  =  m_rpcIdHelper->measuresPhi(prd_id)  ;
+
 		if(irpc_clus_measphi==0){
-		  rpcCSEta->Fill( irpc_clus_size);
+		  m_rpcCSEta->Fill( irpc_clus_size);
 		  if(irpc_clus_eta>=0){
-		    rpcCSEta_BA->Fill( irpc_clus_size);
+		    m_rpcCSEta_BA->Fill( irpc_clus_size);
 		  }
 		  else{
-		    rpcCSEta_BC->Fill( irpc_clus_size);		 
+		    m_rpcCSEta_BC->Fill( irpc_clus_size);		 
 		  }		
 		}
 		else{
-		  rpcCSPhi->Fill( irpc_clus_size);
+		  m_rpcCSPhi->Fill( irpc_clus_size);
 		  if(irpc_clus_eta>=0){
-		    rpcCSPhi_BA->Fill( irpc_clus_size);
+		    m_rpcCSPhi_BA->Fill( irpc_clus_size);
 		  }
 		  else{
-		    rpcCSPhi_BC->Fill( irpc_clus_size);		 
+		    m_rpcCSPhi_BC->Fill( irpc_clus_size);		 
 		  }
 		}
 
 
 		//cluster profiles
-		hardware_name=convertChamberName(irpc_clus_station,irpc_clus_eta,irpc_clus_phi,type) ;
+		m_hardware_name=convertChamberName(irpc_clus_station,irpc_clus_eta,irpc_clus_phi,m_type) ;
 	
   
 		//get information from geomodel to book and fill rpc histos with the right max strip number
 		std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prd_id, 0)  ;
 	    		  
-		NphiStrips  	 =  rpcstripshift[ 0]  ;
-		ShiftPhiStrips	 =  rpcstripshift[ 1]  ;
-		NetaStrips  	 =  rpcstripshift[ 2]  ;
-		ShiftEtaStrips	 =  rpcstripshift[ 3]  ;
-		ShiftStrips 	 =  rpcstripshift[ 4]  ;
-		NetaStripsTot	 =  rpcstripshift[ 5]  ;
-		NetaStripsTotSideA =  rpcstripshift[ 6]  ;
-		NetaStripsTotSideC =  rpcstripshift[ 7]  ;
-		ShiftEtaStripsTot	 =  rpcstripshift[ 8]  ;
-		Nbin		 =  rpcstripshift[ 9]  ;
-		EtaStripSign	 =  rpcstripshift[10]  ;
-		SectorLogic 	 =  rpcstripshift[11]  ;
-		Side		 =  rpcstripshift[12]  ;
-		PanelIndex  	 =  rpcstripshift[13]  ;
-		strip_dbindex      =  rpcstripshift[16]  ;
+		int ShiftStrips 	 =  rpcstripshift[ 4]  ;
+		int ShiftEtaStripsTot	 =  rpcstripshift[ 8]  ;
+		int EtaStripSign	 =  rpcstripshift[10]  ;
  
 		//get name for titles and labels
 		std::vector<std::string>   rpclayersectorsidename = RpcGM::RpcLayerSectorSideName(m_rpcIdHelper,prd_id, 0)  ;
   	       
-		layer_name	       = rpclayersectorsidename[ 0]  ;
-		layertodraw1_name	       = rpclayersectorsidename[ 1]  ;
-		layertodraw2_name	       = rpclayersectorsidename[ 2]  ;
-		layervslayer_name	       = rpclayersectorsidename[ 3]  ;
-		layer0_name 	       = rpclayersectorsidename[ 4]  ;
-		layer1_name 	       = rpclayersectorsidename[ 5]  ;
-		layer2_name 	       = rpclayersectorsidename[ 6]  ;
-		layerPhivsEta_name       = rpclayersectorsidename[ 7]  ;
-		layerPhivsEtaSector_name = rpclayersectorsidename[ 8]  ;
-		sector_name 	       = rpclayersectorsidename[ 9]  ;
-		layeronly_name	       = rpclayersectorsidename[10]  ;
-		layer_name_panel         = rpclayersectorsidename[11]  ;	
-		sector_dphi_layer        = rpclayersectorsidename[12]  ;
+		m_layer_name	       = rpclayersectorsidename[ 0]  ;
+		m_layertodraw1_name	       = rpclayersectorsidename[ 1]  ;
+		m_layertodraw2_name	       = rpclayersectorsidename[ 2]  ;
+		m_layervslayer_name	       = rpclayersectorsidename[ 3]  ;
+		m_layer0_name 	       = rpclayersectorsidename[ 4]  ;
+		m_layer1_name 	       = rpclayersectorsidename[ 5]  ;
+		m_layer2_name 	       = rpclayersectorsidename[ 6]  ;
+		m_layerPhivsEta_name       = rpclayersectorsidename[ 7]  ;
+		m_layerPhivsEtaSector_name = rpclayersectorsidename[ 8]  ;
+		m_sector_name 	       = rpclayersectorsidename[ 9]  ;
+		m_layeronly_name	       = rpclayersectorsidename[10]  ;
+		m_layer_name_panel         = rpclayersectorsidename[11]  ;	
+		m_sector_dphi_layer        = rpclayersectorsidename[12]  ;
 	      
 	      
-		av_strip = 0 ;
+		float av_strip = 0 ;
 		for(int i=0; i!=irpc_clus_size ; i++){
 		  Identifier id = ((*rpcCollection)->rdoList())[i] ;
-		  strip = int(m_rpcIdHelper->strip(id))            ;
+		  int strip = int(m_rpcIdHelper->strip(id))            ;
 		  strip +=  ShiftStrips                            ;
 		  av_strip += float(strip)                         ;
 		}
@@ -2026,19 +1958,19 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		
 		if(m_rpcchamberhist ){
 
-		  const MuonDQAHistList& hists_ly1 = m_stationHists.getList( hardware_name + "/Profiles/" + layer_name);       	  	  	  	  	
-		  TH2* rpcclustersizelayer    = hists_ly1.getH2( hardware_name + "_" + layer_name + "_clustersize"   );      	  	  	  	  	
-		  TH1* rpcclusterlayer        = hists_ly1.getH1( hardware_name + "_" + layer_name + "_cluster"       );		
+		  const MuonDQAHistList& hists_ly1 = m_stationHists.getList( m_hardware_name + "/Profiles/" + m_layer_name);       	  	  	  	  	
+		  TH2* rpcclustersizelayer    = hists_ly1.getH2( m_hardware_name + "_" + m_layer_name + "_clustersize"   );      	  	  	  	  	
+		  TH1* rpcclusterlayer        = hists_ly1.getH1( m_hardware_name + "_" + m_layer_name + "_cluster"       );		
 	 
-		  const MuonDQAHistList& hists_ly2 = m_stationHists.getList( hardware_name + "/Panels/" + layer_name_panel)  ;
-		  TH1* rpcclustersizedislayer = hists_ly2.getH1( hardware_name + "_" + layer_name_panel + "_CSdistribution") ;
+		  const MuonDQAHistList& hists_ly2 = m_stationHists.getList( m_hardware_name + "/Panels/" + m_layer_name_panel)  ;
+		  TH1* rpcclustersizedislayer = hists_ly2.getH1( m_hardware_name + "_" + m_layer_name_panel + "_CSdistribution") ;
 		  
-		  avstrip = 0 ;		
+		  float avstrip = 0 ;		
 		  if (rpcclustersizelayer) {
 		    rpcclustersizedislayer->Fill(irpc_clus_size);
 		    for(int i=0; i!=irpc_clus_size ; i++){
 		      Identifier id = ((*rpcCollection)->rdoList())[i]   ;
-		      strip = int(m_rpcIdHelper->strip(id))              ;
+		      int strip = int(m_rpcIdHelper->strip(id))              ;
 		      strip +=  ShiftStrips                              ;
 		      if(rpcclustersizelayer)rpcclustersizelayer->Fill( strip,  irpc_clus_size );
 		      avstrip += float(strip);
@@ -2068,16 +2000,15 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 	   	    
 		    Identifier prd_idII = (*rpcCollectionII)->identify();
 	     
-		    irpc_clus_sizeII     = ((*rpcCollectionII)->rdoList()).size();
-		    irpc_clus_timeII     =  (*rpcCollectionII)->time()           ;
-		    irpc_clus_stationII  =  m_rpcIdHelper->stationName(prd_idII) ;
-		    irpc_clus_etaII      =  m_rpcIdHelper->stationEta(prd_idII)  ;
-		    irpc_clus_phiII      =  m_rpcIdHelper->stationPhi(prd_idII)  ;
-		    irpc_clus_doublrII   =  m_rpcIdHelper->doubletR(prd_idII)    ;
-		    irpc_clus_doublzII   =  m_rpcIdHelper->doubletZ(prd_idII)    ;
-		    irpc_clus_doublphiII =  m_rpcIdHelper->doubletPhi(prd_idII)  ;
-		    irpc_clus_gasgapII   =  m_rpcIdHelper->gasGap(prd_idII)      ; 
-		    irpc_clus_measphiII  =  m_rpcIdHelper->measuresPhi(prd_idII) ;
+		    int irpc_clus_sizeII     = ((*rpcCollectionII)->rdoList()).size();
+		    int irpc_clus_stationII  =  m_rpcIdHelper->stationName(prd_idII) ;
+		    int irpc_clus_etaII      =  m_rpcIdHelper->stationEta(prd_idII)  ;
+		    int irpc_clus_phiII      =  m_rpcIdHelper->stationPhi(prd_idII)  ;
+		    int irpc_clus_doublrII   =  m_rpcIdHelper->doubletR(prd_idII)    ;
+		    int irpc_clus_doublzII   =  m_rpcIdHelper->doubletZ(prd_idII)    ;
+		    int irpc_clus_doublphiII =  m_rpcIdHelper->doubletPhi(prd_idII)  ;
+		    int irpc_clus_gasgapII   =  m_rpcIdHelper->gasGap(prd_idII)      ; 
+		    int irpc_clus_measphiII  =  m_rpcIdHelper->measuresPhi(prd_idII) ;
 	   
 		    if(irpc_clus_measphi  == irpc_clus_measphiII )continue;
 		    if(irpc_clus_station  != irpc_clus_stationII )continue;
@@ -2089,8 +2020,8 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		    if(irpc_clus_gasgap   != irpc_clus_gasgapII  )continue;
 	   
 		    //evaluate average strip
-		    avstripeta = 0       ;
-		    avstripphi = av_strip ; 
+		    float avstripeta = 0       ;
+		    float avstripphi = av_strip ; 
 		    ShiftEtaStripsTot = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prd_idII, 0)[8]  ;  // angelo 07 oct 2009
 		    EtaStripSign      = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, prd_idII, 0)[10] ;  // angelo 07 oct 2009
 
@@ -2102,56 +2033,11 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 		    avstripeta += float(ShiftEtaStripsTot)       ;
 		    avstripeta  = avstripeta*float(EtaStripSign) ;
 	   
-		    // get the cluster position
-		    const MuonGM::RpcReadoutElement* descriptorII = 
-		      m_muonMgr->getRpcReadoutElement(prd_idII);
-	
-		    const Amg::Vector3D stripPosCII = descriptorII->stripPos(prd_idII);
-	          
-		    irpc_clus_posxII = stripPosCII.x() ;
-		    irpc_clus_posyII = stripPosCII.y() ;
-		    irpc_clus_poszII = stripPosCII.z() ;
-	   
-		    const MuonDQAHistList& hists8 = m_stationHists.getList( sector_name + "/PhivsEta/" + layerPhivsEtaSector_name);       	  	  	  	  	
-		    TH2* rpcclusterlayerPhivsEtaSector = hists8.getH2( layerPhivsEtaSector_name + "_cluster" ); 
+		    const MuonDQAHistList& hists8 = m_stationHists.getList( m_sector_name + "/PhivsEta/" + m_layerPhivsEtaSector_name);       	  	  	  	  	
+		    TH2* rpcclusterlayerPhivsEtaSector = hists8.getH2( m_layerPhivsEtaSector_name + "_cluster" ); 
 	   
 		    if (rpcclusterlayerPhivsEtaSector) {
 		      rpcclusterlayerPhivsEtaSector->Fill( avstripeta , avstripphi );
-		      layertype = 0 ;
-		      if(layeronly_name=="Pivot0"	){
-			layertype = 3 ;
-			//rpcPhivsEtaAtlasPivot0->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      }
-		      if(layeronly_name=="Pivot1"	){
-			layertype = 4 ;
-			//rpcPhivsEtaAtlasPivot1->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      }
-		      if(layeronly_name=="LowPt0"	){
-			layertype = 1 ;
-			//rpcPhivsEtaAtlasLowPt0->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      }
-		      if(layeronly_name=="LowPt1"	){
-			layertype = 2 ;
-			//rpcPhivsEtaAtlasLowPt1->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      }
-		      if(layeronly_name=="HighPt0"  ){
-			layertype = 5 ;
-			//rpcPhivsEtaAtlasHighPt0->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      }
-		      if(layeronly_name=="HighPt1"  ){
-			layertype = 6 ;
-			//rpcPhivsEtaAtlasHighPt1->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      }	   
-		      //if(layeronly_name=="Pivot0"                 )rpcPhivsEtaAtlasPivot0                 ->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      //if(layeronly_name=="Pivot1"                 )rpcPhivsEtaAtlasPivot1                 ->Fill( avstripeta , avstripphi + shiftphiatlas );    
-		      //if(layeronly_name=="LowPt0"                 )rpcPhivsEtaAtlasLowPt0                 ->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      //if(layeronly_name=="LowPt1"                 )rpcPhivsEtaAtlasLowPt1                 ->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      //if(layeronly_name=="HighPt0"                )rpcPhivsEtaAtlasHighPt0                ->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      //if(layeronly_name=="HighPt1"                )rpcPhivsEtaAtlasHighPt1                ->Fill( avstripeta , avstripphi + shiftphiatlas );	    
-		      //if(layeronly_name=="LowPt_TriggerOut"       )rpcPhivsEtaAtlasLowPt_TriggerOut       ->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      //if(layeronly_name=="HighPt_TriggerFromLowPt")rpcPhivsEtaAtlasHighPt_TriggerFromLowPt->Fill( avstripeta , avstripphi + shiftphiatlas );
-		      //if(layeronly_name=="HighPt_TriggerOut"      )rpcPhivsEtaAtlasHighPt_TriggerOut      ->Fill( avstripeta , avstripphi + shiftphiatlas );
-	     
 		    }
 		    else {ATH_MSG_DEBUG (  "rpcclusterlayerPhivsEtaSector not in hist list!" );}
  		
@@ -2165,7 +2051,7 @@ StatusCode RpcRawDataValAlg::fillHistograms()
 	    }//end if size
 	  }//end clusters container
   
-	  rpcclusters->Fill( m_nClus  );
+	  m_rpcclusters->Fill( m_nClus  );
       
 	} // END IF (m_doClusters)  
 
@@ -2188,23 +2074,23 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
   StatusCode sc = StatusCode::SUCCESS; 
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {       
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_shift( this, m_generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED );
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED )     ;
-      MonGroup rpc_dqmf_global( this, m_generic_path_rpcmonitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )    ;
-      MonGroup rpcprd_dq_BA( this, m_generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED  )       ;
-      MonGroup rpcprd_dq_BC( this, m_generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )        ;
-      MonGroup rpcprd_dq_Panel( this, m_generic_path_rpcmonitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )    ;
-      MonGroup rpcprd_dq_BA_Panel( this, m_generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED )    ;
-      MonGroup rpcprd_dq_BC_Panel( this, m_generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )    ;
-      MonGroup rpcprd_dq_BA_TrigTower( this, m_generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED )    ;
-      MonGroup rpcprd_dq_BC_TrigTower( this, m_generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )    ;
-      MonGroup rpcTrigRoad ( this, m_generic_path_rpcmonitoring + "/TriggerRoad", run, ATTRIB_UNMANAGED )  ;
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_shift( this, generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED );
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Overview", run, ATTRIB_UNMANAGED )     ;
+      MonGroup rpc_dqmf_global( this, generic_path_rpcmonitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )    ;
+      MonGroup rpcprd_dq_BA( this, generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED  )       ;
+      MonGroup rpcprd_dq_BC( this, generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )        ;
+      MonGroup rpcprd_dq_Panel( this, generic_path_rpcmonitoring + "/GLOBAL", run, ATTRIB_UNMANAGED )    ;
+      MonGroup rpcprd_dq_BA_Panel( this, generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED )    ;
+      MonGroup rpcprd_dq_BC_Panel( this, generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )    ;
+      MonGroup rpcprd_dq_BA_TrigTower( this, generic_path_rpcmonitoring + "/RPCBA", run, ATTRIB_UNMANAGED )    ;
+      MonGroup rpcprd_dq_BC_TrigTower( this, generic_path_rpcmonitoring + "/RPCBC", run, ATTRIB_UNMANAGED )    ;
+      MonGroup rpcTrigRoad ( this, generic_path_rpcmonitoring + "/TriggerRoad", run, ATTRIB_UNMANAGED )  ;
     
       if(newEventsBlock){}
       if(newLumiBlock && m_doLumiPlot){
 	
-	MonGroup rpcTrig_lumi_block ( this, m_generic_path_rpcmonitoring + "/lumiblock", lumiBlock, ATTRIB_UNMANAGED )  ;
+	MonGroup rpcTrig_lumi_block ( this, generic_path_rpcmonitoring + "/lumiblock", lumiBlock, ATTRIB_UNMANAGED )  ;
  	
 	// Relative Luminosity with Trigger hits   
 	TH1 *rpcTriggerHitsPerEvents_Eta_LowPt = new TH1I("rpcTriggerHitsPerEvents_Eta_LowPt","rpcTriggerHitsPerEvents_Eta_LowPt", 20, 0, 20);
@@ -2238,11 +2124,11 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  ATH_MSG_INFO (  "RPC RawData Monitoring : begin of run" );
 	  	  
 	  
-	  std::string m_generic_path_rpcevents = m_generic_path_rpcmonitoring+"/Overview";
-	  std::string m_rpcevents_title = "Number_of_RPC_hits_per_event";
-	  const char* m_rpcevents_title_char = m_rpcevents_title.c_str();  
+	  std::string generic_path_rpcevents = generic_path_rpcmonitoring+"/Overview";
+	  std::string rpcevents_title = "Number_of_RPC_hits_per_event";
+	  const char* rpcevents_title_char = rpcevents_title.c_str();  
 
-	  TH1 *rpcevents=new TH1I(m_rpcevents_title_char,m_rpcevents_title_char,300,-0.5,299.5);	    
+	  TH1 *rpcevents=new TH1I(rpcevents_title_char,rpcevents_title_char,300,-0.5,299.5);	    
 	  sc=rpcprd_shift.regHist(rpcevents) ;  
 	  if(sc.isFailure())
 	    { ATH_MSG_FATAL(  "rpcevents Failed to register histogram " );       
@@ -2252,18 +2138,18 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  rpcevents->GetXaxis()->SetTitle("[counts]");
 	  rpcevents->GetYaxis()->SetTitle("Number of Hits/Events"); 
 	
-	  ATH_MSG_DEBUG (  "INSIDE bookHistograms : " << rpcevents << m_generic_path_rpcevents.c_str() );
+	  ATH_MSG_DEBUG (  "INSIDE bookHistograms : " << rpcevents << generic_path_rpcevents.c_str() );
 	  //ATH_MSG_DEBUG (  "SHIFT : " << shift );
 	  ATH_MSG_DEBUG (  "RUN : " << run );
 	  ATH_MSG_DEBUG (  "Booked bookrpcevents successfully" );       
 	
 	
 	
-	  std::string m_generic_path_rpcclusters = m_generic_path_rpcmonitoring+"/Overview";
-	  std:: string m_rpcclusters_title = "Number_of_RPC_clusters_per_event";
-	  const char* m_rpcclusters_title_char = m_rpcclusters_title.c_str();  
+	  std::string generic_path_rpcclusters = generic_path_rpcmonitoring+"/Overview";
+	  std:: string rpcclusters_title = "Number_of_RPC_clusters_per_event";
+	  const char* rpcclusters_title_char = rpcclusters_title.c_str();  
 	
-	  TH1 *rpcclusters=new TH1I(m_rpcclusters_title_char,m_rpcclusters_title_char,300,-0.5,299.5);	  
+	  TH1 *rpcclusters=new TH1I(rpcclusters_title_char,rpcclusters_title_char,300,-0.5,299.5);	  
 	  sc=rpcprd_shift.regHist(rpcclusters) ;  
 	  if(sc.isFailure())
 	    { ATH_MSG_FATAL(  "rpcclusters Failed to register histogram " );       
@@ -2273,15 +2159,15 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  rpcclusters->GetXaxis()->SetTitle("[counts]");
 	  rpcclusters->GetYaxis()->SetTitle("Number of Clusters/Events"); 
 	 
-	  ATH_MSG_DEBUG (  "INSIDE bookHistograms : " << rpcclusters << m_generic_path_rpcclusters.c_str() );
+	  ATH_MSG_DEBUG (  "INSIDE bookHistograms : " << rpcclusters << generic_path_rpcclusters.c_str() );
 	 // ATH_MSG_DEBUG (  "SHIFT : " << shift );
 	  ATH_MSG_DEBUG (  "RUN : " << run );
 	  ATH_MSG_DEBUG (  "Booked bookrpcclusters successfully" );      
 
 	  //Eta time
-	  std::string m_generic_path_rpcEtaTime = m_generic_path_rpcmonitoring+"/Overview";
-	  const char* m_rpcEtaTime_title_char = "Eta_Time_Distribution";
-	  TH1 *rpcEtaTime=new TH1I(m_rpcEtaTime_title_char,m_rpcEtaTime_title_char, timeNbin, timeminrange, timemaxrange);  	       
+	  std::string generic_path_rpcEtaTime = generic_path_rpcmonitoring+"/Overview";
+	  const char* rpcEtaTime_title_char = "Eta_Time_Distribution";
+	  TH1 *rpcEtaTime=new TH1I(rpcEtaTime_title_char,rpcEtaTime_title_char, timeNbin, timeminrange, timemaxrange);  	       
 	  sc=rpcprd_expert.regHist(rpcEtaTime) ;  
 	  if(sc.isFailure())
 	    { ATH_MSG_FATAL(  "rpc_EtaTime Failed to register histogram " );       
@@ -2292,9 +2178,9 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  rpcEtaTime->GetYaxis()->SetTitle("Counts/(3.125ns)");
      
 	  //Phi time
-	  std::string m_generic_path_rpcPhiTime = m_generic_path_rpcmonitoring+"/Overview";
-	  const char* m_rpcPhiTime_title_char = "Phi_Time_Distribution";
-	  TH1 *rpcPhiTime=new TH1I(m_rpcPhiTime_title_char,m_rpcPhiTime_title_char,timeNbin, timeminrange, timemaxrange);
+	  std::string generic_path_rpcPhiTime = generic_path_rpcmonitoring+"/Overview";
+	  const char* rpcPhiTime_title_char = "Phi_Time_Distribution";
+	  TH1 *rpcPhiTime=new TH1I(rpcPhiTime_title_char,rpcPhiTime_title_char,timeNbin, timeminrange, timemaxrange);
 	  sc=rpcprd_expert.regHist(rpcPhiTime) ;  
 	  if(sc.isFailure())
 	    { ATH_MSG_FATAL(  "rpc_PhiTime Failed to register histogram " );       
@@ -2306,9 +2192,9 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
      
      
 	  //CS Eta
-	  std::string m_generic_path_rpcCSEta = m_generic_path_rpcmonitoring+"/Overview";
-	  const char* m_rpcCSEta_title_char = "Eta_ClusterSize_Distribution";
-	  TH1 *rpcCSEta=new TH1I(m_rpcCSEta_title_char,m_rpcCSEta_title_char,32, -0.5, 31.5);
+	  std::string generic_path_rpcCSEta = generic_path_rpcmonitoring+"/Overview";
+	  const char* rpcCSEta_title_char = "Eta_ClusterSize_Distribution";
+	  TH1 *rpcCSEta=new TH1I(rpcCSEta_title_char,rpcCSEta_title_char,32, -0.5, 31.5);
 	  sc=rpcprd_expert.regHist(rpcCSEta) ;  
 	  if(sc.isFailure())
 	    { ATH_MSG_FATAL(  "rpcCSEta Failed to register histogram " );	    
@@ -2320,9 +2206,9 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
      
      
 	  //CS Phi
-	  std::string m_generic_path_rpcCSPhi = m_generic_path_rpcmonitoring+"/Overview";
-	  const char* m_rpcCSPhi_title_char = "Phi_ClusterSize_Distribution";
-	  TH1 *rpcCSPhi=new TH1I(m_rpcCSPhi_title_char,m_rpcCSPhi_title_char, 32, -0.5, 31.5);
+	  std::string generic_path_rpcCSPhi = generic_path_rpcmonitoring+"/Overview";
+	  const char* rpcCSPhi_title_char = "Phi_ClusterSize_Distribution";
+	  TH1 *rpcCSPhi=new TH1I(rpcCSPhi_title_char,rpcCSPhi_title_char, 32, -0.5, 31.5);
 	  sc=rpcprd_expert.regHist(rpcCSPhi) ;  
 	  if(sc.isFailure())
 	    { ATH_MSG_FATAL(  "rpcCSPhi Failed to register histogram " );	    
@@ -2372,1214 +2258,1214 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  rpc2DEtaStationTriggerHits->GetYaxis()->SetTitleOffset(2);
           
 	  // station trigger hits SIDE A LowPt  ( includes stationEta 0 )
-	  rpc2DEtaStationTriggerHits_Side_Pt.push_back( new TH2I("rpc2DEtaStationTriggerHits_BA_LowPt","rpc2DEtaStationTriggerHits_BA_LowPt", 8, 0, 8,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA.regHist(rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("") ;	  
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.push_back( new TH2I("rpc2DEtaStationTriggerHits_BA_LowPt","rpc2DEtaStationTriggerHits_BA_LowPt", 8, 0, 8,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("") ;	  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 
 	  // station trigger hits SIDE C LowPt
-	  rpc2DEtaStationTriggerHits_Side_Pt.push_back( new TH2I("rpc2DEtaStationTriggerHits_BC_LowPt","rpc2DEtaStationTriggerHits_BC_LowPt", 7, -7, 0,  16*2, 0, 16) ); 
-	  sc=rpcprd_dq_BC.regHist(rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("");  
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.push_back( new TH2I("rpc2DEtaStationTriggerHits_BC_LowPt","rpc2DEtaStationTriggerHits_BC_LowPt", 7, -7, 0,  16*2, 0, 16) ); 
+	  sc=rpcprd_dq_BC.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("");  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
    
 	  // station trigger hits SIDE A HighPt  ( includes stationEta 0 )
-	  rpc2DEtaStationTriggerHits_Side_Pt.push_back( new  TH2I("rpc2DEtaStationTriggerHits_BA_HighPt","rpc2DEtaStationTriggerHits_BA_HighPt", 8, 0, 8,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA.regHist(rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("") ;	  
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.push_back( new  TH2I("rpc2DEtaStationTriggerHits_BA_HighPt","rpc2DEtaStationTriggerHits_BA_HighPt", 8, 0, 8,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("") ;	  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
      
 	  // station trigger hits SIDE C HighPt
-	  rpc2DEtaStationTriggerHits_Side_Pt.push_back( new TH2I("rpc2DEtaStationTriggerHits_BC_HighPt","rpc2DEtaStationTriggerHits_BC_HighPt", 7, -7, 0,  16*2, 0, 16) ); 
-	  sc=rpcprd_dq_BC.regHist(rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("");  
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.push_back( new TH2I("rpc2DEtaStationTriggerHits_BC_HighPt","rpc2DEtaStationTriggerHits_BC_HighPt", 7, -7, 0,  16*2, 0, 16) ); 
+	  sc=rpcprd_dq_BC.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetTitle("");  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
        
            
 	  // station trigger hits SIDE A LowPt  ( includes stationEta 0 )
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new TH2F("rpc2DEtaStationTriggerHits_BA_LowPt_norm","rpc2DEtaStationTriggerHits_BA_LowPt_norm", 8, 0, 8,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA.regHist(rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("") ;	  
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new TH2F("rpc2DEtaStationTriggerHits_BA_LowPt_norm","rpc2DEtaStationTriggerHits_BA_LowPt_norm", 8, 0, 8,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("") ;	  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	  // station trigger hits SIDE C LowPt
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new TH2F("rpc2DEtaStationTriggerHits_BC_LowPt_norm","rpc2DEtaStationTriggerHits_BC_LowPt_norm", 7, -7, 0,  16*2, 0, 16) ); 
-	  sc=rpcprd_dq_BC.regHist(rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("");	  
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new TH2F("rpc2DEtaStationTriggerHits_BC_LowPt_norm","rpc2DEtaStationTriggerHits_BC_LowPt_norm", 7, -7, 0,  16*2, 0, 16) ); 
+	  sc=rpcprd_dq_BC.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("");	  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
    
 	  // station trigger hits SIDE A HighPt  ( includes stationEta 0 )
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new  TH2F("rpc2DEtaStationTriggerHits_BA_HighPt_norm","rpc2DEtaStationTriggerHits_BA_HighPt_norm", 8, 0, 8,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA.regHist(rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("") ;	  
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new  TH2F("rpc2DEtaStationTriggerHits_BA_HighPt_norm","rpc2DEtaStationTriggerHits_BA_HighPt_norm", 8, 0, 8,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- IP      Rpc Eta Station       EC A --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("") ;	  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
      
 	  // station trigger hits SIDE C HighPt
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new TH2F("rpc2DEtaStationTriggerHits_BC_HighPt_norm","rpc2DEtaStationTriggerHits_BC_HighPt_norm", 7, -7, 0,  16*2, 0, 16) ); 
-	  sc=rpcprd_dq_BC.regHist(rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("");	  
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.push_back( new TH2F("rpc2DEtaStationTriggerHits_BC_HighPt_norm","rpc2DEtaStationTriggerHits_BC_HighPt_norm", 7, -7, 0,  16*2, 0, 16) ); 
+	  sc=rpcprd_dq_BC.regHist(m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()) ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetOption("COLZ") ;    
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->SetMarkerSize(0.2);
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetXaxis()->SetTitle("<--- EC C      Rpc Eta Station       IP --->");
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetTitle("");	  
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DEtaStationTriggerHits_Side_Pt_norm.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
         
 	  //DQ from Mauro
 	 
 	  // 2D panels Phi trigger hits LowPt 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_LowPt","rpc2DPhiPanelTriggerHits_LowPt", 26, -13, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Phi Panel       Side A --->");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_LowPt","rpc2DPhiPanelTriggerHits_LowPt", 26, -13, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Phi Panel       Side A --->");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels Phi trigger hits HighPt 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_HighPt","rpc2DPhiPanelTriggerHits_HighPt", 26, -13, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Phi Panel       Side A --->");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_HighPt","rpc2DPhiPanelTriggerHits_HighPt", 26, -13, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Phi Panel       Side A --->");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels Eta trigger hits LowPt 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_LowPt","rpc2DEtaPanelTriggerHits_LowPt", 26, -13, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Eta Panel       Side A --->");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_LowPt","rpc2DEtaPanelTriggerHits_LowPt", 26, -13, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Eta Panel       Side A --->");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels Eta trigger hits HighPt 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_HighPt","rpc2DEtaPanelTriggerHits_HighPt", 26, -13, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Eta Panel       Side A --->");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_HighPt","rpc2DEtaPanelTriggerHits_HighPt", 26, -13, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("<--- Side C      Rpc Eta Panel       Side A --->");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	  // 2D panels Phi trigger hits LowPt_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_LowPt_BA","rpc2DPhiPanelTriggerHits_LowPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel  Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_LowPt_BA","rpc2DPhiPanelTriggerHits_LowPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel  Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels Phi trigger hits HighPt_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_HighPt_BA","rpc2DPhiPanelTriggerHits_HighPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_HighPt_BA","rpc2DPhiPanelTriggerHits_HighPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels Eta trigger hits LowPt_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_LowPt_BA","rpc2DEtaPanelTriggerHits_LowPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_LowPt_BA","rpc2DEtaPanelTriggerHits_LowPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels Eta trigger hits HighPt_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_HighPt_BA","rpc2DEtaPanelTriggerHits_HighPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_HighPt_BA","rpc2DEtaPanelTriggerHits_HighPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
           
 	  // 2D panels Phi trigger hits LowPt_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_LowPt_BC","rpc2DPhiPanelTriggerHits_LowPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_LowPt_BC","rpc2DPhiPanelTriggerHits_LowPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 	
 	  // 2D panels Phi trigger hits HighPt_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_HighPt_BC","rpc2DPhiPanelTriggerHits_HighPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelTriggerHits_HighPt_BC","rpc2DPhiPanelTriggerHits_HighPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 	
 	  // 2D panels Eta trigger hits LowPt_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_LowPt_BC","rpc2DEtaPanelTriggerHits_LowPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_LowPt_BC","rpc2DEtaPanelTriggerHits_LowPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 	
 	  // 2D panels Eta trigger hits HighPt_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_HighPt_BC","rpc2DEtaPanelTriggerHits_HighPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelTriggerHits_HighPt_BC","rpc2DEtaPanelTriggerHits_HighPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
           
           //eta-phi trigger
 	  // 2D panels PhiEndEta trigger hits LowPt_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_LowPt_BA","rpc2DPhiEndEtaPanelTriggerHits_LowPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_LowPt_BA","rpc2DPhiEndEtaPanelTriggerHits_LowPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels PhiEndEta trigger hits HighPt_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_HighPt_BA","rpc2DPhiEndEtaPanelTriggerHits_HighPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&End Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_HighPt_BA","rpc2DPhiEndEtaPanelTriggerHits_HighPt_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&End Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels PhiEndEta trigger hits LowPt_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_LowPt_BC","rpc2DPhiEndEtaPanelTriggerHits_LowPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_LowPt_BC","rpc2DPhiEndEtaPanelTriggerHits_LowPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels PhiEndEta trigger hits HighPt_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_HighPt_BC","rpc2DPhiEndEtaPanelTriggerHits_HighPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiEndEtaPanelTriggerHits_HighPt_BC","rpc2DPhiEndEtaPanelTriggerHits_HighPt_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi&Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 	  
 	  ////// End Trigger Plots
 	
 	  // 2D panels Phi  hits LowPt0_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt0_BA","rpc2DPhiPanelHits_LowPt0_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt0_BA","rpc2DPhiPanelHits_LowPt0_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 		
 	  // 2D panels Phi  hits LowPt1_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt1_BA","rpc2DPhiPanelHits_LowPt1_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt1_BA","rpc2DPhiPanelHits_LowPt1_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 	
 	  // 2D panels Eta  hits LowPt0_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt0_BA","rpc2DEtaPanelHits_LowPt0_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt0_BA","rpc2DEtaPanelHits_LowPt0_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 		
 	  // 2D panels Eta  hits LowPt1_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt1_BA","rpc2DEtaPanelHits_LowPt1_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt1_BA","rpc2DEtaPanelHits_LowPt1_BA", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 
 	  // 2D panels Phi  hits Pivot0_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot0_BA","rpc2DPhiPanelHits_Pivot0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot0_BA","rpc2DPhiPanelHits_Pivot0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 		
 	  // 2D panels Phi  hits Pivot1_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot1_BA","rpc2DPhiPanelHits_Pivot1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot1_BA","rpc2DPhiPanelHits_Pivot1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 
 	  // 2D panels Eta  hits Pivot0_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot0_BA","rpc2DEtaPanelHits_Pivot0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot0_BA","rpc2DEtaPanelHits_Pivot0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 		
 	  // 2D panels Eta  hits Pivot1_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot1_BA","rpc2DEtaPanelHits_Pivot1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot1_BA","rpc2DEtaPanelHits_Pivot1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 			
 	  // 2D panels Phi  hits HighPt0_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt0_BA","rpc2DPhiPanelHits_HighPt0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt0_BA","rpc2DPhiPanelHits_HighPt0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 		
 	  // 2D panels Phi  hits HighPt1_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt1_BA","rpc2DPhiPanelHits_HighPt1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt1_BA","rpc2DPhiPanelHits_HighPt1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 	
 			
 	  // 2D panels Eta  hits HighPt0_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt0_BA","rpc2DEtaPanelHits_HighPt0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt0_BA","rpc2DEtaPanelHits_HighPt0_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 		
 	  // 2D panels Eta  hits HighPt1_BA 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt1_BA","rpc2DEtaPanelHits_HighPt1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt1_BA","rpc2DEtaPanelHits_HighPt1_BA", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side A");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"A01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"A02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"A03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"A04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"A05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"A06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"A07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"A08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"A09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"A10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"A11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"A12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"A13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"A14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"A15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"A16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"A01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"A02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"A03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"A04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"A05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"A06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"A07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"A08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"A09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"A10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"A11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"A12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"A13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"A14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"A15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"A16 HVside") ;
 
 
 	  // 2D panels Phi  hits LowPt0_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt0_BC","rpc2DPhiPanelHits_LowPt0_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt0_BC","rpc2DPhiPanelHits_LowPt0_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 		
 	  // 2D panels Phi  hits LowPt1_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt1_BC","rpc2DPhiPanelHits_LowPt1_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_LowPt1_BC","rpc2DPhiPanelHits_LowPt1_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 	
 	  // 2D panels Eta  hits LowPt0_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt0_BC","rpc2DEtaPanelHits_LowPt0_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt0_BC","rpc2DEtaPanelHits_LowPt0_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 		
 	  // 2D panels Eta  hits LowPt1_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt1_BC","rpc2DEtaPanelHits_LowPt1_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_LowPt1_BC","rpc2DEtaPanelHits_LowPt1_BC", 12, 0, 12,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 
 	  // 2D panels Phi  hits Pivot0_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot0_BC","rpc2DPhiPanelHits_Pivot0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot0_BC","rpc2DPhiPanelHits_Pivot0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 		
 	  // 2D panels Phi  hits Pivot1_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot1_BC","rpc2DPhiPanelHits_Pivot1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_Pivot1_BC","rpc2DPhiPanelHits_Pivot1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 
 	  // 2D panels Eta  hits Pivot0_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot0_BC","rpc2DEtaPanelHits_Pivot0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot0_BC","rpc2DEtaPanelHits_Pivot0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 		
 	  // 2D panels Eta  hits Pivot1_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot1_BC","rpc2DEtaPanelHits_Pivot1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_Pivot1_BC","rpc2DEtaPanelHits_Pivot1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 			
 	  // 2D panels Phi  hits HighPt0_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt0_BC","rpc2DPhiPanelHits_HighPt0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt0_BC","rpc2DPhiPanelHits_HighPt0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 		
 	  // 2D panels Phi  hits HighPt1_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt1_BC","rpc2DPhiPanelHits_HighPt1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DPhiPanelHits_HighPt1_BC","rpc2DPhiPanelHits_HighPt1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Phi Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 	
 			
 	  // 2D panels Eta  hits HighPt0_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt0_BC","rpc2DEtaPanelHits_HighPt0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt0_BC","rpc2DEtaPanelHits_HighPt0_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
 		
 	  // 2D panels Eta  hits HighPt1_BC 
-	  rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt1_BC","rpc2DEtaPanelHits_HighPt1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc2DPanelHits.back()) ; 
-	  rpc2DPanelHits.back()->SetOption("COLZ") ;    
-	  rpc2DPanelHits.back()->SetMarkerSize(0.2);
-	  rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
-	  rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
-	  rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
+	  m_rpc2DPanelHits.push_back( new TH2I("rpc2DEtaPanelHits_HighPt1_BC","rpc2DEtaPanelHits_HighPt1_BC", 13, 0, 13,  16*2, 0, 16 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc2DPanelHits.back()) ; 
+	  m_rpc2DPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc2DPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc2DPanelHits.back()->GetXaxis()->SetTitle("Rpc Eta Panel Side C");
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1-1,"C01 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2-1,"C02 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3-1,"C03 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4-1,"C04 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5-1,"C05 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6-1,"C06 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7-1,"C07 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8-1,"C08 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9-1,"C09 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10-1,"C10 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11-1,"C11 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12-1,"C12 ROside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13-1,"C13 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14-1,"C14 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15-1,"C15 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16-1,"C16 ROside") ;
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 1  ,"C01 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 2  ,"C02 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 3  ,"C03 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 4  ,"C04 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 5  ,"C05 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 6  ,"C06 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 7  ,"C07 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 8  ,"C08 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2* 9  ,"C09 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*10  ,"C10 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*11  ,"C11 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*12  ,"C12 HVside") ; 
+	  m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*13  ,"C13 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*14  ,"C14 HVside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*15  ,"C15 ROside") ; m_rpc2DPanelHits.back()->GetYaxis()->SetBinLabel(2*16  ,"C16 HVside") ;
 
           
 	  //DQ vs LB from Mauro
 	 
 	  // 1DvsLB panels Phi trigger hits LowPt 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_LowPt","rpc1DvsLBPhiPanelTriggerHits_LowPt", m_LB_Nbins, 0, m_LBmax,  2*(187+188), -187,188  ) ); 
-	  sc=rpcprd_dq_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_LowPt","rpc1DvsLBPhiPanelTriggerHits_LowPt", m_LB_Nbins, 0, m_LBmax,  2*(187+188), -187,188  ) ); 
+	  sc=rpcprd_dq_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Phi trigger hits HighPt 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_HighPt","rpc1DvsLBPhiPanelTriggerHits_HighPt", m_LB_Nbins, 0, m_LBmax, 2*(187+188), -187,188  ) );    
-	  sc=rpcprd_dq_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_HighPt","rpc1DvsLBPhiPanelTriggerHits_HighPt", m_LB_Nbins, 0, m_LBmax, 2*(187+188), -187,188  ) );    
+	  sc=rpcprd_dq_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta trigger hits LowPt 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_LowPt","rpc1DvsLBEtaPanelTriggerHits_LowPt", m_LB_Nbins, 0, m_LBmax,  2*(187+188), -187,188  ) );   
-	  sc=rpcprd_dq_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_LowPt","rpc1DvsLBEtaPanelTriggerHits_LowPt", m_LB_Nbins, 0, m_LBmax,  2*(187+188), -187,188  ) );   
+	  sc=rpcprd_dq_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta trigger hits HighPt 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_HighPt","rpc1DvsLBEtaPanelTriggerHits_HighPt", m_LB_Nbins, 0, m_LBmax,  2*(187+188), -187,188  ) );   
-	  sc=rpcprd_dq_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_HighPt","rpc1DvsLBEtaPanelTriggerHits_HighPt", m_LB_Nbins, 0, m_LBmax,  2*(187+188), -187,188  ) );   
+	  sc=rpcprd_dq_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 
 	 
 	  // 1DvsLB panels Phi trigger hits LowPt_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_LowPt_BA","rpc1DvsLBPhiPanelTriggerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_LowPt_BA","rpc1DvsLBPhiPanelTriggerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Phi trigger hits HighPt_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_HighPt_BA","rpc1DvsLBPhiPanelTriggerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );    
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_HighPt_BA","rpc1DvsLBPhiPanelTriggerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );    
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta trigger hits LowPt_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_LowPt_BA","rpc1DvsLBEtaPanelTriggerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) );   
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_LowPt_BA","rpc1DvsLBEtaPanelTriggerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) );   
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta trigger hits HighPt_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_HighPt_BA","rpc1DvsLBEtaPanelTriggerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) );   
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_HighPt_BA","rpc1DvsLBEtaPanelTriggerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) );   
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 
 	 
 	  // 1DvsLB panels Phi trigger hits LowPt_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_LowPt_BC","rpc1DvsLBPhiPanelTriggerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_LowPt_BC","rpc1DvsLBPhiPanelTriggerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Phi trigger hits HighPt_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_HighPt_BC","rpc1DvsLBPhiPanelTriggerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );      
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelTriggerHits_HighPt_BC","rpc1DvsLBPhiPanelTriggerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );      
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta trigger hits LowPt_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_LowPt_BC","rpc1DvsLBEtaPanelTriggerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_LowPt_BC","rpc1DvsLBEtaPanelTriggerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta trigger hits HighPt_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_HighPt_BC","rpc1DvsLBEtaPanelTriggerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelTriggerHits_HighPt_BC","rpc1DvsLBEtaPanelTriggerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 
 	 
 	  // 1DvsLB panels PhiEta trigger hits LowPt_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BA","rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BA","rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels PhiEta trigger hits HighPt_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BA","rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );      
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BA","rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );      
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels PhiEta trigger hits LowPt_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BC","rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BC","rpc1DvsLBPhiEtaPanelTriggerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels PhiEta trigger hits HighPt_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BC","rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;	  
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BC","rpc1DvsLBPhiEtaPanelTriggerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,  2*187, 0, 187 ) );     
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;	  
 //end trigger plot
 	
 	  // 1DvsLB panels Phi  hits LowPt0_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt0_BA","rpc1DvsLBPhiPanelHits_LowPt0_BA", m_LB_Nbins, 0, m_LBmax,  2*158, 0, 158 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt0_BA","rpc1DvsLBPhiPanelHits_LowPt0_BA", m_LB_Nbins, 0, m_LBmax,  2*158, 0, 158 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Phi  hits LowPt1_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt1_BA","rpc1DvsLBPhiPanelHits_LowPt1_BA", m_LB_Nbins, 0, m_LBmax,  2*158, 0, 158 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt1_BA","rpc1DvsLBPhiPanelHits_LowPt1_BA", m_LB_Nbins, 0, m_LBmax,  2*158, 0, 158 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta  hits LowPt0_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt0_BA","rpc1DvsLBEtaPanelHits_LowPt0_BA", m_LB_Nbins, 0, m_LBmax,   2*158, 0, 158 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt0_BA","rpc1DvsLBEtaPanelHits_LowPt0_BA", m_LB_Nbins, 0, m_LBmax,   2*158, 0, 158 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Eta  hits LowPt1_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt1_BA","rpc1DvsLBEtaPanelHits_LowPt1_BA", m_LB_Nbins, 0, m_LBmax,   2*158, 0, 158 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt1_BA","rpc1DvsLBEtaPanelHits_LowPt1_BA", m_LB_Nbins, 0, m_LBmax,   2*158, 0, 158 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 	  // 1DvsLB panels Phi  hits Pivot0_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot0_BA","rpc1DvsLBPhiPanelHits_Pivot0_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );  
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot0_BA","rpc1DvsLBPhiPanelHits_Pivot0_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );  
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Phi  hits Pivot1_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot1_BA","rpc1DvsLBPhiPanelHits_Pivot1_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );  
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot1_BA","rpc1DvsLBPhiPanelHits_Pivot1_BA", m_LB_Nbins, 0, m_LBmax,  2*188, 0, 188 ) );  
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 	  // 1DvsLB panels Eta  hits Pivot0_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot0_BA","rpc1DvsLBEtaPanelHits_Pivot0_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot0_BA","rpc1DvsLBEtaPanelHits_Pivot0_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Eta  hits Pivot1_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot1_BA","rpc1DvsLBEtaPanelHits_Pivot1_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot1_BA","rpc1DvsLBEtaPanelHits_Pivot1_BA", m_LB_Nbins, 0, m_LBmax,   2*188, 0, 188 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 			
 	  // 1DvsLB panels Phi  hits HighPt0_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt0_BA","rpc1DvsLBPhiPanelHits_HighPt0_BA", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt0_BA","rpc1DvsLBPhiPanelHits_HighPt0_BA", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Phi  hits HighPt1_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt1_BA","rpc1DvsLBPhiPanelHits_HighPt1_BA", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;	
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt1_BA","rpc1DvsLBPhiPanelHits_HighPt1_BA", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;	
 			
 	  // 1DvsLB panels Eta  hits HighPt0_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt0_BA","rpc1DvsLBEtaPanelHits_HighPt0_BA", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt0_BA","rpc1DvsLBEtaPanelHits_HighPt0_BA", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Eta  hits HighPt1_BA 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt1_BA","rpc1DvsLBEtaPanelHits_HighPt1_BA", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
-	  sc=rpcprd_dq_BA_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt1_BA","rpc1DvsLBEtaPanelHits_HighPt1_BA", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
+	  sc=rpcprd_dq_BA_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 	  // 1DvsLB panels Phi  hits LowPt0_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt0_BC","rpc1DvsLBPhiPanelHits_LowPt0_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt0_BC","rpc1DvsLBPhiPanelHits_LowPt0_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Phi  hits LowPt1_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt1_BC","rpc1DvsLBPhiPanelHits_LowPt1_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_LowPt1_BC","rpc1DvsLBPhiPanelHits_LowPt1_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 	
 	  // 1DvsLB panels Eta  hits LowPt0_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt0_BC","rpc1DvsLBEtaPanelHits_LowPt0_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt0_BC","rpc1DvsLBEtaPanelHits_LowPt0_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Eta  hits LowPt1_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt1_BC","rpc1DvsLBEtaPanelHits_LowPt1_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) );  
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_LowPt1_BC","rpc1DvsLBEtaPanelHits_LowPt1_BC", m_LB_Nbins, 0, m_LBmax,   2*157, 0, 157 ) );  
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 	  // 1DvsLB panels Phi  hits Pivot0_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot0_BC","rpc1DvsLBPhiPanelHits_Pivot0_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot0_BC","rpc1DvsLBPhiPanelHits_Pivot0_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Phi  hits Pivot1_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot1_BC","rpc1DvsLBPhiPanelHits_Pivot1_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_Pivot1_BC","rpc1DvsLBPhiPanelHits_Pivot1_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 	  // 1DvsLB panels Eta  hits Pivot0_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot0_BC","rpc1DvsLBEtaPanelHits_Pivot0_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot0_BC","rpc1DvsLBEtaPanelHits_Pivot0_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Eta  hits Pivot1_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot1_BC","rpc1DvsLBEtaPanelHits_Pivot1_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_Pivot1_BC","rpc1DvsLBEtaPanelHits_Pivot1_BC", m_LB_Nbins, 0, m_LBmax,   2*187, 0, 187 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 			
 	  // 1DvsLB panels Phi  hits HighPt0_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt0_BC","rpc1DvsLBPhiPanelHits_HighPt0_BC", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt0_BC","rpc1DvsLBPhiPanelHits_HighPt0_BC", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Phi  hits HighPt1_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt1_BC","rpc1DvsLBPhiPanelHits_HighPt1_BC", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;	
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBPhiPanelHits_HighPt1_BC","rpc1DvsLBPhiPanelHits_HighPt1_BC", m_LB_Nbins, 0, m_LBmax,  2*193, 0, 193 ) );  
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;	
 			
 	  // 1DvsLB panels Eta  hits HighPt0_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt0_BC","rpc1DvsLBEtaPanelHits_HighPt0_BC", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt0_BC","rpc1DvsLBEtaPanelHits_HighPt0_BC", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 		
 	  // 1DvsLB panels Eta  hits HighPt1_BC 
-	  rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt1_BC","rpc1DvsLBEtaPanelHits_HighPt1_BC", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
-	  sc=rpcprd_dq_BC_Panel.regHist(rpc1DvsLBPanelHits.back()) ; 
-	  rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
+	  m_rpc1DvsLBPanelHits.push_back( new TH2I("rpc1DvsLBEtaPanelHits_HighPt1_BC","rpc1DvsLBEtaPanelHits_HighPt1_BC", m_LB_Nbins, 0, m_LBmax,	2*193, 0, 193 ) ); 
+	  sc=rpcprd_dq_BC_Panel.regHist(m_rpc1DvsLBPanelHits.back()) ; 
+	  m_rpc1DvsLBPanelHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBPanelHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBPanelHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBPanelHits.back()->GetYaxis()->SetTitle("") ;
 
 	  // 1DvsLB TrigTower Phi  hits LowPt_BA 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_LowPt_BA","rpc1DvsLBPhiTrigTowerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BA_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_LowPt_BA","rpc1DvsLBPhiTrigTowerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BA_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
 
 	  // 1DvsLB TrigTower Phi  hits HighPt_BA 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_HighPt_BA","rpc1DvsLBPhiTrigTowerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BA_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_HighPt_BA","rpc1DvsLBPhiTrigTowerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BA_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
 
 	  // 1DvsLB TrigTower Eta  hits LowPt_BA 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_LowPt_BA","rpc1DvsLBEtaTrigTowerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BA_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_LowPt_BA","rpc1DvsLBEtaTrigTowerHits_LowPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BA_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
 
 	  // 1DvsLB TrigTower Eta  hits HighPt_BA 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_HighPt_BA","rpc1DvsLBEtaTrigTowerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BA_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_HighPt_BA","rpc1DvsLBEtaTrigTowerHits_HighPt_BA", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BA_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
 
 	  // 1DvsLB TrigTower Phi  hits LowPt_BC 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_LowPt_BC","rpc1DvsLBPhiTrigTowerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BC_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_LowPt_BC","rpc1DvsLBPhiTrigTowerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BC_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
 
 	  // 1DvsLB TrigTower Phi  hits HighPt_BC 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_HighPt_BC","rpc1DvsLBPhiTrigTowerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BC_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBPhiTrigTowerHits_HighPt_BC","rpc1DvsLBPhiTrigTowerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BC_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
 
 	  // 1DvsLB TrigTower Eta  hits LowPt_BC 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_LowPt_BC","rpc1DvsLBEtaTrigTowerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BC_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_LowPt_BC","rpc1DvsLBEtaTrigTowerHits_LowPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BC_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
 
 	  // 1DvsLB TrigTower Eta  hits HighPt_BC 
-	  rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_HighPt_BC","rpc1DvsLBEtaTrigTowerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
-	  sc=rpcprd_dq_BC_TrigTower.regHist(rpc1DvsLBTrigTowerHits.back()) ; 
-	  rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
-	  rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
-	  rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
-	  rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
+	  m_rpc1DvsLBTrigTowerHits.push_back( new TH2I("rpc1DvsLBEtaTrigTowerHits_HighPt_BC","rpc1DvsLBEtaTrigTowerHits_HighPt_BC", m_LB_Nbins, 0, m_LBmax,	2*108, 0, 108 ) ); 
+	  sc=rpcprd_dq_BC_TrigTower.regHist(m_rpc1DvsLBTrigTowerHits.back()) ; 
+	  m_rpc1DvsLBTrigTowerHits.back()->SetOption("COLZ") ;    
+	  m_rpc1DvsLBTrigTowerHits.back()->SetMarkerSize(0.2);
+	  m_rpc1DvsLBTrigTowerHits.back()->GetXaxis()->SetTitle("Lumiblock");
+	  m_rpc1DvsLBTrigTowerHits.back()->GetYaxis()->SetTitle("") ; 
  
  
 	   
@@ -3601,9 +3487,9 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
      if(rpc == NULL )continue;
      Identifier idr = rpc->identify();
      std::vector<int>   rpcstripshift = RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, idr, 0)  ;
-		rpcpanel_dbindex   =  rpcstripshift[23];
-		PlaneTipo          =  rpcstripshift[15];
-		rpctower_dbindex   =  rpcstripshift[24]; 
+		int rpcpanel_dbindex   =  rpcstripshift[23];
+		int PlaneTipo          =  rpcstripshift[15];
+		int rpctower_dbindex   =  rpcstripshift[24]; 
 		  if(iname== 2){
 		    sprintf(NAME,"BML");
 		    ismall=1;
@@ -3642,64 +3528,64 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 			sprintf(BinLabel,"Sec%d%s",(iphi-1)*2+ismall,NAME);
 			if(PlaneTipo==0){
 			  if(ieta>=0){
-			    rpc1DvsLBPanelHits[enum_Phi_LowPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_LowPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_LowPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_LowPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_LowPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_LowPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_LowPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_LowPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
 			  } 
 			  if(ieta<0){
-			    rpc1DvsLBPanelHits[enum_Phi_LowPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_LowPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_LowPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_LowPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_LowPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_LowPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_LowPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_LowPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
 			  } 
 			} 
 			if(PlaneTipo==1){
 			  if(ieta>=0){
-			    rpc1DvsLBPanelHits[enum_Phi_Pivot0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_Pivot1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_Pivot0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_Pivot1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_LowPt_BA]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_HighPt_BA]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_LowPt_BA]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_HighPt_BA]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BA] ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[ enum_Phi_TrigTowerLowPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[ enum_Eta_TrigTowerLowPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_Pivot0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_Pivot1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_Pivot0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_Pivot1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_LowPt_BA]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_HighPt_BA]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_LowPt_BA]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_HighPt_BA]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BA] ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[ enum_Phi_TrigTowerLowPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[ enum_Eta_TrigTowerLowPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BA]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
 			  } 
 			  if(ieta<0){
-			    rpc1DvsLBPanelHits[enum_Phi_Pivot0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_Pivot1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_Pivot0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_Pivot1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_LowPt_BC]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_HighPt_BC]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_LowPt_BC]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_HighPt_BC]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BC] ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[ enum_Phi_TrigTowerLowPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[ enum_Eta_TrigTowerLowPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
-			    rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_Pivot0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_Pivot1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_Pivot0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_Pivot1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_LowPt_BC]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_HighPt_BC]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_LowPt_BC]    ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_HighPt_BC]   ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_EtaPhi_LowPt_BC] ->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_EtaPhi_HighPt_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[ enum_Phi_TrigTowerLowPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[ enum_Eta_TrigTowerLowPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[enum_Phi_TrigTowerHighPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
+			    m_rpc1DvsLBTrigTowerHits[enum_Eta_TrigTowerHighPt_BC]->GetYaxis()->SetBinLabel(rpctower_dbindex*2,BinLabel);
 			  } 
 			} 
 			if(PlaneTipo==2){
 			  if(ieta>=0){
-			    rpc1DvsLBPanelHits[enum_Phi_HighPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_HighPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_HighPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_HighPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_HighPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_HighPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_HighPt0_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_HighPt1_BA]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
 			  } 
 			  if(ieta<0){
-			    rpc1DvsLBPanelHits[enum_Phi_HighPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Phi_HighPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_HighPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
-			    rpc1DvsLBPanelHits[enum_Eta_HighPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_HighPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Phi_HighPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_HighPt0_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
+			    m_rpc1DvsLBPanelHits[enum_Eta_HighPt1_BC]->GetYaxis()->SetBinLabel(rpcpanel_dbindex*2,BinLabel);
 			  } 
 			}
 		      }}}}		 
@@ -3710,30 +3596,30 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	
 	  if ( m_doTrigEvol ) {
 	    char trEvLab[50];
-	    snprintf(trEvLab, 50, "Number of Eta stations / %d events", minStatTrEvol );
-	    rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BA_LowPt", "rpcNumberEtaStatFired_BA_LowPt", 350, 0, 350)) ;
-	    sc=rpcprd_dq_BA.regHist(rpcNumberEtaStatFired_Side_Pt.back());
-	    rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
+	    snprintf(trEvLab, 50, "Number of Eta stations / %d events", m_minStatTrEvol );
+	    m_rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BA_LowPt", "rpcNumberEtaStatFired_BA_LowPt", 350, 0, 350)) ;
+	    sc=rpcprd_dq_BA.regHist(m_rpcNumberEtaStatFired_Side_Pt.back());
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
 	
-	    rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BC_LowPt", "rpcNumberEtaStatFired_BC_LowPt", 400, 0, 400)) ;
-	    sc=rpcprd_dq_BC.regHist(rpcNumberEtaStatFired_Side_Pt.back());
-	    rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
+	    m_rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BC_LowPt", "rpcNumberEtaStatFired_BC_LowPt", 400, 0, 400)) ;
+	    sc=rpcprd_dq_BC.regHist(m_rpcNumberEtaStatFired_Side_Pt.back());
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
 	
-	    rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BA_HighPt", "rpcNumberEtaStatFired_BA_HighPt", 350, 0, 350)) ;
-	    sc=rpcprd_dq_BA.regHist(rpcNumberEtaStatFired_Side_Pt.back());
-	    rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
-
-	    rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BC_HighPt", "rpcNumberEtaStatFired_BC_HighPt", 400, 0, 400)) ;
-	    sc=rpcprd_dq_BC.regHist(rpcNumberEtaStatFired_Side_Pt.back());
-	    rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
-	    rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
+	    m_rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BA_HighPt", "rpcNumberEtaStatFired_BA_HighPt", 350, 0, 350)) ;
+	    sc=rpcprd_dq_BA.regHist(m_rpcNumberEtaStatFired_Side_Pt.back());
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
+
+	    m_rpcNumberEtaStatFired_Side_Pt.push_back(  new TH1I("rpcNumberEtaStatFired_BC_HighPt", "rpcNumberEtaStatFired_BC_HighPt", 400, 0, 400)) ;
+	    sc=rpcprd_dq_BC.regHist(m_rpcNumberEtaStatFired_Side_Pt.back());
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->SetFillColor(42) ;
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetXaxis()->SetTitle(trEvLab   );
+	    m_rpcNumberEtaStatFired_Side_Pt.back()->GetYaxis()->SetTitle("Counts"  );
         
 	  }
 	
@@ -3769,9 +3655,9 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  	  
 	  for (std::vector<std::string>::const_iterator it3=EtaPhi_list.begin();
 	       it3!=EtaPhi_list.end(); it3++ ) {
-	    std::string m_rpcThreshold_title      = "RPC_Threshold_" + *it3     ;
-	    const char* m_rpcThreshold_title_char = m_rpcThreshold_title.c_str();
-	    TH1 * rpcThreshold = new TH1I(m_rpcThreshold_title_char, m_rpcThreshold_title_char, 8, 0, 8);
+	    std::string rpcThreshold_title      = "RPC_Threshold_" + *it3     ;
+	    const char* rpcThreshold_title_char = rpcThreshold_title.c_str();
+	    TH1 * rpcThreshold = new TH1I(rpcThreshold_title_char, rpcThreshold_title_char, 8, 0, 8);
 	    sc=rpcTrigRoad.regHist(rpcThreshold);
 	    rpcThreshold->SetFillColor(42) ;
 	    rpcThreshold->GetXaxis()->SetTitle("Threshold" );
@@ -3787,9 +3673,9 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	          
 	    for (std::vector<std::string>::const_iterator it1=SmallLarge_list.begin();
 		 it1!=SmallLarge_list.end(); it1++ ) {
-	      std::string m_rpcTriggerRoad_title = "RPC_TriggerRoad_" + *it1 + "_" + *it3 ;
-	      const char* m_rpcTriggerRoad_title_char = m_rpcTriggerRoad_title.c_str();
-	      TH2 * rpcTriggerRoad = new TH2I( m_rpcTriggerRoad_title_char, m_rpcTriggerRoad_title_char, 100, -10000, 10000, 8, 0, 8);
+	      std::string rpcTriggerRoad_title = "RPC_TriggerRoad_" + *it1 + "_" + *it3 ;
+	      const char* rpcTriggerRoad_title_char = rpcTriggerRoad_title.c_str();
+	      TH2 * rpcTriggerRoad = new TH2I( rpcTriggerRoad_title_char, rpcTriggerRoad_title_char, 100, -10000, 10000, 8, 0, 8);
 	      sc=rpcTrigRoad.regHist(rpcTriggerRoad) ;
 	      rpcTriggerRoad->SetOption("COLZ"); 
 	      rpcTriggerRoad->GetXaxis()->SetTitle("position of projected point [mm] ");
@@ -3806,7 +3692,7 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  }
 	  
 	  
-	
+          	
 	  TH2 *rpcPhivsEtaAtlasPivot0=new TH2I("AtlasPivot0","AtlasPivot0", 2*408/m_rpcreducenbins, -408, 408, (8*(48*2+64*2)+4*16)/m_rpcreducenbins,0,8*(48*2+64*2)+4*16); 
 	  sc=rpcprd_expert.regHist(rpcPhivsEtaAtlasPivot0) ; 
 	  rpcPhivsEtaAtlasPivot0->SetFillColor(42);  
@@ -4351,11 +4237,11 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  rpc2DEtaStation->GetYaxis()->SetTitle("Rpc Sector + 16 * (LPt=0,Piv=1,HPt=2)"); 
 	
 	  // distribution of hit time  
-	  std::string m_generic_path_rpctime = m_generic_path_rpcmonitoring+"/GLOBAL";
-	  std::string m_rpctime_title      = "Time_Distribution"          ;
-	  const char* m_rpctime_title_char = m_rpctime_title.c_str();  
+	  std::string generic_path_rpctime = generic_path_rpcmonitoring+"/GLOBAL";
+	  std::string rpctime_title      = "Time_Distribution"          ;
+	  const char* rpctime_title_char = rpctime_title.c_str();  
 
-	  TH1 *rpctime=new TH1F(m_rpctime_title_char, m_rpctime_title_char, timeNbin, timeminrange, timemaxrange);	    
+	  TH1 *rpctime=new TH1F(rpctime_title_char, rpctime_title_char, timeNbin, timeminrange, timemaxrange);	    
 	  sc=rpcprd_shift.regHist(rpctime) ;  
 	  if(sc.isFailure())
 	    { ATH_MSG_FATAL(  "rpc_time_distribution Failed to register histogram " );       
@@ -4365,7 +4251,7 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  rpctime->GetXaxis()->SetTitle("Time  [ns]");
 	  rpctime->GetYaxis()->SetTitle("Counts/(3.125ns)"); 
 	 
-	  ATH_MSG_DEBUG (  "INSIDE bookHistograms : " << rpctime << m_rpctime_title.c_str() );
+	  ATH_MSG_DEBUG (  "INSIDE bookHistograms : " << rpctime << rpctime_title.c_str() );
 	  //ATH_MSG_DEBUG (  "SHIFT : " << shift );
 	  ATH_MSG_DEBUG (  "RUN : " << run );	       
 	  ATH_MSG_DEBUG (  "Booked bookrpctimedistribution successfully" );     
@@ -4496,11 +4382,11 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
 	  // cool histogram
 	  // strip profile -> noise and dead strips
 	  if ( m_doCoolDB ) {
-	    //DB_list.push_back( "StripId" );
-	    DB_list.push_back( "PanelId" );
-	    DB_list.push_back( "Profile" );
+	    //m_DB_list.push_back( "StripId" );
+	    m_DB_list.push_back( "PanelId" );
+	    m_DB_list.push_back( "Profile" );
 	
-	    for ( std::vector<std::string>::const_iterator iter=DB_list.begin(); iter!=DB_list.end(); iter++ ) {
+	    for ( std::vector<std::string>::const_iterator iter=m_DB_list.begin(); iter!=m_DB_list.end(); iter++ ) {
 	      for ( int isec=0; isec!=15+1; isec++ ) {
 		for ( int idblPhi=0; idblPhi!=2; idblPhi ++) {
 		  bookRPCCoolHistograms( iter, isec, idblPhi, "Pivot0" ) ;
@@ -4521,7 +4407,7 @@ StatusCode RpcRawDataValAlg::bookHistogramsRecurrent()
   return sc;
 }
 
-void RpcRawDataValAlg::bookRPCLayerHistograms(std::string m_hardware_name, std::string m_layer_name, std::string m_layer0_name, int bin, int binmin, int binmax )
+void RpcRawDataValAlg::bookRPCLayerHistograms(std::string hardware_name, std::string layer_name, std::string layer0_name, int bin, int binmin, int binmax )
 {
   //gErrorIgnoreLevel=kError;
   gErrorIgnoreLevel=kInfo;
@@ -4531,24 +4417,24 @@ void RpcRawDataValAlg::bookRPCLayerHistograms(std::string m_hardware_name, std::
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {  
   
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Profiles/", run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_hardware_name +"/Profiles/" + m_layer_name);
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Profiles/", run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( hardware_name +"/Profiles/" + layer_name);
      
       //histo path for rpc strip 
-      std::string m_generic_path_rpcstriplayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Profiles/";
-      m_generic_path_rpcstriplayer += m_hardware_name + "_" + m_layer_name + "_strip";
-      std::string m_rpcstriplayer_title = m_hardware_name + "_" + m_layer_name + "_strip";	
-      const char* m_rpcstriplayer_title_char = m_rpcstriplayer_title.c_str();
+      std::string generic_path_rpcstriplayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Profiles/";
+      generic_path_rpcstriplayer += hardware_name + "_" + layer_name + "_strip";
+      std::string rpcstriplayer_title = hardware_name + "_" + layer_name + "_strip";	
+      const char* rpcstriplayer_title_char = rpcstriplayer_title.c_str();
 		
-      TH1 *rpcstriplayer=new TH1I(m_rpcstriplayer_title_char, m_rpcstriplayer_title_char, bin/m_rpcreducenbinsstrip, binmin, binmax ); 			
+      TH1 *rpcstriplayer=new TH1I(rpcstriplayer_title_char, rpcstriplayer_title_char, bin/m_rpcreducenbinsstrip, binmin, binmax ); 			
       lst.addHist(rpcstriplayer);  
       rpcstriplayer->SetFillColor(42); 
-      rpcstriplayer->GetXaxis()->SetTitle(m_layer0_name.c_str());
+      rpcstriplayer->GetXaxis()->SetTitle(layer0_name.c_str());
       rpcstriplayer->GetYaxis()->SetTitle("Counts/Strip");
 
     
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcstriplayer << m_generic_path_rpcstriplayer.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcstriplayer << generic_path_rpcstriplayer.c_str() );
       //ATH_MSG_DEBUG (  "SHIFT : " << shift );
       ATH_MSG_DEBUG (  "RUN : " << run );
   
@@ -4558,20 +4444,20 @@ void RpcRawDataValAlg::bookRPCLayerHistograms(std::string m_hardware_name, std::
 		
       //histo path for rpc cluster
       //size per strip
-      std::string m_generic_path_rpcclustersizelayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Profiles/";
-      m_generic_path_rpcclustersizelayer += m_hardware_name + "_" + m_layer_name + "_clustersize";
-      std::string m_rpcclustersizelayer_title = m_hardware_name + "_" + m_layer_name + "_clustersize";	
-      const char* m_rpcclustersizelayer_title_char = m_rpcclustersizelayer_title.c_str();
+      std::string generic_path_rpcclustersizelayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Profiles/";
+      generic_path_rpcclustersizelayer += hardware_name + "_" + layer_name + "_clustersize";
+      std::string rpcclustersizelayer_title = hardware_name + "_" + layer_name + "_clustersize";	
+      const char* rpcclustersizelayer_title_char = rpcclustersizelayer_title.c_str();
 
-      TH2 *rpcclustersizelayer=new TH2I(m_rpcclustersizelayer_title_char, m_rpcclustersizelayer_title_char, bin/m_rpcreducenbins, binmin, binmax , 10, -0.5, 9.5); 			
+      TH2 *rpcclustersizelayer=new TH2I(rpcclustersizelayer_title_char, rpcclustersizelayer_title_char, bin/m_rpcreducenbins, binmin, binmax , 10, -0.5, 9.5); 			
       lst.addHist(rpcclustersizelayer);  
       rpcclustersizelayer->SetFillColor(42);  
       rpcclustersizelayer->SetOption("COLZ");  
-      rpcclustersizelayer->GetXaxis()->SetTitle(m_layer0_name.c_str());
+      rpcclustersizelayer->GetXaxis()->SetTitle(layer0_name.c_str());
       rpcclustersizelayer->GetYaxis()->SetTitle("Cluster Size");
 
      
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcclustersizelayer << m_generic_path_rpcclustersizelayer.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcclustersizelayer << generic_path_rpcclustersizelayer.c_str() );
      // ATH_MSG_DEBUG (  "SHIFT : " << shift );
       ATH_MSG_DEBUG (  "RUN : " << run );    
    		     	
@@ -4580,19 +4466,19 @@ void RpcRawDataValAlg::bookRPCLayerHistograms(std::string m_hardware_name, std::
 
     
       //profile
-      std::string m_generic_path_rpcclusterlayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Profiles/";  
-      m_generic_path_rpcclusterlayer += m_hardware_name + "_" + m_layer_name + "_cluster";
-      std::string m_rpcclusterlayer_title = m_hardware_name + "_" + m_layer_name + "_cluster";	
-      const char* m_rpcclusterlayer_title_char = m_rpcclusterlayer_title.c_str();
+      std::string generic_path_rpcclusterlayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Profiles/";  
+      generic_path_rpcclusterlayer += hardware_name + "_" + layer_name + "_cluster";
+      std::string rpcclusterlayer_title = hardware_name + "_" + layer_name + "_cluster";	
+      const char* rpcclusterlayer_title_char = rpcclusterlayer_title.c_str();
   
-      TH1 *rpcclusterlayer=new TH1I(m_rpcclusterlayer_title_char, m_rpcclusterlayer_title_char, bin/m_rpcreducenbins, binmin, binmax); 			
+      TH1 *rpcclusterlayer=new TH1I(rpcclusterlayer_title_char, rpcclusterlayer_title_char, bin/m_rpcreducenbins, binmin, binmax); 			
       lst.addHist(rpcclusterlayer);  
       rpcclusterlayer->SetFillColor(42); 
-      rpcclusterlayer->GetXaxis()->SetTitle(m_layer0_name.c_str());
+      rpcclusterlayer->GetXaxis()->SetTitle(layer0_name.c_str());
       rpcclusterlayer->GetYaxis()->SetTitle("Counts/strip");
 
      
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcclusterlayer << m_generic_path_rpcclusterlayer.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcclusterlayer << generic_path_rpcclusterlayer.c_str() );
      // ATH_MSG_DEBUG (  "SHIFT : " << shift );
       ATH_MSG_DEBUG (  "RUN : " << run );    
   
@@ -4603,7 +4489,7 @@ void RpcRawDataValAlg::bookRPCLayerHistograms(std::string m_hardware_name, std::
  
 }
 		
-void RpcRawDataValAlg::bookRPCLayerHistogramsPanel(std::string m_hardware_name, std::string m_layer_name )
+void RpcRawDataValAlg::bookRPCLayerHistogramsPanel(std::string hardware_name, std::string layer_name )
 {
   //gErrorIgnoreLevel=kError;
   gErrorIgnoreLevel=kInfo;
@@ -4612,26 +4498,26 @@ void RpcRawDataValAlg::bookRPCLayerHistogramsPanel(std::string m_hardware_name,
    		     	
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {    		  
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Panels/", run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_hardware_name +"/Panels/" + m_layer_name);
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Panels/", run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( hardware_name +"/Panels/" + layer_name);
 
       //histo path for rpc strip 
  
       //size distribution
-      std::string m_generic_path_rpcclustersizedislayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Panels/";
-      m_generic_path_rpcclustersizedislayer += m_hardware_name + "_" + m_layer_name + "_CSdistribution";
-      std::string m_rpcclustersizedislayer_title = m_hardware_name + "_" + m_layer_name + "_CSdistribution";	
-      const char* m_rpcclustersizedislayer_title_char = m_rpcclustersizedislayer_title.c_str();
+      std::string generic_path_rpcclustersizedislayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Panels/";
+      generic_path_rpcclustersizedislayer += hardware_name + "_" + layer_name + "_CSdistribution";
+      std::string rpcclustersizedislayer_title = hardware_name + "_" + layer_name + "_CSdistribution";	
+      const char* rpcclustersizedislayer_title_char = rpcclustersizedislayer_title.c_str();
 
-      TH1F *rpcclustersizedislayer=new TH1F(m_rpcclustersizedislayer_title_char, m_rpcclustersizedislayer_title_char, 32, -0.5, 31.5 ); 			
+      TH1F *rpcclustersizedislayer=new TH1F(rpcclustersizedislayer_title_char, rpcclustersizedislayer_title_char, 32, -0.5, 31.5 ); 			
       lst.addHist(rpcclustersizedislayer);  
       rpcclustersizedislayer->SetFillColor(42); 
-      rpcclustersizedislayer->GetXaxis()->SetTitle(m_layer_name.c_str());
+      rpcclustersizedislayer->GetXaxis()->SetTitle(layer_name.c_str());
       rpcclustersizedislayer->GetYaxis()->SetTitle("Cluster Size");
 
      
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistogramsPanels : " << rpcclustersizedislayer << m_generic_path_rpcclustersizedislayer.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistogramsPanels : " << rpcclustersizedislayer << generic_path_rpcclustersizedislayer.c_str() );
       //ATH_MSG_DEBUG (  "EXPERT : " << expert );
       ATH_MSG_DEBUG (  "RUN : " << run );     
 
@@ -4643,7 +4529,7 @@ void RpcRawDataValAlg::bookRPCLayerHistogramsPanel(std::string m_hardware_name,
 }
 		
   
-void RpcRawDataValAlg::bookRPCLayervsTimeHistograms(std::string  m_hardware_name, std::string layer_name, int bin, int binmin, int binmax)
+void RpcRawDataValAlg::bookRPCLayervsTimeHistograms(std::string  hardware_name, std::string layer_name, int bin, int binmin, int binmax)
 {
   //gErrorIgnoreLevel=kError;
   gErrorIgnoreLevel=kInfo;
@@ -4652,17 +4538,17 @@ void RpcRawDataValAlg::bookRPCLayervsTimeHistograms(std::string  m_hardware_name
 
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {    	  
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/ProfilesvsTime/", run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_hardware_name +"/ProfilesvsTime/" + layer_name);
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/ProfilesvsTime/", run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( hardware_name +"/ProfilesvsTime/" + layer_name);
 
       //histo path for rpc strip vs time 
-      std::string m_generic_path_rpcstripvstimelayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/ProfilesvsTime/";
-      m_generic_path_rpcstripvstimelayer += m_hardware_name + "_" +  layer_name  +  "_stripvstime";
-      std::string m_rpcstripvstimelayer_title = m_hardware_name + "_" + layer_name + "_stripvstime";	
-      const char* m_rpcstripvstimelayer_title_char = m_rpcstripvstimelayer_title.c_str();
+      std::string generic_path_rpcstripvstimelayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/ProfilesvsTime/";
+      generic_path_rpcstripvstimelayer += hardware_name + "_" +  layer_name  +  "_stripvstime";
+      std::string rpcstripvstimelayer_title = hardware_name + "_" + layer_name + "_stripvstime";	
+      const char* rpcstripvstimelayer_title_char = rpcstripvstimelayer_title.c_str();
 
-      TH2 *rpcstripvstimelayer=new TH2I(m_rpcstripvstimelayer_title_char,m_rpcstripvstimelayer_title_char, bin/m_rpcreducenbins, binmin, binmax,timeNbin, timeminrange, timemaxrange); 			
+      TH2 *rpcstripvstimelayer=new TH2I(rpcstripvstimelayer_title_char,rpcstripvstimelayer_title_char, bin/m_rpcreducenbins, binmin, binmax,timeNbin, timeminrange, timemaxrange); 			
       lst.addHist(rpcstripvstimelayer);
       rpcstripvstimelayer->SetMarkerColor(1);  
       rpcstripvstimelayer->SetMarkerStyle(21);  
@@ -4672,7 +4558,7 @@ void RpcRawDataValAlg::bookRPCLayervsTimeHistograms(std::string  m_hardware_name
       rpcstripvstimelayer->GetYaxis()->SetTitle("Time[ns]");  
 
     
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcstripvstimelayer << m_generic_path_rpcstripvstimelayer.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerHistograms : " << rpcstripvstimelayer << generic_path_rpcstripvstimelayer.c_str() );
      // ATH_MSG_DEBUG (  "EXPERT : " << expert );
       ATH_MSG_DEBUG (  "RUN : " << run ); 
 		
@@ -4682,7 +4568,7 @@ void RpcRawDataValAlg::bookRPCLayervsTimeHistograms(std::string  m_hardware_name
     }}//m_doRpcESD // AthenaMonManager::tier0 || AthenaMonManager::tier0ESD  
 }
 
-void RpcRawDataValAlg::bookRPCLayerPhiAmbiHistograms(std::string m_hardware_name, std::string m_layer_name, std::string m_layer0_name, int bin, int binmin, int binmax )
+void RpcRawDataValAlg::bookRPCLayerPhiAmbiHistograms(std::string hardware_name, std::string layer_name, std::string layer0_name, int bin, int binmin, int binmax )
 {
   // gErrorIgnoreLevel=kError;
   gErrorIgnoreLevel=kInfo;
@@ -4691,24 +4577,24 @@ void RpcRawDataValAlg::bookRPCLayerPhiAmbiHistograms(std::string m_hardware_name
 
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {    		    
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Phi_profiles_ambiguity_resolved/", run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_hardware_name +"/Phi_profiles_ambiguity_resolved/" + m_layer_name);
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Phi_profiles_ambiguity_resolved/", run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( hardware_name +"/Phi_profiles_ambiguity_resolved/" + layer_name);
   
       //histo path for phi rpc strip with ambiguity removal
-      std::string m_generic_path_rpcstripPhiAmbilayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/phi_profiles_ambiguity_resolved";
-      m_generic_path_rpcstripPhiAmbilayer += m_hardware_name + "_" + m_layer_name + "_Ambiguity_resolved_phi_strip";
-      std::string m_rpcstripPhiAmbilayer_title = m_hardware_name + "_" + m_layer_name +"_Ambiguity_resolved_phi_strip";	
-      const char* m_rpcstripPhiAmbilayer_title_char = m_rpcstripPhiAmbilayer_title.c_str();
+      std::string generic_path_rpcstripPhiAmbilayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/phi_profiles_ambiguity_resolved";
+      generic_path_rpcstripPhiAmbilayer += hardware_name + "_" + layer_name + "_Ambiguity_resolved_phi_strip";
+      std::string rpcstripPhiAmbilayer_title = hardware_name + "_" + layer_name +"_Ambiguity_resolved_phi_strip";	
+      const char* rpcstripPhiAmbilayer_title_char = rpcstripPhiAmbilayer_title.c_str();
    		    
-      TH1 *rpcstripPhiAmbilayer=new TH1I(m_rpcstripPhiAmbilayer_title_char,m_rpcstripPhiAmbilayer_title_char, bin/m_rpcreducenbinsstrip, binmin, binmax );   
+      TH1 *rpcstripPhiAmbilayer=new TH1I(rpcstripPhiAmbilayer_title_char,rpcstripPhiAmbilayer_title_char, bin/m_rpcreducenbinsstrip, binmin, binmax );   
       lst.addHist(rpcstripPhiAmbilayer);
       rpcstripPhiAmbilayer->SetFillColor(42); 
-      rpcstripPhiAmbilayer->GetXaxis()->SetTitle(m_layer0_name.c_str());
+      rpcstripPhiAmbilayer->GetXaxis()->SetTitle(layer0_name.c_str());
       rpcstripPhiAmbilayer->GetYaxis()->SetTitle("Counts/Strip");
   
      
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhiAmbiHistograms : " << rpcstripPhiAmbilayer << m_generic_path_rpcstripPhiAmbilayer.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhiAmbiHistograms : " << rpcstripPhiAmbilayer << generic_path_rpcstripPhiAmbilayer.c_str() );
       //ATH_MSG_DEBUG (  "EXPERT : " << expert );
       ATH_MSG_DEBUG (  "RUN : " << run );
 
@@ -4719,7 +4605,7 @@ void RpcRawDataValAlg::bookRPCLayerPhiAmbiHistograms(std::string m_hardware_name
   
 }
 
-void RpcRawDataValAlg::bookRPCLayerPhivsEtaHistograms(std::string m_hardware_name, std::string m_layerPhivsEta_name, int binz, int binminz, int binmaxz, int binx, int binminx, int binmaxx )
+void RpcRawDataValAlg::bookRPCLayerPhivsEtaHistograms(std::string hardware_name, std::string layerPhivsEta_name, int binz, int binminz, int binmaxz, int binx, int binminx, int binmaxx )
 {
   //gErrorIgnoreLevel=kError;
   gErrorIgnoreLevel=kInfo;
@@ -4731,17 +4617,17 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaHistograms(std::string m_hardware_nam
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {  
     
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/PhivsEta/", run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_hardware_name + "/PhivsEta/" + m_layerPhivsEta_name);
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/PhivsEta/", run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( hardware_name + "/PhivsEta/" + layerPhivsEta_name);
 
       //histo path for rpc strip 
-      std::string m_generic_path_rpcstriplayerPhivsEta = m_generic_path_rpcmonitoring+"/Chambers/"+ m_hardware_name + "/PhivsEta/";
-      m_generic_path_rpcstriplayerPhivsEta += m_hardware_name +  "_" + m_layerPhivsEta_name;
-      std::string m_rpcstriplayerPhivsEta_title = m_hardware_name + "_" + m_layerPhivsEta_name;	
-      const char* m_rpcstriplayerPhivsEta_title_char = m_rpcstriplayerPhivsEta_title.c_str();
+      std::string generic_path_rpcstriplayerPhivsEta = generic_path_rpcmonitoring+"/Chambers/"+ hardware_name + "/PhivsEta/";
+      generic_path_rpcstriplayerPhivsEta += hardware_name +  "_" + layerPhivsEta_name;
+      std::string rpcstriplayerPhivsEta_title = hardware_name + "_" + layerPhivsEta_name;	
+      const char* rpcstriplayerPhivsEta_title_char = rpcstriplayerPhivsEta_title.c_str();
    		     	
-      TH2 *rpcstriplayerPhivsEta=new TH2I(m_rpcstriplayerPhivsEta_title_char,m_rpcstriplayerPhivsEta_title_char, binz/m_rpcreducenbins, binminz, binmaxz, binx/m_rpcreducenbins, binminx, binmaxx); 		
+      TH2 *rpcstriplayerPhivsEta=new TH2I(rpcstriplayerPhivsEta_title_char,rpcstriplayerPhivsEta_title_char, binz/m_rpcreducenbins, binminz, binmaxz, binx/m_rpcreducenbins, binminx, binmaxx); 		
   
       lst.addHist(rpcstriplayerPhivsEta);
       rpcstriplayerPhivsEta->SetFillColor(42);  
@@ -4752,7 +4638,7 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaHistograms(std::string m_hardware_nam
       rpcstriplayerPhivsEta->GetXaxis()->SetTitle("<--- IP          Rpc Eta strip     EC --->"     );
       rpcstriplayerPhivsEta->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->");
      
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhivsEtaHistograms : " << rpcstriplayerPhivsEta << m_generic_path_rpcstriplayerPhivsEta.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhivsEtaHistograms : " << rpcstriplayerPhivsEta << generic_path_rpcstriplayerPhivsEta.c_str() );
      // ATH_MSG_DEBUG (  "EXPERT : " << expert );
       ATH_MSG_DEBUG (  "RUN : " << run );
 	   
@@ -4763,8 +4649,8 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaHistograms(std::string m_hardware_nam
 }
    		     	
 
-//void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string m_hardware_name,std::string m_sector_name, std::string m_layerPhivsEtaSector_name, int binz, int binminz, int binmaxz, int binx, int binminx, int binmaxx )
-void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string m_sector_name, std::string m_layerPhivsEtaSector_name, int binz, int binminz, int binmaxz, int binx, int binminx, int binmaxx )
+//void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string hardware_name,std::string m_sector_name, std::string m_layerPhivsEtaSector_name, int binz, int binminz, int binmaxz, int binx, int binminx, int binmaxx )
+void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string sector_name, std::string layerPhivsEtaSector_name, int binz, int binminz, int binmaxz, int binx, int binminx, int binmaxx )
 {
   //  gErrorIgnoreLevel=kError;
   gErrorIgnoreLevel=kInfo;
@@ -4775,17 +4661,17 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string m_sector
 
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) { 
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Sectors/"+m_sector_name + "/PhivsEta/" , run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_sector_name + "/PhivsEta/" + m_layerPhivsEtaSector_name); 
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Sectors/"+sector_name + "/PhivsEta/" , run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( sector_name + "/PhivsEta/" + layerPhivsEtaSector_name); 
  
       //histo path for rpc strip 
-      std::string m_generic_path_rpcstriplayerPhivsEtaSector = m_generic_path_rpcmonitoring+"/Sectors/"+m_sector_name+"/PhivsEta/";
-      m_generic_path_rpcstriplayerPhivsEtaSector += m_layerPhivsEtaSector_name;
-      std::string m_rpcstriplayerPhivsEtaSector_title = m_layerPhivsEtaSector_name; 	
-      const char* m_rpcstriplayerPhivsEtaSector_title_char = m_rpcstriplayerPhivsEtaSector_title.c_str();
+      std::string generic_path_rpcstriplayerPhivsEtaSector = generic_path_rpcmonitoring+"/Sectors/"+sector_name+"/PhivsEta/";
+      generic_path_rpcstriplayerPhivsEtaSector += layerPhivsEtaSector_name;
+      std::string rpcstriplayerPhivsEtaSector_title = layerPhivsEtaSector_name; 	
+      const char* rpcstriplayerPhivsEtaSector_title_char = rpcstriplayerPhivsEtaSector_title.c_str();
  
-      TH2 *rpcstriplayerPhivsEtaSector=new TH2I(m_rpcstriplayerPhivsEtaSector_title_char,m_rpcstriplayerPhivsEtaSector_title_char, binz/m_rpcreducenbins, binminz, binmaxz, binx/m_rpcreducenbins, binminx, binmaxx); 
+      TH2 *rpcstriplayerPhivsEtaSector=new TH2I(rpcstriplayerPhivsEtaSector_title_char,rpcstriplayerPhivsEtaSector_title_char, binz/m_rpcreducenbins, binminz, binmaxz, binx/m_rpcreducenbins, binminx, binmaxx); 
       lst.addHist(rpcstriplayerPhivsEtaSector);
       rpcstriplayerPhivsEtaSector->SetFillColor(42);  
       rpcstriplayerPhivsEtaSector->SetMarkerColor(1);  
@@ -4793,10 +4679,10 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string m_sector
       rpcstriplayerPhivsEtaSector->SetOption("COLZ");    
       rpcstriplayerPhivsEtaSector->SetMarkerSize(0.2);
       rpcstriplayerPhivsEtaSector->GetXaxis()->SetTitle("<--- SIDE C      Rpc Eta strip      SIDE A --->");
-      //rpcstriplayerPhivsEtaSector->GetYaxis()->SetTitle( m_layer0_name );
+      //rpcstriplayerPhivsEtaSector->GetYaxis()->SetTitle( layer0_name );
       rpcstriplayerPhivsEtaSector->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->");
       
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhivsEtaSectorHistograms : " << rpcstriplayerPhivsEtaSector << m_generic_path_rpcstriplayerPhivsEtaSector.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhivsEtaSectorHistograms : " << rpcstriplayerPhivsEtaSector << generic_path_rpcstriplayerPhivsEtaSector.c_str() );
      // ATH_MSG_DEBUG (  "EXPERT : " << expert );
       ATH_MSG_DEBUG (  "RUN : " << run );
     
@@ -4805,13 +4691,13 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string m_sector
  
  
       //histo path for rpc cluster 
-      if ( m_layerPhivsEtaSector_name.find("Trigger", 0) == string::npos ) { 
-	std::string m_generic_path_rpcclusterlayerPhivsEtaSector = m_generic_path_rpcmonitoring+"/Sectors/"+m_sector_name+"/PhivsEta/";
-	m_generic_path_rpcclusterlayerPhivsEtaSector += m_layerPhivsEtaSector_name + "_cluster"  ;
-	std::string m_rpcclusterlayerPhivsEtaSector_title = m_layerPhivsEtaSector_name + "_cluster"   ; 	
-	const char* m_rpcclusterlayerPhivsEtaSector_title_char = m_rpcclusterlayerPhivsEtaSector_title.c_str();
+      if ( layerPhivsEtaSector_name.find("Trigger", 0) == string::npos ) { 
+	std::string generic_path_rpcclusterlayerPhivsEtaSector = generic_path_rpcmonitoring+"/Sectors/"+sector_name+"/PhivsEta/";
+	generic_path_rpcclusterlayerPhivsEtaSector += layerPhivsEtaSector_name + "_cluster"  ;
+	std::string rpcclusterlayerPhivsEtaSector_title = layerPhivsEtaSector_name + "_cluster"   ; 	
+	const char* rpcclusterlayerPhivsEtaSector_title_char = rpcclusterlayerPhivsEtaSector_title.c_str();
     
-	TH2 *rpcclusterlayerPhivsEtaSector=new TH2I(m_rpcclusterlayerPhivsEtaSector_title_char,m_rpcclusterlayerPhivsEtaSector_title_char, binz/m_rpcreducenbins, binminz, binmaxz, binx/m_rpcreducenbins, binminx, binmaxx); 
+	TH2 *rpcclusterlayerPhivsEtaSector=new TH2I(rpcclusterlayerPhivsEtaSector_title_char,rpcclusterlayerPhivsEtaSector_title_char, binz/m_rpcreducenbins, binminz, binmaxz, binx/m_rpcreducenbins, binminx, binmaxx); 
 	lst.addHist(rpcclusterlayerPhivsEtaSector);
 	rpcclusterlayerPhivsEtaSector->SetFillColor(42);  
 	rpcclusterlayerPhivsEtaSector->SetMarkerColor(1);  
@@ -4822,7 +4708,7 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string m_sector
 	rpcclusterlayerPhivsEtaSector->GetYaxis()->SetTitle("<--- HV side     Rpc Phi strip     RO side --->");
     
        
-        ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhivsEtaSectorHistograms : " << rpcclusterlayerPhivsEtaSector << m_generic_path_rpcclusterlayerPhivsEtaSector.c_str() );
+        ATH_MSG_DEBUG (  "INSIDE bookRPCLayerPhivsEtaSectorHistograms : " << rpcclusterlayerPhivsEtaSector << generic_path_rpcclusterlayerPhivsEtaSector.c_str() );
        // ATH_MSG_DEBUG (  "EXPERT : " << expert );
         ATH_MSG_DEBUG (  "RUN : " << run );
     
@@ -4835,8 +4721,8 @@ void RpcRawDataValAlg::bookRPCLayerPhivsEtaSectorHistograms(std::string m_sector
 }
  
     
-void RpcRawDataValAlg::bookRPCLayervsLayerHistograms(std::string m_hardware_name, std::string m_layervslayer_name, 
-                                                     std::string   m_layer1_name, std::string m_layer2_name, 
+void RpcRawDataValAlg::bookRPCLayervsLayerHistograms(std::string hardware_name, std::string layervslayer_name, 
+                                                     std::string   layer1_name, std::string layer2_name, 
 						     int binx, int binminx, int binmaxx, int biny, int binminy, int binmaxy)
 {
   // gErrorIgnoreLevel=kError;
@@ -4846,17 +4732,17 @@ void RpcRawDataValAlg::bookRPCLayervsLayerHistograms(std::string m_hardware_name
     
   if( m_doRpcESD==true ) {if( m_environment == AthenaMonManager::tier0 || m_environment == AthenaMonManager::tier0ESD || m_environment == AthenaMonManager::online ) {    	    
       //declare a group of histograms
-      std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-      MonGroup rpcprd_expert( this, m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Layer2vsLayer1/", run, ATTRIB_UNMANAGED );   
-      MuonDQAHistList& lst = m_stationHists.getList( m_hardware_name +"/Layer2vsLayer1/"+m_layervslayer_name);
+      std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+      MonGroup rpcprd_expert( this, generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Layer2vsLayer1/", run, ATTRIB_UNMANAGED );   
+      MuonDQAHistList& lst = m_stationHists.getList( hardware_name +"/Layer2vsLayer1/"+layervslayer_name);
    
       //histo path for rpc strip 
-      std::string m_generic_path_rpcstriplayervslayer = m_generic_path_rpcmonitoring+"/Chambers/"+m_hardware_name+"/Layer2vsLayer1/";
-      m_generic_path_rpcstriplayervslayer += m_hardware_name + "_" + m_layervslayer_name   ;
-      std::string m_rpcstriplayervslayer_title = m_hardware_name + "_" + m_layervslayer_name    ; 	
-      const char* m_rpcstriplayervslayer_title_char = m_rpcstriplayervslayer_title.c_str();
+      std::string generic_path_rpcstriplayervslayer = generic_path_rpcmonitoring+"/Chambers/"+hardware_name+"/Layer2vsLayer1/";
+      generic_path_rpcstriplayervslayer += hardware_name + "_" + layervslayer_name   ;
+      std::string rpcstriplayervslayer_title = hardware_name + "_" + layervslayer_name    ; 	
+      const char* rpcstriplayervslayer_title_char = rpcstriplayervslayer_title.c_str();
  
-      TH2 *rpcstriplayervslayer=new TH2I(m_rpcstriplayervslayer_title_char,m_rpcstriplayervslayer_title_char, 
+      TH2 *rpcstriplayervslayer=new TH2I(rpcstriplayervslayer_title_char,rpcstriplayervslayer_title_char, 
 					 binx/m_rpcreducenbins, binminx, binmaxx, biny/m_rpcreducenbins, binminy, binmaxy );	
       lst.addHist(rpcstriplayervslayer);
       rpcstriplayervslayer->SetFillColor(42);   
@@ -4864,11 +4750,11 @@ void RpcRawDataValAlg::bookRPCLayervsLayerHistograms(std::string m_hardware_name
       rpcstriplayervslayer->SetMarkerStyle(21);  
       rpcstriplayervslayer->SetOption("COLZ"); 
       rpcstriplayervslayer->SetMarkerSize(0.2);
-      rpcstriplayervslayer->GetXaxis()->SetTitle(m_layer1_name.c_str() );
-      rpcstriplayervslayer->GetYaxis()->SetTitle(m_layer2_name.c_str() );
+      rpcstriplayervslayer->GetXaxis()->SetTitle(layer1_name.c_str() );
+      rpcstriplayervslayer->GetYaxis()->SetTitle(layer2_name.c_str() );
     
      
-      ATH_MSG_DEBUG (  "INSIDE bookRPCLayervsLayerHistograms : " << rpcstriplayervslayer << m_generic_path_rpcstriplayervslayer.c_str() );
+      ATH_MSG_DEBUG (  "INSIDE bookRPCLayervsLayerHistograms : " << rpcstriplayervslayer << generic_path_rpcstriplayervslayer.c_str() );
     //  ATH_MSG_DEBUG (  "EXPERT : " << expert );
       ATH_MSG_DEBUG (  "RUN : " << run );
     
@@ -4879,85 +4765,88 @@ void RpcRawDataValAlg::bookRPCLayervsLayerHistograms(std::string m_hardware_name
   
 }
 
-void RpcRawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_iterator & m_iter, int m_isec, int m_idblPhi,
-					      std::string m_layer ) 
+void RpcRawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_iterator & iter, int isec, int idblPhi,
+					      std::string layer ) 
 {
   StatusCode sc = StatusCode::SUCCESS ;
   
-  std::string m_generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
-  MonGroup rpcCoolDb( this, m_generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
-  
-  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", m_isec+1, m_layer.c_str(), m_idblPhi+1) ;
+  std::string generic_path_rpcmonitoring = "Muon/MuonRawDataMonitoring/RPC";
+  MonGroup rpcCoolDb( this, generic_path_rpcmonitoring+"/CoolDB", run, ATTRIB_UNMANAGED );
+
+  char histName_char[100];
+  sprintf(histName_char,"Sector%.2d_%s_dblPhi%d", isec+1, layer.c_str(), idblPhi+1) ;
   // example: Sector01_Pivot0_dblPhi1_StripId
   
-  histName  = histName_char  ;
+  std::string histName  = histName_char  ;
   histName += "_"            ;
-  histName += *m_iter        ;  //histName += m_coolQuantity ;
-  istatPhi  = int( m_isec/2) ;
-  iName     = 0              ;
+  histName += *iter        ;  //histName += m_coolQuantity ;
+  int istatPhi  = int( isec/2) ;
+  int iName     = 0              ;
   int ig        = 0          ;
   int iNameMax  = 0          ;
   
+  int ir = 0;
+
   //BML7(dr=1) is associated to LowPt and not Pivot
-  if ( m_isec<11 ||  m_isec>13) {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
-      iName = 2 + (m_isec%2 ) ;
+  if ( isec<11 ||  isec>13) {
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 2 	      ;		
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
-      iName = 2 + (m_isec%2 ) ;
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
+      iName = 2 + (isec%2 ) ;
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
-      iName = 4 + (m_isec%2 ) ;
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
+      iName = 4 + (isec%2 ) ;
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(6,1)).c_str() ) ; 
+      ig    = atoi( (layer.substr(6,1)).c_str() ) ; 
     }
     iNameMax  =  iName         ;
   }  
-  else if ( m_isec==12) {
-    // if ( m_layer.find("Pivot",0) )
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+  else if ( isec==12) {
+    // if ( layer.find("Pivot",0) )
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName     =  1      ;
       iNameMax  =  2      ; 
       ir    = 2 	      ;		
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName     =  1      ;
       iNameMax  =  2      ; 
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 4               ;
       ir    = 1 	      ;
-      ig    = atoi( (m_layer.substr(6,1)).c_str() ) ; 
+      ig    = atoi( (layer.substr(6,1)).c_str() ) ; 
       iNameMax  =  iName      ; 
     }
      
   }
   else {
-    if ( m_layer == "Pivot0" || m_layer == "Pivot1" )   {
+    if ( layer == "Pivot0" || layer == "Pivot1" )   {
       iName     =   8  ;
       iNameMax  =  10  ;
       ir    = 2 ;   
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;   
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;   
     }
-    if ( m_layer == "LowPt0" || m_layer == "LowPt1" )   {
+    if ( layer == "LowPt0" || layer == "LowPt1" )   {
       iName = 8 ;
       iNameMax  =  iName         ;
       ir    = 1 ;
-      ig    = atoi( (m_layer.substr(5,1)).c_str() ) ;
+      ig    = atoi( (layer.substr(5,1)).c_str() ) ;
     }
-    if ( m_layer == "HighPt0" || m_layer == "HighPt1" ) {
+    if ( layer == "HighPt0" || layer == "HighPt1" ) {
       iName = 9 ; // or 10 ;
       iNameMax=10          ;
       ir    = 1 ; // doubletR=2 -> upgrade of Atlas
-      ig    = atoi( (m_layer.substr(6,1)).c_str() ) ; 
+      ig    = atoi( (layer.substr(6,1)).c_str() ) ; 
     }
   } // end sectors 12 and 14
   
@@ -4966,8 +4855,8 @@ void RpcRawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_it
  
   int kName = iName ;
   if(kName==1)kName=53;//BMLE
-  const MuonGM::RpcReadoutElement* rpc   = m_muonMgr->getRpcRElement_fromIdFields( kName,  1 , istatPhi+1, ir, 1, m_idblPhi+1 );   
-  const MuonGM::RpcReadoutElement* rpc_c = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, m_idblPhi+1 );  
+  const MuonGM::RpcReadoutElement* rpc   = m_muonMgr->getRpcRElement_fromIdFields( kName,  1 , istatPhi+1, ir, 1, idblPhi+1 );   
+  const MuonGM::RpcReadoutElement* rpc_c = m_muonMgr->getRpcRElement_fromIdFields( kName, -1 , istatPhi+1, ir, 1, idblPhi+1 );  
   
   if(rpc != NULL ){  
     Identifier idr = rpc->identify();
@@ -4990,10 +4879,10 @@ void RpcRawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_it
   // Fill strip Id histogram
   if ( (histName.find("PanelId", 0)) != string::npos ) {
   
-    sc = rpcCoolDb.getHist( rpcCool_PanelIdHist, histName.c_str() );
+    sc = rpcCoolDb.getHist( m_rpcCool_PanelIdHist, histName.c_str() );
     if( sc.isFailure() ) ATH_MSG_WARNING (  "couldn't get "<< histName << " hist" );
-    rpcCool_PanelIdHist->GetYaxis()->SetTitle("strip Id");
-    rpcCool_PanelIdHist->SetBit(TH1::kIsAverage)         ;
+    m_rpcCool_PanelIdHist->GetYaxis()->SetTitle("strip Id");
+    m_rpcCool_PanelIdHist->SetBit(TH1::kIsAverage)         ;
     int rpcElemPhiStrip   ;
     int rpcElemEtaStrip   ;
     int coolStripIndex =0 ;
@@ -5007,11 +4896,11 @@ void RpcRawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_it
     	for (int iz=0; iz!=3; iz++ ) {
 	  int irc = ir ;	
 	  if(abs(ieta-8)==7&&ir==1&&kNameF==2)continue;	
-	  if(m_isec==12&&abs(ieta-8)==6&&ir==1&&kNameF==2)continue;
+	  if(isec==12&&abs(ieta-8)==6&&ir==1&&kNameF==2)continue;
 	  if(abs(ieta-8)==7&&ir==2&&kNameF==2)irc=1; 
-	  if(m_isec==12&&abs(ieta-8)==6&&ir==2&&kNameF==2)irc=1;	 
+	  if(isec==12&&abs(ieta-8)==6&&ir==2&&kNameF==2)irc=1;	 
 											   
-    	  const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields(kNameF, ieta-8, istatPhi+1, irc, iz+1, m_idblPhi+1);  
+    	  const MuonGM::RpcReadoutElement* rpc = m_muonMgr->getRpcRElement_fromIdFields(kNameF, ieta-8, istatPhi+1, irc, iz+1, idblPhi+1);  
     	  if( rpc == NULL ) continue;   
 	  
     	  if  ( iz+1 != rpc->getDoubletZ() ) { 
@@ -5022,33 +4911,33 @@ void RpcRawDataValAlg::bookRPCCoolHistograms( std::vector<std::string>::const_it
     	  rpcElemEtaStrip = int (rpc->NetaStrips() ) ;
 	  
     	  for ( int istripEta=0; istripEta!=rpcElemEtaStrip; istripEta++ ) {
-    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, m_idblPhi+1, ig+1, 0, istripEta+1) ;
+    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, idblPhi+1, ig+1, 0, istripEta+1) ;
     	    Identifier panel_id  =  m_rpcIdHelper->panelID( strip_id ) ;
 	    
 	    
-	    //  if((istatPhi+1)==4&&kNameF==2&&(ieta-8)==-1&&irc==1&&(iz+1==1)&&(m_idblPhi+1==1)&&(ig+1==2)){ 
+	    //  if((istatPhi+1)==4&&kNameF==2&&(ieta-8)==-1&&irc==1&&(iz+1==1)&&(idblPhi+1==1)&&(ig+1==2)){ 
 	    //std::cout << istripEta << " ETA FOUND!!! and panel_Id= " << panel_id  << " " <<panel_id.get_identifier32().get_compact() << " " << strip_id<<std::endl;
 	    //}
     	    if( strip_id == 0 ) continue;
     	    coolStripIndex = (RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, strip_id, 0)).at(16);
-	    //std::cout << " coolStripIndex "<<coolStripIndex << " kNameF, eta, irc, iz+1, m_idblPhi+1, ig+1, istripEta+1 "<<kNameF << " " <<ieta-8 <<" " <<irc << " "<< iz+1<< " "<< m_idblPhi+1<< " "<< ig+1 << " "<< " "<< istripEta+1<< " "<<std::endl;
+	    //std::cout << " coolStripIndex "<<coolStripIndex << " kNameF, eta, irc, iz+1, idblPhi+1, ig+1, istripEta+1 "<<kNameF << " " <<ieta-8 <<" " <<irc << " "<< iz+1<< " "<< idblPhi+1<< " "<< ig+1 << " "<< " "<< istripEta+1<< " "<<std::endl;
 	    //if(panel_id.get_identifier32().get_compact()<1000)std::cout<< "Less than 1000: "  << panel_id.get_identifier32().get_compact()<<std::endl;
-    	    rpcCool_PanelIdHist->Fill(coolStripIndex, panel_id.get_identifier32().get_compact()) ;
+    	    m_rpcCool_PanelIdHist->Fill(coolStripIndex, panel_id.get_identifier32().get_compact()) ;
           }
     	  for ( int istripPhi=0; istripPhi!=rpcElemPhiStrip; istripPhi++ ) {
-    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, m_idblPhi+1, ig+1, 1, istripPhi+1) ;				     
+    	    Identifier strip_id  =  m_rpcIdHelper->channelID(idr, iz+1, idblPhi+1, ig+1, 1, istripPhi+1) ;				     
     	    Identifier panel_id  =  m_rpcIdHelper->panelID( strip_id ) ;
 	    
 	     
- 	    //if((istatPhi+1)==4&&kNameF==2&&(ieta-8)==-1&&irc==1&&(iz+1==1)&&(m_idblPhi+1==1)&&(ig+1==2)){ 
+ 	    //if((istatPhi+1)==4&&kNameF==2&&(ieta-8)==-1&&irc==1&&(iz+1==1)&&(idblPhi+1==1)&&(ig+1==2)){ 
  	    //std::cout << istripPhi << " PHI FOUND!!! and panel_Id= " << panel_id  << " " <<panel_id.get_identifier32().get_compact() << " " << strip_id<<std::endl;
  	    //}
 	    
     	    if( strip_id == 0 ) continue;    	    coolStripIndex = (RpcGM::RpcStripShift(m_muonMgr,m_rpcIdHelper, strip_id, 0)).at(16);
-	    //std::cout << " coolStripIndex "<<coolStripIndex << " kNameF, eta, irc, iz+1, m_idblPhi+1, ig+1, istripPhi+1 "<<kNameF << " " <<ieta-8 <<" " <<irc << " "<< iz+1<< " "<< m_idblPhi+1<< " "<< ig+1 << " "<< " "<< istripPhi+1<< " "<< std::endl;
+	    //std::cout << " coolStripIndex "<<coolStripIndex << " kNameF, eta, irc, iz+1, idblPhi+1, ig+1, istripPhi+1 "<<kNameF << " " <<ieta-8 <<" " <<irc << " "<< iz+1<< " "<< idblPhi+1<< " "<< ig+1 << " "<< " "<< istripPhi+1<< " "<< std::endl;
 
 	    //if(panel_id.get_identifier32().get_compact()<1000)std::cout<< "Less than 1000: "  << panel_id.get_identifier32().get_compact()<<std::endl;
-    	    rpcCool_PanelIdHist->Fill(coolStripIndex, panel_id.get_identifier32().get_compact() );
+    	    m_rpcCool_PanelIdHist->Fill(coolStripIndex, panel_id.get_identifier32().get_compact() );
           }
         } // end loop on doubletZ
       }
@@ -5075,37 +4964,35 @@ StatusCode RpcRawDataValAlg::procHistograms()
       if(endOfEventsBlock){}
       if(endOfLumiBlock){}
       if(endOfRun){        
-	if ( m_doTrigEvol && (rpc_eventstotal > minStatTrEvol) ) {    
+	if ( m_doTrigEvol && (m_rpc_eventstotal > m_minStatTrEvol) ) {    
  
-	  rpc2DEtaStatBinX_BA 	= int ( rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt]->GetNbinsX() );
-	  rpc2DEtaStatBinX_BC 	= int ( rpc2DEtaStationTriggerHits_Side_Pt[enumBC_LowPt]->GetNbinsX() ); 
-	  rpc2DEtaStatBinY    	= int ( rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt]->GetNbinsY() );
-	  etaStatShiftX_BA    	= -1;
-	  etaStatShiftX_BC    	= -8;
-	  nEtaStatFired_BA_LowPt  =  0; 
-	  nEtaStatFired_BA_HighPt =  0;
-	  nEtaStatFired_BC_LowPt  =  0;
-	  nEtaStatFired_BC_HighPt =  0;
+	  int rpc2DEtaStatBinX_BA 	= int ( m_rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt]->GetNbinsX() );
+	  int rpc2DEtaStatBinX_BC 	= int ( m_rpc2DEtaStationTriggerHits_Side_Pt[enumBC_LowPt]->GetNbinsX() ); 
+	  int rpc2DEtaStatBinY    	= int ( m_rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt]->GetNbinsY() );
+	  m_nEtaStatFired_BA_LowPt  =  0; 
+	  m_nEtaStatFired_BA_HighPt =  0;
+	  m_nEtaStatFired_BC_LowPt  =  0;
+	  m_nEtaStatFired_BC_HighPt =  0;
        
        
 	  for (int iy=1; iy!= rpc2DEtaStatBinY+1; iy++ ) {
 	    for (int ix=1; ix!=rpc2DEtaStatBinX_BA+1; ix++ ) {
-	      nTrigEtaStat_BA_LowPt  = int ( rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt] ->GetBinContent(ix, iy ) );
-	      nTrigEtaStat_BA_HighPt = int ( rpc2DEtaStationTriggerHits_Side_Pt[enumBA_HighPt]->GetBinContent(ix, iy ) );
-	      if ( nTrigEtaStat_BA_LowPt >0 ) nEtaStatFired_BA_LowPt++  ;
-	      if ( nTrigEtaStat_BA_HighPt>0 ) nEtaStatFired_BA_HighPt++ ;
+	      m_nTrigEtaStat_BA_LowPt  = int ( m_rpc2DEtaStationTriggerHits_Side_Pt[enumBA_LowPt] ->GetBinContent(ix, iy ) );
+	      m_nTrigEtaStat_BA_HighPt = int ( m_rpc2DEtaStationTriggerHits_Side_Pt[enumBA_HighPt]->GetBinContent(ix, iy ) );
+	      if ( m_nTrigEtaStat_BA_LowPt >0 ) m_nEtaStatFired_BA_LowPt++  ;
+	      if ( m_nTrigEtaStat_BA_HighPt>0 ) m_nEtaStatFired_BA_HighPt++ ;
 	    }
 	    for (int ix=1; ix!=rpc2DEtaStatBinX_BC+1; ix++ ) {
-	      nTrigEtaStat_BC_LowPt  = int ( rpc2DEtaStationTriggerHits_Side_Pt[enumBC_LowPt] ->GetBinContent(ix, iy ) );
-	      nTrigEtaStat_BC_HighPt = int ( rpc2DEtaStationTriggerHits_Side_Pt[enumBC_HighPt]->GetBinContent(ix, iy ) );
-	      if ( nTrigEtaStat_BC_LowPt >0 ) nEtaStatFired_BC_LowPt++ ;
-	      if ( nTrigEtaStat_BC_HighPt>0 ) nEtaStatFired_BC_HighPt++ ;
+	      m_nTrigEtaStat_BC_LowPt  = int ( m_rpc2DEtaStationTriggerHits_Side_Pt[enumBC_LowPt] ->GetBinContent(ix, iy ) );
+	      m_nTrigEtaStat_BC_HighPt = int ( m_rpc2DEtaStationTriggerHits_Side_Pt[enumBC_HighPt]->GetBinContent(ix, iy ) );
+	      if ( m_nTrigEtaStat_BC_LowPt >0 ) m_nEtaStatFired_BC_LowPt++ ;
+	      if ( m_nTrigEtaStat_BC_HighPt>0 ) m_nEtaStatFired_BC_HighPt++ ;
 	    }
 	  }
-	  rpcNumberEtaStatFired_Side_Pt[enumBA_LowPt]  -> Fill( nEtaStatFired_BA_LowPt  ) ; 
-	  rpcNumberEtaStatFired_Side_Pt[enumBC_LowPt]  -> Fill( nEtaStatFired_BC_LowPt  ) ;
-	  rpcNumberEtaStatFired_Side_Pt[enumBA_HighPt] -> Fill( nEtaStatFired_BA_HighPt ) ;
-	  rpcNumberEtaStatFired_Side_Pt[enumBC_HighPt] -> Fill( nEtaStatFired_BC_HighPt ) ;
+	  m_rpcNumberEtaStatFired_Side_Pt[enumBA_LowPt]  -> Fill( m_nEtaStatFired_BA_LowPt  ) ; 
+	  m_rpcNumberEtaStatFired_Side_Pt[enumBC_LowPt]  -> Fill( m_nEtaStatFired_BC_LowPt  ) ;
+	  m_rpcNumberEtaStatFired_Side_Pt[enumBA_HighPt] -> Fill( m_nEtaStatFired_BA_HighPt ) ;
+	  m_rpcNumberEtaStatFired_Side_Pt[enumBC_HighPt] -> Fill( m_nEtaStatFired_BC_HighPt ) ;
      	
 	}  
       
@@ -5120,14 +5007,14 @@ StatusCode RpcRawDataValAlg::procHistograms()
     
 	if(m_rpcfile){
 	  myfile << "----Total events / Events in selected area----\n";
-	  // myfile << rpc_eventstotal << "     /     " << rpc_event_inarea << "\n";
+	  // myfile << m_rpc_eventstotal << "     /     " << rpc_event_inarea << "\n";
 	  myfile.close();}  //only if m_rpcfile==true
       
 	  
 
 	//To review with Angelo Guida    
-	std::vector<int>::const_iterator iter_bin=layer_name_bin_list_panel.begin() ;
-	for (std::vector<std::string>::const_iterator iter=layer_name_list_panel.begin(); iter!=layer_name_list_panel.end(); iter++) 
+	std::vector<int>::const_iterator iter_bin=m_layer_name_bin_list_panel.begin() ;
+	for (std::vector<std::string>::const_iterator iter=m_layer_name_list_panel.begin(); iter!=m_layer_name_list_panel.end(); iter++) 
 	  {
 	    int pos = *iter_bin;
 	    iter_bin++ ;
@@ -5138,8 +5025,8 @@ StatusCode RpcRawDataValAlg::procHistograms()
 	    std::string panel_name = *iter    ;
 	    list_name.insert(7, "/Panels/")	  ; 
 	    panel_name.insert(7, "_")         ;
-	    sector_num  = name.substr(5, 2)   ;
-	    sector_name = "Sector"+sector_num ;
+            std::string sector_num  = name.substr(5, 2)   ;
+	    //sector_name = "Sector"+sector_num ;
                   
 	  }
     
@@ -5168,8 +5055,8 @@ StatusCode RpcRawDataValAlg::finalize()
   ATH_MSG_DEBUG ( "RpcRawDataValAlg::finalize() " );
   
   // Clear Muon Monitoring Histograms 
-  rpc2DEtaStationTriggerHits_Side_Pt.clear();
-  rpcNumberEtaStatFired_Side_Pt.clear();
+  m_rpc2DEtaStationTriggerHits_Side_Pt.clear();
+  m_rpcNumberEtaStatFired_Side_Pt.clear();
   
   return sc;
 }
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcLv1RawDataValAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcLv1RawDataValAlg.h
index 55ef62a39b959231c88c568d3b59aa2b24d51e20..95bf51d72ec4a95bbdcc519db77202d17baee055 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcLv1RawDataValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcLv1RawDataValAlg.h
@@ -185,59 +185,59 @@ class TgcLv1RawDataValAlg: public ManagedMonitorToolBase {
 
 
     // EIFI Coin
-    TH2* tgclv1hptstripinlbvssecteifilumi[2]; //[AC]	
-    TH2* tgclv1hptstripinlbvssecteifisect[2]; //[AC]	
+    TH2* m_tgclv1hptstripinlbvssecteifilumi[2]; //[AC]	
+    TH2* m_tgclv1hptstripinlbvssecteifisect[2]; //[AC]	
     // Trigger Rate histograms
-    TH2* tgclv1lptwireinlbvssect[2];  //[AC]
-    TH2* tgclv1lptstripinlbvssect[2]; //[AC]
-    TH2* tgclv1hptwireinlbvssect[2];  //[AC]
-    TH2* tgclv1hptstripinlbvssect[2]; //[AC]
-    TH2* tgclv1slinlbvssect[2];       //[AC]
+    TH2* m_tgclv1lptwireinlbvssect[2];  //[AC]
+    TH2* m_tgclv1lptstripinlbvssect[2]; //[AC]
+    TH2* m_tgclv1hptwireinlbvssect[2];  //[AC]
+    TH2* m_tgclv1hptstripinlbvssect[2]; //[AC]
+    TH2* m_tgclv1slinlbvssect[2];       //[AC]
     // Number of Trigger histograms, not produced in GM
-    TH1* tgclv1numberoflptwire[4];    //[PCNT]
-    TH1* tgclv1numberoflptstrip[4];   //[PCNT]
-    TH1* tgclv1numberofhptwire[4];    //[PCNT]
-    TH1* tgclv1numberofhptstrip[4];   //[PCNT]
-    TH1* tgclv1numberofsl[4];         //[PCNT]
+    TH1* m_tgclv1numberoflptwire[4];    //[PCNT]
+    TH1* m_tgclv1numberoflptstrip[4];   //[PCNT]
+    TH1* m_tgclv1numberofhptwire[4];    //[PCNT]
+    TH1* m_tgclv1numberofhptstrip[4];   //[PCNT]
+    TH1* m_tgclv1numberofsl[4];         //[PCNT]
     // pT Threshold profile
-    TH1* tgclv1pt[2];                 //[AC]
+    TH1* m_tgclv1pt[2];                 //[AC]
     // RoI eta vs phi maps
-    TH2* tgclv1roietavsphi[2];        //[AC]
-    TH2* tgclv1roietavsphipt[2][6];   //[AC][pT]
-    TH2* tgclv1roietavsphiAll;        
-    TH2* tgclv1roietavsphiptAll[6];   //[pT]
+    TH2* m_tgclv1roietavsphi[2];        //[AC]
+    TH2* m_tgclv1roietavsphipt[2][6];   //[AC][pT]
+    TH2* m_tgclv1roietavsphiAll;        
+    TH2* m_tgclv1roietavsphiptAll[6];   //[pT]
     // nTrigger Phi Profile histograms
-    TH1* tgclv1lptsectwire[2];    //[AC]
-    TH1* tgclv1lptsectstrip[2];   //[AC]
-    TH1* tgclv1hptsectwire[2];    //[AC]
-    TH1* tgclv1hptsectstrip[2];   //[AC]
-    TH1* tgclv1slsect[2];         //[AC]
+    TH1* m_tgclv1lptsectwire[2];    //[AC]
+    TH1* m_tgclv1lptsectstrip[2];   //[AC]
+    TH1* m_tgclv1hptsectwire[2];    //[AC]
+    TH1* m_tgclv1hptsectstrip[2];   //[AC]
+    TH1* m_tgclv1slsect[2];         //[AC]
     // inEta&outEta vs Phi maps
-    TH2* tgclv1lptwirechamber[2]; //[AC]
-    TH2* tgclv1lptstripchamber[2];//[AC]
-    TH2* tgclv1hptwirechamber[2]; //[AC]
-    TH2* tgclv1hptstripchamber[2];//[AC]
-    TH2* tgclv1slchamber[2];      //[AC]
-    TH2* tgclv1slchamberAll; 
+    TH2* m_tgclv1lptwirechamber[2]; //[AC]
+    TH2* m_tgclv1lptstripchamber[2];//[AC]
+    TH2* m_tgclv1hptwirechamber[2]; //[AC]
+    TH2* m_tgclv1hptstripchamber[2];//[AC]
+    TH2* m_tgclv1slchamber[2];      //[AC]
+    TH2* m_tgclv1slchamberAll; 
 
     // Express Stream
-    TH2* tgclv1_SL_vs_muonchain_ES;
+    TH2* m_tgclv1_SL_vs_muonchain_ES;
 
     // book histograms
     StatusCode bookHistogramsNumberOfTriggersAndProfile();
 
     // event profiles per LB
-    TH1* tgclv1eventsinlb;
-    TH1* tgclv1eventsinbcid;
+    TH1* m_tgclv1eventsinlb;
+    TH1* m_tgclv1eventsinbcid;
     // SL profiles per LB
-    TH1* tgclv1slinlb[2];             //[AC]
-    TH1* tgclv1slinbcid[2];           //[AC]
-    TH1* tgclv1slpereventlb[2];       //[AC]
-    TH1* tgclv1slpereventbcid[2];     //[AC]
-    TH1* tgclv1slinlbpt[2][6];        //[AC][pt]
-    TH1* tgclv1slinbcidpt[2][6];      //[AC][pt]
-    TH1* tgclv1slpereventlbpt[2][6];  //[AC][pt]
-    TH1* tgclv1slpereventbcidpt[2][6];//[AC][pt]
+    TH1* m_tgclv1slinlb[2];             //[AC]
+    TH1* m_tgclv1slinbcid[2];           //[AC]
+    TH1* m_tgclv1slpereventlb[2];       //[AC]
+    TH1* m_tgclv1slpereventbcid[2];     //[AC]
+    TH1* m_tgclv1slinlbpt[2][6];        //[AC][pt]
+    TH1* m_tgclv1slinbcidpt[2][6];      //[AC][pt]
+    TH1* m_tgclv1slpereventlbpt[2][6];  //[AC][pt]
+    TH1* m_tgclv1slpereventbcidpt[2][6];//[AC][pt]
 
     // book histograms
     StatusCode bookHistogramsTriggerRate();
@@ -262,71 +262,71 @@ class TgcLv1RawDataValAlg: public ManagedMonitorToolBase {
 
     // SL Timing
     // profiles per side
-    TH1* tgclv1sltiming[2];                      //[AC]
-    TH1* tgclv1sltimingptcut[2];                 //[AC] pT>1
-    TH1* tgclv1sltimingpt[2][6];                 //[AC][pT]
+    TH1* m_tgclv1sltiming[2];                      //[AC]
+    TH1* m_tgclv1sltimingptcut[2];                 //[AC] pT>1
+    TH1* m_tgclv1sltimingpt[2][6];                 //[AC][pT]
     // maps
-    TH2* tgclv1sltimingmap[2];                   //[AC]
-    TH2* tgclv1slcurrentfractionmap[2];          //[AC]
-    TH2* tgclv1sltimingmapptcut[2];              //[AC] pT>1
-    TH2* tgclv1slcurrentfractionmapptcut[2];     //[AC] pT>1
+    TH2* m_tgclv1sltimingmap[2];                   //[AC]
+    TH2* m_tgclv1slcurrentfractionmap[2];          //[AC]
+    TH2* m_tgclv1sltimingmapptcut[2];              //[AC] pT>1
+    TH2* m_tgclv1slcurrentfractionmapptcut[2];     //[AC] pT>1
     // profile per sector
-    TH1* tgclv1sltimingsector[2][12];            //[AC][sect]
-    TH1* tgclv1sltimingptcutsector[2][12];       //[AC][sect] pT>1
+    TH1* m_tgclv1sltimingsector[2][12];            //[AC][sect]
+    TH1* m_tgclv1sltimingptcutsector[2][12];       //[AC][sect] pT>1
     // profile per trigger type
-    TH1* tgclv1sltimingtrg[2][4];                //[AC][trig]
-    TH1* tgclv1sltimingptcuttrg[2][4];           //[AC][trig] pT>1
-    TH1* tgclv1sltimingpttrg[2][6][4];           //[AC][pT][trig]
+    TH1* m_tgclv1sltimingtrg[2][4];                //[AC][trig]
+    TH1* m_tgclv1sltimingptcuttrg[2][4];           //[AC][trig] pT>1
+    TH1* m_tgclv1sltimingpttrg[2][6][4];           //[AC][pT][trig]
     // profile per sector-trigger
-    TH1* tgclv1sltimingsectortrg[2][12][4];      //[AC][sect][trig]
-    TH1* tgclv1sltimingptcutsectortrg[2][12][4]; //[AC][sect][trig] pT>1
+    TH1* m_tgclv1sltimingsectortrg[2][12][4];      //[AC][sect][trig]
+    TH1* m_tgclv1sltimingptcutsectortrg[2][12][4]; //[AC][sect][trig] pT>1
     // associated offline tracks
-    TH1* tgclv1sltimingtrack[2][2];              //[AC][muid]
-    TH1* tgclv1sltimingptcuttrack[2][2];         //[AC][muid]
+    TH1* m_tgclv1sltimingtrack[2][2];              //[AC][muid]
+    TH1* m_tgclv1sltimingptcuttrack[2][2];         //[AC][muid]
 
     // LpT Timing
     // profiles
-    TH1* tgclv1lpttiming[2];                      //[AC]
-    TH1* tgclv1lpttimingptcut[2];                 //[AC] pT>1
-    TH1* tgclv1lpttimingpt[2][6];                 //[AC][pT]
+    TH1* m_tgclv1lpttiming[2];                      //[AC]
+    TH1* m_tgclv1lpttimingptcut[2];                 //[AC] pT>1
+    TH1* m_tgclv1lpttimingpt[2][6];                 //[AC][pT]
     // maps
-    TH2* tgclv1lpttimingmap[2];                   //[AC]
-    TH2* tgclv1lptcurrentfractionmap[2];          //[AC]
-    TH2* tgclv1lpttimingmapptcut[2];              //[AC] pT>1
-    TH2* tgclv1lptcurrentfractionmapptcut[2];     //[AC] pT>1
+    TH2* m_tgclv1lpttimingmap[2];                   //[AC]
+    TH2* m_tgclv1lptcurrentfractionmap[2];          //[AC]
+    TH2* m_tgclv1lpttimingmapptcut[2];              //[AC] pT>1
+    TH2* m_tgclv1lptcurrentfractionmapptcut[2];     //[AC] pT>1
     // profile per sector
-    TH1* tgclv1lpttimingsector[2][12];            //[AC][sect]
-    TH1* tgclv1lpttimingptcutsector[2][12];       //[AC][sect] pT>1
+    TH1* m_tgclv1lpttimingsector[2][12];            //[AC][sect]
+    TH1* m_tgclv1lpttimingptcutsector[2][12];       //[AC][sect] pT>1
     // profile per trigger type
-    TH1* tgclv1lpttimingtrg[2][4];                //[AC][trig]
-    TH1* tgclv1lpttimingptcuttrg[2][4];           //[AC][trig] pT>1
-    TH1* tgclv1lpttimingpttrg[2][6][4];           //[AC][pt][trig]
+    TH1* m_tgclv1lpttimingtrg[2][4];                //[AC][trig]
+    TH1* m_tgclv1lpttimingptcuttrg[2][4];           //[AC][trig] pT>1
+    TH1* m_tgclv1lpttimingpttrg[2][6][4];           //[AC][pt][trig]
     // profile per sector-trigger
-    TH1* tgclv1lpttimingsectortrg[2][12][4];      //[AC][sect][trig]
-    TH1* tgclv1lpttimingptcutsectortrg[2][12][4]; //[AC][sect][trig] pT>1
+    TH1* m_tgclv1lpttimingsectortrg[2][12][4];      //[AC][sect][trig]
+    TH1* m_tgclv1lpttimingptcutsectortrg[2][12][4]; //[AC][sect][trig] pT>1
     // associated offline tracks
-    TH1* tgclv1lpttimingtrack[2][2];              //[AC][muid]
-    TH1* tgclv1lpttimingptcuttrack[2][2];         //[AC][muid]
+    TH1* m_tgclv1lpttimingtrack[2][2];              //[AC][muid]
+    TH1* m_tgclv1lpttimingptcuttrack[2][2];         //[AC][muid]
 
     // SL vs LpT Timing
-    TH2* tgclv1slvslpttiming[2];                      //[AC]
-    TH2* tgclv1slvslpttimingptcut[2];                 //[AC] pT>1
-    TH2* tgclv1slvslpttimingsector[2][12];            //[AC][sect]
-    TH2* tgclv1slvslpttimingptcutsector[2][12];       //[AC][sect] pT>1
-    TH2* tgclv1slvslpttimingsectortrg[2][12][4];      //[AC][sect][trig]
-    TH2* tgclv1slvslpttimingptcutsectortrg[2][12][4]; //[AC][sect][trig] pT>1
+    TH2* m_tgclv1slvslpttiming[2];                      //[AC]
+    TH2* m_tgclv1slvslpttimingptcut[2];                 //[AC] pT>1
+    TH2* m_tgclv1slvslpttimingsector[2][12];            //[AC][sect]
+    TH2* m_tgclv1slvslpttimingptcutsector[2][12];       //[AC][sect] pT>1
+    TH2* m_tgclv1slvslpttimingsectortrg[2][12][4];      //[AC][sect][trig]
+    TH2* m_tgclv1slvslpttimingptcutsectortrg[2][12][4]; //[AC][sect][trig] pT>1
 
     // Express Stream
     // Sector profile of Current fraction histograms
-    TH1* tgclv1_SL_trigger_timing_ES[2];       //[AC]
-    TH1* tgclv1_SL_trigger_timing_num_ES[2];   //[AC]
-    TH1* tgclv1_SL_trigger_timing_denom_ES[2]; //[AC]
-    TH1* tgclv1_LPT_trigger_timing_ES[2];      //[AC]
-    TH1* tgclv1_LPT_trigger_timing_num_ES[2];  //[AC]
-    TH1* tgclv1_LPT_trigger_timing_denom_ES[2];//[AC]
+    TH1* m_tgclv1_SL_trigger_timing_ES[2];       //[AC]
+    TH1* m_tgclv1_SL_trigger_timing_num_ES[2];   //[AC]
+    TH1* m_tgclv1_SL_trigger_timing_denom_ES[2]; //[AC]
+    TH1* m_tgclv1_LPT_trigger_timing_ES[2];      //[AC]
+    TH1* m_tgclv1_LPT_trigger_timing_num_ES[2];  //[AC]
+    TH1* m_tgclv1_LPT_trigger_timing_denom_ES[2];//[AC]
     // Express Stream General Monitoring, (same histograms as above)
-    TH1* tgclv1_SL_trigger_timing_ES_GM[2]; //[AC]
-    TH1* tgclv1_LPT_trigger_timing_ES_GM[2];//[AC]
+    TH1* m_tgclv1_SL_trigger_timing_ES_GM[2]; //[AC]
+    TH1* m_tgclv1_LPT_trigger_timing_ES_GM[2];//[AC]
 
     // book histograms
     StatusCode bookHistogramsTiming();
@@ -346,28 +346,28 @@ class TgcLv1RawDataValAlg: public ManagedMonitorToolBase {
     // Manages Efficiency maps and profile histograms, also trigger turn-on curves
 
     // deltar between tracks in event
-    TH1* tgclv1deltar[2][6][2];                   //[AC][pT][charge][muid]
+    TH1* m_tgclv1deltar[2][6][2];                   //[AC][pT][charge][muid]
     // Turn-on Curves
-    TH1* tgclv1turnon[2][6][3][2];                //[AC][pT][charge][muid]
-    TGraphAsymmErrors* tgclv1turnontg[2][6][3][2];//[AC][pT][charge][muid]
-    TH1* tgclv1turnonnum[2][6][3][2];             //[AC][pT][charge][muid]
-    TH1* tgclv1turnondenom[2][6][3][2];           //[AC][pT][charge][muid]
+    TH1* m_tgclv1turnon[2][6][3][2];                //[AC][pT][charge][muid]
+    TGraphAsymmErrors* m_tgclv1turnontg[2][6][3][2];//[AC][pT][charge][muid]
+    TH1* m_tgclv1turnonnum[2][6][3][2];             //[AC][pT][charge][muid]
+    TH1* m_tgclv1turnondenom[2][6][3][2];           //[AC][pT][charge][muid]
     // LV1 trigger efficiency maps (wrt offline muons)
-    TH2* tgclv1effetavsphi[2][6][3][2][3];        //[AC][pT][charge][muid][pcn]
-    TH2* tgclv1effetavsphinum[2][6][3][2][3];     //[AC][pT][charge][muid][pcn]
-    TH2* tgclv1effetavsphidenom[2][6][3][2];      //[AC][pT][charge][muid]
+    TH2* m_tgclv1effetavsphi[2][6][3][2][3];        //[AC][pT][charge][muid][pcn]
+    TH2* m_tgclv1effetavsphinum[2][6][3][2][3];     //[AC][pT][charge][muid][pcn]
+    TH2* m_tgclv1effetavsphidenom[2][6][3][2];      //[AC][pT][charge][muid]
 
     // Express Stream
     // Turn-on curves
-    TH1* tgclv1turnon_ES[2][6];                //[AC][pT] muid
-    TGraphAsymmErrors* tgclv1turnontg_ES[2][6];//[AC][pT] muid
-    TH1* tgclv1turnonnum_ES[2][6];             //[AC][pT] muid
-    TH1* tgclv1turnondenom_ES[2][6];           //[AC][pT] muid
+    TH1* m_tgclv1turnon_ES[2][6];                //[AC][pT] muid
+    TGraphAsymmErrors* m_tgclv1turnontg_ES[2][6];//[AC][pT] muid
+    TH1* m_tgclv1turnonnum_ES[2][6];             //[AC][pT] muid
+    TH1* m_tgclv1turnondenom_ES[2][6];           //[AC][pT] muid
     // 6PT thresholds as x axis
-    TH1* tgclv1_plateau_eff_counting_ES[2];      //[AC] muid
-    TH1* tgclv1_plateau_eff_counting_num_ES[2];  //[AC] muid
-    TH1* tgclv1_plateau_eff_counting_denom_ES[2];//[AC] muid
-    TH1* tgclv1_plateau_eff_counting_ES_GM[2];   //[AC] muid
+    TH1* m_tgclv1_plateau_eff_counting_ES[2];      //[AC] muid
+    TH1* m_tgclv1_plateau_eff_counting_num_ES[2];  //[AC] muid
+    TH1* m_tgclv1_plateau_eff_counting_denom_ES[2];//[AC] muid
+    TH1* m_tgclv1_plateau_eff_counting_ES_GM[2];   //[AC] muid
 
     // book histograms
     StatusCode bookHistogramsEfficiency();
@@ -384,9 +384,9 @@ class TgcLv1RawDataValAlg: public ManagedMonitorToolBase {
     // Manages Coincidence Window histograms (is not currently used)
 
     // Coincidence windows
-    TH2* tgclv1cw[2][9][6];                  //[AC][cwmod][pT]
-    TH2* tgclv1cwoffline[2][9][6][2];        //[AC][cwmod][pT][muid]
-    TH2* tgclv1cwrejectedoffline[2][9][6][2];//[AC][cwmod][pT][muid]
+    TH2* m_tgclv1cw[2][9][6];                  //[AC][cwmod][pT]
+    TH2* m_tgclv1cwoffline[2][9][6][2];        //[AC][cwmod][pT][muid]
+    TH2* m_tgclv1cwrejectedoffline[2][9][6][2];//[AC][cwmod][pT][muid]
 
     // book histograms
     StatusCode bookHistogramsCoincidenceWindow();
@@ -404,11 +404,11 @@ class TgcLv1RawDataValAlg: public ManagedMonitorToolBase {
     // (And more importantly in the PostProcessor)
 
     //summary of SL and LowPT timing
-    TH1* tgclv1summaryofsltiming[2]; //[AC]
-    TH1* tgclv1summaryoflpttiming[2];//[AC]
+    TH1* m_tgclv1summaryofsltiming[2]; //[AC]
+    TH1* m_tgclv1summaryoflpttiming[2];//[AC]
 
-    TH1* tgclv1summaryofsltimingperchambertype[6]; //[chambertype]
-    TH1* tgclv1summaryoflpttimingperchambertype[6];//[chambertype]
+    TH1* m_tgclv1summaryofsltimingperchambertype[6]; //[chambertype]
+    TH1* m_tgclv1summaryoflpttimingperchambertype[6];//[chambertype]
 
     // book histograms
     StatusCode bookHistogramsSummary();
@@ -420,8 +420,8 @@ class TgcLv1RawDataValAlg: public ManagedMonitorToolBase {
     // Manages Low Statistics (per lumiblock) histograms
 
     //===
-    TH2* tgclv1slchamberlowstat[2];    //[AC]
-    TH1* tgclv1sltimingptcutlowstat[2];//[AC]
+    TH2* m_tgclv1slchamberlowstat[2];    //[AC]
+    TH1* m_tgclv1sltimingptcutlowstat[2];//[AC]
 
     // book histograms
     StatusCode bookHistogramsLowStat();
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataValAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataValAlg.h
index 109a9c846334d40f7dfcfb41e51442aa70c2e32f..b4148054fadc7fc1898ed73fc1d5d0afc362416b 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataMonitoring/TgcRawDataValAlg.h
@@ -51,8 +51,8 @@ class TFile;
 class Identifier;
 
 // Maximum Collection and Prd
-static const int m_maxColl =  1200;
-static const int m_maxPrd  = 50000;
+static const int maxColl =  1200;
+static const int maxPrd  = 50000;
  
 template <class ConcreteAlgorithm> class AlgFactory;
 /////////////////////////////////////////////////////////////////////////////
@@ -90,7 +90,7 @@ private:
   int m_BCID;
     
   //histograms directory names
-  std::string generic_path_tgcmonitoring;
+  std::string m_generic_path_tgcmonitoring;
   
   // Keys and Locations for retrieving collections
   std::string m_tgcPrepDataContainerName;
@@ -174,16 +174,16 @@ private:
   ///////////////////////////////////////////////////////////////////////////
   
   // single bin histogram for counting events
-  TH1* tgceventcounter;
+  TH1* m_tgceventcounter;
 
   // Hits per event histograms
-  TH1* tgcevents;
-  TH1* tgcnumberofhits[2];//[ac]
-  TH1* tgcnumberofwirehits;
-  TH1* tgcnumberofstriphits;
+  TH1* m_tgcevents;
+  TH1* m_tgcnumberofhits[2];//[ac]
+  TH1* m_tgcnumberofwirehits;
+  TH1* m_tgcnumberofstriphits;
 
   // Hit rate across whole of midstation per lumiblock
-  TH2* tgctripletdoublethitsinlbvssect[2];// profile lumiblock, FE, phi
+  TH2* m_tgctripletdoublethitsinlbvssect[2];// profile lumiblock, FE, phi
   
   // book histograms
   StatusCode bookHistogramsNumberOfHits();
@@ -202,16 +202,16 @@ private:
   int m_numberingVersion;
   
   // profile histograms, filled with unique number for each element in a layer-phi48 section
-  TH1* tgcwireprofilephi48[2][7][48]; //[ac][layer][phi48]
-  TH1* tgcstripprofilephi48[2][7][48];//[ac][layer][phi48]
+  TH1* m_tgcwireprofilephi48[2][7][48]; //[ac][layer][phi48]
+  TH1* m_tgcstripprofilephi48[2][7][48];//[ac][layer][phi48]
   
   // profile and occupancy maps filled in procHistograms and PostProcessor
-  TH2* tgcprofilemap[2][2];  //[ac][ws]
-  TH2* tgcoccupancymap[2][2];//[ac][ws]
+  TH2* m_tgcprofilemap[2][2];  //[ac][ws]
+  TH2* m_tgcoccupancymap[2][2];//[ac][ws]
   
   // coincidence of wires and strip chamber maps
-  TH2* tgcwirestripcoin[2];//[ac]
-  TH2* tgcwirestripcoinlowstat[2];//[ac]
+  TH2* m_tgcwirestripcoin[2];//[ac]
+  TH2* m_tgcwirestripcoinlowstat[2];//[ac]
   
   // book histograms
   StatusCode bookHistogramsProfile();
@@ -226,23 +226,23 @@ private:
   ///////////////////////////////////////////////////////////////////////////
   
   // efficiency per layer-wire/strip
-  TH1* tgceff[2];     //[ac]
-  TH1* tgceffnum[2];  //[ac]
-  TH1* tgceffdenom[2];//[ac]
+  TH1* m_tgceff[2];     //[ac]
+  TH1* m_tgceffnum[2];  //[ac]
+  TH1* m_tgceffdenom[2];//[ac]
   
   // efficiency per sector-layer
-  TH1* tgceffsector[2][2];     //[ac][ws]
-  TH1* tgceffsectornum[2][2];  //[ac][ws]
-  TH1* tgceffsectordenom[2][2];//[ac][ws]
+  TH1* m_tgceffsector[2][2];     //[ac][ws]
+  TH1* m_tgceffsectornum[2][2];  //[ac][ws]
+  TH1* m_tgceffsectordenom[2][2];//[ac][ws]
   
   // efficiency maps (current)
-  TH2* tgceffmap[2][2];     //[ac][ws]
-  TH2* tgceffmapnum[2][2];  //[ac][ws]
-  TH2* tgceffmapdenom[2][2];//[ac][ws]
+  TH2* m_tgceffmap[2][2];     //[ac][ws]
+  TH2* m_tgceffmapnum[2][2];  //[ac][ws]
+  TH2* m_tgceffmapdenom[2][2];//[ac][ws]
   
   // efficiency maps for BCID next/prev, (current denominator is used)
-  TH2* tgceffmapbc[2][2][2];   //[ac][ws][prev/next]
-  TH2* tgceffmapnumbc[2][2][2];//[ac][ws][prev/next]
+  TH2* m_tgceffmapbc[2][2][2];   //[ac][ws][prev/next]
+  TH2* m_tgceffmapnumbc[2][2][2];//[ac][ws][prev/next]
   
   // calculates efficiency for given side, ws, chamber-layer 
   // is called by fillEfficiency after checks
@@ -260,8 +260,8 @@ private:
   ///////////////////////////////////////////////////////////////////////////
   
   // XY View histograms, filled with (per chamber) each wire's R and each strip's Phi
-  TH2* tgcxyview[2];        //[ac]
-  TH2* tgcxyviewlayer[2][9];//[ac][layer]
+  TH2* m_tgcxyview[2];        //[ac]
+  TH2* m_tgcxyviewlayer[2][9];//[ac][layer]
   
   // book histograms
   StatusCode bookHistogramsXYView();
@@ -275,14 +275,14 @@ private:
   ///////////////////////////////////////////////////////////////////////////
   
   // summary of bin values from efficiency maps
-  TH1* tgcsummaryofeffpergasgap[2][2];      //[ac][ws]
-  TH1* tgcsummaryofeffperchambertype[2][17];//[ws][TYPE]
+  TH1* m_tgcsummaryofeffpergasgap[2][2];      //[ac][ws]
+  TH1* m_tgcsummaryofeffperchambertype[2][17];//[ws][TYPE]
   
   // summary of bin values from occupancy maps
-  TH1* tgcsummaryoflog10wireoccupancypergasgap[2];       //[ac]
-  TH1* tgcsummaryoflog10stripoccupancypergasgap[2];      //[ac]
-  TH1* tgcsummaryoflog10wireoccupancyperchambertype[19]; //[TYPE]
-  TH1* tgcsummaryoflog10stripoccupancyperchambertype[19];//[TYPE]
+  TH1* m_tgcsummaryoflog10wireoccupancypergasgap[2];       //[ac]
+  TH1* m_tgcsummaryoflog10stripoccupancypergasgap[2];      //[ac]
+  TH1* m_tgcsummaryoflog10wireoccupancyperchambertype[19]; //[TYPE]
+  TH1* m_tgcsummaryoflog10stripoccupancyperchambertype[19];//[TYPE]
   
   // book histograms
   StatusCode bookHistogramsSummary();
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg.cxx
index fe53f918c3dd84389e63d6197b32845685d378ac..c7dc61d0f5d75001a5120ba68b52ac3218b56f34 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg.cxx
@@ -77,110 +77,110 @@ TgcLv1RawDataValAlg::TgcLv1RawDataValAlg(const std::string &type, const std::str
 
   // initialize the histos
   for(int ac=0;ac<2;ac++){
-	  tgclv1lpttiming[ac] = 0;
-	  tgclv1lpttimingptcut[ac] = 0;
-	  tgclv1lpttimingmap[ac] = 0;
-	  tgclv1lptcurrentfractionmap[ac] = 0;
-	  tgclv1lpttimingmapptcut[ac] = 0;
-	  tgclv1lptcurrentfractionmapptcut[ac] = 0;
-	  tgclv1slvslpttiming[ac] = 0;
-	  tgclv1slvslpttimingptcut[ac] = 0;
-	  tgclv1_SL_trigger_timing_ES[ac] = 0;
-	  tgclv1_SL_trigger_timing_num_ES[ac] = 0;
-	  tgclv1_SL_trigger_timing_denom_ES[ac] = 0;
-	  tgclv1_LPT_trigger_timing_ES[ac] = 0;
-	  tgclv1_LPT_trigger_timing_num_ES[ac] = 0;
-	  tgclv1_LPT_trigger_timing_denom_ES[ac] = 0;
-	  tgclv1_SL_trigger_timing_ES_GM[ac] = 0;
-	  tgclv1_LPT_trigger_timing_ES_GM[ac] = 0;
-	  tgclv1_plateau_eff_counting_ES[ac] = 0;
-	  tgclv1_plateau_eff_counting_num_ES[ac] = 0;
-	  tgclv1_plateau_eff_counting_denom_ES[ac] = 0;
-	  tgclv1_plateau_eff_counting_ES_GM[ac] = 0;
-	  tgclv1summaryofsltiming[ac] = 0;
-	  tgclv1summaryoflpttiming[ac] = 0;
+	  m_tgclv1lpttiming[ac] = 0;
+	  m_tgclv1lpttimingptcut[ac] = 0;
+	  m_tgclv1lpttimingmap[ac] = 0;
+	  m_tgclv1lptcurrentfractionmap[ac] = 0;
+	  m_tgclv1lpttimingmapptcut[ac] = 0;
+	  m_tgclv1lptcurrentfractionmapptcut[ac] = 0;
+	  m_tgclv1slvslpttiming[ac] = 0;
+	  m_tgclv1slvslpttimingptcut[ac] = 0;
+	  m_tgclv1_SL_trigger_timing_ES[ac] = 0;
+	  m_tgclv1_SL_trigger_timing_num_ES[ac] = 0;
+	  m_tgclv1_SL_trigger_timing_denom_ES[ac] = 0;
+	  m_tgclv1_LPT_trigger_timing_ES[ac] = 0;
+	  m_tgclv1_LPT_trigger_timing_num_ES[ac] = 0;
+	  m_tgclv1_LPT_trigger_timing_denom_ES[ac] = 0;
+	  m_tgclv1_SL_trigger_timing_ES_GM[ac] = 0;
+	  m_tgclv1_LPT_trigger_timing_ES_GM[ac] = 0;
+	  m_tgclv1_plateau_eff_counting_ES[ac] = 0;
+	  m_tgclv1_plateau_eff_counting_num_ES[ac] = 0;
+	  m_tgclv1_plateau_eff_counting_denom_ES[ac] = 0;
+	  m_tgclv1_plateau_eff_counting_ES_GM[ac] = 0;
+	  m_tgclv1summaryofsltiming[ac] = 0;
+	  m_tgclv1summaryoflpttiming[ac] = 0;
 	  
-	  tgclv1slchamberlowstat[ac] = 0;
-	  tgclv1sltimingptcutlowstat[ac] = 0;
+	  m_tgclv1slchamberlowstat[ac] = 0;
+	  m_tgclv1sltimingptcutlowstat[ac] = 0;
 
-	  tgclv1sltiming[ac] = 0;
-	  tgclv1sltimingptcut[ac] = 0;
-	  tgclv1sltimingmap[ac] = 0;
-	  tgclv1slcurrentfractionmap[ac] = 0;
-	  tgclv1sltimingmapptcut[ac] = 0;
-	  tgclv1slcurrentfractionmapptcut[ac] = 0;
+	  m_tgclv1sltiming[ac] = 0;
+	  m_tgclv1sltimingptcut[ac] = 0;
+	  m_tgclv1sltimingmap[ac] = 0;
+	  m_tgclv1slcurrentfractionmap[ac] = 0;
+	  m_tgclv1sltimingmapptcut[ac] = 0;
+	  m_tgclv1slcurrentfractionmapptcut[ac] = 0;
 
 	  for(int isec=0; isec<12; isec++){
-	    tgclv1sltimingsector[ac][isec] = 0;
-	    tgclv1sltimingptcutsector[ac][isec] = 0;
-	    tgclv1lpttimingsector[ac][isec] = 0;
-	    tgclv1lpttimingptcutsector[ac][isec] = 0;
-	    tgclv1slvslpttimingsector[ac][isec] = 0;
-	    tgclv1slvslpttimingptcutsector[ac][isec] = 0;
+	    m_tgclv1sltimingsector[ac][isec] = 0;
+	    m_tgclv1sltimingptcutsector[ac][isec] = 0;
+	    m_tgclv1lpttimingsector[ac][isec] = 0;
+	    m_tgclv1lpttimingptcutsector[ac][isec] = 0;
+	    m_tgclv1slvslpttimingsector[ac][isec] = 0;
+	    m_tgclv1slvslpttimingptcutsector[ac][isec] = 0;
 	    for(int itrig=0; itrig<4; itrig++){
-		tgclv1sltimingsectortrg[ac][isec][itrig] = 0;
-		tgclv1sltimingptcutsectortrg[ac][isec][itrig] = 0;
-		tgclv1lpttimingsectortrg[ac][isec][itrig] = 0;
-		tgclv1lpttimingptcutsectortrg[ac][isec][itrig] = 0;
-		tgclv1slvslpttimingsectortrg[ac][isec][itrig] = 0;
-		tgclv1slvslpttimingptcutsectortrg[ac][isec][itrig] = 0;
+		m_tgclv1sltimingsectortrg[ac][isec][itrig] = 0;
+		m_tgclv1sltimingptcutsectortrg[ac][isec][itrig] = 0;
+		m_tgclv1lpttimingsectortrg[ac][isec][itrig] = 0;
+		m_tgclv1lpttimingptcutsectortrg[ac][isec][itrig] = 0;
+		m_tgclv1slvslpttimingsectortrg[ac][isec][itrig] = 0;
+		m_tgclv1slvslpttimingptcutsectortrg[ac][isec][itrig] = 0;
 	    }
 	  }
 	  for(int itrig=0; itrig<4; itrig++){
-	    tgclv1sltimingtrg[ac][itrig] = 0;
-	    tgclv1sltimingptcuttrg[ac][itrig] = 0;
-	    tgclv1lpttimingtrg[ac][itrig] = 0;
-	    tgclv1lpttimingptcuttrg[ac][itrig] = 0;
+	    m_tgclv1sltimingtrg[ac][itrig] = 0;
+	    m_tgclv1sltimingptcuttrg[ac][itrig] = 0;
+	    m_tgclv1lpttimingtrg[ac][itrig] = 0;
+	    m_tgclv1lpttimingptcuttrg[ac][itrig] = 0;
 	  }
 	  for(int im=0; im<2; im++){
-	    tgclv1sltimingtrack[ac][im] = 0;
-	    tgclv1sltimingptcuttrack[ac][im] = 0;
-	    tgclv1lpttimingtrack[ac][im] = 0;
-	    tgclv1lpttimingptcuttrack[ac][im] = 0;
+	    m_tgclv1sltimingtrack[ac][im] = 0;
+	    m_tgclv1sltimingptcuttrack[ac][im] = 0;
+	    m_tgclv1lpttimingtrack[ac][im] = 0;
+	    m_tgclv1lpttimingptcuttrack[ac][im] = 0;
 	  }
 
 	  for(int ipt=0; ipt<6; ipt++){
-	    tgclv1turnon_ES[ac][ipt] = 0;
-	    tgclv1turnontg_ES[ac][ipt] = 0;
-	    tgclv1turnonnum_ES[ac][ipt] = 0;
-	    tgclv1turnondenom_ES[ac][ipt] = 0;
+	    m_tgclv1turnon_ES[ac][ipt] = 0;
+	    m_tgclv1turnontg_ES[ac][ipt] = 0;
+	    m_tgclv1turnonnum_ES[ac][ipt] = 0;
+	    m_tgclv1turnondenom_ES[ac][ipt] = 0;
 
-	    tgclv1sltimingpt[ac][ipt] = 0;
-	    tgclv1lpttimingpt[ac][ipt] = 0;
+	    m_tgclv1sltimingpt[ac][ipt] = 0;
+	    m_tgclv1lpttimingpt[ac][ipt] = 0;
 	    for(int itrig=0; itrig<4; itrig++){
-		tgclv1sltimingpttrg[ac][ipt][itrig] = 0;
-		tgclv1lpttimingpttrg[ac][ipt][itrig] = 0;
+		m_tgclv1sltimingpttrg[ac][ipt][itrig] = 0;
+		m_tgclv1lpttimingpttrg[ac][ipt][itrig] = 0;
 	    }
 	    for(int im=0; im<2; im++)
-		tgclv1deltar[ac][ipt][im] = 0;
+		m_tgclv1deltar[ac][ipt][im] = 0;
 	    for(int icharge=0; icharge<3; icharge++){
 	       for(int imuid=0; imuid<2; imuid++){
-		  tgclv1turnon[ac][ipt][icharge][imuid] = 0;
-		  tgclv1turnontg[ac][ipt][icharge][imuid] = 0;
-		  tgclv1turnonnum[ac][ipt][icharge][imuid] = 0;
-		  tgclv1turnondenom[ac][ipt][icharge][imuid] = 0;
-		  tgclv1effetavsphidenom[ac][ipt][icharge][imuid] = 0;
+		  m_tgclv1turnon[ac][ipt][icharge][imuid] = 0;
+		  m_tgclv1turnontg[ac][ipt][icharge][imuid] = 0;
+		  m_tgclv1turnonnum[ac][ipt][icharge][imuid] = 0;
+		  m_tgclv1turnondenom[ac][ipt][icharge][imuid] = 0;
+		  m_tgclv1effetavsphidenom[ac][ipt][icharge][imuid] = 0;
 	          for(int ipcn=0; ipcn<3; ipcn++){
-		     tgclv1effetavsphi[ac][ipt][icharge][imuid][ipcn] = 0;
-		     tgclv1effetavsphinum[ac][ipt][icharge][imuid][ipcn] = 0;
+		     m_tgclv1effetavsphi[ac][ipt][icharge][imuid][ipcn] = 0;
+		     m_tgclv1effetavsphinum[ac][ipt][icharge][imuid][ipcn] = 0;
 		  }
 	       }
 	    }
 	  }
           for(int mod=0;mod<9;mod++)
             for(int pt=0;pt<6;pt++){
-              tgclv1cw[ac][mod][pt] = 0;
+              m_tgclv1cw[ac][mod][pt] = 0;
               for(int m=0;m<2;m++){
-                tgclv1cwoffline[ac][mod][pt][m] = 0;
-                tgclv1cwrejectedoffline[ac][mod][pt][m] = 0;
+                m_tgclv1cwoffline[ac][mod][pt][m] = 0;
+                m_tgclv1cwrejectedoffline[ac][mod][pt][m] = 0;
               }
             }
 
 	
   }
   for(int ich=0; ich<6; ich++){
-	  tgclv1summaryofsltimingperchambertype[ich] = 0;
-	  tgclv1summaryoflpttimingperchambertype[ich] = 0;
+	  m_tgclv1summaryofsltimingperchambertype[ich] = 0;
+	  m_tgclv1summaryoflpttimingperchambertype[ich] = 0;
   }
 
 } 
@@ -303,8 +303,8 @@ TgcLv1RawDataValAlg::bookHistogramsRecurrent(){
     }
     else{
       for(int ac=0;ac<2;ac++){
-        tgclv1slchamberlowstat[ac] = 0;
-        tgclv1sltimingptcutlowstat[ac] = 0;
+        m_tgclv1slchamberlowstat[ac] = 0;
+        m_tgclv1sltimingptcutlowstat[ac] = 0;
       }
     }
   }// newLowStatInterval
@@ -351,10 +351,10 @@ TgcLv1RawDataValAlg::bookHistogramsRecurrent(){
       for(int ac=0;ac<2;ac++)
         for(int mod=0;mod<9;mod++)
           for(int pt=0;pt<6;pt++){
-            tgclv1cw[ac][mod][pt] = 0;
+            m_tgclv1cw[ac][mod][pt] = 0;
             for(int m=0;m<m_nMuonAlgorithms;m++){
-              tgclv1cwoffline[ac][mod][pt][m] = 0;
-              tgclv1cwrejectedoffline[ac][mod][pt][m] = 0;
+              m_tgclv1cwoffline[ac][mod][pt][m] = 0;
+              m_tgclv1cwrejectedoffline[ac][mod][pt][m] = 0;
             }
           }
 
@@ -492,18 +492,18 @@ TgcLv1RawDataValAlg::procHistograms(){
       // express stream only
       for(int ac=0;ac<2;ac++){
         for(int pt=0;pt<6;pt++) {
-          tgclv1turnon_ES[ac][pt]  ->Divide( tgclv1turnonnum_ES[ac][pt], tgclv1turnondenom_ES[ac][pt], 1, 1, "B" );
-         if(tgclv1turnondenom_ES[ac][pt]->Integral()>0.) tgclv1turnontg_ES[ac][pt]->BayesDivide( tgclv1turnonnum_ES[ac][pt], tgclv1turnondenom_ES[ac][pt] );
+          m_tgclv1turnon_ES[ac][pt]  ->Divide( m_tgclv1turnonnum_ES[ac][pt], m_tgclv1turnondenom_ES[ac][pt], 1, 1, "B" );
+         if(m_tgclv1turnondenom_ES[ac][pt]->Integral()>0.) m_tgclv1turnontg_ES[ac][pt]->BayesDivide( m_tgclv1turnonnum_ES[ac][pt], m_tgclv1turnondenom_ES[ac][pt] );
         }//pt
 
-        tgclv1_plateau_eff_counting_ES[ac]   ->Divide( tgclv1_plateau_eff_counting_num_ES[ac], tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
-        tgclv1_plateau_eff_counting_ES_GM[ac]->Divide( tgclv1_plateau_eff_counting_num_ES[ac], tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
+        m_tgclv1_plateau_eff_counting_ES[ac]   ->Divide( m_tgclv1_plateau_eff_counting_num_ES[ac], m_tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
+        m_tgclv1_plateau_eff_counting_ES_GM[ac]->Divide( m_tgclv1_plateau_eff_counting_num_ES[ac], m_tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
 
-        tgclv1_SL_trigger_timing_ES[ac] ->Divide( tgclv1_SL_trigger_timing_num_ES[ac],  tgclv1_SL_trigger_timing_denom_ES[ac]  );
-        tgclv1_LPT_trigger_timing_ES[ac]->Divide( tgclv1_LPT_trigger_timing_num_ES[ac], tgclv1_LPT_trigger_timing_denom_ES[ac] );
+        m_tgclv1_SL_trigger_timing_ES[ac] ->Divide( m_tgclv1_SL_trigger_timing_num_ES[ac],  m_tgclv1_SL_trigger_timing_denom_ES[ac]  );
+        m_tgclv1_LPT_trigger_timing_ES[ac]->Divide( m_tgclv1_LPT_trigger_timing_num_ES[ac], m_tgclv1_LPT_trigger_timing_denom_ES[ac] );
 
-        tgclv1_SL_trigger_timing_ES_GM[ac] ->Divide( tgclv1_SL_trigger_timing_num_ES[ac],  tgclv1_SL_trigger_timing_denom_ES[ac]  );
-        tgclv1_LPT_trigger_timing_ES_GM[ac]->Divide( tgclv1_LPT_trigger_timing_num_ES[ac], tgclv1_LPT_trigger_timing_denom_ES[ac] );
+        m_tgclv1_SL_trigger_timing_ES_GM[ac] ->Divide( m_tgclv1_SL_trigger_timing_num_ES[ac],  m_tgclv1_SL_trigger_timing_denom_ES[ac]  );
+        m_tgclv1_LPT_trigger_timing_ES_GM[ac]->Divide( m_tgclv1_LPT_trigger_timing_num_ES[ac], m_tgclv1_LPT_trigger_timing_denom_ES[ac] );
 
       }//ac
     }
@@ -528,9 +528,9 @@ TgcLv1RawDataValAlg::procHistograms(){
           /////////////////////////////////////
           // SL Timing Map
           // Get Total number of triggers for this chamber
-          p = tgclv1sltimingmap[ac]->GetBinContent(etabinp +1, phi48);
-          c = tgclv1sltimingmap[ac]->GetBinContent(etabinc +1, phi48);
-          n = tgclv1sltimingmap[ac]->GetBinContent(etabinn +1, phi48);
+          p = m_tgclv1sltimingmap[ac]->GetBinContent(etabinp +1, phi48);
+          c = m_tgclv1sltimingmap[ac]->GetBinContent(etabinc +1, phi48);
+          n = m_tgclv1sltimingmap[ac]->GetBinContent(etabinn +1, phi48);
           tot = p+c+n;
 
           // Get Fractions and Errors
@@ -541,19 +541,19 @@ TgcLv1RawDataValAlg::procHistograms(){
             fn= n/tot; efn = sqrt( fn*(1.-fn)/tot );
           }
           // Fill Fractions into map
-          tgclv1slcurrentfractionmap[ac]->SetBinContent(etabinp +1,  phi48, fp);
-          tgclv1slcurrentfractionmap[ac]->SetBinContent(etabinc +1,  phi48, fc);
-          tgclv1slcurrentfractionmap[ac]->SetBinContent(etabinn +1,  phi48, fn);
-          tgclv1slcurrentfractionmap[ac]->SetBinError(etabinp +1,  phi48, efp);
-          tgclv1slcurrentfractionmap[ac]->SetBinError(etabinc +1,  phi48, efc);
-          tgclv1slcurrentfractionmap[ac]->SetBinError(etabinn +1,  phi48, efn);
+          m_tgclv1slcurrentfractionmap[ac]->SetBinContent(etabinp +1,  phi48, fp);
+          m_tgclv1slcurrentfractionmap[ac]->SetBinContent(etabinc +1,  phi48, fc);
+          m_tgclv1slcurrentfractionmap[ac]->SetBinContent(etabinn +1,  phi48, fn);
+          m_tgclv1slcurrentfractionmap[ac]->SetBinError(etabinp +1,  phi48, efp);
+          m_tgclv1slcurrentfractionmap[ac]->SetBinError(etabinc +1,  phi48, efc);
+          m_tgclv1slcurrentfractionmap[ac]->SetBinError(etabinn +1,  phi48, efn);
           
           /////////////////////////////////////
           // SL Timing Map
           // Get Total number of triggers for this chamber
-          p = tgclv1lpttimingmap[ac]->GetBinContent(etabinp +1, phi48);
-          c = tgclv1lpttimingmap[ac]->GetBinContent(etabinc +1, phi48);
-          n = tgclv1lpttimingmap[ac]->GetBinContent(etabinn +1, phi48);
+          p = m_tgclv1lpttimingmap[ac]->GetBinContent(etabinp +1, phi48);
+          c = m_tgclv1lpttimingmap[ac]->GetBinContent(etabinc +1, phi48);
+          n = m_tgclv1lpttimingmap[ac]->GetBinContent(etabinn +1, phi48);
           tot = p+c+n;
 
           // Get Fractions and Errors
@@ -564,12 +564,12 @@ TgcLv1RawDataValAlg::procHistograms(){
             fn= n/tot; efn = sqrt( fn*(1.-fn)/tot );
           }
           // Fill Fractions into map
-          tgclv1lptcurrentfractionmap[ac]->SetBinContent(etabinp +1,  phi48, fp);
-          tgclv1lptcurrentfractionmap[ac]->SetBinContent(etabinc+1,  phi48, fc);
-          tgclv1lptcurrentfractionmap[ac]->SetBinContent(etabinn+1,  phi48, fn);
-          tgclv1lptcurrentfractionmap[ac]->SetBinError(etabinp +1,  phi48, efp);
-          tgclv1lptcurrentfractionmap[ac]->SetBinError(etabinc+1,  phi48, efc);
-          tgclv1lptcurrentfractionmap[ac]->SetBinError(etabinn+1,  phi48, efn);
+          m_tgclv1lptcurrentfractionmap[ac]->SetBinContent(etabinp +1,  phi48, fp);
+          m_tgclv1lptcurrentfractionmap[ac]->SetBinContent(etabinc+1,  phi48, fc);
+          m_tgclv1lptcurrentfractionmap[ac]->SetBinContent(etabinn+1,  phi48, fn);
+          m_tgclv1lptcurrentfractionmap[ac]->SetBinError(etabinp +1,  phi48, efp);
+          m_tgclv1lptcurrentfractionmap[ac]->SetBinError(etabinc+1,  phi48, efc);
+          m_tgclv1lptcurrentfractionmap[ac]->SetBinError(etabinn+1,  phi48, efn);
 
         }
       }
@@ -578,18 +578,18 @@ TgcLv1RawDataValAlg::procHistograms(){
     ///////////////////////////////////////////////////////////////////////////
     // NumberOfTrigger
     for(int ac=0;ac<2;ac++){
-      tgclv1slpereventlb[ac]->Sumw2();
-      tgclv1slpereventlb[ac]->Divide( tgclv1slinlb[ac], tgclv1eventsinlb );
+      m_tgclv1slpereventlb[ac]->Sumw2();
+      m_tgclv1slpereventlb[ac]->Divide( m_tgclv1slinlb[ac], m_tgclv1eventsinlb );
 
-      tgclv1slpereventbcid[ac]->Sumw2();
-      tgclv1slpereventbcid[ac]->Divide( tgclv1slinbcid[ac], tgclv1eventsinbcid );
+      m_tgclv1slpereventbcid[ac]->Sumw2();
+      m_tgclv1slpereventbcid[ac]->Divide( m_tgclv1slinbcid[ac], m_tgclv1eventsinbcid );
 
       for(int pt=0;pt<6;pt++){
-        tgclv1slpereventlbpt[ac][pt]->Sumw2();
-        tgclv1slpereventlbpt[ac][pt]->Divide( tgclv1slinlbpt[ac][pt], tgclv1eventsinlb );
+        m_tgclv1slpereventlbpt[ac][pt]->Sumw2();
+        m_tgclv1slpereventlbpt[ac][pt]->Divide( m_tgclv1slinlbpt[ac][pt], m_tgclv1eventsinlb );
 
-        tgclv1slpereventbcidpt[ac][pt]->Sumw2();
-        tgclv1slpereventbcidpt[ac][pt]->Divide( tgclv1slinbcidpt[ac][pt], tgclv1eventsinbcid );
+        m_tgclv1slpereventbcidpt[ac][pt]->Sumw2();
+        m_tgclv1slpereventbcidpt[ac][pt]->Divide( m_tgclv1slinbcidpt[ac][pt], m_tgclv1eventsinbcid );
       }
     }
 
@@ -602,21 +602,21 @@ TgcLv1RawDataValAlg::procHistograms(){
             // Fill histograms for Both charges
             if(pna==2){
               for(int pcn=0;pcn<3;pcn++){// pcn
-                tgclv1effetavsphinum[ac][ipt][pna][mu][pcn]->Add(tgclv1effetavsphinum[ac][ipt][0][mu][pcn], tgclv1effetavsphinum[ac][ipt][1][mu][pcn]);
+                m_tgclv1effetavsphinum[ac][ipt][pna][mu][pcn]->Add(m_tgclv1effetavsphinum[ac][ipt][0][mu][pcn], m_tgclv1effetavsphinum[ac][ipt][1][mu][pcn]);
               }
-              tgclv1effetavsphidenom[ac][ipt][pna][mu]->Add(tgclv1effetavsphidenom[ac][ipt][0][mu], tgclv1effetavsphidenom[ac][ipt][1][mu]);
-              tgclv1turnonnum[ac][ipt][pna][mu]       ->Add(tgclv1turnonnum[ac][ipt][0][mu],        tgclv1turnonnum[ac][ipt][1][mu]);
-              tgclv1turnondenom[ac][ipt][pna][mu]     ->Add(tgclv1turnondenom[ac][ipt][0][mu],      tgclv1turnondenom[ac][ipt][1][mu]);
+              m_tgclv1effetavsphidenom[ac][ipt][pna][mu]->Add(m_tgclv1effetavsphidenom[ac][ipt][0][mu], m_tgclv1effetavsphidenom[ac][ipt][1][mu]);
+              m_tgclv1turnonnum[ac][ipt][pna][mu]       ->Add(m_tgclv1turnonnum[ac][ipt][0][mu],        m_tgclv1turnonnum[ac][ipt][1][mu]);
+              m_tgclv1turnondenom[ac][ipt][pna][mu]     ->Add(m_tgclv1turnondenom[ac][ipt][0][mu],      m_tgclv1turnondenom[ac][ipt][1][mu]);
             }
 
             // Calculate Efficiencies
             for(int pcn=0;pcn<3;pcn++){// pcn
-              //tgclv1turnon[ac][ipt][mu]->Sumw2();
-              tgclv1turnon[ac][ipt][pna][mu]->Divide(tgclv1turnonnum[ac][ipt][pna][mu], tgclv1turnondenom[ac][ipt][pna][mu], 1, 1, "B");
-              if(tgclv1turnondenom[ac][ipt][pna][mu]->Integral()>0.)tgclv1turnontg[ac][ipt][pna][mu]->BayesDivide(tgclv1turnonnum[ac][ipt][pna][mu], tgclv1turnondenom[ac][ipt][pna][mu]);
+              //m_tgclv1turnon[ac][ipt][mu]->Sumw2();
+              m_tgclv1turnon[ac][ipt][pna][mu]->Divide(m_tgclv1turnonnum[ac][ipt][pna][mu], m_tgclv1turnondenom[ac][ipt][pna][mu], 1, 1, "B");
+              if(m_tgclv1turnondenom[ac][ipt][pna][mu]->Integral()>0.)m_tgclv1turnontg[ac][ipt][pna][mu]->BayesDivide(m_tgclv1turnonnum[ac][ipt][pna][mu], m_tgclv1turnondenom[ac][ipt][pna][mu]);
 
-              //tgclv1effetavsphi[ac][ipt][mu]->Sumw2();
-              tgclv1effetavsphi[ac][ipt][pna][mu][pcn]->Divide(tgclv1effetavsphinum[ac][ipt][pna][mu][pcn], tgclv1effetavsphidenom[ac][ipt][pna][mu], 1, 1, "B");
+              //m_tgclv1effetavsphi[ac][ipt][mu]->Sumw2();
+              m_tgclv1effetavsphi[ac][ipt][pna][mu][pcn]->Divide(m_tgclv1effetavsphinum[ac][ipt][pna][mu][pcn], m_tgclv1effetavsphidenom[ac][ipt][pna][mu], 1, 1, "B");
             }// pcn
           }// charge
         }// mu
@@ -625,18 +625,18 @@ TgcLv1RawDataValAlg::procHistograms(){
       /////////////////////////////////////
       // express stream only
       for(int ipt=0;ipt<6;ipt++){// pt
-        //tgclv1turnon_ES[ac][pt][mu]->Sumw2();
-        tgclv1turnon_ES[ac][ipt]->Divide( tgclv1turnonnum_ES[ac][ipt], tgclv1turnondenom_ES[ac][ipt], 1, 1, "B" );
-        if((tgclv1turnondenom_ES[ac][ipt]->Integral())>0.)tgclv1turnontg_ES[ac][ipt]->BayesDivide( tgclv1turnonnum_ES[ac][ipt], tgclv1turnondenom_ES[ac][ipt] );
+        //m_tgclv1turnon_ES[ac][pt][mu]->Sumw2();
+        m_tgclv1turnon_ES[ac][ipt]->Divide( m_tgclv1turnonnum_ES[ac][ipt], m_tgclv1turnondenom_ES[ac][ipt], 1, 1, "B" );
+        if((m_tgclv1turnondenom_ES[ac][ipt]->Integral())>0.)m_tgclv1turnontg_ES[ac][ipt]->BayesDivide( m_tgclv1turnonnum_ES[ac][ipt], m_tgclv1turnondenom_ES[ac][ipt] );
       }// pt
 
-      tgclv1_plateau_eff_counting_ES[ac]->Divide( tgclv1_plateau_eff_counting_num_ES[ac], tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
-      tgclv1_plateau_eff_counting_ES_GM[ac]->Divide( tgclv1_plateau_eff_counting_num_ES[ac], tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
+      m_tgclv1_plateau_eff_counting_ES[ac]->Divide( m_tgclv1_plateau_eff_counting_num_ES[ac], m_tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
+      m_tgclv1_plateau_eff_counting_ES_GM[ac]->Divide( m_tgclv1_plateau_eff_counting_num_ES[ac], m_tgclv1_plateau_eff_counting_denom_ES[ac], 1,1,"B" );
 
-      tgclv1_SL_trigger_timing_ES[ac] -> Divide( tgclv1_SL_trigger_timing_num_ES[ac], tgclv1_SL_trigger_timing_denom_ES[ac] );
-      tgclv1_LPT_trigger_timing_ES[ac] -> Divide( tgclv1_LPT_trigger_timing_num_ES[ac], tgclv1_LPT_trigger_timing_denom_ES[ac] );
-      tgclv1_SL_trigger_timing_ES_GM[ac] -> Divide( tgclv1_SL_trigger_timing_num_ES[ac], tgclv1_SL_trigger_timing_denom_ES[ac] );
-      tgclv1_LPT_trigger_timing_ES_GM[ac] -> Divide( tgclv1_LPT_trigger_timing_num_ES[ac], tgclv1_LPT_trigger_timing_denom_ES[ac] );
+      m_tgclv1_SL_trigger_timing_ES[ac] -> Divide( m_tgclv1_SL_trigger_timing_num_ES[ac], m_tgclv1_SL_trigger_timing_denom_ES[ac] );
+      m_tgclv1_LPT_trigger_timing_ES[ac] -> Divide( m_tgclv1_LPT_trigger_timing_num_ES[ac], m_tgclv1_LPT_trigger_timing_denom_ES[ac] );
+      m_tgclv1_SL_trigger_timing_ES_GM[ac] -> Divide( m_tgclv1_SL_trigger_timing_num_ES[ac], m_tgclv1_SL_trigger_timing_denom_ES[ac] );
+      m_tgclv1_LPT_trigger_timing_ES_GM[ac] -> Divide( m_tgclv1_LPT_trigger_timing_num_ES[ac], m_tgclv1_LPT_trigger_timing_denom_ES[ac] );
     }// side
 
   } //endOfRun
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_CoincidenceWindow.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_CoincidenceWindow.cxx
index c3218df98433d798af32fe1f6788dd3fd5bd5da6..abe29d83b8481b51264de7f536d5e242e72120ec 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_CoincidenceWindow.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_CoincidenceWindow.cxx
@@ -61,10 +61,10 @@ TgcLv1RawDataValAlg::bookHistogramsCoincidenceWindow(){
 
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
 
-  MonGroup tgclv1_cw_a( this, m_generic_path_tgclv1+"/TGCEA/CW", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_cw_c( this, m_generic_path_tgclv1+"/TGCEC/CW", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_cw_a( this, generic_path_tgclv1+"/TGCEA/CW", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_cw_c( this, generic_path_tgclv1+"/TGCEC/CW", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_cw_ac[2] = { &tgclv1_cw_a, &tgclv1_cw_c};
 
   std::stringstream ss;
@@ -82,8 +82,8 @@ TgcLv1RawDataValAlg::bookHistogramsCoincidenceWindow(){
       for(int pt=0;pt<6;pt++){
         // Coincidence Window for SL triggers for current pT threshold
         ss.str(""); ss << "CW_Mod"<< mod << "_RoI" << roi << "_PT"<< pt+1 << "_" << side[ac] ;
-        tgclv1cw[ac][mod][pt] = new TH2F(ss.str().c_str(), (ss.str() + ";d#phi;dR").c_str(), 15,  -7, 8, 31, -15, 16);
-        if( ( tgclv1_cw_ac[ac]->regHist(tgclv1cw[ac][mod][pt]) ).isFailure()){
+        m_tgclv1cw[ac][mod][pt] = new TH2F(ss.str().c_str(), (ss.str() + ";d#phi;dR").c_str(), 15,  -7, 8, 31, -15, 16);
+        if( ( tgclv1_cw_ac[ac]->regHist(m_tgclv1cw[ac][mod][pt]) ).isFailure()){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
@@ -91,16 +91,16 @@ TgcLv1RawDataValAlg::bookHistogramsCoincidenceWindow(){
         for(int m=0;m<m_nMuonAlgorithms;m++){
           // CW for SL triggers matched with offline muons above current pT threshold
           ss.str(""); ss << "CW_Mod"<< mod << "_RoI" << roi << "_PT"<< pt+1 << "_" << muid[m] << "_" << side[ac] ;
-          tgclv1cwoffline[ac][mod][pt][m] = new TH2F(ss.str().c_str(), (ss.str() + ";d#phi;dR").c_str(), 15,  -7, 8, 31, -15, 16);
-          if( ( tgclv1_cw_ac[ac]->regHist(tgclv1cwoffline[ac][mod][pt][m]) ).isFailure()){
+          m_tgclv1cwoffline[ac][mod][pt][m] = new TH2F(ss.str().c_str(), (ss.str() + ";d#phi;dR").c_str(), 15,  -7, 8, 31, -15, 16);
+          if( ( tgclv1_cw_ac[ac]->regHist(m_tgclv1cwoffline[ac][mod][pt][m]) ).isFailure()){
             m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
             return StatusCode::FAILURE;
           }
           
           // CW for SL triggers matched with offline muons below current pT threshold
           ss.str(""); ss << "!CW_Mod"<< mod << "_RoI" << roi << "_PT"<< pt+1 << "_" << muid[m] <<  "_" << side[ac] ;
-          tgclv1cwrejectedoffline[ac][mod][pt][m] = new TH2F(ss.str().c_str(), (ss.str() + ";d#phi;dR").c_str(), 15,  -7, 8, 31, -15, 16);
-          if( ( tgclv1_cw_ac[ac]->regHist(tgclv1cwrejectedoffline[ac][mod][pt][m]) ).isFailure()){
+          m_tgclv1cwrejectedoffline[ac][mod][pt][m] = new TH2F(ss.str().c_str(), (ss.str() + ";d#phi;dR").c_str(), 15,  -7, 8, 31, -15, 16);
+          if( ( tgclv1_cw_ac[ac]->regHist(m_tgclv1cwrejectedoffline[ac][mod][pt][m]) ).isFailure()){
             m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
             return StatusCode::FAILURE;
           }
@@ -212,7 +212,7 @@ TgcLv1RawDataValAlg::fillCoincidenceWindow(int ms,
 
         // If ms (function argument)==0 fill general CW histogram
         if(ms==0){
-          tgclv1cw[isAside==false][mod][pt-1]->Fill(deltas, deltaw);
+          m_tgclv1cw[isAside==false][mod][pt-1]->Fill(deltas, deltaw);
         }
 
         // If no tracks were found close together loop over offline muons
@@ -245,9 +245,9 @@ TgcLv1RawDataValAlg::fillCoincidenceWindow(int ms,
               // Fill histogram based on whether the Offline Trigger Level is greater
               // than currently looping trigger level
               if(optthres>ipt)
-                tgclv1cwoffline[ac][mod][ipt][ms]->Fill(deltas, deltaw);
+                m_tgclv1cwoffline[ac][mod][ipt][ms]->Fill(deltas, deltaw);
               else
-                tgclv1cwrejectedoffline[ac][mod][ipt][ms]->Fill(deltas, deltaw);
+                m_tgclv1cwrejectedoffline[ac][mod][ipt][ms]->Fill(deltas, deltaw);
             }// ipt
           }// offline muons
   
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Efficiency.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Efficiency.cxx
index 7afa530c02a17e9c82a0051c18ac67c7d98f4e1c..cb4cd7f891fc169f23c7f2912e0845d378f8c6df 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Efficiency.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Efficiency.cxx
@@ -60,31 +60,31 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
 
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
 
-  MonGroup tgclv1_a( this, m_generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED  );
-  MonGroup tgclv1_c( this, m_generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_a( this, generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_c( this, generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED  );
 
-  MonGroup tgclv1_turnon( this, m_generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED  );
-  MonGroup tgclv1_turnon_a( this, m_generic_path_tgclv1+"/TGCEA/Eff", run, ATTRIB_UNMANAGED  );
-  MonGroup tgclv1_turnon_c( this, m_generic_path_tgclv1+"/TGCEC/Eff", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_turnon( this, generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_turnon_a( this, generic_path_tgclv1+"/TGCEA/Eff", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_turnon_c( this, generic_path_tgclv1+"/TGCEC/Eff", run, ATTRIB_UNMANAGED  );
   MonGroup* tgclv1_turnon_ac[2] = { &tgclv1_turnon_a, &tgclv1_turnon_c};
 
-  MonGroup tgclv1_turnon_numdenom_a( this, m_generic_path_tgclv1+"/TGCEA/Eff/NumDenom", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_turnon_numdenom_c( this, m_generic_path_tgclv1+"/TGCEC/Eff/NumDenom", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_turnon_numdenom_a( this, generic_path_tgclv1+"/TGCEA/Eff/NumDenom", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_turnon_numdenom_c( this, generic_path_tgclv1+"/TGCEC/Eff/NumDenom", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_turnon_numdenom_ac[2] = { &tgclv1_turnon_numdenom_a, &tgclv1_turnon_numdenom_c};
 
-  MonGroup tgclv1_turnon_ES( this, m_generic_path_tgclv1+"/Global/ES", run, ATTRIB_UNMANAGED  );
-  MonGroup tgclv1_turnon_a_ES( this, m_generic_path_tgclv1+"/TGCEA/ES/Eff", run, ATTRIB_UNMANAGED  );
-  MonGroup tgclv1_turnon_c_ES( this, m_generic_path_tgclv1+"/TGCEC/ES/Eff", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_turnon_ES( this, generic_path_tgclv1+"/Global/ES", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_turnon_a_ES( this, generic_path_tgclv1+"/TGCEA/ES/Eff", run, ATTRIB_UNMANAGED  );
+  MonGroup tgclv1_turnon_c_ES( this, generic_path_tgclv1+"/TGCEC/ES/Eff", run, ATTRIB_UNMANAGED  );
   MonGroup* tgclv1_turnon_ac_ES[2] = { &tgclv1_turnon_a_ES, &tgclv1_turnon_c_ES};
 
-  MonGroup tgclv1_turnon_a_ES_GM( this, m_generic_path_tgclv1+"/TGCEA/ES/Eff/GM", run, ATTRIB_UNMANAGED, "", "weightedEff"  );
-  MonGroup tgclv1_turnon_c_ES_GM( this, m_generic_path_tgclv1+"/TGCEC/ES/Eff/GM", run, ATTRIB_UNMANAGED, "", "weightedEff"  );
+  MonGroup tgclv1_turnon_a_ES_GM( this, generic_path_tgclv1+"/TGCEA/ES/Eff/GM", run, ATTRIB_UNMANAGED, "", "weightedEff"  );
+  MonGroup tgclv1_turnon_c_ES_GM( this, generic_path_tgclv1+"/TGCEC/ES/Eff/GM", run, ATTRIB_UNMANAGED, "", "weightedEff"  );
   MonGroup* tgclv1_turnon_ac_ES_GM[2] = { &tgclv1_turnon_a_ES_GM, &tgclv1_turnon_c_ES_GM};
 
-  MonGroup tgclv1_turnon_numdenom_a_ES( this, m_generic_path_tgclv1+"/TGCEA/ES/Eff/NumDenom", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_turnon_numdenom_c_ES( this, m_generic_path_tgclv1+"/TGCEC/ES/Eff/NumDenom", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_turnon_numdenom_a_ES( this, generic_path_tgclv1+"/TGCEA/ES/Eff/NumDenom", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_turnon_numdenom_c_ES( this, generic_path_tgclv1+"/TGCEC/ES/Eff/NumDenom", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_turnon_numdenom_ac_ES[2] = { &tgclv1_turnon_numdenom_a_ES, &tgclv1_turnon_numdenom_c_ES};
 
   std::stringstream ss;
@@ -119,8 +119,8 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
         ss.str(""); ss << "DeltaR_BTW_Track_And_Trigger_PT"<<pt+1 << "_" << muid[m] << "_" << side[ac] ;
         m_log << MSG::DEBUG << ss.str() << endmsg;
 
-        tgclv1deltar[ac][pt][m] = new TH1F(ss.str().c_str(), (ss.str() + ";DeltaR;Entries").c_str() , 200, -1., 1.); 
-        if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(tgclv1deltar[ac][pt][m]) ).isFailure()){
+        m_tgclv1deltar[ac][pt][m] = new TH1F(ss.str().c_str(), (ss.str() + ";DeltaR;Entries").c_str() , 200, -1., 1.); 
+        if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(m_tgclv1deltar[ac][pt][m]) ).isFailure()){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
@@ -131,18 +131,18 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
           // Efficiency
           ss.str(""); ss << "Trigger_Turn_On_Curve" << spna[pna] << "_PT"<< pt+1 << "_" << muid[m] << "_" << side[ac] ;
           m_log << MSG::DEBUG << ss.str() << endmsg;
-          tgclv1turnon[ac][pt][pna][m] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Efficiency").c_str(), pt_nbins, pt_bins); 
-          tgclv1turnon[ac][pt][pna][m]->Sumw2();
-          if( ( tgclv1_turnon_ac[ac]->regHist(tgclv1turnon[ac][pt][pna][m]) ).isFailure()){
+          m_tgclv1turnon[ac][pt][pna][m] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Efficiency").c_str(), pt_nbins, pt_bins); 
+          m_tgclv1turnon[ac][pt][pna][m]->Sumw2();
+          if( ( tgclv1_turnon_ac[ac]->regHist(m_tgclv1turnon[ac][pt][pna][m]) ).isFailure()){
             m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
             return StatusCode::FAILURE;
           }
           // Efficiency Fit Graph
-          tgclv1turnontg[ac][pt][pna][m] = new TGraphAsymmErrors();
-          tgclv1turnontg[ac][pt][pna][m]->SetName( (ss.str() + "_Fit").c_str() );
-          tgclv1turnontg[ac][pt][pna][m]->SetTitle( (ss.str() + ";p_{T} GeV/c;Efficiency").c_str() );
-          tgclv1turnontg[ac][pt][pna][m]->SetMarkerStyle(22);
-          if( ( tgclv1_turnon_ac[ac]->regGraph(tgclv1turnontg[ac][pt][pna][m]) ).isFailure()){
+          m_tgclv1turnontg[ac][pt][pna][m] = new TGraphAsymmErrors();
+          m_tgclv1turnontg[ac][pt][pna][m]->SetName( (ss.str() + "_Fit").c_str() );
+          m_tgclv1turnontg[ac][pt][pna][m]->SetTitle( (ss.str() + ";p_{T} GeV/c;Efficiency").c_str() );
+          m_tgclv1turnontg[ac][pt][pna][m]->SetMarkerStyle(22);
+          if( ( tgclv1_turnon_ac[ac]->regGraph(m_tgclv1turnontg[ac][pt][pna][m]) ).isFailure()){
             m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
             return StatusCode::FAILURE;
           }
@@ -150,9 +150,9 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
           // Numerator
           ss.str(""); ss << "Trigger_Turn_On_Curve" << spna[pna] << "_PT"<< pt+1 << "_" << muid[m] << "_" << side[ac] << "_Numerator";
           m_log << MSG::DEBUG << ss.str() << endmsg;
-          tgclv1turnonnum[ac][pt][pna][m] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
-          tgclv1turnonnum[ac][pt][pna][m]->Sumw2();
-          if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(tgclv1turnonnum[ac][pt][pna][m]) ).isFailure()){
+          m_tgclv1turnonnum[ac][pt][pna][m] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
+          m_tgclv1turnonnum[ac][pt][pna][m]->Sumw2();
+          if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(m_tgclv1turnonnum[ac][pt][pna][m]) ).isFailure()){
             m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
             return StatusCode::FAILURE;
           }
@@ -160,9 +160,9 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
           // Denominator
           ss.str(""); ss << "Trigger_Turn_On_Curve" << spna[pna] << "_PT"<< pt+1 << "_" << muid[m] << "_" << side[ac] << "_Denominator";
           m_log << MSG::DEBUG << ss.str() << endmsg;
-          tgclv1turnondenom[ac][pt][pna][m] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
-          tgclv1turnondenom[ac][pt][pna][m]->Sumw2();
-          if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(tgclv1turnondenom[ac][pt][pna][m]) ).isFailure()){
+          m_tgclv1turnondenom[ac][pt][pna][m] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
+          m_tgclv1turnondenom[ac][pt][pna][m]->Sumw2();
+          if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(m_tgclv1turnondenom[ac][pt][pna][m]) ).isFailure()){
             m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
             return StatusCode::FAILURE;
           }
@@ -174,21 +174,21 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
             ss.str(""); ss << "Trigger_Efficiency" << spna[pna] << spcn[pcn] << "_PT"<< pt+1 << "_" << muid[m] << "_" << side[ac] ;
             m_log << MSG::DEBUG << ss.str() << endmsg;
           
-            tgclv1effetavsphi[ac][pt][pna][m][pcn] = new TH2F(ss.str().c_str(), (ss.str() + ";eta;phi").c_str(), 28, 1.0, 2.4, 48, -CLHEP::pi/12, 23*CLHEP::pi/12 ); 
-            tgclv1effetavsphi[ac][pt][pna][m][pcn]->Sumw2();
-            if( ( tgclv1_turnon_ac[ac]->regHist(tgclv1effetavsphi[ac][pt][pna][m][pcn]) ).isFailure()){
+            m_tgclv1effetavsphi[ac][pt][pna][m][pcn] = new TH2F(ss.str().c_str(), (ss.str() + ";eta;phi").c_str(), 28, 1.0, 2.4, 48, -CLHEP::pi/12, 23*CLHEP::pi/12 ); 
+            m_tgclv1effetavsphi[ac][pt][pna][m][pcn]->Sumw2();
+            if( ( tgclv1_turnon_ac[ac]->regHist(m_tgclv1effetavsphi[ac][pt][pna][m][pcn]) ).isFailure()){
               m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
               return StatusCode::FAILURE;
             }
-            tgclv1effetavsphi[ac][pt][pna][m][pcn]->SetMaximum(1.0);
+            m_tgclv1effetavsphi[ac][pt][pna][m][pcn]->SetMaximum(1.0);
           
             // Numerator
             ss.str(""); ss << "Trigger_Efficiency" << spna[pna] << spcn[pcn] << "_PT"<< pt+1 << "_" << muid[m] << "_" << side[ac] << "_Numerator";
             m_log << MSG::DEBUG << ss.str() << endmsg;
           
-            tgclv1effetavsphinum[ac][pt][pna][m][pcn] = new TH2F(ss.str().c_str(), (ss.str() + ";eta;phi").c_str(), 28, 1.0, 2.4, 48, -CLHEP::pi/12, 23*CLHEP::pi/12 ); 
-            tgclv1effetavsphinum[ac][pt][pna][m][pcn]->Sumw2();
-            if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(tgclv1effetavsphinum[ac][pt][pna][m][pcn]) ).isFailure()){
+            m_tgclv1effetavsphinum[ac][pt][pna][m][pcn] = new TH2F(ss.str().c_str(), (ss.str() + ";eta;phi").c_str(), 28, 1.0, 2.4, 48, -CLHEP::pi/12, 23*CLHEP::pi/12 ); 
+            m_tgclv1effetavsphinum[ac][pt][pna][m][pcn]->Sumw2();
+            if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(m_tgclv1effetavsphinum[ac][pt][pna][m][pcn]) ).isFailure()){
               m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
               return StatusCode::FAILURE;
             }
@@ -198,9 +198,9 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
           ss.str(""); ss << "Trigger_Efficiency" << spna[pna] << "_PT"<< pt+1 << "_" << muid[m] << "_" << side[ac] << "_Denominator";
           m_log << MSG::DEBUG << ss.str() << endmsg;
 
-          tgclv1effetavsphidenom[ac][pt][pna][m] = new TH2F(ss.str().c_str(), (ss.str() + ";eta;phi").c_str(), 28, 1.0, 2.4, 48, -CLHEP::pi/12, 23*CLHEP::pi/12 ); 
-          tgclv1effetavsphidenom[ac][pt][pna][m]->Sumw2();
-          if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(tgclv1effetavsphidenom[ac][pt][pna][m]) ).isFailure()){
+          m_tgclv1effetavsphidenom[ac][pt][pna][m] = new TH2F(ss.str().c_str(), (ss.str() + ";eta;phi").c_str(), 28, 1.0, 2.4, 48, -CLHEP::pi/12, 23*CLHEP::pi/12 ); 
+          m_tgclv1effetavsphidenom[ac][pt][pna][m]->Sumw2();
+          if( ( tgclv1_turnon_numdenom_ac[ac]->regHist(m_tgclv1effetavsphidenom[ac][pt][pna][m]) ).isFailure()){
             m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
             return StatusCode::FAILURE;
           }
@@ -220,18 +220,18 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
       // Efficiency
       ss.str(""); ss << "ES_Trigger_Turn_On_Curve" << "_PT"<< pt+1 << "_" << side[ac] ;
       m_log << MSG::DEBUG << ss.str() << endmsg;
-      tgclv1turnon_ES[ac][pt] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Efficiency").c_str(), pt_nbins, pt_bins); 
-      tgclv1turnon_ES[ac][pt]->Sumw2();
-      if( ( tgclv1_turnon_ac_ES[ac]->regHist(tgclv1turnon_ES[ac][pt]) ).isFailure()){
+      m_tgclv1turnon_ES[ac][pt] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Efficiency").c_str(), pt_nbins, pt_bins); 
+      m_tgclv1turnon_ES[ac][pt]->Sumw2();
+      if( ( tgclv1_turnon_ac_ES[ac]->regHist(m_tgclv1turnon_ES[ac][pt]) ).isFailure()){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
       // Efficiency Fit Graph
-      tgclv1turnontg_ES[ac][pt] = new TGraphAsymmErrors();
-      tgclv1turnontg_ES[ac][pt]->SetName( (ss.str() + "_Fit").c_str() );
-      tgclv1turnontg_ES[ac][pt]->SetTitle( (ss.str() + ";p_{T} GeV/c;Efficiency").c_str() );
-      tgclv1turnontg_ES[ac][pt]->SetMarkerStyle(22);
-      if( ( tgclv1_turnon_ac_ES[ac]->regGraph(tgclv1turnontg_ES[ac][pt]) ).isFailure()){
+      m_tgclv1turnontg_ES[ac][pt] = new TGraphAsymmErrors();
+      m_tgclv1turnontg_ES[ac][pt]->SetName( (ss.str() + "_Fit").c_str() );
+      m_tgclv1turnontg_ES[ac][pt]->SetTitle( (ss.str() + ";p_{T} GeV/c;Efficiency").c_str() );
+      m_tgclv1turnontg_ES[ac][pt]->SetMarkerStyle(22);
+      if( ( tgclv1_turnon_ac_ES[ac]->regGraph(m_tgclv1turnontg_ES[ac][pt]) ).isFailure()){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
@@ -239,9 +239,9 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
       // Numerator
       ss.str(""); ss << "ES_Trigger_Turn_On_Curve" << "_PT"<< pt+1 << "_" << side[ac] << "_Numerator";
       m_log << MSG::DEBUG << ss.str() << endmsg;
-      tgclv1turnonnum_ES[ac][pt] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
-      tgclv1turnonnum_ES[ac][pt]->Sumw2();
-      if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist(tgclv1turnonnum_ES[ac][pt]) ).isFailure()){
+      m_tgclv1turnonnum_ES[ac][pt] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
+      m_tgclv1turnonnum_ES[ac][pt]->Sumw2();
+      if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist(m_tgclv1turnonnum_ES[ac][pt]) ).isFailure()){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
@@ -249,9 +249,9 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
       // Denominator
       ss.str(""); ss << "ES_Trigger_Turn_On_Curve" << "_PT"<< pt+1 << "_" << side[ac] << "_Denominator";
       m_log << MSG::DEBUG << ss.str() << endmsg;
-      tgclv1turnondenom_ES[ac][pt] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
-      tgclv1turnondenom_ES[ac][pt]->Sumw2();
-      if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist(tgclv1turnondenom_ES[ac][pt]) ).isFailure()){
+      m_tgclv1turnondenom_ES[ac][pt] = new TH1F(ss.str().c_str(), (ss.str() + ";p_{T} GeV/c;Entries").c_str(), pt_nbins, pt_bins); 
+      m_tgclv1turnondenom_ES[ac][pt]->Sumw2();
+      if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist(m_tgclv1turnondenom_ES[ac][pt]) ).isFailure()){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
@@ -262,40 +262,40 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
     // Plateau efficiency for each pT threshold
     // Efficiency
     ss.str(""); ss << "ES_Trigger_Efficiency" << "_" << side[ac] ;
-    tgclv1_plateau_eff_counting_ES[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
-    tgclv1_plateau_eff_counting_ES[ac] ->Sumw2();
-    tgclv1_plateau_eff_counting_ES[ac] ->SetMinimum(0.7);
-    tgclv1_plateau_eff_counting_ES[ac] ->SetMaximum(1.05);
-    if( ( tgclv1_turnon_ac_ES[ac]->regHist( tgclv1_plateau_eff_counting_ES[ac] ) ).isFailure() ){
+    m_tgclv1_plateau_eff_counting_ES[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
+    m_tgclv1_plateau_eff_counting_ES[ac] ->Sumw2();
+    m_tgclv1_plateau_eff_counting_ES[ac] ->SetMinimum(0.7);
+    m_tgclv1_plateau_eff_counting_ES[ac] ->SetMaximum(1.05);
+    if( ( tgclv1_turnon_ac_ES[ac]->regHist( m_tgclv1_plateau_eff_counting_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
     
     // Numerator
     ss.str(""); ss << "ES_Trigger_Efficiency_Numerator" << "_" << side[ac] ;
-    tgclv1_plateau_eff_counting_num_ES[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
-    tgclv1_plateau_eff_counting_num_ES[ac] ->Sumw2();
-    if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist( tgclv1_plateau_eff_counting_num_ES[ac] ) ).isFailure() ){
+    m_tgclv1_plateau_eff_counting_num_ES[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
+    m_tgclv1_plateau_eff_counting_num_ES[ac] ->Sumw2();
+    if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist( m_tgclv1_plateau_eff_counting_num_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
      
     // Denominator
     ss.str(""); ss << "ES_Trigger_Efficiency_Denominator" << "_" << side[ac] ;
-    tgclv1_plateau_eff_counting_denom_ES[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
-    tgclv1_plateau_eff_counting_denom_ES[ac] ->Sumw2();
-    if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist( tgclv1_plateau_eff_counting_denom_ES[ac] ) ).isFailure() ){
+    m_tgclv1_plateau_eff_counting_denom_ES[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
+    m_tgclv1_plateau_eff_counting_denom_ES[ac] ->Sumw2();
+    if( ( tgclv1_turnon_numdenom_ac_ES[ac]->regHist( m_tgclv1_plateau_eff_counting_denom_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
     
     // Efficiency, General Monitoring
     ss.str(""); ss << "ES_GM_Trigger_Efficiency" << "_" << side[ac] ;
-    tgclv1_plateau_eff_counting_ES_GM[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
-    tgclv1_plateau_eff_counting_ES_GM[ac] ->Sumw2();
-    tgclv1_plateau_eff_counting_ES_GM[ac] ->SetMinimum(0.7);
-    tgclv1_plateau_eff_counting_ES_GM[ac] ->SetMaximum(1.05);
-    if( ( tgclv1_turnon_ac_ES_GM[ac]->regHist( tgclv1_plateau_eff_counting_ES_GM[ac] ) ).isFailure() ){
+    m_tgclv1_plateau_eff_counting_ES_GM[ac] = new TH1F(ss.str().c_str(), (ss.str() + ";PT;efficiency").c_str(), 6, 0, 6 ); 
+    m_tgclv1_plateau_eff_counting_ES_GM[ac] ->Sumw2();
+    m_tgclv1_plateau_eff_counting_ES_GM[ac] ->SetMinimum(0.7);
+    m_tgclv1_plateau_eff_counting_ES_GM[ac] ->SetMaximum(1.05);
+    if( ( tgclv1_turnon_ac_ES_GM[ac]->regHist( m_tgclv1_plateau_eff_counting_ES_GM[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
@@ -303,10 +303,10 @@ TgcLv1RawDataValAlg::bookHistogramsEfficiency(){
     // Set Bin Labels
     for( int bin=0;bin<6;bin++){
       ss.str(""); ss << "PT" << bin+1 ;
-      tgclv1_plateau_eff_counting_ES[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
-      tgclv1_plateau_eff_counting_ES_GM[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
-      tgclv1_plateau_eff_counting_num_ES[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
-      tgclv1_plateau_eff_counting_denom_ES[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
+      m_tgclv1_plateau_eff_counting_ES[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
+      m_tgclv1_plateau_eff_counting_ES_GM[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
+      m_tgclv1_plateau_eff_counting_num_ES[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
+      m_tgclv1_plateau_eff_counting_denom_ES[ac] -> GetXaxis() -> SetBinLabel(bin+1, ss.str().c_str() );
     }//bin
 
   }//ac
@@ -368,14 +368,14 @@ TgcLv1RawDataValAlg::fillEfficiency(int ms,// 0:Muid 1:Staco
     // This Block Fills Denominators
     // Loop pT Thresholds
     for(int pt=0;pt<6;pt++){
-      tgclv1turnondenom[ac][pt][pn][ms]->Fill(opt);
+      m_tgclv1turnondenom[ac][pt][pn][ms]->Fill(opt);
       if(opt> thresetavsphi[pt]){
-        tgclv1effetavsphidenom[ac][pt][pn][ms]->Fill(fabs(oeta),ophi_mod);
+        m_tgclv1effetavsphidenom[ac][pt][pn][ms]->Fill(fabs(oeta),ophi_mod);
       }
       if( m_found_express_stream && m_found_nonmuon_express_chain ){
-        tgclv1turnondenom_ES[ac][pt]->Fill(opt);
+        m_tgclv1turnondenom_ES[ac][pt]->Fill(opt);
         if( opt > threscount[pt] )
-          tgclv1_plateau_eff_counting_denom_ES[ac]->Fill(pt);
+          m_tgclv1_plateau_eff_counting_denom_ES[ac]->Fill(pt);
       }
     }
     
@@ -449,16 +449,16 @@ TgcLv1RawDataValAlg::fillEfficiency(int ms,// 0:Muid 1:Staco
       if(pcn==1){
         // If dR < 1 SL Trigger found, fill minimum dR found
         if(tptmin!=-1){
-          tgclv1deltar[ac][tptmin-1][ms]->Fill(deltarmin*charge);
+          m_tgclv1deltar[ac][tptmin-1][ms]->Fill(deltarmin*charge);
         }
         // Loop over pT Thresholds, fill Numerators if Thresholds met 
         for(int pt=0;pt<6;pt++){
           if(flag[pt]==true){
-            tgclv1turnonnum[ac][pt][pn][ms]->Fill(opt);
+            m_tgclv1turnonnum[ac][pt][pn][ms]->Fill(opt);
             if(m_found_express_stream && m_found_nonmuon_express_chain){
-              tgclv1turnonnum_ES[ac][pt]->Fill(opt);
+              m_tgclv1turnonnum_ES[ac][pt]->Fill(opt);
               if(opt>threscount[pt])
-                tgclv1_plateau_eff_counting_num_ES[ac]->Fill(pt);
+                m_tgclv1_plateau_eff_counting_num_ES[ac]->Fill(pt);
             }
           }
         }
@@ -467,7 +467,7 @@ TgcLv1RawDataValAlg::fillEfficiency(int ms,// 0:Muid 1:Staco
       for(int pt=0;pt<6;pt++){
         if(flag[pt]==true){
           if(opt> thresetavsphi[pt]){
-            tgclv1effetavsphinum[ac][pt][pn][ms][pcn]->Fill(fabs(oeta),ophi_mod);
+            m_tgclv1effetavsphinum[ac][pt][pn][ms][pcn]->Fill(fabs(oeta),ophi_mod);
           }
         }
       }
@@ -502,9 +502,9 @@ TgcLv1RawDataValAlg::fillEfficiency(int ms,// 0:Muid 1:Staco
                 phi48lpts != slphi48 ) continue ;
             
             if(m_debuglevel ) m_log << "fill triggertiming " <<ac <<" " << ms << " " << pcn <<  endmsg;
-            tgclv1lpttimingtrack[ac][ms]->Fill(pcn);
+            m_tgclv1lpttimingtrack[ac][ms]->Fill(pcn);
             if( slpt > 1 )
-              tgclv1lpttimingptcuttrack[ac][ms]->Fill(pcn);
+              m_tgclv1lpttimingptcuttrack[ac][ms]->Fill(pcn);
 
             lptflag=true;
             break;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_NumberOfTrigger.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_NumberOfTrigger.cxx
index 428b55dde23f62f05b9b73b5e426c6a8b70747f4..70bc12fe02c0ddabaf802a4e9c980c3620c2816b 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_NumberOfTrigger.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_NumberOfTrigger.cxx
@@ -55,21 +55,21 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
 
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
 
-  MonGroup tgclv1_shift( this, m_generic_path_tgclv1+"/Global",  run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_shift_a( this, m_generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_shift_c( this, m_generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_shift( this, generic_path_tgclv1+"/Global",  run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_shift_a( this, generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_shift_c( this, generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_shift_ac[2] = { &tgclv1_shift_a, &tgclv1_shift_c};
 
-  MonGroup tgclv1_expert( this, m_generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_expert_a( this, m_generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_expert_c( this, m_generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_expert( this, generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_expert_a( this, generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_expert_c( this, generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_expert_ac[2] = { &tgclv1_expert_a, &tgclv1_expert_c};
 
-  MonGroup tgclv1_expert_ES( this, m_generic_path_tgclv1+"/Global/ES", run, ATTRIB_UNMANAGED );
-  //MonGroup tgclv1_expert_a_ES( this, m_generic_path_tgclv1+"/TGCEA/ES", run, ATTRIB_UNMANAGED );
-  //MonGroup tgclv1_expert_c_ES( this, m_generic_path_tgclv1+"/TGCEC/ES", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_expert_ES( this, generic_path_tgclv1+"/Global/ES", run, ATTRIB_UNMANAGED );
+  //MonGroup tgclv1_expert_a_ES( this, generic_path_tgclv1+"/TGCEA/ES", run, ATTRIB_UNMANAGED );
+  //MonGroup tgclv1_expert_c_ES( this, generic_path_tgclv1+"/TGCEC/ES", run, ATTRIB_UNMANAGED );
   //MonGroup* tgclv1_expert_ac_ES[2] = { &tgclv1_expert_a_ES, &tgclv1_expert_c_ES};
 
   int k=0;
@@ -84,15 +84,15 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
   for(int ac=0;ac<2;ac++){// side
     // LpT wire triggers per sector, per lumi block
     ss.str(""); ss << "LB_VS_LPT_Wire_Trigger_Sector_" << side[ac] ;
-    tgclv1lptwireinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
-    if( ( tgclv1_expert_ac[ac]->regHist( tgclv1lptwireinlbvssect[ac] ) ).isFailure() ){
+    m_tgclv1lptwireinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
+    if( ( tgclv1_expert_ac[ac]->regHist( m_tgclv1lptwireinlbvssect[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
     }
     // Lpt strip triggers per sector, per lumi block
     ss.str(""); ss << "LB_VS_LPT_Strip_Trigger_Sector_" << side[ac] ;
-    tgclv1lptstripinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
-    if( ( tgclv1_expert_ac[ac]->regHist( tgclv1lptstripinlbvssect[ac] ) ).isFailure() ){
+    m_tgclv1lptstripinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
+    if( ( tgclv1_expert_ac[ac]->regHist( m_tgclv1lptstripinlbvssect[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
     }
@@ -100,38 +100,38 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
     //EIFI Coin
 
     ss.str(""); ss << "EIFI_Sector_VS_Bit_" << side[ac] ;
-    tgclv1hptstripinlbvssecteifisect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; Trigger_Sector;Bit").c_str(), 48, 1, 49, 8, 0, 8 );
-    if( ( tgclv1_expert_ac[ac]->regHist( tgclv1hptstripinlbvssecteifisect[ac] ) ).isFailure() ){
+    m_tgclv1hptstripinlbvssecteifisect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; Trigger_Sector;Bit").c_str(), 48, 1, 49, 8, 0, 8 );
+    if( ( tgclv1_expert_ac[ac]->regHist( m_tgclv1hptstripinlbvssecteifisect[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;
       return sc;
     }
     ss.str(""); ss << "EIFI_Lumi_VS_Bit_" << side[ac] ;
-    tgclv1hptstripinlbvssecteifilumi[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;Bit").c_str(), 1250, 1, 2501, 8, 0, 8 );
-    if( ( tgclv1_expert_ac[ac]->regHist( tgclv1hptstripinlbvssecteifilumi[ac] ) ).isFailure() ){
+    m_tgclv1hptstripinlbvssecteifilumi[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;Bit").c_str(), 1250, 1, 2501, 8, 0, 8 );
+    if( ( tgclv1_expert_ac[ac]->regHist( m_tgclv1hptstripinlbvssecteifilumi[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;
       return sc;
     }
 
     // HpT wire triggers per sector, per lumi block
     ss.str(""); ss << "LB_VS_HPT_Wire_Trigger_Sector_" << side[ac] ;
-    tgclv1hptwireinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
-    if( ( tgclv1_expert_ac[ac]->regHist( tgclv1hptwireinlbvssect[ac] ) ).isFailure() ){
+    m_tgclv1hptwireinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
+    if( ( tgclv1_expert_ac[ac]->regHist( m_tgclv1hptwireinlbvssect[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // Hpt strip triggers per sector, per lumi block
     ss.str(""); ss << "LB_VS_HPT_Strip_Trigger_Sector_" << side[ac] ;
-    tgclv1hptstripinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
-    if( ( tgclv1_expert_ac[ac]->regHist( tgclv1hptstripinlbvssect[ac] ) ).isFailure() ){
+    m_tgclv1hptstripinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
+    if( ( tgclv1_expert_ac[ac]->regHist( m_tgclv1hptstripinlbvssect[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // SL triggers per sector, per lumi block
     ss.str(""); ss << "LB_VS_SL_Trigger_Sector_" << side[ac] ;
-    tgclv1slinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
-    if( ( tgclv1_shift_ac[ac]->regHist( tgclv1slinlbvssect[ac] ) ).isFailure() ){
+    m_tgclv1slinlbvssect[ac] = new TH2F( ss.str().c_str(), (ss.str() + "; LB;").c_str(), 1250, 1, 2501, 72, 1, 73 );
+    if( ( tgclv1_shift_ac[ac]->regHist( m_tgclv1slinlbvssect[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
     }
@@ -144,11 +144,11 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
 	ss.str(""); ss << side[ac];
 	if(isect<10)ss << "0";
 	ss << isect << "Ephi" << iphi;
-	tgclv1lptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1lptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1slinlbvssect[ac]      ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1lptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1lptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1slinlbvssect[ac]      ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
 
 	k+=phistep;
       }// phi
@@ -159,11 +159,11 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
 	ss.str(""); ss << side[ac];
 	if(isect<10)ss << "0";
 	ss << isect << "Fphi" << iphi;
-	tgclv1lptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1lptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1slinlbvssect[ac]      ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1lptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1lptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptwireinlbvssect[ac] ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptstripinlbvssect[ac]->GetYaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1slinlbvssect[ac]      ->GetYaxis()->SetBinLabel(k,ss.str().c_str());
 
 	k+=phistep;
       }// phi
@@ -177,72 +177,72 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
     for(int pcnt=0;pcnt<4;pcnt++){
       // Number of low pt wire hits
       std::string tgclv1_nlpt_wire = "Number_Of_Low_Pt_Wire_Triggers" + s_pcn[pcnt];
-      tgclv1numberoflptwire[pcnt] = new TH1F(tgclv1_nlpt_wire.c_str(),tgclv1_nlpt_wire.c_str(), 20, 0, 20);
-      if(pcnt>2) sc=tgclv1_shift.regHist(tgclv1numberoflptwire[pcnt]) ;  
-      else    sc=tgclv1_expert.regHist(tgclv1numberoflptwire[pcnt]) ;  
+      m_tgclv1numberoflptwire[pcnt] = new TH1F(tgclv1_nlpt_wire.c_str(),tgclv1_nlpt_wire.c_str(), 20, 0, 20);
+      if(pcnt>2) sc=tgclv1_shift.regHist(m_tgclv1numberoflptwire[pcnt]) ;  
+      else    sc=tgclv1_expert.regHist(m_tgclv1numberoflptwire[pcnt]) ;  
       if(sc.isFailure()){
-	m_log << MSG::FATAL << "tgclv1numberoflptwire Failed to register histogram " << endmsg;       
+	m_log << MSG::FATAL << "m_tgclv1numberoflptwire Failed to register histogram " << endmsg;       
 	return sc;
       }
-      tgclv1numberoflptwire[pcnt]->GetXaxis()->SetTitle("Low Pt Wire Triggers");
-      tgclv1numberoflptwire[pcnt]->GetYaxis()->SetTitle("Counts");
+      m_tgclv1numberoflptwire[pcnt]->GetXaxis()->SetTitle("Low Pt Wire Triggers");
+      m_tgclv1numberoflptwire[pcnt]->GetYaxis()->SetTitle("Counts");
 
       // Number of low pt strip hits
       std::string tgclv1_nlpt_strip = "Number_Of_Low_Pt_Strip_Triggers" + s_pcn[pcnt];
-      tgclv1numberoflptstrip[pcnt] = new TH1F(tgclv1_nlpt_strip.c_str(),tgclv1_nlpt_strip.c_str(), 20, 0, 20);
-      if(pcnt>2) sc=tgclv1_shift.regHist(tgclv1numberoflptstrip[pcnt]) ;  
-      else    sc=tgclv1_expert.regHist(tgclv1numberoflptstrip[pcnt]) ;  
+      m_tgclv1numberoflptstrip[pcnt] = new TH1F(tgclv1_nlpt_strip.c_str(),tgclv1_nlpt_strip.c_str(), 20, 0, 20);
+      if(pcnt>2) sc=tgclv1_shift.regHist(m_tgclv1numberoflptstrip[pcnt]) ;  
+      else    sc=tgclv1_expert.regHist(m_tgclv1numberoflptstrip[pcnt]) ;  
       if(sc.isFailure()){
-	m_log << MSG::FATAL << "tgclv1numberoflptstrip Failed to register histogram " << endmsg;       
+	m_log << MSG::FATAL << "m_tgclv1numberoflptstrip Failed to register histogram " << endmsg;       
 	return sc;
       }
-      tgclv1numberoflptstrip[pcnt]->GetXaxis()->SetTitle("Low Pt Strip Triggers");
-      tgclv1numberoflptstrip[pcnt]->GetYaxis()->SetTitle("Counts");
+      m_tgclv1numberoflptstrip[pcnt]->GetXaxis()->SetTitle("Low Pt Strip Triggers");
+      m_tgclv1numberoflptstrip[pcnt]->GetYaxis()->SetTitle("Counts");
 
       // Number of high pt hits
       std::string tgclv1_nhpt_wire = "Number_Of_High_Pt_Wire_Triggers" + s_pcn[pcnt];
-      tgclv1numberofhptwire[pcnt] = new TH1F(tgclv1_nhpt_wire.c_str(),tgclv1_nhpt_wire.c_str(), 20, 0, 20);
-      if(pcnt>2) sc=tgclv1_shift.regHist(tgclv1numberofhptwire[pcnt]) ;  
-      else    sc=tgclv1_expert.regHist(tgclv1numberofhptwire[pcnt]) ;  
+      m_tgclv1numberofhptwire[pcnt] = new TH1F(tgclv1_nhpt_wire.c_str(),tgclv1_nhpt_wire.c_str(), 20, 0, 20);
+      if(pcnt>2) sc=tgclv1_shift.regHist(m_tgclv1numberofhptwire[pcnt]) ;  
+      else    sc=tgclv1_expert.regHist(m_tgclv1numberofhptwire[pcnt]) ;  
       if(sc.isFailure()){
-	m_log << MSG::FATAL << "tgclv1numberofhptwire Failed to register histogram " << endmsg;       
+	m_log << MSG::FATAL << "m_tgclv1numberofhptwire Failed to register histogram " << endmsg;       
 	return sc;
       }
-      tgclv1numberofhptwire[pcnt]->GetXaxis()->SetTitle("High Pt Wire Triggers");
-      tgclv1numberofhptwire[pcnt]->GetYaxis()->SetTitle("Counts");
+      m_tgclv1numberofhptwire[pcnt]->GetXaxis()->SetTitle("High Pt Wire Triggers");
+      m_tgclv1numberofhptwire[pcnt]->GetYaxis()->SetTitle("Counts");
 
       // Number of high pt hits
       std::string tgclv1_nhpt_strip = "Number_Of_High_Pt_Strip_Triggers" + s_pcn[pcnt];
-      tgclv1numberofhptstrip[pcnt] = new TH1F(tgclv1_nhpt_strip.c_str(),tgclv1_nhpt_strip.c_str(), 20, 0, 20);
-      if(pcnt>2) sc=tgclv1_shift.regHist(tgclv1numberofhptstrip[pcnt]) ;  
-      else    sc=tgclv1_expert.regHist(tgclv1numberofhptstrip[pcnt]) ;  
+      m_tgclv1numberofhptstrip[pcnt] = new TH1F(tgclv1_nhpt_strip.c_str(),tgclv1_nhpt_strip.c_str(), 20, 0, 20);
+      if(pcnt>2) sc=tgclv1_shift.regHist(m_tgclv1numberofhptstrip[pcnt]) ;  
+      else    sc=tgclv1_expert.regHist(m_tgclv1numberofhptstrip[pcnt]) ;  
       if(sc.isFailure()){
-	m_log << MSG::FATAL << "tgclv1numberofhptstrip Failed to register histogram " << endmsg;       
+	m_log << MSG::FATAL << "m_tgclv1numberofhptstrip Failed to register histogram " << endmsg;       
 	return sc;
       }
-      tgclv1numberofhptstrip[pcnt]->GetXaxis()->SetTitle("High Pt Strip Triggers");
-      tgclv1numberofhptstrip[pcnt]->GetYaxis()->SetTitle("Counts");
+      m_tgclv1numberofhptstrip[pcnt]->GetXaxis()->SetTitle("High Pt Strip Triggers");
+      m_tgclv1numberofhptstrip[pcnt]->GetYaxis()->SetTitle("Counts");
 
       // Number of sector logic hits
       std::string tgclv1_nsl = "Number_Of_SL_Triggers" + s_pcn[pcnt];
-      tgclv1numberofsl[pcnt] = new TH1F(tgclv1_nsl.c_str(),tgclv1_nsl.c_str(), 20, 0, 20);
-      if(pcnt>2) sc=tgclv1_shift.regHist(tgclv1numberofsl[pcnt]) ;  
-      else    sc=tgclv1_expert.regHist(tgclv1numberofsl[pcnt]) ;  
+      m_tgclv1numberofsl[pcnt] = new TH1F(tgclv1_nsl.c_str(),tgclv1_nsl.c_str(), 20, 0, 20);
+      if(pcnt>2) sc=tgclv1_shift.regHist(m_tgclv1numberofsl[pcnt]) ;  
+      else    sc=tgclv1_expert.regHist(m_tgclv1numberofsl[pcnt]) ;  
       if(sc.isFailure()){
-	m_log << MSG::FATAL << "tgclv1numberofsl Failed to register histogram " << endmsg;       
+	m_log << MSG::FATAL << "m_tgclv1numberofsl Failed to register histogram " << endmsg;       
 	return sc;
       }
-      tgclv1numberofsl[pcnt]->GetXaxis()->SetTitle("Sector Logic Triggers");
-      tgclv1numberofsl[pcnt]->GetYaxis()->SetTitle("Counts");
+      m_tgclv1numberofsl[pcnt]->GetXaxis()->SetTitle("Sector Logic Triggers");
+      m_tgclv1numberofsl[pcnt]->GetYaxis()->SetTitle("Counts");
     }// pcnt
   }//no GM
   else
     for(int pcnt=0;pcnt<4;pcnt++){
-      tgclv1numberoflptwire[pcnt] = 0;
-      tgclv1numberoflptstrip[pcnt] = 0;
-      tgclv1numberofhptwire[pcnt] = 0;
-      tgclv1numberofhptstrip[pcnt] = 0;
-      tgclv1numberofsl[pcnt] = 0;
+      m_tgclv1numberoflptwire[pcnt] = 0;
+      m_tgclv1numberoflptstrip[pcnt] = 0;
+      m_tgclv1numberofhptwire[pcnt] = 0;
+      m_tgclv1numberofhptstrip[pcnt] = 0;
+      m_tgclv1numberofsl[pcnt] = 0;
     }
 
   ///////////////////////////////////////////////////////////////////////////
@@ -250,8 +250,8 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
   // RoI trigger map with both sides
   ss.str(""); ss << "RoI_Eta_Vs_Phi_All";
   m_log << MSG::DEBUG << ss.str().c_str() << std::endl;
-  tgclv1roietavsphiAll =new TH2F(ss.str().c_str(), (ss.str() + ";C-side: Eta < 0, A-side: Eta > 0").c_str(), 55, -55, 55, 48, 0, 48); 
-  if( (tgclv1_shift.regHist(tgclv1roietavsphiAll)).isFailure()){ 
+  m_tgclv1roietavsphiAll =new TH2F(ss.str().c_str(), (ss.str() + ";C-side: Eta < 0, A-side: Eta > 0").c_str(), 55, -55, 55, 48, 0, 48); 
+  if( (tgclv1_shift.regHist(m_tgclv1roietavsphiAll)).isFailure()){ 
     m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
     return StatusCode::FAILURE;
   }
@@ -260,8 +260,8 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
   for(int ipt=0;ipt<6;ipt++){// pt
     ss.str(""); ss << "RoI_Eta_Vs_Phi_PT" << ipt+1 <<"_All";
     m_log << MSG::DEBUG << ss.str().c_str() << std::endl;
-    tgclv1roietavsphiptAll[ipt] =new TH2F(ss.str().c_str(), (ss.str() + ";C-side: Eta < 0, A-side: Eta > 0").c_str(), 55, -55, 55, 48, 0, 48); 
-    if( (tgclv1_shift.regHist(tgclv1roietavsphiptAll[ipt])).isFailure()){ 
+    m_tgclv1roietavsphiptAll[ipt] =new TH2F(ss.str().c_str(), (ss.str() + ";C-side: Eta < 0, A-side: Eta > 0").c_str(), 55, -55, 55, 48, 0, 48); 
+    if( (tgclv1_shift.regHist(m_tgclv1roietavsphiptAll[ipt])).isFailure()){ 
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
@@ -277,9 +277,9 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
       ss << isect << "phi"<<iphi;
 
       ka = (isect-1)*4 + iphi*4 + 1;
-      tgclv1roietavsphiAll->GetYaxis()->SetBinLabel(ka, ss.str().c_str());
+      m_tgclv1roietavsphiAll->GetYaxis()->SetBinLabel(ka, ss.str().c_str());
       for(int ipt=0;ipt<6;ipt++)
-	tgclv1roietavsphiptAll[ipt]->GetYaxis()->SetBinLabel(ka, ss.str().c_str());
+	m_tgclv1roietavsphiptAll[ipt]->GetYaxis()->SetBinLabel(ka, ss.str().c_str());
     }// phi
   }// sector
 
@@ -288,27 +288,27 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
     // Triggers per pT threshold hist
     ss.str(""); ss << "Pt_Threshold_";
     ss << side[ac];
-    tgclv1pt[ac] =new TH1F(ss.str().c_str(),ss.str().c_str(), 6, 1, 7);
-    if(ac==0) sc=tgclv1_shift_a.regHist(tgclv1pt[ac]);
-    else      sc=tgclv1_shift_c.regHist(tgclv1pt[ac]);
+    m_tgclv1pt[ac] =new TH1F(ss.str().c_str(),ss.str().c_str(), 6, 1, 7);
+    if(ac==0) sc=tgclv1_shift_a.regHist(m_tgclv1pt[ac]);
+    else      sc=tgclv1_shift_c.regHist(m_tgclv1pt[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1pt Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1pt Failed to register histogram " << endmsg;       
       return sc;
     }
-    tgclv1pt[ac]->GetXaxis()->SetTitle("Pt Threshold");
-    tgclv1pt[ac]->GetYaxis()->SetTitle("Counts");
-    //tgclv1pt[ac]->GetXaxis()->SetBinLabel(1,"4"); //pt1=4GeV
-    //tgclv1pt[ac]->GetXaxis()->SetBinLabel(2,"6"); //pt2=6GeV
-    //tgclv1pt[ac]->GetXaxis()->SetBinLabel(3,"10");//pt3=10GeV
-    //tgclv1pt[ac]->GetXaxis()->SetBinLabel(4,"11");//pt4=15GeV, 11GeV for 2009
-    //tgclv1pt[ac]->GetXaxis()->SetBinLabel(5,"15");//pt5=20GeV, 15GeV for 2009
-    //tgclv1pt[ac]->GetXaxis()->SetBinLabel(6,"20");//pt6=40GeV, 20GeV for 2009
+    m_tgclv1pt[ac]->GetXaxis()->SetTitle("Pt Threshold");
+    m_tgclv1pt[ac]->GetYaxis()->SetTitle("Counts");
+    //m_tgclv1pt[ac]->GetXaxis()->SetBinLabel(1,"4"); //pt1=4GeV
+    //m_tgclv1pt[ac]->GetXaxis()->SetBinLabel(2,"6"); //pt2=6GeV
+    //m_tgclv1pt[ac]->GetXaxis()->SetBinLabel(3,"10");//pt3=10GeV
+    //m_tgclv1pt[ac]->GetXaxis()->SetBinLabel(4,"11");//pt4=15GeV, 11GeV for 2009
+    //m_tgclv1pt[ac]->GetXaxis()->SetBinLabel(5,"15");//pt5=20GeV, 15GeV for 2009
+    //m_tgclv1pt[ac]->GetXaxis()->SetBinLabel(6,"20");//pt6=40GeV, 20GeV for 2009
 
     // RoI trigger map
     ss.str(""); ss << "RoI_Eta_Vs_Phi_" << side[ac];
     m_log << MSG::DEBUG << ss.str().c_str() << std::endl;
-    tgclv1roietavsphi[ac] =new TH2F(ss.str().c_str(), (ss.str() + ";Eta").c_str(), 53, 0, 53, 192, 0, 48); 
-    if( (tgclv1_shift_ac[ac]->regHist(tgclv1roietavsphi[ac])).isFailure()){ 
+    m_tgclv1roietavsphi[ac] =new TH2F(ss.str().c_str(), (ss.str() + ";Eta").c_str(), 53, 0, 53, 192, 0, 48); 
+    if( (tgclv1_shift_ac[ac]->regHist(m_tgclv1roietavsphi[ac])).isFailure()){ 
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
@@ -317,8 +317,8 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
     for(int ipt=0;ipt<6;ipt++){// pt
       ss.str(""); ss << "RoI_Eta_Vs_Phi_PT" << ipt+1 <<"_" << side[ac];
       m_log << MSG::DEBUG << ss.str().c_str() << std::endl;
-      tgclv1roietavsphipt[ac][ipt] =new TH2F(ss.str().c_str(), (ss.str() + ";Eta").c_str(), 53, 0, 53, 192, 0, 48); 
-      if( (tgclv1_shift_ac[ac]->regHist(tgclv1roietavsphipt[ac][ipt])).isFailure()){ 
+      m_tgclv1roietavsphipt[ac][ipt] =new TH2F(ss.str().c_str(), (ss.str() + ";Eta").c_str(), 53, 0, 53, 192, 0, 48); 
+      if( (tgclv1_shift_ac[ac]->regHist(m_tgclv1roietavsphipt[ac][ipt])).isFailure()){ 
 	m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
 	return StatusCode::FAILURE;
       }
@@ -334,9 +334,9 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
 	ss << isect << "phi"<<iphi;
 
 	k = (isect-1)*16 + iphi*4 + 1;
-	tgclv1roietavsphi[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+	m_tgclv1roietavsphi[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
 	for(int ipt=0;ipt<6;ipt++)
-	  tgclv1roietavsphipt[ac][ipt]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+	  m_tgclv1roietavsphipt[ac][ipt]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
       }// phi
     }// sector
   }// side
@@ -345,14 +345,14 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
   // LpT, HpT, SL Profile histograms
   // SL trigger chamber map for both sides
   ss.str(""); ss << "SL_Chamber_All";
-  tgclv1slchamberAll =new TH2F(ss.str().c_str(),ss.str().c_str(), 14, -7, 7, 48, 1, 49); 
-  if( ( tgclv1_shift.regHist(tgclv1slchamberAll) ).isFailure() ){
+  m_tgclv1slchamberAll =new TH2F(ss.str().c_str(),ss.str().c_str(), 14, -7, 7, 48, 1, 49); 
+  if( ( tgclv1_shift.regHist(m_tgclv1slchamberAll) ).isFailure() ){
     m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
     return sc;
   }
   for(int ieta=0;ieta<6;ieta++){// X bins
-    tgclv1slchamberAll      ->GetXaxis()->SetBinLabel(ieta+9, ("A-" + schamberT3[ieta]).c_str()); 
-    tgclv1slchamberAll      ->GetXaxis()->SetBinLabel(6-ieta, ("C-" + schamberT3[ieta]).c_str()); 
+    m_tgclv1slchamberAll      ->GetXaxis()->SetBinLabel(ieta+9, ("A-" + schamberT3[ieta]).c_str()); 
+    m_tgclv1slchamberAll      ->GetXaxis()->SetBinLabel(6-ieta, ("C-" + schamberT3[ieta]).c_str()); 
   }
   ka=1;
   for(int isect=1;isect<=12;isect++){// sector
@@ -362,7 +362,7 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
       if(isect<10)ss << "0";
       ss << isect << "phi0";
 
-      tgclv1slchamberAll      ->GetYaxis()->SetBinLabel( ka, ss.str().c_str() ); 
+      m_tgclv1slchamberAll      ->GetYaxis()->SetBinLabel( ka, ss.str().c_str() ); 
       ka+=phistep;
     }
   }
@@ -374,72 +374,72 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
     // LpT wire trigger sector profile
     ss.str(""); ss << "Low_Pt_Wire_Sector_";
     ss << side[ac];
-    tgclv1lptsectwire[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
-    if(ac==0) sc=tgclv1_expert_a.regHist(tgclv1lptsectwire[ac]);
-    else      sc=tgclv1_expert_c.regHist(tgclv1lptsectwire[ac]);
+    m_tgclv1lptsectwire[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
+    if(ac==0) sc=tgclv1_expert_a.regHist(m_tgclv1lptsectwire[ac]);
+    else      sc=tgclv1_expert_c.regHist(m_tgclv1lptsectwire[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1lptsectwire["<<ac<<"] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1lptsectwire["<<ac<<"] Failed to register histogram " << endmsg;       
       return sc;
     }
-    //tgclv1lptsectwire->GetXaxis()->SetTitle("Side*12+Sector");
-    //tgclv1lptsectwire[ac]->GetXaxis()->LabelsOption("v");
-    tgclv1lptsectwire[ac]->GetYaxis()->SetTitle("Counts");
+    //m_tgclv1lptsectwire->GetXaxis()->SetTitle("Side*12+Sector");
+    //m_tgclv1lptsectwire[ac]->GetXaxis()->LabelsOption("v");
+    m_tgclv1lptsectwire[ac]->GetYaxis()->SetTitle("Counts");
 
     // LpT strip trigger sector profile
     ss.str(""); ss << "Low_Pt_Strip_Sector_";
     ss << side[ac];
-    tgclv1lptsectstrip[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
-    if(ac==0) sc=tgclv1_expert_a.regHist(tgclv1lptsectstrip[ac]);
-    else      sc=tgclv1_expert_c.regHist(tgclv1lptsectstrip[ac]);
+    m_tgclv1lptsectstrip[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
+    if(ac==0) sc=tgclv1_expert_a.regHist(m_tgclv1lptsectstrip[ac]);
+    else      sc=tgclv1_expert_c.regHist(m_tgclv1lptsectstrip[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1lptsectstrip["<<ac<<"] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1lptsectstrip["<<ac<<"] Failed to register histogram " << endmsg;       
       return sc;
     }
-    //tgclv1lptsectstrip->GetXaxis()->SetTitle("Side*12+Sector");
-    //tgclv1lptsectstrip[ac]->GetXaxis()->LabelsOption("v");
-    tgclv1lptsectstrip[ac]->GetYaxis()->SetTitle("Counts");
+    //m_tgclv1lptsectstrip->GetXaxis()->SetTitle("Side*12+Sector");
+    //m_tgclv1lptsectstrip[ac]->GetXaxis()->LabelsOption("v");
+    m_tgclv1lptsectstrip[ac]->GetYaxis()->SetTitle("Counts");
 
     // HpT wire trigger sector profile
     ss.str(""); ss << "High_Pt_Wire_Sector_";
     ss << side[ac];
-    tgclv1hptsectwire[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
-    if(ac==0) sc=tgclv1_expert_a.regHist(tgclv1hptsectwire[ac]);
-    else      sc=tgclv1_expert_c.regHist(tgclv1hptsectwire[ac]);
+    m_tgclv1hptsectwire[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
+    if(ac==0) sc=tgclv1_expert_a.regHist(m_tgclv1hptsectwire[ac]);
+    else      sc=tgclv1_expert_c.regHist(m_tgclv1hptsectwire[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1hptsectwire["<<ac<<"] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1hptsectwire["<<ac<<"] Failed to register histogram " << endmsg;       
       return sc;
     }
-    //tgclv1hptsectwire->GetXaxis()->SetTitle("Side*12+Sector");
-    //tgclv1hptsectwire[ac]->GetXaxis()->LabelsOption("v");
-    tgclv1hptsectwire[ac]->GetYaxis()->SetTitle("Counts");
+    //m_tgclv1hptsectwire->GetXaxis()->SetTitle("Side*12+Sector");
+    //m_tgclv1hptsectwire[ac]->GetXaxis()->LabelsOption("v");
+    m_tgclv1hptsectwire[ac]->GetYaxis()->SetTitle("Counts");
 
     // HpT strip trigger sector profile
     ss.str(""); ss << "High_Pt_Strip_Sector_";
     ss << side[ac];
-    tgclv1hptsectstrip[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
-    if(ac==0) sc=tgclv1_expert_a.regHist(tgclv1hptsectstrip[ac]);
-    else      sc=tgclv1_expert_c.regHist(tgclv1hptsectstrip[ac]);
+    m_tgclv1hptsectstrip[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
+    if(ac==0) sc=tgclv1_expert_a.regHist(m_tgclv1hptsectstrip[ac]);
+    else      sc=tgclv1_expert_c.regHist(m_tgclv1hptsectstrip[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1hptsectstrip[" << ac << "] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1hptsectstrip[" << ac << "] Failed to register histogram " << endmsg;       
       return sc;
     }
-    //tgclv1hptsectstrip[ac]->GetXaxis()->SetTitle("Sector");
-    //tgclv1hptsectstrip[ac]->GetXaxis()->LabelsOption("v");
-    tgclv1hptsectstrip[ac]->GetYaxis()->SetTitle("Counts");
+    //m_tgclv1hptsectstrip[ac]->GetXaxis()->SetTitle("Sector");
+    //m_tgclv1hptsectstrip[ac]->GetXaxis()->LabelsOption("v");
+    m_tgclv1hptsectstrip[ac]->GetYaxis()->SetTitle("Counts");
 
     // SL trigger sector profile
     ss.str(""); ss << "SL_Sector_";
     ss << side[ac];
-    tgclv1slsect[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
-    if(ac==0)sc=tgclv1_shift_a.regHist(tgclv1slsect[ac]);
-    else     sc=tgclv1_shift_c.regHist(tgclv1slsect[ac]);
+    m_tgclv1slsect[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 72, 1, 73);
+    if(ac==0)sc=tgclv1_shift_a.regHist(m_tgclv1slsect[ac]);
+    else     sc=tgclv1_shift_c.regHist(m_tgclv1slsect[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1slsect[" << ac << "] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1slsect[" << ac << "] Failed to register histogram " << endmsg;       
       return sc;
     }
-    //tgclv1slsect->GetXaxis()->SetTitle("Side*12+Sector");
-    //tgclv1slsect[ac]->GetXaxis()->LabelsOption("v");
-    tgclv1slsect[ac]->GetYaxis()->SetTitle("Counts");
+    //m_tgclv1slsect->GetXaxis()->SetTitle("Side*12+Sector");
+    //m_tgclv1slsect[ac]->GetXaxis()->LabelsOption("v");
+    m_tgclv1slsect[ac]->GetYaxis()->SetTitle("Counts");
 
     k=1;
     // Set Bin Labels for sector profiles
@@ -449,11 +449,11 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
 	ss.str(""); ss << side[ac];
 	if(isect<10)ss << "0";
 	ss << isect << "Ephi" << iphi;
-	tgclv1lptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1lptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1slsect[ac]      ->GetXaxis()->SetBinLabel(k,ss.str().c_str());      
+	m_tgclv1lptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1lptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1slsect[ac]      ->GetXaxis()->SetBinLabel(k,ss.str().c_str());      
 	k+=phistep;
       }// phi
     }// Endcap sector
@@ -463,86 +463,86 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
 	ss.str(""); ss << side[ac];
 	if(isect<10)ss << "0";
 	ss << isect << "Fphi" << iphi;
-	tgclv1lptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1lptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1hptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-	tgclv1slsect[ac]      ->GetXaxis()->SetBinLabel(k,ss.str().c_str());      
+	m_tgclv1lptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1lptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptsectwire[ac] ->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1hptsectstrip[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+	m_tgclv1slsect[ac]      ->GetXaxis()->SetBinLabel(k,ss.str().c_str());      
 	k+=phistep;
       }// phi
     }// Forward sector
-    tgclv1lptsectwire[ac] ->GetXaxis()->LabelsOption("v");
-    tgclv1lptsectstrip[ac]->GetXaxis()->LabelsOption("v");
-    tgclv1hptsectwire[ac] ->GetXaxis()->LabelsOption("v");
-    tgclv1hptsectstrip[ac]->GetXaxis()->LabelsOption("v");
-    tgclv1slsect[ac]      ->GetXaxis()->LabelsOption("v");
+    m_tgclv1lptsectwire[ac] ->GetXaxis()->LabelsOption("v");
+    m_tgclv1lptsectstrip[ac]->GetXaxis()->LabelsOption("v");
+    m_tgclv1hptsectwire[ac] ->GetXaxis()->LabelsOption("v");
+    m_tgclv1hptsectstrip[ac]->GetXaxis()->LabelsOption("v");
+    m_tgclv1slsect[ac]      ->GetXaxis()->LabelsOption("v");
 
     /////////////////////////////////////
     // inEta & outEta, Phi Map histograms
     // LpT wire trigger chamber map
     ss.str(""); ss << "Low_Pt_Wire_Chamber_" << side[ac];
-    tgclv1lptwirechamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 12, 0, 12, 48, 1, 49); 
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lptwirechamber[ac]) ).isFailure() ){
+    m_tgclv1lptwirechamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 12, 0, 12, 48, 1, 49); 
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lptwirechamber[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // LpT strip trigger chamber map
     ss.str(""); ss << "Low_Pt_Strip_Chamber_" << side[ac];
-    tgclv1lptstripchamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 12, 0, 12, 48, 1, 49); 
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lptstripchamber[ac]) ).isFailure() ){
+    m_tgclv1lptstripchamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 12, 0, 12, 48, 1, 49); 
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lptstripchamber[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // HpT wire trigger chamber map
     ss.str(""); ss << "High_Pt_Wire_Chamber_" << side[ac];
-    tgclv1hptwirechamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 11, 0, 11, 48, 1, 49); 
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1hptwirechamber[ac]) ).isFailure() ){
+    m_tgclv1hptwirechamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 11, 0, 11, 48, 1, 49); 
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1hptwirechamber[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // HpT strip trigger chamber map
     ss.str(""); ss << "High_Pt_Strip_Chamber_" << side[ac];
-    tgclv1hptstripchamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 11, 0, 11, 48, 1, 49); 
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1hptstripchamber[ac]) ).isFailure() ){
+    m_tgclv1hptstripchamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 11, 0, 11, 48, 1, 49); 
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1hptstripchamber[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // SL trigger chamber map
     ss.str(""); ss << "SL_Chamber_" << side[ac];
-    tgclv1slchamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 6, 0, 6, 48, 1, 49); 
-    if( ( tgclv1_shift_ac[ac]->regHist(tgclv1slchamber[ac]) ).isFailure() ){
+    m_tgclv1slchamber[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 6, 0, 6, 48, 1, 49); 
+    if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1slchamber[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // Blank out chambers that don't exist
-    BlankPhi24(tgclv1hptwirechamber[ac], 5);
-    BlankPhi24(tgclv1hptstripchamber[ac], 5);
-    BlankPhi24(tgclv1hptwirechamber[ac], 11);
-    BlankPhi24(tgclv1hptstripchamber[ac], 11);
-    BlankPhi24(tgclv1lptwirechamber[ac], 6);
-    BlankPhi24(tgclv1lptstripchamber[ac], 6);
-    BlankPhi24(tgclv1lptwirechamber[ac], 12);
-    BlankPhi24(tgclv1lptstripchamber[ac], 12);
+    BlankPhi24(m_tgclv1hptwirechamber[ac], 5);
+    BlankPhi24(m_tgclv1hptstripchamber[ac], 5);
+    BlankPhi24(m_tgclv1hptwirechamber[ac], 11);
+    BlankPhi24(m_tgclv1hptstripchamber[ac], 11);
+    BlankPhi24(m_tgclv1lptwirechamber[ac], 6);
+    BlankPhi24(m_tgclv1lptstripchamber[ac], 6);
+    BlankPhi24(m_tgclv1lptwirechamber[ac], 12);
+    BlankPhi24(m_tgclv1lptstripchamber[ac], 12);
     // Set Bin Labels for chamber maps
     for(int ieta=0;ieta<6;ieta++){// X bins
-      tgclv1lptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+1, (schamberT3[ieta] + "_{In2}").c_str()); 
-      tgclv1lptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+1, (schamberT3[ieta] + "_{In2}").c_str()); 
+      m_tgclv1lptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+1, (schamberT3[ieta] + "_{In2}").c_str()); 
+      m_tgclv1lptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+1, (schamberT3[ieta] + "_{In2}").c_str()); 
       if(ieta<5){
-	tgclv1hptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+1, (schamberT1[ieta] + "_{In1}").c_str()); 
+	m_tgclv1hptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+1, (schamberT1[ieta] + "_{In1}").c_str()); 
 
-	tgclv1hptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+1, (schamberT1[ieta] + "_{In1}").c_str()); 
+	m_tgclv1hptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+1, (schamberT1[ieta] + "_{In1}").c_str()); 
       }
-      tgclv1lptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+7, (schamberT3[ieta] + "_{Out3}").c_str()); 
-      tgclv1lptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+7, (schamberT3[ieta] + "_{Out3}").c_str()); 
-      tgclv1hptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+6, (schamberT3[ieta] + "_{Out3}").c_str()); 
-      tgclv1hptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+6, (schamberT3[ieta] + "_{Out3}").c_str()); 
+      m_tgclv1lptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+7, (schamberT3[ieta] + "_{Out3}").c_str()); 
+      m_tgclv1lptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+7, (schamberT3[ieta] + "_{Out3}").c_str()); 
+      m_tgclv1hptwirechamber[ac] ->GetXaxis()->SetBinLabel(ieta+6, (schamberT3[ieta] + "_{Out3}").c_str()); 
+      m_tgclv1hptstripchamber[ac]->GetXaxis()->SetBinLabel(ieta+6, (schamberT3[ieta] + "_{Out3}").c_str()); 
 
-      tgclv1slchamber[ac]      ->GetXaxis()->SetBinLabel(ieta+1, schamberT3[ieta].c_str()); 
+      m_tgclv1slchamber[ac]      ->GetXaxis()->SetBinLabel(ieta+1, schamberT3[ieta].c_str()); 
     }// ieta
     k=1;
     for(int isect=1;isect<=12;isect++){// sector
@@ -552,11 +552,11 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
 	if(isect<10)ss << "0";
 	ss << isect << "phi0";
 
-	tgclv1lptwirechamber[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
-	tgclv1lptstripchamber[ac]->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
-	tgclv1hptwirechamber[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
-	tgclv1hptstripchamber[ac]->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
-	tgclv1slchamber[ac]      ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
+	m_tgclv1lptwirechamber[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
+	m_tgclv1lptstripchamber[ac]->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
+	m_tgclv1hptwirechamber[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
+	m_tgclv1hptstripchamber[ac]->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
+	m_tgclv1slchamber[ac]      ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
 	k+=phistep;
       }
     }
@@ -566,15 +566,15 @@ TgcLv1RawDataValAlg::bookHistogramsNumberOfTriggersAndProfile(){
   ///////////////////////////////////////////////////////////////////////////
   // Express Stream
   ss.str(""); ss << "ES_SL_vs_Muon_Chain_";
-  tgclv1_SL_vs_muonchain_ES = new TH2F( ss.str().c_str(), ( ss.str() + ";SL;No Muon Chain" ).c_str(), 2, 0, 2, 2, 0, 2 );
-  if( ( tgclv1_expert_ES.regHist( tgclv1_SL_vs_muonchain_ES ) ).isFailure() ){
+  m_tgclv1_SL_vs_muonchain_ES = new TH2F( ss.str().c_str(), ( ss.str() + ";SL;No Muon Chain" ).c_str(), 2, 0, 2, 2, 0, 2 );
+  if( ( tgclv1_expert_ES.regHist( m_tgclv1_SL_vs_muonchain_ES ) ).isFailure() ){
     m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
     return sc;
   }
-  tgclv1_SL_vs_muonchain_ES->GetXaxis()->SetBinLabel(1,"false");
-  tgclv1_SL_vs_muonchain_ES->GetXaxis()->SetBinLabel(2,"true");
-  tgclv1_SL_vs_muonchain_ES->GetYaxis()->SetBinLabel(1,"false");
-  tgclv1_SL_vs_muonchain_ES->GetYaxis()->SetBinLabel(2,"true");
+  m_tgclv1_SL_vs_muonchain_ES->GetXaxis()->SetBinLabel(1,"false");
+  m_tgclv1_SL_vs_muonchain_ES->GetXaxis()->SetBinLabel(2,"true");
+  m_tgclv1_SL_vs_muonchain_ES->GetYaxis()->SetBinLabel(1,"false");
+  m_tgclv1_SL_vs_muonchain_ES->GetYaxis()->SetBinLabel(2,"true");
 
 
   return sc;
@@ -590,14 +590,14 @@ TgcLv1RawDataValAlg::bookHistogramsTriggerRate(){
 
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
-  MonGroup tgclv1_rate( this, m_generic_path_tgclv1+"/Global/Rate", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_rate_a( this, m_generic_path_tgclv1+"/TGCEA/Rate", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_rate_c( this, m_generic_path_tgclv1+"/TGCEC/Rate", run, ATTRIB_UNMANAGED );
+  std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  MonGroup tgclv1_rate( this, generic_path_tgclv1+"/Global/Rate", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_rate_a( this, generic_path_tgclv1+"/TGCEA/Rate", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_rate_c( this, generic_path_tgclv1+"/TGCEC/Rate", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_rate_ac[2] = { &tgclv1_rate_a, &tgclv1_rate_c};
 
-  MonGroup tgclv1_ratio_a( this, m_generic_path_tgclv1+"/TGCEA/Rate/Ratio", run, ATTRIB_UNMANAGED   );
-  MonGroup tgclv1_ratio_c( this, m_generic_path_tgclv1+"/TGCEC/Rate/Ratio", run, ATTRIB_UNMANAGED   );
+  MonGroup tgclv1_ratio_a( this, generic_path_tgclv1+"/TGCEA/Rate/Ratio", run, ATTRIB_UNMANAGED   );
+  MonGroup tgclv1_ratio_c( this, generic_path_tgclv1+"/TGCEC/Rate/Ratio", run, ATTRIB_UNMANAGED   );
   MonGroup* tgclv1_ratio_ac[2] = { &tgclv1_ratio_a, &tgclv1_ratio_c};
 
   std::stringstream ss;
@@ -607,16 +607,16 @@ TgcLv1RawDataValAlg::bookHistogramsTriggerRate(){
   // Event Rate histograms
   // Events per 2LB
   ss.str(""); ss << "Number_Of_Events_In_2LB";
-  tgclv1eventsinlb = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;Events / 2LB" ).c_str(), 1250, 1,2501 );
-  if( ( tgclv1_rate.regHist( tgclv1eventsinlb ) ).isFailure() ){
+  m_tgclv1eventsinlb = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;Events / 2LB" ).c_str(), 1250, 1,2501 );
+  if( ( tgclv1_rate.regHist( m_tgclv1eventsinlb ) ).isFailure() ){
     m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
     return sc;
   }
 
   // Events per 10BCID
   ss.str(""); ss << "Number_Of_Events_In_10BCID";
-  tgclv1eventsinbcid = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;Events / 10BCID" ).c_str(), 357, 0, 3570 );//BCID 0-3564
-  if( ( tgclv1_rate.regHist( tgclv1eventsinbcid ) ).isFailure() ){
+  m_tgclv1eventsinbcid = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;Events / 10BCID" ).c_str(), 357, 0, 3570 );//BCID 0-3564
+  if( ( tgclv1_rate.regHist( m_tgclv1eventsinbcid ) ).isFailure() ){
     m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
     return sc;
   }
@@ -627,32 +627,32 @@ TgcLv1RawDataValAlg::bookHistogramsTriggerRate(){
   for(int ac=0;ac<2;ac++){
     // SL Trigger 2LB profile
     ss.str(""); ss << "Number_Of_SL_Triggers_In_2LB_" << side[ac];
-    tgclv1slinlb[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / 2LB" ).c_str(), 1250, 1,2501 );
-    if( ( tgclv1_rate_ac[ac]->regHist( tgclv1slinlb[ac] ) ).isFailure() ){
+    m_tgclv1slinlb[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / 2LB" ).c_str(), 1250, 1,2501 );
+    if( ( tgclv1_rate_ac[ac]->regHist( m_tgclv1slinlb[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // SL Trigger 10BCID profile
     ss.str(""); ss << "Number_Of_SL_Triggers_In_10BCID_" << side[ac];
-    tgclv1slinbcid[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / 10BCID" ).c_str(), 357, 0, 3570 );//BCID 0-3564
-    if( ( tgclv1_rate_ac[ac]->regHist( tgclv1slinbcid[ac] ) ).isFailure() ){
+    m_tgclv1slinbcid[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / 10BCID" ).c_str(), 357, 0, 3570 );//BCID 0-3564
+    if( ( tgclv1_rate_ac[ac]->regHist( m_tgclv1slinbcid[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // SL Trigger per Event 2LB profile
     ss.str(""); ss << "Number_Of_SL_Triggers_Per_Event_Vs_2LB_" << side[ac];
-    tgclv1slpereventlb[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / Events" ).c_str(), 1250, 1,2501 );
-    if( ( tgclv1_ratio_ac[ac]->regHist( tgclv1slpereventlb[ac] ) ).isFailure() ){
+    m_tgclv1slpereventlb[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / Events" ).c_str(), 1250, 1,2501 );
+    if( ( tgclv1_ratio_ac[ac]->regHist( m_tgclv1slpereventlb[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // SL Trigger per Event 10BCID profile
     ss.str(""); ss << "Number_Of_SL_Triggers_Per_Event_Vs_10BCID_" << side[ac];
-    tgclv1slpereventbcid[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / Events" ).c_str(), 357, 0, 3570 );//BCID 0-3564
-    if( ( tgclv1_ratio_ac[ac]->regHist( tgclv1slpereventbcid[ac] ) ).isFailure() ){
+    m_tgclv1slpereventbcid[ac] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / Events" ).c_str(), 357, 0, 3570 );//BCID 0-3564
+    if( ( tgclv1_ratio_ac[ac]->regHist( m_tgclv1slpereventbcid[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
@@ -661,32 +661,32 @@ TgcLv1RawDataValAlg::bookHistogramsTriggerRate(){
     for(int pt=0;pt<6;pt++){
       // SL Trigger 2LB profile for current pT threshold
       ss.str(""); ss << "Number_Of_PT" << pt + 1 << "_Triggers_In_2LB_" << side[ac];
-      tgclv1slinlbpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / 2LB" ).c_str(), 1250, 1,2501 );
-      if( ( tgclv1_rate_ac[ac]->regHist( tgclv1slinlbpt[ac][pt] ) ).isFailure() ){
+      m_tgclv1slinlbpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / 2LB" ).c_str(), 1250, 1,2501 );
+      if( ( tgclv1_rate_ac[ac]->regHist( m_tgclv1slinlbpt[ac][pt] ) ).isFailure() ){
 	m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
 	return sc;
       }
 
       // SL Trigger 10BCID profile for current pT threshold
       ss.str(""); ss << "Number_Of_PT" << pt + 1 << "_Triggers_In_10BCID_" << side[ac];
-      tgclv1slinbcidpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / 10BCID" ).c_str(), 357, 0, 3570 );//BCID 0-3564
-      if( ( tgclv1_rate_ac[ac]->regHist( tgclv1slinbcidpt[ac][pt] ) ).isFailure() ){
+      m_tgclv1slinbcidpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / 10BCID" ).c_str(), 357, 0, 3570 );//BCID 0-3564
+      if( ( tgclv1_rate_ac[ac]->regHist( m_tgclv1slinbcidpt[ac][pt] ) ).isFailure() ){
 	m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
 	return sc;
       }
 
       // SL Trigger per Event 2LB profile for current pT threshold
       ss.str(""); ss << "Number_Of_PT" << pt + 1 << "_Triggers_Per_Event_Vs_2LB_" << side[ac];
-      tgclv1slpereventlbpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / Events" ).c_str(), 1250, 1,2501 );
-      if( ( tgclv1_ratio_ac[ac]->regHist( tgclv1slpereventlbpt[ac][pt] ) ).isFailure() ){
+      m_tgclv1slpereventlbpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";LB;SL / Events" ).c_str(), 1250, 1,2501 );
+      if( ( tgclv1_ratio_ac[ac]->regHist( m_tgclv1slpereventlbpt[ac][pt] ) ).isFailure() ){
 	m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
 	return sc;
       }
 
       // SL Trigger per Event 10BCID profile for current pT threshold
       ss.str(""); ss << "Number_Of_PT" << pt + 1 << "_Triggers_Per_Event_Vs_10BCID_" << side[ac];
-      tgclv1slpereventbcidpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / Events" ).c_str(), 357, 0, 3570 );//BCID 0-3564
-      if( ( tgclv1_ratio_ac[ac]->regHist( tgclv1slpereventbcidpt[ac][pt] ) ).isFailure() ){
+      m_tgclv1slpereventbcidpt[ac][pt] = new TH1F( ss.str().c_str(), ( ss.str() + ";BCID;SL / Events" ).c_str(), 357, 0, 3570 );//BCID 0-3564
+      if( ( tgclv1_ratio_ac[ac]->regHist( m_tgclv1slpereventbcidpt[ac][pt] ) ).isFailure() ){
 	m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
 	return sc;
       }
@@ -703,13 +703,13 @@ TgcLv1RawDataValAlg::bookHistogramsTriggerRate(){
 // Fills Trigger Profile histograms from vectors
 void 
 TgcLv1RawDataValAlg::fillNumberOfTrigger(){
-  //std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
-  //MonGroup tgclv1_shift( this, m_generic_path_tgclv1+"/Overview", shift, run );
+  //std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  //MonGroup tgclv1_shift( this, generic_path_tgclv1+"/Overview", shift, run );
 
   ///////////////////////////////////////////////////////////////////////////
   // Fill Event Rate histograms
-  tgclv1eventsinlb  ->Fill(m_lumiblock);
-  tgclv1eventsinbcid->Fill(m_BCID);
+  m_tgclv1eventsinlb  ->Fill(m_lumiblock);
+  m_tgclv1eventsinbcid->Fill(m_BCID);
 
   ///////////////////////////////////////////////////////////////////////////
   // Fill Trigger Rate histograms
@@ -747,21 +747,21 @@ TgcLv1RawDataValAlg::fillNumberOfTrigger(){
 	  if(ws==1){
 	    // Strip
 	    // Fill phi profiles
-	    tgclv1lptsectstrip[ac]      ->Fill(phi48sect+1);
-	    tgclv1lptstripinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
+	    m_tgclv1lptsectstrip[ac]      ->Fill(phi48sect+1);
+	    m_tgclv1lptstripinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
 	    // Fill in&out comparison map
 	    // 6 etain bins, followed by 6 etaout bins
-	    tgclv1lptstripchamber[ac]->Fill((5-etain), phi48mod+1);
-	    tgclv1lptstripchamber[ac]->Fill((5-etaout)+6, phi48mod+1);
+	    m_tgclv1lptstripchamber[ac]->Fill((5-etain), phi48mod+1);
+	    m_tgclv1lptstripchamber[ac]->Fill((5-etaout)+6, phi48mod+1);
 	  }else{
 	    // Wire
 	    // Fill phi profiles
-	    tgclv1lptsectwire[ac]      ->Fill(phi48sect+1);
-	    tgclv1lptwireinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
+	    m_tgclv1lptsectwire[ac]      ->Fill(phi48sect+1);
+	    m_tgclv1lptwireinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
 	    // Fill in&out comparison map
 	    // 6 etain bins, followed by 6 etaout bins
-	    tgclv1lptwirechamber[ac]->Fill((5-etain), phi48mod+1);
-	    tgclv1lptwirechamber[ac]->Fill((5-etaout)+6, phi48mod+1);
+	    m_tgclv1lptwirechamber[ac]->Fill((5-etain), phi48mod+1);
+	    m_tgclv1lptwirechamber[ac]->Fill((5-etaout)+6, phi48mod+1);
 	  }
 	}// current
       }// iLpT
@@ -823,43 +823,43 @@ TgcLv1RawDataValAlg::fillNumberOfTrigger(){
 	  if(t_isInner){
 	    if(ws==0){
 	      //std::cout<<"bEIFI "<<b_EI0<<"/"<<b_FI0<<"/"<<b_EI1<<"/"<<b_FI1<<"/"<<b_EI2<<"/"<<b_FI2<<std::endl;
-	      if (b_EI0 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,0);
-	      if (b_FI0 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,1);
-	      if (b_EI1 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,2);
-	      if (b_FI1 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,3);
-	      if (b_EI2 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,4);
-	      if (b_FI2 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,5);
-	      if (b_EI3 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,6);
-	      if (b_FI3 == 1)tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,7);
-
-	      if (b_EI0 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,0);
-	      if (b_FI0 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,1);
-	      if (b_EI1 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,2);
-	      if (b_FI1 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,3);
-	      if (b_EI2 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,4);
-	      if (b_FI2 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,5);
-	      if (b_EI3 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,6);
-	      if (b_FI3 == 1)tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,7);
+	      if (b_EI0 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,0);
+	      if (b_FI0 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,1);
+	      if (b_EI1 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,2);
+	      if (b_FI1 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,3);
+	      if (b_EI2 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,4);
+	      if (b_FI2 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,5);
+	      if (b_EI3 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,6);
+	      if (b_FI3 == 1)m_tgclv1hptstripinlbvssecteifilumi[ac]->Fill(m_lumiblock,7);
+
+	      if (b_EI0 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,0);
+	      if (b_FI0 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,1);
+	      if (b_EI1 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,2);
+	      if (b_FI1 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,3);
+	      if (b_EI2 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,4);
+	      if (b_FI2 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,5);
+	      if (b_EI3 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,6);
+	      if (b_FI3 == 1)m_tgclv1hptstripinlbvssecteifisect[ac]->Fill(phi48+1,7);
 	    }
 	  }else{ 
 	    if(ws==1){
 	      // Strip
 	      // Fill phi profiles
-	      tgclv1hptsectstrip[ac]      ->Fill(phi48sect+1);
-	      tgclv1hptstripinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
+	      m_tgclv1hptsectstrip[ac]      ->Fill(phi48sect+1);
+	      m_tgclv1hptstripinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
 	      // Fill in&out comparison map
 	      // 5 etain bins, followed by 6 etaout bins
-	      tgclv1hptstripchamber[ac]->Fill((4-etain), phi48mod+1);
-	      tgclv1hptstripchamber[ac]->Fill((5-etaout)+5, phi48mod+1);
+	      m_tgclv1hptstripchamber[ac]->Fill((4-etain), phi48mod+1);
+	      m_tgclv1hptstripchamber[ac]->Fill((5-etaout)+5, phi48mod+1);
 	    }else{
 	      // Wire
 	      // Fill phi profiles
-	      tgclv1hptsectwire[ac]      ->Fill(phi48sect+1);
-	      tgclv1hptwireinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
+	      m_tgclv1hptsectwire[ac]      ->Fill(phi48sect+1);
+	      m_tgclv1hptwireinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
 	      // Fill in&out comparison map
 	      // 5 etain bins, followed by 6 etaout bins
-	      tgclv1hptwirechamber[ac]->Fill((4-etain), phi48mod+1);
-	      tgclv1hptwirechamber[ac]->Fill((5-etaout)+5, phi48mod+1);
+	      m_tgclv1hptwirechamber[ac]->Fill((4-etain), phi48mod+1);
+	      m_tgclv1hptwirechamber[ac]->Fill((5-etaout)+5, phi48mod+1);
 	    }
 	  }//EIFI coin 
 	}// current
@@ -899,36 +899,36 @@ TgcLv1RawDataValAlg::fillNumberOfTrigger(){
 
       if(pcn==CURR){
 	// Fill pT threshold profile
-	tgclv1pt[ac]->Fill(pt);
+	m_tgclv1pt[ac]->Fill(pt);
 
 	// Fill RoI eta vs phi maps
-	tgclv1roietavsphi[ac]        ->Fill(etaroi, (float)phiroi/4.);
-	tgclv1roietavsphipt[ac][pt-1]->Fill(etaroi, (float)phiroi/4.);
+	m_tgclv1roietavsphi[ac]        ->Fill(etaroi, (float)phiroi/4.);
+	m_tgclv1roietavsphipt[ac][pt-1]->Fill(etaroi, (float)phiroi/4.);
 	if(ac==0){  // Fill A-side
-	  tgclv1roietavsphiAll        ->Fill(etaroi+1.1, (float)phiroi/4.);
-	  tgclv1roietavsphiptAll[pt-1]->Fill(etaroi+1.1, (float)phiroi/4.);
+	  m_tgclv1roietavsphiAll        ->Fill(etaroi+1.1, (float)phiroi/4.);
+	  m_tgclv1roietavsphiptAll[pt-1]->Fill(etaroi+1.1, (float)phiroi/4.);
 	} else {  // Fill C-side
-	  tgclv1roietavsphiAll        ->Fill(-(etaroi+1.1), (float)phiroi/4.);
-	  tgclv1roietavsphiptAll[pt-1]->Fill(-(etaroi+1.1), (float)phiroi/4.);
+	  m_tgclv1roietavsphiAll        ->Fill(-(etaroi+1.1), (float)phiroi/4.);
+	  m_tgclv1roietavsphiptAll[pt-1]->Fill(-(etaroi+1.1), (float)phiroi/4.);
 	}  
 	// Fill phi profiles
-	tgclv1slsect[ac]      ->Fill(phi48sect+1);
-	tgclv1slinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
+	m_tgclv1slsect[ac]      ->Fill(phi48sect+1);
+	m_tgclv1slinlbvssect[ac]->Fill(m_lumiblock, phi48sect+1);
 
 	// Fill in&out comparison map
-	tgclv1slchamber[ac]->Fill((5-etaout), phi48mod+1);
-	if(ac==0)tgclv1slchamberAll ->Fill((5-etaout)+1, phi48mod+1); // fill A-side
-	else tgclv1slchamberAll ->Fill(-(5-etaout)-1.1, phi48mod+1); // fill C-side
+	m_tgclv1slchamber[ac]->Fill((5-etaout), phi48mod+1);
+	if(ac==0)m_tgclv1slchamberAll ->Fill((5-etaout)+1, phi48mod+1); // fill A-side
+	else m_tgclv1slchamberAll ->Fill(-(5-etaout)-1.1, phi48mod+1); // fill C-side
 	// not monitor these profiles at GM
 	if( m_environment != AthenaMonManager::online )
-	  tgclv1slchamberlowstat[ac]->Fill((5-etaout), phi48mod+1);
+	  m_tgclv1slchamberlowstat[ac]->Fill((5-etaout), phi48mod+1);
 
 	// Fill LB profiles
-	tgclv1slinlb[ac]        ->Fill(m_lumiblock);
-	tgclv1slinlbpt[ac][pt-1]->Fill(m_lumiblock);
+	m_tgclv1slinlb[ac]        ->Fill(m_lumiblock);
+	m_tgclv1slinlbpt[ac][pt-1]->Fill(m_lumiblock);
 	// Fill BCID profiles
-	tgclv1slinbcid[ac]        ->Fill(m_BCID);
-	tgclv1slinbcidpt[ac][pt-1]->Fill(m_BCID);
+	m_tgclv1slinbcid[ac]        ->Fill(m_BCID);
+	m_tgclv1slinbcidpt[ac][pt-1]->Fill(m_BCID);
       }// current
     }// isl
 
@@ -937,16 +937,16 @@ TgcLv1RawDataValAlg::fillNumberOfTrigger(){
   // Fill Trigger timing profiles
   for(int ipcnt=0;ipcnt<4;ipcnt++){
     if( m_environment != AthenaMonManager::online ){
-      tgclv1numberoflptwire[ipcnt] ->Fill(m_nLptWire[ipcnt]);
-      tgclv1numberoflptstrip[ipcnt]->Fill(m_nLptStrip[ipcnt]);
-      tgclv1numberofhptwire[ipcnt] ->Fill(m_nHptWire[ipcnt]);
-      tgclv1numberofhptstrip[ipcnt]->Fill(m_nHptStrip[ipcnt]);
-      tgclv1numberofsl[ipcnt]      ->Fill(m_nSL[ipcnt]);
+      m_tgclv1numberoflptwire[ipcnt] ->Fill(m_nLptWire[ipcnt]);
+      m_tgclv1numberoflptstrip[ipcnt]->Fill(m_nLptStrip[ipcnt]);
+      m_tgclv1numberofhptwire[ipcnt] ->Fill(m_nHptWire[ipcnt]);
+      m_tgclv1numberofhptstrip[ipcnt]->Fill(m_nHptStrip[ipcnt]);
+      m_tgclv1numberofsl[ipcnt]      ->Fill(m_nSL[ipcnt]);
     }
 
     if( ipcnt==1 ){
       int hasSLcurrent = (m_nSL[1]>0) ;
-      tgclv1_SL_vs_muonchain_ES->Fill(hasSLcurrent, m_found_nonmuon_express_chain);
+      m_tgclv1_SL_vs_muonchain_ES->Fill(hasSLcurrent, m_found_nonmuon_express_chain);
     }
   }
 
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Summary_LowStat.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Summary_LowStat.cxx
index 96dcdbca3954c9db0dfe167cb2e6905f563ef44e..a3867ad26170f9f42527a32a51c251fcf48b29ee 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Summary_LowStat.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_Summary_LowStat.cxx
@@ -61,10 +61,10 @@ TgcLv1RawDataValAlg::bookHistogramsSummary(){
   
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
-  MonGroup tgclv1_summary( this, m_generic_path_tgclv1+"/Global/Summary",  run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_summary_a( this, m_generic_path_tgclv1+"/TGCEA/Summary", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_summary_c( this, m_generic_path_tgclv1+"/TGCEC/Summary", run, ATTRIB_UNMANAGED );
+  std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  MonGroup tgclv1_summary( this, generic_path_tgclv1+"/Global/Summary",  run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_summary_a( this, generic_path_tgclv1+"/TGCEA/Summary", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_summary_c( this, generic_path_tgclv1+"/TGCEC/Summary", run, ATTRIB_UNMANAGED );
 
   std::stringstream ss;
   std::string side[2] ={"A","C"};
@@ -73,27 +73,27 @@ TgcLv1RawDataValAlg::bookHistogramsSummary(){
   for(int ac=0;ac<2;ac++){// side
     // SL Timing summary
     ss.str(""); ss << "Summary_Of_SL_Timing_" << side[ac];
-    tgclv1summaryofsltiming[ac] = new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
-    if(ac==0) sc=tgclv1_summary_a.regHist(tgclv1summaryofsltiming[ac]);
-    else      sc=tgclv1_summary_c.regHist(tgclv1summaryofsltiming[ac]);
+    m_tgclv1summaryofsltiming[ac] = new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
+    if(ac==0) sc=tgclv1_summary_a.regHist(m_tgclv1summaryofsltiming[ac]);
+    else      sc=tgclv1_summary_c.regHist(m_tgclv1summaryofsltiming[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1summaryofsltiming[" << ac << "] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1summaryofsltiming[" << ac << "] Failed to register histogram " << endmsg;       
       return sc;
     }
-    tgclv1summaryofsltiming[ac]->GetXaxis()->SetTitle("Current BC fraction");
-    tgclv1summaryofsltiming[ac]->GetYaxis()->SetTitle("Entries");
+    m_tgclv1summaryofsltiming[ac]->GetXaxis()->SetTitle("Current BC fraction");
+    m_tgclv1summaryofsltiming[ac]->GetYaxis()->SetTitle("Entries");
 
     // LpT Timing summary
     ss.str(""); ss << "Summary_Of_Low_Pt_Timing_" << side[ac];
-    tgclv1summaryoflpttiming[ac] = new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
-    if(ac==0) sc=tgclv1_summary_a.regHist(tgclv1summaryoflpttiming[ac]);
-    else      sc=tgclv1_summary_c.regHist(tgclv1summaryoflpttiming[ac]);
+    m_tgclv1summaryoflpttiming[ac] = new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
+    if(ac==0) sc=tgclv1_summary_a.regHist(m_tgclv1summaryoflpttiming[ac]);
+    else      sc=tgclv1_summary_c.regHist(m_tgclv1summaryoflpttiming[ac]);
     if(sc.isFailure()){
-      m_log << MSG::FATAL << "tgclv1summaryoflpttiming[" << ac << "] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1summaryoflpttiming[" << ac << "] Failed to register histogram " << endmsg;       
       return sc;
     }
-    tgclv1summaryoflpttiming[ac]->GetXaxis()->SetTitle("Current BC fraction");
-    tgclv1summaryoflpttiming[ac]->GetYaxis()->SetTitle("Entries");
+    m_tgclv1summaryoflpttiming[ac]->GetXaxis()->SetTitle("Current BC fraction");
+    m_tgclv1summaryoflpttiming[ac]->GetYaxis()->SetTitle("Entries");
   }// side
   
   
@@ -101,27 +101,27 @@ TgcLv1RawDataValAlg::bookHistogramsSummary(){
   for(int itype=0;itype<6;itype++){// chambertype
     // SL Timing summary per chamber type
     ss.str(""); ss << "Summary_Of_SL_Timing_Per_Chamber_Type" << type[itype];
-    tgclv1summaryofsltimingperchambertype[itype]=new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
+    m_tgclv1summaryofsltimingperchambertype[itype]=new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
         
-    sc=tgclv1_summary.regHist(tgclv1summaryofsltimingperchambertype[itype]) ;  
+    sc=tgclv1_summary.regHist(m_tgclv1summaryofsltimingperchambertype[itype]) ;  
     if(sc.isFailure()) { 
-      m_log << MSG::FATAL << "tgclv1summaryofsltimingperchambertype[" << itype << "] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1summaryofsltimingperchambertype[" << itype << "] Failed to register histogram " << endmsg;       
       return sc;
     }
-    tgclv1summaryofsltimingperchambertype[itype]->GetXaxis()->SetTitle("Current BC fraction"); 
-    tgclv1summaryofsltimingperchambertype[itype]->GetYaxis()->SetTitle("Entries"); 
+    m_tgclv1summaryofsltimingperchambertype[itype]->GetXaxis()->SetTitle("Current BC fraction"); 
+    m_tgclv1summaryofsltimingperchambertype[itype]->GetYaxis()->SetTitle("Entries"); 
     
     // LpT Timing summary per chamber type
     ss.str(""); ss << "Summary_Of_Low_Pt_Timing_Per_Chamber_Type" << type[itype];
-    tgclv1summaryoflpttimingperchambertype[itype]=new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
+    m_tgclv1summaryoflpttimingperchambertype[itype]=new TH1F(ss.str().c_str(), ss.str().c_str(), 151, 0.7, 1.002);
       
-    sc=tgclv1_summary.regHist(tgclv1summaryoflpttimingperchambertype[itype]) ;  
+    sc=tgclv1_summary.regHist(m_tgclv1summaryoflpttimingperchambertype[itype]) ;  
     if(sc.isFailure()) { 
-      m_log << MSG::FATAL << "tgclv1summaryoflpttimingperchambertype[" << itype << "] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgclv1summaryoflpttimingperchambertype[" << itype << "] Failed to register histogram " << endmsg;       
       return sc;
     }
-    tgclv1summaryoflpttimingperchambertype[itype]->GetXaxis()->SetTitle("Current BC fraction"); 
-    tgclv1summaryoflpttimingperchambertype[itype]->GetYaxis()->SetTitle("Entries");
+    m_tgclv1summaryoflpttimingperchambertype[itype]->GetXaxis()->SetTitle("Current BC fraction"); 
+    m_tgclv1summaryoflpttimingperchambertype[itype]->GetYaxis()->SetTitle("Entries");
   }// chambertype
 
   return sc;
@@ -137,10 +137,10 @@ TgcLv1RawDataValAlg::bookHistogramsLowStat(){
   
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
 
-  MonGroup tgclv1_lowstat_a( this, m_generic_path_tgclv1+"/TGCEA", lowStat, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_lowstat_c( this, m_generic_path_tgclv1+"/TGCEC", lowStat, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_lowstat_a( this, generic_path_tgclv1+"/TGCEA", lowStat, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_lowstat_c( this, generic_path_tgclv1+"/TGCEC", lowStat, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_lowstat_ac[2] = { &tgclv1_lowstat_a, &tgclv1_lowstat_c};
 
   int k=0;
@@ -153,24 +153,24 @@ TgcLv1RawDataValAlg::bookHistogramsLowStat(){
   for(int ac=0;ac<2;ac++){// side
     // SL trigger chamber map in 10LBs
     ss.str(""); ss << "SL_Chamber_In_10LBs_" << side[ac];
-    tgclv1slchamberlowstat[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 6, 0, 6, 48, 1, 49); 
-    if((tgclv1_lowstat_ac[ac]->regHist(tgclv1slchamberlowstat[ac])).isFailure()){
+    m_tgclv1slchamberlowstat[ac] =new TH2F(ss.str().c_str(),ss.str().c_str(), 6, 0, 6, 48, 1, 49); 
+    if((tgclv1_lowstat_ac[ac]->regHist(m_tgclv1slchamberlowstat[ac])).isFailure()){
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
     }
     
     // SL trigger chamber map in 10LBs for pT threshold > pT1
     ss.str(""); ss << sltiming << morethanpt1 << "_In_10LBs_" << side[ac];
-    tgclv1sltimingptcutlowstat[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-    setTH1TitleLabelBCID(tgclv1sltimingptcutlowstat[ac]);
-    if((tgclv1_lowstat_ac[ac]->regHist(tgclv1sltimingptcutlowstat[ac])).isFailure()){
+    m_tgclv1sltimingptcutlowstat[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+    setTH1TitleLabelBCID(m_tgclv1sltimingptcutlowstat[ac]);
+    if((tgclv1_lowstat_ac[ac]->regHist(m_tgclv1sltimingptcutlowstat[ac])).isFailure()){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
     
     // Set Bin Labels
     for(int icham=0;icham<6;icham++){
-      tgclv1slchamberlowstat[ac]->GetXaxis()->SetBinLabel(icham+1, schamberT3[icham].c_str()); 
+      m_tgclv1slchamberlowstat[ac]->GetXaxis()->SetBinLabel(icham+1, schamberT3[icham].c_str()); 
     }// chambertype
     k=1;
     for(int isect=1;isect<=12;isect++){// sector
@@ -179,7 +179,7 @@ TgcLv1RawDataValAlg::bookHistogramsLowStat(){
         ss.str(""); ss << side[ac];
         if(isect<10)ss << "0";
         ss << isect << "phi" << iphi;
-        tgclv1slchamberlowstat[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1slchamberlowstat[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
         k+=phistep;
       }// phi
     }// sector
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_TriggerTiming.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_TriggerTiming.cxx
index 48b37be4857e7845f30a9fcf687436663967a141..f527bbe64e2723cd3856e5d9539e7a4eaad95b4d 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_TriggerTiming.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcLv1RawDataValAlg_TriggerTiming.cxx
@@ -55,28 +55,28 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
   
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  std::string m_generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
-  MonGroup tgclv1_shift( this, m_generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_shift_a( this, m_generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_shift_c( this, m_generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
+  std::string generic_path_tgclv1 = "Muon/MuonRawDataMonitoring/TGCLV1";
+  MonGroup tgclv1_shift( this, generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_shift_a( this, generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_shift_c( this, generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_shift_ac[2] = { &tgclv1_shift_a, &tgclv1_shift_c};
 
-  MonGroup tgclv1_expert( this, m_generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_expert_a( this, m_generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_expert_c( this, m_generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_expert( this, generic_path_tgclv1+"/Global", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_expert_a( this, generic_path_tgclv1+"/TGCEA", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_expert_c( this, generic_path_tgclv1+"/TGCEC", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_expert_ac[2] = { &tgclv1_expert_a, &tgclv1_expert_c};
 
-  MonGroup tgclv1_timing( this, m_generic_path_tgclv1+"/Global/Timing", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_timing_a( this, m_generic_path_tgclv1+"/TGCEA/Timing", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_timing_c( this, m_generic_path_tgclv1+"/TGCEC/Timing", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_timing( this, generic_path_tgclv1+"/Global/Timing", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_timing_a( this, generic_path_tgclv1+"/TGCEA/Timing", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_timing_c( this, generic_path_tgclv1+"/TGCEC/Timing", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_timing_ac[2] = { &tgclv1_timing_a, &tgclv1_timing_c};
 
-  MonGroup tgclv1_timing_a_ES( this, m_generic_path_tgclv1+"/TGCEA/ES/Timing", run, ATTRIB_UNMANAGED );
-  MonGroup tgclv1_timing_c_ES( this, m_generic_path_tgclv1+"/TGCEC/ES/Timing", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_timing_a_ES( this, generic_path_tgclv1+"/TGCEA/ES/Timing", run, ATTRIB_UNMANAGED );
+  MonGroup tgclv1_timing_c_ES( this, generic_path_tgclv1+"/TGCEC/ES/Timing", run, ATTRIB_UNMANAGED );
   MonGroup* tgclv1_timing_ac_ES[2] = { &tgclv1_timing_a_ES, &tgclv1_timing_c_ES};
 
-  MonGroup tgclv1_timing_a_ES_GM( this, m_generic_path_tgclv1+"/TGCEA/ES/GM", run, ATTRIB_UNMANAGED, "", "weightedEff" );
-  MonGroup tgclv1_timing_c_ES_GM( this, m_generic_path_tgclv1+"/TGCEC/ES/GM", run, ATTRIB_UNMANAGED, "", "weightedEff");
+  MonGroup tgclv1_timing_a_ES_GM( this, generic_path_tgclv1+"/TGCEA/ES/GM", run, ATTRIB_UNMANAGED, "", "weightedEff" );
+  MonGroup tgclv1_timing_c_ES_GM( this, generic_path_tgclv1+"/TGCEC/ES/GM", run, ATTRIB_UNMANAGED, "", "weightedEff");
   MonGroup* tgclv1_timing_ac_ES_GM[2] = { &tgclv1_timing_a_ES_GM, &tgclv1_timing_c_ES_GM};
 
   int k=0;
@@ -105,18 +105,18 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // SL Timing hists per side
     // SL Timing hist
     ss.str(""); ss << sltiming << "_" << side[ac];
-    tgclv1sltiming[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-    setTH1TitleLabelBCID(tgclv1sltiming[ac]);
-    if( ( tgclv1_shift_ac[ac]->regHist(tgclv1sltiming[ac]) ).isFailure() ){
+    m_tgclv1sltiming[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+    setTH1TitleLabelBCID(m_tgclv1sltiming[ac]);
+    if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1sltiming[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
     
     // SL Timing hist for pT threshold > pT1
     ss.str(""); ss << sltiming << morethanpt1 << "_" << side[ac];
-    tgclv1sltimingptcut[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-    setTH1TitleLabelBCID(tgclv1sltimingptcut[ac]);
-    if( ( tgclv1_shift_ac[ac]->regHist(tgclv1sltimingptcut[ac]) ).isFailure() ){
+    m_tgclv1sltimingptcut[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+    setTH1TitleLabelBCID(m_tgclv1sltimingptcut[ac]);
+    if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1sltimingptcut[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
@@ -124,9 +124,9 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // SL Timing hist for each pT threshold
     for(int ipt=0;ipt<6;ipt++){
       ss.str(""); ss << sltiming << PT << ipt+1 << "_" << side[ac];
-      tgclv1sltimingpt[ac][ipt] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      setTH1TitleLabelBCID(tgclv1sltimingpt[ac][ipt]);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1sltimingpt[ac][ipt]) ).isFailure() ){
+      m_tgclv1sltimingpt[ac][ipt] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      setTH1TitleLabelBCID(m_tgclv1sltimingpt[ac][ipt]);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1sltimingpt[ac][ipt]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
@@ -137,34 +137,34 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // Timing maps show prev,curr,next stationEta (pcn3xeta6) vs stationPhi (phi48)
     // SL Timing map
     ss.str(""); ss << sltiming << "_Map_" << side[ac];
-    tgclv1sltimingmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1sltimingmap[ac]) ).isFailure() ){
+    m_tgclv1sltimingmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1sltimingmap[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    tgclv1sltimingmap[ac]->SetMinimum(0.0);
+    m_tgclv1sltimingmap[ac]->SetMinimum(0.0);
     
     // SL Timing Current Fraction map
     ss.str(""); ss << sl << "Timing_Fraction_Map_" << side[ac];
-    tgclv1slcurrentfractionmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1slcurrentfractionmap[ac]) ).isFailure() ){
+    m_tgclv1slcurrentfractionmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1slcurrentfractionmap[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
     
     // SL Timing map for pT threshold > pT1
     ss.str(""); ss << sltiming << "_Map" << morethanpt1 << "_" << side[ac];
-    tgclv1sltimingmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1sltimingmapptcut[ac]) ).isFailure() ){
+    m_tgclv1sltimingmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1sltimingmapptcut[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    tgclv1sltimingmapptcut[ac]->SetMinimum(0.0);
+    m_tgclv1sltimingmapptcut[ac]->SetMinimum(0.0);
     
     // SL Timing Current Fraction map for pT threshold > pT1
     ss.str(""); ss << sl << "Timing_Fraction_Map" << morethanpt1 << side[ac];
-    tgclv1slcurrentfractionmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1slcurrentfractionmapptcut[ac]) ).isFailure() ){
+    m_tgclv1slcurrentfractionmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1slcurrentfractionmapptcut[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
@@ -172,10 +172,10 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // Set Bin Labels for SL Timing maps
     for(int pcn=0;pcn<3;pcn++){
       for(int eta=0;eta<6;eta++){
-        tgclv1sltimingmap[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
-        tgclv1slcurrentfractionmap[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
-        tgclv1sltimingmapptcut[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
-        tgclv1slcurrentfractionmapptcut[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str());
+        m_tgclv1sltimingmap[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
+        m_tgclv1slcurrentfractionmap[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
+        m_tgclv1sltimingmapptcut[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
+        m_tgclv1slcurrentfractionmapptcut[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str());
       }// eta
     }// pcn
     k=1;
@@ -184,10 +184,10 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
         ss.str(""); ss << side[ac];
         if(sec<10)ss << "0";
         ss << sec << "Ephi" << phi;
-        tgclv1sltimingmap[ac]         ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
-        tgclv1slcurrentfractionmap[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
-        tgclv1sltimingmapptcut[ac]         ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
-        tgclv1slcurrentfractionmapptcut[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1sltimingmap[ac]         ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1slcurrentfractionmap[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1sltimingmapptcut[ac]         ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1slcurrentfractionmapptcut[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
       }// phi
     }// sector
     
@@ -198,23 +198,23 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
       ss.str(""); ss << sltiming << "_" << side[ac];
       if(isect+1<10)ss << "0";
       ss << isect+1;
-      tgclv1sltimingsector[ac][isect] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1sltimingsector[ac][isect]) ).isFailure() ){
+      m_tgclv1sltimingsector[ac][isect] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1sltimingsector[ac][isect]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      setTH1TitleLabelBCID(tgclv1sltimingsector[ac][isect]);
+      setTH1TitleLabelBCID(m_tgclv1sltimingsector[ac][isect]);
       
       // SL Timing hist for pT threshold > pT1
       ss.str(""); ss << sltiming << morethanpt1 << "_" << side[ac];
       if(isect+1<10)ss << "0";
       ss << isect+1;
-      tgclv1sltimingptcutsector[ac][isect] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1sltimingptcutsector[ac][isect]) ).isFailure() ){
+      m_tgclv1sltimingptcutsector[ac][isect] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1sltimingptcutsector[ac][isect]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      setTH1TitleLabelBCID(tgclv1sltimingptcutsector[ac][isect]);
+      setTH1TitleLabelBCID(m_tgclv1sltimingptcutsector[ac][isect]);
     }// sector
 
     /////////////////////////////////////
@@ -222,18 +222,18 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     for(int itrig=0;itrig<4;itrig++){// trigger type
       // SL Timing hist
       ss.str(""); ss << sltiming << triggertype[itrig] << "_" << side[ac];
-      tgclv1sltimingtrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      setTH1TitleLabelBCID(tgclv1sltimingtrg[ac][itrig]);
-      if( ( tgclv1_expert_ac[ac]->regHist(tgclv1sltimingtrg[ac][itrig]) ).isFailure() ){
+      m_tgclv1sltimingtrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      setTH1TitleLabelBCID(m_tgclv1sltimingtrg[ac][itrig]);
+      if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1sltimingtrg[ac][itrig]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
 
       // SL Timing hist for pT threshold > pT1
       ss.str(""); ss << sltiming << morethanpt1 << triggertype[itrig] << "_" << side[ac];
-      tgclv1sltimingptcuttrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      setTH1TitleLabelBCID(tgclv1sltimingptcuttrg[ac][itrig]);
-      if( ( tgclv1_expert_ac[ac]->regHist(tgclv1sltimingptcuttrg[ac][itrig]) ).isFailure() ){
+      m_tgclv1sltimingptcuttrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      setTH1TitleLabelBCID(m_tgclv1sltimingptcuttrg[ac][itrig]);
+      if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1sltimingptcuttrg[ac][itrig]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
@@ -241,9 +241,9 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
       // SL Timing hist for each pT threshold
       for(int ipt=0;ipt<6;ipt++){// pT
         ss.str(""); ss << sltiming << PT << ipt+1 << triggertype[itrig] << "_" << side[ac];
-        tgclv1sltimingpttrg[ac][ipt][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-        setTH1TitleLabelBCID(tgclv1sltimingpttrg[ac][ipt][itrig]);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1sltimingpttrg[ac][ipt][itrig]) ).isFailure() ){
+        m_tgclv1sltimingpttrg[ac][ipt][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+        setTH1TitleLabelBCID(m_tgclv1sltimingpttrg[ac][ipt][itrig]);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1sltimingpttrg[ac][ipt][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
@@ -258,24 +258,24 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
         ss.str(""); ss << sltiming << triggertype[itrig] << "_" << side[ac];
         if(isect+1<10)ss << "0";
         ss << isect+1;
-        tgclv1sltimingsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1sltimingsectortrg[ac][isect][itrig]) ).isFailure() ){
+        m_tgclv1sltimingsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1sltimingsectortrg[ac][isect][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
-        setTH1TitleLabelBCID(tgclv1sltimingsectortrg[ac][isect][itrig]);
+        setTH1TitleLabelBCID(m_tgclv1sltimingsectortrg[ac][isect][itrig]);
         
         // SL Timing hist for pT threshold > pT1
         ss.str(""); ss << sltiming << morethanpt1 << triggertype[itrig] << "_" << side[ac];
         if(isect+1<10)ss << "0";
         ss << isect+1;
         m_log << MSG::DEBUG << "histos for SL sector timing for pt>2" << endmsg; 
-        tgclv1sltimingptcutsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1sltimingptcutsectortrg[ac][isect][itrig]) ).isFailure() ){
+        m_tgclv1sltimingptcutsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1sltimingptcutsectortrg[ac][isect][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
-        setTH1TitleLabelBCID(tgclv1sltimingptcutsectortrg[ac][isect][itrig]);
+        setTH1TitleLabelBCID(m_tgclv1sltimingptcutsectortrg[ac][isect][itrig]);
       }// trigger type
     }// sector
     
@@ -284,18 +284,18 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     for(int imuid=0;imuid<m_nMuonAlgorithms;imuid++){// muonalg
       // SL Timing hist
       ss.str(""); ss << sltiming << smuid[imuid] << "_" << side[ac];
-      tgclv1sltimingtrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
-      setTH1TitleLabelBCID(tgclv1sltimingtrack[ac][imuid]);
-      if( ( tgclv1_shift_ac[ac]->regHist(tgclv1sltimingtrack[ac][imuid] ) ).isFailure() ){
+      m_tgclv1sltimingtrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
+      setTH1TitleLabelBCID(m_tgclv1sltimingtrack[ac][imuid]);
+      if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1sltimingtrack[ac][imuid] ) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
       
       // SL Timing hist for pT threshold > pT1
       ss.str(""); ss << sltiming << morethanpt1 << smuid[imuid] << "_" << side[ac];
-      tgclv1sltimingptcuttrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
-      setTH1TitleLabelBCID(tgclv1sltimingptcuttrack[ac][imuid]);
-      if( ( tgclv1_shift_ac[ac]->regHist(tgclv1sltimingptcuttrack[ac][imuid] ) ).isFailure() ){
+      m_tgclv1sltimingptcuttrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
+      setTH1TitleLabelBCID(m_tgclv1sltimingptcuttrack[ac][imuid]);
+      if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1sltimingptcuttrack[ac][imuid] ) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
@@ -311,32 +311,32 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // LpT Timing hists per side
     // LpT Timing hist
     ss.str(""); ss << lpttiming << "_" << side[ac];
-    tgclv1lpttiming[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-    if( ( tgclv1_shift_ac[ac]->regHist(tgclv1lpttiming[ac]) ).isFailure() ){
+    m_tgclv1lpttiming[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+    if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1lpttiming[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    setTH1TitleLabelBCID(tgclv1lpttiming[ac]);
+    setTH1TitleLabelBCID(m_tgclv1lpttiming[ac]);
 
     // LpT Timing hist for pT threshold > pT1
     ss.str(""); ss << lpttiming << morethanpt1 << "_" << side[ac];
-    tgclv1lpttimingptcut[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lpttimingptcut[ac]) ).isFailure() ){
+    m_tgclv1lpttimingptcut[ac] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lpttimingptcut[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    setTH1TitleLabelBCID(tgclv1lpttimingptcut[ac]);
+    setTH1TitleLabelBCID(m_tgclv1lpttimingptcut[ac]);
 
     // LpT Timing hist for each pT threshold
     for(int ipt=0;ipt<6;ipt++){
       ss.str(""); ss << lpttiming << PT << ipt+1 << "_" << side[ac];
-      tgclv1lpttimingpt[ac][ipt] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1lpttimingpt[ac][ipt]) ).isFailure() ){
+      m_tgclv1lpttimingpt[ac][ipt] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1lpttimingpt[ac][ipt]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      tgclv1lpttimingpt[ac][ipt]->SetMinimum(0.0);
-      setTH1TitleLabelBCID(tgclv1lpttimingpt[ac][ipt]);
+      m_tgclv1lpttimingpt[ac][ipt]->SetMinimum(0.0);
+      setTH1TitleLabelBCID(m_tgclv1lpttimingpt[ac][ipt]);
     }
 
     /////////////////////////////////////
@@ -344,34 +344,34 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // Timing maps show prev,curr,next stationEta (pcn3xeta6) vs stationPhi (phi48)
     // LpT Timing map
     ss.str(""); ss << lpttiming << "_Map_" << side[ac];
-    tgclv1lpttimingmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lpttimingmap[ac]) ).isFailure() ){
+    m_tgclv1lpttimingmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lpttimingmap[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    tgclv1lpttimingmap[ac]->SetMinimum(0.0);
+    m_tgclv1lpttimingmap[ac]->SetMinimum(0.0);
     
     // LpT Timing Current Fraction map
     ss.str(""); ss << lpt << "Timing_Fraction_Map_" << side[ac];
-    tgclv1lptcurrentfractionmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lptcurrentfractionmap[ac]) ).isFailure() ){
+    m_tgclv1lptcurrentfractionmap[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lptcurrentfractionmap[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
     
     // LpT Timing map for pT threshold > pT1
     ss.str(""); ss << lpttiming << "_Map" << morethanpt1 << side[ac];
-    tgclv1lpttimingmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lpttimingmapptcut[ac]) ).isFailure() ){
+    m_tgclv1lpttimingmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lpttimingmapptcut[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    tgclv1lpttimingmapptcut[ac]->SetMinimum(0.0);
+    m_tgclv1lpttimingmapptcut[ac]->SetMinimum(0.0);
     
     // LpT Timing Current Fraction map for pT threshold > pT1
     ss.str(""); ss << lpt << "Timing_Fraction_Map" << morethanpt1 << side[ac];
-    tgclv1lptcurrentfractionmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
-    if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lptcurrentfractionmapptcut[ac]) ).isFailure() ){
+    m_tgclv1lptcurrentfractionmapptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 18, 0, 18, 48, 1 , 49);
+    if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lptcurrentfractionmapptcut[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;
       return StatusCode::FAILURE;
     }
@@ -379,10 +379,10 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // Set Bin Labels for LpT Timing maps
     for(int pcn=0;pcn<3;pcn++){// 
       for(int eta=0;eta<6;eta++){
-        tgclv1lpttimingmap[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
-        tgclv1lptcurrentfractionmap[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
-        tgclv1lpttimingmapptcut[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
-        tgclv1lptcurrentfractionmapptcut[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
+        m_tgclv1lpttimingmap[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
+        m_tgclv1lptcurrentfractionmap[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
+        m_tgclv1lpttimingmapptcut[ac]         ->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
+        m_tgclv1lptcurrentfractionmapptcut[ac]->GetXaxis()->SetBinLabel(pcn*6 + eta+1, (schamberT3[eta] + sbc[pcn]).c_str()); 
       }// chambertype
     }// pcn
     k=1;
@@ -391,10 +391,10 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
         ss.str(""); ss << side[ac];
         if(sec<10)ss << "0";
         ss << sec << "Ephi" << phi;
-        tgclv1lpttimingmap[ac]         ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
-        tgclv1lptcurrentfractionmap[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
-        tgclv1lpttimingmapptcut[ac]    ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
-        tgclv1lptcurrentfractionmapptcut[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1lpttimingmap[ac]         ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1lptcurrentfractionmap[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1lpttimingmapptcut[ac]    ->GetYaxis()->SetBinLabel(k, ss.str().c_str());
+        m_tgclv1lptcurrentfractionmapptcut[ac]->GetYaxis()->SetBinLabel(k, ss.str().c_str());
         k+=4;
       }// phi
     }// sector
@@ -406,24 +406,24 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
       ss.str(""); ss << lpttiming << "_" << side[ac];
       if(k+1<10)ss << "0";
       ss << k+1;
-      tgclv1lpttimingsector[ac][k] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1lpttimingsector[ac][k]) ).isFailure() ){
+      m_tgclv1lpttimingsector[ac][k] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1lpttimingsector[ac][k]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      setTH1TitleLabelBCID(tgclv1lpttimingsector[ac][k]);
+      setTH1TitleLabelBCID(m_tgclv1lpttimingsector[ac][k]);
 
       // LpT Timing hist for pT threshold > pT1
       m_log << MSG::DEBUG << "histos for LPT sector timing for pt>2" << endmsg; 
       ss.str(""); ss << lpttiming << morethanpt1 << "_" << side[ac];
       if(k+1<10)ss << "0";
       ss << k+1;
-      tgclv1lpttimingptcutsector[ac][k] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1lpttimingptcutsector[ac][k]) ).isFailure() ){
+      m_tgclv1lpttimingptcutsector[ac][k] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1lpttimingptcutsector[ac][k]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      setTH1TitleLabelBCID(tgclv1lpttimingptcutsector[ac][k]);
+      setTH1TitleLabelBCID(m_tgclv1lpttimingptcutsector[ac][k]);
     }// sector
     
     /////////////////////////////////////
@@ -431,34 +431,34 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     for(int itrig=0;itrig<4;itrig++){// trigger type
       // LpT Timing hist
       ss.str(""); ss << lpttiming << triggertype[itrig] << "_" << side[ac];
-      tgclv1lpttimingtrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      setTH1TitleLabelBCID(tgclv1lpttimingtrg[ac][itrig]);
-      if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lpttimingtrg[ac][itrig]) ).isFailure() ){
+      m_tgclv1lpttimingtrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      setTH1TitleLabelBCID(m_tgclv1lpttimingtrg[ac][itrig]);
+      if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lpttimingtrg[ac][itrig]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      tgclv1lpttimingtrg[ac][itrig]->SetMinimum(0.0);
+      m_tgclv1lpttimingtrg[ac][itrig]->SetMinimum(0.0);
       
       // LpT Timing hist for pT threshold > pT1
       ss.str(""); ss << lpttiming << morethanpt1 << triggertype[itrig] << "_" << side[ac];
-      tgclv1lpttimingptcuttrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-      setTH1TitleLabelBCID(tgclv1lpttimingptcuttrg[ac][itrig]);
-      if( ( tgclv1_expert_ac[ac]->regHist(tgclv1lpttimingptcuttrg[ac][itrig]) ).isFailure() ){
+      m_tgclv1lpttimingptcuttrg[ac][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+      setTH1TitleLabelBCID(m_tgclv1lpttimingptcuttrg[ac][itrig]);
+      if( ( tgclv1_expert_ac[ac]->regHist(m_tgclv1lpttimingptcuttrg[ac][itrig]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      tgclv1lpttimingptcuttrg[ac][itrig]->SetMinimum(0.0);
+      m_tgclv1lpttimingptcuttrg[ac][itrig]->SetMinimum(0.0);
       
       // LpT Timing hist for each pT threshold
       for(int ipt=0;ipt<6;ipt++){
         ss.str(""); ss << lpttiming << PT << ipt+1 << triggertype[itrig] << "_" << side[ac];
-        tgclv1lpttimingpttrg[ac][ipt][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-        setTH1TitleLabelBCID(tgclv1lpttimingpttrg[ac][ipt][itrig]);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1lpttimingpttrg[ac][ipt][itrig]) ).isFailure() ){
+        m_tgclv1lpttimingpttrg[ac][ipt][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+        setTH1TitleLabelBCID(m_tgclv1lpttimingpttrg[ac][ipt][itrig]);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1lpttimingpttrg[ac][ipt][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
-        tgclv1lpttimingpttrg[ac][ipt][itrig]->SetMinimum(0.0);
+        m_tgclv1lpttimingpttrg[ac][ipt][itrig]->SetMinimum(0.0);
       }// pT
     }// trigger type
 
@@ -470,23 +470,23 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
         ss.str(""); ss << lpttiming << triggertype[itrig] << "_" << side[ac];
         if(isect+1<10)ss << "0";
         ss << isect+1;
-        tgclv1lpttimingsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1lpttimingsectortrg[ac][isect][itrig]) ).isFailure() ){
+        m_tgclv1lpttimingsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1lpttimingsectortrg[ac][isect][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
-        setTH1TitleLabelBCID(tgclv1lpttimingsectortrg[ac][isect][itrig]);
+        setTH1TitleLabelBCID(m_tgclv1lpttimingsectortrg[ac][isect][itrig]);
         
         // LpT Timing hist for pT threshold > pT1
         ss.str(""); ss << lpttiming << morethanpt1 << triggertype[itrig] << "_" << side[ac];
         if(isect+1<10)ss << "0";
         ss << isect+1;
-        tgclv1lpttimingptcutsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1lpttimingptcutsectortrg[ac][isect][itrig]) ).isFailure() ){
+        m_tgclv1lpttimingptcutsectortrg[ac][isect][itrig] = new TH1F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1lpttimingptcutsectortrg[ac][isect][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
-        setTH1TitleLabelBCID(tgclv1lpttimingptcutsectortrg[ac][isect][itrig]);
+        setTH1TitleLabelBCID(m_tgclv1lpttimingptcutsectortrg[ac][isect][itrig]);
       }// trigger type
     }// sector
 
@@ -495,18 +495,18 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     for(int imuid=0;imuid<m_nMuonAlgorithms;imuid++){// muonalg
       // LpT Timing hist
       ss.str(""); ss << lpttiming << smuid[imuid] << "_" << side[ac];
-      tgclv1lpttimingtrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
-      setTH1TitleLabelBCID(tgclv1lpttimingtrack[ac][imuid]);
-      if( ( tgclv1_shift_ac[ac]->regHist(tgclv1lpttimingtrack[ac][imuid] ) ).isFailure() ){
+      m_tgclv1lpttimingtrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
+      setTH1TitleLabelBCID(m_tgclv1lpttimingtrack[ac][imuid]);
+      if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1lpttimingtrack[ac][imuid] ) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
       
       // LpT Timing hist for pT threshold > pT1
       ss.str(""); ss << lpttiming << morethanpt1 << smuid[imuid] << "_" << side[ac];
-      tgclv1lpttimingptcuttrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
-      setTH1TitleLabelBCID(tgclv1lpttimingptcuttrack[ac][imuid]);
-      if( ( tgclv1_shift_ac[ac]->regHist(tgclv1lpttimingptcuttrack[ac][imuid] ) ).isFailure() ){
+      m_tgclv1lpttimingptcuttrack[ac][imuid] = new TH1F(ss.str().c_str(), ss.str().c_str(), 3, 0, 3 );
+      setTH1TitleLabelBCID(m_tgclv1lpttimingptcuttrack[ac][imuid]);
+      if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1lpttimingptcuttrack[ac][imuid] ) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
@@ -521,21 +521,21 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
     // SL Timing hists per side
     // SL vs LpT Timing hist
     ss.str(""); ss << slvslpttiming << "_" << side[ac];
-    tgclv1slvslpttiming[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
-    if( ( tgclv1_shift_ac[ac]->regHist(tgclv1slvslpttiming[ac]) ).isFailure() ){
+    m_tgclv1slvslpttiming[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
+    if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1slvslpttiming[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    setTH2TitleLabelBCID(tgclv1slvslpttiming[ac]);
+    setTH2TitleLabelBCID(m_tgclv1slvslpttiming[ac]);
     
     // SL vs LpT Timing hists for pT threshold > pT1
     ss.str(""); ss << slvslpttiming << morethanpt1 << "_" << side[ac];
-    tgclv1slvslpttimingptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
-    if( ( tgclv1_shift_ac[ac]->regHist(tgclv1slvslpttimingptcut[ac]) ).isFailure() ){
+    m_tgclv1slvslpttimingptcut[ac] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
+    if( ( tgclv1_shift_ac[ac]->regHist(m_tgclv1slvslpttimingptcut[ac]) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
-    setTH2TitleLabelBCID(tgclv1slvslpttimingptcut[ac]);
+    setTH2TitleLabelBCID(m_tgclv1slvslpttimingptcut[ac]);
 
     /////////////////////////////////////
     // SL Timing per sector
@@ -544,23 +544,23 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
       ss.str(""); ss << slvslpttiming << "_" << side[ac];
       if(isect+1<10)ss << "0";
       ss << isect+1;
-      tgclv1slvslpttimingsector[ac][isect] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1slvslpttimingsector[ac][isect]) ).isFailure() ){
+      m_tgclv1slvslpttimingsector[ac][isect] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1slvslpttimingsector[ac][isect]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      setTH1TitleLabelBCID(tgclv1slvslpttimingsector[ac][isect]);
+      setTH1TitleLabelBCID(m_tgclv1slvslpttimingsector[ac][isect]);
       
       // SL vs LpT Timing matrix for pT threshold > pT1
       ss.str(""); ss << slvslpttiming << morethanpt1 << "_" << side[ac];
       if(isect+1<10)ss << "0";
       ss << isect+1;
-      tgclv1slvslpttimingptcutsector[ac][isect] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
-      if( ( tgclv1_timing_ac[ac]->regHist(tgclv1slvslpttimingptcutsector[ac][isect]) ).isFailure() ){
+      m_tgclv1slvslpttimingptcutsector[ac][isect] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
+      if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1slvslpttimingptcutsector[ac][isect]) ).isFailure() ){
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return StatusCode::FAILURE;
       }
-      setTH1TitleLabelBCID(tgclv1slvslpttimingptcutsector[ac][isect]);
+      setTH1TitleLabelBCID(m_tgclv1slvslpttimingptcutsector[ac][isect]);
     }// sector
 
     /////////////////////////////////////
@@ -571,23 +571,23 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
         ss.str(""); ss << slvslpttiming << triggertype[itrig] << "_" << side[ac];
         if(isect+1<10)ss << "0";
         ss << isect+1;
-        tgclv1slvslpttimingsectortrg[ac][isect][itrig] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1slvslpttimingsectortrg[ac][isect][itrig]) ).isFailure() ){
+        m_tgclv1slvslpttimingsectortrg[ac][isect][itrig] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1slvslpttimingsectortrg[ac][isect][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
-        setTH1TitleLabelBCID(tgclv1slvslpttimingsectortrg[ac][isect][itrig]);
+        setTH1TitleLabelBCID(m_tgclv1slvslpttimingsectortrg[ac][isect][itrig]);
 
         //SL vs Lpt Timing matrix for pT threshold > pT1
         ss.str(""); ss << slvslpttiming << morethanpt1 << triggertype[itrig] << "_" << side[ac];
         if(isect+1<10)ss << "0";
         ss << isect+1;
-        tgclv1slvslpttimingptcutsectortrg[ac][isect][itrig] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
-        if( ( tgclv1_timing_ac[ac]->regHist(tgclv1slvslpttimingptcutsectortrg[ac][isect][itrig]) ).isFailure() ){
+        m_tgclv1slvslpttimingptcutsectortrg[ac][isect][itrig] = new TH2F(ss.str().c_str(),ss.str().c_str(), 3, 0, 3, 3, 0, 3);
+        if( ( tgclv1_timing_ac[ac]->regHist(m_tgclv1slvslpttimingptcutsectortrg[ac][isect][itrig]) ).isFailure() ){
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return StatusCode::FAILURE;
         }
-        setTH1TitleLabelBCID(tgclv1slvslpttimingptcutsectortrg[ac][isect][itrig]);
+        setTH1TitleLabelBCID(m_tgclv1slvslpttimingptcutsectortrg[ac][isect][itrig]);
       }//trigger type
     }//sector
         
@@ -600,64 +600,64 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
   for(int ac=0;ac<2;ac++){// side
     // SL Sector profile of Current Timing fraction
     ss.str(""); ss << "ES_" << sltiming << "_" << side[ac];
-    tgclv1_SL_trigger_timing_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES[ac]->regHist( tgclv1_SL_trigger_timing_ES[ac] ) ).isFailure() ){
+    m_tgclv1_SL_trigger_timing_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES[ac]->regHist( m_tgclv1_SL_trigger_timing_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
 
     // SL Sector profile of Current Timing fraction GM
     ss.str(""); ss << "ES_GM_" << sltiming << "_" << side[ac];
-    tgclv1_SL_trigger_timing_ES_GM[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES_GM[ac]->regHist( tgclv1_SL_trigger_timing_ES_GM[ac] ) ).isFailure() ){
+    m_tgclv1_SL_trigger_timing_ES_GM[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES_GM[ac]->regHist( m_tgclv1_SL_trigger_timing_ES_GM[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
 
     // SL Sector profile of Current Timing fraction Numerator
     ss.str(""); ss << "ES_" << sltiming << "_" << side[ac] << "_Numerator";
-    tgclv1_SL_trigger_timing_num_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES[ac]->regHist( tgclv1_SL_trigger_timing_num_ES[ac] ) ).isFailure() ){
+    m_tgclv1_SL_trigger_timing_num_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES[ac]->regHist( m_tgclv1_SL_trigger_timing_num_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
 
     // SL Sector profile of Current Timing fraction Denominator
     ss.str(""); ss << "ES_" << sltiming << "_" << side[ac] << "_Denominator";
-    tgclv1_SL_trigger_timing_denom_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES[ac]->regHist( tgclv1_SL_trigger_timing_denom_ES[ac] ) ).isFailure() ){
+    m_tgclv1_SL_trigger_timing_denom_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES[ac]->regHist( m_tgclv1_SL_trigger_timing_denom_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
 
     // LpT Sector profile of Current Timing fraction
     ss.str(""); ss << "ES_" << lpttiming << "_" << side[ac];
-    tgclv1_LPT_trigger_timing_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES[ac]->regHist( tgclv1_LPT_trigger_timing_ES[ac] ) ).isFailure() ){
+    m_tgclv1_LPT_trigger_timing_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES[ac]->regHist( m_tgclv1_LPT_trigger_timing_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
 
     // LpT Sector profile of Current Timing fraction GM
     ss.str(""); ss << "ES_GM_" << lpttiming << "_" << side[ac];
-    tgclv1_LPT_trigger_timing_ES_GM[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES_GM[ac]->regHist( tgclv1_LPT_trigger_timing_ES_GM[ac] ) ).isFailure() ){
+    m_tgclv1_LPT_trigger_timing_ES_GM[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Current Fraction").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES_GM[ac]->regHist( m_tgclv1_LPT_trigger_timing_ES_GM[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
 
     // LpT Sector profile of Current Timing fraction Numerator
     ss.str(""); ss << "ES_" << lpttiming << "_" << side[ac] << "_Numerator";
-    tgclv1_LPT_trigger_timing_num_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES[ac]->regHist( tgclv1_LPT_trigger_timing_num_ES[ac] ) ).isFailure() ){
+    m_tgclv1_LPT_trigger_timing_num_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES[ac]->regHist( m_tgclv1_LPT_trigger_timing_num_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
 
     // LpT Sector profile of Current Timing fraction Denominator
     ss.str(""); ss << "ES_" << lpttiming << "_" << side[ac] << "_Denominator";
-    tgclv1_LPT_trigger_timing_denom_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
-    if( ( tgclv1_timing_ac_ES[ac]->regHist( tgclv1_LPT_trigger_timing_denom_ES[ac] ) ).isFailure() ){
+    m_tgclv1_LPT_trigger_timing_denom_ES[ac] = new TH1F(ss.str().c_str(), ( ss.str() + ";;Entry").c_str(), 12, 0, 12);
+    if( ( tgclv1_timing_ac_ES[ac]->regHist( m_tgclv1_LPT_trigger_timing_denom_ES[ac] ) ).isFailure() ){
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return StatusCode::FAILURE;
     }
@@ -667,15 +667,15 @@ TgcLv1RawDataValAlg::bookHistogramsTiming(){
       ss.str(""); ss << side[ac] ;
       if( isect<9 ) ss<< "0";
       ss << isect + 1 ;
-      tgclv1_SL_trigger_timing_ES[ac]       ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
-      tgclv1_SL_trigger_timing_num_ES[ac]   ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
-      tgclv1_SL_trigger_timing_denom_ES[ac] ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
-      tgclv1_SL_trigger_timing_ES_GM[ac]    ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
-
-      tgclv1_LPT_trigger_timing_ES[ac]      ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
-      tgclv1_LPT_trigger_timing_num_ES[ac]  ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
-      tgclv1_LPT_trigger_timing_denom_ES[ac]->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
-      tgclv1_LPT_trigger_timing_ES_GM[ac]   ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+      m_tgclv1_SL_trigger_timing_ES[ac]       ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+      m_tgclv1_SL_trigger_timing_num_ES[ac]   ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+      m_tgclv1_SL_trigger_timing_denom_ES[ac] ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+      m_tgclv1_SL_trigger_timing_ES_GM[ac]    ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+
+      m_tgclv1_LPT_trigger_timing_ES[ac]      ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+      m_tgclv1_LPT_trigger_timing_num_ES[ac]  ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+      m_tgclv1_LPT_trigger_timing_denom_ES[ac]->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
+      m_tgclv1_LPT_trigger_timing_ES_GM[ac]   ->GetXaxis()->SetBinLabel(isect+1, ss.str().c_str());
     }// sector
 
   }// side
@@ -732,17 +732,17 @@ TgcLv1RawDataValAlg::fillTriggerTiming0(int ptcut){
           else if (m_maxSLtrigger[ac][eta][phi48][NEXT]>ptcut) SLBCpt = NEXT;
           
           // Fill no-ptcut timing histograms
-          tgclv1sltiming[ac]            ->Fill(SLBC);
-          tgclv1sltimingsector[ac][sect]->Fill(SLBC);
+          m_tgclv1sltiming[ac]            ->Fill(SLBC);
+          m_tgclv1sltimingsector[ac][sect]->Fill(SLBC);
           
           // Fill ptcut timing histograms
           if(SLBCpt>ptcut){
-            tgclv1sltimingptcut[ac]            ->Fill(SLBCpt);
-            tgclv1sltimingptcutsector[ac][sect]->Fill(SLBCpt);
+            m_tgclv1sltimingptcut[ac]            ->Fill(SLBCpt);
+            m_tgclv1sltimingptcutsector[ac][sect]->Fill(SLBCpt);
 
             // not monitor these profiles at GM
             if( m_environment != AthenaMonManager::online )
-              tgclv1sltimingptcutlowstat[ac]->Fill(SLBCpt);
+              m_tgclv1sltimingptcutlowstat[ac]->Fill(SLBCpt);
           }
         }
         
@@ -766,17 +766,17 @@ TgcLv1RawDataValAlg::fillTriggerTiming0(int ptcut){
         // Check that LpT trigger exists
         if(LptBC>-1){
           // Fill timing histograms
-          tgclv1lpttiming[ac]            ->Fill(LptBC);
-          tgclv1lpttimingsector[ac][sect]->Fill(LptBC);
+          m_tgclv1lpttiming[ac]            ->Fill(LptBC);
+          m_tgclv1lpttimingsector[ac][sect]->Fill(LptBC);
            
           // Fill timing maps
-          tgclv1lpttimingmap[ac]->Fill(etaBCLpt, phi+1);
+          m_tgclv1lpttimingmap[ac]->Fill(etaBCLpt, phi+1);
           
           // Fill ptcut timing histograms
           if(SLBCpt>ptcut){
-            tgclv1lpttimingptcut[ac]            ->Fill(LptBC);
-            tgclv1lpttimingptcutsector[ac][sect]->Fill(LptBC);
-            tgclv1lpttimingmapptcut[ac]         ->Fill(LptBC, phi+1);
+            m_tgclv1lpttimingptcut[ac]            ->Fill(LptBC);
+            m_tgclv1lpttimingptcutsector[ac][sect]->Fill(LptBC);
+            m_tgclv1lpttimingmapptcut[ac]         ->Fill(LptBC, phi+1);
           }
         }
         
@@ -784,12 +784,12 @@ TgcLv1RawDataValAlg::fillTriggerTiming0(int ptcut){
         ///////////////////////////////////////////////////////////////////////////
         // Fill SL trigger vs LpT trigger histograms
         if((LptBC>-1)&&(SLBC>-1)){
-          tgclv1slvslpttiming[ac]            ->Fill(SLBC, LptBC);
-          tgclv1slvslpttimingsector[ac][sect]->Fill(SLBC, LptBC);
+          m_tgclv1slvslpttiming[ac]            ->Fill(SLBC, LptBC);
+          m_tgclv1slvslpttimingsector[ac][sect]->Fill(SLBC, LptBC);
 
           if(SLBCpt>ptcut){
-            tgclv1slvslpttimingptcut[ac]            ->Fill(SLBCpt, LptBC);
-            tgclv1slvslpttimingptcutsector[ac][sect]->Fill(SLBCpt, LptBC);
+            m_tgclv1slvslpttimingptcut[ac]            ->Fill(SLBCpt, LptBC);
+            m_tgclv1slvslpttimingptcutsector[ac][sect]->Fill(SLBCpt, LptBC);
           }
         }
 
@@ -836,37 +836,37 @@ TgcLv1RawDataValAlg::fillTriggerTiming1(int ptcut){//only the earlest triggers i
           int etaBCSL = (5 - eta) + SLBC*6;
 
           // Fill timing histograms
-          tgclv1sltiming[ac]            ->Fill(SLBC);
-          tgclv1sltimingpt[ac][SLpt-1]  ->Fill(SLBC);
-          tgclv1sltimingsector[ac][sect]->Fill(SLBC);
+          m_tgclv1sltiming[ac]            ->Fill(SLBC);
+          m_tgclv1sltimingpt[ac][SLpt-1]  ->Fill(SLBC);
+          m_tgclv1sltimingsector[ac][sect]->Fill(SLBC);
           
           // Fill timing maps
-          tgclv1sltimingmap[ac]->Fill(etaBCSL, phi+1);
+          m_tgclv1sltimingmap[ac]->Fill(etaBCSL, phi+1);
 
           // Fill timing histograms for different trigger types
           for(int trg=0;trg<4;trg++){
             if(m_L1TriggerType[trg]>0 && SLpt>0){
-              tgclv1sltimingtrg[ac][trg]            ->Fill(SLBC); 
-              tgclv1sltimingpttrg[ac][SLpt-1][trg]  ->Fill(SLBC); 
-              tgclv1sltimingsectortrg[ac][sect][trg]->Fill(SLBC); 
+              m_tgclv1sltimingtrg[ac][trg]            ->Fill(SLBC); 
+              m_tgclv1sltimingpttrg[ac][SLpt-1][trg]  ->Fill(SLBC); 
+              m_tgclv1sltimingsectortrg[ac][sect][trg]->Fill(SLBC); 
             }
           }
 
           // Fill ptcut timing histograms
           if(SLpt>ptcut){
-            tgclv1sltimingptcut[ac]            ->Fill(SLBC);
-            tgclv1sltimingptcutsector[ac][sect]->Fill(SLBC);
-            tgclv1sltimingmapptcut[ac]         ->Fill(etaBCSL, phi+1);
+            m_tgclv1sltimingptcut[ac]            ->Fill(SLBC);
+            m_tgclv1sltimingptcutsector[ac][sect]->Fill(SLBC);
+            m_tgclv1sltimingmapptcut[ac]         ->Fill(etaBCSL, phi+1);
             for(int trg=0;trg<4;trg++){
               if(m_L1TriggerType[trg]>0){
-                tgclv1sltimingptcuttrg[ac][trg]            ->Fill(SLBC); 
-                tgclv1sltimingptcutsectortrg[ac][sect][trg]->Fill(SLBC); 
+                m_tgclv1sltimingptcuttrg[ac][trg]            ->Fill(SLBC); 
+                m_tgclv1sltimingptcutsectortrg[ac][sect][trg]->Fill(SLBC); 
               }
             }
 
             // not monitor these profiles at GM
             if( m_environment != AthenaMonManager::online )
-              tgclv1sltimingptcutlowstat[ac]     ->Fill(SLBC);
+              m_tgclv1sltimingptcutlowstat[ac]     ->Fill(SLBC);
           }
 
 
@@ -889,31 +889,31 @@ TgcLv1RawDataValAlg::fillTriggerTiming1(int ptcut){//only the earlest triggers i
             int etaBCLpt = eta + LptBC * 6;
             
             // Fill timing histograms
-            tgclv1lpttiming[ac]            ->Fill(LptBC);
-            tgclv1lpttimingpt[ac][SLpt-1]    ->Fill(LptBC);
-            tgclv1lpttimingsector[ac][sect]->Fill(LptBC);
+            m_tgclv1lpttiming[ac]            ->Fill(LptBC);
+            m_tgclv1lpttimingpt[ac][SLpt-1]    ->Fill(LptBC);
+            m_tgclv1lpttimingsector[ac][sect]->Fill(LptBC);
             
             // Fill timing maps
-            tgclv1lpttimingmap[ac]->Fill(etaBCLpt, phi+1);
+            m_tgclv1lpttimingmap[ac]->Fill(etaBCLpt, phi+1);
             
             // Fill timing histograms for different trigger types
             for(int trg=0;trg<4;trg++){
               if(m_L1TriggerType[trg]>0){
-                tgclv1lpttimingtrg[ac][trg]            ->Fill(LptBC); 
-                tgclv1lpttimingpttrg[ac][SLpt-1][trg]    ->Fill(LptBC); 
-                tgclv1lpttimingsectortrg[ac][sect][trg]->Fill(LptBC); 
+                m_tgclv1lpttimingtrg[ac][trg]            ->Fill(LptBC); 
+                m_tgclv1lpttimingpttrg[ac][SLpt-1][trg]    ->Fill(LptBC); 
+                m_tgclv1lpttimingsectortrg[ac][sect][trg]->Fill(LptBC); 
               }
             }
             
             // Fill ptcut timing histograms
             if(SLpt>ptcut){
-              tgclv1lpttimingptcut[ac]            ->Fill(LptBC);
-              tgclv1lpttimingptcutsector[ac][sect]->Fill(LptBC);
-              tgclv1lpttimingmapptcut[ac]         ->Fill(etaBCLpt, phi+1);
+              m_tgclv1lpttimingptcut[ac]            ->Fill(LptBC);
+              m_tgclv1lpttimingptcutsector[ac][sect]->Fill(LptBC);
+              m_tgclv1lpttimingmapptcut[ac]         ->Fill(etaBCLpt, phi+1);
               for(int trg=0;trg<4;trg++){
                 if(m_L1TriggerType[trg]>0){
-                  tgclv1lpttimingptcuttrg[ac][trg]            ->Fill(LptBC); 
-                  tgclv1lpttimingptcutsectortrg[ac][sect][trg]->Fill(LptBC); 
+                  m_tgclv1lpttimingptcuttrg[ac][trg]            ->Fill(LptBC); 
+                  m_tgclv1lpttimingptcutsectortrg[ac][sect][trg]->Fill(LptBC); 
                 }
               }
             }
@@ -923,12 +923,12 @@ TgcLv1RawDataValAlg::fillTriggerTiming1(int ptcut){//only the earlest triggers i
           ///////////////////////////////////////////////////////////////////////////
           // Fill SL trigger vs LpT trigger histograms
           if(LptBC>-1){
-            tgclv1slvslpttiming[ac]            ->Fill(SLBC, LptBC);
-            tgclv1slvslpttimingsector[ac][sect]->Fill(SLBC, LptBC);
+            m_tgclv1slvslpttiming[ac]            ->Fill(SLBC, LptBC);
+            m_tgclv1slvslpttimingsector[ac][sect]->Fill(SLBC, LptBC);
             
             if(SLpt>ptcut){
-              tgclv1slvslpttimingptcut[ac]            ->Fill(SLBC, LptBC);
-              tgclv1slvslpttimingptcutsector[ac][sect]->Fill(SLBC, LptBC);
+              m_tgclv1slvslpttimingptcut[ac]            ->Fill(SLBC, LptBC);
+              m_tgclv1slvslpttimingptcutsector[ac][sect]->Fill(SLBC, LptBC);
             }
           }
           
@@ -1023,17 +1023,17 @@ TgcLv1RawDataValAlg::fillTriggerTimingAssociatedWithTrack( int ms,// 0:Muid 1:St
       //fill SL timing
       if(tptmin!=-1){
         if(m_debuglevel ) m_log << "fill triggertiming " <<ac <<" " << ms << " " << pcn <<  endmsg;
-        tgclv1sltimingtrack[ac][ms]->Fill(pcn);
+        m_tgclv1sltimingtrack[ac][ms]->Fill(pcn);
         if( tptmin > 1 )
-          tgclv1sltimingptcuttrack[ac][ms]->Fill(pcn);
+          m_tgclv1sltimingptcuttrack[ac][ms]->Fill(pcn);
 
         if( m_found_express_stream && m_found_nonmuon_express_chain ){
 
           int sect12=phi2sector(slphi48, !slisForward);//[0:11] 
 
-          tgclv1_SL_trigger_timing_denom_ES[ac]->Fill( sect12 );
+          m_tgclv1_SL_trigger_timing_denom_ES[ac]->Fill( sect12 );
           if( pcn == 1 )
-            tgclv1_SL_trigger_timing_num_ES[ac]->Fill( sect12 );
+            m_tgclv1_SL_trigger_timing_num_ES[ac]->Fill( sect12 );
 
         }
       }
@@ -1073,16 +1073,16 @@ TgcLv1RawDataValAlg::fillTriggerTimingAssociatedWithTrack( int ms,// 0:Muid 1:St
             
             // Fill LpT Track Timing Histograms
             if(m_debuglevel ) m_log << "fill triggertiming " <<ac <<" " << ms << " " << pcn <<  endmsg;
-            tgclv1lpttimingtrack[ac][ms]->Fill(pcn);
+            m_tgclv1lpttimingtrack[ac][ms]->Fill(pcn);
             if( slpt > 1 )
-              tgclv1lpttimingptcuttrack[ac][ms]->Fill(pcn);
+              m_tgclv1lpttimingptcuttrack[ac][ms]->Fill(pcn);
             
             // Fill Express Stream, "Current Fraction" histograms
             if(m_found_express_stream&&m_found_nonmuon_express_chain){
               int sect12=phi2sector(slphi48, !slisForward);//[0:11] 
-              tgclv1_LPT_trigger_timing_denom_ES[ac]->Fill( sect12 );
+              m_tgclv1_LPT_trigger_timing_denom_ES[ac]->Fill( sect12 );
               if( pcn == 1 )
-                tgclv1_LPT_trigger_timing_num_ES[ac]->Fill( sect12 );
+                m_tgclv1_LPT_trigger_timing_num_ES[ac]->Fill( sect12 );
             }
 
             lptflag=true;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg.cxx
index 11b386ab7416ae3ad0e09b65b5ac2944bef96f30..6acd783d5aa87623dc37b12cbd687432d139ddd6 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg.cxx
@@ -128,7 +128,7 @@ TgcRawDataValAlg::initialize(){
   }
   
   //histograms directory names
-  generic_path_tgcmonitoring = "Muon/MuonRawDataMonitoring/TGC";
+  m_generic_path_tgcmonitoring = "Muon/MuonRawDataMonitoring/TGC";
 
   //tgcchamberId();
   
@@ -165,7 +165,7 @@ TgcRawDataValAlg::bookHistogramsRecurrent(){
     }
     else
       for(int ac=0;ac<2;ac++){
-        tgcwirestripcoinlowstat[ac] = 0;
+        m_tgcwirestripcoinlowstat[ac] = 0;
       }
   }
      
@@ -181,7 +181,7 @@ TgcRawDataValAlg::bookHistogramsRecurrent(){
     sc = bookHistogramsSummary();
     
     if (m_debuglevel) {
-      m_log << MSG::DEBUG << "INSIDE bookHistograms : " << tgcevents << generic_path_tgcmonitoring << endmsg;
+      m_log << MSG::DEBUG << "INSIDE bookHistograms : " << m_tgcevents << m_generic_path_tgcmonitoring << endmsg;
       //m_log << MSG::DEBUG << "SHIFT : " << shift << "  RUN : " << run << "  Booked booktgcevents successfully" << endmsg; //attention
     }
 
@@ -297,15 +297,15 @@ TgcRawDataValAlg::procHistograms(){
       for(int ac=0;ac<2;ac++){
         for(int ws=0;ws<2;ws++){
           
-          if( tgcprofilemap[ac][ws] && tgcoccupancymap[ac][ws] ){
-            int nbinx=tgcprofilemap[ac][ws]->GetNbinsX();
-            int nbiny=tgcprofilemap[ac][ws]->GetNbinsY();
+          if( m_tgcprofilemap[ac][ws] && m_tgcoccupancymap[ac][ws] ){
+            int nbinx=m_tgcprofilemap[ac][ws]->GetNbinsX();
+            int nbiny=m_tgcprofilemap[ac][ws]->GetNbinsY();
             
             for(int binx=1;binx<=nbinx;binx++)
               for(int biny=1;biny<=nbiny;biny++){
-                tgcoccupancymap[ac][ws]->SetBinContent( binx, biny, nWireStripMap( ws, binx, biny ) * m_nEvent );
+                m_tgcoccupancymap[ac][ws]->SetBinContent( binx, biny, nWireStripMap( ws, binx, biny ) * m_nEvent );
               }
-            tgcoccupancymap[ac][ws]->Divide( tgcprofilemap[ac][ws], tgcoccupancymap[ac][ws], 1., 1., "B");
+            m_tgcoccupancymap[ac][ws]->Divide( m_tgcprofilemap[ac][ws], m_tgcoccupancymap[ac][ws], 1., 1., "B");
           }
 
         }// ws
@@ -314,30 +314,30 @@ TgcRawDataValAlg::procHistograms(){
 
       // calculate efficiency histograms and map
       for(int ac=0;ac<2;ac++){
-        if(tgceff[ac] &&
-           tgceffnum[ac] &&
-           tgceffdenom[ac] )
-          tgceff[ac]->Divide(tgceffnum[ac], tgceffdenom[ac], 1., 1., "B");
+        if(m_tgceff[ac] &&
+           m_tgceffnum[ac] &&
+           m_tgceffdenom[ac] )
+          m_tgceff[ac]->Divide(m_tgceffnum[ac], m_tgceffdenom[ac], 1., 1., "B");
       
         for(int ws=0;ws<2;ws++){
-          if(tgceffmap[ac][ws] &&
-             tgceffmapnum[ac][ws] &&
-             tgceffmapdenom[ac][ws]){
-            tgceffmap[ac][ws]->Divide(tgceffmapnum[ac][ws], tgceffmapdenom[ac][ws], 1., 1., "B");
+          if(m_tgceffmap[ac][ws] &&
+             m_tgceffmapnum[ac][ws] &&
+             m_tgceffmapdenom[ac][ws]){
+            m_tgceffmap[ac][ws]->Divide(m_tgceffmapnum[ac][ws], m_tgceffmapdenom[ac][ws], 1., 1., "B");
           }
           
           for(int bc=0;bc<2;bc++){
-            if(tgceffmapbc[ac][ws][bc] &&
-               tgceffmapnumbc[ac][ws][bc] &&
-               tgceffmapdenom[ac][ws]){
-              tgceffmapbc[ac][ws][bc]->Divide(tgceffmapnumbc[ac][ws][bc], tgceffmapdenom[ac][ws], 1., 1., "B" );
+            if(m_tgceffmapbc[ac][ws][bc] &&
+               m_tgceffmapnumbc[ac][ws][bc] &&
+               m_tgceffmapdenom[ac][ws]){
+              m_tgceffmapbc[ac][ws][bc]->Divide(m_tgceffmapnumbc[ac][ws][bc], m_tgceffmapdenom[ac][ws], 1., 1., "B" );
             }
           }
           
-          if(tgceffsector[ac][ws] &&
-             tgceffsectornum[ac][ws] &&
-             tgceffsectordenom[ac][ws] )
-            tgceffsector[ac][ws]->Divide(tgceffsectornum[ac][ws], tgceffsectordenom[ac][ws], 1., 1., "B");
+          if(m_tgceffsector[ac][ws] &&
+             m_tgceffsectornum[ac][ws] &&
+             m_tgceffsectordenom[ac][ws] )
+            m_tgceffsector[ac][ws]->Divide(m_tgceffsectornum[ac][ws], m_tgceffsectordenom[ac][ws], 1., 1., "B");
             
         }// ws
       }// ac
@@ -350,16 +350,16 @@ TgcRawDataValAlg::procHistograms(){
     for(int ac=0;ac<2;ac++){
       for(int ws=0;ws<2;ws++){
         
-        if(tgcprofilemap[ac][ws] && tgcoccupancymap[ac][ws]){
-          int nbinx=tgcprofilemap[ac][ws]->GetNbinsX();
-          int nbiny=tgcprofilemap[ac][ws]->GetNbinsY();
+        if(m_tgcprofilemap[ac][ws] && m_tgcoccupancymap[ac][ws]){
+          int nbinx=m_tgcprofilemap[ac][ws]->GetNbinsX();
+          int nbiny=m_tgcprofilemap[ac][ws]->GetNbinsY();
           
           for(int binx=1;binx<=nbinx;binx++)
             for(int biny=1;biny<=nbiny;biny++){
-              //tgcoccupancymap[ac][ws]->SetBinContent( binx, biny, nWireStripMap(ac, binx, biny ) * m_nEvent );//run1 default
-              tgcoccupancymap[ac][ws]->SetBinContent( binx, biny, nWireStripMap(ws, binx, biny ) * m_nEvent );
+              //m_tgcoccupancymap[ac][ws]->SetBinContent( binx, biny, nWireStripMap(ac, binx, biny ) * m_nEvent );//run1 default
+              m_tgcoccupancymap[ac][ws]->SetBinContent( binx, biny, nWireStripMap(ws, binx, biny ) * m_nEvent );
             }
-          tgcoccupancymap[ac][ws]->Divide( tgcprofilemap[ac][ws], tgcoccupancymap[ac][ws], 1., 1., "B");
+          m_tgcoccupancymap[ac][ws]->Divide( m_tgcprofilemap[ac][ws], m_tgcoccupancymap[ac][ws], 1., 1., "B");
         }
 
       }// ws
@@ -367,22 +367,22 @@ TgcRawDataValAlg::procHistograms(){
 
     // calculate efficiency histogram and map
     for(int ac=0;ac<2;ac++){
-      if(tgceff[ac] &&
-         tgceffnum[ac] &&
-         tgceffdenom[ac] )
-        tgceff[ac]->Divide(tgceffnum[ac], tgceffdenom[ac], 1., 1., "B");
+      if(m_tgceff[ac] &&
+         m_tgceffnum[ac] &&
+         m_tgceffdenom[ac] )
+        m_tgceff[ac]->Divide(m_tgceffnum[ac], m_tgceffdenom[ac], 1., 1., "B");
 
       for(int ws=0;ws<2;ws++){
-        if(tgceffmap[ac][ws] &&
-           tgceffmapnum[ac][ws] &&
-           tgceffmapdenom[ac][ws] ){
-          tgceffmap[ac][ws]->Divide(tgceffmapnum[ac][ws], tgceffmapdenom[ac][ws], 1., 1., "B");
+        if(m_tgceffmap[ac][ws] &&
+           m_tgceffmapnum[ac][ws] &&
+           m_tgceffmapdenom[ac][ws] ){
+          m_tgceffmap[ac][ws]->Divide(m_tgceffmapnum[ac][ws], m_tgceffmapdenom[ac][ws], 1., 1., "B");
         }
         
-        if(tgceffsector[ac][ws] &&
-           tgceffsectornum[ac][ws] &&
-           tgceffsectordenom[ac][ws] )
-          tgceffsector[ac][ws]->Divide(tgceffsectornum[ac][ws], tgceffsectordenom[ac][ws], 1., 1., "B");
+        if(m_tgceffsector[ac][ws] &&
+           m_tgceffsectornum[ac][ws] &&
+           m_tgceffsectordenom[ac][ws] )
+          m_tgceffsector[ac][ws]->Divide(m_tgceffsectornum[ac][ws], m_tgceffsectordenom[ac][ws], 1., 1., "B");
           
       }// ws
     }// ac
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Efficiency.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Efficiency.cxx
index bee2d89c897cb5c95e6197ad930a82a1c9acfdcd..1f7acacd0a2a7863a7deafb3626f106ca5cb8c21 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Efficiency.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Efficiency.cxx
@@ -76,25 +76,25 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
   m_log << MSG::INFO << "bookHistogramsEfficiency" << endmsg;       
   StatusCode sc=StatusCode::SUCCESS;
 
-  MonGroup tgcprd_eff_a( this, generic_path_tgcmonitoring + "/TGCEA/Efficiency", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_eff_c( this, generic_path_tgcmonitoring + "/TGCEC/Efficiency", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_eff_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Efficiency", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_eff_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Efficiency", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_eff_ac[2] = { &tgcprd_eff_a, &tgcprd_eff_c}; 
 
-  MonGroup tgcprd_eff_expert_a( this, generic_path_tgcmonitoring + "/TGCEA/Efficiency", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_eff_expert_c( this, generic_path_tgcmonitoring + "/TGCEC/Efficiency", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_eff_expert_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Efficiency", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_eff_expert_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Efficiency", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_eff_expert_ac[2] = { &tgcprd_eff_expert_a, &tgcprd_eff_expert_c}; 
 
-  MonGroup tgcprd_effnumdenom_a( this, generic_path_tgcmonitoring + "/TGCEA/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_effnumdenom_c( this, generic_path_tgcmonitoring + "/TGCEC/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_effnumdenom_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_effnumdenom_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_effnumdenom_ac[2] = { &tgcprd_effnumdenom_a, &tgcprd_effnumdenom_c}; 
 
-  MonGroup tgcprd_effnumdenom_expert_a( this, generic_path_tgcmonitoring + "/TGCEA/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_effnumdenom_expert_c( this, generic_path_tgcmonitoring + "/TGCEC/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_effnumdenom_expert_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_effnumdenom_expert_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Efficiency/NumDenom", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_effnumdenom_expert_ac[2] = { &tgcprd_effnumdenom_expert_a, &tgcprd_effnumdenom_expert_c}; 
 
-  MonGroup tgcprd_summary( this, generic_path_tgcmonitoring + "/Global/Summary", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_summary_a( this, generic_path_tgcmonitoring + "/TGCEA/Summary", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_summary_c( this, generic_path_tgcmonitoring + "/TGCEC/Summary", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_summary( this, m_generic_path_tgcmonitoring + "/Global/Summary", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_summary_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Summary", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_summary_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Summary", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_summary_ac[2] = { &tgcprd_summary_a, &tgcprd_summary_c};
 
   std::stringstream ss;
@@ -104,44 +104,44 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
   for(int ac=0;ac<2;ac++){
     //efficiency for A/C side, wire 1-7, strip 8-13
     ss.str(""); ss << "Efficiency_" << side[ac];
-    tgceff[ac]=new TH1F(ss.str().c_str(), (ss.str() + ";;Efficiency").c_str(),13,0,13); 
-    sc=tgcprd_eff_ac[ac]->regHist(tgceff[ac]) ;  
+    m_tgceff[ac]=new TH1F(ss.str().c_str(), (ss.str() + ";;Efficiency").c_str(),13,0,13); 
+    sc=tgcprd_eff_ac[ac]->regHist(m_tgceff[ac]) ;  
     if(sc.isFailure()) { 
-      m_log << MSG::FATAL << "tgceff[ac] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgceff[ac] Failed to register histogram " << endmsg;       
       return sc;
     }
     
     //efficiency for A/C side numerator
     ss.str(""); ss << "Efficiency_" << side[ac] << "_Numerator";
-    tgceffnum[ac]=new TH1F(ss.str().c_str(), (ss.str() + ";;Number of Events").c_str(),13,0,13);
-    tgceffnum[ac]->Sumw2();
-    sc=tgcprd_effnumdenom_ac[ac]->regHist(tgceffnum[ac]);
+    m_tgceffnum[ac]=new TH1F(ss.str().c_str(), (ss.str() + ";;Number of Events").c_str(),13,0,13);
+    m_tgceffnum[ac]->Sumw2();
+    sc=tgcprd_effnumdenom_ac[ac]->regHist(m_tgceffnum[ac]);
     if(sc.isFailure()) { 
-      m_log << MSG::FATAL << "tgceffnum[ac] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgceffnum[ac] Failed to register histogram " << endmsg;       
       return sc;
     }
     
     //efficiency for A side wire and stripdenominator
     ss.str(""); ss << "Efficiency_" << side[ac] << "_Denominator";
-    tgceffdenom[ac]=new TH1F(ss.str().c_str(), (ss.str() + "Number of Events").c_str(),13,0,13);
-    tgceffdenom[ac]->Sumw2();
-    sc=tgcprd_effnumdenom_ac[ac]->regHist(tgceffdenom[ac]) ;  
+    m_tgceffdenom[ac]=new TH1F(ss.str().c_str(), (ss.str() + "Number of Events").c_str(),13,0,13);
+    m_tgceffdenom[ac]->Sumw2();
+    sc=tgcprd_effnumdenom_ac[ac]->regHist(m_tgceffdenom[ac]) ;  
     if(sc.isFailure()) { 
-      m_log << MSG::FATAL << "tgceffdenom[ac] Failed to register histogram " << endmsg;       
+      m_log << MSG::FATAL << "m_tgceffdenom[ac] Failed to register histogram " << endmsg;       
       return sc;
     }
 
     // no strip layer2
-    //tgceffnum[ac]->Fill(8);
-    //tgceffdenom[ac]->Fill(8);
+    //m_tgceffnum[ac]->Fill(8);
+    //m_tgceffdenom[ac]->Fill(8);
 
     std::string sbc[2] = {"_Previous", "_Next"};
 
     for(int ws=0;ws<2;ws++){
       //Efficiency map
       ss.str(""); ss << wseff[ws] << "_Map_" << side[ac];
-      tgceffmap[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-      sc=tgcprd_eff_ac[ac]->regHist(tgceffmap[ac][ws]) ;  
+      m_tgceffmap[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+      sc=tgcprd_eff_ac[ac]->regHist(m_tgceffmap[ac][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
         return sc;
@@ -149,8 +149,8 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
       
       //Efficiency map numerator
       ss.str(""); ss << wseff[ws] << "_Map_" << side[ac] << "_Numerator";
-      tgceffmapnum[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-      sc=tgcprd_effnumdenom_ac[ac]->regHist(tgceffmapnum[ac][ws]) ;  
+      m_tgceffmapnum[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+      sc=tgcprd_effnumdenom_ac[ac]->regHist(m_tgceffmapnum[ac][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
         return sc;
@@ -158,8 +158,8 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
       
       //Efficiency map denominator
       ss.str(""); ss << wseff[ws] << "_Map_" << side[ac] << "_Denominator";
-      tgceffmapdenom[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-      sc=tgcprd_effnumdenom_ac[ac]->regHist(tgceffmapdenom[ac][ws]) ;  
+      m_tgceffmapdenom[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+      sc=tgcprd_effnumdenom_ac[ac]->regHist(m_tgceffmapdenom[ac][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
         return sc;
@@ -169,8 +169,8 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
       for(int bc=0;bc<2;bc++){
         //Efficiency map
         ss.str(""); ss << wseff[ws] << "_Map" << sbc[bc] << "_" << side[ac];
-        tgceffmapbc[ac][ws][bc] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-        sc=tgcprd_eff_expert_ac[ac]->regHist(tgceffmapbc[ac][ws][bc]) ;  
+        m_tgceffmapbc[ac][ws][bc] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+        sc=tgcprd_eff_expert_ac[ac]->regHist(m_tgceffmapbc[ac][ws][bc]) ;  
         if(sc.isFailure()) { 
           m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
           return sc;
@@ -178,8 +178,8 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
         
         // Numerator
         ss.str(""); ss << wseff[ws] << "_Map" << sbc[bc] << "_" << side[ac] << "_Numerator";
-        tgceffmapnumbc[ac][ws][bc] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-        sc=tgcprd_effnumdenom_expert_ac[ac]->regHist(tgceffmapnumbc[ac][ws][bc]) ;  
+        m_tgceffmapnumbc[ac][ws][bc] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+        sc=tgcprd_effnumdenom_expert_ac[ac]->regHist(m_tgceffmapnumbc[ac][ws][bc]) ;  
         if(sc.isFailure()) { 
           m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
           return sc;
@@ -200,9 +200,9 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
         }
         k++;
         ss<<"L"<<layer;
-        tgceff[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-        tgceffnum[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-        tgceffdenom[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+        m_tgceff[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+        m_tgceffnum[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+        m_tgceffdenom[ac]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
       }
   }
 
@@ -212,14 +212,14 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
 
   for(int ac=0;ac<2;ac++){
     for(int ws=0;ws<2;ws++){
-      BlankStationMap(tgceffmap[ac][ws]);  
-      if(ws==1) BlankStripStationMap(tgceffmap[ac][ws]);
+      BlankStationMap(m_tgceffmap[ac][ws]);  
+      if(ws==1) BlankStripStationMap(m_tgceffmap[ac][ws]);
       for(int bc=0; bc<2; bc++){
-        BlankStationMap(tgceffmapbc[ac][ws][bc]);
-        BlankStationMap(tgceffmapnumbc[ac][ws][bc]);                                                                                                     
+        BlankStationMap(m_tgceffmapbc[ac][ws][bc]);
+        BlankStationMap(m_tgceffmapnumbc[ac][ws][bc]);                                                                                                     
         if(ws==1){
-          BlankStripStationMap(tgceffmapbc[ac][ws][bc]);
-          BlankStripStationMap(tgceffmapnumbc[ac][ws][bc]);
+          BlankStripStationMap(m_tgceffmapbc[ac][ws][bc]);
+          BlankStripStationMap(m_tgceffmapnumbc[ac][ws][bc]);
         }
       }
       for(int sec=1;sec<=12;sec++){
@@ -229,12 +229,12 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
           ss << sec << "phi" << phi;
           int k=(sec-1)*4+phi+1;
           for(int bc=0;bc<2;bc++){
-            tgceffmapbc[ac][ws][bc]   ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
-            tgceffmapnumbc[ac][ws][bc]->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+            m_tgceffmapbc[ac][ws][bc]   ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+            m_tgceffmapnumbc[ac][ws][bc]->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
           }
-          tgceffmap[ac][ws]     ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
-          tgceffmapnum[ac][ws]  ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
-          tgceffmapdenom[ac][ws]->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+          m_tgceffmap[ac][ws]     ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+          m_tgceffmapnum[ac][ws]  ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+          m_tgceffmapdenom[ac][ws]->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
         }
       }
       int x=1;
@@ -243,12 +243,12 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
       //  for(int c=0;c<5;c++){
       //    ss.str(""); ss << "L" << l+1 << "_" << schamberT1[c];
       //    for(int bc=0;bc<2;bc++){
-      //      tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
-      //      tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+      //      m_tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+      //      m_tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
       //    }
-      //    tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+      //    m_tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       //  }
       //}
       ////layer4-7
@@ -256,12 +256,12 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
       //  for(int c=0;c<6;c++){
       //    ss.str(""); ss << "L" << l+1 << "_" << schamberT3[c]; 
       //    for(int bc=0;bc<2;bc++){
-      //      tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
-      //      tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+      //      m_tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+      //      m_tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
       //    }
-      //    tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+      //    m_tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       //  }
       //}
       ////layer8-9
@@ -269,12 +269,12 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
       //  for(int c=0;c<2;c++){
       //    ss.str(""); ss << "L" << l+1 << "_" << schamberEF[c]; 
       //    for(int bc=0;bc<2;bc++){
-      //      tgceffmapbc[ac][ws][bc] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
-      //      tgceffmapnumbc[ac][ws][bc] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+      //      m_tgceffmapbc[ac][ws][bc] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+      //      m_tgceffmapnumbc[ac][ws][bc] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
       //    }
-      //    tgceffmap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgceffmapnum[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgceffmapdenom[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+      //    m_tgceffmap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgceffmapnum[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgceffmapdenom[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       //  }
       //}
 
@@ -283,12 +283,12 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
 	for(int l=1;l<=7;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberT1[c];
           for(int bc=0;bc<2;bc++){
-            tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
-            tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
           }
-          tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 
 	}
       }
@@ -297,12 +297,12 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
 	for(int l=4;l<=7;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberT3[c];
           for(int bc=0;bc<2;bc++){
-            tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
-            tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
           }
-          tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 	}
       }
       // chamber F,  layer1-7
@@ -310,12 +310,12 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
 	for(int l=1;l<=7;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberT3[c];
           for(int bc=0;bc<2;bc++){
-            tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
-            tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
           }
-          tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 	}
       }
       // chamber EIFI,  layer8-9
@@ -323,23 +323,23 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
 	for(int l=8;l<=9;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberEF[c];
           for(int bc=0;bc<2;bc++){
-            tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
-            tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapbc[ac][ws][bc]   ->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
+            m_tgceffmapnumbc[ac][ws][bc]->GetXaxis()->SetBinLabel( x, ss.str().c_str() ); 
           }
-          tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgceffmap[ac][ws]     ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapnum[ac][ws]  ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgceffmapdenom[ac][ws]->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 	}
       }
 
 
 
-      tgceffmap[ac][ws] ->GetXaxis()->LabelsOption("v");
-      tgceffmapnum[ac][ws] ->GetXaxis()->LabelsOption("v");
-      tgceffmapdenom[ac][ws] ->GetXaxis()->LabelsOption("v");
+      m_tgceffmap[ac][ws] ->GetXaxis()->LabelsOption("v");
+      m_tgceffmapnum[ac][ws] ->GetXaxis()->LabelsOption("v");
+      m_tgceffmapdenom[ac][ws] ->GetXaxis()->LabelsOption("v");
       for(int bc=0;bc<2;bc++){
-        tgceffmapbc[ac][ws][bc] ->GetXaxis()->LabelsOption("v");
-        tgceffmapnumbc[ac][ws][bc] ->GetXaxis()->LabelsOption("v");
+        m_tgceffmapbc[ac][ws][bc] ->GetXaxis()->LabelsOption("v");
+        m_tgceffmapnumbc[ac][ws][bc] ->GetXaxis()->LabelsOption("v");
       }
     }//ws
   }//ac
@@ -348,8 +348,8 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
     for(int ws=0;ws<2;ws++){
       // efficiency for each sector/layer
       ss.str(""); ss << wseff[ws] << "_" << side[i];
-      tgceffsector[i][ws]=new TH1F(ss.str().c_str(), (ss.str() + ";;Efficiency").c_str(),84,0,84);
-      sc=tgcprd_eff_expert_ac[i]->regHist(tgceffsector[i][ws]) ;  
+      m_tgceffsector[i][ws]=new TH1F(ss.str().c_str(), (ss.str() + ";;Efficiency").c_str(),84,0,84);
+      sc=tgcprd_eff_expert_ac[i]->regHist(m_tgceffsector[i][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() <<" Failed to register histogram " << endmsg;       
         return sc;
@@ -357,9 +357,9 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
 
       // efficiency numerator
       ss.str(""); ss << wseff[ws] << "_" << side[i] << "_Numerator";    
-      tgceffsectornum[i][ws]=new TH1F(ss.str().c_str(), (ss.str() + ";;Efficiency" ).c_str(),84,0,84);       
-      tgceffsectornum[i][ws]->Sumw2();
-      sc=tgcprd_effnumdenom_expert_ac[i]->regHist(tgceffsectornum[i][ws]) ;  
+      m_tgceffsectornum[i][ws]=new TH1F(ss.str().c_str(), (ss.str() + ";;Efficiency" ).c_str(),84,0,84);       
+      m_tgceffsectornum[i][ws]->Sumw2();
+      sc=tgcprd_effnumdenom_expert_ac[i]->regHist(m_tgceffsectornum[i][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return sc;
@@ -367,9 +367,9 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
 
       // efficiency denominator
       ss.str(""); ss << wseff[ws] << "_" << side[i] << "_Denominator";
-      tgceffsectordenom[i][ws]=new TH1F(ss.str().c_str(),(ss.str() + ";;Efficiency" ).c_str(),84,0,84);
-      tgceffsectordenom[i][ws]->Sumw2();
-      sc=tgcprd_effnumdenom_expert_ac[i]->regHist(tgceffsectordenom[i][ws]) ;  
+      m_tgceffsectordenom[i][ws]=new TH1F(ss.str().c_str(),(ss.str() + ";;Efficiency" ).c_str(),84,0,84);
+      m_tgceffsectordenom[i][ws]->Sumw2();
+      sc=tgcprd_effnumdenom_expert_ac[i]->regHist(m_tgceffsectordenom[i][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return sc;
@@ -383,17 +383,17 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
           if(sector<10)ss<<0;
           ss<<sector<<"L"<<layer;
           int k=(sector-1)*7+layer;
-          tgceffsector[i][ws]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-          tgceffsectornum[i][ws]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
-          tgceffsectordenom[i][ws]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+          m_tgceffsector[i][ws]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+          m_tgceffsectornum[i][ws]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
+          m_tgceffsectordenom[i][ws]->GetXaxis()->SetBinLabel(k,ss.str().c_str());
           ss.str();
         }
 
     //Summary
     for(int ws=0;ws<2;ws++){
       ss.str(""); ss<<"Summary_Of_"<<wseff[ws]<<"_Per_GasGap_"<<side[i];
-      tgcsummaryofeffpergasgap[i][ws]=new TH1F(ss.str().c_str(), (ss.str() + ";Efficiency; Entries").c_str(), 101, 0., 1.01);
-      sc=tgcprd_summary_ac[i]->regHist(tgcsummaryofeffpergasgap[i][ws]) ;  
+      m_tgcsummaryofeffpergasgap[i][ws]=new TH1F(ss.str().c_str(), (ss.str() + ";Efficiency; Entries").c_str(), 101, 0., 1.01);
+      sc=tgcprd_summary_ac[i]->regHist(m_tgcsummaryofeffpergasgap[i][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
         return sc;
@@ -412,8 +412,8 @@ TgcRawDataValAlg::bookHistogramsEfficiency(){
         if(sta==0 && eta==5 )continue;
         //Summary
         ss.str(""); ss<<"Summary_Of_"<<wseff[ws]<<"_Per_Chamber_Type_Station"<<sta+1<<type[ntype];
-        tgcsummaryofeffperchambertype[ws][ntype]=new TH1F(ss.str().c_str(), (ss.str() + ";Efficiency; Entries").c_str(), 101, 0., 1.01);
-        sc=tgcprd_summary.regHist(tgcsummaryofeffperchambertype[ws][ntype++]) ;  
+        m_tgcsummaryofeffperchambertype[ws][ntype]=new TH1F(ss.str().c_str(), (ss.str() + ";Efficiency; Entries").c_str(), 101, 0., 1.01);
+        sc=tgcprd_summary.regHist(m_tgcsummaryofeffperchambertype[ws][ntype++]) ;  
         if(sc.isFailure()) { 
           m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
           return sc;
@@ -734,23 +734,23 @@ TgcRawDataValAlg::calculateEfficiency(int ac, int ws, int eta, int phi48, int la
   int layerws=-1, sectorlayer=-1;
   bool isEIFI = (layer>6);
   if(!isEIFI){
-    //tgceff, tgceffsector not implemented for EIFI
+    //m_tgceff, m_tgceffsector not implemented for EIFI
     // Layer efficiency
     layerws=layer+ws*7;
     if(ws==1&&layer>1) layerws-=1;
-    tgceffdenom[ac]->Fill(layerws);//fill denominator
+    m_tgceffdenom[ac]->Fill(layerws);//fill denominator
     
     // Sector efficiency
     int sector12, phi4;
     phi48ToSectorPhi4(phi48, sector12, phi4);
     sectorlayer=sector12*7+layer;
-    tgceffsectordenom[ac][ws]->Fill(sectorlayer);//fill denominator
+    m_tgceffsectordenom[ac][ws]->Fill(sectorlayer);//fill denominator
   }
   
   // Chamber efficiency
   int binx, biny;
   getChamberMapIndexes(eta, phi48, layer, binx, biny);
-  tgceffmapdenom[ac][ws]->Fill(binx, biny);//fill denominator
+  m_tgceffmapdenom[ac][ws]->Fill(binx, biny);//fill denominator
   
   // additional leeway for comparing channels, due to miscabling
   int dch_extra=2;
@@ -781,10 +781,10 @@ TgcRawDataValAlg::calculateEfficiency(int ac, int ws, int eta, int phi48, int la
     int dmax       = m_dchmax[layer][refLayer][ws][ac] + dch_extra;
     if(compareID(prdChannel, referenceChannel, dmin, dmax)){
       if(m_debuglevel)m_log<<MSG::DEBUG<<"calculate efficiency current layer"<<layer+1 << " eta" << eta << " phi" << phi48 << " fire" <<std::endl;
-      tgceffmapnum[ac][ws]->Fill(binx, biny);
-      tgceffnum[ac]->Fill(layerws);//fill numerator
+      m_tgceffmapnum[ac][ws]->Fill(binx, biny);
+      m_tgceffnum[ac]->Fill(layerws);//fill numerator
       if(!isEIFI){
-        tgceffsectornum[ac][ws]->Fill(sectorlayer);//fill numerator
+        m_tgceffsectornum[ac][ws]->Fill(sectorlayer);//fill numerator
       }
       return;
     }
@@ -801,7 +801,7 @@ TgcRawDataValAlg::calculateEfficiency(int ac, int ws, int eta, int phi48, int la
     if(compareID(prdChannel, referenceChannel, dmin, dmax)){
       if(m_debuglevel)m_log<<MSG::DEBUG<<"calculate efficiency previous layer"<<layer+1 << " eta" << eta << " phi" << phi48 << " fire" <<std::endl;
       //if(!isEIFI){
-        tgceffmapnumbc[ac][ws][PREV]->Fill(binx, biny);
+        m_tgceffmapnumbc[ac][ws][PREV]->Fill(binx, biny);
       //}
       break;
     }
@@ -818,7 +818,7 @@ TgcRawDataValAlg::calculateEfficiency(int ac, int ws, int eta, int phi48, int la
     if(compareID(prdChannel, referenceChannel, dmin, dmax)){
       if(m_debuglevel)m_log<<MSG::DEBUG<<"calculate efficiency next layer"<<layer+1 << " eta" << eta << " phi" << phi48 << " fire" <<std::endl;
       //if(!isEIFI){
-        tgceffmapnumbc[ac][ws][NEXT-1]->Fill(binx, biny); // only prev/next defined, array index should be 1 for NEXT PRD
+        m_tgceffmapnumbc[ac][ws][NEXT-1]->Fill(binx, biny); // only prev/next defined, array index should be 1 for NEXT PRD
       //}
       break;
     }
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_NumberOfHits.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_NumberOfHits.cxx
index e18c975cdbd9c3c51f63196ab595b0fa46dc3193..aa6384d061a4b44819054a32febd4f0d1de722b4 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_NumberOfHits.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_NumberOfHits.cxx
@@ -66,54 +66,54 @@ TgcRawDataValAlg::bookHistogramsNumberOfHits(){
   StatusCode sc=StatusCode::SUCCESS;
 
   //MonGroup tgcprd_shift( this, generic_path_tgcmonitoring + "/Overview", shift, run ); 
-  MonGroup tgcprd_shift( this, generic_path_tgcmonitoring + "/Global", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_shift_a( this, generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_shift_c( this, generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_expert( this, generic_path_tgcmonitoring + "/Global", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift( this, m_generic_path_tgcmonitoring + "/Global", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift_a( this, m_generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift_c( this, m_generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_expert( this, m_generic_path_tgcmonitoring + "/Global", run, ATTRIB_UNMANAGED ); 
 
   std::stringstream ss;
   std::string side[2] = {"A","C"};
 
   //event counter
-  tgceventcounter=new TH1F("Event_Counter","Event_Counter; [counts]; Number of Hits/Events",1,0,1.);       
-  sc=tgcprd_shift.regHist(tgceventcounter) ;  
+  m_tgceventcounter=new TH1F("Event_Counter","Event_Counter; [counts]; Number of Hits/Events",1,0,1.);       
+  sc=tgcprd_shift.regHist(m_tgceventcounter) ;  
   if(sc.isFailure()) { 
-    m_log << MSG::FATAL << "tgceventcounter Failed to register histogram " << endmsg;       
+    m_log << MSG::FATAL << "m_tgceventcounter Failed to register histogram " << endmsg;       
     return sc;
   }
 
   //number of hits per event
-  tgcevents=new TH1F("Number_Of_TGC_Hits_Per_Event", "Number_Of_TGC_Hits_Per_Event; [counts]; Number of Hits/Events",500,0,500.);       
-  sc=tgcprd_shift.regHist(tgcevents) ;  
+  m_tgcevents=new TH1F("Number_Of_TGC_Hits_Per_Event", "Number_Of_TGC_Hits_Per_Event; [counts]; Number of Hits/Events",500,0,500.);       
+  sc=tgcprd_shift.regHist(m_tgcevents) ;  
   if(sc.isFailure()) { 
-    m_log << MSG::FATAL << "tgcevents Failed to register histogram " << endmsg;       
+    m_log << MSG::FATAL << "m_tgcevents Failed to register histogram " << endmsg;       
     return sc;
   }
   
   //number of wire hits per event
   std::string tgcnumberofwirehits_title = "Number_Of_TGC_Wire_Hits_Per_Event";
-  tgcnumberofwirehits=new TH1F("Number_Of_TGC_Wire_Hits_Per_Event", "Number_Of_TGC_Wire_Hits_Per_Event; [counts]; Number of Wire Hits/Event",300,0,300.);       
-  sc=tgcprd_expert.regHist(tgcnumberofwirehits) ;  
+  m_tgcnumberofwirehits=new TH1F("Number_Of_TGC_Wire_Hits_Per_Event", "Number_Of_TGC_Wire_Hits_Per_Event; [counts]; Number of Wire Hits/Event",300,0,300.);       
+  sc=tgcprd_expert.regHist(m_tgcnumberofwirehits) ;  
   if(sc.isFailure()) { 
-    m_log << MSG::FATAL << "tgcnumberofwirehits Failed to register histogram " << endmsg;       
+    m_log << MSG::FATAL << "m_tgcnumberofwirehits Failed to register histogram " << endmsg;       
     return sc;
   }
 
   //number of strip hits per event
   std::string tgcnumberofstriphits_title = "Number_Of_TGC_Strip_Hits_Per_Event";
-  tgcnumberofstriphits=new TH1F("Number_Of_TGC_Strip_Hits_Per_Event", "Number_Of_TGC_Strip_Hits_Per_Event; [counts]; Number of Strip Hits/Events",300,0,300.);       
-  sc=tgcprd_expert.regHist(tgcnumberofstriphits) ;  
+  m_tgcnumberofstriphits=new TH1F("Number_Of_TGC_Strip_Hits_Per_Event", "Number_Of_TGC_Strip_Hits_Per_Event; [counts]; Number of Strip Hits/Events",300,0,300.);       
+  sc=tgcprd_expert.regHist(m_tgcnumberofstriphits) ;  
   if(sc.isFailure()) { 
-    m_log << MSG::FATAL << "tgcnumberofstriphits Failed to register histogram " << endmsg;       
+    m_log << MSG::FATAL << "m_tgcnumberofstriphits Failed to register histogram " << endmsg;       
     return sc;
   }
 
   //number of hits per event for A and C side
   for(int ac=0;ac<2;ac++){
     ss.str(""); ss<<"Number_Of_TGC_Hits_Per_Event_"<<side[ac];
-    tgcnumberofhits[ac]=new TH1F(ss.str().c_str(), (ss.str() + "; [counts]; Number of Hits/Events" ).c_str(),500,0.,500.);       
-    if(ac==0) sc=tgcprd_shift_a.regHist(tgcnumberofhits[ac]) ;  
-    else      sc=tgcprd_shift_c.regHist(tgcnumberofhits[ac]) ;  
+    m_tgcnumberofhits[ac]=new TH1F(ss.str().c_str(), (ss.str() + "; [counts]; Number of Hits/Events" ).c_str(),500,0.,500.);       
+    if(ac==0) sc=tgcprd_shift_a.regHist(m_tgcnumberofhits[ac]) ;  
+    else      sc=tgcprd_shift_c.regHist(m_tgcnumberofhits[ac]) ;  
     if(sc.isFailure()) { 
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
@@ -142,14 +142,14 @@ TgcRawDataValAlg::fillNumberOfHits(){
   if(nHitsSide[1]>=500) nHitsSide[1]=499;
   
   // Fill Event Counter
-  tgceventcounter->Fill(0);
+  m_tgceventcounter->Fill(0);
   
   // Fill nHits Histograms
-  tgcevents->Fill(nHitsTotal);
+  m_tgcevents->Fill(nHitsTotal);
   for(int ac=0;ac<2;ac++)
-    tgcnumberofhits[ac]->Fill(nHitsSide[ac]);
-  tgcnumberofwirehits->Fill(nHitsWS[0]);
-  tgcnumberofstriphits->Fill(nHitsWS[1]);
+    m_tgcnumberofhits[ac]->Fill(nHitsSide[ac]);
+  m_tgcnumberofwirehits->Fill(nHitsWS[0]);
+  m_tgcnumberofstriphits->Fill(nHitsWS[1]);
   
   return StatusCode::SUCCESS;
 }
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Profile.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Profile.cxx
index 4c308b1770dc7d56ab69902f80ae64670e192eac..4a7dec16e1ae1c63b256c117c119fb41a42cdbf3 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Profile.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Profile.cxx
@@ -77,25 +77,25 @@ TgcRawDataValAlg::bookHistogramsProfile(){
   
   StatusCode sc=StatusCode::SUCCESS;
   
-  MonGroup tgcprd_shift( this, generic_path_tgcmonitoring + "/Global", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_shift_a( this, generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_shift_c( this, generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift( this, m_generic_path_tgcmonitoring + "/Global", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift_a( this, m_generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift_c( this, m_generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_shift_ac[2] = { &tgcprd_shift_a, &tgcprd_shift_c };
   
-  MonGroup tgcprd_profile_s_a( this, generic_path_tgcmonitoring + "/TGCEA/Profile", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_profile_s_c( this, generic_path_tgcmonitoring + "/TGCEC/Profile", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_profile_s_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Profile", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_profile_s_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Profile", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_profile_s_ac[2] = {&tgcprd_profile_s_a, &tgcprd_profile_s_c};
   
-  MonGroup tgcprd_profile_a( this, generic_path_tgcmonitoring + "/TGCEA/Profile", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_profile_c( this, generic_path_tgcmonitoring + "/TGCEC/Profile", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_profile_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Profile", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_profile_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Profile", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_profile_ac[2] = {&tgcprd_profile_a, &tgcprd_profile_c};
   
-  MonGroup tgcprd_occupancy_s_a( this, generic_path_tgcmonitoring + "/TGCEA/Occupancy", run, ATTRIB_UNMANAGED  ); 
-  MonGroup tgcprd_occupancy_s_c( this, generic_path_tgcmonitoring + "/TGCEC/Occupancy", run, ATTRIB_UNMANAGED  ); 
+  MonGroup tgcprd_occupancy_s_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Occupancy", run, ATTRIB_UNMANAGED  ); 
+  MonGroup tgcprd_occupancy_s_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Occupancy", run, ATTRIB_UNMANAGED  ); 
   MonGroup* tgcprd_occupancy_s_ac[2] = {&tgcprd_occupancy_s_a, &tgcprd_occupancy_s_c};
   
-  MonGroup tgcprd_occupancy_a( this, generic_path_tgcmonitoring + "/TGCEA/Occupancy", run, ATTRIB_UNMANAGED  ); 
-  MonGroup tgcprd_occupancy_c( this, generic_path_tgcmonitoring + "/TGCEC/Occupancy", run, ATTRIB_UNMANAGED  ); 
+  MonGroup tgcprd_occupancy_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Occupancy", run, ATTRIB_UNMANAGED  ); 
+  MonGroup tgcprd_occupancy_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Occupancy", run, ATTRIB_UNMANAGED  ); 
   //MonGroup* tgcprd_occupancy_ac[2] = {&tgcprd_occupancy_a, &tgcprd_occupancy_c};
   
   std::stringstream ss;
@@ -105,8 +105,8 @@ TgcRawDataValAlg::bookHistogramsProfile(){
   for(int ac=0;ac<2;ac++){
     //number of hits for each SSW in 2LBs
     ss.str(""); ss << "Doublet_Triplet_Hits_"<<side[ac];
-    tgctripletdoublethitsinlbvssect[ac]=new TH2F(ss.str().c_str(), (ss.str() + "; LB;" ).c_str(),1250,1.,2501., 148, 0, 148 );       
-    sc=tgcprd_shift_ac[ac]->regHist(tgctripletdoublethitsinlbvssect[ac]) ;  
+    m_tgctripletdoublethitsinlbvssect[ac]=new TH2F(ss.str().c_str(), (ss.str() + "; LB;" ).c_str(),1250,1.,2501., 148, 0, 148 );       
+    sc=tgcprd_shift_ac[ac]->regHist(m_tgctripletdoublethitsinlbvssect[ac]) ;  
     if(sc.isFailure()) { 
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
@@ -123,43 +123,43 @@ TgcRawDataValAlg::bookHistogramsProfile(){
         ss << sec << tdname[id];
         
         if(id==0 || id==6 )
-          tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n,ss.str().c_str());
+          m_tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n,ss.str().c_str());
         n++;
       }
     }
-    tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "02EIFI").c_str() );
-    //tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "05EIFI").c_str() );
-    //tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "08EIFI").c_str() );
-    //tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "11EIFI").c_str() );
+    m_tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "02EIFI").c_str() );
+    //m_tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "05EIFI").c_str() );
+    //m_tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "08EIFI").c_str() );
+    //m_tgctripletdoublethitsinlbvssect[ac]->GetYaxis()->SetBinLabel(n++, (side[ac] + "11EIFI").c_str() );
     
     for(int ws=0;ws<2;ws++){
       //Profile map
       ss.str(""); ss << sws[ws] << "Profile_Map_" << side[ac];
-      tgcprofilemap[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-      sc=tgcprd_profile_s_ac[ac]->regHist(tgcprofilemap[ac][ws]) ;  
+      m_tgcprofilemap[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+      sc=tgcprd_profile_s_ac[ac]->regHist(m_tgcprofilemap[ac][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
         return sc;
       }
-      tgcprofilemap[ac][ws]->SetMaximum(1.2);
-      tgcprofilemap[ac][ws]->SetMinimum(1e-8);
+      m_tgcprofilemap[ac][ws]->SetMaximum(1.2);
+      m_tgcprofilemap[ac][ws]->SetMinimum(1e-8);
       
       //Occupancy map
       ss.str(""); ss << sws[ws] << "Occupancy_Map_" << side[ac];
-      tgcoccupancymap[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-      sc=tgcprd_occupancy_s_ac[ac]->regHist(tgcoccupancymap[ac][ws]) ;  
+      m_tgcoccupancymap[ac][ws] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+      sc=tgcprd_occupancy_s_ac[ac]->regHist(m_tgcoccupancymap[ac][ws]) ;  
       if(sc.isFailure()) { 
         m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
         return sc;
       }
-      tgcoccupancymap[ac][ws]->SetMaximum(1.2);
-      tgcoccupancymap[ac][ws]->SetMinimum(1e-8);
+      m_tgcoccupancymap[ac][ws]->SetMaximum(1.2);
+      m_tgcoccupancymap[ac][ws]->SetMinimum(1e-8);
     }//ws
     
     //Wire Strip Coincidence per GasGap
     ss.str(""); ss << "Wire_Strip_Coincidence_Per_GasGap_" << side[ac];
-    tgcwirestripcoin[ac] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
-    sc=tgcprd_shift_ac[ac]->regHist(tgcwirestripcoin[ac]) ;  
+    m_tgcwirestripcoin[ac] = new TH2F( ss.str().c_str(), ss.str().c_str(),43, 0, 43, 48, 1, 49 );
+    sc=tgcprd_shift_ac[ac]->regHist(m_tgcwirestripcoin[ac]) ;  
     if(sc.isFailure()) { 
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
@@ -172,14 +172,14 @@ TgcRawDataValAlg::bookHistogramsProfile(){
   
   for(int ac=0;ac<2;ac++){
     // Blank out chambers that don't exist
-    BlankStationMap(tgcwirestripcoin[ac]); 
+    BlankStationMap(m_tgcwirestripcoin[ac]); 
     for(int ws=0;ws<2;ws++){
       // Blank out chambers that don't exist
-      BlankStationMap(tgcprofilemap[ac][ws]);
-      if(ws==1) BlankStripStationMap(tgcprofilemap[ac][ws]);
+      BlankStationMap(m_tgcprofilemap[ac][ws]);
+      if(ws==1) BlankStripStationMap(m_tgcprofilemap[ac][ws]);
       // Blank out chambers that don't exist
-      BlankStationMap(tgcoccupancymap[ac][ws]);
-      if(ws==1) BlankStripStationMap(tgcoccupancymap[ac][ws]);
+      BlankStationMap(m_tgcoccupancymap[ac][ws]);
+      if(ws==1) BlankStripStationMap(m_tgcoccupancymap[ac][ws]);
       
       for(int sec=1;sec<=12;sec++){
         for(int phi=0;phi<=3;phi+=4){
@@ -187,8 +187,8 @@ TgcRawDataValAlg::bookHistogramsProfile(){
           if(sec<10)ss << "0";
           ss << sec << "phi" << phi;
           int k=(sec-1)*4+phi+1;
-          tgcprofilemap[ac][ws] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
-          tgcoccupancymap[ac][ws] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+          m_tgcprofilemap[ac][ws] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+          m_tgcoccupancymap[ac][ws] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
         }
       }
       int x=1;
@@ -197,62 +197,62 @@ TgcRawDataValAlg::bookHistogramsProfile(){
       //for(int l=0;l<3;l++){
       //  for(int c=0;c<5;c++){
       //    ss.str(""); ss << "L" << l+1 << "_" << schamberT1[c];
-      //    tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+      //    m_tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       //  }
       //}
       ////layer4-7
       //for(int l=3;l<7;l++){
       //  for(int c=0;c<6;c++){
       //    ss.str(""); ss << "L" << l+1 << "_" << schamberT3[c];
-      //    tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+      //    m_tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       //  }
       //}
       ////layer8-9
       //for(int l=7;l<9;l++){
       //  for(int c=0;c<2;c++){
       //    ss.str(""); ss << "L" << l+1 << "_" << schamberEF[c];
-      //    tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-      //    tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+      //    m_tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+      //    m_tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       //  }
       //}
       // chamber E1-E4,  layer1-7
       for(int c=0;c<4;c++){
 	for(int l=1;l<=7;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberT1[c];
-          tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 	}
       }
       // chamber E5,  layer4-7
       for(int c=4;c<5;c++){
 	for(int l=4;l<=7;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberT3[c];
-          tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 	}
       }
       // chamber F,  layer1-7
       for(int c=5;c<6;c++){
 	for(int l=1;l<=7;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberT3[c];
-          tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 	}
       }
       // chamber EIFI,  layer8-9
       for(int c=0;c<2;c++){
 	for(int l=8;l<=9;l++){
 	  ss.str(""); ss << "L" << l << "_" << schamberEF[c];
-          tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
-          tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+          m_tgcprofilemap[ac][ws] ->GetXaxis()->SetBinLabel( x, ss.str().c_str() );
+          m_tgcoccupancymap[ac][ws] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
 	}
       }
 
 
-      tgcprofilemap[ac][ws] ->GetXaxis()->LabelsOption("v");
-      tgcoccupancymap[ac][ws] ->GetXaxis()->LabelsOption("v");
+      m_tgcprofilemap[ac][ws] ->GetXaxis()->LabelsOption("v");
+      m_tgcoccupancymap[ac][ws] ->GetXaxis()->LabelsOption("v");
     }//ws
   }//ac
   
@@ -263,7 +263,7 @@ TgcRawDataValAlg::bookHistogramsProfile(){
         if(sec<10)ss << "0";
         ss << sec << "phi" << phi;
         int k=(sec-1)*4+phi+1;
-        tgcwirestripcoin[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
+        m_tgcwirestripcoin[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() );
       }
     }
     int x=1;
@@ -271,53 +271,53 @@ TgcRawDataValAlg::bookHistogramsProfile(){
     //for(int l=0;l<3;l++){
     //  for(int c=0;c<5;c++){
     //    ss.str(""); ss << "L" << l+1 << "_" << schamberT1[c];
-    //    tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+    //    m_tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
     //  }
     //}
     ////layer4-7
     //for(int l=3;l<7;l++){
     //  for(int c=0;c<6;c++){
     //    ss.str(""); ss << "L" << l+1 << "_" << schamberT3[c];
-    //    tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+    //    m_tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
     //  }
     //}
     ////layer8-9
     //for(int l=7;l<9;l++){
     //  for(int c=0;c<2;c++){
     //    ss.str(""); ss << "L" << l+1 << "_" << schamberEF[c];
-    //    tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+    //    m_tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
     //  }
     //}
     // chamber E1-E4,  layer1-7
     for(int c=0;c<4;c++){
       for(int l=1;l<=7;l++){
         ss.str(""); ss << "L" << l << "_" << schamberT1[c];
-        tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+        m_tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       }
     }
     // chamber E5,  layer4-7
     for(int c=4;c<5;c++){
       for(int l=4;l<=7;l++){
         ss.str(""); ss << "L" << l << "_" << schamberT3[c];
-        tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+        m_tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       }
     }
     // chamber F,  layer1-7
     for(int c=5;c<6;c++){
       for(int l=1;l<=7;l++){
         ss.str(""); ss << "L" << l << "_" << schamberT3[c];
-        tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+        m_tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       }
     }
     // chamber EIFI,  layer8-9
     for(int c=0;c<2;c++){
       for(int l=8;l<=9;l++){
         ss.str(""); ss << "L" << l << "_" << schamberEF[c];
-        tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+        m_tgcwirestripcoin[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       }
     }
 
-    tgcwirestripcoin[ac] ->GetXaxis()->LabelsOption("v");
+    m_tgcwirestripcoin[ac] ->GetXaxis()->LabelsOption("v");
   }
   
   // not monitor these profiles at GM
@@ -347,8 +347,8 @@ TgcRawDataValAlg::bookHistogramsProfile(){
             
             // Wire Hit Profile phi48
             ss.str(""); ss<<wireprof<<side[ac]<<std::setw(2)<<std::setfill('0')<<sector<<slayer<<layer<<sphi<<phi4;
-            tgcwireprofilephi48[ac][i][phi48] = new TH1F(ss.str().c_str(), (ss.str() + ";Wire #; Events").c_str(),m_nWireTGCSingleLayerInPhi48Division[tgc] , 0, m_nWireTGCSingleLayerInPhi48Division[tgc]);
-            sc=tgcprd_profile_ac[ac]->regHist(tgcwireprofilephi48[ac][i][phi48]) ;  
+            m_tgcwireprofilephi48[ac][i][phi48] = new TH1F(ss.str().c_str(), (ss.str() + ";Wire #; Events").c_str(),m_nWireTGCSingleLayerInPhi48Division[tgc] , 0, m_nWireTGCSingleLayerInPhi48Division[tgc]);
+            sc=tgcprd_profile_ac[ac]->regHist(m_tgcwireprofilephi48[ac][i][phi48]) ;  
             if(sc.isFailure()) { 
               m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
               return sc;
@@ -357,15 +357,15 @@ TgcRawDataValAlg::bookHistogramsProfile(){
             if(i!=1){
               // Strip Hit Profile phi48
               ss.str(""); ss<<stripprof<<side[ac]<<std::setw(2)<<std::setfill('0')<<sector<<slayer<<layer<<sphi<<phi4;
-              tgcstripprofilephi48[ac][i][phi48] = new TH1F(ss.str().c_str(), (ss.str() + ";Strip #; Events" ).c_str(),m_nStripTGCSingleLayerInPhi48Division[tgc] , 0, m_nStripTGCSingleLayerInPhi48Division[tgc]);
-              sc=tgcprd_profile_ac[ac]->regHist(tgcstripprofilephi48[ac][i][phi48]) ;  
+              m_tgcstripprofilephi48[ac][i][phi48] = new TH1F(ss.str().c_str(), (ss.str() + ";Strip #; Events" ).c_str(),m_nStripTGCSingleLayerInPhi48Division[tgc] , 0, m_nStripTGCSingleLayerInPhi48Division[tgc]);
+              sc=tgcprd_profile_ac[ac]->regHist(m_tgcstripprofilephi48[ac][i][phi48]) ;  
               if(sc.isFailure()) { 
                 m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
                 return sc;
               }
             }
             else{
-              tgcstripprofilephi48[ac][i][phi48] = 0;
+              m_tgcstripprofilephi48[ac][i][phi48] = 0;
             }
           }
         }
@@ -376,8 +376,8 @@ TgcRawDataValAlg::bookHistogramsProfile(){
       for(int ac=0;ac<2;ac++)
         for(int i=0;i<7;i++)
           for(int phi48=0;phi48<48;phi48++){
-            tgcwireprofilephi48[ac][i][phi48] = 0;
-            tgcstripprofilephi48[ac][i][phi48] = 0;
+            m_tgcwireprofilephi48[ac][i][phi48] = 0;
+            m_tgcstripprofilephi48[ac][i][phi48] = 0;
           }
     
   }//mon_profile
@@ -408,7 +408,7 @@ TgcRawDataValAlg::fillProfile(){
         int tgcIndex = StationName2TgcIndex(stationName);
         
         // Fill Triplet-Doublet Hits per lumiblock
-        tgctripletdoublethitsinlbvssect[ac]->Fill(m_lumiblock, getTripletDoubletID(stationName, sector, sectorPhi));
+        m_tgctripletdoublethitsinlbvssect[ac]->Fill(m_lumiblock, getTripletDoubletID(stationName, sector, sectorPhi));
         
         // Fill Online Profile Histograms
         if(m_mon_profile==true){
@@ -417,9 +417,9 @@ TgcRawDataValAlg::fillProfile(){
             if(tgcIndex!=3){// EIFI not implemented
               int numberphi48 = getWireNumberPerPhi48(tgcIndex, ws, channel, etaIndex);
               if(ws==WIRE){//wire
-                tgcwireprofilephi48[ac][layer][phi48]->Fill(numberphi48);
+                m_tgcwireprofilephi48[ac][layer][phi48]->Fill(numberphi48);
               }else{//strip
-                tgcstripprofilephi48[ac][layer][phi48]->Fill(numberphi48);
+                m_tgcstripprofilephi48[ac][layer][phi48]->Fill(numberphi48);
               }
             }
           }// !online
@@ -441,15 +441,15 @@ TgcRawDataValAlg::fillProfile(){
           int binx, biny;
           getChamberMapIndexes(eta, phi48, layer, binx, biny);
           
-          if(nhitw>0) tgcprofilemap[ac][0]->Fill(binx, biny, nhitw);
-          if(nhits>0) tgcprofilemap[ac][1]->Fill(binx, biny, nhits);
+          if(nhitw>0) m_tgcprofilemap[ac][0]->Fill(binx, biny, nhitw);
+          if(nhits>0) m_tgcprofilemap[ac][1]->Fill(binx, biny, nhits);
           
           if(layer==1) nhits=1;
           if(nhitw!=0&&nhits!=0){
-            tgcwirestripcoin[ac]->Fill(binx, biny, nhitw*nhits);
+            m_tgcwirestripcoin[ac]->Fill(binx, biny, nhitw*nhits);
             // not monitor these profiles at GM
             if(m_environment!=AthenaMonManager::online)
-              tgcwirestripcoinlowstat[ac]->Fill(binx, biny, nhitw*nhits);
+              m_tgcwirestripcoinlowstat[ac]->Fill(binx, biny, nhitw*nhits);
           }
           
         }//layer
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_ReadContainer.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_ReadContainer.cxx
index 0eb31462f2a88b4c64ca5d23cadcb86606b04757..ff5418adf1637f005f6ac2e782d59281d707f8cc 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_ReadContainer.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_ReadContainer.cxx
@@ -195,17 +195,17 @@ TgcRawDataValAlg::readTgcPrepDataContainer(const Muon::TgcPrepDataContainer* tgc
         }
         
         if(m_debuglevel) m_log << MSG::DEBUG << " TgcPrepData number:  " << m_nPrd << endmsg;
-        if(m_nPrd>m_maxPrd-1){
-          m_log << MSG::WARNING << "Maximum number of TgcPrepData in the Histograms reached: " << m_maxPrd << endmsg;
+        if(m_nPrd>maxPrd-1){
+          m_log << MSG::WARNING << "Maximum number of TgcPrepData in the Histograms reached: " << maxPrd << endmsg;
           return;
         }
       }// Collection
       
       if(m_debuglevel) m_log << MSG::DEBUG << " TgcCollection number  " << m_nColl << endmsg;
-      if(m_nColl>m_maxColl-1){
+      if(m_nColl>maxColl-1){
         m_log << MSG::WARNING
               << "Maximum number of TgcPrepDataCollection in the TGCRawData Monitoring Histos reached: "
-              << m_maxColl << endmsg;
+              << maxColl << endmsg;
         return;
       } 
     }// Container
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Summary_LowStat.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Summary_LowStat.cxx
index e80e8708c62dc1cbdec64c4f7b5965bb0ed9009d..0e7c0b6cfff4b539bc91d364433750b0e865b7df 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Summary_LowStat.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_Summary_LowStat.cxx
@@ -58,9 +58,9 @@ TgcRawDataValAlg::bookHistogramsSummary(){
   
   ///////////////////////////////////////////////////////////////////////////
   // Make MonGroups for histogram booking paths
-  MonGroup tgcprd_summary( this, generic_path_tgcmonitoring + "/Global/Summary", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_summary_a( this, generic_path_tgcmonitoring + "/TGCEA/Summary", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_summary_c( this, generic_path_tgcmonitoring + "/TGCEC/Summary", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_summary( this, m_generic_path_tgcmonitoring + "/Global/Summary", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_summary_a( this, m_generic_path_tgcmonitoring + "/TGCEA/Summary", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_summary_c( this, m_generic_path_tgcmonitoring + "/TGCEC/Summary", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_summary_ac[2] = { &tgcprd_summary_a,&tgcprd_summary_c };
   
   std::stringstream ss;
@@ -71,16 +71,16 @@ TgcRawDataValAlg::bookHistogramsSummary(){
   for(int i=0;i<2;i++){// side
     //Summary
     ss.str(""); ss << "Summary_Of_Log10_"<<wireoccupergasgap<<side[i];
-    tgcsummaryoflog10wireoccupancypergasgap[i]=new TH1F(ss.str().c_str(), (ss.str() + ";log10(Occupancy); Entries").c_str(),80,-8.,0.);
-    sc=tgcprd_summary_ac[i]->regHist(tgcsummaryoflog10wireoccupancypergasgap[i]) ;  
+    m_tgcsummaryoflog10wireoccupancypergasgap[i]=new TH1F(ss.str().c_str(), (ss.str() + ";log10(Occupancy); Entries").c_str(),80,-8.,0.);
+    sc=tgcprd_summary_ac[i]->regHist(m_tgcsummaryoflog10wireoccupancypergasgap[i]) ;  
     if(sc.isFailure()) { 
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
     }
     
     ss.str(""); ss << "Summary_Of_Log10_"<<stripoccupergasgap<<side[i];
-    tgcsummaryoflog10stripoccupancypergasgap[i]=new TH1F(ss.str().c_str(), (ss.str() + ";log10(Occupancy); Entries" ).c_str(),80,-8.,0.);
-    sc=tgcprd_summary_ac[i]->regHist(tgcsummaryoflog10stripoccupancypergasgap[i]) ;  
+    m_tgcsummaryoflog10stripoccupancypergasgap[i]=new TH1F(ss.str().c_str(), (ss.str() + ";log10(Occupancy); Entries" ).c_str(),80,-8.,0.);
+    sc=tgcprd_summary_ac[i]->regHist(m_tgcsummaryoflog10stripoccupancypergasgap[i]) ;  
     if(sc.isFailure()) { 
       m_log << MSG::FATAL << ss.str() << " Failed to register histogram " << endmsg;       
       return sc;
@@ -108,18 +108,18 @@ TgcRawDataValAlg::bookHistogramsSummary(){
       if(chamtype[sta][eta].compare("EMPTY") == 0) continue;
       // Summary
       ss.str(""); ss << "Summary_Of_Log10_" << wireoccuperchamtype << sta+1 << chamtype[sta][eta];
-      tgcsummaryoflog10wireoccupancyperchambertype[ntype]=new TH1F(ss.str().c_str(), ( ss.str() + ";log10(Occupancy); Entries").c_str(),80,-8.,0.);
-      sc=tgcprd_summary.regHist(tgcsummaryoflog10wireoccupancyperchambertype[ntype]) ;  
+      m_tgcsummaryoflog10wireoccupancyperchambertype[ntype]=new TH1F(ss.str().c_str(), ( ss.str() + ";log10(Occupancy); Entries").c_str(),80,-8.,0.);
+      sc=tgcprd_summary.regHist(m_tgcsummaryoflog10wireoccupancyperchambertype[ntype]) ;  
       if(sc.isFailure()) { 
-        m_log << MSG::FATAL << "tgcsummaryoflog10wireoccupancyperchambertype["<<ntype<<"] Failed to register histogram " << endmsg;       
+        m_log << MSG::FATAL << "m_tgcsummaryoflog10wireoccupancyperchambertype["<<ntype<<"] Failed to register histogram " << endmsg;       
         return sc;
       }
       // Summary
       ss.str(""); ss << "Summary_Of_Log10_" << stripoccuperchamtype << sta+1 << chamtype[sta][eta];
-      tgcsummaryoflog10stripoccupancyperchambertype[ntype]=new TH1F(ss.str().c_str(), ( ss.str() + ";log10(Occupancy); Entries").c_str(),80,-8.,0.);
-      sc=tgcprd_summary.regHist(tgcsummaryoflog10stripoccupancyperchambertype[ntype]) ;  
+      m_tgcsummaryoflog10stripoccupancyperchambertype[ntype]=new TH1F(ss.str().c_str(), ( ss.str() + ";log10(Occupancy); Entries").c_str(),80,-8.,0.);
+      sc=tgcprd_summary.regHist(m_tgcsummaryoflog10stripoccupancyperchambertype[ntype]) ;  
       if(sc.isFailure()) { 
-        m_log << MSG::FATAL << "tgcsummaryoflog10stripoccupancyperchambertype["<<ntype<<"] Failed to register histogram " << endmsg;
+        m_log << MSG::FATAL << "m_tgcsummaryoflog10stripoccupancyperchambertype["<<ntype<<"] Failed to register histogram " << endmsg;
         return sc;
       }
       ntype++;
@@ -136,8 +136,8 @@ TgcRawDataValAlg::bookHistogramsLowStat(){
   m_log << MSG::INFO << "bookHistogramsLowStat" << endmsg;
   StatusCode sc=StatusCode::SUCCESS;
 
-  MonGroup tgcprd_lowstat_a( this, generic_path_tgcmonitoring + "/TGCEA", lowStat, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_lowstat_c( this, generic_path_tgcmonitoring + "/TGCEC", lowStat, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_lowstat_a( this, m_generic_path_tgcmonitoring + "/TGCEA", lowStat, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_lowstat_c( this, m_generic_path_tgcmonitoring + "/TGCEC", lowStat, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_lowstat_ac[2]={ &tgcprd_lowstat_a, &tgcprd_lowstat_c};
 
   std::stringstream ss;
@@ -149,8 +149,8 @@ TgcRawDataValAlg::bookHistogramsLowStat(){
   for(int ac=0;ac<2;ac++){
     //Wire Strip Coincidence per GasGap
     ss.str(""); ss<< "Wire_Strip_Coincidence_Per_GasGap_In_10LBs_" << side[ac];
-    tgcwirestripcoinlowstat[ac] = new TH2F( ss.str().c_str(), ss.str() .c_str(),43, 0, 43, 48, 1, 49 );
-    sc=tgcprd_lowstat_ac[ac]->regHist(tgcwirestripcoinlowstat[ac]) ;  
+    m_tgcwirestripcoinlowstat[ac] = new TH2F( ss.str().c_str(), ss.str() .c_str(),43, 0, 43, 48, 1, 49 );
+    sc=tgcprd_lowstat_ac[ac]->regHist(m_tgcwirestripcoinlowstat[ac]) ;  
     if(sc.isFailure()) { 
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
@@ -162,7 +162,7 @@ TgcRawDataValAlg::bookHistogramsLowStat(){
         if(sec<10)ss << "0";
         ss << sec << "phi" << phi;
         int k=(sec-1)*4+phi+1;
-        tgcwirestripcoinlowstat[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
+        m_tgcwirestripcoinlowstat[ac] ->GetYaxis()->SetBinLabel( k, ss.str().c_str() ); 
       }
     }
     int x=1;
@@ -170,24 +170,24 @@ TgcRawDataValAlg::bookHistogramsLowStat(){
     for(int l=0 ; l<3 ; l++ ){
       for( int c=0 ; c<5 ; c++ ){
         ss.str(""); ss << "L" << l+1 << "_" << schamberT1[c]; 
-        tgcwirestripcoinlowstat[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+        m_tgcwirestripcoinlowstat[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       }
     }
     //layer4-7
     for(int l=3 ; l<7 ; l++ ){
       for( int c=0 ; c<6 ; c++ ){
         ss.str(""); ss << "L" << l+1 << "_" << schamberT3[c]; 
-        tgcwirestripcoinlowstat[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+        m_tgcwirestripcoinlowstat[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       }
     }
     //layer8-9
     for(int l=7 ; l<9 ; l++ ){
       for( int c=0 ; c<2 ; c++ ){
         ss.str(""); ss << "L" << l+1 << "_" << schamberEF[c]; 
-        tgcwirestripcoinlowstat[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
+        m_tgcwirestripcoinlowstat[ac] ->GetXaxis()->SetBinLabel( x++, ss.str().c_str() );
       }
     }
-    tgcwirestripcoinlowstat[ac]  ->GetXaxis()->LabelsOption("v");
+    m_tgcwirestripcoinlowstat[ac]  ->GetXaxis()->LabelsOption("v");
   }//ac
 
   return sc;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_XYView.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_XYView.cxx
index d1330ba80c72e93b5f176e0c10444106b8223441..9217eb7885f9428dcb9cd92808020bf13ff272db 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_XYView.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/src/TgcRawDataValAlg_XYView.cxx
@@ -64,11 +64,11 @@ TgcRawDataValAlg::bookHistogramsXYView(){
 
   StatusCode sc=StatusCode::SUCCESS;
 
-  MonGroup tgcprd_shift_a( this, generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_shift_c( this, generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift_a( this, m_generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_shift_c( this, m_generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_shift_ac[2]={ &tgcprd_shift_a, &tgcprd_shift_c };
-  MonGroup tgcprd_expert_a( this, generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
-  MonGroup tgcprd_expert_c( this, generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_expert_a( this, m_generic_path_tgcmonitoring + "/TGCEA", run, ATTRIB_UNMANAGED ); 
+  MonGroup tgcprd_expert_c( this, m_generic_path_tgcmonitoring + "/TGCEC", run, ATTRIB_UNMANAGED ); 
   MonGroup* tgcprd_expert_ac[2]={ &tgcprd_expert_a, &tgcprd_expert_c };
   
   std::stringstream ss;
@@ -78,8 +78,8 @@ TgcRawDataValAlg::bookHistogramsXYView(){
   //    A/C side : overlay all layers
   for( int ac=0 ; ac<2 ; ac++ ){
     ss.str(""); ss<< "XY_View_" << side[ac];
-    tgcxyview[ac] = new TH2F( ss.str().c_str(), (ss.str() + ";X [cm]; Y[cm]").c_str(),120,-1200,1200,120,-1200,1200 );//20cmx20cm cell
-    sc=tgcprd_shift_ac[ac]->regHist(tgcxyview[ac]) ;  
+    m_tgcxyview[ac] = new TH2F( ss.str().c_str(), (ss.str() + ";X [cm]; Y[cm]").c_str(),120,-1200,1200,120,-1200,1200 );//20cmx20cm cell
+    sc=tgcprd_shift_ac[ac]->regHist(m_tgcxyview[ac]) ;  
     if(sc.isFailure()) { 
       m_log << MSG::FATAL << ss.str() << "Failed to register histogram " << endmsg;       
       return sc;
@@ -91,8 +91,8 @@ TgcRawDataValAlg::bookHistogramsXYView(){
       for(int i=0;i<9;i++){
         int layer=i+1;
         ss.str(""); ss<<"XY_View_" << side[ac] <<"_Layer"<<layer;
-        tgcxyviewlayer[ac][i] = new TH2F(ss.str().c_str(), (ss.str() + ";X [cm]; Y [cm]").c_str(),120,-1200,1200,120,-1200,1200 );//20cmx20cm cell
-        sc=tgcprd_expert_ac[ac]->regHist(tgcxyviewlayer[ac][i]) ;  
+        m_tgcxyviewlayer[ac][i] = new TH2F(ss.str().c_str(), (ss.str() + ";X [cm]; Y [cm]").c_str(),120,-1200,1200,120,-1200,1200 );//20cmx20cm cell
+        sc=tgcprd_expert_ac[ac]->regHist(m_tgcxyviewlayer[ac][i]) ;  
         if(sc.isFailure()) { 
           m_log << MSG::FATAL << ss.str() <<" Failed to register histogram " << endmsg;       
           return sc;
@@ -101,7 +101,7 @@ TgcRawDataValAlg::bookHistogramsXYView(){
     }//Global monitoring
     else
       for(int i=0;i<9;i++){
-        tgcxyviewlayer[ac][i] = 0;
+        m_tgcxyviewlayer[ac][i] = 0;
       }
 
   }//loop over ac
@@ -153,11 +153,11 @@ TgcRawDataValAlg::fillXYView(){
               double Y=R*sin(Phi);
               
               if(l!=1)// exclude layer 2 (no strips) from overall histogram
-                tgcxyview[ac]->Fill(X,Y);
+                m_tgcxyview[ac]->Fill(X,Y);
               
               //histograms not for for Global Montioring
               if(m_environment!=AthenaMonManager::online)
-                tgcxyviewlayer[ac][l]->Fill(X,Y);
+                m_tgcxyviewlayer[ac][l]->Fill(X,Y);
             }// chamberPhiHits
           }// chamberRhoHits
         }// phiIndex
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/python/tests.py b/PhysicsAnalysis/TruthParticleID/McParticleTests/python/tests.py
index cb03722a24adfce1f131ed9362ba7cd6ee005551..7dcfc40902b25ab400f7390f456a70200d0aad0c 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/python/tests.py
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/python/tests.py
@@ -23,6 +23,7 @@ def makeGenEvents( genName    = "Pythia",
             raise err
         
         genAlg = Pythia(cfgGenName)
+        genAlg.Tune_Name='ATLAS_20110103'
         if genProcess == "Z+j":
             genAlg.PythiaCommand = [ "pysubs msel 13",
                                      "pysubs ckin 3 18.",
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadGenEvent_jobOptions.py b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadGenEvent_jobOptions.py
index 9b7f3a588b99d6ecfeba97fc23d300e34408f9ae..a4d9a69201530039648adacc5de13f67a644ec15 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadGenEvent_jobOptions.py
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadGenEvent_jobOptions.py
@@ -91,7 +91,7 @@ if DUMPTUPLE:
 # Output options
 #--------------------------------------------------------------
 from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
-outStream = AthenaPoolOutputStream("StreamEvGen")
+outStream = AthenaPoolOutputStream("StreamEvGen", noTag=True)
 outStream.ItemList  = [ "EventInfo#McEventInfo"]
 outStream.ItemList += [ "McEventCollection#GEN_EVENT" ]
 
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadTruthParticles_jobOptions.py b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadTruthParticles_jobOptions.py
index aedf45e6ee1a6c01c6fc54b897337d1914c68e8f..70f0314679aeba1b6c2a8dce7a94dad62b0fda72 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadTruthParticles_jobOptions.py
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_ReadTruthParticles_jobOptions.py
@@ -85,7 +85,7 @@ if DUMPTUPLE:
 # Output options
 #--------------------------------------------------------------
 from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
-outStream = AthenaPoolOutputStream("StreamAOD")
+outStream = AthenaPoolOutputStream("StreamAOD", noTag=True)
 import os
 outStream.OutputFile = os.path.join( \
     os.path.dirname(INPUT[0]),
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteGenEvent_jobOptions.py b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteGenEvent_jobOptions.py
index 8f91f919591cec2d8498b968f30e5a93225be9e9..85e3ca809f10ceb5c9a0e0a08cc6c4f833936109 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteGenEvent_jobOptions.py
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteGenEvent_jobOptions.py
@@ -96,7 +96,7 @@ if DUMPTUPLE:
 # Pool Persistency
 #---------------------------------------------------------------
 from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
-outStream = AthenaPoolOutputStream("StreamEvGen")
+outStream = AthenaPoolOutputStream("StreamEvGen", noTag=True)
 outStream.ItemList  = [ "EventInfo#McEventInfo"]
 outStream.ItemList += [ "McEventCollection#GEN_EVENT" ]
 
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteTruthParticles_jobOptions.py b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteTruthParticles_jobOptions.py
index be2d18086f3674ebb65d0cd752eedb2389cc7b76..97bda78591a427dda3f8883ac4e8cf110e59bee7 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteTruthParticles_jobOptions.py
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/iotest_WriteTruthParticles_jobOptions.py
@@ -123,7 +123,7 @@ if DUMPTUPLE:
 # Pool Persistency
 #---------------------------------------------------------------
 from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
-outStream = AthenaPoolOutputStream("StreamAOD")
+outStream = AthenaPoolOutputStream("StreamAOD", noTag=True)
 outStream.ItemList  = [ "EventInfo#McEventInfo" ]
 outStream.ItemList += [ "McEventCollection#GEN_EVENT" ]
 outStream.ItemList += [ "McEventCollection#GEN_AOD" ]
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/symlinkTest_mcAod_jobOptions.py b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/symlinkTest_mcAod_jobOptions.py
index 0056b2f0294d838065cdb0baa7c58c064e899997..d31e95e85666f36e465ddb0ce00ac5f564e4df0f 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/share/symlinkTest_mcAod_jobOptions.py
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/share/symlinkTest_mcAod_jobOptions.py
@@ -67,7 +67,7 @@ topSequence += McAodSymLinkTests( OutputLevel = DEBUG )
 # Pool Persistency
 #---------------------------------------------------------------
 from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
-outStream = AthenaPoolOutputStream("OutStream")
+outStream = AthenaPoolOutputStream("OutStream", noTag=True)
 outStream.ItemList  = [ "EventInfo#*"]
 outStream.ItemList += [ "McEventCollection#GEN_EVENT" ]
 outStream.ItemList += [ "TruthParticleContainer#SpclMC" ]
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.cxx
index 5afa6fe7cc56da6ebe6738e3b260d5c0b7193562..671334d89e458e0afa7e917dcb7c203c57b96fa2 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.cxx
@@ -37,9 +37,7 @@
 ////////////////
 McAodSymLinkTests::McAodSymLinkTests( const std::string& name, 
 				      ISvcLocator* pSvcLocator ) : 
-  AthAlgorithm( name, pSvcLocator ),
-  m_storeGate  ( "StoreGateSvc", name ),
-  m_msg        ( msgSvc(),       name )
+  AthAlgorithm( name, pSvcLocator )
 {
   //
   // Property declaration
@@ -57,77 +55,38 @@ McAodSymLinkTests::McAodSymLinkTests( const std::string& name,
 ///////////////
 McAodSymLinkTests::~McAodSymLinkTests()
 { 
-  m_msg << MSG::DEBUG << "Calling destructor" << endmsg;
+  ATH_MSG_DEBUG( "Calling destructor"  );
 }
 
 // Athena Algorithm's Hooks
 ////////////////////////////
 StatusCode McAodSymLinkTests::initialize()
 {
-  m_msg << MSG::INFO 
-	<< "Initializing " << name() << "..." 
-	<< endmsg;
-
-  // Get pointer to StoreGateSvc and cache it :
-  if ( !m_storeGate.retrieve().isSuccess() ) {
-    m_msg << MSG::ERROR 	
-	  << "Unable to retrieve pointer to StoreGateSvc"
-	  << endmsg;
-    return StatusCode::FAILURE;
-  }
-  
+  ATH_MSG_INFO( "Initializing " << name() << "..." );
   return StatusCode::SUCCESS;
 }
 
 StatusCode McAodSymLinkTests::finalize()
 {
-  m_msg << MSG::INFO 
-	<< "Finalizing " << name() << "..." 
-	<< endmsg;
-
+  ATH_MSG_INFO( "Finalizing " << name() << "..."  );
   return StatusCode::SUCCESS;
 }
 
 StatusCode McAodSymLinkTests::execute()
 {  
-  m_msg << MSG::DEBUG << "Executing " << name() << "..." 
-	<< endmsg;
+  ATH_MSG_DEBUG( "Executing " << name() << "..." );
 
   const TruthParticleContainer * mcParts = 0;
-  if ( !m_storeGate->retrieve( mcParts, 
-			       m_truthParticlesName.value() ).isSuccess() ||
-       0 == mcParts ) {
-    m_msg << MSG::ERROR
-	  << "Could not retrieve a TruthParticleContainer at ["
-	  << m_truthParticlesName.value()
-	  << "] !!"
-	  << endmsg;
-    return StatusCode::FAILURE;
-  }
+  ATH_CHECK( evtStore()->retrieve( mcParts, 
+                                   m_truthParticlesName.value()) );
 
   const IParticleContainer* iparts = 0;
-  if ( !m_storeGate->retrieve( iparts, 
-			       m_truthParticlesName.value() ).isSuccess() ||
-       0 == iparts ) {
-    m_msg << MSG::ERROR
-	  << "Could not retrieve an IParticleContainer at ["
-	  << m_truthParticlesName.value()
-	  << "] !!"
-	  << endmsg;
-    return StatusCode::FAILURE;
-  }
+  ATH_CHECK( evtStore()->retrieve( iparts, 
+                                   m_truthParticlesName.value()) );
   
   const INavigable4MomentumCollection* inav = 0;
-  if ( !m_storeGate->retrieve( inav, 
-			       m_truthParticlesName.value() ).isSuccess() ||
-       0 == inav ) {
-    m_msg << MSG::ERROR
-	  << "Could not retrieve an INavigable4MomentumCollection at ["
-	  << m_truthParticlesName.value()
-	  << "] !!"
-	  << endmsg;
-    return StatusCode::FAILURE;
-  }
+  ATH_CHECK( evtStore()->retrieve( inav, 
+                                   m_truthParticlesName.value()) );
   
   const std::size_t mcPartsSize = mcParts->size();
   const std::size_t ipartsSize  = iparts->size();
@@ -136,11 +95,10 @@ StatusCode McAodSymLinkTests::execute()
   if ( !( mcPartsSize == ipartsSize  &&
 	  mcPartsSize == inavSize    &&
 	  ipartsSize  == inavSize    ) ) {
-    m_msg << MSG::ERROR
-	  << "Symlinked containers do not have the same size !!" << endmsg
-	  << " TruthParticleContainer :        " << mcPartsSize << endmsg
-	  << " IParticleContainer :            " << ipartsSize  << endmsg
-	  << " INavigable4MomentumCollection : " << inavSize    << endmsg;
+    ATH_MSG_ERROR ("Symlinked containers do not have the same size !!");
+    ATH_MSG_ERROR (" TruthParticleContainer :        " << mcPartsSize);
+    ATH_MSG_ERROR (" IParticleContainer :            " << ipartsSize);
+    ATH_MSG_ERROR (" INavigable4MomentumCollection : " << inavSize);
     return StatusCode::FAILURE;
   }
 
@@ -152,13 +110,13 @@ StatusCode McAodSymLinkTests::execute()
     const double in_ene = (*inav)[i]->e();
     if ( ! ( (tp_ene - ip_ene) < eps &&
 	     (tp_ene - in_ene) < eps &&
-	     (ip_ene - in_ene) < eps ) ) {
-      m_msg << MSG::ERROR
-	    << "symlink FAILS at index [" << i << "]: " << endmsg
-	    << " TruthParticle::e(): " << tp_ene << endmsg
-	    << " IParticle::e():     " << ip_ene << endmsg
-	    << " INav4Mom::e():      " << in_ene << endmsg
-	    << " epsilon<double>:    " << eps << endmsg;
+	     (ip_ene - in_ene) < eps ) )
+    {
+      ATH_MSG_ERROR ("symlink FAILS at index [" << i << "]: ");
+      ATH_MSG_ERROR (" TruthParticle::e(): " << tp_ene);
+      ATH_MSG_ERROR (" IParticle::e():     " << ip_ene);
+      ATH_MSG_ERROR (" INav4Mom::e():      " << in_ene);
+      ATH_MSG_ERROR (" epsilon<double>:    " << eps);
       allGood = false;
     }
   }
@@ -167,7 +125,7 @@ StatusCode McAodSymLinkTests::execute()
   }
 
   // this string is needed for the unit-test
-  m_msg << MSG::INFO << "McAodSymLink tests OK" << endmsg;
+  ATH_MSG_INFO( "McAodSymLink tests OK"  );
 
   return StatusCode::SUCCESS;
 }
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.h b/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.h
index d31cab62339d85b2de87500534604999fc34adf3..d9f0d1ed1d4b62d3f765e46c1e30a7f2b39d94c4 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodSymLinkTests.h
@@ -72,14 +72,6 @@ class McAodSymLinkTests : public AthAlgorithm
   // Private data: 
   /////////////////////////////////////////////////////////////////// 
  private: 
-
-  typedef ServiceHandle<StoreGateSvc> StoreGateSvc_t;
-  /// Pointer to StoreGate
-  StoreGateSvc_t m_storeGate;
-
-  /// MsgStream instance (a std::cout like with print-out levels)
-  MsgStream m_msg;
-
   // Containers
 
   /// Input location of the @c TruthParticleContainer
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/test/mc.aod.symlinks.ref b/PhysicsAnalysis/TruthParticleID/McParticleTests/test/mc.aod.symlinks.ref
index 30cc7c309d8ebdbf6b2042b063c22b02de6b2bf2..040be2d1d5f74d41e34ae2e3a4aa31e3297ab1c4 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/test/mc.aod.symlinks.ref
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/test/mc.aod.symlinks.ref
@@ -1,4 +1,8 @@
+McAodSymLinkTests   DEBUG Property update for OutputLevel : new value = 2
 McAodSymLinkTests    INFO Initializing McAodSymLinkTests...
+McAodSymLinkTests   DEBUG input handles: 0
+McAodSymLinkTests   DEBUG output handles: 0
+McAodSymLinkTests   DEBUG Data Deps for McAodSymLinkTests
 McAodSymLinkTests   DEBUG Executing McAodSymLinkTests...
 McAodSymLinkTests    INFO McAodSymLink tests OK
 McAodSymLinkTests   DEBUG Executing McAodSymLinkTests...
@@ -11,3 +15,4 @@ McAodSymLinkTests   DEBUG Executing McAodSymLinkTests...
 McAodSymLinkTests    INFO McAodSymLink tests OK
 McAodSymLinkTests    INFO Finalizing McAodSymLinkTests...
 McAodSymLinkTests   DEBUG Calling destructor
+McAodSymLinkTests   DEBUG Calling destructor
diff --git a/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx b/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx
index f2126afcbbcf6a03ba5d676eab2ce28bc4dfd950..9b0c4d02cacece28e28c6c0fd4f9733b29ffe934 100755
--- a/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx
+++ b/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx
@@ -1960,6 +1960,12 @@ CombinedMuonTrackBuilder::standaloneRefit (const Trk::Track&	combinedTrack,
 //
     
     countAEOTs(&combinedTrack," in standalone Refit input combinedTrack ");
+
+    if (!m_magFieldSvc->toroidOn()) {
+      // no standalone refit for Toroid off
+      return 0;
+    }
+
     if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " StandaloneRefit beam position bs_x " << bs_x << " bs_y " << bs_y << " bs_z " << bs_z << endmsg; 
 
 // vertex will change track by track
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
index 6b54c1ff9d5a3dc0993a029ced3ea99124012dbd..b7d0e15819d274c53aee9c7583f5212c4ab65bb5 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
@@ -1057,18 +1057,33 @@ namespace MuonCombined {
 	  }
 	}
 	else{ //no refitted track, so add original un-refitted extrapolated track as ME track
-	  ElementLink<xAOD::TrackParticleContainer> link = createTrackParticleElementLink( std::unique_ptr<const Trk::Track>(extrapolatedTrack),
-											   *outputData.extrapolatedTrackParticleContainer,
-											   outputData.extrapolatedTrackCollection );
+	  if(muon.author()==xAOD::Muon::MuGirl && muon.extrapolatedMuonSpectrometerTrackParticleLink().isValid()){
+	    //MuGirl case: ME track is already set, but now we have the extrapolated track from the STACO tag
+	    //add this as the MS-only extrapolated track instead
+	    ElementLink<xAOD::TrackParticleContainer> link = createTrackParticleElementLink( std::unique_ptr<const Trk::Track>(extrapolatedTrack),
+											     *outputData.msOnlyExtrapolatedTrackParticleContainer,
+											     outputData.msOnlyExtrapolatedTrackCollection );
 
-	  if( link.isValid() ) {
-	    ATH_MSG_DEBUG("Adding standalone fit (un-refitted): pt " << (*link)->pt() << " eta " << (*link)->eta() << " phi " << (*link)->phi() );
-	    //link.toPersistent();
-	    muon.setTrackParticleLink(xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle, link );
-	    float fieldInt=m_trackQuery->fieldIntegral(*extrapolatedTrack).betweenSpectrometerMeasurements();
-	    muon.setParameter(fieldInt,xAOD::Muon::spectrometerFieldIntegral);
-            int nunspoiled=extrapolatedTrack->trackSummary()->get(Trk::numberOfCscUnspoiltEtaHits);
-	    muon.auxdata<int>("nUnspoiledCscHits")=nunspoiled;
+	    if( link.isValid() ) {
+	      ATH_MSG_DEBUG("Adding MS-only extrapolated track to MuGirl muon: pt " << (*link)->pt() << " eta " << (*link)->eta() << " phi " << (*link)->phi() );
+	      //link.toPersistent();                                                                                                                                              
+	      muon.setTrackParticleLink(xAOD::Muon::MSOnlyExtrapolatedMuonSpectrometerTrackParticle, link );
+	      float fieldInt=m_trackQuery->fieldIntegral(*extrapolatedTrack).betweenSpectrometerMeasurements();
+	      muon.setParameter(fieldInt,xAOD::Muon::spectrometerFieldIntegral);
+	    }
+	  }
+	  else{
+	    ElementLink<xAOD::TrackParticleContainer> link = createTrackParticleElementLink( std::unique_ptr<const Trk::Track>(extrapolatedTrack),
+											     *outputData.extrapolatedTrackParticleContainer,
+											     outputData.extrapolatedTrackCollection );
+	    
+	    if( link.isValid() ) {
+	      ATH_MSG_DEBUG("Adding standalone fit (un-refitted): pt " << (*link)->pt() << " eta " << (*link)->eta() << " phi " << (*link)->phi() );
+	      //link.toPersistent();
+	      muon.setTrackParticleLink(xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle, link );
+	      float fieldInt=m_trackQuery->fieldIntegral(*extrapolatedTrack).betweenSpectrometerMeasurements();
+	      muon.setParameter(fieldInt,xAOD::Muon::spectrometerFieldIntegral);
+	    }
 	  }
 	}
       }
diff --git a/Reconstruction/eflowRec/eflowRec/eflowCellLevelSubtractionTool.h b/Reconstruction/eflowRec/eflowRec/eflowCellLevelSubtractionTool.h
index 7ba49959baf537f56d31a8018ef7bf742ff3466f..a798da7716a57f2207e5150d083dedf01c1039cc 100644
--- a/Reconstruction/eflowRec/eflowRec/eflowCellLevelSubtractionTool.h
+++ b/Reconstruction/eflowRec/eflowRec/eflowCellLevelSubtractionTool.h
@@ -52,6 +52,8 @@ public:
 
  private:
 
+  void calculateRadialEnergyProfiles();
+  void calculateAverageEnergyDensity();
   void performSubtraction();
   bool runInGoldenMode() { return ((m_goldenModeString == "golden1") || (m_goldenModeString == "golden2")); }
   bool isEOverPFail(double expectedEnergy, double sigma, double clusterEnergy, bool consistencySigmaCut, bool useGoldenMode);
diff --git a/Reconstruction/eflowRec/eflowRec/eflowCellList.h b/Reconstruction/eflowRec/eflowRec/eflowCellList.h
index bb6d90860fff25994c04efe7d5efbbc53648c156..5620e3dd187ca735df19979786423f5d3f4f7caa 100644
--- a/Reconstruction/eflowRec/eflowRec/eflowCellList.h
+++ b/Reconstruction/eflowRec/eflowRec/eflowCellList.h
@@ -48,6 +48,8 @@ class eflowCellList : public eflowAbstractCellList{
     
   CellIt getLowerBound(eflowCaloENUM layer, double r)        { return m_cellPositionToCellMap.lower_bound( eflowCellPosition(this, layer, r) );}
 
+  CellIt find(eflowCaloENUM layer, double r) { return m_cellPositionToCellMap.find( eflowCellPosition(this, layer, r) );}
+
   int mapSize ()                                   { return m_cellPositionToCellMap.size();}
   void deleteFromList(CellIt& start, CellIt& end)  { m_cellPositionToCellMap.erase(start, end);}
   void deleteFromList(CellIt& it)                  { m_cellPositionToCellMap.erase(it);}
diff --git a/Reconstruction/eflowRec/eflowRec/eflowEEtaBinnedParameters.h b/Reconstruction/eflowRec/eflowRec/eflowEEtaBinnedParameters.h
index df93d8095738ef807d7f2764d1bf976f7785514d..7dd57146c56fc0589bc6aec55d31aa30dea31637 100644
--- a/Reconstruction/eflowRec/eflowRec/eflowEEtaBinnedParameters.h
+++ b/Reconstruction/eflowRec/eflowRec/eflowEEtaBinnedParameters.h
@@ -31,10 +31,6 @@ class eflowParameters {
  public:
 
   eflowParameters() {
-    m_thickness.reserve(eflowCalo::nRegions);
-    for (int i = 0; i < eflowCalo::nRegions; i++) {
-      m_thickness.push_back(0.0);
-    }
     int nSubtRegions = eflowFirstIntRegions::nRegions;
     m_FirstIntParameters.resize(nSubtRegions);
     for (int i = 0; i < nSubtRegions; i++) {
@@ -49,13 +45,6 @@ class eflowParameters {
     }
   }
 
-  double getRingThickness(eflowCaloENUM layer) const {
-    return (eflowCalo::Unknown != layer) ? m_thickness[layer] : eflowEEtaBinBase::getErrorReturnValue();
-  }
-
-  void setRingThickness(eflowCaloENUM layer, double thickness) {
-    if (eflowCalo::Unknown != layer) m_thickness[layer] = thickness;
-  }
   const eflowFirstIntParameters* getFirstIntBin(eflowFirstIntENUM j1st) const {
     return (eflowFirstIntRegions::Unknown != j1st) ? m_FirstIntParameters[j1st] : 0;
   }
@@ -65,7 +54,6 @@ class eflowParameters {
 
 
  private:
-  std::vector<double> m_thickness;
   std::vector<eflowFirstIntParameters*> m_FirstIntParameters;
 };
 
@@ -81,12 +69,6 @@ class eflowEEtaBinnedParameters :  public eflowEEtaBinBase {
   /* for eflowTauTool */
   bool getOrdering(eflowRingSubtractionManager& subtMan, double e, double eta, eflowFirstIntENUM j1st) const;
 
-  /* Set data - invoked by e/p tool */
-  void setRingThickness(int energyBin, int etaBin, eflowCaloENUM ringNo, double thickness) {
-    if (m_bins[energyBin][etaBin]) {
-      m_bins[energyBin][etaBin]->setRingThickness(ringNo, thickness);
-    }
-  }
   void setFudgeMean(int energyBin, int etaBin, eflowFirstIntENUM j1st, double fudgeMean) {
     if (m_bins[energyBin][etaBin]) {
       eflowFirstIntParameters* j1stBin = m_bins[energyBin][etaBin]->getFirstIntBin(j1st);
diff --git a/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h b/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h
index 0f6199366590d4e8b77d982366bf27c545992944..7601773a28d26d6aae2b1a812dbc8b3ece5d2cc6 100644
--- a/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h
+++ b/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h
@@ -81,7 +81,21 @@ public:
   double getVarEExpect() const { return m_varEExpect; }
   int getTrackId() const { return m_trackId; }
   void setTrackId(int trackId) { m_trackId = trackId; }
-
+  
+  
+  int getLayerHED() const { return m_layerHED; }
+  void setLayerHED(int layerHED) { m_layerHED = layerHED; }
+  
+  std::vector<int> getLayerCellOrderVector() const { return m_layerCellOrderVector; }
+  void setLayerCellOrderVector(std::vector<int> layerToStoreVector) { m_layerCellOrderVector = layerToStoreVector; }
+  
+  std::vector<float> getRadiusCellOrderVector() const { return m_radiusCellOrderVector; }
+  void setRadiusCellOrderVector(std::vector<float> radiusToStoreVector) { m_radiusCellOrderVector = radiusToStoreVector; }
+  
+  std::vector<float> getAvgEDensityCellOrderVector() const { return m_avgEdensityCellOrderVector; }
+  void setAvgEDensityCellOrderVector(std::vector<float> avgEdensityToStoreVector) { m_avgEdensityCellOrderVector = avgEdensityToStoreVector; }
+  
+  
   bool isInDenseEnvironment() const { return m_isInDenseEnvironment;}
   void setIsInDenseEnvironment() { m_isInDenseEnvironment = true; }
   
@@ -95,6 +109,16 @@ private:
   const xAOD::TrackParticle* m_track;
   int m_type;
   double m_pull15;
+  
+  int m_layerHED;
+  std::vector<int> m_layerCellOrderVector;
+  std::vector<float> m_radiusCellOrderVector;
+  std::vector<float> m_avgEdensityCellOrderVector;
+//   int m_layerCellOrder;
+//   float m_radiusCellOrder;
+// 
+//   float m_avgEdensityCellOrder;
+  
 
   double m_eExpect;
   double m_varEExpect;
@@ -105,6 +129,9 @@ private:
 
   std::vector<double> m_caloDepthArray;
 
+
+//create new class -- link from here, e.g.
+// eflowCellOrderingParameters* m_cellOrderingParameters;
   eflowTrackCaloPoints* m_trackCaloPoints;
   eflowRingSubtractionManager m_ringSubtractionManager;
   std::vector<eflowTrackClusterLink*> m_clusterMatches;
diff --git a/Reconstruction/eflowRec/eflowRec/eflowRingThicknesses.h b/Reconstruction/eflowRec/eflowRec/eflowRingThicknesses.h
new file mode 100644
index 0000000000000000000000000000000000000000..0b5b61e091e998fd351a6cc29378925c2a938e36
--- /dev/null
+++ b/Reconstruction/eflowRec/eflowRec/eflowRingThicknesses.h
@@ -0,0 +1,15 @@
+/*   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */
+
+#ifndef EFLOWRINGTHICKNESSES_H
+#define EFLOWRINGTHICKNESSES_H
+
+#include "eflowRec/eflowCaloRegions.h"
+
+class eflowRingThicknesses { 
+
+public:
+   double ringThickness(const eflowCaloENUM& layer) const;   
+
+};
+
+#endif
diff --git a/Reconstruction/eflowRec/eflowRec/eflowSubtractor.h b/Reconstruction/eflowRec/eflowRec/eflowSubtractor.h
index 94558b04fb331605734216172e46a2450917d197..4eeaf692999f672eedd835b38a72be047fbbac70 100644
--- a/Reconstruction/eflowRec/eflowRec/eflowSubtractor.h
+++ b/Reconstruction/eflowRec/eflowRec/eflowSubtractor.h
@@ -38,9 +38,6 @@ public:
   static void subtractTracksFromClusters(eflowRecTrack* efRecTrack, std::vector<xAOD::CaloCluster*> clusterSubtractionList);
   static void annihilateClusters(std::vector<xAOD::CaloCluster*>& clusters);
   static void annihilateCluster(xAOD::CaloCluster* cluster);
-
-private:
-
   static void makeOrderedCellList(const eflowTrackCaloPoints& trackCalo, const std::vector<xAOD::CaloCluster*>& clusters, eflowCellList & orderedCells);
 
 };
diff --git a/Reconstruction/eflowRec/src/eflowCaloObject.cxx b/Reconstruction/eflowRec/src/eflowCaloObject.cxx
index 045709c4bdfaeeeb67781703f6fd979830cde2dc..622c74e81ae68592fed7aef4f25f33e6f5c8cc5a 100644
--- a/Reconstruction/eflowRec/src/eflowCaloObject.cxx
+++ b/Reconstruction/eflowRec/src/eflowCaloObject.cxx
@@ -76,6 +76,9 @@ void eflowCaloObject::simulateShower(eflowLayerIntegrator *integrator, eflowEEta
     /* Determine the LFI */
     integrator->measureNewClus(matchedClusters, thisEfRecTrack);
     eflowFirstIntENUM j1st = integrator->getFirstIntLayer();
+    
+    /*Save j1st info */
+    thisEfRecTrack->setLayerHED(j1st);
 
     /* Get parameters for j1st */
     eflowRingSubtractionManager& cellSubtractionManager = thisEfRecTrack->getCellSubtractionManager();
diff --git a/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_JetETMiss.cxx b/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_JetETMiss.cxx
index 9a128fc851ce5182de256c2ae22f72c481335669..4ea723a7072f33c2285515864acedbf16c0350a3 100644
--- a/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_JetETMiss.cxx
+++ b/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_JetETMiss.cxx
@@ -45,21 +45,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta050bin, eflowFirstIntRegions::EMB1, 0.349639);
     binnedParameters->setFudgeStdDev( E001bin, eta050bin, eflowFirstIntRegions::EMB1, 0.227121);
@@ -202,21 +187,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta100bin, eflowFirstIntRegions::EMB1, 0.335748);
     binnedParameters->setFudgeStdDev( E001bin, eta100bin, eflowFirstIntRegions::EMB1, 0.202103);
@@ -335,21 +305,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta150bin, eflowFirstIntRegions::EMB1, 0.308497);
     binnedParameters->setFudgeStdDev( E001bin, eta150bin, eflowFirstIntRegions::EMB1, 0.229612);
@@ -468,21 +423,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta250bin, eflowFirstIntRegions::EMB1, 0.364727);
     binnedParameters->setFudgeStdDev( E001bin, eta250bin, eflowFirstIntRegions::EMB1, 0.190818);
@@ -589,21 +529,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.433083);
     binnedParameters->setFudgeStdDev( E003point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.239859);
@@ -758,21 +683,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.412345);
     binnedParameters->setFudgeStdDev( E003point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.240492);
@@ -923,21 +833,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.353851);
     binnedParameters->setFudgeStdDev( E003point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.217916);
@@ -1112,20 +1007,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
 
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta250bin, eflowFirstIntRegions::EMB1, 0.294921);
@@ -1329,21 +1210,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta050bin, eflowFirstIntRegions::EMB1, 0.6028);
     binnedParameters->setFudgeStdDev( E010bin, eta050bin, eflowFirstIntRegions::EMB1, 0.168412);
@@ -1498,20 +1364,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
 
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta100bin, eflowFirstIntRegions::EMB1, 0.575094);
@@ -1663,21 +1515,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta150bin, eflowFirstIntRegions::EMB1, 0.518462);
     binnedParameters->setFudgeStdDev( E010bin, eta150bin, eflowFirstIntRegions::EMB1, 0.204006);
@@ -1896,21 +1733,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta250bin, eflowFirstIntRegions::EMB1, 0.407057);
     binnedParameters->setFudgeStdDev( E010bin, eta250bin, eflowFirstIntRegions::EMB1, 0.315755);
@@ -2145,21 +1967,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta050bin, eflowFirstIntRegions::EMB1, 0.685641);
     binnedParameters->setFudgeStdDev( E020bin, eta050bin, eflowFirstIntRegions::EMB1, 0.129938);
@@ -2314,21 +2121,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta100bin, eflowFirstIntRegions::EMB1, 0.65136);
     binnedParameters->setFudgeStdDev( E020bin, eta100bin, eflowFirstIntRegions::EMB1, 0.142382);
@@ -2483,21 +2275,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta150bin, eflowFirstIntRegions::EMB1, 0.601511);
     binnedParameters->setFudgeStdDev( E020bin, eta150bin, eflowFirstIntRegions::EMB1, 0.154104);
@@ -2720,20 +2497,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
 
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta250bin, eflowFirstIntRegions::EMB1, 0.432497);
@@ -2941,21 +2704,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.727417);
     binnedParameters->setFudgeStdDev( E032point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.121505);
@@ -3110,21 +2858,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.702035);
     binnedParameters->setFudgeStdDev( E032point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.123171);
@@ -3279,21 +3012,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.660859);
     binnedParameters->setFudgeStdDev( E032point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.136627);
@@ -3516,21 +3234,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta250bin, eflowFirstIntRegions::EMB1, 0.610734);
     binnedParameters->setFudgeStdDev( E032point5bin, eta250bin, eflowFirstIntRegions::EMB1, 0.201675);
@@ -3741,21 +3444,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta050bin, eflowFirstIntRegions::EMB1, 0.758746);
     binnedParameters->setFudgeStdDev( E040bin, eta050bin, eflowFirstIntRegions::EMB1, 0.0998904);
@@ -3886,21 +3574,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta100bin, eflowFirstIntRegions::EMB1, 0.722937);
     binnedParameters->setFudgeStdDev( E040bin, eta100bin, eflowFirstIntRegions::EMB1, 0.104426);
@@ -4055,21 +3728,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta150bin, eflowFirstIntRegions::EMB1, 0.706501);
     binnedParameters->setFudgeStdDev( E040bin, eta150bin, eflowFirstIntRegions::EMB1, 0.109894);
@@ -4296,21 +3954,6 @@ StatusCode eflowCellEOverPTool_mc12_JetETMiss::execute(eflowEEtaBinnedParameters
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta250bin, eflowFirstIntRegions::EMB1, 0.656913);
     binnedParameters->setFudgeStdDev( E040bin, eta250bin, eflowFirstIntRegions::EMB1, 0.145079);
diff --git a/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_LC.cxx b/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_LC.cxx
index 0a776b70300d3321b2a4ec5f24f0e977abaa1dd9..2024273ab28d53a3f58f3dd3bc6e581b7e1a9907 100644
--- a/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_LC.cxx
+++ b/Reconstruction/eflowRec/src/eflowCellEOverPTool_mc12_LC.cxx
@@ -49,21 +49,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta050bin, eflowFirstIntRegions::EMB1, 0.582043);
     binnedParameters->setFudgeStdDev( E001bin, eta050bin, eflowFirstIntRegions::EMB1, 0.343399);
@@ -194,21 +179,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta100bin, eflowFirstIntRegions::EMB1, 0.577237);
     binnedParameters->setFudgeStdDev( E001bin, eta100bin, eflowFirstIntRegions::EMB1, 0.344763);
@@ -331,21 +301,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta150bin, eflowFirstIntRegions::EMB1, 0.573727);
     binnedParameters->setFudgeStdDev( E001bin, eta150bin, eflowFirstIntRegions::EMB1, 0.410339);
@@ -444,21 +399,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E001bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E001bin, eta250bin, eflowFirstIntRegions::EMB1, 1.33643);
     binnedParameters->setFudgeStdDev( E001bin, eta250bin, eflowFirstIntRegions::EMB1, 1.3973);
@@ -533,21 +473,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.473697);
     binnedParameters->setFudgeStdDev( E003point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.444885);
@@ -698,21 +623,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.412662);
     binnedParameters->setFudgeStdDev( E003point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.522697);
@@ -863,21 +773,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.261618);
     binnedParameters->setFudgeStdDev( E003point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.536245);
@@ -1036,21 +931,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E003point5bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E003point5bin, eta250bin, eflowFirstIntRegions::EMB1, 0.834378);
     binnedParameters->setFudgeStdDev( E003point5bin, eta250bin, eflowFirstIntRegions::EMB1, 0.470151);
@@ -1281,21 +1161,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta050bin, eflowFirstIntRegions::EMB1, 0.805954);
     binnedParameters->setFudgeStdDev( E010bin, eta050bin, eflowFirstIntRegions::EMB1, 0.210869);
@@ -1450,21 +1315,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta100bin, eflowFirstIntRegions::EMB1, 0.822914);
     binnedParameters->setFudgeStdDev( E010bin, eta100bin, eflowFirstIntRegions::EMB1, 0.234562);
@@ -1619,21 +1469,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta150bin, eflowFirstIntRegions::EMB1, 0.806748);
     binnedParameters->setFudgeStdDev( E010bin, eta150bin, eflowFirstIntRegions::EMB1, 0.294017);
@@ -1848,21 +1683,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E010bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E010bin, eta250bin, eflowFirstIntRegions::EMB1, 0.185898);
     binnedParameters->setFudgeStdDev( E010bin, eta250bin, eflowFirstIntRegions::EMB1, 0.256079);
@@ -2109,21 +1929,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta050bin, eflowFirstIntRegions::EMB1, 0.885113);
     binnedParameters->setFudgeStdDev( E020bin, eta050bin, eflowFirstIntRegions::EMB1, 0.135815);
@@ -2278,21 +2083,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta100bin, eflowFirstIntRegions::EMB1, 0.898259);
     binnedParameters->setFudgeStdDev( E020bin, eta100bin, eflowFirstIntRegions::EMB1, 0.145855);
@@ -2447,21 +2237,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta150bin, eflowFirstIntRegions::EMB1, 0.861481);
     binnedParameters->setFudgeStdDev( E020bin, eta150bin, eflowFirstIntRegions::EMB1, 0.198084);
@@ -2672,21 +2447,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E020bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E020bin, eta250bin, eflowFirstIntRegions::EMB1, 0.514981);
     binnedParameters->setFudgeStdDev( E020bin, eta250bin, eflowFirstIntRegions::EMB1, 2.47178);
@@ -2917,21 +2677,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.926065);
     binnedParameters->setFudgeStdDev( E032point5bin, eta050bin, eflowFirstIntRegions::EMB1, 0.101858);
@@ -3086,21 +2831,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.925316);
     binnedParameters->setFudgeStdDev( E032point5bin, eta100bin, eflowFirstIntRegions::EMB1, 0.117108);
@@ -3255,21 +2985,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.889943);
     binnedParameters->setFudgeStdDev( E032point5bin, eta150bin, eflowFirstIntRegions::EMB1, 0.152788);
@@ -3488,21 +3203,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E032point5bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E032point5bin, eta250bin, eflowFirstIntRegions::EMB1, 0.025);
     binnedParameters->setFudgeStdDev( E032point5bin, eta250bin, eflowFirstIntRegions::EMB1, 0);
@@ -3729,21 +3429,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0 <= eta <  0.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta050bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta050bin, eflowFirstIntRegions::EMB1, 0.699743);
     binnedParameters->setFudgeStdDev( E040bin, eta050bin, eflowFirstIntRegions::EMB1, 0.243212);
@@ -3878,21 +3563,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      0.5 <= eta <  1.0   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta100bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta100bin, eflowFirstIntRegions::EMB1, 0.694476);
     binnedParameters->setFudgeStdDev( E040bin, eta100bin, eflowFirstIntRegions::EMB1, 0.300924);
@@ -4047,21 +3717,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.0 <= eta <  1.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta150bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta150bin, eflowFirstIntRegions::EMB1, 0.847849);
     binnedParameters->setFudgeStdDev( E040bin, eta150bin, eflowFirstIntRegions::EMB1, 1.46915);
@@ -4272,21 +3927,6 @@ StatusCode eflowCellEOverPTool_mc12_LC::execute(eflowEEtaBinnedParameters *binne
     //      1.5 <= eta <  2.5   //
     ////////////////////////////
 
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EMB1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EMB2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EMB3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EME1, 0.0491122 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EME2, 0.0175171 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::EME3, 0.0278496 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC3, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::HEC4, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::Tile1, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::Tile2, 0.0700683 );
-    binnedParameters->setRingThickness( E040bin, eta250bin, eflowCalo::Tile3, 0.111398 );
-
-
    // j1st = EMB1
     binnedParameters->setFudgeMean( E040bin, eta250bin, eflowFirstIntRegions::EMB1, 0.287762);
     binnedParameters->setFudgeStdDev( E040bin, eta250bin, eflowFirstIntRegions::EMB1, 0.833945);
diff --git a/Reconstruction/eflowRec/src/eflowCellLevelSubtractionTool.cxx b/Reconstruction/eflowRec/src/eflowCellLevelSubtractionTool.cxx
index 177cbca2bf4a4f0a3220bbc5cb91077597ac3bf6..871d6bffab2e84dc1b8385be44907ea33c081ea2 100644
--- a/Reconstruction/eflowRec/src/eflowCellLevelSubtractionTool.cxx
+++ b/Reconstruction/eflowRec/src/eflowCellLevelSubtractionTool.cxx
@@ -11,6 +11,9 @@ PACKAGE:  offline/Reconstruction/eflowRec
 AUTHORS:  M.Hodgkinson
 CREATED:  25th January, 2005
 
+AUTHOR: A.Hostiuc
+UPDATED: May 29th, 2017
+
 ********************************************************************/
 
 #include "eflowRec/eflowCellLevelSubtractionTool.h"
@@ -29,12 +32,15 @@ CREATED:  25th January, 2005
 #include "eflowRec/eflowRingSubtractionManager.h"
 #include "eflowRec/eflowCellSubtractionFacilitator.h"
 #include "eflowRec/eflowSubtractor.h"
+#include "eflowRec/eflowRingThicknesses.h"
 
 #include "CaloEvent/CaloCluster.h"
 
 #include "xAODCaloEvent/CaloCluster.h"
 #include "xAODCaloEvent/CaloClusterKineHelper.h"
 
+#include "xAODPFlow/PFO.h"
+
 #include "eflowRec/eflowCaloObject.h"
 #include "eflowRec/eflowCaloObjectMaker.h"
 #include "GaudiKernel/MsgStream.h"
@@ -121,18 +127,27 @@ StatusCode eflowCellLevelSubtractionTool::initialize(){
 
 void eflowCellLevelSubtractionTool::execute(eflowCaloObjectContainer* theEflowCaloObjectContainer, eflowRecTrackContainer* recTrackContainer, eflowRecClusterContainer* recClusterContainer) {
 
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Executing eflowCellLevelSubtractionTool" << endmsg;
+  if (msgLvl(MSG::INFO)) msg(MSG::INFO) << "Executing eflowCellLevelSubtractionTool" << endmsg;
 
   m_eflowCaloObjectContainer = theEflowCaloObjectContainer;
   m_eflowTrackContainer = recTrackContainer;
   m_eflowClusterContainer = recClusterContainer;
 
+
   /* Add each track to its best matching cluster's eflowCaloObject */
   matchAndCreateEflowCaloObj(m_nMatchesInCellLevelSubtraction);
 
   if (msgLvl(MSG::DEBUG)) printAllClusters(recClusterContainer);
 
-  performSubtraction();
+
+  /* Check e/p mode - only perform subtraction if not in this mode */
+  if (!m_calcEOverP) {performSubtraction();}
+
+   
+  /* Check e/p mode - only perform radial profiles calculations if in this mode */
+  if (m_calcEOverP) {calculateRadialEnergyProfiles();}
+
+
 }
 
 int eflowCellLevelSubtractionTool::matchAndCreateEflowCaloObj(int n) {
@@ -186,17 +201,172 @@ int eflowCellLevelSubtractionTool::matchAndCreateEflowCaloObj(int n) {
   return nMatches;
 }
 
-void eflowCellLevelSubtractionTool::performSubtraction() {
+void eflowCellLevelSubtractionTool::calculateRadialEnergyProfiles(){
+
+  msg(MSG::DEBUG)  << "Accessed radial energy profile function" << std::endl;
+
   unsigned int nEFCaloObs = m_eflowCaloObjectContainer->size();
+  
   for (unsigned int iEFCalOb = 0; iEFCalOb < nEFCaloObs; ++iEFCalOb) {
+  
     eflowCaloObject* thisEflowCaloObject = m_eflowCaloObjectContainer->at(iEFCalOb);
-    /* Check e/p mode */
-    if (m_calcEOverP) {
-      continue;
+    
+    unsigned int nClusters = thisEflowCaloObject->nClusters();
+    
+    if (nClusters < 1) {
+    continue;
+    }
+    
+    const std::vector<eflowTrackClusterLink*>& matchedTrackList = thisEflowCaloObject->efRecLink();
+
+    int nTrackMatches = thisEflowCaloObject->nTracks();
+    
+    for (int iTrack = 0; iTrack < nTrackMatches; ++iTrack) {
+
+        eflowRecTrack* efRecTrack = matchedTrackList[iTrack]->getTrack();
+        
+        std::vector<eflowRecCluster*> matchedClusters;
+        matchedClusters.clear();
+        std::vector<eflowTrackClusterLink*> links = efRecTrack->getClusterMatches();
+        std::vector<eflowTrackClusterLink*>::iterator itLink = links.begin();
+        std::vector<eflowTrackClusterLink*>::iterator endLink = links.end();
+        
+        for (; itLink != endLink; ++itLink) {
+          matchedClusters.push_back((*itLink)->getCluster());
+        }
+        
+        std::vector<xAOD::CaloCluster*> clusterSubtractionList;
+        std::vector<eflowRecCluster*>::const_iterator itCluster = matchedClusters.begin();
+        std::vector<eflowRecCluster*>::const_iterator endCluster = matchedClusters.end();
+        for (; itCluster != endCluster; ++itCluster) {
+          clusterSubtractionList.push_back(
+              (*itCluster)->getClusterForModification(eflowCaloObject::getClusterContainerPtr()));
+        }
+
+	eflowCellList calorimeterCellList;
+	Subtractor::makeOrderedCellList(efRecTrack->getTrackCaloPoints(),clusterSubtractionList,calorimeterCellList);
+    
+	eflowRingThicknesses ringThicknessGenerator;
+
+    std::vector<int> layerToStoreVector;
+    std::vector<float> radiusToStoreVector;
+    std::vector<float> avgEdensityToStoreVector;
+	
+	for (int i=0; i < eflowCalo::nRegions ;i++){
+	
+        eflowCaloENUM layer = (eflowCaloENUM)i;
+        msg(MSG::DEBUG)  <<"layer is "<<layer<<std::endl;
+        double ringThickness = ringThicknessGenerator.ringThickness((eflowCaloENUM)i);
+        msg(MSG::DEBUG)  <<"ring thickness is "<<ringThickness<<std::endl;
+        
+        double eta_extr = calorimeterCellList.etaFF(layer);
+        msg(MSG::DEBUG)  <<"extrapolated eta ["<<layer<<"] is "<<eta_extr<<std::endl;
+        double phi_extr = calorimeterCellList.phiFF(layer);
+        msg(MSG::DEBUG)  <<"extrapolated phi ["<<layer<<"] is "<<phi_extr<<std::endl;
+    
+        if (eta_extr == -999.0){
+            continue;
+        }
+        
+          int indexofRing = 0;
+          int layerToStore = -999;
+
+          double radiusToStore = 0;
+          double totalEnergyPerCell = 0;
+      
+          int indexofCell = 0;
+          double energyDensityPerCell = -666;
+          double totalEnergyPerRing = 0;
+
+          double cellVolume = 0;
+          int totalCells = 0;
+              
+          int n;
+          /* 100 is chosen as a number higher than the number of cells found in a normal list */
+          for (n=1; n<100; n++){
+        
+              CellIt beginRing = calorimeterCellList.getLowerBound((eflowCaloENUM)i, ringThickness*(n-1));
+
+               if(beginRing == calorimeterCellList.end()){
+                   break;
+                }
+        
+              indexofRing += 1;
+              std::vector<std::pair<CaloCell*,int> > tempVector = (*beginRing).second;
+              std::vector<std::pair<CaloCell*,int> >::iterator firstPair = tempVector.begin();
+              std::vector<std::pair<CaloCell*,int> >::iterator lastPair = tempVector.end();
+      
+              int totalCellsinRing = 0;
+              double energyDensityPerRing = 0;
+              double averageEnergyDensityPerRing = 0;
+      
+              for (; firstPair != lastPair; ++firstPair) {
+                    const CaloDetDescrElement* DDE = ((*firstPair).first)->caloDDE();
+                    CaloCell_ID::CaloSample sampling = DDE->getSampling();
+                    
+                    msg(MSG::DEBUG)  << " cell eta and phi are " << ((*firstPair).first)->eta() << " and " << ((*firstPair).first)->phi() << " with index " << (*firstPair).second << " and sampling of " << sampling << std::endl;
+                    msg(MSG::DEBUG)  << " cell energy is " << ((*firstPair).first)->energy()<<std::endl;
+                
+                    totalCells += 1;
+                    totalCellsinRing += 1;
+        
+                    totalEnergyPerRing += ((*firstPair).first)->energy();
+                    totalEnergyPerCell = ((*firstPair).first)->energy();
+                    msg(MSG::DEBUG)  << " Total E per Cell is " << totalEnergyPerCell<<std::endl;
+                    msg(MSG::DEBUG)  << " Total E per Ring is " << totalEnergyPerRing<<std::endl;
+
+                    cellVolume = DDE->volume();
+                    msg(MSG::DEBUG)  << " cell volume is " << cellVolume/1000.<<std::endl;
+        
+                    energyDensityPerCell = totalEnergyPerCell/(cellVolume/1000.);
+                    msg(MSG::DEBUG)  << " E density per Cell is " << energyDensityPerCell<<std::endl;
+                    msg(MSG::DEBUG)  << " Initial added E density per Cell is " << energyDensityPerRing<<std::endl;
+                    energyDensityPerRing += energyDensityPerCell;
+                    msg(MSG::DEBUG)  << " Final added E density per Cell is " << energyDensityPerRing<<std::endl;
+                    averageEnergyDensityPerRing = energyDensityPerRing/((totalCellsinRing)*(efRecTrack->getTrack()->e()/1000.));
+                  }
+
+            msg(MSG::DEBUG)  << " track E is " << efRecTrack->getTrack()->e()/1000.;
+            msg(MSG::DEBUG)  << " Average E density per Ring is " << averageEnergyDensityPerRing<<std::endl;
+        
+            if (averageEnergyDensityPerRing != 0){
+                avgEdensityToStoreVector.push_back(averageEnergyDensityPerRing);
+                layerToStore = (eflowCaloENUM)i;
+                msg(MSG::DEBUG)  <<"layerToStore is "<< layerToStore << std::endl;
+                layerToStoreVector.push_back(layerToStore);
+                radiusToStore = (indexofRing)*ringThickness;
+                msg(MSG::DEBUG)  <<"radiusToStore is "<< radiusToStore << std::endl;
+                radiusToStoreVector.push_back(radiusToStore);
+            }
+
+            else {msg(MSG::DEBUG)  <<"averageEnergyDensityPerRing = 0"<<std::endl;}
+        }
+
+	    }
+	    
+	    efRecTrack->setLayerCellOrderVector(layerToStoreVector);
+        efRecTrack->setRadiusCellOrderVector(radiusToStoreVector);
+        efRecTrack->setAvgEDensityCellOrderVector(avgEdensityToStoreVector);
+        
+        layerToStoreVector.clear();
+        radiusToStoreVector.clear();
+        avgEdensityToStoreVector.clear();
+
     }
+     
+  }
+  
+  }
+
+void eflowCellLevelSubtractionTool::performSubtraction() {
+
+  unsigned int nEFCaloObs = m_eflowCaloObjectContainer->size();
+  for (unsigned int iEFCalOb = 0; iEFCalOb < nEFCaloObs; ++iEFCalOb) {
+    eflowCaloObject* thisEflowCaloObject = m_eflowCaloObjectContainer->at(iEFCalOb);
+
     unsigned int nClusters = thisEflowCaloObject->nClusters();
     if (nClusters < 1) {
-      continue;
+    continue;
     }
 
     /* Get matched cluster via Links */
@@ -204,12 +374,13 @@ void eflowCellLevelSubtractionTool::performSubtraction() {
     double expectedEnergy = thisEflowCaloObject->getExpectedEnergy();
     double clusterEnergy = thisEflowCaloObject->getClusterEnergy();
     double expectedSigma = sqrt(thisEflowCaloObject->getExpectedVariance());
-
+    
     /* Check e/p */
     if (isEOverPFail(expectedEnergy, expectedSigma, clusterEnergy, m_consistencySigmaCut,
                      runInGoldenMode())
         || (runInGoldenMode() && thisEflowCaloObject->nTracks() > 1)) {
       continue;
+      
     }    
 
     /* Do subtraction */
@@ -220,29 +391,19 @@ void eflowCellLevelSubtractionTool::performSubtraction() {
     }
 
 
-    if (canAnnihilated(expectedEnergy, expectedSigma, clusterEnergy)) {
-      /* Check if we can annihilate right away */
-      std::vector<xAOD::CaloCluster*> clusterList;
-      unsigned nCluster = thisEflowCaloObject->nClusters();
-      for (unsigned iCluster = 0; iCluster < nCluster; ++iCluster) {
-        clusterList.push_back(
-            thisEflowCaloObject->efRecCluster(iCluster)->getClusterForModification(
-                eflowCaloObject::getClusterContainerPtr()));
-      }
-      Subtractor::annihilateClusters(clusterList);
-    } else {
       /* Subtract the track from all matched clusters */
       const std::vector<eflowTrackClusterLink*>& matchedTrackList =
           thisEflowCaloObject->efRecLink();
 
-
+      
       for (int iTrack = 0; iTrack < nTrackMatches; ++iTrack) {
         eflowRecTrack* efRecTrack = matchedTrackList[iTrack]->getTrack();
+        
         /* Can't subtract without e/p */
         if (!efRecTrack->hasBin()) {
           continue;
         }
-
+     
 	if (efRecTrack->isInDenseEnvironment()) continue;
 
         std::vector<eflowRecCluster*> matchedClusters;
@@ -268,7 +429,21 @@ void eflowCellLevelSubtractionTool::performSubtraction() {
           Subtractor::annihilateClusters(clusterSubtractionList);
         }
       }
-    }
+    
+
+
+    if (canAnnihilated(expectedEnergy, expectedSigma, clusterEnergy)) {
+      /* Check if we can annihilate right away */
+      std::vector<xAOD::CaloCluster*> clusterList;
+      unsigned nCluster = thisEflowCaloObject->nClusters();
+      for (unsigned iCluster = 0; iCluster < nCluster; ++iCluster) {
+        clusterList.push_back(
+            thisEflowCaloObject->efRecCluster(iCluster)->getClusterForModification(
+                eflowCaloObject::getClusterContainerPtr()));
+      }
+      Subtractor::annihilateClusters(clusterList);
+    } 
+//     else {}
 
     /* Flag tracks as subtracted */
     for (unsigned int iTrack = 0; iTrack < thisEflowCaloObject->nTracks(); ++iTrack) {
diff --git a/Reconstruction/eflowRec/src/eflowObjectCreatorTool.cxx b/Reconstruction/eflowRec/src/eflowObjectCreatorTool.cxx
index 47478b2dfbe282b5b374ca249fa86e7b2236b831..044e6a751a92a3b4485507576f6b87cd675b6906 100644
--- a/Reconstruction/eflowRec/src/eflowObjectCreatorTool.cxx
+++ b/Reconstruction/eflowRec/src/eflowObjectCreatorTool.cxx
@@ -215,13 +215,34 @@ void eflowObjectCreatorTool::createChargedEflowObjects(eflowCaloObject* energyFl
     bool isSet = myEflowObject->setTrackLink(theTrackLink);
     if (!isSet) { msg(MSG::WARNING) << "Could not set Track B in PFO " << endmsg; }
     myEflowObject->setCharge(efRecTrack->getTrack()->charge());
+
     
     std::pair<double,double> etaPhi(0.0,0.0);
+    
+      
 
     if (m_eOverPMode){
       /* In EOverPMode want charged eflowObjects to have extrapolated eta,phi as coordinates
        * (needed for analysis of EOverP Data) */
-      etaPhi = efRecTrack->getTrackCaloPoints().getEM2etaPhi();
+        etaPhi = efRecTrack->getTrackCaloPoints().getEM2etaPhi();
+        
+
+        /*add information to xAOD*/
+        xAOD::PFODetails::PFOAttributes myAttribute_layerHED = xAOD::PFODetails::PFOAttributes::eflowRec_layerHED;
+        myEflowObject->setAttribute<int>(myAttribute_layerHED,efRecTrack->getLayerHED() );
+
+        xAOD::PFODetails::PFOAttributes myAttribute_layerVectorCellOrdering = xAOD::PFODetails::PFOAttributes::eflowRec_layerVectorCellOrdering;
+        myEflowObject->setAttribute<std::vector<int> >(myAttribute_layerVectorCellOrdering,efRecTrack->getLayerCellOrderVector() );
+
+        
+        xAOD::PFODetails::PFOAttributes myAttribute_radiusVectorCellOrdering = xAOD::PFODetails::PFOAttributes::eflowRec_radiusVectorCellOrdering;
+       myEflowObject->setAttribute<std::vector<float> >(myAttribute_radiusVectorCellOrdering,efRecTrack->getRadiusCellOrderVector() );
+
+        
+        xAOD::PFODetails::PFOAttributes myAttribute_avgEdensityVectorCellOrdering = xAOD::PFODetails::PFOAttributes::eflowRec_avgEdensityVectorCellOrdering;
+        myEflowObject->setAttribute<std::vector<float> >(myAttribute_avgEdensityVectorCellOrdering,efRecTrack->getAvgEDensityCellOrderVector() );
+        
+        
     } else {
       /* In normal mode we want te track eta,phi at the perigee */
       etaPhi.first = efRecTrack->getTrack()->eta();
diff --git a/Reconstruction/eflowRec/src/eflowRecTrack.cxx b/Reconstruction/eflowRec/src/eflowRecTrack.cxx
index 7a0d3be1f46e6228e6d60c0df7d3f20b5b2fcf63..8aef158c435fb49de8aa7ec5b686684a2c3926e1 100644
--- a/Reconstruction/eflowRec/src/eflowRecTrack.cxx
+++ b/Reconstruction/eflowRec/src/eflowRecTrack.cxx
@@ -19,6 +19,7 @@ eflowRecTrack::eflowRecTrack(
     m_trackId(-1), m_trackElemLink(trackElemLink), m_track(*trackElemLink), m_type(5),
     m_pull15(0.0),
     m_eExpect(1.0), m_varEExpect(0.0),  m_isInDenseEnvironment(false), m_isSubtracted(false), m_hasBin(true),
+    m_layerHED(-1), 
     m_trackCaloPoints(theTrackExtrapolatorTool->execute(m_track)) {
 }
 
diff --git a/Reconstruction/eflowRec/src/eflowRingSubtractionManager.cxx b/Reconstruction/eflowRec/src/eflowRingSubtractionManager.cxx
index 45c440c37fafbe81337ffe04941e70cc5f1f3b6e..ecc5b20a607c68d51a1d4e97212975a52de82138 100644
--- a/Reconstruction/eflowRec/src/eflowRingSubtractionManager.cxx
+++ b/Reconstruction/eflowRec/src/eflowRingSubtractionManager.cxx
@@ -16,6 +16,7 @@ CREATED:  18th Aug, 2005
 #include "eflowRec/eflowRingSubtractionManager.h"
 #include "eflowRec/eflowFirstIntParameters.h"
 #include "eflowRec/eflowEEtaBinnedParameters.h"
+#include "eflowRec/eflowRingThicknesses.h"
 
 #include <cmath>
 #include <vector>
@@ -120,11 +121,12 @@ bool eflowRingSubtractionManager::getOrdering(const eflowEEtaBinnedParameters* b
   bool isFailed = !(meanBin.getWeightedParameters(bin1->getFirstIntBin(adjustedJ1st), bin2->getFirstIntBin(adjustedJ1st), weight));
   if (isFailed) { return false; }
 
-  /* Interpolate the ring thicknesses */
+  /* Set the ring thicknesses */
+  const eflowRingThicknesses ringThicknessFactory;
   std::vector<double> ringThicknesses(eflowCalo::nRegions);
   for (int i = 0; i < eflowCalo::nRegions; i++) {
-    ringThicknesses[i] = weight * bin1->getRingThickness((eflowCaloENUM) i)
-        + (1.0 - weight) * bin2->getRingThickness((eflowCaloENUM) i);
+    //This was reviously interpolated - but the ring thickeness is a geometric property of the calorimeter without any energy dependence, so it was not needed.
+    ringThicknesses[i] = ringThicknessFactory.ringThickness((eflowCaloENUM) i);
   }
 
   setParameters(meanBin, ringThicknesses);
diff --git a/Reconstruction/eflowRec/src/eflowRingThicknesses.cxx b/Reconstruction/eflowRec/src/eflowRingThicknesses.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..0bb3e5f9c5c0c97157a2c77722b2a7819a70fa7a
--- /dev/null
+++ b/Reconstruction/eflowRec/src/eflowRingThicknesses.cxx
@@ -0,0 +1,33 @@
+/*   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ 
+
+#include "eflowRec/eflowRingThicknesses.h"
+
+double eflowRingThicknesses::ringThickness(const eflowCaloENUM& layer) const{
+ 
+  double EM1 = 0.0491122;   
+  double EM2 = 0.0175171;  
+  double EM3 = 0.0278496;   
+  double HEC = 0.0700683;   
+  double Tile1Or2 = HEC;   
+  double Tile3 =  0.111398;
+
+  switch(layer){
+
+    case eflowCalo::EMB1 : return EM1;   
+    case eflowCalo::EMB2 : return EM2;   
+    case eflowCalo::EMB3 : return EM3;   
+    case eflowCalo::EME1 : return EM1;   
+    case eflowCalo::EME2 : return EM2;   
+    case eflowCalo::EME3 : return EM3;   
+    case eflowCalo::HEC1 : return HEC;   
+    case eflowCalo::HEC2 : return HEC;   
+    case eflowCalo::HEC3 : return HEC;   
+    case eflowCalo::HEC4 : return HEC;   
+    case eflowCalo::Tile1 : return Tile1Or2;   
+    case eflowCalo::Tile2 : return Tile1Or2;   
+    case eflowCalo::Tile3 : return Tile3;   
+    case eflowCalo::Unknown : return 0.0;
+  }
+  //if no case was found return 0.0   
+  return 0.0;
+}
diff --git a/Simulation/FastSimulation/FastChainPileup/CMakeLists.txt b/Simulation/FastSimulation/FastChainPileup/CMakeLists.txt
index 63672fb8bca3b4dda000f4cd347d7c9da923c3ec..a2faf1b568bc31b4d62df043ad582d71b57187eb 100644
--- a/Simulation/FastSimulation/FastChainPileup/CMakeLists.txt
+++ b/Simulation/FastSimulation/FastChainPileup/CMakeLists.txt
@@ -32,4 +32,5 @@ atlas_install_headers( FastChainPileup )
 atlas_install_joboptions( share/*.py )
 atlas_install_runtime( test/FastChainPileup_TestConfiguration.xml )
 atlas_install_scripts( scripts/sim_reg_test_fastchain.py )
+atlas_install_python_modules( python/*.py )
 
diff --git a/Simulation/FastSimulation/FastChainPileup/FastChainPileup/Samplers.h b/Simulation/FastSimulation/FastChainPileup/FastChainPileup/Samplers.h
index e720954120972c938bf5a1fa044fae1151a2d499..0a540c16876c3b76f4d5ba6a4946c01fc34f9f29 100644
--- a/Simulation/FastSimulation/FastChainPileup/FastChainPileup/Samplers.h
+++ b/Simulation/FastSimulation/FastChainPileup/FastChainPileup/Samplers.h
@@ -17,8 +17,8 @@
 //Base class for all samplers
 class Sampler {
  public:
-  Sampler() {};
-  ~Sampler(){};
+  Sampler() : m_val(0.) {};
+  virtual ~Sampler(){};
   virtual float shoot() {return m_val;};
   //float operator () { return this->shoot();};
   float m_val;
@@ -37,7 +37,7 @@ class ConstSampler : public Sampler {
 
 class MomSampler {
  public:
-  MomSampler() {};
+  MomSampler() : m_mass(NULL) {};
   ~MomSampler(){};
   virtual TLorentzVector shoot() {return m_val;};
   TLorentzVector m_val;
@@ -218,7 +218,7 @@ RndmSeq = RandomSeqSampler
 class CyclicSeqSampler : public Sampler {
  public:
   ~CyclicSeqSampler() {};
-  CyclicSeqSampler(const CyclicSeqSampler & orig) {m_sequence = orig.m_sequence;};
+  CyclicSeqSampler(const CyclicSeqSampler & orig) : m_index(0) {m_sequence = orig.m_sequence;};
   CyclicSeqSampler(std::string s) {
     size_t pos = 0;
     std::string token;
@@ -566,7 +566,7 @@ class EThetaMPhiSampler(MomSampler):
 //Create a 4-momentum vector from pt, eta, m and phi distributions/samplers.
 class PtEtaMPhiSampler : public MomSampler{
  public:
-  ~PtEtaMPhiSampler() {};
+  ~PtEtaMPhiSampler() { if (m_pt) delete m_pt; if (m_eta) delete m_eta; if (m_phi) delete m_phi;};
   PtEtaMPhiSampler(float ptmin, float ptmax, float etamin, float etamax, float mass=0.0, float phimin=0, float phimax=2.*TMath::Pi()){
     if (ptmin==ptmax)
       m_pt = new ConstSampler(ptmin);
diff --git a/Simulation/FastSimulation/FastChainPileup/cmt/requirements b/Simulation/FastSimulation/FastChainPileup/cmt/requirements
deleted file mode 100644
index 8d7b7a6d582d87ce4bbf44dfaf081a31840d6d04..0000000000000000000000000000000000000000
--- a/Simulation/FastSimulation/FastChainPileup/cmt/requirements
+++ /dev/null
@@ -1,25 +0,0 @@
-package FastChainPileup
-
-author Richard Hawkings <richard.hawkings@cern.ch>
-
-use     AtlasPolicy             AtlasPolicy-*
-use     Lhapdf                  Lhapdf-*                External
-use     Pythia8                 Pythia8-*               External
-use     Pythia8_i               Pythia8_i-*             Generators
-use     GaudiInterface          GaudiInterface-*        External
-use     AtlasROOT               AtlasROOT-*             External
-use     GeneratorModules    	GeneratorModules-*    	Generators
-
-private
-use TestPolicy                  TestPolicy-*
-use     AtlasCLHEP              AtlasCLHEP-*            External
-
-library FastChainPileup MultiPy8Pileup.cxx MultiParticleGunPileup.cxx components/*.cxx
-apply_pattern component_library
-apply_pattern validate_xml
-apply_pattern declare_joboptions files="*.py"
-apply_pattern declare_scripts files="-s=$(FastChainPileup_root)/scripts sim_reg_test_fastchain.py"
-
-public
-macro FastChainPileup_TestConfiguration "../test/FastChainPileup_TestConfiguration.xml"
-apply_pattern declare_runtime extras="../test/FastChainPileup_TestConfiguration.xml"
diff --git a/Simulation/FastSimulation/FastChainPileup/python/FastChain_jobProperties.py b/Simulation/FastSimulation/FastChainPileup/python/FastChain_jobProperties.py
new file mode 100644
index 0000000000000000000000000000000000000000..69514372632d02d8a8d9fb3fe12a19c412ada2d8
--- /dev/null
+++ b/Simulation/FastSimulation/FastChainPileup/python/FastChain_jobProperties.py
@@ -0,0 +1,105 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+## @file Simulation/FastSimulation/FastChainPileup/python/FastChain_jobProperties.py
+## @purpose Python module to hold common flags to configure JobOptions
+## this is needed for configuring the bcid for Out-of-Time PU with the FastChain
+##
+
+""" FastChain_jobProperties
+
+"""
+
+__author__ = "J. Schaarschmidt"
+__version__= "$Revision$"
+__doc__    = "FastChain_jobProperties"
+
+__all__    = [ "FastChain_jobProperties" ]
+
+# kindly stolen from ISF_Flags by E. Ritsch
+
+##-----------------------------------------------------------------------------
+## Import
+
+from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
+from AthenaCommon.JobProperties import jobproperties
+
+
+class FastChainBCID(JobProperty):
+    """Steering of FastChain: Setting the BCID for Out-of-Time PU events"""
+    statusOn     = True
+    allowedTypes = ['list']
+    #StoredValue  = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
+    StoredValue  = [1]
+
+class FastChainPUWeights_lar_em(JobProperty):
+    """Steering of FastChain: LAr EM weights for Out-of-Time PU events"""
+    statusOn     = True
+    allowedTypes = ['list']
+    #StoredValue  = [0.48,1.0,0.68,0.25,-0.008,-0.12,-0.17,-0.18,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.18,-0.13,-0.07,-0.03,-0.01,-0.003,-0.001]
+    StoredValue  = [1.0]
+
+class FastChainPUWeights_lar_hec(JobProperty):
+    """Steering of FastChain: LAr HEC weights for Out-of-Time PU events"""
+    statusOn     = True
+    allowedTypes = ['list']
+    #StoredValue  = [0.52,1.0,0.7,0.26,-0.01,-0.15,-0.2,-0.22,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.22,-0.15,-0.08,-0.04,-0.01,-0.005,-0.002,-0.0006,0.0]
+    StoredValue  = [1.0]
+
+class FastChainPUWeights_lar_bapre(JobProperty):
+    """Steering of FastChain: LAr Barrel presampler weights for Out-of-Time PU events"""
+    statusOn     = True
+    allowedTypes = ['list']
+    #StoredValue  = [0.42,1.0,0.73,0.33,0.07,-0.06,-0.12,-0.15,-0.16,-0.16,-0.16,-0.16,-0.16,-0.16,-0.16,-0.16,-0.16,-0.16,-0.16,-0.16,-0.12,-0.07,-0.03]
+    StoredValue  = [1.0]
+
+class FastChainPUWeights_tile(JobProperty):
+    """Steering of FastChain: Tile weights for Out-of-Time PU events"""
+    statusOn     = True
+    allowedTypes = ['list']
+    #StoredValue  = [0.5,1.0,0.5,0.06,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
+    StoredValue  = [1.0]
+
+
+#class FastChainPUWeights(JobProperty):
+#    """Steering of FastChain: global weights for Out-of-Time PU events"""
+#    statusOn     = True
+#    allowedTypes = ['list']
+#    StoredValue  = [0.5,2.0,-0.3]
+
+
+##-----------------------------------------------------------------------------
+## 2nd step
+## Definition of the InDet flag container
+class FastChain_jobProperties(JobPropertyContainer):
+    """Container for the FastChain key flags
+    """
+    pass
+
+
+##-----------------------------------------------------------------------------
+## 3rd step
+## adding the container to the general top-level container
+
+jobproperties.add_Container(FastChain_jobProperties)
+
+##-----------------------------------------------------------------------------
+## 4th step
+## adding flags to the jobProperties container
+
+jobproperties.FastChain_jobProperties.add_JobProperty(FastChainBCID)
+#jobproperties.FastChain_jobProperties.add_JobProperty(FastChainPUWeights)
+jobproperties.FastChain_jobProperties.add_JobProperty(FastChainPUWeights_lar_em)
+jobproperties.FastChain_jobProperties.add_JobProperty(FastChainPUWeights_lar_hec)
+jobproperties.FastChain_jobProperties.add_JobProperty(FastChainPUWeights_lar_bapre)
+jobproperties.FastChain_jobProperties.add_JobProperty(FastChainPUWeights_tile)
+
+##-----------------------------------------------------------------------------
+## 5th step
+## short-cut for lazy people
+## carefull: do not select ISF_jobProperties as a short name as well. 
+## otherwise problems with pickle
+## Note: you still have to import it:
+## >>> from ISF_Example.ISF_jobProperties import ISF_Flags
+
+FastChain_Flags = jobproperties.FastChain_jobProperties
+
diff --git a/Simulation/FastSimulation/FastChainPileup/scripts/sim_reg_test_fastchain.py b/Simulation/FastSimulation/FastChainPileup/scripts/sim_reg_test_fastchain.py
index 3562372e24318a2ae4701014aee2050ca430c905..60e38e70b19dd6996278d96d94912201a276808e 100755
--- a/Simulation/FastSimulation/FastChainPileup/scripts/sim_reg_test_fastchain.py
+++ b/Simulation/FastSimulation/FastChainPileup/scripts/sim_reg_test_fastchain.py
@@ -92,7 +92,7 @@ def get_recent(path,pathsplit):
     return good_rel_refease
 
 ###Add EOS prefix###
-def eoscp(filename,jobname,tag,store_tag,release):
+def eoscp(package,filename,jobname,nightly,tag,store_tag,release):
     ##rel_list=["0","1","2","3","4","5","6"]
     current=os.getcwd()
     if os.environ.has_key('LS_SUBCWD'):
@@ -110,18 +110,21 @@ def eoscp(filename,jobname,tag,store_tag,release):
     ##        elif tag=="yesterday":
     ##            release=arg_list[0]+"_"+rel_list[int(arg_list[1])-1]
     ##            print release
-    postfix='/'.join(argv[-3:])
+    #postfix='/'.join(argv[-3:])
+    
+    postfix="x86_64-slc6-gcc49-opt/offline/"+package
     #middle='/'.join(argv[-6:-5])
-    middle=argv[-5]
+    #middle=argv[-5]
+    middle=nightly
     pathlist=["prod","batch"]#This 2nd option should make the script work on the RTT test instance.
 #    status=0
     for path in pathlist:
         prefix="root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/rtt/"+path+"/rtt"
-        ##print "postfix: "+postfix
-        ##print "middle: "+middle
-        ##print "prefix: "+prefix
-        ##print "jobname: "+jobname
-        ##print "filename: "+filename
+        #print "postfix: "+postfix
+        #print "middle: "+middle
+        #print "prefix: "+prefix
+        #print "jobname: "+jobname
+        #print "filename: "+filename
         path=prefix+'/'+release+'/'+middle+'/'+postfix+'/'+jobname+'/'+filename
         print "Path to check on eos: "+path
         if store_tag!='':
@@ -296,7 +299,7 @@ if __name__ == "__main__":
             if len(file_list_val)!=0:
                 print "The following files were not found in the output directory of today's job: "+str(file_list_val)+", will try to copy them from EOS instead."
                 for val_f in file_list_val:
-                    if eoscp(val_f,sys.argv[8],"today",store_tag,good_rel_mon)!=0 :
+                    if eoscp(sys.argv[5],val_f,sys.argv[7],sys.argv[6],"today",store_tag,good_rel_mon)!=0 :
                         print "File does not exist in EOS."
                     else:
                         file_list_val.remove(val_f)
@@ -337,7 +340,7 @@ if __name__ == "__main__":
                     if len(file_list_ref)!=0:
                         print "The following files were not found in the output directory of "+good_rel_ref+"'s job: "+str(file_list_ref)+", will try to copy them from EOS instead."
                         for ref_f in file_list_ref :
-                            if eoscp(ref_f,sys.argv[4],"yesterday",store_tag,good_rel_ref)!=0:
+                            if eoscp(sys.argv[1],ref_f,sys.argv[3],sys.argv[2],"yesterday",store_tag,good_rel_ref)!=0:
                                 print "File does not exist in EOS."
                             else:
                                 file_list_ref.remove(ref_f)
diff --git a/Simulation/FastSimulation/FastChainPileup/share/FastPileup.py b/Simulation/FastSimulation/FastChainPileup/share/FastPileup.py
index b0e47ab8a42ea33819454aac045dba6682871789..1d1b93d16b84905982e61c31f70a47f6f56ddfba 100644
--- a/Simulation/FastSimulation/FastChainPileup/share/FastPileup.py
+++ b/Simulation/FastSimulation/FastChainPileup/share/FastPileup.py
@@ -1,3 +1,5 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
 # FastPileup.py - set up fast pileup emulation using in-time generator
 # Richard Hawkings, Vladimir Lyubushkin, 23/4/15
 
@@ -32,6 +34,8 @@ evgenConfig.keywords = ["QCD", "minBias","SM"]
 # following copied from nonStandard/Pythia8/Pythia8_A2_MSTW2008LO_Common.py
 # modified to use MultiPy8Pileup
 
+from FastChainPileup.FastChain_jobProperties import FastChain_Flags
+
 from FastChainPileup.FastChainPileupConf import MultiPy8Pileup
 genSeq += MultiPy8Pileup("Pythia8")
 evgenConfig.generators += ["Pythia8"]
@@ -79,9 +83,14 @@ genSeq.Pythia8.McEventsRW=gen_pu
 
 genSeq.Pythia8.NCollPerEvent=-1
 genSeq.Pythia8.PileupProfile=pileUpProfile
-genSeq.Pythia8.MultBCID=[1.]
+#genSeq.Pythia8.MultBCID=[1.]
+genSeq.Pythia8.MultBCID=FastChain_Flags.FastChainBCID()
 # genSeq.Pythia8.HistFile='profile.root'
 
+fast_chain_log.info("Check FastChainBCID Value");
+fast_chain_log.info(FastChain_Flags.FastChainBCID.get_Value())
+
+
 randomSeed=0
 if hasattr(runArgs, "randomSeed"):
     randomSeed=runArgs.randomSeed
diff --git a/Simulation/FastSimulation/FastChainPileup/src/MultiParticleGunPileup.cxx b/Simulation/FastSimulation/FastChainPileup/src/MultiParticleGunPileup.cxx
index ccddaa183920ee0ed9303be310edc74de09969fa..67e222dd4a70389f15072e0a8679d5f1f28b7ae4 100644
--- a/Simulation/FastSimulation/FastChainPileup/src/MultiParticleGunPileup.cxx
+++ b/Simulation/FastSimulation/FastChainPileup/src/MultiParticleGunPileup.cxx
@@ -24,7 +24,8 @@ MultiParticleGunPileup::MultiParticleGunPileup(const std::string& name, ISvcLoca
   m_file(NULL),
   m_htgPileupProfile(NULL),
   m_htgPileupMu(NULL),
-  m_htgPileupEvents(NULL)
+  m_htgPileupEvents(NULL),
+  partSampler(NULL)
 {
   declareProperty("NCollPerEvent",m_ncollevent=20,"Collisons per event (-1 to use profile)");
   declareProperty("PileupProfile",m_pileupProfile,"Pileup profile array");
diff --git a/Simulation/FastSimulation/FastChainPileup/test/FastChainPileup_TestConfiguration.xml b/Simulation/FastSimulation/FastChainPileup/test/FastChainPileup_TestConfiguration.xml
index ae6977b97404205e780aa115c2bbbf320c94022e..5a95bc50ef1d1a8efcd0ce04214c19e3b30279cb 100644
--- a/Simulation/FastSimulation/FastChainPileup/test/FastChainPileup_TestConfiguration.xml
+++ b/Simulation/FastSimulation/FastChainPileup/test/FastChainPileup_TestConfiguration.xml
@@ -22,6 +22,8 @@
       <!-- Pile up CHAIN -->
       <chain>
        <chainName>ChainJobwthPileUp</chainName>
+       <!-- run main job sequence and independent tests in parallel -->
+       <parallel>
 	<!-- main job sequence -->
 	<sequential>
 	  <!-- independent chains of sim jobs + reco jobs + tests in parallel  -->
@@ -96,7 +98,7 @@
 		  <doc>FastChain reco</doc>
 		  <jobTransformJobName>ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi</jobTransformJobName>
 		  <jobTransformCmd> 
-		      FastChain_tf.py --maxEvents 50 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19  --inputRDOFile RDO.pool.root --outputAODFile AOD_Split_stdFullSimDigi.pool.root --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doStandardPlots.set_Value_and_Lock(True);"
+		      FastChain_tf.py --maxEvents 50 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31  --inputRDOFile RDO.pool.root --outputAODFile AOD_Split_stdFullSimDigi.pool.root --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doStandardPlots.set_Value_and_Lock(True);"
 		  </jobTransformCmd>
 		  <group>FastChainPileup</group>
 		  <chaindataset_info>
@@ -114,6 +116,104 @@
 		  AOD_Split_stdFullSimDigi.pool.root
 		</chainfileout>
 	      </chainElement>
+<!--	      <chainElement>
+		<jobTransform userJobId="1reg_20.20.3_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi">
+		  <doc>comparison with reference sample obtained using 20.20.3</doc>
+		  <jobTransformJobName>1reg_20.20.3_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi</jobTransformJobName>
+		  <jobTransformCmd>sim_reg_test.py ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi InDetStandardPlots.root</jobTransformCmd>
+		  <group>FastChainPileup</group>
+		  <queue>medium</queue>
+		  <test position="1">
+		    <modulename>RttLibraryTools</modulename>
+		    <testname>DCubeRunner</testname>
+		    <arg>
+		      <argname>DCubeCfg</argname>
+		      <argvalue>dcube_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi.xml</argvalue>
+		    </arg>
+		    <arg>
+		      <argname>DCubeRef</argname>
+		      <argvalue>1InDetStandardPlots.root</argvalue>
+		    </arg>
+		    <arg>
+		      <argname>DCubeMon</argname>
+		      <argvalue>today.InDetStandardPlots.root</argvalue>
+		    </arg>
+		    <keepFilePattern>DCube-1InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		  </test>
+		  <testToRemove>
+		      <jobGroupName>RTT:Top</jobGroupName>
+		      <testidentifier>CheckFileRunner0</testidentifier>
+		  </testToRemove>         
+		</jobTransform>
+	      </chainElement>-->
+	      <chainElement>
+		<jobTransform userJobId="1reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi">
+		  <doc>Regression test of FastChainPileup job ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi in releases 20.20.X-VAL vs mig13</doc>
+		  <jobTransformJobName>1reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi</jobTransformJobName>
+		  <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi InDetStandardPlots.root FastChainPileup mig13 ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi InDetStandardPlots.root</jobTransformCmd>
+		  <group>FastChainPileup</group>
+		  <queue>medium</queue>
+		    <test position="1">
+		      <modulename>RttLibraryTools</modulename>
+		      <testname>DCubeRunner</testname>
+		      <arg>
+			<argname>DCubeCfg</argname>
+			<argvalue>dcube_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi.xml</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeRef</argname>
+			<argvalue>yesterday.InDetStandardPlots.root</argvalue>
+		      </arg>
+		      <arg>
+			<argname>localRefFile</argname>
+			<argvalue>True</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeMon</argname>
+			<argvalue>today.InDetStandardPlots.root</argvalue>
+		      </arg>
+		      <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		    </test>
+		    <testToRemove>
+			<jobGroupName>RTT:Top</jobGroupName>
+			<testidentifier>CheckFileRunner0</testidentifier>
+		    </testToRemove>		
+		</jobTransform>
+	      </chainElement> 
+<!--	      <chainElement>
+		<jobTransform userJobId="reg_20.20.X_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi">
+		  <doc>Regression test of FastChainPileup job ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi in releases 20.20.X vs mig13</doc>
+		  <jobTransformJobName>reg_20.20.X_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi</jobTransformJobName>
+		  <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi InDetStandardPlots.root FastChainPileup mig13 ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi InDetStandardPlots.root</jobTransformCmd>
+		  <group>FastChainPileup</group>
+		  <queue>medium</queue>
+		    <test position="1">
+		      <modulename>RttLibraryTools</modulename>
+		      <testname>DCubeRunner</testname>
+		      <arg>
+			<argname>DCubeCfg</argname>
+			<argvalue>dcube_ttbarFastChain_reco_noSplit_noPseudoTracking_stdFullSimDigi.xml</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeRef</argname>
+			<argvalue>yesterday.InDetStandardPlots.root</argvalue>
+		      </arg>
+		      <arg>
+			<argname>localRefFile</argname>
+			<argvalue>True</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeMon</argname>
+			<argvalue>today.InDetStandardPlots.root</argvalue>
+		      </arg>
+		      <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		    </test>
+		    <testToRemove>
+			<jobGroupName>RTT:Top</jobGroupName>
+			<testidentifier>CheckFileRunner0</testidentifier>
+		    </testToRemove>		
+		</jobTransform>
+	      </chainElement>-->
 	    </sequential>
 	    <!-- Run FastChain fast sim + full digi, then different reco jobs on its output and tests in parallel -->
 	    <sequential>
@@ -123,7 +223,7 @@
 		  <doc>FastChain simdigi</doc>
 		  <jobTransformJobName>ttbarFastChain_fastSim_fullDigi</jobTransformJobName>
 		  <jobTransformCmd> 
-		      FastChain_tf.py --simulator ATLFASTIIF_PileUp --digiSteeringConf "SplitNoMerge" --useISF True --randomSeed 123 --enableLooperKiller True --inputEVNTFile /afs/cern.ch/atlas/offline/ProdData/16.6.X/16.6.7.Y/ttbar_muplusjets-pythia6-7000.evgen.pool.root --outputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19 --preSimExec 'from TrkDetDescrSvc.TrkDetDescrJobProperties import TrkDetFlags;TrkDetFlags.TRT_BuildStrawLayers=True' --preSimInclude FastChainPileup/FastPileup.py --postInclude='PyJobTransforms/UseFrontier.py,G4AtlasTests/postInclude.DCubeTest_FCpileup.py,DigitizationTests/postInclude.RDO_Plots.py' --postExec 'from AthenaCommon.ConfigurationShelve import saveToAscii;saveToAscii("config.txt")' --DataRunNumber '222525' --postSimExec='genSeq.Pythia8.NCollPerEvent=10;' --ignorePatterns='G4TestAlg.Lucid.{5}FATAL.{8}LucidHitsTestTool.cxx:66\ \(StatusCode\ LucidHitsTestTool::processEvent\(\)\):\ code\ 0:\ evtStore\(\)->retrieve\(iter\)','FATAL\ message\ limit\ \(500\)\ reached\ for\ G4TestAlg.LucidHitsTestTool.'
+		      FastChain_tf.py --simulator ATLFASTIIF_PileUp --digiSteeringConf "SplitNoMerge" --useISF True --randomSeed 123 --enableLooperKiller True --inputEVNTFile /afs/cern.ch/atlas/offline/ProdData/16.6.X/16.6.7.Y/ttbar_muplusjets-pythia6-7000.evgen.pool.root --outputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31 --preSimExec 'from TrkDetDescrSvc.TrkDetDescrJobProperties import TrkDetFlags;TrkDetFlags.TRT_BuildStrawLayers=True' --preSimInclude FastChainPileup/FastPileup.py --postInclude='PyJobTransforms/UseFrontier.py,G4AtlasTests/postInclude.DCubeTest_FCpileup.py,DigitizationTests/postInclude.RDO_Plots.py' --postExec 'from AthenaCommon.ConfigurationShelve import saveToAscii;saveToAscii("config.txt")' --DataRunNumber '222525' --postSimExec='genSeq.Pythia8.NCollPerEvent=10;' --ignorePatterns='G4TestAlg.Lucid.{5}FATAL.{8}LucidHitsTestTool.cxx:66\ \(StatusCode\ LucidHitsTestTool::processEvent\(\)\):\ code\ 0:\ evtStore\(\)->retrieve\(iter\)','FATAL\ message\ limit\ \(500\)\ reached\ for\ G4TestAlg.LucidHitsTestTool.'
 		  </jobTransformCmd>
 		  <group>FastChainPileup</group>
 		  <queue>medium</queue>
@@ -155,25 +255,12 @@
 		    </arg>
 		    <keepFilePattern>today.RDO_pileup_fastsim_fulldigi.pool.root_yesterday.RDO_pileup_fastsim_fulldigi.pool.root.diffPool</keepFilePattern>
 		  </test>
-		  <test position="2">
-		      <modulename>RttLibraryTools</modulename>
-		      <testname>ExeRunner</testname>
-		      <arg>
-			<argname>exeName</argname>
-			<argvalue>acmd.py</argvalue>
-		      </arg>
-		      <arg>
-			<argname>exeParamString</argname>
-			<argvalue>diff-root yesterday.RDO_pileup_fastsim_fulldigi.pool.root today.RDO_pileup_fastsim_fulldigi.pool.root --ignore-leaves RecoTimingObj_p1_EVNTtoHITS_timings RecoTimingObj_p1_HITStoRDO_timings RecoTimingObj_p1_RAWtoESD_timings ESDtoAOD_timings ESDtoAOD_mems RAWtoESD_mems RAWtoESD_timings RecoTimingObj_p1_RAWtoESD_mems</argvalue>
-		      </arg>
-		      <keepFilePattern>RttLibraryTools_ExeRunner.postprocessing.log</keepFilePattern>
-		    </test>
-		    <test position="3">
+		    <test position="2">
 		      <modulename>RttLibraryTools</modulename>
 		      <testname>DCubeRunner</testname>
 		      <arg>
 			<argname>DCubeCfg</argname>
-			<argvalue>dcube_RDO_truth.xml</argvalue>
+			<argvalue>dcube_RDO_truth_pileup.xml</argvalue>
 		      </arg>
 		      <arg>
 			<argname>DCubeRef</argname>
@@ -191,12 +278,110 @@
 		    </test>
 		  </jobTransform>
 		</chainElement>
+		<!--<chainElement>
+		  <jobTransform userJobId="5reg_20.20.3_vs_mig13_ttbarFastChain_fastSim_fullDigi">
+		    <doc>comparison with reference sample obtained using 20.20.3</doc>
+		    <jobTransformJobName>5reg_20.20.3_vs_mig13_ttbarFastChain_fastSim_fullDigi</jobTransformJobName>
+		    <jobTransformCmd>sim_reg_test.py ttbarFastChain_fastSim_fullDigi RDO_truth.root</jobTransformCmd>
+		    <group>FastChainPileup</group>
+		    <queue>medium</queue>
+		    <test position="1">
+		      <modulename>RttLibraryTools</modulename>
+		      <testname>DCubeRunner</testname>
+		      <arg>
+			<argname>DCubeCfg</argname>
+			<argvalue>dcube_RDO_truth_pileup.xml</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeRef</argname>
+			<argvalue>5RDO_truth.root</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeMon</argname>
+			<argvalue>today.RDO_truth.root</argvalue>
+		      </arg>
+		      <keepFilePattern>DCube-5RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		    </test>
+		    <testToRemove>
+			<jobGroupName>RTT:Top</jobGroupName>
+			<testidentifier>CheckFileRunner0</testidentifier>
+		    </testToRemove>         
+		  </jobTransform>
+		</chainElement>-->
+		<chainElement>
+		  <jobTransform userJobId="5reg_20.20.X-VAL_vs_mig13_ttbarFastChain_fastSim_fullDigi">
+		    <doc>Regression test of FastChain sim + digi in releases 20.20.X-VAL vs mig13</doc>
+		    <jobTransformJobName>5reg_20.20.X-VAL_vs_mig13_ttbarFastChain_fastSim_fullDigi</jobTransformJobName>
+		    <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL ttbarFastChain_fastSim_fullDigi RDO_truth.root FastChainPileup mig13 ttbarFastChain_fastSim_fullDigi RDO_truth.root</jobTransformCmd>
+		    <group>FastChainPileup</group>
+		    <queue>medium</queue>
+		      <test position="1">
+			<modulename>RttLibraryTools</modulename>
+			<testname>DCubeRunner</testname>
+			<arg>
+			  <argname>DCubeCfg</argname>
+			  <argvalue>dcube_RDO_truth_pileup.xml</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeRef</argname>
+			  <argvalue>yesterday.RDO_truth.root</argvalue>
+			</arg>
+			<arg>
+			  <argname>localRefFile</argname>
+			  <argvalue>True</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeMon</argname>
+			  <argvalue>today.RDO_truth.root</argvalue>
+			</arg>
+			<keepFilePattern>DCube-yesterday.RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		      </test>
+		      <testToRemove>
+			  <jobGroupName>RTT:Top</jobGroupName>
+			  <testidentifier>CheckFileRunner0</testidentifier>
+		      </testToRemove>		
+		  </jobTransform>
+		</chainElement>
+		<!--<chainElement>
+		  <jobTransform userJobId="reg_20.20.X_vs_mig13_ttbarFastChain_fastSim_fullDigi">
+		    <doc>Regression test of FastChain sim + digi in releases 20.20.X vs mig13</doc>
+		    <jobTransformJobName>reg_20.20.X_vs_mig13_ttbarFastChain_fastSim_fullDigi</jobTransformJobName>
+		    <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X ttbarFastChain_fastSim_fullDigi RDO_truth.root FastChainPileup mig13 ttbarFastChain_fastSim_fullDigi RDO_truth.root</jobTransformCmd>
+		    <group>FastChainPileup</group>
+		    <queue>medium</queue>
+		      <test position="1">
+			<modulename>RttLibraryTools</modulename>
+			<testname>DCubeRunner</testname>
+			<arg>
+			  <argname>DCubeCfg</argname>
+			  <argvalue>dcube_RDO_truth.xml</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeRef</argname>
+			  <argvalue>yesterday.RDO_truth.root</argvalue>
+			</arg>
+			<arg>
+			  <argname>localRefFile</argname>
+			  <argvalue>True</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeMon</argname>
+			  <argvalue>today.RDO_truth.root</argvalue>
+			</arg>
+			<keepFilePattern>DCube-yesterday.RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		      </test>
+		      <testToRemove>
+			  <jobGroupName>RTT:Top</jobGroupName>
+			  <testidentifier>CheckFileRunner0</testidentifier>
+		      </testToRemove>		
+		  </jobTransform>
+		</chainElement>-->
 		<chainElement>
 		  <jobTransform userJobId="ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi">
 		    <doc>FastChain reco</doc>
 		    <jobTransformJobName>ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi</jobTransformJobName>
 		    <jobTransformCmd> 
-			FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19  --inputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile AOD_noSplit_pseudoTracking_fastSim_fullDigi.pool.root --preExec "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doPseudoTracking.set_Value_and_Lock(True);rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);InDetFlags.doTrackSegmentsTRT.set_Value_and_Lock(True);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
+			FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31  --inputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile AOD_noSplit_pseudoTracking_fastSim_fullDigi.pool.root --preExec "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doPseudoTracking.set_Value_and_Lock(True);rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);InDetFlags.doTrackSegmentsTRT.set_Value_and_Lock(True);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
 		    </jobTransformCmd>
 		    <group>FastChainPileup</group>
 		    <chaindataset_info>
@@ -219,7 +404,7 @@
 		    <doc>FastChain reco</doc>
 		    <jobTransformJobName>ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi</jobTransformJobName>
 		    <jobTransformCmd> 
-			FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19  --inputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile AOD_noSplit_noPseudoTracking_fastSim_fullDigi.pool.root --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
+			FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31  --inputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile AOD_noSplit_noPseudoTracking_fastSim_fullDigi.pool.root --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
 		    </jobTransformCmd>
 		    <group>FastChainPileup</group>
 		    <chaindataset_info>
@@ -243,7 +428,7 @@
 		      <doc>FastChain reco</doc>
 		      <jobTransformJobName>ttbarFastChain_reco_Split_fastSim_fullDigi</jobTransformJobName>
 		      <jobTransformCmd> 
-			  FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19  --inputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile AOD_Split_fastSim_fullDigi.pool.root --preExec "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSplitReco.set_Value_and_Lock(True);InDetFlags.doTrackSegmentsTRT.set_Value_and_Lock(True);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
+			  FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31  --inputRDOFile RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile AOD_Split_fastSim_fullDigi.pool.root --preExec "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSplitReco.set_Value_and_Lock(True);InDetFlags.doTrackSegmentsTRT.set_Value_and_Lock(True);InDetFlags.doStandardPlots.set_Value_and_Lock(True);rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);"
 		      </jobTransformCmd>
 		      <group>FastChainPileup</group>
 		      <chaindataset_info>
@@ -261,6 +446,141 @@
 		      AOD_Split_fastSim_fullDigi.pool.root
 		    </chainfileout>
 		  </chainElement>
+		  <!--tests in parallel-->
+		  <parallel>
+		    <chainElement>
+		      <jobTransform userJobId="ttbarFastChain_reco_Split_fastSim_fullDigi_Reg">
+			<doc>Regression test between releases</doc>
+			<jobTransformJobName>ttbarFastChain_reco_Split_fastSim_fullDigi_Reg</jobTransformJobName>
+			<jobTransformCmd>sim_reg_test.py ttbarFastChain_reco_Split_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+			<group>FastChainPileup</group>
+			<queue>long</queue>
+			  <test position="1">
+			    <modulename>RttLibraryTools</modulename>
+			    <testname>DCubeRunner</testname>
+			    <arg>
+			      <argname>DCubeCfg</argname>
+			      <argvalue>dcube_ttbarFastChain_reco_Split_fastSim_fullDigi_Reg.xml</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>DCubeRef</argname>
+			      <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>localRefFile</argname>
+			      <argvalue>True</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>DCubeMon</argname>
+			      <argvalue>today.InDetStandardPlots.root</argvalue>
+			    </arg>
+			    <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			  </test>
+			<testToRemove>
+			  <jobGroupName>RTT:Top</jobGroupName>
+			  <testidentifier>CheckFileRunner0</testidentifier>
+			</testToRemove> 
+			</jobTransform>
+		    </chainElement>
+		    <!--<chainElement>
+		      <jobTransform userJobId="2reg_20.20.3_vs_mig13_ttbarFastChain_reco_Split_fastSim_fullDigi">
+			<doc>comparison with reference sample obtained using 20.20.3</doc>
+			<jobTransformJobName>2reg_20.20.3_vs_mig13_ttbarFastChain_reco_Split_fastSim_fullDigi</jobTransformJobName>
+			<jobTransformCmd>sim_reg_test.py ttbarFastChain_reco_Split_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+			<group>FastChainPileup</group>
+			<queue>medium</queue>
+			<test position="1">
+			  <modulename>RttLibraryTools</modulename>
+			  <testname>DCubeRunner</testname>
+			  <arg>
+			    <argname>DCubeCfg</argname>
+			    <argvalue>dcube_ttbarFastChain_reco_Split_fastSim_fullDigi.xml</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeRef</argname>
+			    <argvalue>2InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeMon</argname>
+			    <argvalue>today.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <keepFilePattern>DCube-2InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			</test>
+			<testToRemove>
+			    <jobGroupName>RTT:Top</jobGroupName>
+			    <testidentifier>CheckFileRunner0</testidentifier>
+			</testToRemove>         
+		      </jobTransform>
+		    </chainElement>-->
+		  </parallel>
+		  <chainElement>
+		    <jobTransform userJobId="2reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_Split_fastSim_fullDigi">
+		      <doc>Regression test of FastChainPileup job ttbarFastChain_reco_Split_fastSim_fullDigi in releases 20.20.X-VAL vs mig13</doc>
+		      <jobTransformJobName>2reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_Split_fastSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL ttbarFastChain_reco_Split_fastSim_fullDigi InDetStandardPlots.root FastChainPileup mig13 ttbarFastChain_reco_Split_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+			<test position="1">
+			  <modulename>RttLibraryTools</modulename>
+			  <testname>DCubeRunner</testname>
+			  <arg>
+			    <argname>DCubeCfg</argname>
+			    <argvalue>dcube_ttbarFastChain_reco_Split_fastSim_fullDigi.xml</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeRef</argname>
+			    <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>localRefFile</argname>
+			    <argvalue>True</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeMon</argname>
+			    <argvalue>today.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			</test>
+			<testToRemove>
+			    <jobGroupName>RTT:Top</jobGroupName>
+			    <testidentifier>CheckFileRunner0</testidentifier>
+			</testToRemove>		
+		    </jobTransform>
+		  </chainElement>
+<!--		  <chainElement>
+		    <jobTransform userJobId="reg_20.20.X_vs_mig13_ttbarFastChain_reco_Split_fastSim_fullDigi">
+		      <doc>Regression test of FastChainPileup job ttbarFastChain_reco_Split_fastSim_fullDigi in releases 20.20.X vs mig13</doc>
+		      <jobTransformJobName>reg_20.20.X_vs_mig13_ttbarFastChain_reco_Split_fastSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X ttbarFastChain_reco_Split_fastSim_fullDigi InDetStandardPlots.root FastChainPileup mig13 ttbarFastChain_reco_Split_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+			<test position="1">
+			  <modulename>RttLibraryTools</modulename>
+			  <testname>DCubeRunner</testname>
+			  <arg>
+			    <argname>DCubeCfg</argname>
+			    <argvalue>dcube_ttbarFastChain_reco_Split_fastSim_fullDigi.xml</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeRef</argname>
+			    <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>localRefFile</argname>
+			    <argvalue>True</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeMon</argname>
+			    <argvalue>today.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			</test>
+			<testToRemove>
+			    <jobGroupName>RTT:Top</jobGroupName>
+			    <testidentifier>CheckFileRunner0</testidentifier>
+			</testToRemove>		
+		    </jobTransform>
+		  </chainElement>-->
 		</sequential>
 		<sequential>
 		  <chainElement>
@@ -268,7 +588,7 @@
 		      <doc>standard reco</doc>
 		      <jobTransformJobName>standard_Reco_tf_fastSim_fullDigi</jobTransformJobName>
 		      <jobTransformCmd> 
-			  Reco_tf.py --inputRDOFile=RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile=AOD_fastSim_fullDigi.pool.root --autoConfiguration=everything --maxEvents=500 --preExec "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
+			  Reco_tf.py --inputRDOFile=RDO_pileup_fastsim_fulldigi.pool.root --outputAODFile=AOD_fastSim_fullDigi.pool.root --autoConfiguration=everything --maxEvents=500 --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
 		      </jobTransformCmd>
 		      <group>FastChainPileup</group>
 		      <chaindataset_info>
@@ -286,6 +606,104 @@
 		      AOD_fastSim_fullDigi.pool.root
 		    </chainfileout>
 		  </chainElement>
+		  <!--<chainElement>
+		    <jobTransform userJobId="3reg_20.20.3-VAL_vs_mig13_standard_Reco_tf_fastSim_fullDigi">
+		      <doc>comparison with reference sample obtained using 20.20.3</doc>
+		      <jobTransformJobName>3reg_20.20.3-VAL_vs_mig13_standard_Reco_tf_fastSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test.py standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+		      <test position="1">
+			<modulename>RttLibraryTools</modulename>
+			<testname>DCubeRunner</testname>
+			<arg>
+			  <argname>DCubeCfg</argname>
+			  <argvalue>dcube_standard_Reco_tf_fastSim_fullDigi.xml</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeRef</argname>
+			  <argvalue>3InDetStandardPlots.root</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeMon</argname>
+			  <argvalue>today.InDetStandardPlots.root</argvalue>
+			</arg>
+			<keepFilePattern>DCube-3InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		      </test>
+		      <testToRemove>
+			  <jobGroupName>RTT:Top</jobGroupName>
+			  <testidentifier>CheckFileRunner0</testidentifier>
+		      </testToRemove>         
+		    </jobTransform>
+		  </chainElement>-->
+		  <chainElement>
+		    <jobTransform userJobId="3reg_20.20.X-VAL_vs_mig13_standard_Reco_tf_fastSim_fullDigi">
+		      <doc>Regression test of FastChainPileup job standard_Reco_tf_fastSim_fullDigi in releases 20.20.X-VAL vs mig13</doc>
+		      <jobTransformJobName>3reg_20.20.X-VAL_vs_mig13_standard_Reco_tf_fastSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root FastChainPileup mig13 standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+			<test position="1">
+			  <modulename>RttLibraryTools</modulename>
+			  <testname>DCubeRunner</testname>
+			  <arg>
+			    <argname>DCubeCfg</argname>
+			    <argvalue>dcube_standard_Reco_tf_fastSim_fullDigi.xml</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeRef</argname>
+			    <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>localRefFile</argname>
+			    <argvalue>True</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeMon</argname>
+			    <argvalue>today.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			</test>
+			<testToRemove>
+			    <jobGroupName>RTT:Top</jobGroupName>
+			    <testidentifier>CheckFileRunner0</testidentifier>
+			</testToRemove>		
+		    </jobTransform>
+		  </chainElement>
+<!--		  <chainElement>
+		    <jobTransform userJobId="reg_20.20.X_vs_mig13_standard_Reco_tf_fastSim_fullDigi">
+		      <doc>Regression test of FastChainPileup job standard_Reco_tf_fastSim_fullDigi in releases 20.20.X vs mig13</doc>
+		      <jobTransformJobName>reg_20.20.X_vs_mig13_standard_Reco_tf_fastSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root FastChainPileup mig13 standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+			<test position="1">
+			  <modulename>RttLibraryTools</modulename>
+			  <testname>DCubeRunner</testname>
+			  <arg>
+			    <argname>DCubeCfg</argname>
+			    <argvalue>dcube_standard_Reco_tf_fastSim_fullDigi.xml</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeRef</argname>
+			    <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>localRefFile</argname>
+			    <argvalue>True</argvalue>
+			  </arg>
+			  <arg>
+			    <argname>DCubeMon</argname>
+			    <argvalue>today.InDetStandardPlots.root</argvalue>
+			  </arg>
+			  <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			</test>
+			<testToRemove>
+			    <jobGroupName>RTT:Top</jobGroupName>
+			    <testidentifier>CheckFileRunner0</testidentifier>
+			</testToRemove>		
+		    </jobTransform>
+		  </chainElement>-->
 		</sequential>
 		<!-- END run reco jobs & tests in parallel -->
 	      </parallel>
@@ -298,7 +716,7 @@
 		  <doc>FastChain simdigi</doc>
 		  <jobTransformJobName>ttbarFastChain_fullSim_fullDigi</jobTransformJobName>
 		  <jobTransformCmd> 
-		      FastChain_tf.py --simulator ATLFASTII --digiSteeringConf "SplitNoMerge" --useISF True --randomSeed 123 --enableLooperKiller True --inputEVNTFile /afs/cern.ch/atlas/offline/ProdData/16.6.X/16.6.7.Y/ttbar_muplusjets-pythia6-7000.evgen.pool.root --outputRDOFile RDO_pileup_fullsim_fulldigi.pool.root --maxEvents 50 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19 --preSimExec 'from TrkDetDescrSvc.TrkDetDescrJobProperties import TrkDetFlags;TrkDetFlags.TRT_BuildStrawLayers=True' --postInclude='PyJobTransforms/UseFrontier.py,G4AtlasTests/postInclude.DCubeTest.py,DigitizationTests/postInclude.RDO_Plots.py' --postExec 'from AthenaCommon.ConfigurationShelve import saveToAscii;saveToAscii("config.txt")' --DataRunNumber '222525' --ignorePatterns='G4TestAlg.Lucid.{5}FATAL.{8}LucidHitsTestTool.cxx:66\ \(StatusCode\ LucidHitsTestTool::processEvent\(\)\):\ code\ 0:\ evtStore\(\)->retrieve\(iter\)','FATAL\ message\ limit\ \(500\)\ reached\ for\ G4TestAlg.LucidHitsTestTool.'
+		      FastChain_tf.py --simulator ATLFASTII --digiSteeringConf "SplitNoMerge" --useISF True --randomSeed 123 --enableLooperKiller True --inputEVNTFile /afs/cern.ch/atlas/offline/ProdData/16.6.X/16.6.7.Y/ttbar_muplusjets-pythia6-7000.evgen.pool.root --outputRDOFile RDO_pileup_fullsim_fulldigi.pool.root --maxEvents 50 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31 --preSimExec 'from TrkDetDescrSvc.TrkDetDescrJobProperties import TrkDetFlags;TrkDetFlags.TRT_BuildStrawLayers=True' --postInclude='PyJobTransforms/UseFrontier.py,G4AtlasTests/postInclude.DCubeTest.py,DigitizationTests/postInclude.RDO_Plots.py' --postExec 'from AthenaCommon.ConfigurationShelve import saveToAscii;saveToAscii("config.txt")' --DataRunNumber '222525' --ignorePatterns='G4TestAlg.Lucid.{5}FATAL.{8}LucidHitsTestTool.cxx:66\ \(StatusCode\ LucidHitsTestTool::processEvent\(\)\):\ code\ 0:\ evtStore\(\)->retrieve\(iter\)','FATAL\ message\ limit\ \(500\)\ reached\ for\ G4TestAlg.LucidHitsTestTool.'
 		  </jobTransformCmd>
 		  <group>FastChainPileup</group>
 		  <queue>medium</queue>
@@ -308,13 +726,77 @@
 		</chainfileout>
 	      </chainElement>
 	      <parallel>
+		<!--<chainElement>
+		  <jobTransform userJobId="6reg_20.20.3_vs_mig13_ttbarFastChain_fullSim_fullDigi">
+		    <doc>comparison with reference sample obtained using 20.20.3</doc>
+		    <jobTransformJobName>6reg_20.20.3_vs_mig13_ttbarFastChain_fullSim_fullDigi</jobTransformJobName>
+		    <jobTransformCmd>sim_reg_test.py ttbarFastChain_fullSim_fullDigi RDO_truth.root</jobTransformCmd>
+		    <group>FastChainPileup</group>
+		    <queue>medium</queue>
+		    <test position="1">
+		      <modulename>RttLibraryTools</modulename>
+		      <testname>DCubeRunner</testname>
+		      <arg>
+			<argname>DCubeCfg</argname>
+			<argvalue>dcube_RDO_truth_nopileup.xml</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeRef</argname>
+			<argvalue>6RDO_truth.root</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeMon</argname>
+			<argvalue>today.RDO_truth.root</argvalue>
+		      </arg>
+		      <keepFilePattern>DCube-6RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		    </test>
+		    <testToRemove>
+			<jobGroupName>RTT:Top</jobGroupName>
+			<testidentifier>CheckFileRunner0</testidentifier>
+		    </testToRemove>         
+		  </jobTransform>
+		</chainElement>-->
+		<chainElement>
+		  <jobTransform userJobId="6reg_20.20.X-VAL_vs_mig13_ttbarFastChain_fullSim_fullDigi">
+		    <doc>comparison with job in 20.20.X-VAL</doc>
+		    <jobTransformJobName>6reg_20.20.X-VAL_vs_mig13_ttbarFastChain_fullSim_fullDigi</jobTransformJobName>
+		    <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL ttbarFastChain_fullSim_fullDigi RDO_truth.root FastChainPileup mig13 ttbarFastChain_fullSim_fullDigi RDO_truth.root</jobTransformCmd>
+		    <group>FastChainPileup</group>
+		    <queue>medium</queue>
+		    <test position="1">
+		      <modulename>RttLibraryTools</modulename>
+		      <testname>DCubeRunner</testname>
+		      <arg>
+			<argname>DCubeCfg</argname>
+			<argvalue>dcube_RDO_truth_nopileup.xml</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeRef</argname>
+			<argvalue>yesterday.RDO_truth.root</argvalue>
+		      </arg>
+		      <arg>
+			<argname>localRefFile</argname>
+			<argvalue>True</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeMon</argname>
+			<argvalue>today.RDO_truth.root</argvalue>
+		      </arg>
+		      <keepFilePattern>DCube-yesterday.RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		    </test>
+		    <testToRemove>
+			<jobGroupName>RTT:Top</jobGroupName>
+			<testidentifier>CheckFileRunner0</testidentifier>
+		    </testToRemove>         
+		  </jobTransform>
+		</chainElement>
 		<sequential>
 		  <chainElement>
 		    <jobTransform userJobId="ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi">
 		      <doc>FastChain reco</doc>
 		      <jobTransformJobName>ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi</jobTransformJobName>
 		      <jobTransformCmd> 
-			  FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19  --inputRDOFile RDO_pileup_fullsim_fulldigi.pool.root --outputAODFile AOD_noSplit_pseudoTracking_fullSim_fullDigi.pool.root --preExec "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doPseudoTracking.set_Value_and_Lock(True);rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);InDetFlags.doTrackSegmentsTRT.set_Value_and_Lock(True);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
+			  FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31  --inputRDOFile RDO_pileup_fullsim_fulldigi.pool.root --outputAODFile AOD_noSplit_pseudoTracking_fullSim_fullDigi.pool.root --preExec "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doPseudoTracking.set_Value_and_Lock(True);rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);InDetFlags.doTrackSegmentsTRT.set_Value_and_Lock(True);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
 		      </jobTransformCmd>
 		      <group>FastChainPileup</group>
 		      <chaindataset_info>
@@ -331,8 +813,195 @@
 		    <chainfileout>
 		      AOD_noSplit_pseudoTracking_fullSim_fullDigi.pool.root
 		    </chainfileout>
-		   </chainElement>
+		  </chainElement>
+		  <!--<chainElement>
+		    <jobTransform userJobId="4reg_20.20.3_vs_mig13_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi">
+		      <doc>comparison with reference sample obtained using 20.20.3</doc>
+		      <jobTransformJobName>4reg_20.20.3_vs_mig13_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test.py ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+		      <test position="1">
+			<modulename>RttLibraryTools</modulename>
+			<testname>DCubeRunner</testname>
+			<arg>
+			  <argname>DCubeCfg</argname>
+			  <argvalue>dcube_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi.xml</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeRef</argname>
+			  <argvalue>4InDetStandardPlots.root</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeMon</argname>
+			  <argvalue>today.InDetStandardPlots.root</argvalue>
+			</arg>
+			<keepFilePattern>DCube-4InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		      </test>
+		      <testToRemove>
+			  <jobGroupName>RTT:Top</jobGroupName>
+			  <testidentifier>CheckFileRunner0</testidentifier>
+		      </testToRemove>         
+		    </jobTransform>
+		  </chainElement>-->
+		  <chainElement>
+		      <jobTransform userJobId="4reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi">
+			<doc>Regression test of FastChainPileup job ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi in releases 20.20.X-VAL vs mig13</doc>
+			<jobTransformJobName>4reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi</jobTransformJobName>
+			<jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi InDetStandardPlots.root FastChainPileup mig13 ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+			<group>FastChainPileup</group>
+			<queue>medium</queue>
+			  <test position="1">
+			    <modulename>RttLibraryTools</modulename>
+			    <testname>DCubeRunner</testname>
+			    <arg>
+			      <argname>DCubeCfg</argname>
+			      <argvalue>dcube_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi.xml</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>DCubeRef</argname>
+			      <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>localRefFile</argname>
+			      <argvalue>True</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>DCubeMon</argname>
+			      <argvalue>today.InDetStandardPlots.root</argvalue>
+			    </arg>
+			    <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			  </test>
+			  <testToRemove>
+			      <jobGroupName>RTT:Top</jobGroupName>
+			      <testidentifier>CheckFileRunner0</testidentifier>
+			  </testToRemove>		
+		      </jobTransform>
+		    </chainElement>
+<!--		    <chainElement>
+		      <jobTransform userJobId="reg_20.20.X_vs_mig13_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi">
+			<doc>Regression test of FastChainPileup job ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi in releases 20.20.X vs mig13</doc>
+			<jobTransformJobName>reg_20.20.X_vs_mig13_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi</jobTransformJobName>
+			<jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi InDetStandardPlots.root FastChainPileup mig13 ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+			<group>FastChainPileup</group>
+			<queue>medium</queue>
+			  <test position="1">
+			    <modulename>RttLibraryTools</modulename>
+			    <testname>DCubeRunner</testname>
+			    <arg>
+			      <argname>DCubeCfg</argname>
+			      <argvalue>dcube_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi.xml</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>DCubeRef</argname>
+			      <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>localRefFile</argname>
+			      <argvalue>True</argvalue>
+			    </arg>
+			    <arg>
+			      <argname>DCubeMon</argname>
+			      <argvalue>today.InDetStandardPlots.root</argvalue>
+			    </arg>
+			    <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+			  </test>
+			  <testToRemove>
+			      <jobGroupName>RTT:Top</jobGroupName>
+			      <testidentifier>CheckFileRunner0</testidentifier>
+			  </testToRemove>		
+		      </jobTransform>
+		    </chainElement>-->
 		  </sequential>
+		  <sequential>
+		    <chainElement>
+		    <jobTransform userJobId="ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi">
+		      <doc>FastChain reco</doc>
+		      <jobTransformJobName>ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd> 
+			  FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31  --inputRDOFile RDO_pileup_fullsim_fulldigi.pool.root --outputAODFile AOD_noSplit_noPseudoTracking_fullSim_fullDigi.pool.root --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);" "InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
+		      </jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <chaindataset_info>
+			  <jobTransformData />    
+			  <chaindatasetName>RDO_pileup_fullsim_fulldigi.pool.root</chaindatasetName>
+			  <!-- If the file on the previous line is not in the chain store, then use the following fallback file. -->
+			  <dataset_info>
+			      <jobTransformData />
+			      <datasetName>/afs/cern.ch/work/a/abasalae/public/FastChainRTT/fallbackRTT/RDO_pileup_fullsim_fulldigi.pool.root</datasetName>
+			  </dataset_info>
+		      </chaindataset_info>
+		      <queue>medium</queue>
+		    </jobTransform>
+		    <chainfileout>
+		      AOD_noSplit_noPseudoTracking_fullSim_fullDigi.pool.root
+		    </chainfileout>
+		  </chainElement>
+		  <!--<chainElement>
+		    <jobTransform userJobId="8reg_20.20.3_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi">
+		      <doc>comparison with reference sample obtained using 20.20.3</doc>
+		      <jobTransformJobName>8reg_20.20.3_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test.py ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+		      <test position="1">
+			<modulename>RttLibraryTools</modulename>
+			<testname>DCubeRunner</testname>
+			<arg>
+			  <argname>DCubeCfg</argname>
+			  <argvalue>dcube_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi.xml</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeRef</argname>
+			  <argvalue>8InDetStandardPlots.root</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeMon</argname>
+			  <argvalue>today.InDetStandardPlots.root</argvalue>
+			</arg>
+			<keepFilePattern>DCube-8InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		      </test>
+		      <testToRemove>
+			  <jobGroupName>RTT:Top</jobGroupName>
+			  <testidentifier>CheckFileRunner0</testidentifier>
+		      </testToRemove>         
+		    </jobTransform>
+		  </chainElement>-->
+		  <chainElement>
+		    <jobTransform userJobId="8reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi">
+		      <doc>comparison with 20.20.X-VAL</doc>
+		      <jobTransformJobName>8reg_20.20.X-VAL_vs_mig13_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi</jobTransformJobName>
+		      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi InDetStandardPlots.root FastChainPileup mig13 ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
+		      <group>FastChainPileup</group>
+		      <queue>medium</queue>
+		      <test position="1">
+			<modulename>RttLibraryTools</modulename>
+			<testname>DCubeRunner</testname>
+			<arg>
+			  <argname>DCubeCfg</argname>
+			  <argvalue>dcube_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi.xml</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeRef</argname>
+			  <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+			</arg>
+			<arg>
+			  <argname>localRefFile</argname>
+			  <argvalue>True</argvalue>
+			</arg>
+			<arg>
+			  <argname>DCubeMon</argname>
+			  <argvalue>today.InDetStandardPlots.root</argvalue>
+			</arg>
+			<keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		      </test>
+		      <testToRemove>
+			  <jobGroupName>RTT:Top</jobGroupName>
+			  <testidentifier>CheckFileRunner0</testidentifier>
+		      </testToRemove>         
+		    </jobTransform>
+		  </chainElement>
+		</sequential>
 		<chainElement>
 		  <jobTransform userJobId="standard_Reco_tf_fullSim_fullDigi">
 		    <doc>standard reco</doc>
@@ -395,7 +1064,7 @@
 			<testname>DCubeRunner</testname>
 			<arg>
 			  <argname>DCubeCfg</argname>
-			  <argvalue>dcube_RDO_truth.xml</argvalue>
+			  <argvalue>dcube_RDO_truth_nopileup.xml</argvalue>
 			</arg>
 			<arg>
 			  <argname>DCubeRef</argname>
@@ -423,7 +1092,7 @@
 		  <doc>FastChain simdigi</doc>
 		  <jobTransformJobName>ttbarFastChain_fastSim_fastDigi</jobTransformJobName>
 		  <jobTransformCmd> 
-		      FastChain_tf.py --simulator ATLFASTIIF_PileUp --digiSteeringConf "SplitNoMerge" --useISF True --randomSeed 123 --enableLooperKiller True --inputEVNTFile /afs/cern.ch/atlas/offline/ProdData/16.6.X/16.6.7.Y/ttbar_muplusjets-pythia6-7000.evgen.pool.root --outputRDOFile RDO_pileup_fastsim_fastdigi.pool.root --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19 --preSimExec 'from TrkDetDescrSvc.TrkDetDescrJobProperties import TrkDetFlags;TrkDetFlags.TRT_BuildStrawLayers=True' --preSimInclude FastChainPileup/FastPileup.py --postInclude='PyJobTransforms/UseFrontier.py,G4AtlasTests/postInclude.DCubeTest_FCpileup.py,DigitizationTests/postInclude.RDO_Plots.py' --postExec 'from AthenaCommon.ConfigurationShelve import saveToAscii;saveToAscii("config.txt")' --DataRunNumber '222525' --postSimExec='genSeq.Pythia8.NCollPerEvent=10;' --preDigiInclude="SimulationJobOptions/preInclude.FastSCT_Digi.py,SimulationJobOptions/preInclude.FastPixelDigi.py,SimulationJobOptions/preInclude.FastTRT_Digi.py" --ignorePatterns='G4TestAlg.Lucid.{5}FATAL.{8}LucidHitsTestTool.cxx:66\ \(StatusCode\ LucidHitsTestTool::processEvent\(\)\):\ code\ 0:\ evtStore\(\)->retrieve\(iter\)','FATAL\ message\ limit\ \(500\)\ reached\ for\ G4TestAlg.LucidHitsTestTool.'
+		      FastChain_tf.py --simulator ATLFASTIIF_PileUp --digiSteeringConf "SplitNoMergeFF" --useISF True --randomSeed 123 --enableLooperKiller True --inputEVNTFile /afs/cern.ch/atlas/offline/ProdData/16.6.X/16.6.7.Y/ttbar_muplusjets-pythia6-7000.evgen.pool.root --outputRDOFile RDO_pileup_fastsim_fastdigi.pool.root --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31 --preSimExec 'from TrkDetDescrSvc.TrkDetDescrJobProperties import TrkDetFlags;TrkDetFlags.TRT_BuildStrawLayers=True' --preSimInclude FastChainPileup/FastPileup.py --postInclude='PyJobTransforms/UseFrontier.py,G4AtlasTests/postInclude.DCubeTest_FCpileup.py,DigitizationTests/postInclude.RDO_Plots.py' --postExec 'RAWtoESD:import AthenaCommon.AlgSequence as acas;job = acas.AlgSequence();del job.InDetSCT_Clusterization;from AthenaCommon.ConfigurationShelve import saveToAscii;saveToAscii("config.txt")' --DataRunNumber '222525' --postSimExec='genSeq.Pythia8.NCollPerEvent=10;' --ignorePatterns='G4TestAlg.Lucid.{5}FATAL.{8}LucidHitsTestTool.cxx:66\ \(StatusCode\ LucidHitsTestTool::processEvent\(\)\):\ code\ 0:\ evtStore\(\)->retrieve\(iter\)','FATAL\ message\ limit\ \(500\)\ reached\ for\ G4TestAlg.LucidHitsTestTool.' --preDigiInclude="FastTRT_Digitization/preInclude.FastTRT_Digi.Validation.py"
 		  </jobTransformCmd>
 		  <group>FastChainPileup</group>
 		  <queue>medium</queue>
@@ -433,12 +1102,76 @@
 		</chainfileout>
 	      </chainElement>
 	      <parallel>
+		<!--<chainElement>
+		  <jobTransform userJobId="7reg_20.20.3_vs_mig13_ttbarFastChain_fastSim_fastDigi">
+		    <doc>comparison with reference sample obtained using 20.20.3</doc>
+		    <jobTransformJobName>7reg_20.20.3_vs_mig13_ttbarFastChain_fastSim_fastDigi</jobTransformJobName>
+		    <jobTransformCmd>sim_reg_test.py ttbarFastChain_fastSim_fastDigi RDO_truth.root</jobTransformCmd>
+		    <group>FastChainPileup</group>
+		    <queue>medium</queue>
+		    <test position="1">
+		      <modulename>RttLibraryTools</modulename>
+		      <testname>DCubeRunner</testname>
+		      <arg>
+			<argname>DCubeCfg</argname>
+			<argvalue>dcube_RDO_truth_fastdigi.xml</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeRef</argname>
+			<argvalue>7RDO_truth.root</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeMon</argname>
+			<argvalue>today.RDO_truth.root</argvalue>
+		      </arg>
+		      <keepFilePattern>DCube-7RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		    </test>
+		    <testToRemove>
+			<jobGroupName>RTT:Top</jobGroupName>
+			<testidentifier>CheckFileRunner0</testidentifier>
+		    </testToRemove>         
+		  </jobTransform>
+		</chainElement>-->
+		<chainElement>
+		  <jobTransform userJobId="7reg_20.20.X-VAL_vs_mig13_ttbarFastChain_fastSim_fastDigi">
+		    <doc>comparison with job in 20.20.X-VAL</doc>
+		    <jobTransformJobName>7reg_20.20.X-VAL_vs_mig13_ttbarFastChain_fastSim_fastDigi</jobTransformJobName>
+		    <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL ttbarFastChain_fastSim_fastDigi RDO_truth.root FastChainPileup mig13 ttbarFastChain_fastSim_fastDigi RDO_truth.root</jobTransformCmd>
+		    <group>FastChainPileup</group>
+		    <queue>medium</queue>
+		    <test position="1">
+		      <modulename>RttLibraryTools</modulename>
+		      <testname>DCubeRunner</testname>
+		      <arg>
+			<argname>DCubeCfg</argname>
+			<argvalue>dcube_RDO_truth_fastdigi.xml</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeRef</argname>
+			<argvalue>yesterday.RDO_truth.root</argvalue>
+		      </arg>
+		      <arg>
+			<argname>localRefFile</argname>
+			<argvalue>True</argvalue>
+		      </arg>
+		      <arg>
+			<argname>DCubeMon</argname>
+			<argvalue>today.RDO_truth.root</argvalue>
+		      </arg>
+		      <keepFilePattern>DCube-yesterday.RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		    </test>
+		    <testToRemove>
+			<jobGroupName>RTT:Top</jobGroupName>
+			<testidentifier>CheckFileRunner0</testidentifier>
+		    </testToRemove>         
+		  </jobTransform>
+		</chainElement>
 		<chainElement>
 		  <jobTransform userJobId="ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fastDigi">
 		    <doc>FastChain reco</doc>
 		    <jobTransformJobName>ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fastDigi</jobTransformJobName>
 		    <jobTransformCmd> 
-			FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-19  --inputRDOFile RDO_pileup_fastsim_fastdigi.pool.root --outputAODFile AOD_noSplit_noPseudoTracking_fastSim_fastDigi.pool.root --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);InDetFlags.pixelClusterSplittingType.set_Value_and_Lock(\"AnalogClus\");InDetFlags.doTIDE_Ambi.set_Value_and_Lock(False);InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
+			FastChain_tf.py --maxEvents 500 --skipEvents 0 --geometryVersion ATLAS-R2-2015-03-01-00 --conditionsTag OFLCOND-RUN12-SDR-31  --inputRDOFile RDO_pileup_fastsim_fastdigi.pool.root --outputAODFile AOD_noSplit_noPseudoTracking_fastSim_fastDigi.pool.root --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);recAlgs.doTrigger.set_Value_and_Lock(False);InDetFlags.pixelClusterSplittingType.set_Value_and_Lock(\"AnalogClus\");InDetFlags.doTIDE_Ambi.set_Value_and_Lock(False);InDetFlags.doStandardPlots.set_Value_and_Lock(True)"
 		    </jobTransformCmd>
 		    <group>FastChainPileup</group>
 		    <chaindataset_info>
@@ -495,7 +1228,7 @@
 			<testname>DCubeRunner</testname>
 			<arg>
 			  <argname>DCubeCfg</argname>
-			  <argvalue>dcube_RDO_truth.xml</argvalue>
+			  <argvalue>dcube_RDO_truth_fastdigi.xml</argvalue>
 			</arg>
 			<arg>
 			  <argname>DCubeRef</argname>
@@ -520,9 +1253,9 @@
 	  </parallel>
 	  <!-- Run tests dependent on different reco jobs -->
 	  <chainElement>
-	    <jobTransform userJobId="reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_Split_fastSim_fullDigi">
+	    <jobTransform userJobId="0reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_Split_fastSim_fullDigi">
 	      <doc>Regression test of FastChainPileup job standard_Reco_tf_fastSim_fullDigi vs ttbarFastChain_reco_Split_fastSim_fullDigi</doc>
-	      <jobTransformJobName>reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_Split_fastSim_fullDigi</jobTransformJobName>
+	      <jobTransformJobName>0reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_Split_fastSim_fullDigi</jobTransformJobName>
 	      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup current standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root FastChainPileup current ttbarFastChain_reco_Split_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
 	      <group>FastChainPileup</group>
 	      <queue>medium</queue>
@@ -554,9 +1287,9 @@
 	    </jobTransform>
 	  </chainElement> 
 	  <chainElement>
-	    <jobTransform userJobId="reg_standard_Reco_tf_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi">
+	    <jobTransform userJobId="0reg_standard_Reco_tf_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi">
 	      <doc>Regression test of FastChainPileup job standard_Reco_tf_fullSim_fullDigi vs ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi</doc>
-	      <jobTransformJobName>reg_standard_Reco_tf_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi</jobTransformJobName>
+	      <jobTransformJobName>0reg_standard_Reco_tf_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi</jobTransformJobName>
 	      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup current standard_Reco_tf_fullSim_fullDigi InDetStandardPlots.root FastChainPileup current ttbarFastChain_reco_noSplit_pseudoTracking_fullSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
 	      <group>FastChainPileup</group>
 	      <queue>medium</queue>
@@ -588,9 +1321,9 @@
 	    </jobTransform>
 	  </chainElement>   
 	  <chainElement>
-	    <jobTransform userJobId="reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi">
+	    <jobTransform userJobId="0reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi">
 	      <doc>Regression test of FastChainPileup job standard_Reco_tf_fastSim_fullDigi vs ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi</doc>
-	      <jobTransformJobName>reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi</jobTransformJobName>
+	      <jobTransformJobName>0reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi</jobTransformJobName>
 	      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup current standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root FastChainPileup current ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
 	      <group>FastChainPileup</group>
 	      <queue>medium</queue>
@@ -621,10 +1354,10 @@
 		</testToRemove>		
 	    </jobTransform>
 	  </chainElement> 
-	  <chainElement>
-	    <jobTransform userJobId="reg_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi">
+	  <!--<chainElement>
+	    <jobTransform userJobId="0reg_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi">
 	      <doc>Regression test of FastChainPileup job ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi vs ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi</doc>
-	      <jobTransformJobName>reg_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi</jobTransformJobName>
+	      <jobTransformJobName>0reg_ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi_vs_ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi</jobTransformJobName>
 	      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup current ttbarFastChain_reco_noSplit_noPseudoTracking_fullSim_fullDigi InDetStandardPlots.root FastChainPileup current ttbarFastChain_reco_noSplit_noPseudoTracking_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
 	      <group>FastChainPileup</group>
 	      <queue>medium</queue>
@@ -654,11 +1387,11 @@
 		    <testidentifier>CheckFileRunner0</testidentifier>
 		</testToRemove>		
 	    </jobTransform>
-	  </chainElement>
+	  </chainElement>-->
 	  <chainElement>
-	    <jobTransform userJobId="reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi">
+	    <jobTransform userJobId="0reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi">
 	      <doc>Regression test of FastChainPileup job standard_Reco_tf_fastSim_fullDigi vs ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi</doc>
-	      <jobTransformJobName>reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi</jobTransformJobName>
+	      <jobTransformJobName>0reg_standard_Reco_tf_fastSim_fullDigi_vs_ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi</jobTransformJobName>
 	      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup current standard_Reco_tf_fastSim_fullDigi InDetStandardPlots.root FastChainPileup current ttbarFastChain_reco_noSplit_pseudoTracking_fastSim_fullDigi InDetStandardPlots.root</jobTransformCmd>
 	      <group>FastChainPileup</group>
 	      <queue>medium</queue>
@@ -691,6 +1424,440 @@
 	  </chainElement>
 	<!-- END main job sequence -->
 	</sequential>
+	<!-- run standardReco_pseudoTracking_oldHits job and test -->
+	<sequential>
+	  <chainElement>
+	    <jobTransform userJobId="standardReco_pseudoTracking_oldHits">
+	      <doc>FastChain reco</doc>
+	      <jobTransformJobName>standardReco_pseudoTracking_oldHits</jobTransformJobName>
+	      <jobTransformCmd> 
+		  Reco_tf.py --inputHITSFile=/afs/cern.ch/user/a/abasalae/work/FastChainRTT/20.20.3_ReferenceProduction/standardReco_pseudoTracking_oldHits/valid1/HITS.06695914._000339.pool.root.1 --outputESDFile=ESD.pool.root --autoConfiguration=everything --maxEvents=500 --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);from RecExConfig.RecAlgsFlags import recAlgs;recAlgs.doTrigger.set_Value_and_Lock(False);from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doPseudoTracking.set_Value_and_Lock(True);InDetFlags.doStandardPlots.set_Value_and_Lock(True);" --outputRDOFile=RDO.oldhits.pool.root --postInclude='HITtoRDO:G4AtlasTests/postInclude.DCubeTest.py,DigitizationTests/postInclude.RDO_Plots.py'
+	      </jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <chaindataset_info>
+		  <jobTransformData />    
+		  <chaindatasetName>None</chaindatasetName>
+		  <!-- If the file on the previous line is not in the chain store, then use the following fallback file. -->
+		  <dataset_info>
+		      <jobTransformData />
+		      <datasetName>/afs/cern.ch/user/a/abasalae/work/FastChainRTT/20.20.3_ReferenceProduction/standardReco_pseudoTracking_oldHits/valid1/HITS.06695914._000339.pool.root.1</datasetName>
+		  </dataset_info>
+	      </chaindataset_info>
+	      <queue>medium</queue>
+	    </jobTransform>
+	    <chainfileout>
+	      ESD.pool.root
+	    </chainfileout>
+	    <chainfileout>
+	      RDO.oldhits.pool.root 
+	    </chainfileout>
+	  </chainElement>
+	  <!-- run tests in parallel-->
+	  <parallel>
+	   <chainElement>
+	    <jobTransform userJobId="standardReco_pseudoTracking_oldHits_digi_Reg">
+	      <doc>Regression test between releases</doc>
+	      <jobTransformJobName>standardReco_pseudoTracking_oldHits_digi_Reg</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test.py standardReco_pseudoTracking_oldHits RDO_truth.root RDO.pool.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>long</queue>
+	      <test position="1">
+		<modulename>FlexibleDiffPoolFilesRunner</modulename>
+		<testname>FlexibleDiffPoolFilesRunner</testname>
+		<arg>
+		  <argname>fileName</argname>
+		  <argvalue>today.RDO.oldhits.pool.root</argvalue>
+		</arg>
+		<arg>
+		  <argname>refFileName</argname>
+		  <argvalue>yesterday.RDO.oldhits.pool.root</argvalue>
+		</arg>
+		<arg>
+		  <argname>localRefFile</argname>
+		  <argvalue>True</argvalue>
+		</arg>
+		<keepFilePattern>today.RDO.oldhits.pool.root_yesterday.RDO.oldhits.pool.root.diffPool</keepFilePattern>
+	      </test>
+		<test position="2">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube_RDO_truth.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.RDO_truth.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.RDO_truth.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.RDO_truth.root/today.RDO_truth.root.dcube.xml.php</keepFilePattern>
+		</test>
+	      </jobTransform>
+	    </chainElement>
+	    <chainElement>
+	      <jobTransform userJobId="standardReco_pseudoTracking_oldHits_Reg">
+		<doc>Regression test between releases</doc>
+		<jobTransformJobName>standardReco_pseudoTracking_oldHits_Reg</jobTransformJobName>
+		<jobTransformCmd>sim_reg_test.py standardReco_pseudoTracking_oldHits InDetStandardPlots.root</jobTransformCmd>
+		<group>FastChainPileup</group>
+		<queue>long</queue>
+		  <test position="1">
+		    <modulename>RttLibraryTools</modulename>
+		    <testname>DCubeRunner</testname>
+		    <arg>
+		      <argname>DCubeCfg</argname>
+		      <argvalue>dcube_standardReco_pseudoTracking_oldHits_Reg.xml</argvalue>
+		    </arg>
+		    <arg>
+		      <argname>DCubeRef</argname>
+		      <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+		    </arg>
+		    <arg>
+		      <argname>localRefFile</argname>
+		      <argvalue>True</argvalue>
+		    </arg>
+		    <arg>
+		      <argname>DCubeMon</argname>
+		      <argvalue>today.InDetStandardPlots.root</argvalue>
+		    </arg>
+		    <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		  </test>
+		<testToRemove>
+		  <jobGroupName>RTT:Top</jobGroupName>
+		  <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove> 
+		</jobTransform>
+	    </chainElement>
+	    <!--<chainElement>
+	      <jobTransform userJobId="9reg_20.20.3_vs_mig13_standardReco_pseudoTracking_oldHits">
+		<doc>comparison with reference sample obtained using 20.20.3</doc>
+		<jobTransformJobName>9reg_20.20.3_vs_mig13_standardReco_pseudoTracking_oldHits</jobTransformJobName>
+		<jobTransformCmd>sim_reg_test.py standardReco_pseudoTracking_oldHits InDetStandardPlots.root</jobTransformCmd>
+		<group>FastChainPileup</group>
+		<queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube_standardReco_pseudoTracking_oldHits.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>9InDetStandardPlots.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.InDetStandardPlots.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-9InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>         
+	      </jobTransform>
+	    </chainElement>-->
+	    <chainElement>
+	      <jobTransform userJobId="9reg_20.20.X-VAL_vs_mig13_standardReco_pseudoTracking_oldHits">
+		<doc>comparison with 20.20.X-VAL</doc>
+		<jobTransformJobName>9reg_20.20.X-VAL_vs_mig13_standardReco_pseudoTracking_oldHits</jobTransformJobName>
+		<jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL standardReco_pseudoTracking_oldHits InDetStandardPlots.root FastChainPileup mig13 standardReco_pseudoTracking_oldHits InDetStandardPlots.root</jobTransformCmd>
+		<group>FastChainPileup</group>
+		<queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube_standardReco_pseudoTracking_oldHits.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>		  
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.InDetStandardPlots.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>         
+	      </jobTransform>
+	    </chainElement>
+	  </parallel>
+	</sequential>
+	<!-- run standardReco_pseudoTracking_oldHits job and test -->
+	<sequential>
+	  <chainElement>
+	    <jobTransform userJobId="standardReco_pseudoTracking_oldHits_20.20.X-VAL_RDO">
+	      <doc>FastChain reco</doc>
+	      <jobTransformJobName>standardReco_pseudoTracking_oldHits_20.20.X-VAL_RDO</jobTransformJobName>
+	      <jobTransformCmd> 
+		  sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL standardReco_pseudoTracking_oldHits RDO.oldhits.pool.root FastChainPileup 20.20.X-VAL standardReco_pseudoTracking_oldHits RDO.oldhits.pool.root;Reco_tf.py --inputRDOFile=today.RDO.oldhits.pool.root --outputESDFile=ESD.pool.root --autoConfiguration=everything --maxEvents=500 --preExec "RAWtoESD:rec.doTrigger.set_Value_and_Lock(False);from RecExConfig.RecAlgsFlags import recAlgs;recAlgs.doTrigger.set_Value_and_Lock(False);from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doPseudoTracking.set_Value_and_Lock(True);InDetFlags.doStandardPlots.set_Value_and_Lock(True);"
+	      </jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+	    </jobTransform>
+	  </chainElement>
+	  <chainElement>
+	    <jobTransform userJobId="10reg_20.20.X-VAL_vs_mig13_standardReco_pseudoTracking_oldHits_20.20.X-VAL_RDO">
+	      <doc>comparison with 20.20.X-VAL</doc>
+	      <jobTransformJobName>10reg_20.20.X-VAL_vs_mig13_standardReco_pseudoTracking_oldHits_20.20.X-VAL_RDO</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test_fastchain.py FastChainPileup 20.20.X-VAL standardReco_pseudoTracking_oldHits InDetStandardPlots.root FastChainPileup mig13 standardReco_pseudoTracking_oldHits_20.20.X-VAL_RDO InDetStandardPlots.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+	      <test position="1">
+		<modulename>RttLibraryTools</modulename>
+		<testname>DCubeRunner</testname>
+		<arg>
+		  <argname>DCubeCfg</argname>
+		  <argvalue>dcube_standardReco_pseudoTracking_oldHits.xml</argvalue>
+		</arg>
+		<arg>
+		  <argname>DCubeRef</argname>
+		  <argvalue>yesterday.InDetStandardPlots.root</argvalue>
+		</arg>
+		<arg>
+		  <argname>localRefFile</argname>
+		  <argvalue>True</argvalue>
+		</arg>		  
+		<arg>
+		  <argname>DCubeMon</argname>
+		  <argvalue>today.InDetStandardPlots.root</argvalue>
+		</arg>
+		<keepFilePattern>DCube-yesterday.InDetStandardPlots.root/today.InDetStandardPlots.root.dcube.xml.php</keepFilePattern>
+	      </test>
+	      <testToRemove>
+		  <jobGroupName>RTT:Top</jobGroupName>
+		  <testidentifier>CheckFileRunner0</testidentifier>
+	      </testToRemove>         
+	    </jobTransform>
+	  </chainElement>
+	</sequential>
+	<!-- run independent tests in parallel -->
+	<!--<parallel>
+	  <chainElement>
+	    <jobTransform userJobId="reg_20.20.X-VAL_vs_mig13_ATLFASTIIF_ttbar_1sim">
+	      <doc>Regression test of ISF_Validation job ATLFASTIIF_ttbar_1sim in releases 20.20.X-VAL vs mig13</doc>
+	      <jobTransformJobName>reg_20.20.X-VAL_vs_mig13_ATLFASTIIF_ttbar_1sim</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test_fastchain.py ISF_Validation 20.20.X-VAL ATLFASTIIF_ttbar_1sim truth.root ISF_Validation mig13 ATLFASTIIF_ttbar_1sim truth.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube_truth_ATLFASTII.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.truth.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.truth.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.truth.root/today.truth.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>		
+	    </jobTransform>
+	  </chainElement>
+	  <chainElement>
+	    <jobTransform userJobId="reg_20.20.X_vs_mig13_ATLFASTIIF_ttbar_1sim">
+	      <doc>Regression test of ISF_Validation job ATLFASTIIF_ttbar_1sim in releases 20.20.X vs mig13</doc>
+	      <jobTransformJobName>reg_20.20.X_vs_mig13_ATLFASTIIF_ttbar_1sim</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test_fastchain.py ISF_Validation 20.20.X ATLFASTIIF_ttbar_1sim truth.root ISF_Validation mig13 ATLFASTIIF_ttbar_1sim truth.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube_truth_ATLFASTII.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.truth.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.truth.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.truth.root/today.truth.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>		
+	    </jobTransform>
+	  </chainElement>
+	  <chainElement>
+	    <jobTransform userJobId="reg_20.20.X-VAL_vs_mig13_ATLFASTII_ttbar_1sim">
+	      <doc>Regression test of ISF_Validation job ATLFASTII_ttbar_1sim in releases 20.20.X-VAL vs mig13</doc>
+	      <jobTransformJobName>reg_20.20.X-VAL_vs_mig13_ATLFASTII_ttbar_1sim</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test_fastchain.py ISF_Validation 20.20.X-VAL ATLFASTII_ttbar_1sim truth.root ISF_Validation mig13 ATLFASTII_ttbar_1sim truth.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube_truth_ATLFASTII.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.truth.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.truth.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.truth.root/today.truth.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>		
+	    </jobTransform>
+	  </chainElement>
+	  <chainElement>
+	    <jobTransform userJobId="reg_20.20.X_vs_mig13_ATLFASTII_ttbar_1sim">
+	      <doc>Regression test of ISF_Validation job ATLFASTII_ttbar_1sim in releases 20.20.X vs mig13</doc>
+	      <jobTransformJobName>reg_20.20.X_vs_mig13_ATLFASTII_ttbar_1sim</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test_fastchain.py ISF_Validation 20.20.X ATLFASTII_ttbar_1sim truth.root ISF_Validation mig13 ATLFASTII_ttbar_1sim truth.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube_truth_ATLFASTII.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.truth.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.truth.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.truth.root/today.truth.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>		
+	    </jobTransform>
+	  </chainElement>
+	  <chainElement>
+	    <jobTransform userJobId="reg_20.20.X-VAL_vs_mig13_FullG4_ttbar_1sim">
+	      <doc>Regression test of ISF_Validation job FullG4_ttbar_1sim in releases 20.20.X-VAL vs mig13</doc>
+	      <jobTransformJobName>reg_20.20.X-VAL_vs_mig13_FullG4_ttbar_1sim</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test_fastchain.py ISF_Validation 20.20.X-VAL FullG4_ttbar_1sim truth.root ISF_Validation mig13 FullG4_ttbar_1sim truth.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube-G4_ttbar_1sim.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.truth.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.truth.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.truth.root/today.truth.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>		
+	    </jobTransform>
+	  </chainElement>
+	  <chainElement>
+	    <jobTransform userJobId="reg_20.20.X_vs_mig13_FullG4_ttbar_1sim">
+	      <doc>Regression test of ISF_Validation job FullG4_ttbar_1sim in releases 20.20.X vs mig13</doc>
+	      <jobTransformJobName>reg_20.20.X_vs_mig13_FullG4_ttbar_1sim</jobTransformJobName>
+	      <jobTransformCmd>sim_reg_test_fastchain.py ISF_Validation 20.20.X FullG4_ttbar_1sim truth.root ISF_Validation mig13 FullG4_ttbar_1sim truth.root</jobTransformCmd>
+	      <group>FastChainPileup</group>
+	      <queue>medium</queue>
+		<test position="1">
+		  <modulename>RttLibraryTools</modulename>
+		  <testname>DCubeRunner</testname>
+		  <arg>
+		    <argname>DCubeCfg</argname>
+		    <argvalue>dcube-G4_ttbar_1sim.xml</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeRef</argname>
+		    <argvalue>yesterday.truth.root</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>localRefFile</argname>
+		    <argvalue>True</argvalue>
+		  </arg>
+		  <arg>
+		    <argname>DCubeMon</argname>
+		    <argvalue>today.truth.root</argvalue>
+		  </arg>
+		  <keepFilePattern>DCube-yesterday.truth.root/today.truth.root.dcube.xml.php</keepFilePattern>
+		</test>
+		<testToRemove>
+		    <jobGroupName>RTT:Top</jobGroupName>
+		    <testidentifier>CheckFileRunner0</testidentifier>
+		</testToRemove>		
+	    </jobTransform>
+	  </chainElement>
+	</parallel>-->
+       <!-- END -->
+       </parallel>
       </chain>
     </jobList>
     <jobGroups>
diff --git a/Simulation/ISF/ISF_Config/cmt/requirements b/Simulation/ISF/ISF_Config/cmt/requirements
deleted file mode 100644
index 0cfcff22a3c3a4d1b46527922c0e7d4ce164f4bc..0000000000000000000000000000000000000000
--- a/Simulation/ISF/ISF_Config/cmt/requirements
+++ /dev/null
@@ -1,16 +0,0 @@
-package ISF_Config
-
-manager Andreas Salzburger <Andreas.Salzburger@cern.ch>
-manager Elmar Ritsch <Elmar.Ritsch@cern.ch>
-manager Wolfgang Lukas <Wolfgang.Lukas@cern.ch>
-
-private
-use AtlasPolicy                 AtlasPolicy-*
-
-private
-use TestPolicy                  TestPolicy-*
-apply_pattern validate_xml
-public
-
-apply_pattern declare_joboptions files="*.py"
-apply_pattern declare_python_modules files="*.py"
diff --git a/Simulation/ISF/ISF_Config/python/FlagSetters.py b/Simulation/ISF/ISF_Config/python/FlagSetters.py
index 6cd64738828efec30d69d245c03041ef1cf184ea..15b7dd3aa5c07698fb034d9ef6afdd902822fb33 100644
--- a/Simulation/ISF/ISF_Config/python/FlagSetters.py
+++ b/Simulation/ISF/ISF_Config/python/FlagSetters.py
@@ -110,6 +110,13 @@ def configureFlagsATLFASTII():
     ISF_Flags.UsingGeant4 = True
     return
 
+def configureFlagsATLFASTII_PileUp():
+    from G4AtlasApps.SimFlags import simFlags
+    simFlags.SimulationFlavour = "ATLFASTII_PileUp"
+    from ISF_Config.ISF_jobProperties import ISF_Flags
+    ISF_Flags.UsingGeant4 = True
+    return
+
 ## methods for simulators which use Fatras + FastCaloSim
 
 def configureFlagsATLFASTIIF():
@@ -139,6 +146,13 @@ def configureFlagsATLFASTIIF_PileUp():
     from G4AtlasApps.SimFlags import simFlags
     simFlags.SimulationFlavour = "ATLFASTIIF_PileUp"
     return
+  
+def configureFlagsG4HS_FastPileup():
+    from G4AtlasApps.SimFlags import simFlags
+    simFlags.SimulationFlavour = "G4HS_FastPileup"
+    from ISF_Config.ISF_jobProperties import ISF_Flags
+    ISF_Flags.UsingGeant4 = True
+    return
 
 def configureFlagsATLFASTIIF_IDOnly():
     configureFlagsATLFASTIIF()
diff --git a/Simulation/ISF/ISF_Config/python/ISF_ConfigConfigDb.py b/Simulation/ISF/ISF_Config/python/ISF_ConfigConfigDb.py
index 0b89bafd2df4289c97b1c75efd4801aa758d18c8..94814de9d6f54777118fdb421c019f3c930f6088 100644
--- a/Simulation/ISF/ISF_Config/python/ISF_ConfigConfigDb.py
+++ b/Simulation/ISF/ISF_Config/python/ISF_ConfigConfigDb.py
@@ -34,8 +34,11 @@ addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_CosmicsG4",           "ISF_Ker
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_ATLFASTII",           "ISF_Kernel_ATLFASTII")
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_ATLFASTIIF",          "ISF_Kernel_ATLFASTIIF")
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_ATLFASTIIF_PileUp",   "ISF_Kernel_ATLFASTIIF_PileUp")
+addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_ATLFASTII_PileUp",   "ISF_Kernel_ATLFASTII_PileUp")
+addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_G4HS_FastPileup",     "ISF_Kernel_G4HS_FastPileup")
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_ATLFASTIIF_IDOnly",   "ISF_Kernel_ATLFASTIIF_IDOnly")
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_ATLFASTIIF_IDCalo",   "ISF_Kernel_ATLFASTIIF_IDCalo")
+addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_G4FastCalo",          "ISF_Kernel_G4FastCalo")
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_Fatras_newExtrapolation","ISF_Kernel_Fatras_newExtrapolation")
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_Fatras_newExtrapolation_IDOnly","ISF_Kernel_Fatras_newExtrapolation_IDOnly")
 addAlgorithm("ISF_Config.ISF_MainConfig.getKernel_FastOnly",            "ISF_Kernel_FastOnly")
diff --git a/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py b/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py
index 216ee2714d6f55c329509b41eeb039034bca364e..c6409e377f57bffc0de01406b22e1d35145c85f7 100644
--- a/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py
+++ b/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py
@@ -291,6 +291,21 @@ def getKernel_MC12G4_IDCalo(name="ISF_Kernel_MC12G4_IDCalo", **kwargs):
     # Legacy only
     return getKernel_FullG4_IDCalo(name, **kwargs)
 
+############## Simulator: G4FastCalo ###############
+def getKernel_G4FastCalo(name="ISF_Kernel_G4FastCalo", **kwargs):
+    kwargs.setdefault("ParticleBroker"             , 'ISF_AFIIParticleBrokerSvc')
+
+    kwargs.setdefault("BeamPipeSimulationSelectors", [ 'ISF_DefaultAFIIGeant4Selector' ]            )
+    kwargs.setdefault("IDSimulationSelectors"      , [ 'ISF_DefaultAFIIGeant4Selector' ]            )
+    kwargs.setdefault("CaloSimulationSelectors"    , [ 'ISF_MuonAFIIGeant4Selector',
+                                                       'ISF_EtaGreater5ParticleKillerSimSelector',
+                                                       'ISF_DefaultFastCaloSimV2Selector' ] )
+    kwargs.setdefault("MSSimulationSelectors"      , [ 'ISF_DefaultAFIIGeant4Selector' ]            )
+    kwargs.setdefault("CavernSimulationSelectors"  , [ 'ISF_DefaultParticleKillerSelector' ]        )
+    from G4AtlasApps.SimFlags import simFlags
+    simFlags.SimulationFlavour = "G4FastCalo"
+    return getKernel_GenericSimulator(name, **kwargs)
+
 ############## Simulator: ATLFASTII ###############
 def getKernel_ATLFASTII(name="ISF_Kernel_ATLFASTII", **kwargs):
     kwargs.setdefault("ParticleBroker"             , 'ISF_AFIIParticleBrokerSvc'                    )
@@ -349,15 +364,15 @@ def getKernel_Fatras_newExtrapolation_IDOnly(name="ISF_Kernel_Fatras_newExtrapol
 def getKernel_ATLFASTIIF_PileUp(name="ISF_Kernel_ATLFASTIIF_PileUp", **kwargs):
     kwargs.setdefault("InputPileupCollection", "GEN_EVENT_PU")
     kwargs.setdefault("OutputPileupTruthCollection", "TruthEvent_PU")
-
     kwargs.setdefault("SimHitService"              , "ISF_PileupSimHitService"                  )
     kwargs.setdefault("BeamPipeSimulationSelectors", [ 'ISF_DefaultParticleKillerSelector' ]    )
     kwargs.setdefault("IDSimulationSelectors"      , [ #'ISF_FatrasPileupSelector_noHits',
                                                        'ISF_FatrasPileupSelector',
-                                                       'ISF_DefaultFatrasSelector' ]            )
+                                                       'ISF_DefaultFatrasNewExtrapolationSelector' ]            )
     kwargs.setdefault("CaloSimulationSelectors"    , [ 'ISF_MuonFatrasSelector',
                                                        'ISF_EtaGreater5ParticleKillerSimSelector',
-                                                       'ISF_FastCaloSimPileupSelector',
+                                                       #'ISF_FastCaloSimPileupSelector',
+                                                       'ISF_FastCaloSimPileupOTSelector',
                                                        'ISF_DefaultFastCaloSimSelector' ]       )
     kwargs.setdefault("MSSimulationSelectors"      , [ 'ISF_DefaultFatrasSelector' ]            )
     kwargs.setdefault("CavernSimulationSelectors"  , [ 'ISF_DefaultParticleKillerSelector' ]    )
@@ -365,6 +380,46 @@ def getKernel_ATLFASTIIF_PileUp(name="ISF_Kernel_ATLFASTIIF_PileUp", **kwargs):
     from G4AtlasApps.SimFlags import simFlags
     simFlags.SimulationFlavour = "ATLFASTIIF_PileUp"
     return getKernel_GenericSimulatorNoG4(name, **kwargs)
+  
+############## Simulator: ATLFASTII fast pileup ###############
+def getKernel_ATLFASTII_PileUp(name="ISF_Kernel_ATLFASTII_PileUp", **kwargs):
+    kwargs.setdefault("ParticleBroker"             , 'ISF_AFIIParticleBrokerSvc'                    )
+    kwargs.setdefault("InputPileupCollection", "GEN_EVENT_PU")
+    kwargs.setdefault("OutputPileupTruthCollection", "TruthEvent_PU")
+    kwargs.setdefault("SimHitService"              , "ISF_PileupSimHitService"                  )
+    kwargs.setdefault("BeamPipeSimulationSelectors", [ 'ISF_DefaultAFIIGeant4Selector' ]    )
+    kwargs.setdefault("IDSimulationSelectors"      , [ #'ISF_FatrasRandomSelector',
+                                                       #'ISF_FatrasPileupSelector_noHits',
+                                                       'ISF_DefaultAFIIGeant4Selector' ]            )
+    kwargs.setdefault("CaloSimulationSelectors"    , [ 'ISF_MuonAFIIGeant4Selector',
+                                                       'ISF_EtaGreater5ParticleKillerSimSelector',
+                                                       'ISF_FastCaloSimPileupOTSelector',
+                                                       'ISF_DefaultFastCaloSimSelector' ]       )
+    kwargs.setdefault("MSSimulationSelectors"      , [ 'ISF_DefaultAFIIGeant4Selector' ]            )
+    kwargs.setdefault("CavernSimulationSelectors"  , [ 'ISF_DefaultParticleKillerSelector' ]    )
+    # set the simFlags accordingly
+    #from G4AtlasApps.SimFlags import simFlags
+    #simFlags.SimulationFlavour = "ATLFASTII_PileUp"
+    return getKernel_GenericSimulator(name, **kwargs)
+  
+############## Simulator: G4HS_FastPileup ###############
+def getKernel_G4HS_FastPileup(name="ISF_Kernel_G4HS_FastPileup", **kwargs):
+    kwargs.setdefault("SimHitService"              , "ISF_PileupSimHitService"                  )
+    kwargs.setdefault("BeamPipeSimulationSelectors", [ 'ISF_PileupParticleKillerSelector',
+						       'ISF_FullGeant4Selector' ]        ) 
+    kwargs.setdefault("IDSimulationSelectors"      , [ 'ISF_FatrasPileupSelector',
+                                                       'ISF_FullGeant4Selector' ]            )
+    kwargs.setdefault("CaloSimulationSelectors"    , [ 'ISF_MuonFatrasPileupSelector',
+                                                       'ISF_EtaGreater5PileupParticleKillerSimSelector',
+                                                       'ISF_FastCaloSimPileupSelector',
+                                                       'ISF_FullGeant4Selector' ]       )
+    kwargs.setdefault("MSSimulationSelectors"      , [ 'ISF_FatrasPileupSelector', 'ISF_FullGeant4Selector']            )
+    kwargs.setdefault("CavernSimulationSelectors"  , [ 'ISF_DefaultParticleKillerSelector' ]    )
+ 
+    # set the simFlags accordingly
+    from G4AtlasApps.SimFlags import simFlags
+    simFlags.SimulationFlavour = "G4HS_FastPileup"
+    return getKernel_GenericSimulator(name, **kwargs)
 
 ############## Simulator: ATLFASTIIF_IDOnly ###############
 def getKernel_ATLFASTIIF_IDOnly(name="ISF_Kernel_ATLFASTIIF_IDonly", **kwargs):
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt
index 47e92798fcc368b2ccd2158322c544eb850df2e0..f1af98956f13c27a0a8040aa86b25a4cffd07942 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt
@@ -1,4 +1,4 @@
-# $Id: CMakeLists.txt 781795 2016-11-02 06:28:22Z vpascuzz $
+# $Id: CMakeLists.txt 801699 2017-03-28 14:18:58Z fladias $
 ################################################################################
 # Package: ISF_FastCaloSimEvent
 ################################################################################
@@ -18,14 +18,14 @@ atlas_depends_on_subdirs(
 
 # External dependencies:
 find_package( CLHEP )
-find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO TMVA Matrix Physics )
+find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO Matrix Physics )
 
 # Remove the --as-needed linker flags:
 atlas_disable_as_needed()
 
 # Component(s) in the package:
 atlas_add_root_dictionary( ISF_FastCaloSimEvent _dictSource
-  ROOT_HEADERS ISF_FastCaloSimEvent/IntArray.h ISF_FastCaloSimEvent/TFCS1DFunction.h ISF_FastCaloSimEvent/TFCSEnergyParametrization.h ISF_FastCaloSimEvent/TFCSExtrapolationState.h ISF_FastCaloSimEvent/TFCSParametrization.h ISF_FastCaloSimEvent/TFCSParametrizationBase.h ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h ISF_FastCaloSimEvent/TFCSSimulationState.h ISF_FastCaloSimEvent/TFCSTruthState.h ISF_FastCaloSimEvent/LinkDef.h )
+  ROOT_HEADERS ISF_FastCaloSimEvent/IntArray.h ISF_FastCaloSimEvent/DoubleArray.h ISF_FastCaloSimEvent/TFCS1DFunction.h ISF_FastCaloSimEvent/TFCSEnergyParametrization.h ISF_FastCaloSimEvent/TFCSExtrapolationState.h ISF_FastCaloSimEvent/TFCSParametrization.h ISF_FastCaloSimEvent/TFCSParametrizationBase.h ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h ISF_FastCaloSimEvent/TFCS1DFunctionHistogram.h ISF_FastCaloSimEvent/TFCS1DFunctionRegression.h ISF_FastCaloSimEvent/TFCS1DFunctionRegressionTF.h ISF_FastCaloSimEvent/TFCSSimulationState.h ISF_FastCaloSimEvent/TFCSTruthState.h ISF_FastCaloSimEvent/LinkDef.h )
 
 atlas_add_library( ISF_FastCaloSimEvent
    ISF_FastCaloSimEvent/*.h ${_dictSource} src/*.cxx
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/DoubleArray.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/DoubleArray.h
new file mode 100644
index 0000000000000000000000000000000000000000..2e6b7cf79ccb5edc05ceb9bc336bfd4de0866552
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/DoubleArray.h
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef DoubleArray_h
+#define DoubleArray_h
+
+#include "TArrayD.h"
+#include "TObject.h"
+
+class DoubleArray : public TObject, public TArrayD {
+
+public:
+   DoubleArray();
+   DoubleArray( int );
+   ~DoubleArray();
+
+private:
+//   TArrayD* m_array;
+
+   ClassDef( DoubleArray, 1 )
+};
+
+#if defined(__MAKECINT__)
+#pragma link C++ class DoubleArray+;
+#endif
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/IntArray.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/IntArray.h
index 50acf870cd7b079095ce5432ac68d60978121814..87c2545835d90e3aa536403a30bd634c83e62d43 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/IntArray.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/IntArray.h
@@ -16,9 +16,13 @@ public:
    ~IntArray();
 
 private:
-   TArrayI* m_array;
+//   TArrayI* m_array;
 
-   ClassDef( IntArray, 0 )
+   ClassDef( IntArray, 1 )
 };
 
+#if defined(__MAKECINT__)
+#pragma link C++ class IntArray+;
+#endif
+
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h
index 002071ac2367724fa2642be2392e72991b5254b7..bddb460e800048ff42d5ab91bb21e71a59452bfa 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h
@@ -2,8 +2,10 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
+#include "ISF_FastCaloSimEvent/DoubleArray.h"
 #include "ISF_FastCaloSimEvent/IntArray.h"
 #include "ISF_FastCaloSimEvent/TFCS1DFunction.h"
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionHistogram.h"
 #include "ISF_FastCaloSimEvent/TFCSEnergyParametrization.h"
 #include "ISF_FastCaloSimEvent/TFCSExtrapolationState.h"
 #include "ISF_FastCaloSimEvent/TFCSParametrization.h"
@@ -13,8 +15,10 @@
 #include "ISF_FastCaloSimEvent/TFCSTruthState.h"
 
 #ifdef __CINT__
+#pragma link C++ class DoubleArray+;
 #pragma link C++ class IntArray+;
 #pragma link C++ class TFCS1DFunction+;
+#pragma link C++ class TFCS1DFunctionHistogram+;
 #pragma link C++ class TFCSEnergyParametrization+;
 #pragma link C++ class TFCSExtrapolationState+;
 #pragma link C++ class TFCSParametrization+;
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunction.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunction.h
index b60fffc80df313c4a509ad0b3c54c99a8ff6afde..1089ce0e07599901a74289e7399c8dabc0a3f29a 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunction.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunction.h
@@ -14,29 +14,20 @@
 class TFCS1DFunction:public TObject
 {
   public:
-    TFCS1DFunction();
-    TFCS1DFunction(TH1* hist);
+    TFCS1DFunction() {};
+    ~TFCS1DFunction() {};
     
-    void Initialize(TH1* hist);
-    //int testHisto(TH1* hist, std::string, float&, float&, std::string, int, std::string);
-    int testHisto(TH1* hist, std::string, float&, float&, std::string, int, int, int, double, int);
-    
-    virtual double rnd_to_fct(double rnd);
-    
-    TH1* transform(TH1*, float&, float&);
-    double get_maxdev(TH1* h_input, TH1* h_approx);
-    void tmvaregression_training(int, TTree *regTree, std::string, std::string);
-    double get_range_low(TH1* hist);
-    double tmvaregression_application(double, std::string);
-    static TH1* get_cumul(TH1* hist);
+   virtual double rnd_to_fct(double rnd);
+   static double get_maxdev(TH1* , TH1* );
 
   private:
  
- ClassDef(TFCS1DFunction,1)  //TFCS1DFunction
+  ClassDef(TFCS1DFunction,1)  //TFCS1DFunction
+ 
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCS1DFunction+;
-//#endif
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCS1DFunction+;
+#endif
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionHistogram.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionHistogram.h
similarity index 93%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionHistogram.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionHistogram.h
index 4a71e74d231678bcba66a7b94a3c56d42186485f..884455a7405b5694f733bf60a210f258bab5585d 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionHistogram.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionHistogram.h
@@ -13,26 +13,27 @@ class TFCS1DFunctionHistogram:public TFCS1DFunction
 {
 	
   public:
-    TFCS1DFunctionHistogram();
+    TFCS1DFunctionHistogram() {};
     TFCS1DFunctionHistogram(TH1* hist, int,double);
     
     void Initialize(TH1* hist, int,double);
+
     virtual double rnd_to_fct(double rnd);
-    
     TH1* vector_to_histo();
+	  double get_inverse(double rnd);
+	  double linear(double x1,double x2,double y1,double y2,double x);
+
     void smart_rebin_loop(TH1* hist, int,double);
     TH1D* smart_rebin(TH1D* , double );
     double* histo_to_array(TH1*);
     double sample_from_histo(TH1* hist, double);
     double sample_from_histovalues(double);
-	  double InverseCumulant(double y);
-	  double get_inverse(double rnd);
-	  double linear(double x1,double x2,double y1,double y2,double x);
-	  
+	
   private:
 
     vector<float> m_HistoBorders;
     vector<float> m_HistoContents;
+
     
   ClassDef(TFCS1DFunctionHistogram,1)  //TFCS1DFunctionHistogram
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionRegression.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionRegression.h
similarity index 68%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionRegression.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionRegression.h
index ea69a1fab73345d8e5300bf03524b4d86f208aef..bf099fd68d8ad2a04e95d912fcc1018997c566b8 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionRegression.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionRegression.h
@@ -6,7 +6,6 @@
 #define TFCS1DFunctionRegression_h
 
 #include "ISF_FastCaloSimEvent/TFCS1DFunction.h"
-//#include "ISF_FastCaloSimParametrization/TFCS1DFunction.h"
 #include "TTree.h"
 #include "TH1.h"
 #include <vector>
@@ -17,17 +16,14 @@ class TFCS1DFunctionRegression:public TFCS1DFunction
 {
   public:
   	
-    TFCS1DFunctionRegression();
-    TFCS1DFunctionRegression(TH1* hist);
+    TFCS1DFunctionRegression() {};
+    ~TFCS1DFunctionRegression() {};
     
-    virtual void Initialize(TH1* hist);
-    void storeRegression(string);
     virtual double rnd_to_fct(double rnd);
-    
-    double regression_value(double uniform);
-    void get_weights(string);
-    void validate(int,string);
-
+    double  regression_value(double uniform);
+    void    set_weights(vector<vector<double> > fWeightMatrix0to1, vector<vector<double> > fWeightMatrix1to2);
+    double  sigmoid(double);
+  
   private:
     
     vector<vector<double> > m_fWeightMatrix0to1;
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionRegressionTF.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionRegressionTF.h
similarity index 78%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionRegressionTF.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionRegressionTF.h
index 3a51c5cf220b22c91be9523f71aa0c5ef74de61e..84b884df7e0b6af1e5f9282f7e9aa09364f89065 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS1DFunctionRegressionTF.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionRegressionTF.h
@@ -5,7 +5,7 @@
 #ifndef TFCS1DFunctionRegressionTF_h
 #define TFCS1DFunctionRegressionTF_h
 
-#include "ISF_FastCaloSimParametrization/TFCS1DFunctionRegression.h"
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionRegression.h"
 #include "TH1.h"
 #include <vector>
 
@@ -13,8 +13,9 @@ class TFCS1DFunctionRegressionTF:public TFCS1DFunctionRegression
 {
   public:
 
-    TFCS1DFunctionRegressionTF();
-    void storeRegression(string, float, float);
+    TFCS1DFunctionRegressionTF() {};
+    TFCS1DFunctionRegressionTF(float, float);
+    ~TFCS1DFunctionRegressionTF() {};
 
     virtual double rnd_to_fct(double rnd);
     double retransform(double value);
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSEnergyParametrization.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSEnergyParametrization.h
index e30740f77a2f1d22f9d895201ef61ae8f4f60242..2d6a56bba261b997d3c2d1499ae4e65f77403940 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSEnergyParametrization.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSEnergyParametrization.h
@@ -22,8 +22,8 @@ private:
   ClassDef(TFCSEnergyParametrization,1)  //TFCSEnergyParametrization
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCSEnergyParametrization+;
-//#endif
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCSEnergyParametrization+;
+#endif
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSExtrapolationState.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSExtrapolationState.h
index 69bd7264e70484be6d401398c7e4d66a6c1339e4..7a76031ba65a21c10d355d43203f28ab1c61dd9b 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSExtrapolationState.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSExtrapolationState.h
@@ -13,16 +13,24 @@ class TFCSExtrapolationState:public TObject {
     TFCSExtrapolationState();
 
     void clear();
-    
+
     enum SUBPOS { SUBPOS_MID = 0, SUBPOS_ENT = 1, SUBPOS_EXT = 2}; //MID=middle, ENT=entrance, EXT=exit of cal layer
 
-    void set_OK (int layer,int subpos,bool   val) {m_CaloOK[layer][subpos]=val;};
+    void set_OK (int layer,int subpos,bool   val=true) {m_CaloOK[layer][subpos]=val;};
+
     void set_eta(int layer,int subpos,double val) {m_etaCalo[layer][subpos]=val;};
     void set_phi(int layer,int subpos,double val) {m_phiCalo[layer][subpos]=val;};
     void set_r  (int layer,int subpos,double val) {m_rCalo[layer][subpos]=val;};
     void set_z  (int layer,int subpos,double val) {m_zCalo[layer][subpos]=val;};
     void set_d  (int layer,int subpos,double val) {m_dCalo[layer][subpos]=val;};
     void set_detaBorder(int layer,int subpos,double val) {m_distetaCaloBorder[layer][subpos]=val;};
+
+    void set_CaloSurface_sample(int val) {m_CaloSurface_sample=val;};
+    void set_CaloSurface_eta(double val) {m_CaloSurface_eta=val;};
+    void set_CaloSurface_phi(double val) {m_CaloSurface_phi=val;};
+    void set_CaloSurface_r(double val) {m_CaloSurface_r=val;};
+    void set_CaloSurface_z(double val) {m_CaloSurface_z=val;};
+
     void set_IDCaloBoundary_eta(double val) {m_IDCaloBoundary_eta=val;};
     void set_IDCaloBoundary_phi(double val) {m_IDCaloBoundary_phi=val;};
     void set_IDCaloBoundary_r(double val) {m_IDCaloBoundary_r=val;};
@@ -36,11 +44,23 @@ class TFCSExtrapolationState:public TObject {
     double d(int layer,int subpos) const {return m_dCalo[layer][subpos];};
     double detaBorder(int layer,int subpos) const {return m_distetaCaloBorder[layer][subpos];};
 
+    int    CaloSurface_sample() const {return m_CaloSurface_sample;};
+    double CaloSurface_eta() const {return m_CaloSurface_eta;};
+    double CaloSurface_phi() const {return m_CaloSurface_phi;};
+    double CaloSurface_r() const {return m_CaloSurface_r;};
+    double CaloSurface_z() const {return m_CaloSurface_z;};
+
     double IDCaloBoundary_eta() const {return m_IDCaloBoundary_eta;};
     double IDCaloBoundary_phi() const {return m_IDCaloBoundary_phi;};
     double IDCaloBoundary_r() const {return m_IDCaloBoundary_r;};
     double IDCaloBoundary_z() const {return m_IDCaloBoundary_z;};
 
+    double IDCaloBoundary_AngleEta() const {return m_IDCaloBoundary_AngleEta;};
+    double IDCaloBoundary_Angle3D() const {return m_IDCaloBoundary_Angle3D;};
+
+    void set_IDCaloBoundary_AngleEta(double val) {m_IDCaloBoundary_AngleEta=val;};
+    void set_IDCaloBoundary_Angle3D(double val) {m_IDCaloBoundary_Angle3D=val;};
+
   private:
     bool   m_CaloOK[CaloCell_ID_FCS::MaxSample][3];
     double m_etaCalo[CaloCell_ID_FCS::MaxSample][3];
@@ -49,17 +69,26 @@ class TFCSExtrapolationState:public TObject {
     double m_zCalo[CaloCell_ID_FCS::MaxSample][3];
     double m_dCalo[CaloCell_ID_FCS::MaxSample][3];
     double m_distetaCaloBorder[CaloCell_ID_FCS::MaxSample][3];
-    
+
+    int    m_CaloSurface_sample;
+    double m_CaloSurface_eta;
+    double m_CaloSurface_phi;
+    double m_CaloSurface_r;
+    double m_CaloSurface_z;
+
     double m_IDCaloBoundary_eta;
     double m_IDCaloBoundary_phi;
     double m_IDCaloBoundary_r;
     double m_IDCaloBoundary_z;
 
+    double m_IDCaloBoundary_AngleEta;
+    double m_IDCaloBoundary_Angle3D;
+
   ClassDef(TFCSExtrapolationState,1)  //TFCSExtrapolationState
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCSExtrapolationState+;
-//#endif
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCSExtrapolationState+;
+#endif
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h
index 98447aeb318dfc0253f79120e8e90ea790357acb..b9a5dcbe2525d7ff2c90966c788aba14d987b872 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h
@@ -21,36 +21,35 @@ class TFCSPCAEnergyParametrization:public TFCSEnergyParametrization
   // energies in calo layers should be returned in simulstate
   virtual void simulate(TFCSSimulationState& simulstate,const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol);
   
-  //int n_bins() {return 0;};
-  // CHANGE: return number of energy parametrization bins
-  int n_bins() { return (m_RelevantLayers->GetSize()+1); };
-  void P2X(TMatrixD, int gNVariables, double *p, double *x, int nTest); 
-  void P2X(int gNVariables, double *p, double *x, int nTest); 
-  void loadInputs(TFile* file, int);
+  int n_pcabins()        { return m_numberpcabins; };
+  IntArray* get_layers() { return m_RelevantLayers; };
+  
+  void P2X(TVectorD*, TVectorD* , TMatrixD* , int, double* , double* , int);
   void loadInputs(TFile* file);
-  double InvCumulant(TH1D* hist,double y);
-	  
+  void loadInputs(TFile* file,std::string);
+  
  private:
   // PCA Matrix and NN mapping information should be stored as private member variables here
   
-  TMatrixDSym* m_symCov;
-  TMatrixD* m_EV;
-  TVectorD* m_MeanValues;
-  TVectorD* m_SigmaValues;
-  TVectorD* m_Gauss_means;
-  TVectorD* m_Gauss_rms; //Gauss nur einmal speichern!
   IntArray* m_RelevantLayers;
-  TVectorD* m_LowerBounds;
-  std::vector<TFCS1DFunction*> m_cumulative;
-  std::vector<TH1D*> h_cumulative;
+
+  std::vector<TMatrixDSym*> m_symCov;
+  std::vector<TMatrixD*>    m_EV;
+  std::vector<TVectorD*>    m_MeanValues;
+  std::vector<TVectorD*>    m_SigmaValues;
+  std::vector<TVectorD*>    m_Gauss_means;
+  std::vector<TVectorD*>    m_Gauss_rms;
+  std::vector<TVectorD*>    m_LowerBounds;
+  std::vector<std::vector<TFCS1DFunction*> > m_cumulative;
+  
+  int m_numberpcabins;
   
   ClassDef(TFCSPCAEnergyParametrization,1)  //TFCSPCAEnergyParametrization
  
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCSPCAEnergyParametrization+;
-//#endif
-
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCSPCAEnergyParametrization+;
 #endif
 
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrization.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrization.h
index e5cabf2497e309509ee938792cfa3ef1f71aee4d..a6b1db7a3f1d286da655c53a1e30d7b96d24fca6 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrization.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrization.h
@@ -42,8 +42,8 @@ private:
   ClassDef(TFCSParametrization,1)  //TFCSParametrization
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCSParametrization+;
-//#endif
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCSParametrization+;
+#endif
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrizationBase.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrizationBase.h
index af606ba8acd6ce7bdbdcd78682a5dfebac527e52..386dfe39c1abe4e7634e6ee9e18c4a188a651aca 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrizationBase.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSParametrizationBase.h
@@ -42,8 +42,8 @@ private:
   ClassDef(TFCSParametrizationBase,1)  //TFCSParametrizationBase
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCSParametrizationBase+;
-//#endif
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCSParametrizationBase+;
+#endif
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSSimulationState.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSSimulationState.h
index a6693abebf611a913221887cb7dd86a6bb6d427c..d61bc2235ea9eddc1831587ec917a17b32e08189 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSSimulationState.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSSimulationState.h
@@ -15,11 +15,13 @@ class TFCSSimulationState:public TObject
     
     bool   is_valid() const {return m_Ebin>=0;};
     double E() const {return m_Etot;};
-    double E(int sample) const {return m_E[sample];};
+    double E(int sample)     const {return m_E[sample];};
+    double Efrac(int sample) const {return m_Efrac[sample];};
     int    Ebin() const {return m_Ebin;};
     
     void set_Ebin(int bin) {m_Ebin=bin;};
-    void set_E(int sample,double Esample) { m_E[sample]=Esample; } ;
+    void set_E(int sample,double Esample)     { m_E[sample]=Esample; } ;
+    void set_Efrac(int sample,double Efracsample) { m_Efrac[sample]=Efracsample; } ;
     void set_E(double E) { m_Etot=E; } ;
     void add_E(int sample,double Esample) { m_E[sample]+=Esample;m_Etot+=Esample; };
     
@@ -32,12 +34,13 @@ class TFCSSimulationState:public TObject
     int    m_Ebin;
     double m_Etot;
     double m_E[CaloCell_ID_FCS::MaxSample];
+    double m_Efrac[CaloCell_ID_FCS::MaxSample];
 
   ClassDef(TFCSSimulationState,1)  //TFCSSimulationState
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCSSimulationState+;
-//#endif
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCSSimulationState+;
+#endif
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSTruthState.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSTruthState.h
index 4e8ce4f60716d0dd459aa742b30cdd9acd0243b9..9c83c57db382b7ca7085f13c8018b1c3536a1ae0 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSTruthState.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSTruthState.h
@@ -26,8 +26,8 @@ class TFCSTruthState:public TLorentzVector {
   ClassDef(TFCSTruthState,1)  //TFCSTruthState
 };
 
-//#if defined(__MAKECINT__)
-//#pragma link C++ class TFCSTruthState+;
-//#endif
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCSTruthState+;
+#endif
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/cmt/requirements b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/cmt/requirements
deleted file mode 100644
index b7a019fe74eb846046666bd168f56e1be74f7c82..0000000000000000000000000000000000000000
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/cmt/requirements
+++ /dev/null
@@ -1,23 +0,0 @@
-package ISF_FastCaloSimEvent
-
-public
-use AtlasPolicy                AtlasPolicy-*
-use AtlasCLHEP                 AtlasCLHEP-*                    External
-use GaudiInterface             GaudiInterface-*                External
-use TileSimEvent               TileSimEvent-*                  TileCalorimeter
-use SGTools                    SGTools-*                       Control
-use AthContainers              AthContainers-*                 Control
-use AtlasROOT                  AtlasROOT-*                     External
-use CaloGeoHelpers             CaloGeoHelpers-*                Calorimeter
-
-library ISF_FastCaloSimEventLib *.cxx
-#apply_pattern installed_library
-apply_pattern named_installed_library library=ISF_FastCaloSimEventLib
-apply_pattern have_root_headers root_headers="IntArray.h TFCS1DFunction.h TFCSEnergyParametrization.h TFCSExtrapolationState.h TFCSParametrization.h TFCSParametrizationBase.h TFCSPCAEnergyParametrization.h TFCSSimulationState.h TFCSTruthState.h ../ISF_FastCaloSimEvent/LinkDef.h" headers_lib="ISF_FastCaloSimEventLib"
-
-#for dictionaries
-private
-apply_tag notAsNeeded
-use AtlasReflex           AtlasReflex-*          External -no_auto_imports
-apply_pattern lcgdict dict=ISF_FastCaloSimEvent selectionfile=selection.xml headerfiles="../ISF_FastCaloSimEvent/ISF_FastCaloSimEventDict.h"
-end_private
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/DoubleArray.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/DoubleArray.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..1453da730cfd8016ea2f87603d0bc867dc250f6e
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/DoubleArray.cxx
@@ -0,0 +1,29 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "ISF_FastCaloSimEvent/DoubleArray.h"
+
+#include "TArrayD.h"
+
+//==========================
+//======= DoubleArray =========
+//==========================
+
+DoubleArray::DoubleArray(int n):TArrayD(n)
+{
+//  m_array=new TArrayD(n);
+}
+
+DoubleArray::DoubleArray()
+{
+//  m_array=new TArrayD();
+}
+
+DoubleArray::~DoubleArray()
+{
+//   if( m_array ) {
+//      delete m_array;
+//   }
+}
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/IntArray.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/IntArray.cxx
index 041be5c9bdef9e69e99ac8fd86dfc2a732eb9209..2caabec1359297b8a39aa634c9e101d2c587ecb5 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/IntArray.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/IntArray.cxx
@@ -10,25 +10,20 @@
 //======= IntArray =========
 //==========================
 
-IntArray::IntArray(int n)
+IntArray::IntArray(int n):TArrayI(n)
 {
-  m_array=new TArrayI(n);
+//  m_array=new TArrayI(n);
 }
 
 IntArray::IntArray()
 {
-  m_array=new TArrayI();
+//  m_array=new TArrayI();
 }
 
-IntArray::~IntArray() {
-
-   if( m_array ) {
-      delete m_array;
-   }
+IntArray::~IntArray() 
+{
+//   if( m_array ) {
+//      delete m_array;
+//   }
 }
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(IntArray)
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx
index f734de0e223527439bd23c50db021c47c80640c2..a2df4ef30615be3864bec813ba7581949fd5f9d8 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx
@@ -4,262 +4,13 @@
 
 #include "ISF_FastCaloSimEvent/TFCS1DFunction.h"
 
-#include "TMVA/Config.h"
-#include "TMVA/Tools.h"
-#include "TMVA/Reader.h"
-#include "TMVA/Factory.h"
-#include "TMVA/DataLoader.h"
 #include "TFile.h"
-
 #include "TRandom1.h"
 
 //=============================================
 //======= TFCS1DFunction =========
 //=============================================
 
-TFCS1DFunction::TFCS1DFunction()
-{
-}
-
-TFCS1DFunction::TFCS1DFunction(TH1* hist)
-{
-  Initialize(hist);
-}
-
-void TFCS1DFunction::Initialize(TH1* /*hist*/)
-{
-}
-
-int TFCS1DFunction::testHisto(TH1* hist, std::string weightfilename, float &rangeval, float &startval, std::string outfilename, int skip_regression,
-    int neurons_start, int neurons_end, double cut_maxdev, int ntoys)
-{
-
-  //int debug=1;
-
-  //transform the histogram
-  TH1* h_transf=transform(hist, rangeval, startval); h_transf->SetName("h_transf");
-
-  //Turn the histogram into a tree:
-  std::vector<double> contents;
-  std::vector<double> centers;
-  for(int b=1;b<=h_transf->GetNbinsX();b++)
-  {
-    contents.push_back(h_transf->GetBinContent(b));
-    centers.push_back(h_transf->GetBinCenter(b));
-  }
-
-  TTree* tree=new TTree("tree","tree");
-  Float_t x,y;
-  tree->Branch("x",&x,"x/F");
-  tree->Branch("y",&y,"y/F");
-
-  for(unsigned int i=0;i<centers.size();i++)
-  {
-    y=(Float_t)(contents[i]);   //xvals are the BinContents
-    x=(Float_t)(centers[i]);    //yvals are the BinCenters
-
-    tree->Fill();
-  }
-
-  double range_low=get_range_low(h_transf);
-
-  TRandom1* myRandom=new TRandom1(); myRandom->SetSeed(0);
-
-  //int do_iteration=1;
-  int do_range=1;
-  double maxdev=1000;
-  int neurons=neurons_start;
-  std::vector<TH1*> histos;
-  if(skip_regression) std::cout<<"skipping regression"<<std::endl;
-  while(!skip_regression && maxdev>cut_maxdev && neurons<=neurons_end)
-  {
-
-    tmvaregression_training(neurons, tree, weightfilename, outfilename);
-
-    std::cout<<"Testing the regression with "<<ntoys<<" toys"<<std::endl;
-    TH1* h_output=(TH1*)h_transf->Clone("h_output");
-    h_output->Reset();
-    for(int i=0;i<ntoys;i++)
-    {
-      double random=myRandom->Uniform(1);
-      if(do_range && random<range_low) random=range_low;
-      double value =tmvaregression_application(random,weightfilename);
-      h_output->Fill(value);    
-    }
-
-    TH1* h_cumul=get_cumul(h_output);
-    h_cumul->SetName(Form("h_cumul_neurons%i",neurons));
-    histos.push_back(h_cumul);
-
-    maxdev=get_maxdev(h_transf,h_cumul);
-    std::cout<<"---> Neurons="<<neurons<<" MAXDEV="<<maxdev<<"%"<<std::endl;
-    neurons++;
-    //if(!do_iteration) break;
-  }
-
-  //TH1* histclone=(TH1*)hist->Clone("histclone");
-
-  /* 
-     TFile* out_iteration=new TFile(Form("output/iteration_%s.root",label.c_str()),"RECREATE");
-     for(int h=0;h<histos.size();h++)
-     {
-     out_iteration->Add(histos[h]);
-     }
-     out_iteration->Add(histclone);
-     out_iteration->Write();
-     out_iteration->Close();
-     */
-
-  int regression_success=1;
-  if(maxdev>cut_maxdev) regression_success=0;
-
-  int status=0;
-  if(regression_success)
-  {
-    std::cout<<"Regression successful. Weights are stored."<<std::endl;
-    if(rangeval<0)  status=1;
-    if(rangeval>=0) status=2;
-  }
-
-  if(!regression_success)
-  {
-    std::cout<<"Regression failed. Histogram is stored."<<std::endl;
-    status=3;
-  } //!success
-
-  return status;
-
-}
-
-double TFCS1DFunction::rnd_to_fct(double /*rnd*/)
-{
-
-  return 0;
-}
-
-
-double TFCS1DFunction::get_range_low(TH1* hist)
-{
-  double range_low=0.0;
-  int bin_start=-1;
-  for(int b=1;b<=hist->GetNbinsX();b++)
-  {
-    if(hist->GetBinContent(b)>0 && bin_start<0)
-    {
-      bin_start=b;
-      range_low=hist->GetBinContent(b);
-      b=hist->GetNbinsX()+1;
-    }
-  }
-  return range_low;
-}
-
-void TFCS1DFunction::tmvaregression_training(int neurons, TTree *regTree, std::string weightfile, std::string outfilename)
-{
-  using namespace TMVA;
-
-  TString myMethodList = "" ;
-  TMVA::Tools::Instance();
-  std::map<std::string,int> Use;
-
-  Use["PDERS"] = 0;  Use["PDEFoam"] = 0; Use["KNN"] = 0;  Use["LD"]  = 0; Use["FDA_GA"] = 0; Use["FDA_MC"] = 0;
-  Use["FDA_MT"] = 0; Use["FDA_GAMT"] = 0; Use["MLP"] = 1; Use["SVM"] = 0; Use["BDT"] = 0; Use["BDTG"] = 0;
-
-  std::cout << std::endl; std::cout << "==> Start TMVARegression with "<<neurons<<" Neurons "<<std::endl;
-
-  if(myMethodList != "")
-  {
-    for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) it->second = 0;
-    std::vector<TString> mlist = gTools().SplitString( myMethodList, ',' );
-    for (UInt_t i=0; i<mlist.size(); i++)
-    {
-      std::string regMethod(mlist[i]);
-      if (Use.find(regMethod) == Use.end())
-      {
-        std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
-        for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) std::cout << it->first << " ";
-        std::cout << std::endl;
-        return;
-      }
-      Use[regMethod] = 1;
-    }
-  }
-
-  // TString outfileName("TMVAReg.root");
-  TFile* outputFile = TFile::Open( outfilename.c_str(), "RECREATE" );
-  TMVA::Factory *factory = new TMVA::Factory( "TMVARegression", outputFile, "!V:!Silent:Color:DrawProgressBar" );
-  TString dirname=Form("%s/",weightfile.c_str());
-  (TMVA::gConfig().GetIONames()).fWeightFileDir = dirname;
-  	
-  TMVA::DataLoader *dl=new TMVA::DataLoader("dl");
-
-  if(Use["MLP"])
-    //factory->BookMethod( TMVA::Types::kMLP, "MLP", Form("!H:!V:VarTransform=Norm:NeuronType=tanh:NCycles=20000:HiddenLayers=%i:TestRate=6:TrainingMethod=BFGS:Sampling=0.3:SamplingEpoch=0.8:ConvergenceImprove=1e-6:ConvergenceTests=15:!UseRegulator",neurons) );
-    factory->BookMethod(dl, TMVA::Types::kMLP, "MLP", Form("!H:!V:VerbosityLevel=Info:NeuronType=tanh:NCycles=20000:HiddenLayers=%i:TestRate=6:TrainingMethod=BFGS:Sampling=0.3:SamplingEpoch=0.8:ConvergenceImprove=1e-6:ConvergenceTests=15:!UseRegulator",neurons)); 
-    	
-  dl->AddVariable( "y", "y", 'F' );
-  dl->AddTarget( "x" );
-  //TFile *input(0);
-  Double_t regWeight  = 1.0;   
-
-  dl->AddRegressionTree( regTree, regWeight );
-  TCut mycut = "";
-  dl->PrepareTrainingAndTestTree( mycut,"nTrain_Regression=0:nTest_Regression=0:SplitMode=Random:NormMode=NumEvents:!V" );
-
-
-  // Train MVAs using the set of training events
-  factory->TrainAllMethods();
-
-  // ---- Evaluate all MVAs using the set of test events
-  factory->TestAllMethods();
-
-  // ----- Evaluate and compare performance of all configured MVAs
-  factory->EvaluateAllMethods();
-
-  // Save the output
-  outputFile->Close();
-
-  std::cout << "==> Wrote root file: " << outputFile->GetName() << std::endl;
-  std::cout << "==> TMVARegression is done!" << std::endl;      
-
-  delete factory;  
-
-}
-
-
-TH1* TFCS1DFunction::transform(TH1* h_input, float &rangeval, float& startval)
-{
-
-  bool do_transform=false;
-  float xmin=h_input->GetXaxis()->GetXmin();
-  float xmax=h_input->GetXaxis()->GetXmax();
-  if(xmin<0 || xmax>1) do_transform=true;
-
-  TH1D* h_out;
-
-  if(do_transform)
-  {
-    int nbins=h_input->GetNbinsX();
-    double min=0;
-    double max=1;
-    h_out=new TH1D("h_out","h_out",nbins,min,max);
-
-    for(int b=1;b<=nbins;b++)
-      h_out->SetBinContent(b,h_input->GetBinContent(b));
-
-    //store the inital range
-    rangeval=xmax-xmin;
-    startval=xmin;
-  }
-  if(!do_transform)
-  {
-    rangeval=-1;
-    h_out=(TH1D*)h_input->Clone("h_out");
-  }
-  return h_out;
-
-}
-
 
 double TFCS1DFunction::get_maxdev(TH1* h_input1, TH1* h_approx1)
 {
@@ -290,88 +41,8 @@ double TFCS1DFunction::get_maxdev(TH1* h_input1, TH1* h_approx1)
 
 }
 
-
-double TFCS1DFunction::tmvaregression_application(double uniform, std::string weightfile)
+double TFCS1DFunction::rnd_to_fct(double)
 {
 
-  using namespace TMVA;
-
-  TString myMethodList = "" ;
-  TMVA::Tools::Instance();
-
-  std::map<std::string,int> Use;
-
-  // --- Mutidimensional likelihood and Nearest-Neighbour methods
-  Use["PDERS"]           = 0;   Use["PDEFoam"]         = 0;   Use["KNN"]            = 0;
-  Use["LD"]             = 0;   Use["FDA_GA"]          = 0;   Use["FDA_MC"]          = 0;
-  Use["FDA_MT"]          = 0;   Use["FDA_GAMT"]        = 0;   Use["MLP"]             = 1; 
-  Use["SVM"]             = 0;   Use["BDT"]             = 0;   Use["BDTG"]            = 0;
-  // ---------------------------------------------------------------
-
-  // Select methods (don't look at this code - not of interest)
-  if(myMethodList != "")
-  {
-    for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) it->second = 0;
-    std::vector<TString> mlist = gTools().SplitString( myMethodList, ',' );
-    for (UInt_t i=0; i<mlist.size(); i++)
-    {
-      std::string regMethod(mlist[i]);
-      if (Use.find(regMethod) == Use.end())
-      {
-        std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
-        for(std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) std::cout << it->first << " ";
-        std::cout << std::endl;
-        return 0;
-      }
-      Use[regMethod] = 1;
-    }
-  }
-
-  // --------------------------------------------------------------------------------------------------
-
-  TMVA::Reader *reader = new TMVA::Reader( "!Color:Silent");    
-
-  Float_t y=uniform;
-  reader->AddVariable( "y", &y );
-
-  TString dir    = Form("%s/",weightfile.c_str());
-  TString prefix = "TMVARegression";
-
-  // Book method(s)
-  for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++)
-  {
-    if (it->second)
-    {
-      TString methodName = it->first + " method";
-      TString weightfile = dir + prefix + "_" + TString(it->first) + ".weights.xml";
-      reader->BookMVA( methodName, weightfile ); 
-    }
-  }
-
-  Float_t val = (reader->EvaluateRegression("MLP method"))[0];
-  delete reader;
-  return val;
-
-}
-
-
-TH1* TFCS1DFunction::get_cumul(TH1* hist)
-{
-  TH1D* h_cumul=(TH1D*)hist->Clone("h_cumul");
-  double sum=0;
-  for(int b=1;b<=h_cumul->GetNbinsX();b++)
-  {
-    sum+=hist->GetBinContent(b);
-    h_cumul->SetBinContent(b,sum);
-  }
-  return h_cumul; 
+  return 0;
 }
-
-
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(TFCS1DFunction)
-
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionHistogram.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionHistogram.cxx
similarity index 79%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionHistogram.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionHistogram.cxx
index 770049ae0bd0d8bdf00c81d61108de4cc24cde9a..e65f31ad14e299f53aaecabcf1626a705179eb9e 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionHistogram.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionHistogram.cxx
@@ -3,18 +3,14 @@
 */
 
 using namespace std;
-#include "ISF_FastCaloSimParametrization/TFCS1DFunctionHistogram.h"
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionHistogram.h"
 #include "TMath.h"
 #include <iostream>
 
 //=============================================
-//======= TFCSFunctionRegression =========
+//======= TFCS1DFunctionHistogram =========
 //=============================================
 
-TFCS1DFunctionHistogram::TFCS1DFunctionHistogram()
-{
-}
-
 TFCS1DFunctionHistogram::TFCS1DFunctionHistogram(TH1* hist, int verbose, double cut_maxdev)
 {
   Initialize(hist, verbose,cut_maxdev);
@@ -48,19 +44,19 @@ void TFCS1DFunctionHistogram::Initialize(TH1* hist, int verbose,double cut_maxde
 
 double* TFCS1DFunctionHistogram::histo_to_array(TH1* hist)
 {
- 
+
  TH1D* h_clone=(TH1D*)hist->Clone("h_clone");
  h_clone->Scale(1.0/h_clone->Integral());
- 
+
  double *histoVals=new double[h_clone->GetNbinsX()];
  histoVals[0]=h_clone->GetBinContent(1);
  for (int i=1; i<h_clone->GetNbinsX(); i++)
  {
   histoVals[i]=histoVals[i-1] + h_clone->GetBinContent(i+1);
  }
- 
+
  return histoVals;
- 
+
 }
 
 double TFCS1DFunctionHistogram::sample_from_histo(TH1* hist, double random)
@@ -79,7 +75,7 @@ double TFCS1DFunctionHistogram::sample_from_histo(TH1* hist, double random)
 }
 
 double TFCS1DFunctionHistogram::sample_from_histovalues(double random)
-{ 
+{
   double value=0.0;
 
   TH1* hist=vector_to_histo(); hist->SetName("hist");
@@ -90,8 +86,6 @@ double TFCS1DFunctionHistogram::sample_from_histovalues(double random)
   return value;
 }
 
-
-
 TH1* TFCS1DFunctionHistogram::vector_to_histo()
 {
 
@@ -103,10 +97,14 @@ TH1* TFCS1DFunctionHistogram::vector_to_histo()
   for(int b=1;b<=h_out->GetNbinsX();b++)
     h_out->SetBinContent(b,m_HistoContents[b-1]);
 
+
+  delete bins;
+
   return h_out;
 
 }
 
+
 void TFCS1DFunctionHistogram::smart_rebin_loop(TH1* hist, int verbose, double cut_maxdev)
 {
 
@@ -280,84 +278,3 @@ double TFCS1DFunctionHistogram::get_inverse(double rnd)
 
   return value;
 }
-
-double TFCS1DFunctionHistogram::InverseCumulant(double y)
-{
-
-  TH1* hist=vector_to_histo(); hist->SetName("hist");
-
-  int bin = 0;
-  int nbin = hist->GetNbinsX();
-  double min = 99999999;
-  for (int i=1; i<=hist->GetNbinsX()-2; i++)
-  {
-    if(fabs(hist->GetBinContent(i)-y)<min)
-    {
-      min = fabs(hist->GetBinContent(i)-y);
-      bin = i ;
-    }
-  }
-  bin = TMath::Max(bin,1);
-  bin = TMath::Min(bin,hist->GetNbinsX());
-
-  //std::cout<<bin <<std::endl;
-
-  double AvNuEvPerBin;
-  double Tampon = 0 ;
-  for (int i=1; i<=nbin; i++)
-  {
-    Tampon += hist->GetBinContent(i);
-  }
-
-  AvNuEvPerBin = Tampon/nbin;
-
-  double x;
-  double x0, x1, y0, y1;
-  double total = hist->GetNbinsX()*AvNuEvPerBin;
-  double supmin = 0.5/total;
-
-  x0 = hist->GetBinLowEdge(TMath::Max(bin,1));
-  x1 = hist->GetBinLowEdge(TMath::Min(bin,hist->GetNbinsX())+1);
-
-  y0 = hist->GetBinContent(TMath::Max(bin-1,0)); // Y0 = F(x0); Y0 >= 0
-  y1 = hist->GetBinContent(TMath::Min(bin, hist->GetNbinsX()+1));  // Y1 = F(x1);  Y1 <= 1
-
-  //Zero bin
-  if (bin == 0)
-  {
-    y0 = supmin;
-    y1 = supmin;
-  }
-  if (bin == 1) {
-    y0 = supmin;
-  }
-  if (bin > hist->GetNbinsX()) {
-    y0 = 1.-supmin;
-    y1 = 1.-supmin;
-  }
-  if (bin == hist->GetNbinsX()) {
-    y1 = 1.-supmin;
-  }
-
-  ////////////////////////
-
-  if(y0 == x1)
-  {
-    x = x0;
-  }
-  else
-  {
-    x = x0 + (y-y0)*(x1-x0)/(y1-y0);
-  }
-
-  return x;
-
-}
-
-
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-//ClassImp(TFCS1DFunctionHistogram)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegression.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegression.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..cd3f56039837d7e7b308f798cafd84d3ee1c15f0
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegression.cxx
@@ -0,0 +1,831 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionRegression.h"
+
+
+#include "TFile.h"
+#include "TString.h"
+#include "TMath.h"
+
+using namespace std;
+
+//=============================================
+//======= TFCS1DFunctionRegression =========
+//=============================================
+
+
+double TFCS1DFunctionRegression::regression_value(double uniform)
+{
+ 
+ double myresult=-1;
+ 
+ int n_neurons=m_fWeightMatrix0to1.size()-1;
+ 
+ if(n_neurons>0)
+ {
+  
+  int fLayers=3;
+  vector<int> fLayerSize;
+  fLayerSize.push_back(2);
+  fLayerSize.push_back(n_neurons+1);
+  fLayerSize.push_back(1);
+  
+  vector<vector<double> > fWeights;
+  for(int l=0;l<fLayers;l++)
+  {
+   vector<double> thisvector;
+   for(int i=0;i<fLayerSize[l];i++)
+    thisvector.push_back(0); //placeholder
+   fWeights.push_back(thisvector);
+  }
+  
+  for (int l=0; l<fLayers; l++)
+   for (int i=0; i<fLayerSize[l]; i++)
+    fWeights[l][i]=0;
+  
+  for (int l=0; l<fLayers-1; l++)
+   fWeights[l][fLayerSize[l]-1]=1;
+  
+  for (int i=0; i<fLayerSize[0]-1; i++)
+   fWeights[0][i]=uniform;
+  
+  // layer 0 to 1
+  for (int o=0; o<fLayerSize[1]-1; o++)
+  {
+   for (int i=0; i<fLayerSize[0]; i++)
+   {
+    fWeights[1][o] += m_fWeightMatrix0to1[o][i] * fWeights[0][i];
+   }
+   fWeights[1][o] = sigmoid(fWeights[1][o]);
+  }
+  
+  // layer 1 to 2
+  for (int o=0; o<fLayerSize[2]; o++)
+  {
+   for (int i=0; i<fLayerSize[1]; i++)
+   {
+    fWeights[2][o] += m_fWeightMatrix1to2[o][i] * fWeights[1][i];
+   }
+  }
+  
+  myresult=fWeights[2][0];
+  
+ }
+ 
+ return myresult;
+ 
+}
+
+
+double TFCS1DFunctionRegression::rnd_to_fct(double rnd)
+{
+  
+  double value=regression_value(rnd); 
+  return value;
+  
+}
+
+void TFCS1DFunctionRegression::set_weights(vector<vector<double> > fWeightMatrix0to1, vector<vector<double> > fWeightMatrix1to2)
+{
+ 
+ m_fWeightMatrix0to1=fWeightMatrix0to1;
+ m_fWeightMatrix1to2=fWeightMatrix1to2;
+ 
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+/// The Sigmoid.
+/// Fast computation of the values of the sigmoid function.
+/// Uses values of the function up  to the seventh order
+/// tabulated at 700 points.
+/// Values were computed in long double precision (16 bytes,
+/// precision to about 37 digits) on a hp computer.
+/// Some values were checked with Mathematica.
+/// Result should be correct to ~ 15 digits (about double
+/// precision)
+///
+/// From the mlpfit package (J.Schwindling   20-Jul-1999)
+
+double TFCS1DFunctionRegression::sigmoid(double x)
+{
+   static Double_t sigval[7000] = {
+   -3.500000e+01, 6.30511676014698530e-16, 6.30511676014698130e-16, 3.15255838007348670e-16, 1.05085279335782620e-16, 2.62713198339455210e-17, 5.25426396678905190e-18, 8.75710661131491060e-19, 1.25101523018779380e-19, 1.56376903773461590e-20,
+   -3.490000e+01, 6.96823167838580650e-16, 6.96823167838580160e-16, 3.48411583919289640e-16, 1.16137194639762880e-16, 2.90342986599405540e-17, 5.80685973198804710e-18, 9.67809955331319670e-19, 1.38258565047325200e-19, 1.72823206309141090e-20,
+   -3.480000e+01, 7.70108700136546340e-16, 7.70108700136545750e-16, 3.85054350068272280e-16, 1.28351450022757030e-16, 3.20878625056890590e-17, 6.41757250113773230e-18, 1.06959541685626250e-18, 1.52799345265172810e-19, 1.90999181581447200e-20,
+   -3.470000e+01, 8.51101739147945470e-16, 8.51101739147944780e-16, 4.25550869573971650e-16, 1.41850289857990070e-16, 3.54625724644972780e-17, 7.09251449289935940e-18, 1.18208574881652770e-18, 1.68869392688066160e-19, 2.11086740860059710e-20,
+   -3.460000e+01, 9.40612890429916560e-16, 9.40612890429915770e-16, 4.70306445214957000e-16, 1.56768815071651720e-16, 3.91922037679126390e-17, 7.83844075358240950e-18, 1.30640679226369560e-18, 1.86629541751945290e-19, 2.33286927189903510e-20,
+   -3.450000e+01, 1.03953801167022100e-15, 1.03953801167021980e-15, 5.19769005835108810e-16, 1.73256335278368870e-16, 4.33140838195918600e-17, 8.66281676391822790e-18, 1.44380279398632340e-18, 2.06257541998032470e-19, 2.57821927497506280e-20,
+   -3.440000e+01, 1.14886717873211280e-15, 1.14886717873211140e-15, 5.74433589366054410e-16, 1.91477863122017240e-16, 4.78694657805038730e-17, 9.57389315610059860e-18, 1.59564885935004120e-18, 2.27949837049989100e-19, 2.84937296312444480e-20,
+   -3.430000e+01, 1.26969459466634980e-15, 1.26969459466634820e-15, 6.34847297333172530e-16, 2.11615765777723080e-16, 5.29039414444302330e-17, 1.05807882888858320e-17, 1.76346471481423380e-18, 2.51923530687727210e-19, 3.14904413359607800e-20,
+   -3.420000e+01, 1.40322954086308920e-15, 1.40322954086308720e-15, 7.01614770431541630e-16, 2.33871590143845880e-16, 5.84678975359608160e-17, 1.16935795071919010e-17, 1.94892991786522940e-18, 2.78418559695007730e-19, 3.48023199618697190e-20,
+   -3.410000e+01, 1.55080847994653150e-15, 1.55080847994652920e-15, 7.75404239973262210e-16, 2.58468079991085760e-16, 6.46170199977706390e-17, 1.29234039995538080e-17, 2.15390066659219480e-18, 3.07700095227425790e-19, 3.84625119034205930e-20,
+   -3.400000e+01, 1.71390843154201000e-15, 1.71390843154200710e-15, 8.56954215771000580e-16, 2.85651405256998220e-16, 7.14128513142485820e-17, 1.42825702628493230e-17, 2.38042837714142370e-18, 3.40061196734451790e-19, 4.25076495917971450e-20,
+   -3.390000e+01, 1.89416175478487890e-15, 1.89416175478487530e-15, 9.47080877392433920e-16, 3.15693625797475610e-16, 7.89234064493677060e-17, 1.57846812898730630e-17, 2.63078021497868450e-18, 3.75825744996909330e-19, 4.69782181246022790e-20,
+   -3.380000e+01, 2.09337248551938710e-15, 2.09337248551938240e-15, 1.04668624275968680e-15, 3.48895414253226000e-16, 8.72238535633050470e-17, 1.74447707126604240e-17, 2.90746178544320960e-18, 4.15351683634688560e-19, 5.19189604543221620e-20,
+   -3.370000e+01, 2.31353439169574760e-15, 2.31353439169574210e-15, 1.15676719584786570e-15, 3.85589065282618330e-16, 9.63972663206527960e-17, 1.92794532641298470e-17, 3.21324221068806990e-18, 4.59034601526799130e-19, 5.73793251908329070e-20,
+   -3.360000e+01, 2.55685092766997700e-15, 2.55685092766997070e-15, 1.27842546383497880e-15, 4.26141821278321860e-16, 1.06535455319578300e-16, 2.13070910639147860e-17, 3.55118184398550770e-18, 5.07311691997846610e-19, 6.34139614997100740e-20,
+   -3.350000e+01, 2.82575728711560320e-15, 2.82575728711559530e-15, 1.41287864355778950e-15, 4.70959547852591190e-16, 1.17739886963145140e-16, 2.35479773926279630e-17, 3.92466289877097270e-18, 5.60666128395751820e-19, 7.00832660494436280e-20,
+   -3.340000e+01, 3.12294477526050570e-15, 3.12294477526049620e-15, 1.56147238763023820e-15, 5.20490795876739570e-16, 1.30122698969181640e-16, 2.60245397938350280e-17, 4.33742329897207160e-18, 6.19631899853029210e-19, 7.74539874815976920e-20,
+   -3.330000e+01, 3.45138774437420440e-15, 3.45138774437419260e-15, 1.72569387218708450e-15, 5.75231290729020130e-16, 1.43807822682251060e-16, 2.87615645364486300e-17, 4.79359408940757550e-18, 6.84799155629502340e-19, 8.55998944536499720e-20,
+   -3.320000e+01, 3.81437336208505550e-15, 3.81437336208504050e-15, 1.90718668104250570e-15, 6.35728893680825560e-16, 1.58932223420201530e-16, 3.17864446840383680e-17, 5.29774078067241470e-18, 7.56820111524445930e-19, 9.46025139405095430e-20,
+   -3.310000e+01, 4.21553451045883940e-15, 4.21553451045882130e-15, 2.10776725522939290e-15, 7.02589085076452470e-16, 1.75647271269107180e-16, 3.51294542538190670e-17, 5.85490904230238850e-18, 8.36415577471544070e-19, 1.04551947183886600e-19,
+   -3.300000e+01, 4.65888614510337560e-15, 4.65888614510335430e-15, 2.32944307255165550e-15, 7.76481024183870600e-16, 1.94120256045960400e-16, 3.88240512091891920e-17, 6.47067520153056710e-18, 9.24382171646948210e-19, 1.15547771455799630e-19,
+   -3.290000e+01, 5.14886547819381740e-15, 5.14886547819379060e-15, 2.57443273909686890e-15, 8.58144246365605200e-16, 2.14536061591392470e-16, 4.29072123182749640e-17, 7.15120205304464960e-18, 1.02160029329175600e-18, 1.27700036661385360e-19,
+   -3.280000e+01, 5.69037638758347510e-15, 5.69037638758344200e-15, 2.84518819379168870e-15, 9.48396064597207920e-16, 2.37099016149291180e-16, 4.74198032298539250e-17, 7.90330053830754850e-18, 1.12904293404352430e-18, 1.41130366755337750e-19,
+   -3.270000e+01, 6.28883849646157640e-15, 6.28883849646153690e-15, 3.14441924823072900e-15, 1.04813974941021660e-15, 2.62034937352540980e-16, 5.24069874705029230e-17, 8.73449791174873020e-18, 1.24778541596360200e-18, 1.55973176995324680e-19,
+   -3.260000e+01, 6.95024141476392120e-15, 6.95024141476387310e-15, 3.47512070738188800e-15, 1.15837356912726370e-15, 2.89593392281799860e-16, 5.79186784563535330e-17, 9.65311307605677590e-18, 1.37901615372178300e-18, 1.72377019215069530e-19,
+   -3.250000e+01, 7.68120468520203540e-15, 7.68120468520197700e-15, 3.84060234260092930e-15, 1.28020078086693710e-15, 3.20050195216714590e-16, 6.40100390433350520e-17, 1.06683398405532210e-17, 1.52404854864971080e-18, 1.90506068581026560e-19,
+   -3.240000e+01, 8.48904403387170610e-15, 8.48904403387163350e-15, 4.24452201693574420e-15, 1.41484067231186670e-15, 3.53710168077942670e-16, 7.07420336155789230e-17, 1.17903389359266190e-17, 1.68433413370288750e-18, 2.10541766712632160e-19,
+   -3.230000e+01, 9.38184458849859670e-15, 9.38184458849850840e-15, 4.69092229424916660e-15, 1.56364076474966340e-15, 3.90910191187386470e-16, 7.81820382374655680e-17, 1.30303397062403500e-17, 1.86147710089036070e-18, 2.32684637611015680e-19,
+   -3.220000e+01, 1.03685417971139710e-14, 1.03685417971138640e-14, 5.18427089855682470e-15, 1.72809029951886980e-15, 4.32022574879681600e-16, 8.64045149759219900e-17, 1.44007524959822210e-17, 2.05725035656752340e-18, 2.57156294570599160e-19,
+   -3.210000e+01, 1.14590108570221770e-14, 1.14590108570220460e-14, 5.72950542851089130e-15, 1.90983514283687630e-15, 4.77458785709175300e-16, 9.54917571418175490e-17, 1.59152928569637550e-17, 2.27361326527886920e-18, 2.84201658159441780e-19,
+   -3.200000e+01, 1.26641655490940160e-14, 1.26641655490938570e-14, 6.33208277454676750e-15, 2.11069425818214890e-15, 5.27673564545483790e-16, 1.05534712909075370e-16, 1.75891188181721000e-17, 2.51273125973683490e-18, 3.14091407466595250e-19,
+   -3.190000e+01, 1.39960674665542220e-14, 1.39960674665540250e-14, 6.99803373327681690e-15, 2.33267791109214150e-15, 5.83169477772970090e-16, 1.16633895554567910e-16, 1.94389825924192790e-17, 2.77699751320026640e-18, 3.47124689149411470e-19,
+   -3.180000e+01, 1.54680467314603800e-14, 1.54680467314601400e-14, 7.73402336572983000e-15, 2.57800778857645030e-15, 6.44501947144032790e-16, 1.28900389428774660e-16, 2.14833982381184800e-17, 3.06905689115674430e-18, 3.83632111393833500e-19,
+   -3.170000e+01, 1.70948354070450830e-14, 1.70948354070447900e-14, 8.54741770352210300e-15, 2.84913923450717270e-15, 7.12284808626695750e-16, 1.42456961725300190e-16, 2.37428269542037130e-17, 3.39183242202539070e-18, 4.23979052752246120e-19,
+   -3.160000e+01, 1.88927149411560280e-14, 1.88927149411556710e-14, 9.44635747057747730e-15, 3.14878582352558780e-15, 7.87196455881277930e-16, 1.57439291176208010e-16, 2.62398818626854730e-17, 3.74855455180767740e-18, 4.68569318974826550e-19,
+   -3.150000e+01, 2.08796791164589010e-14, 2.08796791164584650e-14, 1.04398395582287960e-14, 3.47994651940930800e-15, 8.69986629852181640e-16, 1.73997325970378200e-16, 2.89995543283769920e-17, 4.14279347547689150e-18, 5.17849184433227460e-19,
+   -3.140000e+01, 2.30756141382617880e-14, 2.30756141382612580e-14, 1.15378070691300960e-14, 3.84593568970967660e-15, 9.61483922427241660e-16, 1.92296784485377340e-16, 3.20494640808725600e-17, 4.57849486868931840e-18, 5.72311858584474310e-19,
+   -3.130000e+01, 2.55024976623420620e-14, 2.55024976623414120e-14, 1.27512488311700560e-14, 4.25041627705625120e-15, 1.06260406926384610e-15, 2.12520813852682500e-16, 3.54201356420848460e-17, 5.06001937743243370e-18, 6.32502422176989520e-19,
+   -3.120000e+01, 2.81846187547126010e-14, 2.81846187547118060e-14, 1.40923093773551080e-14, 4.69743645911783960e-15, 1.17435911477919500e-15, 2.34871822955733110e-16, 3.91453038259202140e-17, 5.59218626083565740e-18, 6.99023282601935360e-19,
+   -3.110000e+01, 3.11488209847576830e-14, 3.11488209847567110e-14, 1.55744104923773830e-14, 5.19147016412514760e-15, 1.29786754103096350e-15, 2.59573508206063350e-16, 4.32622513676341070e-17, 6.18032162393540810e-18, 7.72540202988845880e-19,
+   -3.100000e+01, 3.44247710846985810e-14, 3.44247710846973950e-14, 1.72123855423475110e-14, 5.73746184744838010e-15, 1.43436546186170000e-15, 2.86873092372182000e-16, 4.78121820619776690e-17, 6.83031172312461810e-18, 8.53788965386815150e-19,
+   -3.090000e+01, 3.80452558642202530e-14, 3.80452558642188080e-14, 1.90226279321079550e-14, 6.34087597736835340e-15, 1.58521899434160580e-15, 3.17043798868128200e-16, 5.28406331446237000e-17, 7.54866187778500530e-18, 9.43582734718530590e-19,
+   -3.080000e+01, 4.20465103518829610e-14, 4.20465103518811940e-14, 2.10232551759388270e-14, 7.00775172531176340e-15, 1.75193793132735160e-15, 3.50387586265234630e-16, 5.83979310441271980e-17, 8.34256157771000690e-18, 1.04282019720813850e-18,
+   -3.070000e+01, 4.64685804474675720e-14, 4.64685804474654130e-14, 2.32342902237305450e-14, 7.74476340790874180e-15, 1.93619085197646560e-15, 3.87238170395005280e-16, 6.45396950657382470e-17, 9.21995643793518570e-18, 1.15249455473504320e-18,
+   -3.060000e+01, 5.13557237147994640e-14, 5.13557237147968260e-14, 2.56778618573957750e-14, 8.55928728579683310e-15, 2.13982182144832910e-15, 4.27964364289314180e-16, 7.13273940481018150e-17, 1.01896277211239110e-17, 1.27370346513211610e-18,
+   -3.050000e+01, 5.67568523263239960e-14, 5.67568523263207780e-14, 2.83784261631571670e-14, 9.45947538771690840e-15, 2.36486884692815310e-15, 4.72973769385201140e-16, 7.88289615640570200e-17, 1.12612802233958120e-17, 1.40766002791425000e-18,
+   -3.040000e+01, 6.27260225925671670e-14, 6.27260225925632420e-14, 3.13630112962776830e-14, 1.04543370987566040e-14, 2.61358427468783960e-15, 5.22716854937043290e-16, 8.71194758226656970e-17, 1.24456394031879920e-17, 1.55570492538600840e-18,
+   -3.030000e+01, 6.93229759758606750e-14, 6.93229759758558660e-14, 3.46614879879231310e-14, 1.15538293293045040e-14, 2.88845733232452430e-15, 5.77691466464264150e-16, 9.62819110771637780e-17, 1.37545587252480860e-17, 1.71931984064075470e-18,
+   -3.020000e+01, 7.66137370029775430e-14, 7.66137370029716740e-14, 3.83068685014799680e-14, 1.27689561671560770e-14, 3.19223904178706240e-15, 6.38447808356629930e-16, 1.06407968059177450e-16, 1.52011382940936700e-17, 1.90014228674307500e-18,
+   -3.010000e+01, 8.46712740607860540e-14, 8.46712740607788850e-14, 4.23356370303822730e-14, 1.41118790101226440e-14, 3.52796975252827130e-15, 7.05593950504698390e-16, 1.17598991750464440e-16, 1.67998559642610260e-17, 2.09998199550986870e-18,
+   -3.000000e+01, 9.35762296883929890e-14, 9.35762296883842290e-14, 4.67881148441833550e-14, 1.55960382813886140e-14, 3.89900957034423470e-15, 7.79801914067679430e-16, 1.29966985677557410e-16, 1.85667122395398620e-17, 2.32083902991468430e-18,
+   -2.990000e+01, 1.03417727674778080e-13, 1.03417727674767390e-13, 5.17088638373729960e-14, 1.72362879457838680e-14, 4.30907198644240230e-15, 8.61814397287054390e-16, 1.43635732880700410e-16, 2.05193904113928150e-17, 2.56492380139014880e-18,
+   -2.980000e+01, 1.14294265039630320e-13, 1.14294265039617240e-13, 5.71471325197955590e-14, 1.90490441732564790e-14, 4.76226104330976530e-15, 9.52452208660211380e-16, 1.58742034776121300e-16, 2.26774335392800200e-17, 2.83467919236853180e-18,
+   -2.970000e+01, 1.26314697824628310e-13, 1.26314697824612330e-13, 6.31573489122902130e-14, 2.10524496374194340e-14, 5.26311240934954000e-15, 1.05262248186778070e-15, 1.75437080310587660e-16, 2.50624400441670580e-17, 3.13280500547022990e-18,
+   -2.960000e+01, 1.39599330561290320e-13, 1.39599330561270840e-13, 6.97996652806159300e-14, 2.32665550935256480e-14, 5.81663877337491580e-15, 1.16332775467238480e-15, 1.93887959111198010e-16, 2.76982798727808210e-17, 3.46228498403573600e-18,
+   -2.950000e+01, 1.54281120319164970e-13, 1.54281120319141160e-13, 7.71405601595467900e-14, 2.57135200531663900e-14, 6.42838001328366400e-15, 1.28567600265355900e-15, 2.14279333774535300e-16, 3.06113333960599290e-17, 3.82641667443192680e-18,
+   -2.940000e+01, 1.70507007384868490e-13, 1.70507007384839410e-13, 8.52535036923906350e-14, 2.84178345641108290e-14, 7.10445864101801600e-15, 1.42089172819972690e-15, 2.36815288031995750e-16, 3.38307554327730670e-17, 4.22884442900433970e-18,
+   -2.930000e+01, 1.88439385889862550e-13, 1.88439385889827030e-13, 9.42196929448780100e-14, 3.14065643149356600e-14, 7.85164107872207900e-15, 1.57032821573968130e-15, 2.61721369288368720e-16, 3.73887670407446150e-17, 4.67359587998034830e-18,
+   -2.920000e+01, 2.08257729105506810e-13, 2.08257729105463440e-13, 1.04128864552688340e-13, 3.47096215175338660e-14, 8.67740537936900990e-15, 1.73548107586801910e-15, 2.89246845976075590e-16, 4.13209779960314800e-17, 5.16512224936624800e-18,
+   -2.910000e+01, 2.30160385671876950e-13, 2.30160385671823990e-13, 1.15080192835859010e-13, 3.83600642785843490e-14, 9.59001606962842950e-15, 1.91800321391862300e-15, 3.19667202317416110e-16, 4.56667431875296190e-17, 5.70834289827303100e-18,
+   -2.900000e+01, 2.54366564737627600e-13, 2.54366564737562880e-13, 1.27183282368716740e-13, 4.23944274561957760e-14, 1.05986068640273770e-14, 2.11972137279684860e-15, 3.53286895463265750e-16, 5.04695564939306360e-17, 6.30869456153592520e-18,
+   -2.890000e+01, 2.81118529878825430e-13, 2.81118529878746370e-13, 1.40559264939294170e-13, 4.68530883130453670e-14, 1.17132720782349990e-14, 2.34265441563646270e-15, 3.90442402602564840e-16, 5.57774860850771650e-17, 6.97218576038376470e-18,
+   -2.880000e+01, 3.10684023754248020e-13, 3.10684023754151490e-13, 1.55342011876979210e-13, 5.17806706255953880e-14, 1.29451676563666710e-14, 2.58903353126046440e-15, 4.31505588539120810e-16, 6.16436555043629750e-17, 7.70545693773894400e-18,
+   -2.870000e+01, 3.43358947763907870e-13, 3.43358947763789930e-13, 1.71679473881777080e-13, 5.72264912938470960e-14, 1.43066228234224760e-14, 2.86132456466877550e-15, 4.76887427439556210e-16, 6.81267753470109370e-17, 8.51584691800209580e-18,
+   -2.860000e+01, 3.79470323529711840e-13, 3.79470323529567850e-13, 1.89735161764639940e-13, 6.32450539214506360e-14, 1.58112634803146610e-14, 3.16225269604373280e-15, 5.27042116000888860e-16, 7.52917308554412920e-17, 9.41146635647302580e-18,
+   -2.850000e+01, 4.19379565837778610e-13, 4.19379565837602710e-13, 2.09689782918625480e-13, 6.98965943060912380e-14, 1.74741485764641810e-14, 3.49482971526938620e-15, 5.82471619203747550e-16, 8.32102313125876900e-17, 1.04012789135151140e-17,
+   -2.840000e+01, 4.63486099799084420e-13, 4.63486099798869650e-13, 2.31743049899220000e-13, 7.72476832995967810e-14, 1.93119208248275890e-14, 3.86238416493687560e-15, 6.43730694146598420e-16, 9.19615277325004720e-17, 1.14951909658805930e-17,
+   -2.830000e+01, 5.12231358430229290e-13, 5.12231358429966960e-13, 2.56115679214721100e-13, 8.53718930713987660e-14, 2.13429732677622320e-14, 4.26859465351746230e-15, 7.11432442241249050e-16, 1.01633206031132330e-16, 1.27041507530585860e-17,
+   -2.820000e+01, 5.66103200663442990e-13, 5.66103200663122500e-13, 2.83051600331240810e-13, 9.43505334435332780e-14, 2.35876333607764950e-14, 4.71752667211256930e-15, 7.86254445337851770e-16, 1.12322063615623600e-16, 1.40402579509355750e-17,
+   -2.810000e+01, 6.25640794002741240e-13, 6.25640794002349870e-13, 3.12820397000783510e-13, 1.04273465666666880e-13, 2.60683664165362450e-14, 5.21367328325505900e-15, 8.68945547191779780e-16, 1.24135078165283750e-16, 1.55168847694178470e-17,
+   -2.800000e+01, 6.91440010693542290e-13, 6.91440010693064180e-13, 3.45720005346053980e-13, 1.15240001781699280e-13, 2.88100004452654500e-14, 5.76200008898934550e-15, 9.60333348143642610e-16, 1.37190478300163680e-16, 1.71488097860027170e-17,
+   -2.790000e+01, 7.64159391412363150e-13, 7.64159391411779220e-13, 3.82079695705305630e-13, 1.27359898568045920e-13, 3.18399746418168330e-14, 6.36799492828550810e-15, 1.06133248802163190e-15, 1.51618926852818000e-16, 1.89523658547484770e-17,
+   -2.780000e+01, 8.44526736163259950e-13, 8.44526736162546770e-13, 4.22263368080560150e-13, 1.40754456026377880e-13, 3.51886140063567320e-14, 7.03772280117624980e-15, 1.17295380016434280e-15, 1.67564828585849290e-16, 2.09456035709669510e-17,
+   -2.770000e+01, 9.33346388344898750e-13, 9.33346388344027540e-13, 4.66673194171142670e-13, 1.55557731389800110e-13, 3.88894328471596510e-14, 7.77788656931577800e-15, 1.29631442818057940e-15, 1.85187775443306440e-16, 2.31484719276477960e-17,
+   -2.760000e+01, 1.03150728488961810e-12, 1.03150728488855400e-12, 5.15753642443213040e-13, 1.71917880813695000e-13, 4.29794702030690770e-14, 8.59589404047194890e-15, 1.43264900669803560e-15, 2.04664143800493880e-16, 2.55830179716839340e-17,
+   -2.750000e+01, 1.13999185304305580e-12, 1.13999185304175630e-12, 5.69995926519578510e-13, 1.89998642172326450e-13, 4.74996605426484150e-14, 9.49993210835640690e-15, 1.58332201800164210e-15, 2.26188859698017680e-16, 2.82736074581265530e-17,
+   -2.740000e+01, 1.25988584282620350e-12, 1.25988584282461610e-12, 6.29942921410720760e-13, 2.09980973802515370e-13, 5.24952434500997370e-14, 1.04990486898083070e-14, 1.74984144823083720e-15, 2.49977349727106100e-16, 3.12471687108491790e-17,
+   -2.730000e+01, 1.39238919358655900e-12, 1.39238919358462020e-12, 6.96194596790371320e-13, 2.32064865595497920e-13, 5.80162163982282320e-14, 1.16032432793871470e-14, 1.93387387981169150e-15, 2.76267697091336890e-16, 3.45334621302623570e-17,
+   -2.720000e+01, 1.53882804339444490e-12, 1.53882804339207690e-12, 7.69414021693670390e-13, 2.56471340562978150e-13, 6.41178351399552090e-14, 1.28235670276753080e-14, 2.13726117117397420e-15, 3.05323024423355150e-16, 3.81653780454019560e-17,
+   -2.710000e+01, 1.70066800147851220e-12, 1.70066800147561990e-12, 8.50334000734917620e-13, 2.83444666909711020e-13, 7.08611667264636660e-14, 1.41722333449070960e-14, 2.36203889068930410e-15, 3.37434127204601900e-16, 4.21792658913934210e-17,
+   -2.700000e+01, 1.87952881653555080e-12, 1.87952881653201790e-12, 9.39764408262476250e-13, 3.13254802751803660e-13, 7.83137006867733800e-14, 1.56627401368836570e-14, 2.61045668932360430e-15, 3.72922384144227540e-16, 4.66152980068137490e-17,
+   -2.690000e+01, 2.07720058771982250e-12, 2.07720058771550760e-12, 1.03860029385343900e-12, 3.46200097948269810e-13, 8.65500244856292010e-14, 1.73100048965505380e-14, 2.88500081589998970e-15, 4.12142973645207850e-16, 5.15178716919533240e-17,
+   -2.680000e+01, 2.29566168055709270e-12, 2.29566168055182270e-12, 1.14783084027064130e-12, 3.82610280086700350e-13, 9.56525700199184030e-14, 1.91305140032810070e-14, 3.18841900031260940e-15, 4.55488428549165600e-16, 5.69360535519153530e-17,
+   -2.670000e+01, 2.53709852709174800e-12, 2.53709852708531110e-12, 1.26854926353621870e-12, 4.22849754507781650e-13, 1.05712438624799790e-13, 2.11424877241017100e-14, 3.52374795373086880e-15, 5.03392564736957500e-16, 6.29240705716851820e-17,
+   -2.660000e+01, 2.80392750843360670e-12, 2.80392750842574480e-12, 1.40196375420501040e-12, 4.67321251396428790e-13, 1.16830312846486510e-13, 2.33660625682490380e-14, 3.89434376102541680e-15, 5.56334822903795940e-16, 6.95418528380157340e-17,
+   -2.650000e+01, 3.09881913871222250e-12, 3.09881913870261990e-12, 1.54940956934170730e-12, 5.16469856440833900e-13, 1.29117464107007590e-13, 2.58234928201211620e-14, 4.30391546959340840e-15, 6.14845066962833770e-16, 7.68556333398695290e-17,
+   -2.640000e+01, 3.42472479247986350e-12, 3.42472479246813470e-12, 1.71236239622233860e-12, 5.70787465399626990e-13, 1.42696866345997180e-13, 2.85393732676356060e-14, 4.75656221075132350e-15, 6.79508887101252680e-16, 8.49386108504224980e-17,
+   -2.630000e+01, 3.78490624306004490e-12, 3.78490624304571950e-12, 1.89245312150853430e-12, 6.30817707159961000e-13, 1.57704426785215080e-13, 3.15408853551329510e-14, 5.25681422521880200e-15, 7.50973460563631870e-16, 9.38716825249761520e-17,
+   -2.620000e+01, 4.18296830747124610e-12, 4.18296830745374850e-12, 2.09148415370937700e-12, 6.97161384558127530e-13, 1.74290346133699490e-13, 3.48580692244069370e-14, 5.80967820329016810e-15, 8.29954028819265610e-16, 1.03744253546861460e-16,
+   -2.610000e+01, 4.62289492464729140e-12, 4.62289492462591960e-12, 2.31144746229158880e-12, 7.70482487416282180e-13, 1.92620621846946820e-13, 3.85241243665398760e-14, 6.42068739347348420e-15, 9.17241055939117900e-16, 1.14655131924544790e-16,
+   -2.600000e+01, 5.10908902803722130e-12, 5.10908902801111900e-12, 2.55454451397945650e-12, 8.51514837975750260e-13, 2.12878709485236640e-13, 4.25757418935669590e-14, 7.09595698110103600e-15, 1.01370813982582680e-15, 1.26713517395362360e-16,
+   -2.590000e+01, 5.64641661164308870e-12, 5.64641661161120670e-12, 2.82320830577372090e-12, 9.41069435236652320e-13, 2.35267358798535750e-13, 4.70534717554562100e-14, 7.84224529115905680e-15, 1.12032075547501430e-15, 1.40040094333164010e-16,
+   -2.580000e+01, 6.24025543052348290e-12, 6.24025543048454240e-12, 3.12012771520333030e-12, 1.04004257170848290e-12, 2.60010642914140440e-13, 5.20021285776359840e-14, 8.66702142787529690e-15, 1.23814591777341320e-15, 1.54768239598055100e-16,
+   -2.570000e+01, 6.89654882317364320e-12, 6.89654882312608120e-12, 3.44827441151547810e-12, 1.14942480380678440e-12, 2.87356200935841950e-13, 5.74712401808267460e-14, 9.57854002802390780e-15, 1.36836286054230570e-15, 1.71045357416796510e-16,
+   -2.560000e+01, 7.62186519445479700e-12, 7.62186519439670370e-12, 3.81093259714025940e-12, 1.27031086567469110e-12, 3.17577716399308490e-13, 6.35155432721159960e-14, 1.05859238761040960e-14, 1.51227483870575550e-15, 1.89034354653797760e-16,
+   -2.550000e+01, 8.42346375439769230e-12, 8.42346375432673890e-12, 4.21173187709241450e-12, 1.40391062565016820e-12, 3.50977656388890460e-13, 7.01955312683174650e-14, 1.16992552082327010e-14, 1.67132217170365880e-15, 2.08915271237704210e-16,
+   -2.540000e+01, 9.30936717081640510e-12, 9.30936717072974020e-12, 4.65468358527820600e-12, 1.55156119503495900e-12, 3.87890298729851650e-13, 7.75780597344150870e-14, 1.29296766185507690e-14, 1.84709665869246760e-15, 2.30887082061433640e-16,
+   -2.530000e+01, 1.02884418628644030e-11, 1.02884418627585500e-11, 5.14422093127342320e-12, 1.71474031035390620e-12, 4.28685077553192570e-13, 8.57370154965249040e-14, 1.42895025780496170e-14, 2.04135750980579250e-15, 2.55169688389685830e-16,
+   -2.520000e+01, 1.13704867391374510e-11, 1.13704867390081620e-11, 5.68524336937479380e-12, 1.89508112303873930e-12, 4.73770280716588840e-13, 9.47540561260793620e-14, 1.57923426819337620e-14, 2.25604895292021420e-15, 2.82006118704588760e-16,
+   -2.510000e+01, 1.25663312684444590e-11, 1.25663312682865470e-11, 6.28316563398536100e-12, 2.09438854455651170e-12, 5.23597136086490380e-13, 1.04719427196243050e-13, 1.74532378590221670e-14, 2.49331969214078360e-15, 3.11664961016287840e-16,
+   -2.500000e+01, 1.38879438647711440e-11, 1.38879438645782690e-11, 6.94397193209625990e-12, 2.31465731057016970e-12, 5.78664327578250730e-13, 1.15732865489933500e-13, 1.92888109064166940e-14, 2.75554441275317880e-15, 3.44443050981845790e-16,
+   -2.490000e+01, 1.53485516711897890e-11, 1.53485516709542100e-11, 7.67427583524152660e-12, 2.55809194492345680e-12, 6.39522986152338190e-13, 1.27904597199057240e-13, 2.13174328560394060e-14, 3.04534754787130510e-15, 3.80668442736046330e-16,
+   -2.480000e+01, 1.69627729415529750e-11, 1.69627729412652390e-11, 8.48138647034488360e-12, 2.82712882325647090e-12, 7.06782205718205870e-13, 1.41356441105276420e-13, 2.35594068380911510e-14, 3.36562954464494980e-15, 4.20703692167172130e-16,
+   -2.470000e+01, 1.87467633448913720e-11, 1.87467633445399300e-11, 9.37338167191852480e-12, 3.12446055707188060e-12, 7.81115139150823120e-13, 1.56223027783305790e-13, 2.60371712815980300e-14, 3.71959589290840220e-15, 4.64949485497864110e-16,
+   -2.460000e+01, 2.07183776567796040e-11, 2.07183776563503520e-11, 1.03591888277459240e-11, 3.45306294229580730e-12, 8.63265735430868060e-13, 1.72653147028940140e-13, 2.87755244857455290e-14, 4.11078920679855240e-15, 5.13848649487116960e-16,
+   -2.450000e+01, 2.28973484559312390e-11, 2.28973484554069520e-11, 1.14486742271791870e-11, 3.81622474204353670e-12, 9.54056185336121260e-13, 1.90811236997319100e-13, 3.18018728095848100e-14, 4.54312468042591100e-15, 5.67890583388830720e-16,
+   -2.440000e+01, 2.53054836144786350e-11, 2.53054836138382680e-11, 1.26527418062787670e-11, 4.21758060166601060e-12, 1.05439515020304680e-12, 2.10879029955227020e-13, 3.51465049640770590e-14, 5.02092927245078680e-15, 6.27616157023435650e-16,
+   -2.430000e+01, 2.79668845584872230e-11, 2.79668845577050790e-11, 1.39834422780703920e-11, 4.66114742550203310e-12, 1.16528685611479270e-12, 2.33057371118672340e-13, 3.88428951516833150e-14, 5.54898501173702400e-15, 6.93623123984122820e-16,
+   -2.420000e+01, 3.09081874831280010e-11, 3.09081874821726850e-11, 1.54540937401310260e-11, 5.15136457940679800e-12, 1.28784114453326080e-12, 2.57568228779276710e-13, 4.29280380874209590e-14, 6.13257685750056810e-15, 7.66572104154821690e-16,
+   -2.410000e+01, 3.41588299366717030e-11, 3.41588299355048740e-11, 1.70794149665856120e-11, 5.69313832141732000e-12, 1.42328457996538810e-12, 2.84656915837500910e-13, 4.74428192543912290e-14, 6.77754559295334210e-15, 8.47193195414959260e-16,
+   -2.400000e+01, 3.77513454413658160e-11, 3.77513454399406490e-11, 1.88756727185451600e-11, 6.29189090523161070e-12, 1.57297272583284800e-12, 3.14594544976547720e-13, 5.24324240994173340e-14, 7.49034628181944040e-15, 9.36293280703099570e-16,
+   -2.390000e+01, 4.17216890998595810e-11, 4.17216890981188770e-11, 2.08608445473187400e-11, 6.95361484794578040e-12, 1.73840371140621180e-12, 3.47680742049149160e-13, 5.79467902641604420e-14, 8.27811287277594410e-15, 1.03476410357096340e-15,
+   -2.380000e+01, 4.61095974459562970e-11, 4.61095974438302030e-11, 2.30547987197890050e-11, 7.68493290517893790e-12, 1.92123322558603620e-12, 3.84246644833727960e-13, 6.40411073777948850e-14, 9.14872959840123680e-15, 1.14359119305064670e-15,
+   -2.370000e+01, 5.09589861411988260e-11, 5.09589861386020090e-11, 2.54794930667041840e-11, 8.49316435383684880e-12, 2.12329108759360610e-12, 4.24658217172478840e-13, 7.07763694133323230e-14, 1.01109098832148610e-14, 1.26386372715799030e-15,
+   -2.360000e+01, 5.63183894975709550e-11, 5.63183894943991960e-11, 2.81591947440278350e-11, 9.38639824589476990e-12, 2.34659956041643890e-12, 4.69319911660386350e-13, 7.82199851357639110e-14, 1.11742835505470840e-14, 1.39678543374930300e-15,
+   -2.350000e+01, 6.22414462252038290e-11, 6.22414462213298320e-11, 3.11207231067909190e-11, 1.03735743663476410e-11, 2.59339359029557780e-12, 5.18678717542582610e-13, 8.64464527515860990e-14, 1.23494932010329630e-14, 1.54368663783071540e-15,
+   -2.340000e+01, 6.87874362666143950e-11, 6.87874362618826760e-11, 3.43937181262096260e-11, 1.14645727055820680e-11, 2.86614317481827990e-12, 5.73228634332761170e-13, 9.55381055118285770e-14, 1.36483007273188580e-14, 1.70603757589355130e-15,
+   -2.330000e+01, 7.60218740902944630e-11, 7.60218740845151330e-11, 3.80109370364782430e-11, 1.26703123416398630e-11, 3.16757808348352420e-12, 6.33515615926128080e-13, 1.05585935730829120e-13, 1.50837050310159020e-14, 1.88546311052992310e-15,
+   -2.320000e+01, 8.40171643815300930e-11, 8.40171643744712180e-11, 4.20085821801767210e-11, 1.40028607220196500e-11, 3.50071517815195120e-12, 7.00143034689205770e-13, 1.16690505467806140e-13, 1.66700721200499690e-14, 2.08375899259709100e-15,
+   -2.310000e+01, 9.28533266928275480e-11, 9.28533266842058060e-11, 4.64266633334811610e-11, 1.54755544387458930e-11, 3.86888860681256030e-12, 7.73777720212946620e-13, 1.28962952985636000e-13, 1.84232788884655840e-14, 2.30290983368759360e-15,
+   -2.300000e+01, 1.02618796306488270e-10, 1.02618796295957660e-10, 5.13093981374482110e-11, 1.71031327054623260e-11, 4.27578317285537510e-12, 8.55156633166992820e-13, 1.42526105059804710e-13, 2.03608720176785480e-14, 2.54510896877928730e-15,
+   -2.290000e+01, 1.13411309324635690e-10, 1.13411309311773570e-10, 5.67056546430246580e-11, 1.89018848724334690e-11, 4.72547121382099240e-12, 9.45094241049248420e-13, 1.57515706269891430e-13, 2.25022435895130590e-14, 2.81278040785698940e-15,
+   -2.280000e+01, 1.25338880844974070e-10, 1.25338880829264260e-10, 6.26694403989222890e-11, 2.08898134558342040e-11, 5.22245335872193950e-12, 1.04449066964974320e-12, 1.74081777576742320e-13, 2.48688251686160770e-14, 3.10860309620451750e-15,
+   -2.270000e+01, 1.38520886012187950e-10, 1.38520885992999890e-10, 6.92604429773119150e-11, 2.30868143129786130e-11, 5.77170357184864160e-12, 1.15434071181132360e-12, 1.92390117782419000e-13, 2.74843022966879750e-14, 3.43553772617159750e-15,
+   -2.260000e+01, 1.53089254764511300e-10, 1.53089254741074970e-10, 7.65446273471011700e-11, 2.55148757667428400e-11, 6.37871893387360370e-12, 1.27574378364987810e-12, 2.12623962900032140e-13, 3.03748515452576710e-14, 3.79685636875619410e-15,
+   -2.250000e+01, 1.69189792232887840e-10, 1.69189792204262660e-10, 8.45948960735061490e-11, 2.81982986720852560e-11, 7.04957465847958530e-12, 1.40991492787922570e-12, 2.34985820040973830e-13, 3.35694024995018370e-14, 4.19617522156412460e-15,
+   -2.240000e+01, 1.86983638007721840e-10, 1.86983637972758960e-10, 9.34918189514166080e-11, 3.11639396271636140e-11, 7.79098489513660890e-12, 1.55819697436560440e-12, 2.59699494173694950e-13, 3.70999272951261880e-14, 4.63749080089750140e-15,
+   -2.230000e+01, 2.06648878878055030e-10, 2.06648878835351260e-10, 1.03324439374971880e-10, 3.44414797631881180e-11, 8.61036992656244340e-12, 1.72207397961865410e-12, 2.87012328038497510e-13, 4.10017606060868320e-14, 5.12521994019336570e-15,
+   -2.220000e+01, 2.28382331183999370e-10, 2.28382331131840880e-10, 1.14191165513761950e-10, 3.80637218031483190e-11, 9.51593043340091790e-12, 1.90318607972571820e-12, 3.17197677636131330e-13, 4.53139532856887410e-14, 5.66424399512858830e-15,
+   -2.210000e+01, 2.52401510620814130e-10, 2.52401510557107620e-10, 1.26200755214847280e-10, 4.20669183624780740e-11, 1.05167295693840120e-11, 2.10334590538259950e-12, 3.50557648065698900e-13, 5.00796632004138460e-14, 6.25995769780880360e-15,
+   -2.200000e+01, 2.78946809209081130e-10, 2.78946809131269810e-10, 1.39473404487823600e-10, 4.64911347774003090e-11, 1.16227836684129700e-11, 2.32455672330775130e-12, 3.87426117093010900e-13, 5.53465871680641350e-14, 6.91832314898794850e-15,
+   -2.190000e+01, 3.08283901218829070e-10, 3.08283901123790100e-10, 1.54141950466856080e-10, 5.13806500922593780e-11, 1.28451624913851910e-11, 2.56903248560517660e-12, 4.28172076710242180e-13, 6.11674383231906210e-14, 7.64592948868783410e-15,
+   -2.180000e+01, 3.40706402126909450e-10, 3.40706402010828600e-10, 1.70353200889333440e-10, 5.67844002190572430e-11, 1.41961000160706940e-11, 2.83921998773669170e-12, 4.73203326130299640e-13, 6.76004736874288230e-14, 8.45005884241796450e-15,
+   -2.170000e+01, 3.76538807219354250e-10, 3.76538807077572750e-10, 1.88269403397004910e-10, 6.27564677044806550e-11, 1.56891168788596710e-11, 3.13782335686773810e-12, 5.22970553176557580e-13, 7.47100772248228560e-14, 9.33875920300294780e-15,
+   -2.160000e+01, 4.16139739249242550e-10, 4.16139739076070280e-10, 2.08069869364862860e-10, 6.93566230061727600e-11, 1.73391556938190950e-11, 3.46783111567418200e-12, 5.77971844915817840e-13, 8.25674042175323030e-14, 1.03209249774382680e-14,
+   -2.150000e+01, 4.59905537653718580e-10, 4.59905537442205500e-10, 2.29952768509589640e-10, 7.66509226955211350e-11, 1.91627306033759160e-11, 3.83254609247343680e-12, 6.38757672678323810e-13, 9.12510934110227360e-14, 1.14063860049076830e-14,
+   -2.140000e+01, 5.08274225252250640e-10, 5.08274224993907970e-10, 2.54137112238611260e-10, 8.47123705739752980e-11, 2.11780925573795950e-11, 4.23561847703022720e-12, 7.05936401356474080e-13, 1.00848054056097130e-13, 1.26060059368766350e-14,
+   -2.130000e+01, 5.61729892126191470e-10, 5.61729891810651010e-10, 2.80864945589785050e-10, 9.36216483195680240e-11, 2.34054119747118490e-11, 4.68108235287030770e-12, 7.80180378121030430e-13, 1.11454335724712680e-13, 1.39317909638733210e-14,
+   -2.120000e+01, 6.20807540554960390e-10, 6.20807540169558430e-10, 3.10403769699377210e-10, 1.03467922976191060e-10, 2.58669806155804300e-11, 5.17339607172915330e-12, 8.62232661492547810e-13, 1.23176089604941790e-13, 1.53970099771193270e-14,
+   -2.110000e+01, 6.86098439498613070e-10, 6.86098439027881960e-10, 3.43049219043209910e-10, 1.14349739367249250e-10, 2.85874346849019580e-11, 5.71748687421624950e-12, 9.52914458114660960e-13, 1.36130630895985690e-13, 1.70163273676139010e-14,
+   -2.100000e+01, 7.58256042216238510e-10, 7.58256041641286250e-10, 3.79128020245690930e-10, 1.26376006365262140e-10, 3.15940013996647980e-11, 6.31880020327266280e-12, 1.05313334165867850e-12, 1.50447612935973550e-13, 1.88059497917515770e-14,
+   -2.090000e+01, 8.38002526245700690e-10, 8.38002525543452470e-10, 4.19001262069478020e-10, 1.39667086888327180e-10, 3.49167714879990520e-11, 6.98335420396671280e-12, 1.16389233611675320e-12, 1.66270324813527010e-13, 2.07837883723314650e-14,
+   -2.080000e+01, 9.26136021199050640e-10, 9.26136020341322760e-10, 4.63068009312933450e-10, 1.54356002532492510e-10, 3.85890003472138220e-11, 7.71779995507904090e-12, 1.28629995439193270e-12, 1.83757125449921650e-13, 2.29696379582944770e-14,
+   -2.070000e+01, 1.02353859671178490e-09, 1.02353859566415370e-09, 5.11769296784445560e-10, 1.70589764896394350e-10, 4.26474408748881690e-11, 8.52948803529346740e-12, 1.42158129265418930e-12, 2.03083028504487520e-13, 2.53853752372475280e-14,
+   -2.060000e+01, 1.13118509049205290e-09, 1.13118508921247310e-09, 5.65592543326656920e-10, 1.88530846922499150e-10, 4.71327113040982220e-11, 9.42654209020901760e-12, 1.57109029149796130e-12, 2.24441453965363630e-13, 2.80551776835127940e-14,
+   -2.050000e+01, 1.25015286482386050e-09, 1.25015286326097840e-09, 6.25076430067607020e-10, 2.08358808980614190e-10, 5.20897017241928260e-11, 1.04179401364542760e-11, 1.73632328661428330e-12, 2.48046163955918000e-13, 3.10057655329592020e-14,
+   -2.040000e+01, 1.38163258917063200e-09, 1.38163258726172350e-09, 6.90816291721953060e-10, 2.30272095968045280e-10, 5.75680233557084570e-11, 1.15136044166205460e-11, 1.91893398459637680e-12, 2.74133402130802270e-13, 3.42666692063232140e-14,
+   -2.030000e+01, 1.52694015679506780e-09, 1.52694015446352150e-09, 7.63470074900214590e-10, 2.54490023412374030e-10, 6.36225050759114250e-11, 1.27245007043094580e-11, 2.12075001376063440e-12, 3.02964258073155130e-13, 3.78705248574106530e-14,
+   -2.020000e+01, 1.68752985466077500e-09, 1.68752985181301800e-09, 8.43764923058751970e-10, 2.81254972454412640e-10, 7.03137421643508380e-11, 1.40627480531692380e-11, 2.34379121562789780e-12, 3.34827280356278600e-13, 4.18534010040368660e-14,
+   -2.010000e+01, 1.86500891842450890e-09, 1.86500891494625040e-09, 9.32504453994867120e-10, 3.10834815679450180e-10, 7.77087027604431340e-11, 1.55417400883208640e-11, 2.59028986013089190e-12, 3.70041364421770160e-13, 4.62551595106321980e-14,
+   -2.000000e+01, 2.06115361819020370e-09, 2.06115361394184920e-09, 1.03057680272257050e-09, 3.43525598075287300e-10, 8.58813981027037640e-11, 1.71762790540935310e-11, 2.86271298686651670e-12, 4.08958944176434980e-13, 5.11198545352164150e-14,
+   -1.990000e+01, 2.27792703601641920e-09, 2.27792703082746770e-09, 1.13896351022478230e-09, 3.79654499948959710e-10, 9.49136232575894220e-11, 1.89827239596576850e-11, 3.16378709598955100e-12, 4.51969519249918920e-13, 5.64961734333789080e-14,
+   -1.980000e+01, 2.51749871310048750e-09, 2.51749870676268750e-09, 1.25874934704354400e-09, 4.19583111455981510e-10, 1.04895775751395480e-10, 2.09791543052391430e-11, 3.49652543585987700e-12, 4.99503553214275300e-13, 6.24379240317867700e-14,
+   -1.970000e+01, 2.78226636327486680e-09, 2.78226635553386090e-09, 1.39113317002592420e-09, 4.63711051514637360e-10, 1.15927760298324000e-10, 2.31855510275306740e-11, 3.86425816054374260e-12, 5.52036781779192830e-13, 6.90045731477787140e-14,
+   -1.960000e+01, 3.07487987013171990e-09, 3.07487986067683370e-09, 1.53743992088353070e-09, 5.12479967324586100e-10, 1.28119988679517820e-10, 2.56239964752521050e-11, 4.27066565899153640e-12, 6.10094974079608510e-13, 7.62618417444422280e-14,
+   -1.950000e+01, 3.39826780794684720e-09, 3.39826779639862330e-09, 1.69913388665108760e-09, 5.66377954518213150e-10, 1.41594484780145320e-10, 2.83188954162658940e-11, 4.71981538945660180e-12, 6.74259194706837880e-13, 8.42823626773298690e-14,
+   -1.940000e+01, 3.75566675183327000e-09, 3.75566673772823660e-09, 1.87783335475908580e-09, 6.25944442183006810e-10, 1.56486105844074210e-10, 3.12972192881438640e-11, 5.21620258780033100e-12, 7.45171619145677150e-13, 9.31464076153333000e-14,
+   -1.930000e+01, 4.15065367047031210e-09, 4.15065365324238660e-09, 2.07532680939326730e-09, 6.91775591645805250e-10, 1.72943892168809470e-10, 3.45887761367051850e-11, 5.76479525709864460e-12, 8.23541960818226570e-13, 1.02942690410457400e-13,
+   -1.920000e+01, 4.58718172560528820e-09, 4.58718170456305170e-09, 2.29359083123928980e-09, 7.64530263051605940e-10, 1.91132558748822910e-10, 3.82265089441331980e-11, 6.37108388881175960e-12, 9.10154574055848990e-13, 1.13769254956241180e-13,
+   -1.910000e+01, 5.06961983662124080e-09, 5.06961981092019570e-09, 2.53480987975905280e-09, 8.44936609452320900e-10, 2.11234143796065330e-10, 4.22468253324071740e-11, 7.04113641313259240e-12, 1.00587630408506760e-12, 1.25734456420026820e-13,
+   -1.900000e+01, 5.60279640614594060e-09, 5.60279637475461250e-09, 2.80139815598597900e-09, 9.33799364401108190e-10, 2.33449830636501440e-10, 4.66899619417901430e-11, 7.78165892846167970e-12, 1.11166516258882510e-12, 1.38958045668612940e-13,
+   -1.890000e+01, 6.19204764432258430e-09, 6.19204760598113080e-09, 3.09602376464911160e-09, 1.03200789598873480e-09, 2.58001961216699380e-10, 5.16003871311462670e-11, 8.60006281779322730e-12, 1.22857991566634560e-12, 1.53572367739415770e-13,
+   -1.880000e+01, 6.84327097538763050e-09, 6.84327092855727240e-09, 3.42163541744827900e-09, 1.14054510792918840e-09, 2.85136261372178380e-10, 5.70272460303883370e-11, 9.50453892371568250e-12, 1.35779068014540250e-12, 1.69723686350405990e-13,
+   -1.870000e+01, 7.56298406106641130e-09, 7.56298400386768260e-09, 3.78149194473511420e-09, 1.26049727677922010e-09, 3.15124300128563070e-10, 6.30248523992160290e-11, 1.05041395243705740e-11, 1.50059063429142890e-12, 1.87573647703209600e-13,
+   -1.860000e+01, 8.35839003151195470e-09, 8.35838996164926950e-09, 4.17919491096195200e-09, 1.39306492374552880e-09, 3.48266207648821830e-10, 6.96532322147404860e-11, 1.16088689307822490e-11, 1.65840896010956840e-12, 2.07300898227457540e-13,
+   -1.850000e+01, 9.23744957664011970e-09, 9.23744949130964510e-09, 4.61872466032434870e-09, 1.53957482988780090e-09, 3.84893679028459940e-10, 7.69787244282962100e-11, 1.28297836122509570e-11, 1.83282514676019000e-12, 2.29102872454708450e-13,
+   -1.840000e+01, 1.02089606193747600e-08, 1.02089605151518820e-08, 5.10448015335306570e-09, 1.70149331496910550e-09, 4.25373294001319100e-10, 8.50746449038813890e-11, 1.41791028518529920e-11, 2.02558479822846130e-12, 2.53197768912390380e-13,
+   -1.830000e+01, 1.12826463681984940e-08, 1.12826462409003860e-08, 5.64132299315208550e-09, 1.88044091285195820e-09, 4.70110185780288720e-10, 9.40220201829781080e-11, 1.56703310394701250e-11, 2.23861710344075750e-12, 2.79826733809260220e-13,
+   -1.820000e+01, 1.24692526302687260e-08, 1.24692524747864650e-08, 6.23462608191097280e-09, 2.07820859031548680e-09, 5.19552095751454350e-10, 1.03910398419324820e-10, 1.73183928262325570e-11, 2.47405414365581420e-12, 3.09256274362694960e-13,
+   -1.810000e+01, 1.37806553590393020e-08, 1.37806551691328390e-08, 6.89032739465996030e-09, 2.29677567161568300e-09, 5.74193854601770820e-10, 1.14838745599495390e-10, 1.91397824929635610e-11, 2.73425223034199750e-12, 3.41780925915359470e-13,
+   -1.800000e+01, 1.52299795127603490e-08, 1.52299792808080730e-08, 7.61498940845176490e-09, 2.53832964818240970e-09, 6.34582334728182720e-10, 1.26916436018670240e-10, 2.11527290274570720e-11, 3.02181548706907280e-12, 3.77726199527563320e-13,
+   -1.790000e+01, 1.68317304134304430e-08, 1.68317301301232970e-08, 8.41586478175450400e-09, 2.80528807171341020e-09, 7.01321923492643770e-10, 1.40264346924247440e-10, 2.33773785626152040e-11, 3.33962191139519260e-12, 4.17451839537112450e-13,
+   -1.780000e+01, 1.86019389208833740e-08, 1.86019385748512410e-08, 9.30096894139349600e-09, 3.10032274977642130e-09, 7.75080572100071710e-10, 1.55016068282403760e-10, 2.58359960011985530e-11, 3.69085217754267710e-12, 4.61355423678788540e-13,
+   -1.770000e+01, 2.05583218749598760e-08, 2.05583214523152770e-08, 1.02791603035130500e-08, 3.42638648607463180e-09, 8.56596480637138920e-10, 1.71319239774824100e-10, 2.85531878449380760e-11, 4.07902146807791210e-12, 5.09876341781742870e-13,
+   -1.760000e+01, 2.27204594115193490e-08, 2.27204588953000720e-08, 1.13602289314307710e-08, 3.78674263299742590e-09, 9.46685486176283100e-10, 1.89337028406032540e-10, 3.15561484579333760e-11, 4.50801465311388360e-12, 5.63500192849081350e-13,
+   -1.750000e+01, 2.51099909269281570e-08, 2.51099902964165110e-08, 1.25549945176966280e-08, 4.18499775222447230e-09, 1.04624922788559510e-09, 2.09249761508916910e-10, 3.48749322287556890e-11, 4.98212516904363310e-12, 6.22763644507803310e-13,
+   -1.740000e+01, 2.77508316522988820e-08, 2.77508308821902250e-08, 1.38754146709864760e-08, 4.62513771025642260e-09, 1.15628417086125370e-09, 2.31256731491119580e-10, 3.85427543548143520e-11, 5.50609798582156390e-12, 6.88259803440489660e-13,
+   -1.730000e+01, 3.06694120050226880e-08, 3.06694110644098580e-08, 1.53347045915921220e-08, 5.11156757012220070e-09, 1.27789157899298500e-09, 2.55578190383583880e-10, 4.25963232589327710e-11, 6.08517709270806810e-12, 7.60644150518970060e-13,
+   -1.720000e+01, 3.38949421131021010e-08, 3.38949409642349980e-08, 1.69474693332504390e-08, 5.64915567850547670e-09, 1.41228853667073060e-09, 2.82457554151908200e-10, 4.70762079645808200e-11, 6.72515797759038280e-12, 8.40641100005629380e-13,
+   -1.710000e+01, 3.74597041597231010e-08, 3.74597027564936650e-08, 1.87298499750174500e-08, 6.24328238951961330e-09, 1.56082012963684120e-09, 3.12163838830167140e-10, 5.20272441059726340e-11, 7.43244562493776210e-12, 9.29051248425967260e-13,
+   -1.700000e+01, 4.13993754739433060e-08, 4.13993737600350160e-08, 2.06996851661092880e-08, 6.89989391276435460e-09, 1.72497290688843770e-09, 3.44994352856659150e-10, 5.74989826357830220e-11, 8.21411861264436620e-12, 1.02675938560909540e-12,
+   -1.690000e+01, 4.57533856010857270e-08, 4.57533835077134340e-08, 2.28766896604845190e-08, 7.62556182458013600e-09, 1.90638975835442080e-09, 3.81277672554682090e-10, 6.35461857204012030e-11, 9.07799994900584020e-12, 1.13474334800918220e-12,
+   -1.680000e+01, 5.05653109265044130e-08, 5.05653083696537430e-08, 2.52826516279763310e-08, 8.42754883809187850e-09, 2.10688635723961830e-09, 4.21376930534641180e-10, 7.02293747847084550e-11, 1.00327353584760360e-11, 1.25408380283645790e-12,
+   -1.670000e+01, 5.58833108022380710e-08, 5.58833076792936500e-08, 2.79416507167025720e-08, 9.31388149027153060e-09, 2.32846933158668340e-09, 4.65693449924935570e-10, 7.76154361900615100e-11, 1.10878797993319670e-11, 1.38597506082503060e-12,
+   -1.660000e+01, 6.17606095414307170e-08, 6.17606057270578270e-08, 3.08802990491562620e-08, 1.02934304734705510e-08, 2.57335634691038030e-09, 5.14670760799279210e-10, 8.57782906056672360e-11, 1.22539930786763320e-11, 1.53173702573831300e-12,
+   -1.650000e+01, 6.82560291044628650e-08, 6.82560244455773610e-08, 3.41280075639034880e-08, 1.13759994153780190e-08, 2.84399830088317200e-09, 5.68799038992244420e-10, 9.47996327706489370e-11, 1.35427455211542820e-11, 1.69282840006403590e-12,
+   -1.640000e+01, 7.54345778080666270e-08, 7.54345721176910950e-08, 3.77172803684704520e-08, 1.25724229959071790e-08, 3.14310385218563120e-09, 6.28620011720854130e-10, 1.04769749048148210e-10, 1.49670347482547110e-11, 1.87086127889146020e-12,
+   -1.630000e+01, 8.33681009493868880e-08, 8.33680939991466200e-08, 4.16840400493336380e-08, 1.38946753829520070e-08, 3.47366652899216700e-09, 6.94732379100360320e-10, 1.15788420950832750e-10, 1.65411147361098870e-11, 2.06761727781813410e-12,
+   -1.620000e+01, 9.21359998566180990e-08, 9.21359913675756180e-08, 4.60679871947461210e-08, 1.53559900722216970e-08, 3.83899468837583980e-09, 7.67797805803686010e-10, 1.27965923676963010e-10, 1.82807384424078510e-11, 2.28506535603969100e-12,
+   -1.610000e+01, 1.01826026562659480e-07, 1.01826016194119800e-07, 5.09129977285212690e-08, 1.69709923304823920e-08, 4.24274462644237430e-09, 8.48547542817660610e-10, 1.41424129646242880e-10, 2.02033154286030170e-11, 2.52538151268420600e-12,
+   -1.600000e+01, 1.12535162055094990e-07, 1.12535149390932300e-07, 5.62675620313048730e-08, 1.87558455676622010e-08, 4.68895717053024010e-09, 9.37789745552565470e-10, 1.56297728074587390e-10, 2.23280860534098560e-11, 2.79097055313068080e-12,
+   -1.590000e+01, 1.24370586892242380e-07, 1.24370571424199500e-07, 6.21852702440587900e-08, 2.07284131026608780e-08, 5.18209811965397050e-09, 1.03641756152716040e-09, 1.72735572787081680e-10, 2.46763139790700080e-11, 3.08449014268218680e-12,
+   -1.580000e+01, 1.37450753899427740e-07, 1.37450735006718000e-07, 6.87253486106518530e-08, 2.29084369417484450e-08, 5.72710293787130660e-09, 1.14541806854910830e-09, 1.90902171750384650e-10, 2.72714989147434240e-11, 3.40887738775180700e-12,
+   -1.570000e+01, 1.51906573681285750e-07, 1.51906550605678630e-07, 7.59532522272356920e-08, 2.53177353586796520e-08, 6.32942614780642060e-09, 1.26588215281746470e-09, 2.10979333222426280e-10, 3.01396117234033410e-11, 3.76737820988778490e-12,
+   -1.560000e+01, 1.67882724814952580e-07, 1.67882696630343290e-07, 8.39413201305670910e-08, 2.79804212537907200e-08, 6.99509591858540820e-09, 1.39901542577430220e-09, 2.33167984982521830e-10, 3.33093542418083850e-11, 4.16357980575917900e-12,
+   -1.550000e+01, 1.85539101836833140e-07, 1.85539067412074840e-07, 9.27694992812854920e-08, 3.09231434772669350e-08, 7.73077439440740950e-09, 1.54615028892062660e-09, 2.57690184834589790e-10, 3.68124464096959630e-11, 4.60144651691731410e-12,
+   -1.540000e+01, 2.05052415514691310e-07, 2.05052373468198210e-07, 1.02526144687614620e-07, 3.41753535315571700e-08, 8.54382436740523970e-09, 1.70875926729130720e-09, 2.84791342487244140e-10, 4.06839435767308960e-11, 5.08535946704142080e-12,
+   -1.530000e+01, 2.26617961420859720e-07, 2.26617910065159300e-07, 1.13308903676890850e-07, 3.77696003218493840e-08, 9.44238296191396000e-09, 1.88846974496867490e-09, 3.14742675026025340e-10, 4.49625871566247750e-11, 5.62016036179708380e-12,
+   -1.520000e+01, 2.50451574506755260e-07, 2.50451511780764100e-07, 1.25225693164406590e-07, 4.17418559041675970e-08, 1.04354430674030480e-08, 2.08708025003213910e-09, 3.47843920526067640e-10, 4.96911921302038970e-11, 6.21119988774926690e-12,
+   -1.510000e+01, 2.76791789240365410e-07, 2.76791712626670810e-07, 1.38395779699662040e-07, 4.61318754907929540e-08, 1.15329433348336180e-08, 2.30657845183041800e-09, 3.84426336931072520e-10, 5.49170752662941200e-11, 6.86439119237452920e-12,
+   -1.500000e+01, 3.05902226925624720e-07, 3.05902133349452300e-07, 1.52950973098582340e-07, 5.09835953154601910e-08, 1.27458676368528910e-08, 2.54916105057859740e-09, 4.24856016172213160e-10, 6.06925283347279390e-11, 7.58626897755046640e-12,
+   -1.490000e+01, 3.38074234096247890e-07, 3.38074119802060130e-07, 1.69036945606880940e-07, 5.63455723395662010e-08, 1.40863549868901440e-08, 2.81725575819485410e-09, 4.69537546646778090e-10, 6.70753410335425690e-11, 8.38405479444791760e-12,
+   -1.480000e+01, 3.73629798389248960e-07, 3.73629658790022730e-07, 1.86814689795837280e-07, 6.22714701992151870e-08, 1.55678210168109670e-08, 3.11354559018853250e-09, 5.18918060651937380e-10, 7.41293788468821130e-11, 9.26572918904053130e-12,
+   -1.470000e+01, 4.12924771080390220e-07, 4.12924600573523660e-07, 2.06462129779965680e-07, 6.88205962555281830e-08, 1.72050922283713330e-08, 3.44099571150166380e-09, 5.73491707208584540e-10, 8.19252215961033100e-11, 1.02401114150638000e-11,
+   -1.460000e+01, 4.56352428532766150e-07, 4.56352220275227090e-07, 2.28175901880169570e-07, 7.60584951218555640e-08, 1.90145543614346950e-08, 3.80288310471802740e-09, 6.33804594951417640e-10, 9.05408690493897220e-11, 1.13169475058357380e-11,
+   -1.450000e+01, 5.04347408201451650e-07, 5.04347153835143500e-07, 2.52173322551391870e-07, 8.40576046064723250e-08, 2.10143163630518180e-08, 4.20282935724158890e-09, 7.00460254446204730e-10, 1.00062520620668450e-10, 1.25070075785966360e-11,
+   -1.440000e+01, 5.57390058585609980e-07, 5.57389747901932570e-07, 2.78694563267462030e-07, 9.28979806336576940e-08, 2.32243915974628080e-08, 4.64483689518984350e-09, 7.74125674469697980e-10, 1.10585436923243300e-10, 1.38221933357032870e-11,
+   -1.430000e+01, 6.16011246661965180e-07, 6.16010867192109130e-07, 3.08005054126432290e-07, 1.02668098395963010e-07, 2.56668981094088650e-08, 5.13332902615420870e-09, 8.55537972502441770e-10, 1.22214891754339240e-10, 1.52756568269570680e-11,
+   -1.420000e+01, 6.80797670911850050e-07, 6.80797207426381290e-07, 3.40398140228037450e-07, 1.13465737752892570e-07, 2.83662799435665070e-08, 5.67319419099263970e-09, 9.45511765996215670e-10, 1.35067223981536400e-10, 1.68819316474784880e-11,
+   -1.410000e+01, 7.52397733113647920e-07, 7.52397167011299190e-07, 3.76198017403726710e-07, 1.25398961733719590e-07, 3.13495517333213600e-08, 6.26983486681252740e-09, 1.04494731794734100e-09, 1.49270999789335810e-10, 1.86570778668549570e-11,
+   -1.400000e+01, 8.31528027664132090e-07, 8.31527336225271330e-07, 4.15762976674349830e-07, 1.38587197933167670e-07, 3.46465690045819890e-08, 6.92922160969115450e-09, 1.15483953800280790e-09, 1.64968296833256300e-10, 2.06188421188755080e-11,
+   -1.390000e+01, 9.18980513371998710e-07, 9.18979668846814780e-07, 4.59488989898999510e-07, 1.53162433617504030e-07, 3.82903268972101850e-08, 7.65795277692495110e-09, 1.27628792882308540e-09, 1.82316123050209980e-10, 2.27868344282111740e-11,
+   -1.380000e+01, 1.01563043949625650e-06, 1.01562940799106700e-06, 5.07813672491391420e-07, 1.69270536495416780e-07, 4.23172902904497230e-08, 8.46332052519958820e-09, 1.41050757680552740e-09, 2.01487984198646820e-10, 2.51827235121776000e-11,
+   -1.370000e+01, 1.12244510534991550e-06, 1.12244384546690100e-06, 5.61220662851850140e-07, 1.87072714364297240e-07, 4.67677586323085410e-08, 9.35338374359176250e-09, 1.55884129662682670e-09, 2.22675615662538020e-10, 2.78304524736295260e-11,
+   -1.360000e+01, 1.24049354113058110e-06, 1.24049200230635550e-06, 6.20244462330861060e-07, 2.06747128230651470e-07, 5.16862691192767580e-08, 1.03370486493599110e-08, 1.72277305049100430e-09, 2.46090895663076440e-10, 3.07564769965724290e-11,
+   -1.350000e+01, 1.37095720685784480e-06, 1.37095532733418170e-06, 6.85475784146004530e-07, 2.28490675037187380e-07, 5.71220422554890060e-08, 1.14241578507341960e-08, 1.90394277558092690e-09, 2.71967958795809030e-10, 3.39900283708562110e-11,
+   -1.340000e+01, 1.51514181648504940e-06, 1.51513952083032530e-06, 7.57567464763916870e-07, 2.52520957823953280e-07, 6.31294742432541720e-08, 1.26255887651223760e-08, 2.10416276712683950e-09, 3.00565530764881780e-10, 3.75634039080737810e-11,
+   -1.330000e+01, 1.67449040551145870e-06, 1.67448760159334050e-06, 8.37240996883247270e-07, 2.79078463023495490e-07, 6.97686811239351100e-08, 1.39533623741243090e-08, 2.32543577985620750e-09, 3.32169507337573860e-10, 4.15122875693582470e-11,
+   -1.320000e+01, 1.85059777286345340e-06, 1.85059434815133640e-06, 9.25293749369889060e-07, 3.08428966659114640e-07, 7.71061001041077820e-08, 1.54207633994051810e-08, 2.56997502752138410e-09, 3.67095802910524850e-10, 4.58761039091410220e-11,
+   -1.310000e+01, 2.04522644156374070e-06, 2.04522225861254330e-06, 1.02260694636362950e-06, 3.40866193501336790e-07, 8.52151540718139430e-08, 1.70424730968044440e-08, 2.84022627887282720e-09, 4.05693496684509510e-10, 5.06984087491535010e-11,
+   -1.300000e+01, 2.26032429790357460e-06, 2.26031918883764270e-06, 1.13015448536443780e-06, 3.76714755763438350e-07, 9.41769859371668700e-08, 1.88347159911529010e-08, 3.13889226903028760e-09, 4.48348307309722420e-10, 5.60273203362117640e-11,
+   -1.290000e+01, 2.49804408562679740e-06, 2.49803784540254350e-06, 1.24901268249260650e-06, 4.16333400707346860e-07, 1.04081270126766940e-07, 2.08154220123401690e-08, 3.46895966789294470e-09, 4.95486430012475780e-10, 6.19159951078826660e-11,
+   -1.280000e+01, 2.76076495019305620e-06, 2.76075732836994600e-06, 1.38037104238290480e-06, 4.60118599613964810e-07, 1.15027109329104260e-07, 2.30044056455348990e-08, 3.83372887222821100e-09, 5.47578773672763900e-10, 6.84231525942886660e-11,
+   -1.270000e+01, 3.05111624869765530e-06, 3.05110693938729200e-06, 1.52554416041168670e-06, 5.08508513977659770e-07, 1.27124025435933060e-07, 2.54235638765754010e-08, 4.23684691561622300e-09, 6.05145639118408730e-10, 7.56136544244531530e-11,
+   -1.260000e+01, 3.37200386369079290e-06, 3.37199249328073580e-06, 1.68598487626865240e-06, 5.61987378546747840e-07, 1.40493054560707780e-07, 2.80970948990031270e-08, 4.68234382074759530e-09, 6.68761884064922050e-10, 8.35591428840215460e-11,
+   -1.250000e+01, 3.72663928418656090e-06, 3.72662539634620680e-06, 1.86329881038450380e-06, 6.21090344987523090e-07, 1.55267957048707560e-07, 3.10517397537616080e-08, 5.17467275194488770e-09, 7.39062624692496680e-10, 9.23387449901975160e-11,
+   -1.240000e+01, 4.11857174483263580e-06, 4.11855478219941820e-06, 2.05926042853635350e-06, 6.86408834539742390e-07, 1.71596554534477040e-07, 3.43170492981492790e-08, 5.71875436249466170e-09, 8.16749528846059030e-10, 1.02039848611429170e-10,
+   -1.230000e+01, 4.55172374479989440e-06, 4.55170302661084600e-06, 2.27583079521067730e-06, 7.58596453101365150e-07, 1.89642207361637810e-07, 3.79256791492819520e-08, 6.32002577174944240e-09, 9.02597761305675350e-10, 1.12758957765585490e-10,
+   -1.220000e+01, 5.03043030175513060e-06, 5.03040499652610920e-06, 2.51517719316133000e-06, 8.38375527779922470e-07, 2.09585447070191200e-07, 4.19137155214045760e-08, 6.98449465133025160e-09, 9.97463647539522230e-10, 1.24602634882612210e-10,
+   -1.210000e+01, 5.55948233363450570e-06, 5.55945142579068760e-06, 2.77969480522335740e-06, 9.26544330131625550e-07, 2.31625780190364950e-07, 4.63210351783788810e-08, 7.71879894849249550e-09, 1.10229312885685420e-09, 1.37688538516806380e-10,
+   -1.200000e+01, 6.14417460221471820e-06, 6.14413685133317550e-06, 3.07203067501699310e-06, 1.02398505813788140e-06, 2.55983681274537310e-07, 5.11917030553082150e-08, 8.53027282820451160e-09, 1.21813108896187020e-09, 1.52146565740089000e-10,
+   -1.190000e+01, 6.79035869809513550e-06, 6.79031258912388690e-06, 3.39511018590379080e-06, 1.13167265650892300e-06, 2.82902794965879080e-07, 5.65744114695246260e-08, 9.42701947414730900e-09, 1.34613163960856930e-09, 1.68120109240107280e-10,
+   -1.180000e+01, 7.50450159711002580e-06, 7.50444527956580460e-06, 3.75216632266131660e-06, 1.25068456322868000e-06, 3.12652368961594790e-07, 6.25229652442687930e-08, 1.04179914531163490e-08, 1.48756946140726180e-09, 1.85767439983337370e-10,
+   -1.170000e+01, 8.29375037389160510e-06, 8.29368158759634180e-06, 4.14677200807340300e-06, 1.38221147944511360e-06, 3.45529941999465520e-07, 6.90968175118825750e-08, 1.15130794176650280e-08, 1.64385230486978280e-09, 2.05263227179602890e-10,
+   -1.160000e+01, 9.16600371985334720e-06, 9.16591970422915550e-06, 4.58287583726047290e-06, 1.52756926995416800e-06, 3.81864313499767260e-07, 7.63616614509698770e-08, 1.27232099987598540e-08, 1.81653476653134410e-09, 2.26800208194066260e-10,
+   -1.150000e+01, 1.01299909808739210e-05, 1.01298883641566480e-05, 5.06484156640055810e-06, 1.68821211272117110e-06, 4.22018824253730080e-07, 8.43900837478793370e-08, 1.40604538242312510e-08, 2.00733346547603950e-09, 2.50591021986417530e-10,
+   -1.140000e+01, 1.11953595051133130e-05, 1.11952341690388640e-05, 5.59749174984816610e-06, 1.86574702823837760e-06, 4.66394980589781680e-07, 9.32622861614342590e-08, 1.55381446904248170e-08, 2.21814375683460740e-09, 2.76870220601442240e-10,
+   -1.130000e+01, 1.23727711744276150e-05, 1.23726180889610800e-05, 6.18615596090809690e-06, 2.06194993314847120e-06, 5.15436457797198270e-07, 1.03066882215769650e-07, 1.71710110142080070e-08, 2.45105813081809670e-09, 3.05896474172172960e-10,
+   -1.120000e+01, 1.36740090845997360e-05, 1.36738221060752910e-05, 6.83672407706994550e-06, 2.27878337760155970e-06, 5.69633522273677260e-07, 1.13901776754521430e-07, 1.89753208008991080e-08, 2.70838645858565140e-09, 3.37954985802327180e-10,
+   -1.110000e+01, 1.51120954409751590e-05, 1.51118670655465430e-05, 7.55570516079588530e-06, 2.51841614239821710e-06, 6.29527915921014080e-07, 1.25875136865744330e-07, 2.09690414812555340e-08, 2.99267825968002520e-09, 3.73360133536598300e-10,
+   -1.100000e+01, 1.67014218480951810e-05, 1.67011429106034340e-05, 8.35029252246862110e-06, 2.78324489025938510e-06, 6.95718250776955360e-07, 1.39106463536484480e-07, 2.31720160978619510e-08, 3.30674717983455920e-09, 4.12458357364119000e-10,
+   -1.090000e+01, 1.84578932956670710e-05, 1.84575526018421570e-05, 9.22843561338465370e-06, 3.07591808572564290e-06, 7.68865966779621040e-07, 1.53727774324814250e-07, 2.56061574585067640e-08, 3.65369788255586900e-09, 4.55631309778500060e-10,
+   -1.080000e+01, 2.03990872799214420e-05, 2.03986711571595860e-05, 1.01989194643064650e-05, 3.39936242040828650e-06, 8.49701910954561280e-07, 1.69884908351423830e-07, 2.82956620217400030e-08, 4.03695557286274760e-09, 5.03299288768604190e-10,
+   -1.070000e+01, 2.25444296504454500e-05, 2.25439213991371880e-05, 1.12714524597185660e-05, 3.75681200479748040e-06, 9.39033602238241090e-07, 1.87738966018924850e-07, 3.12672454379727320e-08, 4.46029838670066780e-09, 5.55924972150874520e-10,
+   -1.060000e+01, 2.49153889394299740e-05, 2.49147681628239680e-05, 1.24567633202728720e-05, 4.15184061479805410e-06, 1.03775325265255550e-06, 2.07467897071115790e-07, 3.45504018382092800e-08, 4.92789289455702600e-09, 6.14017471766447630e-10,
+   -1.050000e+01, 2.75356911145834730e-05, 2.75349329002983130e-05, 1.37667082567419540e-05, 4.58839731085322790e-06, 1.14684662267372210e-06, 2.29268251912926360e-07, 3.81776891415831150e-08, 5.44433298228359790e-09, 6.78136725116404050e-10,
+   -1.040000e+01, 3.04315569005653800e-05, 3.04306308209099890e-05, 1.52143893589816480e-05, 5.07084578019283920e-06, 1.26740279644938860e-06, 2.53357112530683230e-07, 4.21850428417587080e-08, 6.01468238557354170e-09, 7.48898240323386140e-10,
+   -1.030000e+01, 3.36319640386712970e-05, 3.36308329296661930e-05, 1.68142853938694170e-05, 5.60400778868748910e-06, 1.40062497106620500e-06, 2.79974220887245140e-07, 4.66121209299954760e-08, 6.64452116626698870e-09, 8.26978207671318100e-10,
+   -1.020000e+01, 3.71689371028894690e-05, 3.71675555730041110e-05, 1.85823963079666950e-05, 6.19321116831341250e-06, 1.54784236341643510e-06, 3.09384324322487890e-07, 5.15026828177811800e-08, 7.33999642781077380e-09, 9.13118987119026290e-10,
+   -1.010000e+01, 4.10778677647634140e-05, 4.10761803735433150e-05, 2.05364028648659900e-05, 6.84434280966313920e-06, 1.71052334841719820e-06, 3.41879759270232850e-07, 5.69050053322321540e-08, 8.10787757266659710e-09, 1.00813497577477860e-09,
+   -1.000000e+01, 4.53978687024343950e-05, 4.53958077359516670e-05, 2.26958429950565950e-05, 7.56390717663194450e-06, 1.89028995346304070e-06, 3.77783296510340980e-07, 6.28723390698916340e-08, 8.95561640484862610e-09, 1.11291885194540530e-09,
+   -9.900000e+00, 5.01721646837642990e-05, 5.01696474376552460e-05, 2.50823065990142520e-05, 8.35909091275185550e-06, 2.08893384610552530e-06, 4.17451273209466730e-07, 6.94634086049880310e-08, 9.89141237430907690e-09, 1.22844818252732500e-09,
+   -9.800000e+00, 5.54485247227951100e-05, 5.54454501839011790e-05, 2.77196507235353010e-05, 9.23783416603743410e-06, 2.30843396511463450e-06, 4.61277039162941680e-07, 7.67429602510735640e-08, 1.09242832443546240e-08, 1.35579236756070800e-09,
+   -9.700000e+00, 6.12797396166024810e-05, 6.12759844101150000e-05, 3.06342372286881010e-05, 1.02089093220870710e-05, 2.55097595934783400e-06, 5.09694746927041420e-07, 8.47823612630035150e-08, 1.20641414358960640e-08, 1.49611987895293810e-09,
+   -9.600000e+00, 6.77241496197703530e-05, 6.77195630593286340e-05, 3.38551952798434980e-05, 1.12820079040004910e-05, 2.81897361428865210e-06, 5.63183517913635560e-07, 9.36602545299377210e-08, 1.33218762596425380e-08, 1.65070572874813100e-09,
+   -9.500000e+00, 7.48462275106112290e-05, 7.48406255528386500e-05, 3.74147112379321610e-05, 1.24678364729066360e-05, 3.11509246276708790e-06, 6.22272018989970910e-07, 1.03463272937304900e-07, 1.47094421850544260e-08, 1.82093907471919640e-09,
+   -9.400000e+00, 8.27172228516665380e-05, 8.27103807127102440e-05, 4.13483487833615580e-05, 1.37782224450407310e-05, 3.44227579427708280e-06, 6.87543486658808110e-07, 1.14286817650954280e-07, 1.62399532076433140e-08, 2.00833083607347480e-09,
+   -9.300000e+00, 9.14158738521617520e-05, 9.14075169901696020e-05, 4.56954023970424880e-05, 1.52262308308659580e-05, 3.80377329648256020e-06, 7.59641238451185740e-07, 1.26235904580311340e-07, 1.79277832574712820e-08, 2.21452114796532250e-09,
+   -9.200000e+00, 1.01029193907772890e-04, 1.01018987009751250e-04, 5.04992876380486460e-05, 1.68262929992220640e-05, 4.20317258295547740e-06, 8.39274713695976610e-07, 1.39426083184529780e-07, 1.97886724333610590e-08, 2.44128642819716600e-09,
+   -9.100000e+00, 1.11653340629562940e-04, 1.11640874161089200e-04, 5.58079720039937080e-05, 1.85943486753980790e-05, 4.64443388288645880e-06, 9.27226088269878110e-07, 1.53984431565228960e-07, 2.18398386394126290e-08, 2.69054576040562760e-09,
+   -9.000000e+00, 1.23394575986231720e-04, 1.23379349764848910e-04, 6.16744505398747550e-05, 2.05480024968597510e-05, 5.13192819138484880e-06, 1.02435751019101200e-06, 1.70050631402632990e-07, 2.41000939307157230e-08, 2.96436621206719720e-09,
+   -8.900000e+00, 1.36370327079497270e-04, 1.36351730213389510e-04, 6.81572707766476910e-05, 2.27066965745660630e-05, 5.67047920292362240e-06, 1.13161900488519120e-06, 1.87778125690478840e-07, 2.65899645286944180e-08, 3.26496659905703470e-09,
+   -8.800000e+00, 1.50710358059757950e-04, 1.50687644447731440e-04, 7.53211120350158190e-05, 2.50919006417660350e-05, 6.26540937530157850e-06, 1.25005710047957070e-06, 2.07335361348967370e-07, 2.93318130250369810e-08, 3.59471907670552640e-09,
+   -8.700000e+00, 1.66558064777336060e-04, 1.66530323188393680e-04, 8.32374246258398500e-05, 2.77273215161910480e-05, 6.92259049692900950e-06, 1.38082422437827180e-06, 2.28907117570330310e-07, 3.23499607343891410e-08, 3.95614777483460480e-09,
+   -8.600000e+00, 1.84071904963424330e-04, 1.84038022497227440e-04, 9.19851350192269540e-05, 3.06391337558132180e-05, 7.64849915592083420e-06, 1.52518892241238990e-06, 2.52695919086896470e-07, 3.56708074528071020e-08, 4.35192349451371000e-09,
+   -8.500000e+00, 2.03426978055206530e-04, 2.03385595519805850e-04, 1.01651423642826370e-04, 3.38562335528360290e-05, 8.45027753490249860e-06, 1.68454695073643540e-06, 2.78923531334687870e-07, 3.93229449984878610e-08, 4.78485323932654510e-09,
+   -8.400000e+00, 2.24816770233295710e-04, 2.24766227653117570e-04, 1.12332582609200300e-04, 3.74105180850928480e-05, 9.33579997993108880e-06, 1.86043328799366020e-06, 3.07832531578976390e-07, 4.33372598136734670e-08, 5.25786305429556710e-09,
+   -8.300000e+00, 2.48455081839335190e-04, 2.48393351911643400e-04, 1.24134961365244140e-04, 4.13371927279999960e-05, 1.03137458146274090e-05, 2.05453511063054410e-06, 3.39687946303440240e-07, 4.77470185436931870e-08, 5.77397227994798100e-09,
+   -8.200000e+00, 2.74578156101332910e-04, 2.74502762937524930e-04, 1.37176009006270340e-04, 4.56751087227271500e-05, 1.13936788903748990e-05, 2.26870576703248610e-06, 3.74778940336350900e-07, 5.25879288228435630e-08, 6.33625688386963770e-09,
+   -8.100000e+00, 3.03447030028919710e-04, 3.03354949928886350e-04, 1.51585422805842700e-04, 5.04671340958347000e-05, 1.25861343788083410e-05, 2.50497977566682690e-06, 4.13420537045402340e-07, 5.78981654174100510e-08, 6.94779899154798850e-09,
+   -8.000000e+00, 3.35350130466478110e-04, 3.35237670756474240e-04, 1.67506413381611650e-04, 5.57605608301848050e-05, 1.39027133219421470e-05, 2.76558885777998050e-06, 4.55955341173887610e-07, 6.37183493199892450e-08, 7.61161908358632450e-09,
+   -7.900000e+00, 3.70606140626397190e-04, 3.70468791714927220e-04, 1.85097097848343610e-04, 6.16075514935198190e-05, 1.53561854558388170e-05, 3.05297899532584760e-06, 5.02755226147294880e-07, 7.00914642564759430e-08, 8.33058653549461870e-09,
+   -7.800000e+00, 4.09567164986051520e-04, 4.09399419723416790e-04, 2.04532033302025330e-04, 6.80656287356995920e-05, 1.69606008127534100e-05, 3.36982847838181250e-06, 5.54222935506777060e-07, 7.70626912387017960e-08, 9.10730322364060100e-09,
+   -7.700000e+00, 4.52622223240535340e-04, 4.52417356363564130e-04, 2.26003904032112200e-04, 7.51982112629216880e-05, 1.87314105805526300e-05, 3.71906687172527860e-06, 6.10793532989770900e-07, 8.46791371308550300e-08, 9.94395377704568310e-09,
+   -7.600000e+00, 5.00201107079565190e-04, 4.99950905932041610e-04, 2.49725376969388170e-04, 8.30752000803313180e-05, 2.06855976523322790e-05, 4.10389478553117670e-06, 6.72935617035876790e-07, 9.29894275301909560e-08, 1.08421146857547360e-08,
+   -7.500000e+00, 5.52778636923599550e-04, 5.52473072702160420e-04, 2.75931141039014920e-04, 9.17736189542991000e-05, 2.28418172279072030e-05, 4.52780427792291040e-06, 7.41152192379701890e-07, 1.02043127397168810e-07, 1.18025128443360290e-08,
+   -7.400000e+00, 6.10879359434402100e-04, 6.10506185842619100e-04, 3.04880147293571270e-04, 1.01378313170817730e-04, 2.52205477252676030e-05, 4.99459964447474200e-06, 8.15981062985805230e-07, 1.11889944579740490e-07, 1.28247221712008350e-08,
+   -7.300000e+00, 6.75082730632839950e-04, 6.74626993939641310e-04, 3.36858067936593250e-04, 1.11982710742321510e-04, 2.78442521156263900e-05, 5.50841825822970310e-06, 8.97994575796464900e-07, 1.22578661398168580e-07, 1.39067846545080620e-08,
+   -7.200000e+00, 7.46028833836697640e-04, 7.45472274815781850e-04, 3.72179993596052540e-04, 1.23689650223444630e-04, 3.07375495998707350e-05, 6.07375100916502470e-06, 9.87798502316530880e-07, 1.34155727489317820e-07, 1.50447394841792920e-08,
+   -7.100000e+00, 8.24424686398296850e-04, 8.23745010334753960e-04, 4.11193389445559590e-04, 1.36612279213740930e-04, 3.39273972842915470e-05, 6.69546174926588850e-06, 1.08602979344121760e-06, 1.46663432811573240e-07, 1.62320407865954680e-08,
+   -7.000000e+00, 9.11051194400645390e-04, 9.10221180121826650e-04, 4.54281331967594540e-04, 1.50875027423562060e-04, 3.74432811738753480e-05, 7.37880497244096980e-06, 1.19335288038025070e-06, 1.60137562702363960e-07, 1.74588408352964750e-08,
+   -6.900000e+00, 1.00677082008563870e-03, 1.00575723260146270e-03, 5.01866049266858180e-04, 1.66614657822646980e-04, 4.13174153633909100e-05, 8.12944074027213180e-06, 1.31045411900320490e-06, 1.74604416741992440e-07, 1.87111114252563720e-08,
+   -6.800000e+00, 1.11253603286032460e-03, 1.11129829643591200e-03, 5.54412788819914770e-04, 1.83981398835657290e-04, 4.55849477472550340e-05, 8.95344559655885660e-06, 1.43803388408029740e-06, 1.90077049463262680e-07, 1.99695713410905580e-08,
+   -6.700000e+00, 1.22939862127742150e-03, 1.22788720030742250e-03, 6.12434037322569110e-04, 2.03140159741224950e-04, 5.02841698614197790e-05, 9.85731788582396570e-06, 1.57679571105668880e-06, 2.06550563194937730e-07, 2.12083825151639860e-08,
+   -6.600000e+00, 1.35851995042896180e-03, 1.35667437397324820e-03, 6.76494117783345720e-04, 2.24271830305212320e-04, 5.54567275815385010e-05, 1.08479754917149330e-05, 1.72743175318997960e-06, 2.23996251086150850e-07, 2.23935715918402050e-08,
+   -6.500000e+00, 1.50118225673699170e-03, 1.49892870856904960e-03, 7.47214189103107260e-04, 2.47574664154802470e-04, 6.11478282924288150e-05, 1.19327435270117320e-05, 1.89060366781194890e-06, 2.42354351223451110e-07, 2.34811272785029050e-08,
+   -6.400000e+00, 1.65880108017442430e-03, 1.65604945915083640e-03, 8.25277672943756510e-04, 2.73265743380652250e-04, 6.74064387680519320e-05, 1.31193289221308410e-05, 2.06691786360689330e-06, 2.61525130420609410e-07, 2.44147172473252130e-08,
+   -6.300000e+00, 1.83293894249281000e-03, 1.82957927732590340e-03, 9.11436131557163230e-04, 3.01582519222296830e-04, 7.42854663041938640e-05, 1.44157781558079750e-05, 2.25689382743799700e-06, 2.81357968618221200e-07, 2.51229617521266410e-08,
+   -6.200000e+00, 2.02532038904988360e-03, 2.02121846637158240e-03, 1.00651561821512460e-03, 3.32784420306462190e-04, 8.18419135636992360e-05, 1.58304135300522110e-05, 2.46092400072711450e-06, 3.01638062064546510e-07, 2.55161950143962320e-08,
+   -6.100000e+00, 2.23784852127633740e-03, 2.23284055527215880e-03, 1.11142351870121790e-03, 3.67154515600091720e-04, 9.01369950517954420e-05, 1.73717423893457960e-05, 2.67922338831253210e-06, 3.22070306219285790e-07, 2.54826405262093800e-08,
+   -6.000000e+00, 2.47262315663477430e-03, 2.46650929136004800e-03, 1.22715589769015220e-03, 4.05001213808975830e-04, 9.92362000505793020e-05, 1.90483324974313430e-05, 2.91176675437529030e-06, 3.42259858984122120e-07, 2.48839237613873960e-08,
+   -5.900000e+00, 2.73196076301106390e-03, 2.72449715340043190e-03, 1.35480535737819060e-03, 4.46659974161184900e-04, 1.09209283108594010e-04, 2.08686453886229530e-05, 3.15821088901944120e-06, 3.61688823780911090e-07, 2.35498468733291440e-08,
+   -5.800000e+00, 3.01841632470843230e-03, 3.00930548759916620e-03, 1.49556940698977910e-03, 4.92494995082166520e-04, 1.20130158692275140e-04, 2.28408178788692900e-05, 3.41779901612002750e-06, 3.79688433955304150e-07, 2.12723568777358350e-08,
+   -5.700000e+00, 3.33480730741334730e-03, 3.32368636763577010e-03, 1.65075933023154320e-03, 5.42900836868887150e-04, 1.32076671237157130e-04, 2.49723800306182560e-05, 3.68924396212468050e-06, 3.95406070736085820e-07, 1.77986544427549490e-08,
+   -5.600000e+00, 3.68423989943599590e-03, 3.67066627579939980e-03, 1.82180952274888560e-03, 5.98303921724942260e-04, 1.45130205452989270e-04, 2.72698956944831410e-05, 3.97058622553928980e-06, 4.07766414969878420e-07, 1.28234186230420520e-08,
+   -5.500000e+00, 4.07013771589612770e-03, 4.05357169486976740e-03, 2.01028725239550500e-03, 6.59163838992845190e-04, 1.59375094194757500e-04, 2.97385092867708560e-05, 4.25902259388678110e-06, 4.15426030123352990e-07, 5.98016885505317660e-09,
+   -5.400000e+00, 4.49627316094118690e-03, 4.47605668860338690e-03, 2.21790277074587460e-03, 7.25974364620973280e-04, 1.74897772363820470e-04, 3.23813797045459900e-05, 4.55070047506631890e-06, 4.16720717412710230e-07, -3.16814392573550440e-09,
+   -5.300000e+00, 4.96680165005697430e-03, 4.94213253142596590e-03, 2.44651967370109610e-03, 7.99264081279482000e-04, 1.91785615006919500e-04, 3.51989792480765250e-05, 4.84047268317016020e-06, 4.09605096400368040e-07, -1.51391212973012190e-08,
+   -5.200000e+00, 5.48629889945040880e-03, 5.45619942383629860e-03, 2.69816537102397430e-03, 8.79596458486711450e-04, 2.10125385909201780e-04, 3.81882321625762130e-05, 5.12160710363575690e-06, 3.91584076958448300e-07, -3.05411323561957880e-08,
+   -5.100000e+00, 6.05980149158412760e-03, 6.02308029746672240e-03, 2.97504147776284130e-03, 9.67569219974721750e-04, 2.30001209438043780e-04, 4.13414640178133730e-05, 5.38544554286534530e-06, 3.59636242105716150e-07, -5.00832087848598940e-08,
+   -5.000000e+00, 6.69285092428485540e-03, 6.64805667079015550e-03, 3.27953388316128140e-03, 1.06381278763365500e-03, 2.51491963154407420e-04, 4.46451297657817080e-05, 5.62100625972984250e-06, 3.10129709169230980e-07, -7.45837869158400600e-08,
+   -4.900000e+00, 7.39154134428198290e-03, 7.33690646083775320e-03, 3.61422218297446480e-03, 1.16898754705787600e-03, 2.74667971829370260e-04, 4.80782851857432350e-05, 5.81452533962047590e-06, 2.38731847095219420e-07, -1.04977086195805230e-07,
+   -4.800000e+00, 8.16257115315991750e-03, 8.09594358532951880e-03, 3.98188807709753870e-03, 1.28377962835141500e-03, 2.99586865189517000e-04, 5.16107638858811270e-05, 5.94893341840662140e-06, 1.40315385838881670e-07, -1.42315417642175880e-07,
+   -4.700000e+00, 9.01329865284783080e-03, 8.93205910024240210e-03, 4.38552223386582880e-03, 1.40889483693684380e-03, 3.26288442377169070e-04, 5.52010205716218210e-05, 6.00326657261755820e-06, 8.86506405300674040e-09, -1.87765077032700900e-07,
+   -4.600000e+00, 9.95180186690434320e-03, 9.85276350650622290e-03, 4.82832900299489530e-03, 1.54505030236922960e-03, 3.54788366451460950e-04, 5.87936015930568350e-05, 5.95201382230377000e-06, -1.62608851827796740e-07, -2.42592671010629160e-07,
+   -4.500000e+00, 1.09869426305931800e-02, 1.08662297222252340e-02, 5.31372821854368250e-03, 1.69296333866136780e-03, 3.85070493374473870e-04, 6.23162067713295410e-05, 5.76440909701650410e-06, -3.82140937580884310e-07, -3.08137729042538070e-07,
+   -4.400000e+00, 1.21284349842742580e-02, 1.19813360491064900e-02, 5.84535316925691510e-03, 1.85333692799612950e-03, 4.17077623458166190e-04, 6.56763134025455460e-05, 5.40368325106171390e-06, -6.58851848354854590e-07, -3.85766258848212360e-07,
+   -4.300000e+00, 1.33869178276648150e-02, 1.32077082587401650e-02, 6.42704362421855830e-03, 2.02684115234203410e-03, 4.50700451530005010e-04, 6.87573457418929530e-05, 4.82630245069899450e-06, -1.00294258400733050e-06, -4.76798514972935810e-07,
+   -4.200000e+00, 1.47740316932730670e-02, 1.45557596807992310e-02, 7.06283258555582150e-03, 2.21408980691469110e-03, 4.85764488348583330e-04, 7.14143932084044670e-05, 3.98123376869764830e-06, -1.42561795102167810e-06, -5.82402709583483840e-07,
+   -4.100000e+00, 1.63024993714409730e-02, 1.60367278856851400e-02, 7.75692519656621770e-03, 2.41561133966801180e-03, 5.22014734440237690e-04, 7.34695105422523110e-05, 2.80929796912428230e-06, -1.93890813171397730e-06, -7.03444793457825520e-07,
+   -4.000000e+00, 1.79862099620915590e-02, 1.76627062132911180e-02, 8.51366796419456530e-03, 2.63181317810482020e-03, 5.59097914300470230e-04, 7.47066762395398010e-05, 1.24269413614214320e-06, -2.55534876234905630e-06, -8.40282944541781960e-07,
+   -3.900000e+00, 1.98403057340775340e-02, 1.94466680024558660e-02, 9.33750616255010590e-03, 2.86293843734490310e-03, 5.96542131231844440e-04, 7.48665453514710110e-05, -7.95188183514866580e-07, -3.28747035475222720e-06, -9.92494306357329020e-07,
+   -3.800000e+00, 2.18812709361305350e-02, 2.14024809183501860e-02, 1.02329269754953080e-02, 3.10901396359802030e-03, 6.33733890292699740e-04, 7.36412131670986460e-05, -3.38951570114013690e-06, -4.14703775227703650e-06, -1.15852126130839660e-06,
+   -3.700000e+00, 2.41270214176692170e-02, 2.35449082551805470e-02, 1.12043856218404760e-02, 3.36978867111855560e-03, 6.69892570298141560e-04, 7.06693116302656430e-05, -6.63311834132034660e-06, -5.14397050514008850e-06, -1.33522575415530200e-06,
+   -3.600000e+00, 2.65969935768659090e-02, 2.58895935095380630e-02, 1.22562114024881790e-02, 3.64466119950056150e-03, 7.04042619029963780e-04, 6.55318946370026160e-05, -1.06247064779467550e-05, -6.28486711652866830e-06, -1.51734380667807970e-06,
+   -3.500000e+00, 2.93122307513563190e-02, 2.84530238797355630e-02, 1.33924903383311200e-02, 3.93259607872179120e-03, 7.34984014121930130e-04, 5.77497348688372690e-05, -1.54658929379206650e-05, -7.57105242822983820e-06, -1.69683959383878260e-06,
+   -3.400000e+00, 3.22954646984505500e-02, 3.12524676583616910e-02, 1.46169208631807560e-02, 4.23202787499000420e-03, 7.61261892057007530e-04, 4.67828549658585340e-05, -2.12566585862240430e-05, -8.99607145360533280e-06, -1.86217080497492950e-06,
+   -3.300000e+00, 3.55711892726362710e-02, 3.43058797663665580e-02, 1.59326389408495500e-02, 4.54075324118336040e-03, 7.81136715871748040e-04, 3.20333477669124930e-05, -2.80888515200180770e-05, -1.05425695254941560e-05, -1.99749627553839710e-06,
+   -3.200000e+00, 3.91657227967643840e-02, 3.76317689545713970e-02, 1.73420090460590720e-02, 4.85581145777832200e-03, 7.92556942875540480e-04, 1.28527968678336550e-05, -3.60372788765848710e-05, -1.21785339929208390e-05, -2.08188494032338780e-06,
+   -3.100000e+00, 4.31072549410862140e-02, 4.12490195125304120e-02, 1.88463777560687160e-02, 5.17335497467662050e-03, 7.93136875871795400e-04, -1.14441252533549670e-05, -4.51479527965798000e-05, -1.38529346180268090e-05, -2.08862370841833370e-06,
+   -3.000000e+00, 4.74258731775667810e-02, 4.51766597309121300e-02, 2.04457873304717400e-02, 5.48851270404273740e-03, 7.80143233713328820e-04, -4.15580551386109190e-05, -5.54231098116953620e-05, -1.54908971165042420e-05, -1.98477178874566190e-06,
+   -2.900000e+00, 5.21535630784178070e-02, 4.94335689366433020e-02, 2.21386477125931070e-02, 5.79525041829335050e-03, 7.50494941518227080e-04, -7.81733147369432390e-05, -6.68027637707623900e-05, -1.69886858896900930e-05, -1.73116951598277200e-06,
+   -2.800000e+00, 5.73241758988689010e-02, 5.40381147563844390e-02, 2.39213669826539750e-02, 6.08623461297323230e-03, 7.00781674416256600e-04, -1.21914175348937420e-04, -7.91428101009804330e-05, -1.82089651359147730e-05, -1.28317708681257900e-06,
+   -2.700000e+00, 6.29733560569967350e-02, 5.90077124839154530e-02, 2.57879425535992270e-02, 6.35270861473481020e-03, 6.27307713045423940e-04, -1.73287043781771690e-04, -9.21901110565383650e-05, -1.89770546921192300e-05, -5.92484434840283480e-07,
+   -2.600000e+00, 6.91384203433467320e-02, 6.43582991757734310e-02, 2.77295184468892250e-02, 6.58439252316387910e-03, 5.26168559702410540e-04, -2.32607033498257920e-04, -1.05555593802384430e-04, -1.90791914477173410e-05, 3.89617153928183530e-07,
+   -2.500000e+00, 7.58581800212435460e-02, 7.01037165451081630e-02, 2.97339179227170330e-02, 6.76942168408115490e-03, 3.93368339730086680e-04, -2.99908237158971970e-04, -1.18687212286738230e-04, -1.82641271644429910e-05, 1.70710132276501400e-06,
+   -2.400000e+00, 8.31726964939224910e-02, 7.62549990518523320e-02, 3.17851656336421080e-02, 6.89434162824405490e-03, 2.24986027547160510e-04, -3.74838428925960460e-04, -1.30845663828534170e-04, -1.62496950231642210e-05, 3.39187260641409500e-06,
+   -2.300000e+00, 9.11229610148563820e-02, 8.28195669907413470e-02, 3.38630193212060630e-02, 6.94418048858966380e-03, 1.73976795857779640e-05, -4.56541019292197210e-04, -1.41086975496148230e-04, -1.27361870108443370e-05, 5.45406812893943450e-06,
+   -2.200000e+00, 9.97504891196855230e-02, 8.98003290400690300e-02, 3.59425377751789250e-02, 6.90262241097350580e-03, -2.32440237481267520e-04, -5.43529946386255560e-04, -1.48257384045381540e-04, -7.42839527943911650e-06, 7.87016077876329300e-06,
+   -2.100000e+00, 1.09096821195612790e-01, 9.71947048006252810e-02, 3.79937190695184560e-02, 6.75230682549018880e-03, -5.26645053446529170e-04, -6.33566815394946450e-04, -1.51007140072426080e-04, -6.78431444195360410e-08, 1.05695507215487870e-05,
+   -2.000000e+00, 1.19202922022117550e-01, 1.04993585403506520e-01, 3.99812505280765300e-02, 6.47527792470100220e-03, -8.66003964518882250e-04, -7.23553848759598890e-04, -1.47830679701737250e-04, 9.52409466015652970e-06, 1.34210561408648290e-05,
+   -1.900000e+00, 1.30108474362998020e-01, 1.13180259261931110e-01, 4.18644187703871230e-02, 6.05360545705724200e-03, -1.24952420608354250e-03, -8.09460731799582210e-04, -1.37140621784980900e-04, 2.13929590802673880e-05, 1.62216037519927020e-05,
+   -1.800000e+00, 1.41851064900488130e-01, 1.21729340287085640e-01, 4.35972335941858320e-02, 5.47019109445184840e-03, -1.67395968424672270e-03, -8.86307608006958500e-04, -1.17381772299136110e-04, 3.53908570690076410e-05, 1.86903606637620420e-05,
+   -1.700000e+00, 1.54465265083535250e-01, 1.30605746966208440e-01, 4.51288221565357000e-02, 4.70976335376680800e-03, -2.13334834774821410e-03, -9.48229364517824110e-04, -8.71882334678011690e-05, 5.11149154480680300e-05, 2.04723258355813250e-05,
+   -1.600000e+00, 1.67981614866075320e-01, 1.39763791933060850e-01, 4.64041484978087170e-02, 3.76004778666888180e-03, -2.61860738066120290e-03, -9.88646731697842430e-04, -4.55814033575266970e-05, 6.78538337828735570e-05, 2.11556871820008980e-05,
+   -1.500000e+00, 1.82425523806356350e-01, 1.49146452070332860e-01, 4.73651063923763370e-02, 2.61307784655404570e-03, -3.11724537099207930e-03, -1.00056620297502250e-03, 7.80102976522912730e-06, 8.45551079739370080e-05, 2.03066444225203900e-05,
+   -1.400000e+00, 1.97816111441418470e-01, 1.58684897495614760e-01, 4.79520193807447880e-02, 1.26658622274202760e-03, -3.61325966507915380e-03, -9.77022016894534080e-04, 7.24646867350921490e-05, 9.98277933086790340e-05, 1.75234957455372100e-05,
+   -1.300000e+00, 2.14165016957441860e-01, 1.68298362469060490e-01, 4.81055595824342110e-02, -2.74611731590522550e-04, -4.08729027151198170e-03, -9.11658508830290490e-04, 1.46836905411713910e-04, 1.11995839548817760e-04, 1.25083357559633170e-05,
+   -1.200000e+00, 2.31475216500983100e-01, 1.77894440646806100e-01, 4.77690661603623200e-02, -1.99735857190566940e-03, -4.51709579145440160e-03, -7.99430009776354920e-04, 2.28103804212779630e-04, 1.19213830328363190e-04, 5.14980858689414560e-06,
+   -1.100000e+00, 2.49739894404882120e-01, 1.87369879547520460e-01, 4.68912058409069880e-02, -3.87915850373224750e-03, -4.87839910350648060e-03, -6.37369522318305510e-04, 3.12151769446088540e-04, 1.19649447598686270e-04, -4.39535348760823720e-06,
+   -1.000000e+00, 2.68941421369995100e-01, 1.96611933241481850e-01, 4.54288738364742040e-02, -5.88759675270594200e-03, -5.14611922359971710e-03, -4.25349801037941650e-04, 3.93658206291141850e-04, 1.11724987283642060e-04, -1.56394991495607590e-05,
+   -9.000000e-01, 2.89050497374996330e-01, 2.05500307342263570e-01, 4.33501876231358880e-02, -7.98032509405418970e-03, -5.29596124463789070e-03, -1.66736205775554510e-04, 4.66365777962912890e-04, 9.43948827803063110e-05, -2.77403009365558620e-05,
+   -8.000000e-01, 3.10025518872388160e-01, 2.13909696520294650e-01, 4.06373836046078910e-02, -1.01057421786887830e-02, -5.30628176052314740e-03, 1.31183858107734580e-04, 5.23552542648552870e-04, 6.74201480805606460e-05, -3.95349355063028740e-05,
+   -7.000000e-01, 3.31812227831834840e-01, 2.21712873293109370e-01, 3.72893942201707460e-02, -1.22044526350348090e-02, -5.16008921756595880e-03, 4.57108356135274710e-04, 5.58678296160800050e-04, 3.15880914084614440e-05, -4.96436994272190620e-05,
+   -6.000000e-01, 3.54343693774204220e-01, 2.28784240456657210e-01, 3.33238673875909590e-02, -1.42115219385533420e-02, -4.84698674038245340e-03, 7.96055199473061920e-04, 5.66149170755054900e-04, -1.11785776363181220e-05, -5.66412336602477350e-05,
+   -5.000000e-01, 3.77540668798145410e-01, 2.35003712201594490e-01, 2.87783974261603720e-02, -1.60594593815974360e-02, -4.36483044084713490e-03, 1.13016810992858680e-03, 5.42105497383336210e-04, -5.78708906527865280e-05, -5.92762197634034040e-05,
+   -4.000000e-01, 4.01312339887548330e-01, 2.40260745741529220e-01, 2.37107708141042000e-02, -1.76817683206875460e-02, -3.72086991006114400e-03, 1.43997222858043460e-03, 4.85111608501311120e-04, -1.04626298216035280e-04, -5.67032531438075200e-05,
+   -3.000000e-01, 4.25557483188341750e-01, 2.44458311690745970e-01, 1.81980919777879580e-02, -1.90168142062322460e-02, -2.93216717606728910e-03, 1.70598204579085260e-03, 3.96619989543374560e-04, -1.47135961074911260e-04, -4.86790802182835940e-05,
+   -2.000000e-01, 4.50166002687523160e-01, 2.47516572711860060e-01, 1.23347402193163100e-02, -2.00116916483821620e-02, -2.02515760609995070e-03, 1.91049228965414760e-03, 2.81102185107734400e-04, -1.81178333294567830e-04, -3.56746364126751340e-05,
+   -1.000000e-01, 4.75020812521059650e-01, 2.49376040192891950e-01, 6.22921086073401340e-03, -2.06257360568048690e-02, -1.03431503291523660e-03, 2.03933060032661290e-03, 1.45785422557720970e-04, -2.03196033102260650e-04, -1.88669980984517900e-05,
+   0.000000e+00, 5.00000000000000000e-01, 2.50000000000000000e-01, 0.00000000000000000e+00, -2.08333333333333320e-02, 0.00000000000000000e+00, 2.08333333333333330e-03, 0.00000000000000000e+00, -2.10813492063492070e-04, 0.00000000000000000e+00,
+   1.000000e-01, 5.24979187478940350e-01, 2.49376040192891950e-01, -6.22921086073400900e-03, -2.06257360568048690e-02, 1.03431503291523590e-03, 2.03933060032661290e-03, -1.45785422557720860e-04, -2.03196033102260650e-04, 1.88669980984517760e-05,
+   2.000000e-01, 5.49833997312478620e-01, 2.47516572711859870e-01, -1.23347402193167460e-02, -2.00116916483821030e-02, 2.02515760610002010e-03, 1.91049228965413550e-03, -2.81102185107743620e-04, -1.81178333294565770e-04, 3.56746364126762310e-05,
+   3.000000e-01, 5.74442516811660030e-01, 2.44458311690745720e-01, -1.81980919777883710e-02, -1.90168142062321630e-02, 2.93216717606735060e-03, 1.70598204579083550e-03, -3.96619989543381990e-04, -1.47135961074908440e-04, 4.86790802182843600e-05,
+   4.000000e-01, 5.98687660112451670e-01, 2.40260745741529220e-01, -2.37107708141042070e-02, -1.76817683206875460e-02, 3.72086991006114480e-03, 1.43997222858043440e-03, -4.85111608501311170e-04, -1.04626298216035220e-04, 5.67032531438075270e-05,
+   5.000000e-01, 6.22459331201854590e-01, 2.35003712201594490e-01, -2.87783974261603720e-02, -1.60594593815974360e-02, 4.36483044084713490e-03, 1.13016810992858680e-03, -5.42105497383336100e-04, -5.78708906527865420e-05, 5.92762197634034040e-05,
+   6.000000e-01, 6.45656306225795840e-01, 2.28784240456657210e-01, -3.33238673875909590e-02, -1.42115219385533400e-02, 4.84698674038245340e-03, 7.96055199473061600e-04, -5.66149170755055010e-04, -1.11785776363180860e-05, 5.66412336602477280e-05,
+   7.000000e-01, 6.68187772168166720e-01, 2.21712873293108850e-01, -3.72893942201710100e-02, -1.22044526350346600e-02, 5.16008921756597530e-03, 4.57108356135250480e-04, -5.58678296160798530e-04, 3.15880914084643170e-05, 4.96436994272184320e-05,
+   8.000000e-01, 6.89974481127613390e-01, 2.13909696520294070e-01, -4.06373836046081060e-02, -1.01057421786886320e-02, 5.30628176052315180e-03, 1.31183858107712160e-04, -5.23552542648549510e-04, 6.74201480805629090e-05, 3.95349355063020810e-05,
+   9.000000e-01, 7.10949502625003670e-01, 2.05500307342263570e-01, -4.33501876231358880e-02, -7.98032509405418970e-03, 5.29596124463789070e-03, -1.66736205775554540e-04, -4.66365777962912890e-04, 9.43948827803063110e-05, 2.77403009365558620e-05,
+   1.000000e+00, 7.31058578630004900e-01, 1.96611933241481850e-01, -4.54288738364742040e-02, -5.88759675270594200e-03, 5.14611922359971710e-03, -4.25349801037941650e-04, -3.93658206291141790e-04, 1.11724987283642060e-04, 1.56394991495607550e-05,
+   1.100000e+00, 7.50260105595117910e-01, 1.87369879547520460e-01, -4.68912058409069810e-02, -3.87915850373224920e-03, 4.87839910350648060e-03, -6.37369522318305400e-04, -3.12151769446088590e-04, 1.19649447598686270e-04, 4.39535348760824660e-06,
+   1.200000e+00, 7.68524783499018090e-01, 1.77894440646805430e-01, -4.77690661603623610e-02, -1.99735857190554190e-03, 4.51709579145437390e-03, -7.99430009776364570e-04, -2.28103804212773750e-04, 1.19213830328362910e-04, -5.14980858689474360e-06,
+   1.300000e+00, 7.85834983042559390e-01, 1.68298362469059830e-01, -4.81055595824342180e-02, -2.74611731590405520e-04, 4.08729027151194960e-03, -9.11658508830296780e-04, -1.46836905411708300e-04, 1.11995839548817050e-04, -1.25083357559637600e-05,
+   1.400000e+00, 8.02183888558581470e-01, 1.58684897495614790e-01, -4.79520193807447880e-02, 1.26658622274202650e-03, 3.61325966507915430e-03, -9.77022016894534080e-04, -7.24646867350922030e-05, 9.98277933086790470e-05, -1.75234957455372060e-05,
+   1.500000e+00, 8.17574476193643650e-01, 1.49146452070332860e-01, -4.73651063923763370e-02, 2.61307784655404700e-03, 3.11724537099207850e-03, -1.00056620297502270e-03, -7.80102976522905780e-06, 8.45551079739369940e-05, -2.03066444225203900e-05,
+   1.600000e+00, 8.32018385133924680e-01, 1.39763791933060880e-01, -4.64041484978087170e-02, 3.76004778666888090e-03, 2.61860738066120330e-03, -9.88646731697842430e-04, 4.55814033575266490e-05, 6.78538337828735700e-05, -2.11556871820008980e-05,
+   1.700000e+00, 8.45534734916465690e-01, 1.30605746966207800e-01, -4.51288221565356030e-02, 4.70976335376686790e-03, 2.13334834774818110e-03, -9.48229364517820420e-04, 8.71882334678036630e-05, 5.11149154480668850e-05, -2.04723258355812330e-05,
+   1.800000e+00, 8.58148935099512730e-01, 1.21729340287085030e-01, -4.35972335941857140e-02, 5.47019109445189610e-03, 1.67395968424669120e-03, -8.86307608006953510e-04, 1.17381772299137870e-04, 3.53908570690065840e-05, -1.86903606637618860e-05,
+   1.900000e+00, 8.69891525637002010e-01, 1.13180259261931090e-01, -4.18644187703871160e-02, 6.05360545705724280e-03, 1.24952420608354210e-03, -8.09460731799582210e-04, 1.37140621784980930e-04, 2.13929590802673740e-05, -1.62216037519927020e-05,
+   2.000000e+00, 8.80797077977882430e-01, 1.04993585403506520e-01, -3.99812505280765300e-02, 6.47527792470100220e-03, 8.66003964518882580e-04, -7.23553848759599000e-04, 1.47830679701737250e-04, 9.52409466015653990e-06, -1.34210561408648320e-05,
+   2.100000e+00, 8.90903178804387190e-01, 9.71947048006252950e-02, -3.79937190695184560e-02, 6.75230682549018880e-03, 5.26645053446529490e-04, -6.33566815394946450e-04, 1.51007140072426080e-04, -6.78431444195273990e-08, -1.05695507215487880e-05,
+   2.200000e+00, 9.00249510880315130e-01, 8.98003290400685160e-02, -3.59425377751787790e-02, 6.90262241097351280e-03, 2.32440237481248250e-04, -5.43529946386249270e-04, 1.48257384045381190e-04, -7.42839527943956290e-06, -7.87016077876311010e-06,
+   2.300000e+00, 9.08877038985144270e-01, 8.28195669907408480e-02, -3.38630193212059100e-02, 6.94418048858966300e-03, -1.73976795857944340e-05, -4.56541019292191090e-04, 1.41086975496147570e-04, -1.27361870108446520e-05, -5.45406812893927270e-06,
+   2.400000e+00, 9.16827303506077550e-01, 7.62549990518523320e-02, -3.17851656336421080e-02, 6.89434162824405490e-03, -2.24986027547160530e-04, -3.74838428925960460e-04, 1.30845663828534150e-04, -1.62496950231642210e-05, -3.39187260641409450e-06,
+   2.500000e+00, 9.24141819978756440e-01, 7.01037165451081630e-02, -2.97339179227170370e-02, 6.76942168408115490e-03, -3.93368339730086620e-04, -2.99908237158971970e-04, 1.18687212286738230e-04, -1.82641271644429910e-05, -1.70710132276501460e-06,
+   2.600000e+00, 9.30861579656653280e-01, 6.43582991757734310e-02, -2.77295184468892250e-02, 6.58439252316387910e-03, -5.26168559702410540e-04, -2.32607033498257950e-04, 1.05555593802384450e-04, -1.90791914477173410e-05, -3.89617153928184060e-07,
+   2.700000e+00, 9.37026643943003720e-01, 5.90077124839150850e-02, -2.57879425535990910e-02, 6.35270861473479200e-03, -6.27307713045430010e-04, -1.73287043781767810e-04, 9.21901110565374300e-05, -1.89770546921191960e-05, 5.92484434840341820e-07,
+   2.800000e+00, 9.42675824101131490e-01, 5.40381147563840990e-02, -2.39213669826538470e-02, 6.08623461297321240e-03, -7.00781674416260940e-04, -1.21914175348934030e-04, 7.91428101009795250e-05, -1.82089651359146990e-05, 1.28317708681261880e-06,
+   2.900000e+00, 9.47846436921582210e-01, 4.94335689366433020e-02, -2.21386477125931100e-02, 5.79525041829335050e-03, -7.50494941518227080e-04, -7.81733147369432530e-05, 6.68027637707623900e-05, -1.69886858896900930e-05, 1.73116951598277200e-06,
+   3.000000e+00, 9.52574126822433250e-01, 4.51766597309121370e-02, -2.04457873304717400e-02, 5.48851270404273740e-03, -7.80143233713328820e-04, -4.15580551386109330e-05, 5.54231098116953620e-05, -1.54908971165042420e-05, 1.98477178874566190e-06,
+   3.100000e+00, 9.56892745058913970e-01, 4.12490195125302800e-02, -1.88463777560686640e-02, 5.17335497467660920e-03, -7.93136875871795610e-04, -1.14441252533540270e-05, 4.51479527965794610e-05, -1.38529346180267520e-05, 2.08862370841833540e-06,
+   3.200000e+00, 9.60834277203235780e-01, 3.76317689545712720e-02, -1.73420090460590200e-02, 4.85581145777831070e-03, -7.92556942875540260e-04, 1.28527968678344200e-05, 3.60372788765845660e-05, -1.21785339929207800e-05, 2.08188494032338610e-06,
+   3.300000e+00, 9.64428810727363970e-01, 3.43058797663663290e-02, -1.59326389408494530e-02, 4.54075324118333870e-03, -7.81136715871746850e-04, 3.20333477669136790e-05, 2.80888515200175560e-05, -1.05425695254940430e-05, 1.99749627553838900e-06,
+   3.400000e+00, 9.67704535301549650e-01, 3.12524676583614820e-02, -1.46169208631806680e-02, 4.23202787498998340e-03, -7.61261892057005900e-04, 4.67828549658594210e-05, 2.12566585862236030e-05, -8.99607145360522770e-06, 1.86217080497491890e-06,
+   3.500000e+00, 9.70687769248643640e-01, 2.84530238797355600e-02, -1.33924903383311200e-02, 3.93259607872179120e-03, -7.34984014121930130e-04, 5.77497348688372760e-05, 1.54658929379206620e-05, -7.57105242822983730e-06, 1.69683959383878260e-06,
+   3.600000e+00, 9.73403006423134150e-01, 2.58895935095379770e-02, -1.22562114024881400e-02, 3.64466119950055150e-03, -7.04042619029962590e-04, 6.55318946370028460e-05, 1.06247064779465970e-05, -6.28486711652862430e-06, 1.51734380667807310e-06,
+   3.700000e+00, 9.75872978582330910e-01, 2.35449082551804700e-02, -1.12043856218404410e-02, 3.36978867111854600e-03, -6.69892570298140370e-04, 7.06693116302657790e-05, 6.63311834132022210e-06, -5.14397050514005120e-06, 1.33522575415529580e-06,
+   3.800000e+00, 9.78118729063869650e-01, 2.14024809183500400e-02, -1.02329269754952420e-02, 3.10901396359800210e-03, -6.33733890292697130e-04, 7.36412131670987950e-05, 3.38951570113992980e-06, -4.14703775227697050e-06, 1.15852126130838430e-06,
+   3.900000e+00, 9.80159694265922640e-01, 1.94466680024557300e-02, -9.33750616255004350e-03, 2.86293843734488620e-03, -5.96542131231841840e-04, 7.48665453514710520e-05, 7.95188183514702470e-07, -3.28747035475217040e-06, 9.92494306357317580e-07,
+   4.000000e+00, 9.82013790037908450e-01, 1.76627062132911140e-02, -8.51366796419456350e-03, 2.63181317810481970e-03, -5.59097914300470120e-04, 7.47066762395398010e-05, -1.24269413614214560e-06, -2.55534876234905550e-06, 8.40282944541781740e-07,
+   4.100000e+00, 9.83697500628559100e-01, 1.60367278856850850e-02, -7.75692519656619260e-03, 2.41561133966800450e-03, -5.22014734440236390e-04, 7.34695105422522440e-05, -2.80929796912433010e-06, -1.93890813171395740e-06, 7.03444793457820960e-07,
+   4.200000e+00, 9.85225968306726930e-01, 1.45557596807991810e-02, -7.06283258555579810e-03, 2.21408980691468420e-03, -4.85764488348582080e-04, 7.14143932084043720e-05, -3.98123376869768300e-06, -1.42561795102166160e-06, 5.82402709583479820e-07,
+   4.300000e+00, 9.86613082172335230e-01, 1.32077082587400730e-02, -6.42704362421851400e-03, 2.02684115234202150e-03, -4.50700451530002570e-04, 6.87573457418927490e-05, -4.82630245069904450e-06, -1.00294258400730340e-06, 4.76798514972928770e-07,
+   4.400000e+00, 9.87871565015725820e-01, 1.19813360491064070e-02, -5.84535316925687610e-03, 1.85333692799611760e-03, -4.17077623458163860e-04, 6.56763134025453160e-05, -5.40368325106174610e-06, -6.58851848354832670e-07, 3.85766258848206380e-07,
+   4.500000e+00, 9.89013057369406810e-01, 1.08662297222252340e-02, -5.31372821854368160e-03, 1.69296333866136780e-03, -3.85070493374473810e-04, 6.23162067713295410e-05, -5.76440909701650410e-06, -3.82140937580884150e-07, 3.08137729042538020e-07,
+   4.600000e+00, 9.90048198133095750e-01, 9.85276350650618640e-03, -4.82832900299487880e-03, 1.54505030236922430e-03, -3.54788366451459870e-04, 5.87936015930567060e-05, -5.95201382230377430e-06, -1.62608851827789640e-07, 2.42592671010626930e-07,
+   4.700000e+00, 9.90986701347152170e-01, 8.93205910024237080e-03, -4.38552223386581410e-03, 1.40889483693683920e-03, -3.26288442377168090e-04, 5.52010205716216920e-05, -6.00326657261755740e-06, 8.86506405301201780e-09, 1.87765077032699150e-07,
+   4.800000e+00, 9.91837428846840120e-01, 8.09594358532946330e-03, -3.98188807709751180e-03, 1.28377962835140660e-03, -2.99586865189515150e-04, 5.16107638858808760e-05, -5.94893341840661460e-06, 1.40315385838889720e-07, 1.42315417642172960e-07,
+   4.900000e+00, 9.92608458655718120e-01, 7.33690646083770200e-03, -3.61422218297444010e-03, 1.16898754705786820e-03, -2.74667971829368530e-04, 4.80782851857429910e-05, -5.81452533962046400e-06, 2.38731847095225350e-07, 1.04977086195802830e-07,
+   5.000000e+00, 9.93307149075715160e-01, 6.64805667079015460e-03, -3.27953388316128140e-03, 1.06381278763365480e-03, -2.51491963154407420e-04, 4.46451297657817080e-05, -5.62100625972984250e-06, 3.10129709169231030e-07, 7.45837869158400470e-08,
+   5.100000e+00, 9.93940198508415860e-01, 6.02308029746670070e-03, -2.97504147776283090e-03, 9.67569219974718500e-04, -2.30001209438043020e-04, 4.13414640178132570e-05, -5.38544554286533600e-06, 3.59636242105717580e-07, 5.00832087848591070e-08,
+   5.200000e+00, 9.94513701100549600e-01, 5.45619942383627960e-03, -2.69816537102396480e-03, 8.79596458486708520e-04, -2.10125385909201100e-04, 3.81882321625761050e-05, -5.12160710363574680e-06, 3.91584076958449200e-07, 3.05411323561951730e-08,
+   5.300000e+00, 9.95033198349943080e-01, 4.94213253142593120e-03, -2.44651967370107920e-03, 7.99264081279476690e-04, -1.91785615006918260e-04, 3.51989792480763220e-05, -4.84047268317013990e-06, 4.09605096400368890e-07, 1.51391212973002660e-08,
+   5.400000e+00, 9.95503726839058860e-01, 4.47605668860335490e-03, -2.21790277074585940e-03, 7.25974364620968290e-04, -1.74897772363819330e-04, 3.23813797045458010e-05, -4.55070047506629860e-06, 4.16720717412710390e-07, 3.16814392573476410e-09,
+   5.500000e+00, 9.95929862284103850e-01, 4.05357169486976650e-03, -2.01028725239550500e-03, 6.59163838992845080e-04, -1.59375094194757470e-04, 2.97385092867708520e-05, -4.25902259388678110e-06, 4.15426030123352990e-07, -5.98016885505318570e-09,
+   5.600000e+00, 9.96315760100564000e-01, 3.67066627579938630e-03, -1.82180952274887910e-03, 5.98303921724940090e-04, -1.45130205452988760e-04, 2.72698956944830560e-05, -3.97058622553927970e-06, 4.07766414969878050e-07, -1.28234186230422650e-08,
+   5.700000e+00, 9.96665192692586690e-01, 3.32368636763575840e-03, -1.65075933023153730e-03, 5.42900836868885190e-04, -1.32076671237156660e-04, 2.49723800306181780e-05, -3.68924396212467030e-06, 3.95406070736085290e-07, -1.77986544427550980e-08,
+   5.800000e+00, 9.96981583675291550e-01, 3.00930548759914500e-03, -1.49556940698976870e-03, 4.92494995082163160e-04, -1.20130158692274330e-04, 2.28408178788691450e-05, -3.41779901612000880e-06, 3.79688433955302940e-07, -2.12723568777360370e-08,
+   5.900000e+00, 9.97268039236988920e-01, 2.72449715340041280e-03, -1.35480535737818120e-03, 4.46659974161181810e-04, -1.09209283108593270e-04, 2.08686453886228180e-05, -3.15821088901942300e-06, 3.61688823780909770e-07, -2.35498468733292700e-08,
+   6.000000e+00, 9.97527376843365230e-01, 2.46650929136004800e-03, -1.22715589769015220e-03, 4.05001213808975830e-04, -9.92362000505793020e-05, 1.90483324974313430e-05, -2.91176675437529030e-06, 3.42259858984122120e-07, -2.48839237613873960e-08,
+   6.100000e+00, 9.97762151478723710e-01, 2.23284055527215100e-03, -1.11142351870121400e-03, 3.67154515600090470e-04, -9.01369950517951440e-05, 1.73717423893457380e-05, -2.67922338831252450e-06, 3.22070306219285100e-07, -2.54826405262093900e-08,
+   6.200000e+00, 9.97974679610950100e-01, 2.02121846637157500e-03, -1.00651561821512090e-03, 3.32784420306461000e-04, -8.18419135636989510e-05, 1.58304135300521570e-05, -2.46092400072710690e-06, 3.01638062064545770e-07, -2.55161950143962260e-08,
+   6.300000e+00, 9.98167061057507190e-01, 1.82957927732589060e-03, -9.11436131557156830e-04, 3.01582519222294770e-04, -7.42854663041933490e-05, 1.44157781558078800e-05, -2.25689382743798350e-06, 2.81357968618219770e-07, -2.51229617521266020e-08,
+   6.400000e+00, 9.98341198919825530e-01, 1.65604945915082470e-03, -8.25277672943750660e-04, 2.73265743380650350e-04, -6.74064387680514710e-05, 1.31193289221307530e-05, -2.06691786360688020e-06, 2.61525130420608030e-07, -2.44147172473251530e-08,
+   6.500000e+00, 9.98498817743262990e-01, 1.49892870856904940e-03, -7.47214189103107150e-04, 2.47574664154802410e-04, -6.11478282924288020e-05, 1.19327435270117310e-05, -1.89060366781194860e-06, 2.42354351223451110e-07, -2.34811272785029050e-08,
+   6.600000e+00, 9.98641480049571100e-01, 1.35667437397324320e-03, -6.76494117783343330e-04, 2.24271830305211500e-04, -5.54567275815383040e-05, 1.08479754917148960e-05, -1.72743175318997390e-06, 2.23996251086150210e-07, -2.23935715918401650e-08,
+   6.700000e+00, 9.98770601378722530e-01, 1.22788720030741820e-03, -6.12434037322566940e-04, 2.03140159741224220e-04, -5.02841698614196030e-05, 9.85731788582393180e-06, -1.57679571105668350e-06, 2.06550563194937130e-07, -2.12083825151639430e-08,
+   6.800000e+00, 9.98887463967139680e-01, 1.11129829643590400e-03, -5.54412788819910760e-04, 1.83981398835655990e-04, -4.55849477472547160e-05, 8.95344559655879560e-06, -1.43803388408028780e-06, 1.90077049463261540e-07, -1.99695713410904680e-08,
+   6.900000e+00, 9.98993229179914400e-01, 1.00575723260145560e-03, -5.01866049266854600e-04, 1.66614657822645790e-04, -4.13174153633906250e-05, 8.12944074027207590e-06, -1.31045411900319600e-06, 1.74604416741991380e-07, -1.87111114252562830e-08,
+   7.000000e+00, 9.99088948805599400e-01, 9.10221180121826540e-04, -4.54281331967594540e-04, 1.50875027423562060e-04, -3.74432811738753480e-05, 7.37880497244096900e-06, -1.19335288038025050e-06, 1.60137562702363960e-07, -1.74588408352964750e-08,
+   7.100000e+00, 9.99175575313601680e-01, 8.23745010334750930e-04, -4.11193389445558120e-04, 1.36612279213740410e-04, -3.39273972842914250e-05, 6.69546174926586470e-06, -1.08602979344121380e-06, 1.46663432811572760e-07, -1.62320407865954220e-08,
+   7.200000e+00, 9.99253971166163320e-01, 7.45472274815779240e-04, -3.72179993596051240e-04, 1.23689650223444190e-04, -3.07375495998706260e-05, 6.07375100916500350e-06, -9.87798502316527490e-07, 1.34155727489317400e-07, -1.50447394841792490e-08,
+   7.300000e+00, 9.99324917269367120e-01, 6.74626993939636430e-04, -3.36858067936590810e-04, 1.11982710742320710e-04, -2.78442521156261930e-05, 5.50841825822966410e-06, -8.97994575796458760e-07, 1.22578661398167780e-07, -1.39067846545079820e-08,
+   7.400000e+00, 9.99389120640565620e-01, 6.10506185842614760e-04, -3.04880147293569100e-04, 1.01378313170817010e-04, -2.52205477252674230e-05, 4.99459964447470730e-06, -8.15981062985799730e-07, 1.11889944579739760e-07, -1.28247221712007600e-08,
+   7.500000e+00, 9.99447221363076400e-01, 5.52473072702160420e-04, -2.75931141039014920e-04, 9.17736189542991000e-05, -2.28418172279072060e-05, 4.52780427792291130e-06, -7.41152192379702000e-07, 1.02043127397168810e-07, -1.18025128443360290e-08,
+   7.600000e+00, 9.99499798892920400e-01, 4.99950905932039760e-04, -2.49725376969387250e-04, 8.30752000803310330e-05, -2.06855976523322050e-05, 4.10389478553116230e-06, -6.72935617035874460e-07, 9.29894275301906520e-08, -1.08421146857547030e-08,
+   7.700000e+00, 9.99547377776759500e-01, 4.52417356363562560e-04, -2.26003904032111420e-04, 7.51982112629214300e-05, -1.87314105805525660e-05, 3.71906687172526550e-06, -6.10793532989768880e-07, 8.46791371308547520e-08, -9.94395377704565340e-09,
+   7.800000e+00, 9.99590432835013920e-01, 4.09399419723413860e-04, -2.04532033302023900e-04, 6.80656287356991040e-05, -1.69606008127532920e-05, 3.36982847838178880e-06, -5.54222935506773140e-07, 7.70626912387012800e-08, -9.10730322364054310e-09,
+   7.900000e+00, 9.99629393859373660e-01, 3.70468791714924570e-04, -1.85097097848342280e-04, 6.16075514935193710e-05, -1.53561854558387080e-05, 3.05297899532582600e-06, -5.02755226147291380e-07, 7.00914642564754660e-08, -8.33058653549456410e-09,
+   8.000000e+00, 9.99664649869533520e-01, 3.35237670756474240e-04, -1.67506413381611650e-04, 5.57605608301848110e-05, -1.39027133219421480e-05, 2.76558885777998050e-06, -4.55955341173887610e-07, 6.37183493199892450e-08, -7.61161908358632620e-09,
+   8.100000e+00, 9.99696552969971060e-01, 3.03354949928885320e-04, -1.51585422805842160e-04, 5.04671340958345240e-05, -1.25861343788082970e-05, 2.50497977566681800e-06, -4.13420537045400910e-07, 5.78981654174098590e-08, -6.94779899154796610e-09,
+   8.200000e+00, 9.99725421843898680e-01, 2.74502762937523960e-04, -1.37176009006269880e-04, 4.56751087227269870e-05, -1.13936788903748580e-05, 2.26870576703247800e-06, -3.74778940336349630e-07, 5.25879288228433850e-08, -6.33625688386961700e-09,
+   8.300000e+00, 9.99751544918160650e-01, 2.48393351911641610e-04, -1.24134961365243270e-04, 4.13371927279997050e-05, -1.03137458146273360e-05, 2.05453511063052970e-06, -3.39687946303437860e-07, 4.77470185436928630e-08, -5.77397227994794290e-09,
+   8.400000e+00, 9.99775183229766660e-01, 2.24766227653115970e-04, -1.12332582609199500e-04, 3.74105180850925840e-05, -9.33579997993102270e-06, 1.86043328799364710e-06, -3.07832531578974220e-07, 4.33372598136731630e-08, -5.25786305429553240e-09,
+   8.500000e+00, 9.99796573021944800e-01, 2.03385595519805850e-04, -1.01651423642826370e-04, 3.38562335528360220e-05, -8.45027753490249690e-06, 1.68454695073643520e-06, -2.78923531334687870e-07, 3.93229449984878610e-08, -4.78485323932654510e-09,
+   8.600000e+00, 9.99815928095036610e-01, 1.84038022497226820e-04, -9.19851350192266420e-05, 3.06391337558131090e-05, -7.64849915592080710e-06, 1.52518892241238460e-06, -2.52695919086895630e-07, 3.56708074528069760e-08, -4.35192349451369590e-09,
+   8.700000e+00, 9.99833441935222610e-01, 1.66530323188393110e-04, -8.32374246258395520e-05, 2.77273215161909540e-05, -6.92259049692898490e-06, 1.38082422437826690e-06, -2.28907117570329520e-07, 3.23499607343890290e-08, -3.95614777483459150e-09,
+   8.800000e+00, 9.99849289641940200e-01, 1.50687644447730390e-04, -7.53211120350152910e-05, 2.50919006417658550e-05, -6.26540937530153360e-06, 1.25005710047956180e-06, -2.07335361348965880e-07, 2.93318130250367760e-08, -3.59471907670550150e-09,
+   8.900000e+00, 9.99863629672920530e-01, 1.36351730213388530e-04, -6.81572707766472030e-05, 2.27066965745659000e-05, -5.67047920292358180e-06, 1.13161900488518310e-06, -1.87778125690477490e-07, 2.65899645286942290e-08, -3.26496659905701230e-09,
+   9.000000e+00, 9.99876605424013800e-01, 1.23379349764848930e-04, -6.16744505398747690e-05, 2.05480024968597550e-05, -5.13192819138484970e-06, 1.02435751019101220e-06, -1.70050631402633010e-07, 2.41000939307157270e-08, -2.96436621206719760e-09,
+   9.100000e+00, 9.99888346659370430e-01, 1.11640874161088810e-04, -5.58079720039935180e-05, 1.85943486753980140e-05, -4.64443388288644270e-06, 9.27226088269874940e-07, -1.53984431565228430e-07, 2.18398386394125530e-08, -2.69054576040561850e-09,
+   9.200000e+00, 9.99898970806092250e-01, 1.01018987009750880e-04, -5.04992876380484690e-05, 1.68262929992220030e-05, -4.20317258295546220e-06, 8.39274713695973640e-07, -1.39426083184529280e-07, 1.97886724333609890e-08, -2.44128642819715730e-09,
+   9.300000e+00, 9.99908584126147800e-01, 9.14075169901689510e-05, -4.56954023970421620e-05, 1.52262308308658500e-05, -3.80377329648253310e-06, 7.59641238451180340e-07, -1.26235904580310470e-07, 1.79277832574711560e-08, -2.21452114796530720e-09,
+   9.400000e+00, 9.99917282777148310e-01, 8.27103807127096620e-05, -4.13483487833612670e-05, 1.37782224450406340e-05, -3.44227579427705870e-06, 6.87543486658803350e-07, -1.14286817650953480e-07, 1.62399532076432020e-08, -2.00833083607346070e-09,
+   9.500000e+00, 9.99925153772489360e-01, 7.48406255528386630e-05, -3.74147112379321680e-05, 1.24678364729066370e-05, -3.11509246276708830e-06, 6.22272018989971020e-07, -1.03463272937304910e-07, 1.47094421850544280e-08, -1.82093907471919660e-09,
+   9.600000e+00, 9.99932275850380250e-01, 6.77195630593283900e-05, -3.38551952798433820e-05, 1.12820079040004520e-05, -2.81897361428864240e-06, 5.63183517913633550e-07, -9.36602545299373900e-08, 1.33218762596424920e-08, -1.65070572874812520e-09,
+   9.700000e+00, 9.99938720260383440e-01, 6.12759844101147830e-05, -3.06342372286879860e-05, 1.02089093220870340e-05, -2.55097595934782470e-06, 5.09694746927039620e-07, -8.47823612630032110e-08, 1.20641414358960210e-08, -1.49611987895293270e-09,
+   9.800000e+00, 9.99944551475277170e-01, 5.54454501839007800e-05, -2.77196507235351010e-05, 9.23783416603736810e-06, -2.30843396511461800e-06, 4.61277039162938400e-07, -7.67429602510730080e-08, 1.09242832443545460e-08, -1.35579236756069850e-09,
+   9.900000e+00, 9.99949827835316270e-01, 5.01696474376548870e-05, -2.50823065990140750e-05, 8.35909091275179450e-06, -2.08893384610551040e-06, 4.17451273209463760e-07, -6.94634086049875410e-08, 9.89141237430900580e-09, -1.22844818252731630e-09,
+   1.000000e+01, 9.99954602131297610e-01, 4.53958077359516730e-05, -2.26958429950565990e-05, 7.56390717663194530e-06, -1.89028995346304090e-06, 3.77783296510341030e-07, -6.28723390698916470e-08, 8.95561640484862610e-09, -1.11291885194540550e-09,
+   1.010000e+01, 9.99958922132235250e-01, 4.10761803735431730e-05, -2.05364028648659190e-05, 6.84434280966311460e-06, -1.71052334841719230e-06, 3.41879759270231690e-07, -5.69050053322319550e-08, 8.10787757266656900e-09, -1.00813497577477500e-09,
+   1.020000e+01, 9.99962831062897070e-01, 3.71675555730039750e-05, -1.85823963079666270e-05, 6.19321116831338960e-06, -1.54784236341642940e-06, 3.09384324322486770e-07, -5.15026828177809950e-08, 7.33999642781074730e-09, -9.13118987119022980e-10,
+   1.030000e+01, 9.99966368035961280e-01, 3.36308329296659620e-05, -1.68142853938692990e-05, 5.60400778868745020e-06, -1.40062497106619520e-06, 2.79974220887243180e-07, -4.66121209299951520e-08, 6.64452116626694230e-09, -8.26978207671312410e-10,
+   1.040000e+01, 9.99969568443099480e-01, 3.04306308209097750e-05, -1.52143893589815410e-05, 5.07084578019280360e-06, -1.26740279644937950e-06, 2.53357112530681430e-07, -4.21850428417584110e-08, 6.01468238557349960e-09, -7.48898240323380870e-10,
+   1.050000e+01, 9.99972464308885420e-01, 2.75349329002983130e-05, -1.37667082567419530e-05, 4.58839731085322790e-06, -1.14684662267372210e-06, 2.29268251912926360e-07, -3.81776891415831150e-08, 5.44433298228359790e-09, -6.78136725116404050e-10,
+   1.060000e+01, 9.99975084611060550e-01, 2.49147681628238800e-05, -1.24567633202728270e-05, 4.15184061479803880e-06, -1.03775325265255170e-06, 2.07467897071115020e-07, -3.45504018382091540e-08, 4.92789289455700780e-09, -6.14017471766445350e-10,
+   1.070000e+01, 9.99977455570349560e-01, 2.25439213991371070e-05, -1.12714524597185250e-05, 3.75681200479746720e-06, -9.39033602238237710e-07, 1.87738966018924190e-07, -3.12672454379726200e-08, 4.46029838670065200e-09, -5.55924972150872550e-10,
+   1.080000e+01, 9.99979600912720090e-01, 2.03986711571594440e-05, -1.01989194643063940e-05, 3.39936242040826270e-06, -8.49701910954555350e-07, 1.69884908351422640e-07, -2.82956620217398040e-08, 4.03695557286271950e-09, -5.03299288768600680e-10,
+   1.090000e+01, 9.99981542106704310e-01, 1.84575526018420250e-05, -9.22843561338458930e-06, 3.07591808572562090e-06, -7.68865966779615540e-07, 1.53727774324813170e-07, -2.56061574585065820e-08, 3.65369788255584290e-09, -4.55631309778496850e-10,
+   1.100000e+01, 9.99983298578151940e-01, 1.67011429106034340e-05, -8.35029252246862110e-06, 2.78324489025938510e-06, -6.95718250776955250e-07, 1.39106463536484480e-07, -2.31720160978619510e-08, 3.30674717983455920e-09, -4.12458357364119000e-10,
+   1.110000e+01, 9.99984887904558970e-01, 1.51118670655464890e-05, -7.55570516079585820e-06, 2.51841614239820780e-06, -6.29527915921011750e-07, 1.25875136865743850e-07, -2.09690414812554580e-08, 2.99267825968001440e-09, -3.73360133536596960e-10,
+   1.120000e+01, 9.99986325990915410e-01, 1.36738221060752420e-05, -6.83672407706992100e-06, 2.27878337760155160e-06, -5.69633522273675250e-07, 1.13901776754521030e-07, -1.89753208008990390e-08, 2.70838645858564190e-09, -3.37954985802325990e-10,
+   1.130000e+01, 9.99987627228825620e-01, 1.23726180889609920e-05, -6.18615596090805290e-06, 2.06194993314845680e-06, -5.15436457797194670e-07, 1.03066882215768930e-07, -1.71710110142078850e-08, 2.45105813081807930e-09, -3.05896474172170790e-10,
+   1.140000e+01, 9.99988804640494890e-01, 1.11952341690387850e-05, -5.59749174984812630e-06, 1.86574702823836450e-06, -4.66394980589778340e-07, 9.32622861614335840e-08, -1.55381446904247040e-08, 2.21814375683459170e-09, -2.76870220601440280e-10,
+   1.150000e+01, 9.99989870009019180e-01, 1.01298883641566480e-05, -5.06484156640055810e-06, 1.68821211272117090e-06, -4.22018824253730030e-07, 8.43900837478793370e-08, -1.40604538242312510e-08, 2.00733346547603950e-09, -2.50591021986417530e-10,
+   1.160000e+01, 9.99990833996280190e-01, 9.16591970422912340e-06, -4.58287583726045680e-06, 1.52756926995416270e-06, -3.81864313499765880e-07, 7.63616614509696120e-08, -1.27232099987598100e-08, 1.81653476653133770e-09, -2.26800208194065460e-10,
+   1.170000e+01, 9.99991706249626080e-01, 8.29368158759631130e-06, -4.14677200807338770e-06, 1.38221147944510870e-06, -3.45529941999464300e-07, 6.90968175118823230e-08, -1.15130794176649890e-08, 1.64385230486977710e-09, -2.05263227179602160e-10,
+   1.180000e+01, 9.99992495498402860e-01, 7.50444527956575040e-06, -3.75216632266128950e-06, 1.25068456322867110e-06, -3.12652368961592510e-07, 6.25229652442683430e-08, -1.04179914531162750e-08, 1.48756946140725130e-09, -1.85767439983336050e-10,
+   1.190000e+01, 9.99993209641301890e-01, 6.79031258912383860e-06, -3.39511018590376710e-06, 1.13167265650891500e-06, -2.82902794965877070e-07, 5.65744114695242290e-08, -9.42701947414724110e-09, 1.34613163960855980e-09, -1.68120109240106090e-10,
+   1.200000e+01, 9.99993855825397790e-01, 6.14413685133317550e-06, -3.07203067501699310e-06, 1.02398505813788140e-06, -2.55983681274537310e-07, 5.11917030553082150e-08, -8.53027282820451160e-09, 1.21813108896187020e-09, -1.52146565740089000e-10,
+   1.210000e+01, 9.99994440517666390e-01, 5.55945142579066820e-06, -2.77969480522334770e-06, 9.26544330131622270e-07, -2.31625780190364130e-07, 4.63210351783787160e-08, -7.71879894849246740e-09, 1.10229312885685030e-09, -1.37688538516805890e-10,
+   1.220000e+01, 9.99994969569698240e-01, 5.03040499652609140e-06, -2.51517719316132110e-06, 8.38375527779919400e-07, -2.09585447070190430e-07, 4.19137155214044240e-08, -6.98449465133022680e-09, 9.97463647539518500e-10, -1.24602634882611740e-10,
+   1.230000e+01, 9.99995448276255190e-01, 4.55170302661081300e-06, -2.27583079521066120e-06, 7.58596453101359750e-07, -1.89642207361636460e-07, 3.79256791492816810e-08, -6.32002577174939780e-09, 9.02597761305668940e-10, -1.12758957765584690e-10,
+   1.240000e+01, 9.99995881428255130e-01, 4.11855478219938940e-06, -2.05926042853633910e-06, 6.86408834539737520e-07, -1.71596554534475850e-07, 3.43170492981490410e-08, -5.71875436249462110e-09, 8.16749528846053340e-10, -1.02039848611428460e-10,
+   1.250000e+01, 9.99996273360715840e-01, 3.72662539634620680e-06, -1.86329881038450400e-06, 6.21090344987523090e-07, -1.55267957048707560e-07, 3.10517397537616080e-08, -5.17467275194488770e-09, 7.39062624692496680e-10, -9.23387449901975160e-11,
+   1.260000e+01, 9.99996627996136310e-01, 3.37199249328072390e-06, -1.68598487626864630e-06, 5.61987378546745830e-07, -1.40493054560707270e-07, 2.80970948990030250e-08, -4.68234382074757800e-09, 6.68761884064919670e-10, -8.35591428840212360e-11,
+   1.270000e+01, 9.99996948883751350e-01, 3.05110693938728140e-06, -1.52554416041168150e-06, 5.08508513977657970e-07, -1.27124025435932610e-07, 2.54235638765753120e-08, -4.23684691561620810e-09, 6.05145639118406560e-10, -7.56136544244528810e-11,
+   1.280000e+01, 9.99997239235049800e-01, 2.76075732836992650e-06, -1.38037104238289500e-06, 4.60118599613961530e-07, -1.15027109329103450e-07, 2.30044056455347370e-08, -3.83372887222818370e-09, 5.47578773672759970e-10, -6.84231525942881740e-11,
+   1.290000e+01, 9.99997501955914410e-01, 2.49803784540252620e-06, -1.24901268249259760e-06, 4.16333400707343890e-07, -1.04081270126766200e-07, 2.08154220123400230e-08, -3.46895966789292030e-09, 4.95486430012472260e-10, -6.19159951078822260e-11,
+   1.300000e+01, 9.99997739675702050e-01, 2.26031918883764270e-06, -1.13015448536443780e-06, 3.76714755763438350e-07, -9.41769859371668570e-08, 1.88347159911528980e-08, -3.13889226903028720e-09, 4.48348307309722370e-10, -5.60273203362117570e-11,
+   1.310000e+01, 9.99997954773558460e-01, 2.04522225861253610e-06, -1.02260694636362590e-06, 3.40866193501335580e-07, -8.52151540718136390e-08, 1.70424730968043850e-08, -2.84022627887281730e-09, 4.05693496684508060e-10, -5.06984087491533260e-11,
+   1.320000e+01, 9.99998149402227090e-01, 1.85059434815133000e-06, -9.25293749369885780e-07, 3.08428966659113580e-07, -7.71061001041075170e-08, 1.54207633994051250e-08, -2.56997502752137550e-09, 3.67095802910523550e-10, -4.58761039091408600e-11,
+   1.330000e+01, 9.99998325509594440e-01, 1.67448760159332860e-06, -8.37240996883241340e-07, 2.79078463023493540e-07, -6.97686811239346070e-08, 1.39533623741242100e-08, -2.32543577985619090e-09, 3.32169507337571490e-10, -4.15122875693579500e-11,
+   1.340000e+01, 9.99998484858183550e-01, 1.51513952083031450e-06, -7.57567464763911470e-07, 2.52520957823951480e-07, -6.31294742432537220e-08, 1.26255887651222860e-08, -2.10416276712682460e-09, 3.00565530764879660e-10, -3.75634039080735170e-11,
+   1.350000e+01, 9.99998629042793130e-01, 1.37095532733418150e-06, -6.85475784146004530e-07, 2.28490675037187380e-07, -5.71220422554890060e-08, 1.14241578507341960e-08, -1.90394277558092690e-09, 2.71967958795808980e-10, -3.39900283708562110e-11,
+   1.360000e+01, 9.99998759506458890e-01, 1.24049200230635130e-06, -6.20244462330858940e-07, 2.06747128230650730e-07, -5.16862691192765790e-08, 1.03370486493598750e-08, -1.72277305049099810e-09, 2.46090895663075560e-10, -3.07564769965723200e-11,
+   1.370000e+01, 9.99998877554894690e-01, 1.12244384546689700e-06, -5.61220662851848130e-07, 1.87072714364296580e-07, -4.67677586323083690e-08, 9.35338374359172940e-09, -1.55884129662682110e-09, 2.22675615662537220e-10, -2.78304524736294260e-11,
+   1.380000e+01, 9.99998984369560470e-01, 1.01562940799105980e-06, -5.07813672491387920e-07, 1.69270536495415590e-07, -4.23172902904494250e-08, 8.46332052519952860e-09, -1.41050757680551750e-09, 2.01487984198645400e-10, -2.51827235121774230e-11,
+   1.390000e+01, 9.99999081019486650e-01, 9.18979668846808110e-07, -4.59488989898996230e-07, 1.53162433617502940e-07, -3.82903268972099070e-08, 7.65795277692489650e-09, -1.27628792882307610e-09, 1.82316123050208660e-10, -2.27868344282110090e-11,
+   1.400000e+01, 9.99999168471972340e-01, 8.31527336225271330e-07, -4.15762976674349830e-07, 1.38587197933167670e-07, -3.46465690045819890e-08, 6.92922160969115450e-09, -1.15483953800280790e-09, 1.64968296833256300e-10, -2.06188421188755080e-11,
+   1.410000e+01, 9.99999247602266880e-01, 7.52397167011296440e-07, -3.76198017403725340e-07, 1.25398961733719140e-07, -3.13495517333212480e-08, 6.26983486681250500e-09, -1.04494731794733730e-09, 1.49270999789335270e-10, -1.86570778668548890e-11,
+   1.420000e+01, 9.99999319202329100e-01, 6.80797207426378850e-07, -3.40398140228036230e-07, 1.13465737752892160e-07, -2.83662799435664040e-08, 5.67319419099261900e-09, -9.45511765996212160e-10, 1.35067223981535910e-10, -1.68819316474784270e-11,
+   1.430000e+01, 9.99999383988753320e-01, 6.16010867192104680e-07, -3.08005054126430060e-07, 1.02668098395962280e-07, -2.56668981094086800e-08, 5.13332902615417150e-09, -8.55537972502435670e-10, 1.22214891754338360e-10, -1.52756568269569580e-11,
+   1.440000e+01, 9.99999442609941450e-01, 5.57389747901928650e-07, -2.78694563267460070e-07, 9.28979806336570320e-08, -2.32243915974626420e-08, 4.64483689518981040e-09, -7.74125674469692400e-10, 1.10585436923242510e-10, -1.38221933357031860e-11,
+   1.450000e+01, 9.99999495652591830e-01, 5.04347153835143390e-07, -2.52173322551391810e-07, 8.40576046064723110e-08, -2.10143163630518180e-08, 4.20282935724158810e-09, -7.00460254446204730e-10, 1.00062520620668450e-10, -1.25070075785966340e-11,
+   1.460000e+01, 9.99999543647571490e-01, 4.56352220275225500e-07, -2.28175901880168750e-07, 7.60584951218552990e-08, -1.90145543614346250e-08, 3.80288310471801340e-09, -6.33804594951415360e-10, 9.05408690493893990e-11, -1.13169475058356990e-11,
+   1.470000e+01, 9.99999587075228960e-01, 4.12924600573522180e-07, -2.06462129779964910e-07, 6.88205962555279310e-08, -1.72050922283712700e-08, 3.44099571150165140e-09, -5.73491707208582470e-10, 8.19252215961030130e-11, -1.02401114150637630e-11,
+   1.480000e+01, 9.99999626370201570e-01, 3.73629658790020030e-07, -1.86814689795835930e-07, 6.22714701992147370e-08, -1.55678210168108540e-08, 3.11354559018851020e-09, -5.18918060651933660e-10, 7.41293788468815700e-11, -9.26572918904046500e-12,
+   1.490000e+01, 9.99999661925765950e-01, 3.38074119802057690e-07, -1.69036945606879720e-07, 5.63455723395658040e-08, -1.40863549868900440e-08, 2.81725575819483420e-09, -4.69537546646774780e-10, 6.70753410335421040e-11, -8.38405479444785790e-12,
+   1.500000e+01, 9.99999694097773120e-01, 3.05902133349452300e-07, -1.52950973098582340e-07, 5.09835953154601910e-08, -1.27458676368528910e-08, 2.54916105057859740e-09, -4.24856016172213160e-10, 6.06925283347279390e-11, -7.58626897755046640e-12,
+   1.510000e+01, 9.99999723208210730e-01, 2.76791712626669860e-07, -1.38395779699661530e-07, 4.61318754907927890e-08, -1.15329433348335780e-08, 2.30657845183041010e-09, -3.84426336931071180e-10, 5.49170752662939320e-11, -6.86439119237450490e-12,
+   1.520000e+01, 9.99999749548425520e-01, 2.50451511780763260e-07, -1.25225693164406170e-07, 4.17418559041674510e-08, -1.04354430674030120e-08, 2.08708025003213170e-09, -3.47843920526066450e-10, 4.96911921302037290e-11, -6.21119988774924510e-12,
+   1.530000e+01, 9.99999773382038600e-01, 2.26617910065157680e-07, -1.13308903676890040e-07, 3.77696003218491190e-08, -9.44238296191389390e-09, 1.88846974496866160e-09, -3.14742675026023120e-10, 4.49625871566244580e-11, -5.62016036179704430e-12,
+   1.540000e+01, 9.99999794947584510e-01, 2.05052373468196750e-07, -1.02526144687613890e-07, 3.41753535315569260e-08, -8.54382436740518010e-09, 1.70875926729129500e-09, -2.84791342487242120e-10, 4.06839435767306050e-11, -5.08535946704138450e-12,
+   1.550000e+01, 9.99999814460898140e-01, 1.85539067412074810e-07, -9.27694992812854920e-08, 3.09231434772669350e-08, -7.73077439440740950e-09, 1.54615028892062660e-09, -2.57690184834589790e-10, 3.68124464096959630e-11, -4.60144651691731410e-12,
+   1.560000e+01, 9.99999832117275170e-01, 1.67882696630342710e-07, -8.39413201305668000e-08, 2.79804212537906240e-08, -6.99509591858538340e-09, 1.39901542577429730e-09, -2.33167984982521050e-10, 3.33093542418082680e-11, -4.16357980575916520e-12,
+   1.570000e+01, 9.99999848093426350e-01, 1.51906550605678100e-07, -7.59532522272354270e-08, 2.53177353586795660e-08, -6.32942614780639910e-09, 1.26588215281746030e-09, -2.10979333222425560e-10, 3.01396117234032380e-11, -3.76737820988777190e-12,
+   1.580000e+01, 9.99999862549246110e-01, 1.37450735006717020e-07, -6.87253486106513630e-08, 2.29084369417482830e-08, -5.72710293787126690e-09, 1.14541806854910020e-09, -1.90902171750383300e-10, 2.72714989147432330e-11, -3.40887738775178280e-12,
+   1.590000e+01, 9.99999875629413060e-01, 1.24370571424198600e-07, -6.21852702440583400e-08, 2.07284131026607290e-08, -5.18209811965393330e-09, 1.03641756152715300e-09, -1.72735572787080440e-10, 2.46763139790698300e-11, -3.08449014268216460e-12,
+   1.600000e+01, 9.99999887464837920e-01, 1.12535149390932300e-07, -5.62675620313048730e-08, 1.87558455676622010e-08, -4.68895717053024010e-09, 9.37789745552565470e-10, -1.56297728074587390e-10, 2.23280860534098520e-11, -2.79097055313068040e-12,
+   1.610000e+01, 9.99999898173973390e-01, 1.01826016194119430e-07, -5.09129977285210830e-08, 1.69709923304823300e-08, -4.24274462644235940e-09, 8.48547542817657510e-10, -1.41424129646242390e-10, 2.02033154286029420e-11, -2.52538151268419670e-12,
+   1.620000e+01, 9.99999907864000170e-01, 9.21359913675753000e-08, -4.60679871947459620e-08, 1.53559900722216440e-08, -3.83899468837582570e-09, 7.67797805803683330e-10, -1.27965923676962550e-10, 1.82807384424077860e-11, -2.28506535603968290e-12,
+   1.630000e+01, 9.99999916631899020e-01, 8.33680939991463290e-08, -4.16840400493334860e-08, 1.38946753829519570e-08, -3.47366652899215460e-09, 6.94732379100357940e-10, -1.15788420950832340e-10, 1.65411147361098290e-11, -2.06761727781812690e-12,
+   1.640000e+01, 9.99999924565422190e-01, 7.54345721176905650e-08, -3.77172803684701810e-08, 1.25724229959070900e-08, -3.14310385218560890e-09, 6.28620011720849680e-10, -1.04769749048147460e-10, 1.49670347482546070e-11, -1.87086127889144730e-12,
+   1.650000e+01, 9.99999931743970950e-01, 6.82560244455773610e-08, -3.41280075639034880e-08, 1.13759994153780210e-08, -2.84399830088317200e-09, 5.68799038992244420e-10, -9.47996327706489370e-11, 1.35427455211542820e-11, -1.69282840006403590e-12,
+   1.660000e+01, 9.99999938239390480e-01, 6.17606057270576150e-08, -3.08802990491561490e-08, 1.02934304734705160e-08, -2.57335634691037160e-09, 5.14670760799277450e-10, -8.57782906056669390e-11, 1.22539930786762880e-11, -1.53173702573830780e-12,
+   1.670000e+01, 9.99999944116689240e-01, 5.58833076792934510e-08, -2.79416507167024730e-08, 9.31388149027149750e-09, -2.32846933158667510e-09, 4.65693449924934020e-10, -7.76154361900612390e-11, 1.10878797993319290e-11, -1.38597506082502580e-12,
+   1.680000e+01, 9.99999949434689060e-01, 5.05653083696535580e-08, -2.52826516279762380e-08, 8.42754883809184870e-09, -2.10688635723961050e-09, 4.21376930534639630e-10, -7.02293747847081970e-11, 1.00327353584759990e-11, -1.25408380283645340e-12,
+   1.690000e+01, 9.99999954246614360e-01, 4.57533835077131030e-08, -2.28766896604843540e-08, 7.62556182458008140e-09, -1.90638975835440750e-09, 3.81277672554679400e-10, -6.35461857204007500e-11, 9.07799994900577560e-12, -1.13474334800917420e-12,
+   1.700000e+01, 9.99999958600624520e-01, 4.13993737600350160e-08, -2.06996851661092910e-08, 6.89989391276435460e-09, -1.72497290688843790e-09, 3.44994352856659150e-10, -5.74989826357830220e-11, 8.21411861264436620e-12, -1.02675938560909540e-12,
+   1.710000e+01, 9.99999962540295880e-01, 3.74597027564935260e-08, -1.87298499750173800e-08, 6.24328238951959010e-09, -1.56082012963683560e-09, 3.12163838830165950e-10, -5.20272441059724400e-11, 7.43244562493773470e-12, -9.29051248425964030e-13,
+   1.720000e+01, 9.99999966105057920e-01, 3.38949409642348850e-08, -1.69474693332503790e-08, 5.64915567850545770e-09, -1.41228853667072560e-09, 2.82457554151907220e-10, -4.70762079645806580e-11, 6.72515797759035930e-12, -8.40641100005626450e-13,
+   1.730000e+01, 9.99999969330587990e-01, 3.06694110644097520e-08, -1.53347045915920700e-08, 5.11156757012218340e-09, -1.27789157899298040e-09, 2.55578190383583000e-10, -4.25963232589326220e-11, 6.08517709270804790e-12, -7.60644150518967430e-13,
+   1.740000e+01, 9.99999972249168370e-01, 2.77508308821900330e-08, -1.38754146709863800e-08, 4.62513771025639040e-09, -1.15628417086124560e-09, 2.31256731491117960e-10, -3.85427543548140800e-11, 5.50609798582152590e-12, -6.88259803440484810e-13,
+   1.750000e+01, 9.99999974890009020e-01, 2.51099902964165140e-08, -1.25549945176966280e-08, 4.18499775222447320e-09, -1.04624922788559510e-09, 2.09249761508916940e-10, -3.48749322287556890e-11, 4.98212516904363390e-12, -6.22763644507803410e-13,
+   1.760000e+01, 9.99999977279540600e-01, 2.27204588952999930e-08, -1.13602289314307310e-08, 3.78674263299741260e-09, -9.46685486176279800e-10, 1.89337028406031900e-10, -3.15561484579332660e-11, 4.50801465311386740e-12, -5.63500192849079330e-13,
+   1.770000e+01, 9.99999979441678180e-01, 2.05583214523152080e-08, -1.02791603035130130e-08, 3.42638648607461990e-09, -8.56596480637136030e-10, 1.71319239774823510e-10, -2.85531878449379760e-11, 4.07902146807789830e-12, -5.09876341781741150e-13,
+   1.780000e+01, 9.99999981398061120e-01, 1.86019385748511750e-08, -9.30096894139346290e-09, 3.10032274977641010e-09, -7.75080572100068920e-10, 1.55016068282403210e-10, -2.58359960011984590e-11, 3.69085217754266420e-12, -4.61355423678786930e-13,
+   1.790000e+01, 9.99999983168269550e-01, 1.68317301301231750e-08, -8.41586478175444280e-09, 2.80528807171338990e-09, -7.01321923492638810e-10, 1.40264346924246440e-10, -2.33773785626150360e-11, 3.33962191139516880e-12, -4.17451839537109420e-13,
+   1.800000e+01, 9.99999984770020500e-01, 1.52299792808080730e-08, -7.61498940845176490e-09, 2.53832964818240970e-09, -6.34582334728182720e-10, 1.26916436018670270e-10, -2.11527290274570720e-11, 3.02181548706907280e-12, -3.77726199527563320e-13,
+   1.810000e+01, 9.99999986219344610e-01, 1.37806551691327910e-08, -6.89032739465993630e-09, 2.29677567161567480e-09, -5.74193854601768850e-10, 1.14838745599494990e-10, -1.91397824929634930e-11, 2.73425223034198820e-12, -3.41780925915358260e-13,
+   1.820000e+01, 9.99999987530747370e-01, 1.24692524747864200e-08, -6.23462608191095050e-09, 2.07820859031547940e-09, -5.19552095751452490e-10, 1.03910398419324440e-10, -1.73183928262324930e-11, 2.47405414365580530e-12, -3.09256274362693850e-13,
+   1.830000e+01, 9.99999988717353630e-01, 1.12826462409003450e-08, -5.64132299315206480e-09, 1.88044091285195110e-09, -4.70110185780287060e-10, 9.40220201829777590e-11, -1.56703310394700660e-11, 2.23861710344074940e-12, -2.79826733809259210e-13,
+   1.840000e+01, 9.99999989791039430e-01, 1.02089605151518090e-08, -5.10448015335302930e-09, 1.70149331496909350e-09, -4.25373294001316050e-10, 8.50746449038807820e-11, -1.41791028518528920e-11, 2.02558479822844680e-12, -2.53197768912388570e-13,
+   1.850000e+01, 9.99999990762550420e-01, 9.23744949130964340e-09, -4.61872466032434790e-09, 1.53957482988780090e-09, -3.84893679028459880e-10, 7.69787244282962100e-11, -1.28297836122509570e-11, 1.83282514676019000e-12, -2.29102872454708450e-13,
+   1.860000e+01, 9.99999991641610020e-01, 8.35838996164923970e-09, -4.17919491096193710e-09, 1.39306492374552380e-09, -3.48266207648820590e-10, 6.96532322147402270e-11, -1.16088689307822070e-11, 1.65840896010956230e-12, -2.07300898227456780e-13,
+   1.870000e+01, 9.99999992437015980e-01, 7.56298400386765620e-09, -3.78149194473510020e-09, 1.26049727677921560e-09, -3.15124300128561930e-10, 6.30248523992157960e-11, -1.05041395243705370e-11, 1.50059063429142370e-12, -1.87573647703208950e-13,
+   1.880000e+01, 9.99999993156729050e-01, 6.84327092855724760e-09, -3.42163541744826620e-09, 1.14054510792918420e-09, -2.85136261372177340e-10, 5.70272460303881300e-11, -9.50453892371564860e-12, 1.35779068014539740e-12, -1.69723686350405390e-13,
+   1.890000e+01, 9.99999993807952350e-01, 6.19204760598108620e-09, -3.09602376464908920e-09, 1.03200789598872740e-09, -2.58001961216697570e-10, 5.16003871311458980e-11, -8.60006281779316590e-12, 1.22857991566633670e-12, -1.53572367739414650e-13,
+   1.900000e+01, 9.99999994397203550e-01, 5.60279637475461250e-09, -2.80139815598597900e-09, 9.33799364401108190e-10, -2.33449830636501440e-10, 4.66899619417901430e-11, -7.78165892846167970e-12, 1.11166516258882510e-12, -1.38958045668612940e-13,
+   1.910000e+01, 9.99999994930380160e-01, 5.06961981092019570e-09, -2.53480987975905280e-09, 8.44936609452320900e-10, -2.11234143796065330e-10, 4.22468253324071740e-11, -7.04113641313259240e-12, 1.00587630408506780e-12, -1.25734456420026820e-13,
+   1.920000e+01, 9.99999995412818250e-01, 4.58718170456303600e-09, -2.29359083123928190e-09, 7.64530263051603250e-10, -1.91132558748822240e-10, 3.82265089441330630e-11, -6.37108388881173700e-12, 9.10154574055845760e-13, -1.13769254956240810e-13,
+   1.930000e+01, 9.99999995849346290e-01, 4.15065365324235680e-09, -2.07532680939325240e-09, 6.91775591645800390e-10, -1.72943892168808220e-10, 3.45887761367049390e-11, -5.76479525709860340e-12, 8.23541960818220710e-13, -1.02942690410456670e-13,
+   1.940000e+01, 9.99999996244333220e-01, 3.75566673772821010e-09, -1.87783335475907260e-09, 6.25944442183002370e-10, -1.56486105844073100e-10, 3.12972192881436440e-11, -5.21620258780029460e-12, 7.45171619145671900e-13, -9.31464076153326440e-14,
+   1.950000e+01, 9.99999996601732220e-01, 3.39826779639862290e-09, -1.69913388665108740e-09, 5.66377954518213050e-10, -1.41594484780145320e-10, 2.83188954162658910e-11, -4.71981538945660100e-12, 6.74259194706837880e-13, -8.42823626773298690e-14,
+   1.960000e+01, 9.99999996925120090e-01, 3.07487986067683370e-09, -1.53743992088353070e-09, 5.12479967324586100e-10, -1.28119988679517820e-10, 2.56239964752521010e-11, -4.27066565899153560e-12, 6.10094974079608410e-13, -7.62618417444422280e-14,
+   1.970000e+01, 9.99999997217733580e-01, 2.78226635553385050e-09, -1.39113317002591930e-09, 4.63711051514635650e-10, -1.15927760298323590e-10, 2.31855510275305900e-11, -3.86425816054372880e-12, 5.52036781779190810e-13, -6.90045731477784620e-14,
+   1.980000e+01, 9.99999997482501230e-01, 2.51749870676266970e-09, -1.25874934704353510e-09, 4.19583111455978510e-10, -1.04895775751394730e-10, 2.09791543052389950e-11, -3.49652543585985230e-12, 4.99503553214271660e-13, -6.24379240317863160e-14,
+   1.990000e+01, 9.99999997722072930e-01, 2.27792703082745150e-09, -1.13896351022477420e-09, 3.79654499948956970e-10, -9.49136232575887370e-11, 1.89827239596575490e-11, -3.16378709598952840e-12, 4.51969519249915690e-13, -5.64961734333785040e-14,
+   2.000000e+01, 9.99999997938846420e-01, 2.06115361394184920e-09, -1.03057680272257050e-09, 3.43525598075287350e-10, -8.58813981027037640e-11, 1.71762790540935310e-11, -2.86271298686651670e-12, 4.08958944176434980e-13, -5.11198545352164150e-14,
+   2.010000e+01, 9.99999998134991070e-01, 1.86500891494625040e-09, -9.32504453994866920e-10, 3.10834815679450130e-10, -7.77087027604431210e-11, 1.55417400883208640e-11, -2.59028986013089150e-12, 3.70041364421770110e-13, -4.62551595106321980e-14,
+   2.020000e+01, 9.99999998312470110e-01, 1.68752985181301180e-09, -8.43764923058748870e-10, 2.81254972454411600e-10, -7.03137421643505800e-11, 1.40627480531691870e-11, -2.34379121562788890e-12, 3.34827280356277340e-13, -4.18534010040367140e-14,
+   2.030000e+01, 9.99999998473059870e-01, 1.52694015446351060e-09, -7.63470074900209110e-10, 2.54490023412372220e-10, -6.36225050759109730e-11, 1.27245007043093660e-11, -2.12075001376061900e-12, 3.02964258073152960e-13, -3.78705248574103820e-14,
+   2.040000e+01, 9.99999998618367410e-01, 1.38163258726171380e-09, -6.90816291721948200e-10, 2.30272095968043680e-10, -5.75680233557080490e-11, 1.15136044166204650e-11, -1.91893398459636310e-12, 2.74133402130800350e-13, -3.42666692063229750e-14,
+   2.050000e+01, 9.99999998749847130e-01, 1.25015286326097820e-09, -6.25076430067606910e-10, 2.08358808980614170e-10, -5.20897017241928200e-11, 1.04179401364542740e-11, -1.73632328661428310e-12, 2.48046163955918000e-13, -3.10057655329591960e-14,
+   2.060000e+01, 9.99999998868814850e-01, 1.13118508921247310e-09, -5.65592543326656920e-10, 1.88530846922499150e-10, -4.71327113040982220e-11, 9.42654209020901760e-12, -1.57109029149796130e-12, 2.24441453965363630e-13, -2.80551776835127940e-14,
+   2.070000e+01, 9.99999998976461410e-01, 1.02353859566414990e-09, -5.11769296784443690e-10, 1.70589764896393730e-10, -4.26474408748880140e-11, 8.52948803529343670e-12, -1.42158129265418420e-12, 2.03083028504486790e-13, -2.53853752372474360e-14,
+   2.080000e+01, 9.99999999073863940e-01, 9.26136020341316250e-10, -4.63068009312930200e-10, 1.54356002532491450e-10, -3.85890003472135510e-11, 7.71779995507898760e-12, -1.28629995439192380e-12, 1.83757125449920370e-13, -2.29696379582943160e-14,
+   2.090000e+01, 9.99999999161997440e-01, 8.38002525543446580e-10, -4.19001262069475020e-10, 1.39667086888326170e-10, -3.49167714879988000e-11, 6.98335420396666360e-12, -1.16389233611674490e-12, 1.66270324813525820e-13, -2.07837883723313160e-14,
+   2.100000e+01, 9.99999999241743990e-01, 7.58256041641286250e-10, -3.79128020245690870e-10, 1.26376006365262140e-10, -3.15940013996647920e-11, 6.31880020327266280e-12, -1.05313334165867850e-12, 1.50447612935973550e-13, -1.88059497917515770e-14,
+   2.110000e+01, 9.99999999313901600e-01, 6.86098439027881960e-10, -3.43049219043209910e-10, 1.14349739367249250e-10, -2.85874346849019580e-11, 5.71748687421624950e-12, -9.52914458114660960e-13, 1.36130630895985690e-13, -1.70163273676139010e-14,
+   2.120000e+01, 9.99999999379192480e-01, 6.20807540169556160e-10, -3.10403769699376070e-10, 1.03467922976190680e-10, -2.58669806155803370e-11, 5.17339607172913470e-12, -8.62232661492544680e-13, 1.23176089604941330e-13, -1.53970099771192710e-14,
+   2.130000e+01, 9.99999999438270120e-01, 5.61729891810647090e-10, -2.80864945589783040e-10, 9.36216483195673650e-11, -2.34054119747116840e-11, 4.68108235287027450e-12, -7.80180378121024880e-13, 1.11454335724711900e-13, -1.39317909638732220e-14,
+   2.140000e+01, 9.99999999491725800e-01, 5.08274224993904350e-10, -2.54137112238609450e-10, 8.47123705739746900e-11, -2.11780925573794440e-11, 4.23561847703019730e-12, -7.05936401356469130e-13, 1.00848054056096410e-13, -1.26060059368765470e-14,
+   2.150000e+01, 9.99999999540094440e-01, 4.59905537442205450e-10, -2.29952768509589620e-10, 7.66509226955211350e-11, -1.91627306033759160e-11, 3.83254609247343600e-12, -6.38757672678323810e-13, 9.12510934110227360e-14, -1.14063860049076810e-14,
+   2.160000e+01, 9.99999999583860210e-01, 4.16139739076070330e-10, -2.08069869364862890e-10, 6.93566230061727730e-11, -1.73391556938190990e-11, 3.46783111567418200e-12, -5.77971844915817840e-13, 8.25674042175323160e-14, -1.03209249774382680e-14,
+   2.170000e+01, 9.99999999623461200e-01, 3.76538807077571410e-10, -1.88269403397004230e-10, 6.27564677044804220e-11, -1.56891168788596160e-11, 3.13782335686772680e-12, -5.22970553176555670e-13, 7.47100772248225910e-14, -9.33875920300291470e-15,
+   2.180000e+01, 9.99999999659293650e-01, 3.40706402010826230e-10, -1.70353200889332250e-10, 5.67844002190568430e-11, -1.41961000160705930e-11, 2.83921998773667190e-12, -4.73203326130296410e-13, 6.76004736874283440e-14, -8.45005884241790450e-15,
+   2.190000e+01, 9.99999999691716050e-01, 3.08283901123787880e-10, -1.54141950466854970e-10, 5.13806500922590160e-11, -1.28451624913850980e-11, 2.56903248560515810e-12, -4.28172076710239100e-13, 6.11674383231901790e-14, -7.64592948868777890e-15,
+   2.200000e+01, 9.99999999721053250e-01, 2.78946809131269810e-10, -1.39473404487823600e-10, 4.64911347774003090e-11, -1.16227836684129700e-11, 2.32455672330775130e-12, -3.87426117093010900e-13, 5.53465871680641350e-14, -6.91832314898794850e-15,
+   2.210000e+01, 9.99999999747598460e-01, 2.52401510557107620e-10, -1.26200755214847310e-10, 4.20669183624780810e-11, -1.05167295693840130e-11, 2.10334590538259950e-12, -3.50557648065698950e-13, 5.00796632004138530e-14, -6.25995769780880440e-15,
+   2.220000e+01, 9.99999999771617690e-01, 2.28382331131840030e-10, -1.14191165513761530e-10, 3.80637218031481840e-11, -9.51593043340088230e-12, 1.90318607972571140e-12, -3.17197677636130170e-13, 4.53139532856885770e-14, -5.66424399512856770e-15,
+   2.230000e+01, 9.99999999793351080e-01, 2.06648878835349790e-10, -1.03324439374971130e-10, 3.44414797631878660e-11, -8.61036992656238030e-12, 1.72207397961864170e-12, -2.87012328038495440e-13, 4.10017606060865360e-14, -5.12521994019332860e-15,
+   2.240000e+01, 9.99999999813016350e-01, 1.86983637972757640e-10, -9.34918189514159360e-11, 3.11639396271633880e-11, -7.79098489513655400e-12, 1.55819697436559350e-12, -2.59699494173693080e-13, 3.70999272951259230e-14, -4.63749080089746830e-15,
+   2.250000e+01, 9.99999999830810230e-01, 1.69189792204262680e-10, -8.45948960735061490e-11, 2.81982986720852590e-11, -7.04957465847958610e-12, 1.40991492787922590e-12, -2.34985820040973830e-13, 3.35694024995018370e-14, -4.19617522156412460e-15,
+   2.260000e+01, 9.99999999846910790e-01, 1.53089254741075000e-10, -7.65446273471011700e-11, 2.55148757667428430e-11, -6.37871893387360370e-12, 1.27574378364987830e-12, -2.12623962900032170e-13, 3.03748515452576770e-14, -3.79685636875619410e-15,
+   2.270000e+01, 9.99999999861479140e-01, 1.38520885992999430e-10, -6.92604429773116690e-11, 2.30868143129785320e-11, -5.77170357184862140e-12, 1.15434071181131950e-12, -1.92390117782418320e-13, 2.74843022966878780e-14, -3.43553772617158530e-15,
+   2.280000e+01, 9.99999999874661150e-01, 1.25338880829263350e-10, -6.26694403989218490e-11, 2.08898134558340590e-11, -5.22245335872190240e-12, 1.04449066964973590e-12, -1.74081777576741110e-13, 2.48688251686159030e-14, -3.10860309620449580e-15,
+   2.290000e+01, 9.99999999886588720e-01, 1.13411309311772790e-10, -5.67056546430242640e-11, 1.89018848724333370e-11, -4.72547121382095930e-12, 9.45094241049241960e-13, -1.57515706269890320e-13, 2.25022435895129010e-14, -2.81278040785696970e-15,
+   2.300000e+01, 9.99999999897381200e-01, 1.02618796295957670e-10, -5.13093981374482180e-11, 1.71031327054623260e-11, -4.27578317285537590e-12, 8.55156633166992920e-13, -1.42526105059804710e-13, 2.03608720176785480e-14, -2.54510896877928730e-15,
+   2.310000e+01, 9.99999999907146720e-01, 9.28533266842058060e-11, -4.64266633334811670e-11, 1.54755544387458930e-11, -3.86888860681256030e-12, 7.73777720212946720e-13, -1.28962952985636000e-13, 1.84232788884655840e-14, -2.30290983368759400e-15,
+   2.320000e+01, 9.99999999915982870e-01, 8.40171643744709210e-11, -4.20085821801765730e-11, 1.40028607220196020e-11, -3.50071517815193910e-12, 7.00143034689203340e-13, -1.16690505467805710e-13, 1.66700721200499090e-14, -2.08375899259708350e-15,
+   2.330000e+01, 9.99999999923978140e-01, 7.60218740845145900e-11, -3.80109370364779650e-11, 1.26703123416397720e-11, -3.16757808348350120e-12, 6.33515615926123530e-13, -1.05585935730828360e-13, 1.50837050310157920e-14, -1.88546311052990970e-15,
+   2.340000e+01, 9.99999999931212580e-01, 6.87874362618821850e-11, -3.43937181262093800e-11, 1.14645727055819860e-11, -2.86614317481825930e-12, 5.73228634332757030e-13, -9.55381055118278960e-14, 1.36483007273187600e-14, -1.70603757589353910e-15,
+   2.350000e+01, 9.99999999937758570e-01, 6.22414462213298320e-11, -3.11207231067909190e-11, 1.03735743663476410e-11, -2.59339359029557740e-12, 5.18678717542582510e-13, -8.64464527515860870e-14, 1.23494932010329620e-14, -1.54368663783071520e-15,
+   2.360000e+01, 9.99999999943681610e-01, 5.63183894943992020e-11, -2.81591947440278380e-11, 9.38639824589477160e-12, -2.34659956041643930e-12, 4.69319911660386450e-13, -7.82199851357639110e-14, 1.11742835505470860e-14, -1.39678543374930320e-15,
+   2.370000e+01, 9.99999999949040990e-01, 5.09589861386018280e-11, -2.54794930667040940e-11, 8.49316435383681970e-12, -2.12329108759359880e-12, 4.24658217172477320e-13, -7.07763694133320710e-14, 1.01109098832148270e-14, -1.26386372715798570e-15,
+   2.380000e+01, 9.99999999953890440e-01, 4.61095974438298670e-11, -2.30547987197888400e-11, 7.68493290517888300e-12, -1.92123322558602250e-12, 3.84246644833725180e-13, -6.40411073777944180e-14, 9.14872959840117060e-15, -1.14359119305063860e-15,
+   2.390000e+01, 9.99999999958278260e-01, 4.17216890981185860e-11, -2.08608445473185910e-11, 6.95361484794573110e-12, -1.73840371140619950e-12, 3.47680742049146680e-13, -5.79467902641600380e-14, 8.27811287277588580e-15, -1.03476410357095610e-15,
+   2.400000e+01, 9.99999999962248640e-01, 3.77513454399406490e-11, -1.88756727185451600e-11, 6.29189090523161070e-12, -1.57297272583284800e-12, 3.14594544976547720e-13, -5.24324240994173280e-14, 7.49034628181943890e-15, -9.36293280703099570e-16,
+   2.410000e+01, 9.99999999965841210e-01, 3.41588299355048740e-11, -1.70794149665856120e-11, 5.69313832141732000e-12, -1.42328457996538810e-12, 2.84656915837500860e-13, -4.74428192543912290e-14, 6.77754559295334130e-15, -8.47193195414959260e-16,
+   2.420000e+01, 9.99999999969091840e-01, 3.09081874821725750e-11, -1.54540937401309710e-11, 5.15136457940677950e-12, -1.28784114453325620e-12, 2.57568228779275750e-13, -4.29280380874208080e-14, 6.13257685750054600e-15, -7.66572104154818930e-16,
+   2.430000e+01, 9.99999999972033150e-01, 2.79668845577048780e-11, -1.39834422780702910e-11, 4.66114742550199920e-12, -1.16528685611478420e-12, 2.33057371118670670e-13, -3.88428951516830370e-14, 5.54898501173698450e-15, -6.93623123984117890e-16,
+   2.440000e+01, 9.99999999974694460e-01, 2.53054836138380930e-11, -1.26527418062786780e-11, 4.21758060166598080e-12, -1.05439515020303940e-12, 2.10879029955225560e-13, -3.51465049640768190e-14, 5.02092927245075130e-15, -6.27616157023431210e-16,
+   2.450000e+01, 9.99999999977102650e-01, 2.28973484554069520e-11, -1.14486742271791870e-11, 3.81622474204353670e-12, -9.54056185336121260e-13, 1.90811236997319130e-13, -3.18018728095848100e-14, 4.54312468042591100e-15, -5.67890583388830820e-16,
+   2.460000e+01, 9.99999999979281570e-01, 2.07183776563503520e-11, -1.03591888277459260e-11, 3.45306294229580770e-12, -8.63265735430868160e-13, 1.72653147028940160e-13, -2.87755244857455290e-14, 4.11078920679855240e-15, -5.13848649487116960e-16,
+   2.470000e+01, 9.99999999981253220e-01, 1.87467633445398620e-11, -9.37338167191849080e-12, 3.12446055707186930e-12, -7.81115139150820290e-13, 1.56223027783305240e-13, -2.60371712815979360e-14, 3.71959589290838880e-15, -4.64949485497862530e-16,
+   2.480000e+01, 9.99999999983037240e-01, 1.69627729412651200e-11, -8.48138647034482390e-12, 2.82712882325645110e-12, -7.06782205718200820e-13, 1.41356441105275410e-13, -2.35594068380909870e-14, 3.36562954464492610e-15, -4.20703692167169170e-16,
+   2.490000e+01, 9.99999999984651500e-01, 1.53485516709541000e-11, -7.67427583524147330e-12, 2.55809194492343870e-12, -6.39522986152333650e-13, 1.27904597199056330e-13, -2.13174328560392550e-14, 3.04534754787128340e-15, -3.80668442736043620e-16,
+   2.500000e+01, 9.99999999986112110e-01, 1.38879438645782700e-11, -6.94397193209626070e-12, 2.31465731057017010e-12, -5.78664327578250840e-13, 1.15732865489933500e-13, -1.92888109064166970e-14, 2.75554441275317920e-15, -3.44443050981845840e-16,
+   2.510000e+01, 9.99999999987433720e-01, 1.25663312682865470e-11, -6.28316563398536010e-12, 2.09438854455651170e-12, -5.23597136086490280e-13, 1.04719427196243050e-13, -1.74532378590221670e-14, 2.49331969214078320e-15, -3.11664961016287790e-16,
+   2.520000e+01, 9.99999999988629540e-01, 1.13704867390081220e-11, -5.68524336937477280e-12, 1.89508112303873240e-12, -4.73770280716587120e-13, 9.47540561260790210e-14, -1.57923426819337060e-14, 2.25604895292020590e-15, -2.82006118704587770e-16,
+   2.530000e+01, 9.99999999989711560e-01, 1.02884418627584790e-11, -5.14422093127338680e-12, 1.71474031035389420e-12, -4.28685077553189540e-13, 8.57370154965243110e-14, -1.42895025780495160e-14, 2.04135750980577790e-15, -2.55169688389684050e-16,
+   2.540000e+01, 9.99999999990690670e-01, 9.30936717072967560e-12, -4.65468358527817370e-12, 1.55156119503494810e-12, -3.87890298729848920e-13, 7.75780597344145440e-14, -1.29296766185506780e-14, 1.84709665869245460e-15, -2.30887082061432010e-16,
+   2.550000e+01, 9.99999999991576520e-01, 8.42346375432673730e-12, -4.21173187709241450e-12, 1.40391062565016820e-12, -3.50977656388890460e-13, 7.01955312683174650e-14, -1.16992552082327010e-14, 1.67132217170365880e-15, -2.08915271237704210e-16,
+   2.560000e+01, 9.99999999992378100e-01, 7.62186519439670540e-12, -3.81093259714025940e-12, 1.27031086567469130e-12, -3.17577716399308540e-13, 6.35155432721159960e-14, -1.05859238761040960e-14, 1.51227483870575570e-15, -1.89034354653797760e-16,
+   2.570000e+01, 9.99999999993103410e-01, 6.89654882312605530e-12, -3.44827441151546520e-12, 1.14942480380678020e-12, -2.87356200935840890e-13, 5.74712401808265320e-14, -9.57854002802387150e-15, 1.36836286054230050e-15, -1.71045357416795870e-16,
+   2.580000e+01, 9.99999999993759770e-01, 6.24025543048449800e-12, -3.12012771520330850e-12, 1.04004257170847540e-12, -2.60010642914138620e-13, 5.20021285776356180e-14, -8.66702142787523540e-15, 1.23814591777340460e-15, -1.54768239598054020e-16,
+   2.590000e+01, 9.99999999994353630e-01, 5.64641661161116710e-12, -2.82320830577370160e-12, 9.41069435236645860e-13, -2.35267358798534080e-13, 4.70534717554558880e-14, -7.84224529115900320e-15, 1.12032075547500640e-15, -1.40040094333163040e-16,
+   2.600000e+01, 9.99999999994890860e-01, 5.10908902801111980e-12, -2.55454451397945690e-12, 8.51514837975750460e-13, -2.12878709485236670e-13, 4.25757418935669650e-14, -7.09595698110103680e-15, 1.01370813982582700e-15, -1.26713517395362360e-16,
+   2.610000e+01, 9.99999999995377140e-01, 4.62289492462592040e-12, -2.31144746229158880e-12, 7.70482487416282180e-13, -1.92620621846946820e-13, 3.85241243665398760e-14, -6.42068739347348420e-15, 9.17241055939117900e-16, -1.14655131924544790e-16,
+   2.620000e+01, 9.99999999995817010e-01, 4.18296830745373390e-12, -2.09148415370936970e-12, 6.97161384558125010e-13, -1.74290346133698860e-13, 3.48580692244068100e-14, -5.80967820329014760e-15, 8.29954028819262650e-16, -1.03744253546861090e-16,
+   2.630000e+01, 9.99999999996215140e-01, 3.78490624304569280e-12, -1.89245312150852060e-12, 6.30817707159956550e-13, -1.57704426785213970e-13, 3.15408853551327240e-14, -5.25681422521876490e-15, 7.50973460563626540e-16, -9.38716825249754870e-17,
+   2.640000e+01, 9.99999999996575300e-01, 3.42472479246811050e-12, -1.71236239622232650e-12, 5.70787465399622950e-13, -1.42696866345996170e-13, 2.85393732676354040e-14, -4.75656221075129030e-15, 6.79508887101247850e-16, -8.49386108504218940e-17,
+   2.650000e+01, 9.99999999996901150e-01, 3.09881913870262030e-12, -1.54940956934170750e-12, 5.16469856440834000e-13, -1.29117464107007590e-13, 2.58234928201211660e-14, -4.30391546959340840e-15, 6.14845066962833870e-16, -7.68556333398695290e-17,
+   2.660000e+01, 9.99999999997196020e-01, 2.80392750842574440e-12, -1.40196375420501020e-12, 4.67321251396428690e-13, -1.16830312846486510e-13, 2.33660625682490340e-14, -3.89434376102541680e-15, 5.56334822903795940e-16, -6.95418528380157220e-17,
+   2.670000e+01, 9.99999999997462920e-01, 2.53709852708530230e-12, -1.26854926353621420e-12, 4.22849754507780140e-13, -1.05712438624799420e-13, 2.11424877241016340e-14, -3.52374795373085620e-15, 5.03392564736955720e-16, -6.29240705716849610e-17,
+   2.680000e+01, 9.99999999997704390e-01, 2.29566168055180610e-12, -1.14783084027063300e-12, 3.82610280086697580e-13, -9.56525700199177090e-14, 1.91305140032808680e-14, -3.18841900031258660e-15, 4.55488428549162340e-16, -5.69360535519149340e-17,
+   2.690000e+01, 9.99999999997922770e-01, 2.07720058771549270e-12, -1.03860029385343170e-12, 3.46200097948267330e-13, -8.65500244856285820e-14, 1.73100048965504150e-14, -2.88500081589996880e-15, 4.12142973645204890e-16, -5.15178716919529540e-17,
+   2.700000e+01, 9.99999999998120500e-01, 1.87952881653201790e-12, -9.39764408262476450e-13, 3.13254802751803660e-13, -7.83137006867733800e-14, 1.56627401368836600e-14, -2.61045668932360430e-15, 3.72922384144227540e-16, -4.66152980068137490e-17,
+   2.710000e+01, 9.99999999998299360e-01, 1.70066800147561990e-12, -8.50334000734917720e-13, 2.83444666909711020e-13, -7.08611667264636660e-14, 1.41722333449070980e-14, -2.36203889068930450e-15, 3.37434127204601900e-16, -4.21792658913934270e-17,
+   2.720000e+01, 9.99999999998461120e-01, 1.53882804339207140e-12, -7.69414021693667660e-13, 2.56471340562977240e-13, -6.41178351399549690e-14, 1.28235670276752620e-14, -2.13726117117396640e-15, 3.05323024423354020e-16, -3.81653780454018200e-17,
+   2.730000e+01, 9.99999999998607560e-01, 1.39238919358461520e-12, -6.96194596790368790e-13, 2.32064865595497110e-13, -5.80162163982280180e-14, 1.16032432793871060e-14, -1.93387387981168440e-15, 2.76267697091335900e-16, -3.45334621302622340e-17,
+   2.740000e+01, 9.99999999998740120e-01, 1.25988584282460730e-12, -6.29942921410716320e-13, 2.09980973802513880e-13, -5.24952434500993650e-14, 1.04990486898082330e-14, -1.74984144823082500e-15, 2.49977349727104320e-16, -3.12471687108489570e-17,
+   2.750000e+01, 9.99999999998860020e-01, 1.13999185304175630e-12, -5.69995926519578510e-13, 1.89998642172326450e-13, -4.74996605426484150e-14, 9.49993210835640690e-15, -1.58332201800164190e-15, 2.26188859698017630e-16, -2.82736074581265470e-17,
+   2.760000e+01, 9.99999999998968490e-01, 1.03150728488855420e-12, -5.15753642443213040e-13, 1.71917880813695000e-13, -4.29794702030690830e-14, 8.59589404047194890e-15, -1.43264900669803580e-15, 2.04664143800493900e-16, -2.55830179716839340e-17,
+   2.770000e+01, 9.99999999999066640e-01, 9.33346388344024310e-13, -4.66673194171140950e-13, 1.55557731389799560e-13, -3.88894328471595120e-14, 7.77788656931575120e-15, -1.29631442818057490e-15, 1.85187775443305800e-16, -2.31484719276477160e-17,
+   2.780000e+01, 9.99999999999155450e-01, 8.44526736162543640e-13, -4.22263368080558590e-13, 1.40754456026377370e-13, -3.51886140063566000e-14, 7.03772280117622370e-15, -1.17295380016433840e-15, 1.67564828585848670e-16, -2.09456035709668770e-17,
+   2.790000e+01, 9.99999999999235830e-01, 7.64159391411773770e-13, -3.82079695705302950e-13, 1.27359898568045010e-13, -3.18399746418166060e-14, 6.36799492828546310e-15, -1.06133248802162440e-15, 1.51618926852816940e-16, -1.89523658547483410e-17,
+   2.800000e+01, 9.99999999999308550e-01, 6.91440010693064080e-13, -3.45720005346053980e-13, 1.15240001781699250e-13, -2.88100004452654500e-14, 5.76200008898934550e-15, -9.60333348143642610e-16, 1.37190478300163660e-16, -1.71488097860027170e-17,
+   2.810000e+01, 9.99999999999374390e-01, 6.25640794002349870e-13, -3.12820397000783510e-13, 1.04273465666666880e-13, -2.60683664165362450e-14, 5.21367328325505900e-15, -8.68945547191779780e-16, 1.24135078165283750e-16, -1.55168847694178470e-17,
+   2.820000e+01, 9.99999999999433900e-01, 5.66103200663120480e-13, -2.83051600331239800e-13, 9.43505334435329370e-14, -2.35876333607764100e-14, 4.71752667211255270e-15, -7.86254445337848910e-16, 1.12322063615623210e-16, -1.40402579509355260e-17,
+   2.830000e+01, 9.99999999999487740e-01, 5.12231358429965140e-13, -2.56115679214720190e-13, 8.53718930713984750e-14, -2.13429732677621560e-14, 4.26859465351744730e-15, -7.11432442241246580e-16, 1.01633206031131970e-16, -1.27041507530585410e-17,
+   2.840000e+01, 9.99999999999536480e-01, 4.63486099798866320e-13, -2.31743049899218340e-13, 7.72476832995962260e-14, -1.93119208248274500e-14, 3.86238416493684800e-15, -6.43730694146593790e-16, 9.19615277324998190e-17, -1.14951909658805120e-17,
+   2.850000e+01, 9.99999999999580670e-01, 4.19379565837602710e-13, -2.09689782918625460e-13, 6.98965943060912380e-14, -1.74741485764641810e-14, 3.49482971526938580e-15, -5.82471619203747550e-16, 8.32102313125876770e-17, -1.04012789135151130e-17,
+   2.860000e+01, 9.99999999999620530e-01, 3.79470323529567900e-13, -1.89735161764639940e-13, 6.32450539214506480e-14, -1.58112634803146610e-14, 3.16225269604373280e-15, -5.27042116000888960e-16, 7.52917308554413040e-17, -9.41146635647302730e-18,
+   2.870000e+01, 9.99999999999656610e-01, 3.43358947763788770e-13, -1.71679473881776470e-13, 5.72264912938468950e-14, -1.43066228234224260e-14, 2.86132456466876570e-15, -4.76887427439554530e-16, 6.81267753470107030e-17, -8.51584691800206660e-18,
+   2.880000e+01, 9.99999999999689360e-01, 3.10684023754150380e-13, -1.55342011876978680e-13, 5.17806706255952050e-14, -1.29451676563666270e-14, 2.58903353126045530e-15, -4.31505588539119280e-16, 6.16436555043627530e-17, -7.70545693773891780e-18,
+   2.890000e+01, 9.99999999999718890e-01, 2.81118529878744400e-13, -1.40559264939293190e-13, 4.68530883130450390e-14, -1.17132720782349170e-14, 2.34265441563644660e-15, -3.90442402602562120e-16, 5.57774860850767700e-17, -6.97218576038371540e-18,
+   2.900000e+01, 9.99999999999745650e-01, 2.54366564737562880e-13, -1.27183282368716740e-13, 4.23944274561957760e-14, -1.05986068640273770e-14, 2.11972137279684820e-15, -3.53286895463265750e-16, 5.04695564939306290e-17, -6.30869456153592520e-18,
+   2.910000e+01, 9.99999999999769850e-01, 2.30160385671822320e-13, -1.15080192835858200e-13, 3.83600642785840840e-14, -9.59001606962836320e-15, 1.91800321391860960e-15, -3.19667202317413840e-16, 4.56667431875292930e-17, -5.70834289827299170e-18,
+   2.920000e+01, 9.99999999999791720e-01, 2.08257729105462710e-13, -1.04128864552687990e-13, 3.47096215175337460e-14, -8.67740537936897830e-15, 1.73548107586801300e-15, -2.89246845976074600e-16, 4.13209779960313320e-17, -5.16512224936623100e-18,
+   2.930000e+01, 9.99999999999811600e-01, 1.88439385889827740e-13, -9.42196929448783500e-14, 3.14065643149357740e-14, -7.85164107872210740e-15, 1.57032821573968700e-15, -2.61721369288369650e-16, 3.73887670407447510e-17, -4.67359587998036610e-18,
+   2.940000e+01, 9.99999999999829470e-01, 1.70507007384838220e-13, -8.52535036923900290e-14, 2.84178345641106270e-14, -7.10445864101796640e-15, 1.42089172819971680e-15, -2.36815288031994070e-16, 3.38307554327728270e-17, -4.22884442900430890e-18,
+   2.950000e+01, 9.99999999999845680e-01, 1.54281120319141160e-13, -7.71405601595467770e-14, 2.57135200531663900e-14, -6.42838001328366320e-15, 1.28567600265355900e-15, -2.14279333774535300e-16, 3.06113333960599290e-17, -3.82641667443192610e-18,
+   2.960000e+01, 9.99999999999860440e-01, 1.39599330561269830e-13, -6.97996652806154250e-14, 2.32665550935254810e-14, -5.81663877337487480e-15, 1.16332775467237650e-15, -1.93887959111196630e-16, 2.76982798727806240e-17, -3.46228498403571140e-18,
+   2.970000e+01, 9.99999999999873660e-01, 1.26314697824611900e-13, -6.31573489122899990e-14, 2.10524496374193610e-14, -5.26311240934952190e-15, 1.05262248186777700e-15, -1.75437080310587040e-16, 2.50624400441669680e-17, -3.13280500547021870e-18,
+   2.980000e+01, 9.99999999999885760e-01, 1.14294265039617650e-13, -5.71471325197957610e-14, 1.90490441732565420e-14, -4.76226104330978190e-15, 9.52452208660214540e-16, -1.58742034776121860e-16, 2.26774335392800970e-17, -2.83467919236854260e-18,
+   2.990000e+01, 9.99999999999896530e-01, 1.03417727674766650e-13, -5.17088638373726360e-14, 1.72362879457837450e-14, -4.30907198644237150e-15, 8.61814397287048370e-16, -1.43635732880699370e-16, 2.05193904113926700e-17, -2.56492380139013070e-18,
+   3.000000e+01, 9.99999999999906410e-01, 9.35762296883842290e-14, -4.67881148441833610e-14, 1.55960382813886140e-14, -3.89900957034423470e-15, 7.79801914067679530e-16, -1.29966985677557410e-16, 1.85667122395398650e-17, -2.32083902991468430e-18,
+   3.010000e+01, 9.99999999999915290e-01, 8.46712740607782790e-14, -4.23356370303819700e-14, 1.41118790101225430e-14, -3.52796975252824600e-15, 7.05593950504693360e-16, -1.17598991750463600e-16, 1.67998559642609060e-17, -2.09998199550985370e-18,
+   3.020000e+01, 9.99999999999923390e-01, 7.66137370029714090e-14, -3.83068685014798350e-14, 1.27689561671560310e-14, -3.19223904178705130e-15, 6.38447808356627660e-16, -1.06407968059177070e-16, 1.52011382940936180e-17, -1.90014228674306770e-18,
+   3.030000e+01, 9.99999999999930720e-01, 6.93229759758561190e-14, -3.46614879879232510e-14, 1.15538293293045450e-14, -2.88845733232453450e-15, 5.77691466464266220e-16, -9.62819110771641100e-17, 1.37545587252481340e-17, -1.71931984064076160e-18,
+   3.040000e+01, 9.99999999999937270e-01, 6.27260225925628000e-14, -3.13630112962774620e-14, 1.04543370987565300e-14, -2.61358427468782110e-15, 5.22716854937039650e-16, -8.71194758226650810e-17, 1.24456394031879060e-17, -1.55570492538599900e-18,
+   3.050000e+01, 9.99999999999943270e-01, 5.67568523263207840e-14, -2.83784261631571700e-14, 9.45947538771690840e-15, -2.36486884692815350e-15, 4.72973769385201240e-16, -7.88289615640570320e-17, 1.12612802233958130e-17, -1.40766002791424940e-18,
+   3.060000e+01, 9.99999999999948600e-01, 5.13557237147964600e-14, -2.56778618573955920e-14, 8.55928728579677160e-15, -2.13982182144831410e-15, 4.27964364289311180e-16, -7.13273940481013100e-17, 1.01896277211238390e-17, -1.27370346513210690e-18,
+   3.070000e+01, 9.99999999999953480e-01, 4.64685804474652490e-14, -2.32342902237304630e-14, 7.74476340790871500e-15, -1.93619085197645890e-15, 3.87238170395003900e-16, -6.45396950657380130e-17, 9.21995643793515330e-18, -1.15249455473503900e-18,
+   3.080000e+01, 9.99999999999957920e-01, 4.20465103518813390e-14, -2.10232551759388990e-14, 7.00775172531178780e-15, -1.75193793132735770e-15, 3.50387586265235810e-16, -5.83979310441273950e-17, 8.34256157771003620e-18, -1.04282019720814140e-18,
+   3.090000e+01, 9.99999999999961920e-01, 3.80452558642185360e-14, -1.90226279321078230e-14, 6.34087597736830850e-15, -1.58521899434159470e-15, 3.17043798868125930e-16, -5.28406331446233300e-17, 7.54866187778495290e-18, -9.43582734718524040e-19,
+   3.100000e+01, 9.99999999999965580e-01, 3.44247710846973950e-14, -1.72123855423475140e-14, 5.73746184744838090e-15, -1.43436546186170020e-15, 2.86873092372182050e-16, -4.78121820619776750e-17, 6.83031172312461890e-18, -8.53788965386815540e-19,
+   3.110000e+01, 9.99999999999968800e-01, 3.11488209847564900e-14, -1.55744104923772730e-14, 5.19147016412511060e-15, -1.29786754103095420e-15, 2.59573508206061480e-16, -4.32622513676337930e-17, 6.18032162393536420e-18, -7.72540202988840200e-19,
+   3.120000e+01, 9.99999999999971800e-01, 2.81846187547117050e-14, -1.40923093773550570e-14, 4.69743645911782230e-15, -1.17435911477919090e-15, 2.34871822955732270e-16, -3.91453038259200720e-17, 5.59218626083563660e-18, -6.99023282601933050e-19,
+   3.130000e+01, 9.99999999999974460e-01, 2.55024976623415030e-14, -1.27512488311701020e-14, 4.25041627705626620e-15, -1.06260406926384980e-15, 2.12520813852683260e-16, -3.54201356420849750e-17, 5.06001937743245150e-18, -6.32502422176991450e-19,
+   3.140000e+01, 9.99999999999976910e-01, 2.30756141382610940e-14, -1.15378070691300150e-14, 3.84593568970964980e-15, -9.61483922427234960e-16, 1.92296784485376010e-16, -3.20494640808723390e-17, 4.57849486868928600e-18, -5.72311858584469210e-19,
+   3.150000e+01, 9.99999999999979130e-01, 2.08796791164584650e-14, -1.04398395582287960e-14, 3.47994651940930800e-15, -8.69986629852181640e-16, 1.73997325970378200e-16, -2.89995543283769920e-17, 4.14279347547689220e-18, -5.17849184433227650e-19,
+   3.160000e+01, 9.99999999999981130e-01, 1.88927149411555350e-14, -9.44635747057741110e-15, 3.14878582352556530e-15, -7.87196455881272310e-16, 1.57439291176206870e-16, -2.62398818626852850e-17, 3.74855455180765200e-18, -4.68569318974822510e-19,
+   3.170000e+01, 9.99999999999982900e-01, 1.70948354070447300e-14, -8.54741770352207300e-15, 2.84913923450716240e-15, -7.12284808626693180e-16, 1.42456961725299670e-16, -2.37428269542036270e-17, 3.39183242202537880e-18, -4.23979052752244240e-19,
+   3.180000e+01, 9.99999999999984570e-01, 1.54680467314601930e-14, -7.73402336572985840e-15, 2.57800778857645970e-15, -6.44501947144035160e-16, 1.28900389428775130e-16, -2.14833982381185570e-17, 3.06905689115675550e-18, -3.83632111393834950e-19,
+   3.190000e+01, 9.99999999999986010e-01, 1.39960674665539270e-14, -6.99803373327676720e-15, 2.33267791109212490e-15, -5.83169477772965950e-16, 1.16633895554567090e-16, -1.94389825924191410e-17, 2.77699751320024640e-18, -3.47124689149409350e-19,
+   3.200000e+01, 9.99999999999987340e-01, 1.26641655490938550e-14, -6.33208277454676670e-15, 2.11069425818214850e-15, -5.27673564545483690e-16, 1.05534712909075360e-16, -1.75891188181721000e-17, 2.51273125973683490e-18, -3.14091407466594670e-19,
+   3.210000e+01, 9.99999999999988560e-01, 1.14590108570219640e-14, -5.72950542851085020e-15, 1.90983514283686250e-15, -4.77458785709171850e-16, 9.54917571418168590e-17, -1.59152928569636410e-17, 2.27361326527885370e-18, -2.84201658159439420e-19,
+   3.220000e+01, 9.99999999999989670e-01, 1.03685417971138640e-14, -5.18427089855682390e-15, 1.72809029951886960e-15, -4.32022574879681600e-16, 8.64045149759219900e-17, -1.44007524959822210e-17, 2.05725035656752380e-18, -2.57156294570599110e-19,
+   3.230000e+01, 9.99999999999990560e-01, 9.38184458849850840e-15, -4.69092229424916660e-15, 1.56364076474966340e-15, -3.90910191187386520e-16, 7.81820382374655680e-17, -1.30303397062403490e-17, 1.86147710089036070e-18, -2.32684637611014280e-19,
+   3.240000e+01, 9.99999999999991560e-01, 8.48904403387157360e-15, -4.24452201693571420e-15, 1.41484067231185670e-15, -3.53710168077940160e-16, 7.07420336155784300e-17, -1.17903389359265360e-17, 1.68433413370287570e-18, -2.10541766712631340e-19,
+   3.250000e+01, 9.99999999999992340e-01, 7.68120468520197700e-15, -3.84060234260092930e-15, 1.28020078086693710e-15, -3.20050195216714640e-16, 6.40100390433350650e-17, -1.06683398405532220e-17, 1.52404854864971060e-18, -1.90506068581026700e-19,
+   3.260000e+01, 9.99999999999993010e-01, 6.95024141476382340e-15, -3.47512070738186320e-15, 1.15837356912725540e-15, -2.89593392281797740e-16, 5.79186784563531140e-17, -9.65311307605670500e-18, 1.37901615372177360e-18, -1.72377019215068900e-19,
+   3.270000e+01, 9.99999999999993670e-01, 6.28883849646153690e-15, -3.14441924823072860e-15, 1.04813974941021660e-15, -2.62034937352540930e-16, 5.24069874705029170e-17, -8.73449791174872870e-18, 1.24778541596360150e-18, -1.55973176995325000e-19,
+   3.280000e+01, 9.99999999999994340e-01, 5.69037638758344200e-15, -2.84518819379168870e-15, 9.48396064597207920e-16, -2.37099016149291180e-16, 4.74198032298539190e-17, -7.90330053830754850e-18, 1.12904293404352410e-18, -1.41130366755338760e-19,
+   3.290000e+01, 9.99999999999994890e-01, 5.14886547819375430e-15, -2.57443273909685070e-15, 8.58144246365599090e-16, -2.14536061591390950e-16, 4.29072123182746550e-17, -7.15120205304459720e-18, 1.02160029329174860e-18, -1.27700036661385190e-19,
+   3.300000e+01, 9.99999999999995340e-01, 4.65888614510335430e-15, -2.32944307255165550e-15, 7.76481024183870600e-16, -1.94120256045960430e-16, 3.88240512091891920e-17, -6.47067520153056780e-18, 9.24382171646948020e-19, -1.15547771455798300e-19,
+   3.310000e+01, 9.99999999999995780e-01, 4.21553451045879130e-15, -2.10776725522937790e-15, 7.02589085076447440e-16, -1.75647271269105920e-16, 3.51294542538188150e-17, -5.85490904230234690e-18, 8.36415577471538480e-19, -1.04551947183885770e-19,
+   3.320000e+01, 9.99999999999996230e-01, 3.81437336208504050e-15, -1.90718668104250570e-15, 6.35728893680825560e-16, -1.58932223420201530e-16, 3.17864446840383680e-17, -5.29774078067241470e-18, 7.56820111524446220e-19, -9.46025139405087250e-20,
+   3.330000e+01, 9.99999999999996560e-01, 3.45138774437419260e-15, -1.72569387218708430e-15, 5.75231290729020130e-16, -1.43807822682251060e-16, 2.87615645364486240e-17, -4.79359408940757470e-18, 6.84799155629502910e-19, -8.55998944536504290e-20,
+   3.340000e+01, 9.99999999999996890e-01, 3.12294477526047450e-15, -1.56147238763022740e-15, 5.20490795876735930e-16, -1.30122698969180730e-16, 2.60245397938348490e-17, -4.33742329897204160e-18, 6.19631899853024490e-19, -7.74539874815976800e-20,
+   3.350000e+01, 9.99999999999997220e-01, 2.82575728711559530e-15, -1.41287864355778950e-15, 4.70959547852591190e-16, -1.17739886963145140e-16, 2.35479773926279630e-17, -3.92466289877097200e-18, 5.60666128395752110e-19, -7.00832660494431820e-20,
+   3.360000e+01, 9.99999999999997450e-01, 2.55685092766995250e-15, -1.27842546383496980e-15, 4.26141821278318850e-16, -1.06535455319577530e-16, 2.13070910639146380e-17, -3.55118184398548230e-18, 5.07311691997843240e-19, -6.34139614997088460e-20,
+   3.370000e+01, 9.99999999999997670e-01, 2.31353439169574210e-15, -1.15676719584786570e-15, 3.85589065282618280e-16, -9.63972663206527840e-17, 1.92794532641298440e-17, -3.21324221068806990e-18, 4.59034601526799610e-19, -5.73793251908333040e-20,
+   3.380000e+01, 9.99999999999997890e-01, 2.09337248551938240e-15, -1.04668624275968680e-15, 3.48895414253225950e-16, -8.72238535633050340e-17, 1.74447707126604210e-17, -2.90746178544320920e-18, 4.15351683634688900e-19, -5.19189604543224990e-20,
+   3.390000e+01, 9.99999999999998110e-01, 1.89416175478486190e-15, -9.47080877392427420e-16, 3.15693625797473390e-16, -7.89234064493671520e-17, 1.57846812898729520e-17, -2.63078021497866600e-18, 3.75825744996906480e-19, -4.69782181246030610e-20,
+   3.400000e+01, 9.99999999999998330e-01, 1.71390843154200710e-15, -8.56954215771000580e-16, 2.85651405256998220e-16, -7.14128513142485820e-17, 1.42825702628493230e-17, -2.38042837714142440e-18, 3.40061196734451400e-19, -4.25076495917978010e-20,
+   3.410000e+01, 9.99999999999998450e-01, 1.55080847994651830e-15, -7.75404239973256690e-16, 2.58468079991083940e-16, -6.46170199977701830e-17, 1.29234039995537170e-17, -2.15390066659217940e-18, 3.07700095227423530e-19, -3.84625119034199790e-20,
+   3.420000e+01, 9.99999999999998560e-01, 1.40322954086308700e-15, -7.01614770431541530e-16, 2.33871590143845830e-16, -5.84678975359608040e-17, 1.16935795071918990e-17, -1.94892991786522900e-18, 2.78418559695007630e-19, -3.48023199618701640e-20,
+   3.430000e+01, 9.99999999999998780e-01, 1.26969459466634840e-15, -6.34847297333172530e-16, 2.11615765777723100e-16, -5.29039414444302390e-17, 1.05807882888858340e-17, -1.76346471481423380e-18, 2.51923530687728270e-19, -3.14904413359617250e-20,
+   3.440000e+01, 9.99999999999998890e-01, 1.14886717873210330e-15, -5.74433589366050270e-16, 1.91477863122015880e-16, -4.78694657805035270e-17, 9.57389315610053080e-18, -1.59564885935003000e-18, 2.27949837049987270e-19, -2.84937296312450620e-20,
+   3.450000e+01, 9.99999999999999000e-01, 1.03953801167021980e-15, -5.19769005835108810e-16, 1.73256335278368870e-16, -4.33140838195918600e-17, 8.66281676391822790e-18, -1.44380279398632340e-18, 2.06257541998031890e-19, -2.57821927497502700e-20,
+   3.460000e+01, 9.99999999999999110e-01, 9.40612890429909060e-16, -4.70306445214953640e-16, 1.56768815071650610e-16, -3.91922037679123620e-17, 7.83844075358235410e-18, -1.30640679226368620e-18, 1.86629541751943390e-19, -2.33286927189902040e-20,
+   3.470000e+01, 9.99999999999999110e-01, 8.51101739147944780e-16, -4.25550869573971700e-16, 1.41850289857990070e-16, -3.54625724644972780e-17, 7.09251449289935940e-18, -1.18208574881652830e-18, 1.68869392688066110e-19, -2.11086740860057180e-20,
+   3.480000e+01, 9.99999999999999220e-01, 7.70108700136545650e-16, -3.85054350068272230e-16, 1.28351450022757000e-16, -3.20878625056890530e-17, 6.41757250113773230e-18, -1.06959541685626230e-18, 1.52799345265172830e-19, -1.90999181581443530e-20,
+   3.490000e+01, 9.99999999999999330e-01, 6.96823167838575130e-16, -3.48411583919287070e-16, 1.16137194639762020e-16, -2.90342986599403450e-17, 5.80685973198800470e-18, -9.67809955331312550e-19, 1.38258565047323660e-19, -1.72823206309143410e-20 };
+
+   Int_t i = (Int_t)(10*x+350.5);
+   if(i<0)   return TMath::Exp(x);
+   if(i>699) return 1;
+   Double_t* basePoint = sigval+(10*i);
+   Double_t res =  x - basePoint[0];
+   res =        basePoint[1] + res * ( basePoint[2] + res * ( basePoint[3]
+      + res * ( basePoint[4] + res * ( basePoint[5] + res * ( basePoint[6]
+      + res * ( basePoint[7] + res * ( basePoint[8] )))))));
+   /*
+   if(x<-15) return TMath::Exp(x);
+   if(x> 15) return 1;
+   return (1/(1+TMath::Exp(-x)));
+   */
+   return res;
+}
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegressionTF.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegressionTF.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..483fbce192311e620772597bd54f110052debd8c
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegressionTF.cxx
@@ -0,0 +1,41 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+using namespace std;
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionRegressionTF.h"
+#include "TFile.h"
+#include "TString.h"
+#include "TMath.h"
+
+
+//=============================================
+//======= TFCS1DFunctionRegressionTF =========
+//=============================================
+
+using namespace std;
+
+TFCS1DFunctionRegressionTF::TFCS1DFunctionRegressionTF(float rangeval, float startval)
+{
+  m_rangeval = rangeval;
+  m_startval = startval;
+}
+
+
+double TFCS1DFunctionRegressionTF::retransform(double value)
+{
+ 
+ return (value*m_rangeval+m_startval);
+ 
+}
+
+double TFCS1DFunctionRegressionTF::rnd_to_fct(double rnd)
+{
+  
+  double value=regression_value(rnd);
+  if(m_rangeval>0)
+   value=retransform(value);
+  return value;
+  
+}
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyParametrization.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyParametrization.cxx
index 1012dd791ff83a1f8c065877ecac2bc3c67acd22..ff94bade48a21e54e7ac2ba69e103f75f04ccd45 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyParametrization.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyParametrization.cxx
@@ -13,9 +13,3 @@ TFCSEnergyParametrization::TFCSEnergyParametrization(const char* name, const cha
 {
 }
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(TFCSEnergyParametrization)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSExtrapolationState.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSExtrapolationState.cxx
index 07d7619e92812927cc45849ebe7e11baf3adc482..056b2aa871dc460440efcabee8101f45141e696b 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSExtrapolationState.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSExtrapolationState.cxx
@@ -34,9 +34,3 @@ void TFCSExtrapolationState::clear()
 }
 
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(TFCSExtrapolationState)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSPCAEnergyParametrization.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSPCAEnergyParametrization.cxx
index cf875550070b264fef3e5b92a1e54e725dfd0ee2..4d4e161b0df7b3266644002c1623418931ef2b36 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSPCAEnergyParametrization.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSPCAEnergyParametrization.cxx
@@ -19,334 +19,430 @@
 
 TFCSPCAEnergyParametrization::TFCSPCAEnergyParametrization(const char* name, const char* title):TFCSEnergyParametrization(name,title)
 {
+  m_numberpcabins=1;
 }
 
+
 void TFCSPCAEnergyParametrization::simulate(TFCSSimulationState& simulstate,const TFCSTruthState* /*truth*/, const TFCSExtrapolationState* /*extrapol*/)
 {
- 
- int verbose=0;
- 
- int thisbin=simulstate.Ebin();
- if(verbose) std::cout<<"--- Simulation of bin "<<thisbin<<std::endl;
- 
- /*
- for(unsigned int i=0;i<CaloCell_ID_FCS::MaxSample;++i)
-  simulstate.add_E(i,truth->Ekin()/CaloCell_ID_FCS::MaxSample);
- */
- 
- TRandom3* Random3=new TRandom3();
- Random3->SetSeed(0);
- 
- //get relevant layers for that bin
- std::vector<std::string> layer;
- std::vector<int> layerNr;
- 
- for(int i=0;i<m_RelevantLayers->GetSize();i++)
-  layerNr.push_back(m_RelevantLayers->GetAt(i));
- 
- for(unsigned int i=0;i<layerNr.size();i++)
- {
-     std::string thislayer=Form("layer%i",layerNr[i]);
-  layer.push_back(thislayer);
- }
- layer.push_back("totalE");
- 
- //for(unsigned int i=0;i<layer.size();i++)  cout<<layer[i]<<endl;
- 
- double* gauss_means=m_Gauss_means->GetMatrixArray();
- double* gauss_rms  =m_Gauss_rms->GetMatrixArray();
- double* lowerBounds=m_LowerBounds->GetMatrixArray();
- 
- double output_data[layer.size()] = { };
- double input_data[layer.size()]  = { };
- 
- for(unsigned int l=0;l<layer.size();l++)
- {
-  double mean=gauss_means[l];
-  double rms =gauss_rms[l];
-  double gauszz=Random3->Gaus(mean,rms);
-  input_data[l]=gauszz;
- }
- 
- TMatrixDSymEigen* eigen=new TMatrixDSymEigen(*m_symCov);
- TMatrixD myEvectors(eigen->GetEigenVectors());
-  
- //P2X(myEvectors, layer.size(), input_data, output_data, layer.size());
- P2X(layer.size(), input_data, output_data, layer.size());
- 
- double simdata_uniform[layer.size()];
- double simdata[layer.size()];
- double simdata_scaled[layer.size()];
- double sum_fraction=0.0; //this is needed for the rescaling in the next step
- for(unsigned int l=0;l<layer.size();l++)
- {
-  simdata_uniform[l]=(TMath::Erf(output_data[l]/1.414213562)+1)/2.f;
-  
-  if(simdata_uniform[l]<lowerBounds[l]) simdata_uniform[l]=lowerBounds[l];
-  
-  simdata[l]=m_cumulative[l]->rnd_to_fct(simdata_uniform[l]);
-  //simdata[l]=InvCumulant(h_cumulative[l],simdata_uniform[l]);
-  
-  if(simdata[l]<0) simdata[l]=0;
-  if(layer[l]!="totalE" && simdata[l]>1) simdata[l]=1;  
-  if(layer[l]!="totalE") sum_fraction+=simdata[l];
- }
- 
- //RECSCALE SO THAT THE SUM GIVES 1
- double scale=1.0/sum_fraction;
- 
- sum_fraction=0.0;
- 
- for(unsigned int l=0;l<layer.size();l++)
- {
- 	if(layer[l]!="totalE")
- 	{
-   simdata_scaled[l]=simdata[l]*scale;
-   if(l<layerNr.size())
-   {
-    sum_fraction+=simdata_scaled[l];
-   }
-  }
- } //for layer
- 
- //save the result in the SimulState object:
- 
- for(int s=0;s<CaloCell_ID_FCS::MaxSample;s++)
- {
- 	double energy=0.0;
- 	for(unsigned int l=0;l<layerNr.size();l++)
- 	{
- 	 if(layerNr[l]==s)
- 	 	energy=simdata_scaled[l];
-  }
-  simulstate.set_E(s,energy);
- }
- simulstate.set_E(simdata[layer.size()-1]);
- if(verbose)
- {
-     std::cout<<"Result:"<<std::endl;
-  for(unsigned int l=0;l<layerNr.size();l++)
-   std::cout<<"  Energy fraction deposited in Layer "<<layerNr[l]<<" = "<<simdata_scaled[l]<<std::endl;
-  std::cout<<"  Sum of energy fractions = "<<sum_fraction<<std::endl;
-  std::cout<<"  Total Energy = "<<simulstate.E()<<" MeV "<<std::endl;
- }
- 
- delete Random3;
- 
-}
 
+  int verbose=0;
 
-void TFCSPCAEnergyParametrization::P2X(TMatrixD EigenVectors, int gNVariables, double *p, double *x, int nTest)
-{
- 
- double* gSigmaValues  = m_SigmaValues->GetMatrixArray();
- double* gMeanValues   = m_MeanValues->GetMatrixArray();
- double* gEigenVectors = EigenVectors.GetMatrixArray();
- 
- for(int i = 0; i < gNVariables; i++)
- {
-  x[i] = gMeanValues[i];
-  for(int j = 0; j < nTest; j++)
-  {
-   x[i] += p[j] * gSigmaValues[i] * (double)(gEigenVectors[i *  gNVariables + j]);
-  }
- } 
-}
+  int pcabin=simulstate.Ebin();
 
-void TFCSPCAEnergyParametrization::P2X(int gNVariables, double *p, double *x, int nTest)
-{
- 
- double* gSigmaValues  = m_SigmaValues->GetMatrixArray();
- double* gMeanValues   = m_MeanValues->GetMatrixArray();
- double* gEigenVectors = m_EV->GetMatrixArray();
- 
- for(int i = 0; i < gNVariables; i++)
- {
-  x[i] = gMeanValues[i];
-  for(int j = 0; j < nTest; j++)
-  {
-   x[i] += p[j] * gSigmaValues[i] * (double)(gEigenVectors[i *  gNVariables + j]);
-  }
- } 
-}
+  if(verbose) std::cout<<"--- Energy simulation of PCA bin "<<pcabin<<std::endl;
 
-double TFCSPCAEnergyParametrization::InvCumulant(TH1D* hist,double y)
-{
-    int bin = 0;
-    int nbin = hist->GetNbinsX();
-    double min = 99999999;
-    for (int i=1; i<=hist->GetNbinsX()-2; i++)
+  TMatrixDSym* symCov        =m_symCov[pcabin-1];
+  TMatrixD*    EV            =m_EV[pcabin-1];
+  TVectorD*    MeanValues    =m_MeanValues[pcabin-1];
+  TVectorD*    SigmaValues   =m_SigmaValues[pcabin-1];
+  TVectorD*    Gauss_means   =m_Gauss_means[pcabin-1];
+  TVectorD*    Gauss_rms     =m_Gauss_rms[pcabin-1];
+  TVectorD*    LowerBounds   =m_LowerBounds[pcabin-1];
+  std::vector<TFCS1DFunction*> cumulative=m_cumulative[pcabin-1];
+
+  if(verbose) std::cout<<"Gauss_means "<<Gauss_means<<std::endl;
+
+  /*
+    for(unsigned int i=0;i<CaloCell_ID_FCS::MaxSample;++i)
+    simulstate.add_E(i,truth->Ekin()/CaloCell_ID_FCS::MaxSample);
+  */
+
+  TRandom3* Random3=new TRandom3(); Random3->SetSeed(0);
+
+  //get relevant layers for that bin
+  std::vector<std::string> layer;
+  std::vector<int> layerNr;
+  for(int i=0;i<m_RelevantLayers->GetSize();i++)
+    layerNr.push_back(m_RelevantLayers->GetAt(i));
+  for(unsigned int i=0;i<layerNr.size();i++)
     {
-     if(fabs(hist->GetBinContent(i)-y)<min)
-     {
-       min = fabs(hist->GetBinContent(i)-y);
-       bin = i ;
-     }
+      std::string thislayer=Form("layer%i",layerNr[i]);
+      layer.push_back(thislayer);
     }
-    bin = TMath::Max(bin,1);
-    bin = TMath::Min(bin,hist->GetNbinsX());
-
-    //std::cout<<bin <<std::endl;
-    
-    double AvNuEvPerBin;
-    double Tampon = 0 ;
-    for (int i=1; i<=nbin; i++)
+  layer.push_back("totalE");
+
+  double* vals_gauss_means=(double*)Gauss_means->GetMatrixArray();
+  double* vals_gauss_rms  =Gauss_rms->GetMatrixArray();
+  double* vals_lowerBounds=LowerBounds->GetMatrixArray();
+
+  if(verbose)
     {
-      Tampon += hist->GetBinContent(i);
+      std::cout<<"vals_gauss_means "<<vals_gauss_means<<" size "<<sizeof(vals_gauss_means)<<std::endl;
+      std::cout<<"vals_gauss_rms   "<<vals_gauss_rms<<std::endl;
+      std::cout<<"vals_lowerBounds "<<vals_lowerBounds<<std::endl;
     }
-    
-    AvNuEvPerBin = Tampon/nbin;
-    
-    double x;
-    double x0, x1, y0, y1;
-    double total = hist->GetNbinsX()*AvNuEvPerBin;
-    double supmin = 0.5/total;
-    
-    x0 = hist->GetBinLowEdge(TMath::Max(bin,1));
-    x1 = hist->GetBinLowEdge(TMath::Min(bin,hist->GetNbinsX())+1);
-    
-    y0 = hist->GetBinContent(TMath::Max(bin-1,0)); // Y0 = F(x0); Y0 >= 0
-    y1 = hist->GetBinContent(TMath::Min(bin, hist->GetNbinsX()+1));  // Y1 = F(x1);  Y1 <= 1
-    
-    //Zero bin
-    if (bin == 0)
+
+  double *output_data = new double[layer.size()] ;
+  double *input_data = new double[layer.size()]  ;
+
+  for(unsigned int l=0;l<layer.size();l++)
     {
-        y0 = supmin;
-        y1 = supmin;
+      double mean=vals_gauss_means[l];
+      double rms =vals_gauss_rms[l];
+      double gauszz=Random3->Gaus(mean,rms);
+      input_data[l]=gauszz;
     }
-    if (bin == 1) {
-        y0 = supmin;
+
+  TMatrixDSymEigen* eigen=new TMatrixDSymEigen(*symCov);
+  TMatrixD myEvectors(eigen->GetEigenVectors());
+
+  delete eigen;
+
+  //P2X(layer.size(), input_data, output_data, layer.size());
+  P2X(SigmaValues, MeanValues, EV, layer.size(), input_data, output_data, layer.size());
+
+  double *simdata_uniform = new double[layer.size()];
+  double *simdata = new double[layer.size()];
+  double *simdata_scaled = new double[layer.size()];
+  double sum_fraction=0.0; //this is needed for the rescaling in the next step
+  for(unsigned int l=0;l<layer.size();l++)
+    {
+      simdata_uniform[l]=(TMath::Erf(output_data[l]/1.414213562)+1)/2.f;
+
+      if(simdata_uniform[l]<vals_lowerBounds[l]) simdata_uniform[l]=vals_lowerBounds[l];
+
+      simdata[l]=cumulative[l]->rnd_to_fct(simdata_uniform[l]);
+
+      if(simdata[l]<0) simdata[l]=0;
+      if(layer[l]!="totalE" && simdata[l]>1) simdata[l]=1;
+      if(layer[l]!="totalE") sum_fraction+=simdata[l];
     }
-    if (bin > hist->GetNbinsX()) {
-        y0 = 1.-supmin;
-        y1 = 1.-supmin;
+
+  //RECSCALE SO THAT THE SUM GIVES 1
+  double scale=1.0/sum_fraction;
+
+  sum_fraction=0.0;
+
+  for(unsigned int l=0;l<layer.size();l++)
+    {
+      if(layer[l]!="totalE")
+        {
+          simdata_scaled[l]=simdata[l]*scale;
+          if(l<layerNr.size())
+            {
+              sum_fraction+=simdata_scaled[l];
+            }
+        }
+    } //for layer
+
+  //save the result in the SimulState object:
+
+  double total_energy=simdata[layer.size()-1];
+  simulstate.set_E(total_energy);
+
+  for(int s=0;s<CaloCell_ID_FCS::MaxSample;s++)
+    {
+      double energyfrac=0.0;
+      for(unsigned int l=0;l<layerNr.size();l++)
+        {
+          if(layerNr[l]==s)
+            energyfrac=simdata_scaled[l];
+        }
+      simulstate.set_Efrac(s,energyfrac);
+      simulstate.set_E(s,energyfrac*total_energy);
     }
-    if (bin == hist->GetNbinsX()) {
-        y1 = 1.-supmin;
+
+
+  if(verbose)
+    {
+      std::cout<<"Result:"<<std::endl;
+      for(unsigned int l=0;l<layerNr.size();l++)
+        std::cout<<"  Energy fraction deposited in Layer "<<layerNr[l]<<" = "<<simdata_scaled[l]<<std::endl;
+      std::cout<<"  Sum of energy fractions = "<<sum_fraction<<std::endl;
+      std::cout<<"  Total Energy = "<<simulstate.E()<<" MeV "<<std::endl;
     }
-    
- ////////////////////////
-    
- if(y0 == x1)
- {
-  x = x0;
- }
- else
- {
-  x = x0 + (y-y0)*(x1-x0)/(y1-y0);
- }
- 
- return x;
+
+  delete Random3;
+  // delete symCov;
+  // delete EV;
+  // delete MeanValues;
+  // delete SigmaValues;
+  // delete Gauss_means;
+  // delete Gauss_rms;
+  // delete LowerBounds;
+  delete [] output_data;
+  delete [] input_data;
+  delete [] simdata;
+  delete [] simdata_uniform;
+  delete [] simdata_scaled;
+  //cumulative.clear();
+
 
 }
 
+/*
+  void TFCSPCAEnergyParametrization::P2X(TMatrixD EigenVectors, int gNVariables, double *p, double *x, int nTest)
+  {
 
-void TFCSPCAEnergyParametrization::loadInputs(TFile* file, int bin)
-{
- 
- file->cd(Form("bin%i",bin));
- 
- m_symCov       =(TMatrixDSym*)gDirectory->Get("symCov");
- m_EV           =(TMatrixD*)gDirectory->Get("EigenVectors");
- m_MeanValues   =(TVectorD*)gDirectory->Get("MeanValues");
- m_SigmaValues  =(TVectorD*)gDirectory->Get("SigmaValues");
- m_Gauss_means  =(TVectorD*)gDirectory->Get("Gauss_means");
- m_Gauss_rms    =(TVectorD*)gDirectory->Get("Gauss_rms");
- m_LowerBounds  =(TVectorD*)gDirectory->Get("LowerBounds");
- m_RelevantLayers  =(IntArray*)gDirectory->Get("RelevantLayers");
- 
- std::vector<std::string> layer;
- std::vector<int> layerNr;
- for(int i=0;i<m_RelevantLayers->GetSize();i++)
-  layerNr.push_back(m_RelevantLayers->GetAt(i));
- for(unsigned int i=0;i<layerNr.size();i++)
- {
-     std::string thislayer=Form("layer%i",layerNr[i]);
-  layer.push_back(thislayer);
- }
- layer.push_back("totalE");
- 
- //for(unsigned int i=0;i<layer.size();i++)  cout<<layer[i]<<endl;
- 
- for(unsigned int l=0;l<layer.size();l++)
- {
-  file->cd(Form("bin%i/%s",bin,layer[l].c_str()));
- 	TFCS1DFunction* fct;
- 	fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegression");
- 	if(!fct)
- 	{
- 	 fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegressionTF");
-  }
-  if(!fct)
+  double* gSigmaValues  = m_SigmaValues->GetMatrixArray();
+  double* gMeanValues   = m_MeanValues->GetMatrixArray();
+  double* gEigenVectors = EigenVectors.GetMatrixArray();
+
+  for(int i = 0; i < gNVariables; i++)
   {
-   fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionHistogram");
+  x[i] = gMeanValues[i];
+  for(int j = 0; j < nTest; j++)
+  {
+  x[i] += p[j] * gSigmaValues[i] * (double)(gEigenVectors[i *  gNVariables + j]);
+  }
+  }
   }
- 	m_cumulative.push_back(fct);
- 	
- 	file->cd(Form("bin%i",bin));
- 	TH1D* hist=(TH1D*)gDirectory->Get(Form("h_cumul_%s",layer[l].c_str())); hist->SetName(Form("h_cumul_%s",layer[l].c_str()));
- 	h_cumulative.push_back(hist);
-  
- }
- 
+*/
+
+void TFCSPCAEnergyParametrization::P2X(TVectorD* SigmaValues, TVectorD* MeanValues, TMatrixD* EV, int gNVariables, double *p, double *x, int nTest)
+{
+
+  double* gSigmaValues  = SigmaValues->GetMatrixArray();
+  double* gMeanValues   = MeanValues->GetMatrixArray();
+  double* gEigenVectors = EV->GetMatrixArray();
+
+  for(int i = 0; i < gNVariables; i++)
+    {
+      x[i] = gMeanValues[i];
+      for(int j = 0; j < nTest; j++)
+        {
+          x[i] += p[j] * gSigmaValues[i] * (double)(gEigenVectors[i *  gNVariables + j]);
+        }
+    }
 }
 
 void TFCSPCAEnergyParametrization::loadInputs(TFile* file)
 {
- 
- file->cd("pca");
- 
- m_symCov       =(TMatrixDSym*)gDirectory->Get("symCov");
- m_EV           =(TMatrixD*)gDirectory->Get("EigenVectors");
- m_MeanValues   =(TVectorD*)gDirectory->Get("MeanValues");
- m_SigmaValues  =(TVectorD*)gDirectory->Get("SigmaValues");
- m_Gauss_means  =(TVectorD*)gDirectory->Get("Gauss_means");
- m_Gauss_rms    =(TVectorD*)gDirectory->Get("Gauss_rms");
- m_LowerBounds  =(TVectorD*)gDirectory->Get("LowerBounds");
- m_RelevantLayers  =(IntArray*)gDirectory->Get("RelevantLayers");
- 
- std::vector<std::string> layer;
- std::vector<int> layerNr;
- for(int i=0;i<m_RelevantLayers->GetSize();i++)
+
+  //TO DO: give this folder as an argument to the loadinputs, as determined from the isf particle
+
+  //std::string folder="EnergyParams/pdgid_211/EN_50000/eta_0_20";
+  std::string folder="";
+
+  //determine the number of pca bins from the file:
+  int trynext=1;
+  while(trynext)
+    {
+      IntArray* test  =(IntArray*)file->Get(Form("%s/bin%i/pca/RelevantLayers",folder.c_str(),m_numberpcabins));
+      if(test)
+        {
+          m_numberpcabins++;
+          delete test;
+        }
+      else
+        trynext=0;
+    }
+  m_numberpcabins-=1;
+
+  file->cd(Form("%s/bin1/pca",folder.c_str()));
+  m_RelevantLayers=(IntArray*)gDirectory->Get("RelevantLayers");
+  if(m_RelevantLayers == NULL) std::cout << "TFCSPCAEnergyParametrization::m_RelevantLayers in first pcabin is null!" << std::endl;
+
+  for(int bin=1;bin<=m_numberpcabins;bin++)
+    {
+
+      file->cd(Form("%s/bin%i/pca",folder.c_str(),bin));
+
+      TMatrixDSym* symCov     =(TMatrixDSym*)gDirectory->Get("symCov");
+      TMatrixD* EV            =(TMatrixD*)gDirectory->Get("EigenVectors");
+      TVectorD* MeanValues    =(TVectorD*)gDirectory->Get("MeanValues");
+      TVectorD* SigmaValues   =(TVectorD*)gDirectory->Get("SigmaValues");
+      TVectorD* Gauss_means   =(TVectorD*)gDirectory->Get("Gauss_means");
+      TVectorD* Gauss_rms     =(TVectorD*)gDirectory->Get("Gauss_rms");
+      TVectorD* LowerBounds   =(TVectorD*)gDirectory->Get("LowerBounds");
+
+      // null check
+      if(symCov == NULL)         std::cout << "TFCSPCAEnergyParametrization::m_symCov in pcabin "<<bin<<" is null!" << std::endl;
+      if(EV == NULL)             std::cout << "TFCSPCAEnergyParametrization::m_EV in pcabin "<<bin<<" is null!" << std::endl;
+      if(MeanValues == NULL)     std::cout << "TFCSPCAEnergyParametrization::m_MeanValues in pcabin "<<bin<<" is null!" << std::endl;
+      if(SigmaValues == NULL)    std::cout << "TFCSPCAEnergyParametrization::m_SigmaValues in pcabin "<<bin<<" is null!" << std::endl;
+      if(Gauss_means == NULL)    std::cout << "TFCSPCAEnergyParametrization::m_Gauss_means in pcabin "<<bin<<" is null!" << std::endl;
+      if(Gauss_rms == NULL)      std::cout << "TFCSPCAEnergyParametrization::m_Gause_rms in pcabin "<<bin<<" is null!" << std::endl;
+      if(LowerBounds == NULL)    std::cout << "TFCSPCAEnergyParametrization::m_LowerBounds in pcabin "<<bin<<" is null!" << std::endl;
+
+      m_symCov.push_back(symCov);
+      m_EV.push_back(EV);
+      m_MeanValues.push_back(MeanValues);
+      m_SigmaValues.push_back(SigmaValues);
+      m_Gauss_means.push_back(Gauss_means);
+      m_Gauss_rms.push_back(Gauss_rms);
+      m_LowerBounds.push_back(LowerBounds);
+
+      std::vector<std::string> layer;
+      std::vector<int> layerNr;
+
+      for(int i=0;i<m_RelevantLayers->GetSize();i++)
+        layerNr.push_back(m_RelevantLayers->GetAt(i));
+
+      for(unsigned int i=0;i<layerNr.size();i++)
+        {
+          std::string thislayer=Form("layer%i",layerNr[i]);
+          layer.push_back(thislayer);
+        }
+      layer.push_back("totalE");
+
+      std::vector<TFCS1DFunction*> cumulative;
+
+      for(unsigned int l=0;l<layer.size();l++)
+        {
+          file->cd(Form("%s/bin%i/%s",folder.c_str(),bin,layer[l].c_str()));
+
+          TFCS1DFunction* fct;
+          fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegression");
+          if(!fct)
+            fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegressionTF");
+          if(!fct)
+            fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionHistogram");
+          cumulative.push_back(fct);
+
+        }
+
+      m_cumulative.push_back(cumulative);
+
+    } //for pcabins
+
+  std::cout<<"done load inputs"<<std::endl;
+
+} //loadInputs
+
+
+void TFCSPCAEnergyParametrization::loadInputs(TFile* file, std::string folder)
+{
+
+  //TO DO: give this folder as an argument to the loadinputs, as determined from the isf particle
+
+  //determine the number of pca bins from the file:
+  int trynext=1;
+  while(trynext)
+    {
+      IntArray* test  =(IntArray*)file->Get(Form("%s/bin%i/pca/RelevantLayers",folder.c_str(),m_numberpcabins));
+      if(test)
+        {
+          m_numberpcabins++;
+          delete test;
+        }
+      else
+        trynext=0;
+    }
+  m_numberpcabins-=1;
+
+  file->cd(Form("%s/bin1/pca",folder.c_str()));
+  m_RelevantLayers=(IntArray*)gDirectory->Get("RelevantLayers");
+  if(m_RelevantLayers == NULL) std::cout << "TFCSPCAEnergyParametrization::m_RelevantLayers in first pcabin is null!" << std::endl;
+
+  for(int bin=1;bin<=m_numberpcabins;bin++)
+    {
+
+      file->cd(Form("%s/bin%i/pca",folder.c_str(),bin));
+
+      TMatrixDSym* symCov     =(TMatrixDSym*)gDirectory->Get("symCov");
+      TMatrixD* EV            =(TMatrixD*)gDirectory->Get("EigenVectors");
+      TVectorD* MeanValues    =(TVectorD*)gDirectory->Get("MeanValues");
+      TVectorD* SigmaValues   =(TVectorD*)gDirectory->Get("SigmaValues");
+      TVectorD* Gauss_means   =(TVectorD*)gDirectory->Get("Gauss_means");
+      TVectorD* Gauss_rms     =(TVectorD*)gDirectory->Get("Gauss_rms");
+      TVectorD* LowerBounds   =(TVectorD*)gDirectory->Get("LowerBounds");
+
+      // null check
+      if(symCov == NULL)         std::cout << "TFCSPCAEnergyParametrization::m_symCov in pcabin "<<bin<<" is null!" << std::endl;
+      if(EV == NULL)             std::cout << "TFCSPCAEnergyParametrization::m_EV in pcabin "<<bin<<" is null!" << std::endl;
+      if(MeanValues == NULL)     std::cout << "TFCSPCAEnergyParametrization::m_MeanValues in pcabin "<<bin<<" is null!" << std::endl;
+      if(SigmaValues == NULL)    std::cout << "TFCSPCAEnergyParametrization::m_SigmaValues in pcabin "<<bin<<" is null!" << std::endl;
+      if(Gauss_means == NULL)    std::cout << "TFCSPCAEnergyParametrization::m_Gauss_means in pcabin "<<bin<<" is null!" << std::endl;
+      if(Gauss_rms == NULL)      std::cout << "TFCSPCAEnergyParametrization::m_Gause_rms in pcabin "<<bin<<" is null!" << std::endl;
+      if(LowerBounds == NULL)    std::cout << "TFCSPCAEnergyParametrization::m_LowerBounds in pcabin "<<bin<<" is null!" << std::endl;
+
+      m_symCov.push_back(symCov);
+      m_EV.push_back(EV);
+      m_MeanValues.push_back(MeanValues);
+      m_SigmaValues.push_back(SigmaValues);
+      m_Gauss_means.push_back(Gauss_means);
+      m_Gauss_rms.push_back(Gauss_rms);
+      m_LowerBounds.push_back(LowerBounds);
+
+      std::vector<std::string> layer;
+      std::vector<int> layerNr;
+
+      for(int i=0;i<m_RelevantLayers->GetSize();i++)
+        layerNr.push_back(m_RelevantLayers->GetAt(i));
+
+      for(unsigned int i=0;i<layerNr.size();i++)
+        {
+          std::string thislayer=Form("layer%i",layerNr[i]);
+          layer.push_back(thislayer);
+        }
+      layer.push_back("totalE");
+
+      std::vector<TFCS1DFunction*> cumulative;
+
+      for(unsigned int l=0;l<layer.size();l++)
+        {
+          file->cd(Form("%s/bin%i/%s",folder.c_str(),bin,layer[l].c_str()));
+
+          TFCS1DFunction* fct;
+          fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegression");
+          if(!fct)
+            fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegressionTF");
+          if(!fct)
+            fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionHistogram");
+          cumulative.push_back(fct);
+
+        }
+
+      m_cumulative.push_back(cumulative);
+
+    } //for pcabins
+
+  std::cout<<"done load inputs"<<std::endl;
+
+} //loadInputs
+
+/*
+  void TFCSPCAEnergyParametrization::loadInputs(TFile* file, int bin)
+  {
+
+  file->cd(Form("bin%i/pca",bin));
+
+  m_symCov       =(TMatrixDSym*)gDirectory->Get("symCov");
+  m_EV           =(TMatrixD*)gDirectory->Get("EigenVectors");
+  m_MeanValues   =(TVectorD*)gDirectory->Get("MeanValues");
+  m_SigmaValues  =(TVectorD*)gDirectory->Get("SigmaValues");
+  m_Gauss_means  =(TVectorD*)gDirectory->Get("Gauss_means");
+  m_Gauss_rms    =(TVectorD*)gDirectory->Get("Gauss_rms");
+  m_LowerBounds  =(TVectorD*)gDirectory->Get("LowerBounds");
+  m_RelevantLayers  =(IntArray*)gDirectory->Get("RelevantLayers");
+
+  std::vector<std::string> layer;
+  std::vector<int> layerNr;
+
+  for(int i=0;i<m_RelevantLayers->GetSize();i++)
   layerNr.push_back(m_RelevantLayers->GetAt(i));
- for(unsigned int i=0;i<layerNr.size();i++)
- {
-     std::string thislayer=Form("layer%i",layerNr[i]);
+
+  for(unsigned int i=0;i<layerNr.size();i++)
+  {
+  std::string thislayer=Form("layer%i",layerNr[i]);
   layer.push_back(thislayer);
- }
- layer.push_back("totalE");
- 
- //for(unsigned int i=0;i<layer.size();i++)  cout<<layer[i]<<endl;
- 
- for(unsigned int l=0;l<layer.size();l++)
- {
-  file->cd(Form("%s",layer[l].c_str()));
- 	TFCS1DFunction* fct;
- 	fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegression");
- 	if(!fct)
- 	{
- 	 fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegressionTF");
   }
+  layer.push_back("totalE");
+
+  //for(unsigned int i=0;i<layer.size();i++)  cout<<layer[i]<<endl;
+
+  for(unsigned int l=0;l<layer.size();l++)
+  {
+  file->cd(Form("bin%i/%s",bin,layer[l].c_str()));
+  TFCS1DFunction* fct;
+  fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegression");
   if(!fct)
   {
-   fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionHistogram");
+  fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionRegressionTF");
   }
- 	m_cumulative.push_back(fct);
- 	  
- }
- 
- file->cd("pca");
- for(unsigned int l=0;l<layer.size();l++)
- {
-  TH1D* hist=(TH1D*)gDirectory->Get(Form("h_cumul_%s",layer[l].c_str())); hist->SetName(Form("h_cumul_%s",layer[l].c_str()));
-  h_cumulative.push_back(hist);
- }
- 
-}
+  if(!fct)
+  {
+  fct=(TFCS1DFunction*)gDirectory->Get("TFCS1DFunctionHistogram");
+  }
+  m_cumulative.push_back(fct);
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
+  //file->cd(Form("bin%i",bin));
+  //TH1D* hist=(TH1D*)gDirectory->Get(Form("h_cumul_%s",layer[l].c_str())); hist->SetName(Form("h_cumul_%s",layer[l].c_str()));
+  //h_cumulative.push_back(hist);
 
-ClassImp(TFCSPCAEnergyParametrization)
+  }
 
+  }
+*/
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrization.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrization.cxx
index 492de4fe4dfe39de5edbac596eb253161a980707..7c79652eb59e2f8c494aed92a2cfe0c267da94d0 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrization.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrization.cxx
@@ -58,10 +58,3 @@ void TFCSParametrization::set_eta_max(double max)
 {
   m_eta_max=max;
 }
-
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(TFCSParametrization)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrizationBase.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrizationBase.cxx
index d6137f89b402a251dbe0cff496f9205cadfe1b1a..b173ce129419a41aaeeaf38ca365f8030cf214f8 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrizationBase.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSParametrizationBase.cxx
@@ -31,9 +31,3 @@ void TFCSParametrizationBase::Print(Option_t *option) const
   std::cout <<"  eta="<<eta_nominal()<<", range "<<eta_min()<<" < eta < "<<eta_max()<<std::endl;
 }
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(TFCSParametrizationBase)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSSimulationState.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSSimulationState.cxx
index 8dc77587b981d10f32fe52def5d2c689f357f1e3..98a014ad2cfa74f2bd3d19b7e701f7b0af7b4a4d 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSSimulationState.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSSimulationState.cxx
@@ -27,9 +27,3 @@ void TFCSSimulationState::deposit_HIT(int /*sample*/,double /*hit_eta*/,double /
 {
 }
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(TFCSSimulationState)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSTruthState.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSTruthState.cxx
index 73bdca4a1785bfec9aeb70d9a50b6aab66627d40..179e93b7ecb43a678bd6296b891fc12a878d612c 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSTruthState.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSTruthState.cxx
@@ -17,9 +17,3 @@ TFCSTruthState::TFCSTruthState(Double_t x, Double_t y, Double_t z, Double_t t, i
   m_pdgid=pdgid;
 }
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-ClassImp(TFCSTruthState)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/tools/load_stand_alone.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/tools/load_stand_alone.C
new file mode 100644
index 0000000000000000000000000000000000000000..650f184d2c27a57013c91280cad8c72aa5a8717f
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/tools/load_stand_alone.C
@@ -0,0 +1,10 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+{
+  gInterpreter->AddIncludePath("..");
+  TLorentzVector tdummy;
+  TMatrixF fdummy(1,1);
+  gROOT->ProcessLine(".L ../src/TFCS1DFunction.cxx+");//TFCS1DFunction.cxx++dvc
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/tools/run.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/tools/run.C
new file mode 100644
index 0000000000000000000000000000000000000000..216f090700195ed1f89a069bf3e7d523c1706d52
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/tools/run.C
@@ -0,0 +1,10 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+{
+  TFCS1DFunction f;
+  f.dummytest=1234.5;
+  TFile::Open("test.root","recreate");
+  f.Write("test");
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
index 396de3de1ce914761d9aab3341aebafc0dd24deb..fcacbb48b48c458cc9f0416aeb65c3efeae1a081 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
@@ -47,36 +47,23 @@ find_package( CLHEP )
 find_package( Geant4 )
 find_package( HepMC )
 find_package( HepPDT )
-find_package( ROOT COMPONENTS Cint Core Tree TreePlayer MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint TMVA Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
+find_package( ROOT COMPONENTS TreePlayer Cint Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint TMVA Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 find_package( XercesC )
 
-# tag ROOTTreePlayerLibs was not recognized in automatic conversion in cmt2cmake
-
 # Component(s) in the package:
 atlas_add_root_dictionary( ISF_FastCaloSimParametrizationLib
                            ISF_FastCaloSimParametrizationLibDictSource
                            ROOT_HEADERS
-                          ISF_FastCaloSimParametrization/MeanAndRMS.h
-                          ISF_FastCaloSimParametrization/TFCSLateralShapeParametrization.h
-                          ISF_FastCaloSimParametrization/TFCSNNLateralShapeParametrization.h
-                          ISF_FastCaloSimParametrization/TFCSSimpleLateralShapeParametrization.h
-                          ISF_FastCaloSimParametrization/TFCS1DFunctionRegression.h
-                          ISF_FastCaloSimParametrization/TFCS1DFunctionRegressionTF.h
-                          ISF_FastCaloSimParametrization/TFCS1DFunctionHistogram.h
-                          ISF_FastCaloSimParametrization/TFCSFunction.h
-                          ISF_FastCaloSimParametrization/TreeReader.h
-                          ISF_FastCaloSimParametrization/firstPCA.h
-                          ISF_FastCaloSimParametrization/secondPCA.h
-                          ISF_FastCaloSimParametrization/TFCS2Function.h
-                          ISF_FastCaloSimParametrization/TFCS2DFunction.h
-                          ISF_FastCaloSimParametrization/DetailedShapeBinning.h
-                          ISF_FastCaloSimParametrization/FitDetailedShape.h
-                          ISF_FastCaloSimParametrization/TFCS2DFunctionRegression.h
-                          Root/LinkDef.h
+                           ISF_FastCaloSimParametrization/MeanAndRMS.h
+                           ISF_FastCaloSimParametrization/TFCSLateralShapeParametrization.h
+                           ISF_FastCaloSimParametrization/TFCSNNLateralShapeParametrization.h
+                           ISF_FastCaloSimParametrization/TFCSSimpleLateralShapeParametrization.h
+                           ISF_FastCaloSimParametrization/TreeReader.h
+                           Root/LinkDef.h
                            EXTERNAL_PACKAGES  ROOT HepPDT XercesC CLHEP HepMC Geant4 )
 
 atlas_add_library( ISF_FastCaloSimParametrizationLib
-                   Root/*.cxx src/CaloGeometry.cxx
+                   Root/*.cxx src/CaloGeometry.cxx src/CaloGeometryFromFile.cxx
                    ${ISF_FastCaloSimParametrizationLibDictSource}
                    PUBLIC_HEADERS ISF_FastCaloSimParametrization
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
@@ -94,4 +81,3 @@ atlas_add_component( ISF_FastCaloSimParametrization
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
 atlas_install_joboptions( share/*.py )
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloDetDescrElement.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloDetDescrElement.h
new file mode 100755
index 0000000000000000000000000000000000000000..2eca531869fd5552d14445476e044182da2c1185
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloDetDescrElement.h
@@ -0,0 +1,249 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef CALOGEODETECTORELEMENT_H
+#define CALOGEODETECTORELEMENT_H
+
+class CaloGeometry;
+
+#include "Identifier/Identifier.h"
+#include <iostream>
+#include <iomanip>
+#include <cmath>
+
+class CaloGeoDetDescrElement
+{
+ friend class CaloGeometry;
+ public:
+  CaloGeoDetDescrElement() {
+    m_identify = 0;
+    m_hash_id = 0;
+    m_calosample = 0;
+    m_eta = 0;
+    m_phi = 0;
+    m_deta = 0;
+    m_dphi = 0;
+    m_r = 0;
+    m_eta_raw = 0;
+    m_phi_raw = 0;
+    m_r_raw = 0;
+    m_dr = 0;
+    m_x = 0;
+    m_y = 0;
+    m_z = 0;
+    m_x_raw = 0;
+    m_y_raw = 0;
+    m_z_raw = 0;
+    m_dx = 0;
+    m_dy = 0;
+    m_dz = 0;
+  };
+
+  /** @brief virtual destructor
+   */
+  virtual ~CaloGeoDetDescrElement() {};
+
+  /** @brief cell eta
+   */
+  float eta() const;
+  /** @brief cell phi
+   */
+  float phi() const;
+  /** @brief cell r
+   */
+  float r() const;
+  /** @brief cell eta_raw
+   */
+  float eta_raw() const;
+  /** @brief cell phi_raw
+   */
+  float phi_raw() const;
+  /** @brief cell r_raw
+   */
+  float r_raw() const;
+  /** @brief cell dphi
+   */
+  float dphi() const;
+  /** @brief cell deta
+   */
+  float deta() const;
+  /** @brief cell dr
+   */
+  float dr() const;
+    
+  /** @brief cell x
+   */
+  float x() const;
+  /** @brief cell y
+   */
+  float y() const;
+  /** @brief cell z
+   */
+  float z() const;
+  /** @brief cell x_raw
+   */
+  float x_raw() const;
+  /** @brief cell y_raw
+   */
+  float y_raw() const;
+  /** @brief cell z_raw
+   */
+  float z_raw() const;
+  /** @brief cell dx
+   */
+  float dx() const;
+  /** @brief cell dy
+   */
+  float dy() const;
+  /** @brief cell dz
+   */
+  float dz() const;
+  
+  /** @brief cell identifier
+   */
+  Identifier identify() const;
+  
+  unsigned long long calo_hash() const;
+
+  int getSampling() const ;
+
+ //ACH protected:  
+ //
+  long long m_identify;
+  long long m_hash_id;
+  
+  int m_calosample;
+   
+  /** @brief cylindric coordinates : eta
+   */
+  float m_eta;
+  /** @brief cylindric coordinates : phi
+   */
+  float m_phi;
+
+ /** @brief this one is cached for algorithm working in transverse Energy
+    */
+  float m_sinTh; 
+   /** @brief this one is cached for algorithm working in transverse Energy   
+   */
+  float m_cosTh;
+
+  /** @brief cylindric coordinates : delta eta
+   */
+  float m_deta;
+  /** @brief cylindric coordinates : delta phi
+   */
+  float m_dphi;
+
+  /** @brief cylindric coordinates : r
+   */
+   
+  float m_volume;    
+  
+  /** @brief cache to allow fast px py pz computation
+   */
+  float m_sinPhi;
+
+  /** @brief cache to allow fast px py pz computation
+  */
+  float m_cosPhi;
+
+  /** @brief cylindric coordinates : r
+   */
+  float m_r;
+  /** @brief cylindric coordinates : eta_raw
+   */
+  float m_eta_raw;
+  /** @brief cylindric coordinates : phi_raw
+   */
+  float m_phi_raw;
+  /** @brief cylindric coordinates : r_raw
+   */
+  float m_r_raw;
+  /** @brief cylindric coordinates : delta r
+   */
+  float m_dr;
+  
+  /** @brief cartesian coordinates : X
+   */
+  float m_x;
+  /** @brief cartesian coordinates : Y
+   */
+  float m_y;
+  /** @brief cartesian coordinates : Z
+   */
+  float m_z;
+  /** @brief cartesian coordinates : X raw
+   */
+  float m_x_raw;
+  /** @brief cartesian coordinates : Y raw
+   */
+  float m_y_raw;
+  /** @brief cartesian coordinates : Z raw
+   */
+  float m_z_raw;
+  /** @brief cartesian coordinates : delta X
+   */
+  float m_dx;
+  /** @brief cartesian coordinates : delta Y
+   */
+  float m_dy;
+  /** @brief cartesian coordinates : delta Z
+   */
+  float m_dz;
+  
+};
+
+inline Identifier CaloGeoDetDescrElement::identify() const
+{ 
+	Identifier id((unsigned long long) m_identify);
+	return id;	
+}
+
+inline unsigned long long CaloGeoDetDescrElement::calo_hash() const
+{
+	return m_hash_id;
+}
+
+inline int CaloGeoDetDescrElement::getSampling() const
+{ return m_calosample;}
+inline float CaloGeoDetDescrElement::eta() const
+{ return m_eta;}
+inline float CaloGeoDetDescrElement::phi() const
+{ return m_phi;}
+inline float CaloGeoDetDescrElement::r() const
+{ return m_r;}
+inline float CaloGeoDetDescrElement::eta_raw() const
+{ return m_eta_raw;}
+inline float CaloGeoDetDescrElement::phi_raw() const
+{ return m_phi_raw;}
+inline float CaloGeoDetDescrElement::r_raw() const
+{ return m_r_raw;}
+inline float CaloGeoDetDescrElement::deta() const
+{ return m_deta;}
+inline float CaloGeoDetDescrElement::dphi() const
+{ return m_dphi;}
+inline float CaloGeoDetDescrElement::dr() const
+{ return m_dr;}
+
+inline float CaloGeoDetDescrElement::x() const
+{ return m_x;}
+inline float CaloGeoDetDescrElement::y() const
+{ return m_y;}
+inline float CaloGeoDetDescrElement::z() const
+{ return m_z;}
+inline float CaloGeoDetDescrElement::x_raw() const
+{ return m_x_raw;}
+inline float CaloGeoDetDescrElement::y_raw() const
+{ return m_y_raw;}
+inline float CaloGeoDetDescrElement::z_raw() const
+{ return m_z_raw;}
+inline float CaloGeoDetDescrElement::dx() const
+{ return m_dx;}
+inline float CaloGeoDetDescrElement::dy() const
+{ return m_dy;}
+inline float CaloGeoDetDescrElement::dz() const
+{ return m_dz;}
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h
index e60dfa2bc6f07fe440ee777cdab8c6ae469b3a10..5d5095e313c72a8e4ed26ec88ec0425af36900d7 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometry.h
@@ -14,21 +14,22 @@
 #include "ISF_FastCaloSimParametrization/ICaloGeometry.h"
 #include "ISF_FastCaloSimParametrization/MeanAndRMS.h"
 #include "ISF_FastCaloSimParametrization/FSmap.h"
+#include "ISF_FastCaloSimParametrization/FCAL_ChannelMap.h"
 
-class CaloDetDescrElement;
+class CaloGeoDetDescrElement;
 class TCanvas;
 class TGraphErrors;
 
-typedef std::map< Identifier , const CaloDetDescrElement* > t_cellmap;
-typedef std::map< double , const CaloDetDescrElement* > t_eta_cellmap;
+typedef std::map< Identifier , const CaloGeoDetDescrElement* > t_cellmap;
+typedef std::map< double , const CaloGeoDetDescrElement* > t_eta_cellmap;
 
 class CaloGeometryLookup {
   public:
     CaloGeometryLookup(int ind=0);
     virtual ~CaloGeometryLookup();
 
-    bool IsCompatible(const CaloDetDescrElement* cell);
-    void add(const CaloDetDescrElement* cell);
+    bool IsCompatible(const CaloGeoDetDescrElement* cell);
+    void add(const CaloGeoDetDescrElement* cell);
     t_cellmap::size_type size() const {return m_cells.size();};
     int index() const {return m_index;};
     void set_index(int ind) {m_index=ind;};
@@ -75,7 +76,7 @@ class CaloGeometryLookup {
     int cell_grid_phi() const {return m_cell_grid_phi;};
     void set_xy_grid_adjustment_factor(float factor) {m_xy_grid_adjustment_factor=factor;};
 
-    virtual const CaloDetDescrElement* getDDE(float eta,float phi,float* distance=0,int* steps=0);
+    virtual const CaloGeoDetDescrElement* getDDE(float eta,float phi,float* distance=0,int* steps=0);
 
   protected:
     float neta_double() {return (maxeta_raw()-mineta_raw())/deta().mean();};
@@ -94,11 +95,11 @@ class CaloGeometryLookup {
     int raw_eta_position_to_index(float eta_raw) const {return TMath::Floor((eta_raw-mineta_raw())/m_deta_double);};
     int raw_phi_position_to_index(float phi_raw) const {return TMath::Floor((phi_raw-minphi_raw())/m_dphi_double);};
     bool index_range_adjust(int& ieta,int& iphi);
-    float calculate_distance_eta_phi(const CaloDetDescrElement* DDE,float eta,float phi,float& dist_eta0,float& dist_phi0);
+    float calculate_distance_eta_phi(const CaloGeoDetDescrElement* DDE,float eta,float phi,float& dist_eta0,float& dist_phi0);
 
     int m_index;
     t_cellmap m_cells;
-    std::vector< std::vector< const CaloDetDescrElement* > > m_cell_grid;
+    std::vector< std::vector< const CaloGeoDetDescrElement* > > m_cell_grid;
     int m_cell_grid_eta,m_cell_grid_phi;
     float m_mineta,m_maxeta,m_minphi,m_maxphi;
     float m_mineta_raw,m_maxeta_raw,m_minphi_raw,m_maxphi_raw;
@@ -123,9 +124,11 @@ class CaloGeometry : virtual public ICaloGeometry {
 
     virtual void Validate();
 
-    virtual const CaloDetDescrElement* getDDE(Identifier identify);
+    virtual const CaloGeoDetDescrElement* getDDE(Identifier identify);
+    virtual const CaloGeoDetDescrElement* getDDE(int sampling, Identifier identify);
 
-    virtual const CaloDetDescrElement* getDDE(int sampling,float eta,float phi,float* distance=0,int* steps=0);
+    virtual const CaloGeoDetDescrElement* getDDE(int sampling,float eta,float phi,float* distance=0,int* steps=0);
+    virtual const CaloGeoDetDescrElement* getFCalDDE(int sampling,float eta,float phi,float z);
 
     double deta(int sample,double eta) const;
     void   minmaxeta(int sample,double eta,double& mineta,double& maxeta) const;
@@ -149,9 +152,10 @@ class CaloGeometry : virtual public ICaloGeometry {
     bool DoGraphs() const {return m_dographs;};
 
     TCanvas* DrawGeoForPhi0();
+    FCAL_ChannelMap* GetFCAL_ChannelMap(){return &m_FCal_ChannelMap;}
 
   protected:
-    virtual void addcell(const CaloDetDescrElement* cell);
+    virtual void addcell(const CaloGeoDetDescrElement* cell);
 
     virtual void post_process(int layer);
 
@@ -176,7 +180,7 @@ class CaloGeometry : virtual public ICaloGeometry {
 
     bool m_dographs;
     std::vector< TGraphErrors* > m_graph_layers;
-
+		FCAL_ChannelMap m_FCal_ChannelMap;
     /*
        double  m_min_eta_sample[2][MAX_SAMPLING]; //[side][calosample]
        double  m_max_eta_sample[2][MAX_SAMPLING]; //[side][calosample]
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometryFromFile.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometryFromFile.h
new file mode 100644
index 0000000000000000000000000000000000000000..1a1b749dead73fc1686b3a99603c6c00072b6478
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/CaloGeometryFromFile.h
@@ -0,0 +1,22 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef CaloGeometryFromFile_h
+#define CaloGeometryFromFile_h
+
+#include "ISF_FastCaloSimParametrization/CaloGeometry.h"
+
+
+class CaloGeometryFromFile:public CaloGeometry {
+public :
+   CaloGeometryFromFile();
+   virtual ~CaloGeometryFromFile();
+   
+   virtual bool LoadGeometryFromFile(TString filename,TString treename);
+   virtual bool LoadFCalGeometryFromFiles(TString filename1,TString filename2,TString filename3);
+   void DrawFCalGraph(int isam,int color);
+};
+
+#endif
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FCAL_ChannelMap.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FCAL_ChannelMap.h
new file mode 100755
index 0000000000000000000000000000000000000000..49365dd83db4af3016b89fbbc49363413d21b8fd
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FCAL_ChannelMap.h
@@ -0,0 +1,287 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ***************************************************************************
+// Liquid Argon FCAL detector description package
+// -----------------------------------------
+// Copyright (C) 1998 by ATLAS Collaboration
+//
+//
+// 10-Sep-2000 S.Simion   Handling of the FCAL read-out identifiers
+//    Jan-2001 R.Sobie    Modify for persistency
+//    Feb-2002 R.Sobie    Use same FCAL geometry files as simulation 
+// ***************************************************************************
+
+#ifndef FCAL_CHANNELMAP_H
+#define FCAL_CHANNELMAP_H
+
+
+//<<<<<< INCLUDES                                                       >>>>>>
+
+
+#include <math.h>
+#include <vector>
+#include <functional>
+#include <map>
+#include <string>
+#include <stdexcept>
+
+
+/** This class contains the tube and tile maps for the FCAL <br>
+ * A tile is of a set of FCAL tubes
+  */
+class FCAL_ChannelMap
+{
+public:
+
+    
+
+    //
+    //	 Typedefs:
+    //	
+    typedef unsigned int                          tileName_t;
+    typedef unsigned int                          tubeID_t;
+
+    //------------ TubePosition:  X,Y Position of an FCAL Tube---- //
+    //                                                             //
+    class TubePosition {                                           //
+    public:                                                        //
+      TubePosition();                                              //
+      TubePosition(tileName_t name, float x, float y, std::string hvFT);//
+      tileName_t  get_tileName() const;                            //
+      float       x() const;                                       //
+      float       y() const;                                       //
+      std::string getHVft() const;                                 //Gabe
+    private:                                                       //
+      tileName_t  m_tileName;                                      //
+      float       m_x;                                             //
+      float       m_y;                                             //
+      std::string m_hvFT;                                          // Gabe
+    };                                                             //
+    //-------------------------------------------------------------//
+
+
+
+    /**  Constructors: */
+    FCAL_ChannelMap( int itemp);
+
+    typedef std::map<tubeID_t,  TubePosition >  tubeMap_t;
+    typedef tubeMap_t::size_type       		tubemap_sizetype;
+    typedef tubeMap_t::value_type 	        tubemap_valuetype;
+    typedef tubeMap_t::const_iterator	      	tubemap_const_iterator;
+
+    /** tubeMap access functions */
+    tubemap_const_iterator       tubemap_begin        (int isam) const;
+    tubemap_const_iterator       tubemap_end          (int isam) const;
+    tubemap_sizetype             tubemap_size         (int isam) const;
+
+
+    // Get the tube by copy number:
+    tubemap_const_iterator getTubeByCopyNumber ( int isam, int copyNo) const;
+
+
+    /**  ---- For the new LArFCAL_ID Identifier 
+     */ 
+
+    bool getTileID(int isam, 
+		   float x, 
+		   float y, 
+		   int& eta, 
+		   int& phi) const throw (std::range_error);
+
+    /** For reconstruction, decoding of tile identifiers */
+    float x(int isam, 
+	    int eta, 
+	    int phi) const throw(std::range_error) ;
+    float y(int isam, 
+	    int eta, 
+	    int phi) const throw(std::range_error) ;
+
+    void tileSize(int sam, int eta, int phi, 
+		  float& dx, float& dy) const throw(std::range_error) ;
+
+    void tileSize(int isam, int ntubes, float& dx, float& dy) const;
+
+
+    /** print functions */
+    void print_tubemap  (int isam) const;
+
+    /** set and get for the inversion flags
+    */ 
+
+    bool invert_x() const; 
+    bool invert_xy() const ; 
+    void set_invert_x(bool ); 
+    void set_invert_xy(bool ); 
+
+
+    // Fill this.  The information comes from the database.
+    void add_tube (const std::string & tileName, int mod, int id, int i, int j, double xCm, double yCm);//original
+    void add_tube (const std::string & tileName, int mod, int id, int i, int j, double xCm, double yCm, std::string hvFT);//29-03-07 include HV 
+
+
+    // Finish the job. Create the tile map.
+    void finish();
+
+
+    class TilePosition {
+    public:
+	TilePosition();
+	TilePosition(float x, float y, int ntubes);
+	float         x() const;
+	float         y() const;
+	unsigned int  ntubes() const;
+    private:
+	float        m_x;
+	float        m_y;
+	unsigned int m_ntubes;
+    };
+
+    /** TileMap */
+    typedef std::map<tileName_t, TilePosition >   tileMap_t;
+    typedef tileMap_t::size_type       		  tileMap_sizetype;
+    typedef tileMap_t::value_type              	  tileMap_valuetype;
+    typedef tileMap_t::const_iterator		  tileMap_const_iterator;
+
+    // Methods to iterate over the tile map:
+    tileMap_const_iterator begin(int isam) const {return m_tileMap[isam-1].begin();}
+    tileMap_const_iterator end(int isam)   const {return m_tileMap[isam-1].end(); };
+    
+
+private:
+    /** Geometrical parameters here, in CLHEP::cm please to be compatible with G3 */
+    static const double m_tubeSpacing[];
+    double 		m_tubeDx[3];
+    double 		m_tubeDy[3];
+    double 		m_tileDx[3];
+    double 		m_tileDy[3];
+    mutable bool	m_invert_x;   // Some geometry need x inverted
+    mutable bool	m_invert_xy;  // Some geometry need xy crossed 
+    
+    tileMap_t   	                        m_tileMap[3];
+    void                                        create_tileMap( int isam );
+
+  /** TubeMap */ 
+  tubeMap_t                                 	m_tubeMap[3];
+  std::vector<tubemap_const_iterator>           m_tubeIndex[3];
+};
+
+
+// Tube Position functions
+
+inline
+FCAL_ChannelMap::TubePosition::TubePosition() 
+    :
+  m_tileName(0),
+  m_x(0),
+  m_y(0),
+  m_hvFT("")
+{}
+ 
+inline
+FCAL_ChannelMap::TubePosition::TubePosition(tileName_t name, float x, float y, std::string hvFT)
+    :
+    m_tileName(name),
+    m_x(x),
+    m_y(y),
+    m_hvFT(hvFT)
+{}
+
+
+inline FCAL_ChannelMap::tileName_t
+FCAL_ChannelMap::TubePosition::get_tileName() const
+{
+    return m_tileName;
+}
+
+
+inline float
+FCAL_ChannelMap::TubePosition::x() const
+{
+    return m_x;
+}
+ 
+inline float
+FCAL_ChannelMap::TubePosition::y() const
+{
+    return m_y;
+}
+
+
+inline std::string
+FCAL_ChannelMap::TubePosition::getHVft() const
+{
+  return m_hvFT;
+}
+
+
+// Tile Position functions
+
+inline
+FCAL_ChannelMap::TilePosition::TilePosition() 
+    :
+    m_x(0),
+    m_y(0),
+    m_ntubes(0)
+{}
+ 
+inline
+FCAL_ChannelMap::TilePosition::TilePosition(float x, float y, int ntubes)
+    :
+    m_x(x),
+    m_y(y),
+    m_ntubes(ntubes)
+{}
+
+
+inline float
+FCAL_ChannelMap::TilePosition::x() const
+{
+    return m_x;
+}
+ 
+inline float
+FCAL_ChannelMap::TilePosition::y() const
+{
+    return m_y;
+}
+ 
+inline unsigned int
+FCAL_ChannelMap::TilePosition::ntubes() const
+{
+    return m_ntubes;
+}
+
+inline
+bool FCAL_ChannelMap::invert_x() const {
+return m_invert_x;
+}
+
+inline
+bool FCAL_ChannelMap::invert_xy() const {
+return m_invert_xy;
+}
+
+inline
+void FCAL_ChannelMap::set_invert_x(bool flag ){
+m_invert_x = flag; 
+return ;
+}
+
+inline
+void FCAL_ChannelMap::set_invert_xy(bool flag ){
+m_invert_xy = flag; 
+return ;
+}
+
+//#include "CLIDSvc/CLASS_DEF.h"
+//CLASS_DEF(FCAL_ChannelMap, 74242524, 1)
+ 
+#endif // LARDETDESCR_FCAL_CHANNELMAP_H
+
+
+
+
+
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FastCaloSimCaloExtrapolation.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FastCaloSimCaloExtrapolation.h
deleted file mode 100644
index d63263385aaa01e37271b9bb58646c4452efa239..0000000000000000000000000000000000000000
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FastCaloSimCaloExtrapolation.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FastCaloSimCaloExtrapolation_H
-#define FastCaloSimCaloExtrapolation_H
-
-// Athena includes
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-
-namespace Trk {
-  class TrackingVolume;
-}
-#include "TrkExInterfaces/ITimedExtrapolator.h" 
-
-class ICaloSurfaceBuilder;
-class ICaloSurfaceHelper;
-class ICaloCoordinateTool;
-
-namespace HepPDT {
-  class ParticleDataTable;
-}  
-
-#include "ISF_FastCaloSimParametrization/IFastCaloSimCaloExtrapolation.h"
-#include "ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h"
-#include "ISF_FastCaloSimEvent/TFCSExtrapolationState.h"
-
-class IFastCaloSimGeometryHelper;
-
-
-class FastCaloSimCaloExtrapolation:public AthAlgTool, public IFastCaloSimCaloExtrapolation {
- public:
-   FastCaloSimCaloExtrapolation( const std::string& t, const std::string& n, const IInterface* p );
-   ~FastCaloSimCaloExtrapolation();
-
-   virtual StatusCode initialize();
-   virtual StatusCode finalize();
-
-   IFastCaloSimGeometryHelper* GetCaloGeometry() const {return &(*m_CaloGeometryHelper);};
-
- protected:
-   bool   isCaloBarrel(int sample) const;
-   double deta(int sample,double eta) const;
-   void   minmaxeta(int sample,double eta,double& mineta,double& maxeta) const;
-   double rzmid(int sample,double eta) const;
-   double rzent(int sample,double eta) const;
-   double rzext(int sample,double eta) const;
-   double rmid(int sample,double eta) const;
-   double rent(int sample,double eta) const;
-   double rext(int sample,double eta) const;
-   double zmid(int sample,double eta) const;
-   double zent(int sample,double eta) const;
-   double zext(int sample,double eta) const;
-   double rpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
-   double zpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
-   double rzpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
-   
-   HepPDT::ParticleDataTable*     m_particleDataTable;
-   
-   double m_CaloBoundaryR;
-   double m_CaloBoundaryZ;
-   double m_calomargin;
-
-   /** The new Extrapolator setup */
-   ToolHandle<Trk::ITimedExtrapolator> m_extrapolator;          
-   ToolHandle<ICaloSurfaceHelper>      m_caloSurfaceHelper;
-   mutable const Trk::TrackingVolume*  m_caloEntrance;
-   std::string                         m_caloEntranceName; 
-
-   /** The FastCaloSimGeometryHelper tool */
-   ToolHandle<IFastCaloSimGeometryHelper> m_CaloGeometryHelper;
-};
-
-#endif // FastCaloSimCaloExtrapolation_H
-
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ICaloGeometry.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ICaloGeometry.h
index 13f304cb5a48ad5e0ac33e2d8c58696d18f8c269..41b8a326b50db1fb5b972cecfcafd6b65125f365 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ICaloGeometry.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ICaloGeometry.h
@@ -7,17 +7,18 @@
 
 #include "Identifier/Identifier.h"
 #include "ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h"
+#include "ISF_FastCaloSimParametrization/CaloDetDescrElement.h"
 
-class CaloDetDescrElement;
+class CaloGeoDetDescrElement;
 class ICaloGeometry {
 public :
    virtual bool PostProcessGeometry() = 0;
 
    virtual void Validate() = 0;
 
-   virtual const CaloDetDescrElement* getDDE(Identifier identify) = 0;
+   virtual const CaloGeoDetDescrElement* getDDE(Identifier identify) = 0;
    
-   virtual const CaloDetDescrElement* getDDE(int sampling,float eta,float phi,float* distance=0,int* steps=0) = 0;
+   virtual const CaloGeoDetDescrElement* getDDE(int sampling,float eta,float phi,float* distance=0,int* steps=0) = 0;
    
    virtual double deta(int sample,double eta) const = 0;
    virtual void   minmaxeta(int sample,double eta,double& mineta,double& maxeta) const = 0;
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimCaloExtrapolation.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimCaloExtrapolation.h
index 16c990d63cbde92b344ea2736cdebc6d8bc91e81..09654054d50c337453e1407385adb21760b9e7ef 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimCaloExtrapolation.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimCaloExtrapolation.h
@@ -13,12 +13,13 @@ class TFCSExtrapolationState;
 
 static const InterfaceID IID_IFastCaloSimCaloExtrapolation("IFastCaloSimCaloExtrapolation", 1, 0);
    
-class IFastCaloSimCaloExtrapolation : virtual public IAlgTool {
+class IFastCaloSimCaloExtrapolation : virtual public IAlgTool
+{
  public:
    /** AlgTool interface methods */
    static const InterfaceID& interfaceID() { return IID_IFastCaloSimCaloExtrapolation; }
 
-   virtual void* extrapolate(TFCSTruthState* truth,TFCSExtrapolationState& result) = 0;
+   virtual void extrapolate(TFCSExtrapolationState& result,const TFCSTruthState* truth) = 0;
 
 };
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimGeometryHelper.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimGeometryHelper.h
index bd4aec2e09ef987f9bd0460e93f68ce41e2a088f..99e98623d78c77b1430e2e0a725421679c6c599b 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimGeometryHelper.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/IFastCaloSimGeometryHelper.h
@@ -17,8 +17,10 @@ static const InterfaceID IID_IFastCaloSimGeometryHelper("IFastCaloSimGeometryHel
    
 class IFastCaloSimGeometryHelper : virtual public IAlgTool,virtual public ICaloGeometry {
   public:
-    /** AlgTool interface methods */
-    static const InterfaceID& interfaceID() { return IID_IFastCaloSimGeometryHelper; }
+
+  virtual ~IFastCaloSimGeometryHelper() {}
+  /** AlgTool interface methods */
+  static const InterfaceID& interfaceID() { return IID_IFastCaloSimGeometryHelper; }
     
 };
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h
index 9bbcfd2e04232eab4b232894b4d8ee01a84be0ea..4c88d31ebbc57da58f0f30b592c8bb0779be5b76 100755
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h
@@ -25,13 +25,15 @@
 #include "TrkParameters/TrackParameters.h"
 //#####################################
 
-#include "ISF_FastCaloSimParametrization/FastCaloSimCaloExtrapolation.h"
+#include "ISF_FastCaloSimParametrization/IFastCaloSimCaloExtrapolation.h"
 #include "ISF_FastCaloSimParametrization/IFastCaloSimGeometryHelper.h"
 #include "ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h"
 
-namespace Trk {
+namespace Trk
+{
   class TrackingVolume;
 }
+
 #include "TrkExInterfaces/ITimedExtrapolator.h" 
 #include "TrkEventPrimitives/PdgToParticleHypothesis.h"
 class ICaloSurfaceHelper;
@@ -171,7 +173,22 @@ class ISF_HitAnalysis : public AthAlgorithm {
    std::vector<double>* m_TTC_IDCaloBoundary_z;
    std::vector<double>* m_TTC_Angle3D;
    std::vector<double>* m_TTC_AngleEta;
-
+   
+   std::vector<std::vector<double> >* m_newTTC_entrance_eta;
+   std::vector<std::vector<double> >* m_newTTC_entrance_phi;
+   std::vector<std::vector<double> >* m_newTTC_entrance_r;
+   std::vector<std::vector<double> >* m_newTTC_entrance_z;
+   std::vector<std::vector<double> >* m_newTTC_back_eta;
+   std::vector<std::vector<double> >* m_newTTC_back_phi;
+   std::vector<std::vector<double> >* m_newTTC_back_r;
+   std::vector<std::vector<double> >* m_newTTC_back_z;
+   std::vector<double>* m_newTTC_IDCaloBoundary_eta;
+   std::vector<double>* m_newTTC_IDCaloBoundary_phi;
+   std::vector<double>* m_newTTC_IDCaloBoundary_r;
+   std::vector<double>* m_newTTC_IDCaloBoundary_z;
+   std::vector<double>* m_newTTC_Angle3D;
+   std::vector<double>* m_newTTC_AngleEta;
+   
    /** The new Extrapolator setup */
    ToolHandle<Trk::ITimedExtrapolator>   m_extrapolator;          
    ToolHandle<ICaloSurfaceHelper>   m_caloSurfaceHelper;
@@ -199,9 +216,13 @@ class ISF_HitAnalysis : public AthAlgorithm {
    std::vector< CaloCell_ID_FCS::CaloSample > m_surfacelist;
    
    //CaloGeometryFromCaloDDM* m_CaloGeometry;
+   
    /** The FastCaloSimGeometryHelper tool */
    ToolHandle<IFastCaloSimGeometryHelper> m_CaloGeometryHelper;
 
+   /** The FastCaloSimCaloExtrapolation tool */
+   ToolHandle<IFastCaloSimCaloExtrapolation> m_FastCaloSimCaloExtrapolation;
+ 
    bool   isCaloBarrel(int sample) const;
    double deta(int sample,double eta) const;
    void   minmaxeta(int sample,double eta,double& mineta,double& maxeta) const;
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/EnergyParametrizationValidation.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/EnergyParametrizationValidation.cxx
index 5c2378bb79610bb353b3e5f28ec37b5787be60cd..c748006767cff26cb3251b4b12f2b3fd98b8c504 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/EnergyParametrizationValidation.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/EnergyParametrizationValidation.cxx
@@ -1,6 +1,6 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
+ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+ */
 
 #include "TH1D.h"
 #include "TFile.h"
@@ -18,100 +18,100 @@ using namespace std;
 
 void EnergyParametrizationValidation::autozoom(TH1D* h1, double &min, double &max, double &rmin, double &rmax)
 {
- 
- double min1,min2,max1,max2;
- min1=min2=h1->GetXaxis()->GetXmin();
- max1=max2=h1->GetXaxis()->GetXmax();
- 
- for(int b=1;b<=h1->GetNbinsX();b++)
- {
-  if(h1->GetBinContent(b)>0)
+  
+  double min1,min2,max1,max2;
+  min1=min2=h1->GetXaxis()->GetXmin();
+  max1=max2=h1->GetXaxis()->GetXmax();
+  
+  for(int b=1;b<=h1->GetNbinsX();b++)
   {
-   min1=h1->GetBinCenter(b);
-   break;
+    if(h1->GetBinContent(b)>0)
+    {
+      min1=h1->GetBinCenter(b);
+      break;
+    }
   }
- }
- for(int b=h1->GetNbinsX();b>=1;b--)
- {
-  if(h1->GetBinContent(b)>0)
+  for(int b=h1->GetNbinsX();b>=1;b--)
   {
-   max1=h1->GetBinCenter(b);
-   break;
+    if(h1->GetBinContent(b)>0)
+    {
+      max1=h1->GetBinCenter(b);
+      break;
+    }
   }
- }
- 
- min=min1;max=max1;
-
- 
- rmin=min-0.5*h1->GetBinWidth(1);
- rmax=max+0.5*h1->GetBinWidth(1);
- 
+  
+  min=min1;max=max1;
+  
+  
+  rmin=min-0.5*h1->GetBinWidth(1);
+  rmax=max+0.5*h1->GetBinWidth(1);
+  
 }
 
 TH1D* EnergyParametrizationValidation::refill(TH1D* h_in,double min, double max, double rmin, double rmax)
 {
- 
- //int debug=0;
- 
- int Nbins;
- int bins=0;
- for(int b=h_in->FindBin(min);b<=h_in->FindBin(max);b++)
+  
+  //int debug=0;
+  
+  int Nbins;
+  int bins=0;
+  for(int b=h_in->FindBin(min);b<=h_in->FindBin(max);b++)
   bins++;
- 
- if(bins<=120)
- {
- 	//no rebinning
- 	Nbins=bins;
- }
- else
- {
- 	int tries=0;
- 	int rebin=2;
-  
- 	while(tries<1000)
- 	{
- 	 if((10000%rebin)==0)
- 	 {
- 	 	TH1D* h_clone=(TH1D*)h_in->Clone("h_clone");
- 	  h_clone->Rebin(rebin);
- 	  Nbins=0;
- 	  for(int b=h_clone->FindBin(min);b<=h_clone->FindBin(max);b++)
-     Nbins++;
-    if(Nbins<120 && Nbins>50)
+  
+  if(bins<=120)
+  {
+    //no rebinning
+    Nbins=bins;
+  }
+  else
+  {
+    int tries=0;
+    int rebin=2;
+    
+    while(tries<1000)
+    {
+      if((10000%rebin)==0)
+      {
+        TH1D* h_clone=(TH1D*)h_in->Clone("h_clone");
+        h_clone->Rebin(rebin);
+        Nbins=0;
+        for(int b=h_clone->FindBin(min);b<=h_clone->FindBin(max);b++)
+        Nbins++;
+        if(Nbins<120 && Nbins>50)
+        {
+          h_in->Rebin(rebin);
+          cout<<"*decide for rebin="<<rebin<<"*"<<endl;
+          break;
+        }
+      }
+      rebin++;
+      tries++;
+    }
+    if(tries>=1000)
     {
-     h_in->Rebin(rebin);
-     cout<<"*decide for rebin="<<rebin<<"*"<<endl;
-     break;
+      cout<<" ********** GIVE UP ********** "<<endl;
+      h_in->Rebin((double)bins/100.0);
+      Nbins=0;
+      for(int b=h_in->FindBin(min);b<=h_in->FindBin(max);b++)
+      Nbins++;
     }
-   }
-   rebin++;
-   tries++;
   }
-  if(tries>=1000)
+  
+  //if(debug) cout<<"---> NBINS "<<Nbins<<endl;
+  
+  int start=h_in->FindBin(min)-1;
+  
+  //if(debug) cout<<"AFTER rebin ->underflow "<<h_in->GetBinContent(0)<<" startbin "<<start<<" minimum "<<min<<endl;
+  
+  TH1D* h_out=new TH1D("h_out","h_out",Nbins,rmin,rmax);
+  for(int b=1;b<=h_out->GetNbinsX();b++)
   {
-   cout<<" ********** GIVE UP ********** "<<endl;
- 	 h_in->Rebin((double)bins/100.0);
- 	 Nbins=0;
- 	 for(int b=h_in->FindBin(min);b<=h_in->FindBin(max);b++)
-    Nbins++;
+    h_out->SetBinContent(b,h_in->GetBinContent(start+b));
+    h_out->SetBinError(b,h_in->GetBinError(start+b));
   }
- }
- 
- //if(debug) cout<<"---> NBINS "<<Nbins<<endl;
-
- int start=h_in->FindBin(min)-1;
- 
- //if(debug) cout<<"AFTER rebin ->underflow "<<h_in->GetBinContent(0)<<" startbin "<<start<<" minimum "<<min<<endl;
- 
- TH1D* h_out=new TH1D("h_out","h_out",Nbins,rmin,rmax);
- for(int b=1;b<=h_out->GetNbinsX();b++)
- {
- 	h_out->SetBinContent(b,h_in->GetBinContent(start+b));
- 	h_out->SetBinError(b,h_in->GetBinError(start+b));
- }
-
- //if(debug) cout<<"AFTER refill ->underflow "<<h_out->GetBinContent(0)<<" startbin "<<start<<" minimum "<<min<<endl;
-
- return h_out;
- 
+  
+  //if(debug) cout<<"AFTER refill ->underflow "<<h_out->GetBinContent(0)<<" startbin "<<start<<" minimum "<<min<<endl;
+  
+  return h_out;
+  
 }
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/LinkDef.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/LinkDef.h
index 634915782fe0d266888a99ecc198905356872f50..5df2b861b1c9c3ba0b4aa25dc8416540c799ae48 100755
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/LinkDef.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/LinkDef.h
@@ -7,19 +7,7 @@
 #pragma link C++ class TFCSNNLateralShapeParametrization+;
 #pragma link C++ class TFCSSimpleLateralShapeParametrization+;
 #pragma link C++ class MeanAndRMS;
-#pragma link C++ class TFCS1DFunctionRegression;
-#pragma link C++ class TFCS1DFunctionHistogram;
-#pragma link C++ class TFCSFunction;
 #pragma link C++ class TreeReader;
-#pragma link C++ class firstPCA;
-#pragma link C++ class secondPCA;
-#pragma link C++ class DetailedShowerShape;
-#pragma link C++ class TFCS2DFunction;
-#pragma link C++ class TFCS2Function;
-#pragma link C++ class FitDetailedShape;
-#pragma link C++ class TFCS2DFunctionRegression;
-#pragma link C++ class TFCS1DFunctionRegressionTF;
-#pragma link C++ class DetailedShapeBinning;
 #pragma link C++ class EnergyParametrizationValidation;
 #ifndef CaloGeometryFromFile_h
 #pragma link C++ class CaloGeometryLookup;
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionRegression.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionRegression.cxx
deleted file mode 100644
index b46cfb62231f5839974b767459158b4142f378de..0000000000000000000000000000000000000000
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionRegression.cxx
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-using namespace std;
-#include "ISF_FastCaloSimParametrization/TFCS1DFunctionRegression.h"
-
-#include "TMVA/Config.h"
-#include "TMVA/Tools.h"
-#include "TMVA/Reader.h"
-#include "TMVA/Factory.h"
-#include "TRandom3.h"
-#include "TFile.h"
-#include "TString.h"
-#include "TMath.h"
-
-#include "TMVA/IMethod.h"
-#include "TMVA/MethodMLP.h"
-
-
-//=============================================
-//======= TFCS1DFunctionRegression =========
-//=============================================
-
-TFCS1DFunctionRegression::TFCS1DFunctionRegression()
-{
-}
-
-TFCS1DFunctionRegression::TFCS1DFunctionRegression(TH1* hist)
-{
-	
-  Initialize(hist);
-  
-}
-
-
-void TFCS1DFunctionRegression::Initialize(TH1* /*hist*/)
-{
- //not needed
-}
-
-void TFCS1DFunctionRegression::storeRegression(string weightfilename)
-{
-  
-	get_weights(weightfilename);
- 	
-  //for testing:
-  validate(10,weightfilename);
- 
-}
-
-
-void TFCS1DFunctionRegression::validate(int Ntoys,string weightfilename)
-{
- 
- TRandom* myRandom=new TRandom3(); myRandom->SetSeed(0);
- 
- //calculate regression from the weights and compare to TMVA value:
- cout<<endl;
- cout<<"--- Validating the regression value:"<<endl;
- for(int i=0;i<Ntoys;i++)
- {
-  double random=myRandom->Uniform(1);
-  double myval=regression_value(random);
-  double tmvaval=tmvaregression_application(random,weightfilename);
-  cout<<"myvalue "<<myval<<" TMVA value "<<tmvaval<<endl;
- }
- 
-}
-
-
-void TFCS1DFunctionRegression::get_weights(string weightfile)
-{
-
-
- using namespace TMVA;
- int debug=1;
- 
- TString myMethodList = "" ;
- TMVA::Tools::Instance();
- 
- std::map<std::string,int> Use;
-
- // --- Mutidimensional likelihood and Nearest-Neighbour methods
- Use["PDERS"]           = 0;   Use["PDEFoam"]         = 0;   Use["KNN"]            = 0;
- Use["LD"]		          = 0;   Use["FDA_GA"]          = 0;   Use["FDA_MC"]          = 0;
- Use["FDA_MT"]          = 0;   Use["FDA_GAMT"]        = 0;   Use["MLP"]             = 1; 
- Use["SVM"]             = 0;   Use["BDT"]             = 0;   Use["BDTG"]            = 0;
- // ---------------------------------------------------------------
-
- // Select methods (don't look at this code - not of interest)
- if (myMethodList != "")
- {
-  for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) it->second = 0;
-  std::vector<TString> mlist = gTools().SplitString( myMethodList, ',' );
-  for (UInt_t i=0; i<mlist.size(); i++)
-  {
-   std::string regMethod(mlist[i]);
-   if (Use.find(regMethod) == Use.end())
-   {
-    std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
-    for(std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) std::cout << it->first << " ";
-    std::cout << std::endl;
-   }
-   Use[regMethod] = 1;
-  }
- }
- 
- // --------------------------------------------------------------------------------------------------
- 
- TMVA::Reader *reader = new TMVA::Reader( "!Color:Silent");    
- 
- Float_t y=0.5; //just a dummy
- reader->AddVariable( "y", &y );
- 
- TString dir   = Form("dl/%s/",weightfile.c_str());
- TString prefix = "TMVARegression";
- 
- for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++)
- {
-  if (it->second)
-  {
-   TString methodName = it->first + " method";
-   TString weightfilename = dir + prefix + "_" + TString(it->first) + ".weights.xml";
-   reader->BookMVA( methodName, weightfilename ); 
-  }
- }
- 
- TMVA::IMethod* m=reader->FindMVA("MLP method");
- TMVA::MethodMLP *mlp = dynamic_cast<TMVA::MethodMLP*>(m);
- TObjArray* Network=mlp->fNetwork;
- int num_neurons_input=((TObjArray*)Network->At(1))->GetEntriesFast()-1;
- if(debug) cout<<"num_neurons_input "<<num_neurons_input<<endl;
-// mlp->MakeClass(Form("mlpcode_neurons%i.C",num_neurons_input));
- 
- int fLayers = Network->GetEntriesFast();
- 
- for(int a=0;a<((TObjArray*)Network->At(1))->GetEntriesFast();a++)
- {
-  vector<double> thisvector;
-  for(int b=0;b<((TObjArray*)Network->At(0))->GetEntriesFast();b++)
-   thisvector.push_back(0);
-  m_fWeightMatrix0to1.push_back(thisvector);
- }
- 
- for(int a=0;a<((TObjArray*)Network->At(2))->GetEntriesFast();a++)
- {
-  vector<double> thisvector;
-  for(int b=0;b<((TObjArray*)Network->At(1))->GetEntriesFast();b++)
-   thisvector.push_back(0);
-  m_fWeightMatrix1to2.push_back(thisvector);
- }
- 
- 
- TObjArray* curLayer= (TObjArray*)Network->At(0);
- Int_t numNeurons = curLayer->GetEntriesFast();
- for (Int_t n = 0; n < numNeurons; n++)
- {  
-  TMVA::TNeuron* neuron = (TMVA::TNeuron*)curLayer->At(n);
-  int numSynapses = neuron->NumPostLinks();
-  for (int s = 0; s < numSynapses; s++)
-  {
-   TMVA::TSynapse* synapse = neuron->PostLinkAt(s);  
-   m_fWeightMatrix0to1[s][n]=synapse->GetWeight();
-   if(debug) cout<<"fWeightMatrix0to1["<<s<<"]["<<n<<"] "<<synapse->GetWeight()<<endl;
-  }
- }
- 
- curLayer= (TObjArray*)Network->At(1);
- numNeurons = curLayer->GetEntriesFast();
- for (Int_t n = 0; n < numNeurons; n++)
- {  
-  TMVA::TNeuron* neuron = (TMVA::TNeuron*)curLayer->At(n);
-  int numSynapses = neuron->NumPostLinks();
-  for (int s = 0; s < numSynapses; s++)
-  {
-   TMVA::TSynapse* synapse = neuron->PostLinkAt(s);  
-   m_fWeightMatrix1to2[s][n]=synapse->GetWeight();
-   if(debug) cout<<"fWeightMatrix1to2["<<s<<"]["<<n<<"] "<<synapse->GetWeight()<<endl;
-  }
- }
- 
- delete reader;
- 
-}
-
-double TFCS1DFunctionRegression::regression_value(double uniform)
-{
- 
- double myresult=-1;
- 
- int n_neurons=m_fWeightMatrix0to1.size()-1;
- 
- if(n_neurons>0)
- {
-  
-  int fLayers=3;
-  vector<int> fLayerSize;
-  fLayerSize.push_back(2);
-  fLayerSize.push_back(n_neurons+1);
-  fLayerSize.push_back(1);
-  
-  vector<vector<double> > fWeights;
-  for(int l=0;l<fLayers;l++)
-  {
-   vector<double> thisvector;
-   for(int i=0;i<fLayerSize[l];i++)
-    thisvector.push_back(0); //placeholder
-   fWeights.push_back(thisvector);
-  }
-  
-  for (int l=0; l<fLayers; l++)
-   for (int i=0; i<fLayerSize[l]; i++)
-    fWeights[l][i]=0;
-  
-  for (int l=0; l<fLayers-1; l++)
-   fWeights[l][fLayerSize[l]-1]=1;
-  
-  for (int i=0; i<fLayerSize[0]-1; i++)
-   fWeights[0][i]=uniform;
-  
-  // layer 0 to 1
-  for (int o=0; o<fLayerSize[1]-1; o++)
-  {
-   for (int i=0; i<fLayerSize[0]; i++)
-   {
-    fWeights[1][o] += m_fWeightMatrix0to1[o][i] * fWeights[0][i];
-   }
-   fWeights[1][o] = tanh(fWeights[1][o]);
-  }
-  
-  // layer 1 to 2
-  for (int o=0; o<fLayerSize[2]; o++)
-  {
-   for (int i=0; i<fLayerSize[1]; i++)
-   {
-    fWeights[2][o] += m_fWeightMatrix1to2[o][i] * fWeights[1][i];
-   }
-  }
-  
-  myresult=fWeights[2][0];
-  
- }
- 
- return myresult;
- 
-}
-
-
-double TFCS1DFunctionRegression::rnd_to_fct(double rnd)
-{
-  
-  double value=regression_value(rnd); 
-  return value;
-  
-}
-
-
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-//ClassImp(TFCS1DFunctionRegression)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionRegressionTF.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionRegressionTF.cxx
deleted file mode 100644
index ccc7d904d0a836336c7181ac54e404b09f3d28f3..0000000000000000000000000000000000000000
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS1DFunctionRegressionTF.cxx
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-using namespace std;
-#include "ISF_FastCaloSimParametrization/TFCS1DFunctionRegressionTF.h"
-#include "TFile.h"
-#include "TString.h"
-#include "TMath.h"
-
-
-//=============================================
-//======= TFCS1DFunctionRegressionTF =========
-//=============================================
-
-using namespace std;
-
-TFCS1DFunctionRegressionTF::TFCS1DFunctionRegressionTF()
-{
-  m_rangeval = 0;
-  m_startval = 0;
-}
-
-void TFCS1DFunctionRegressionTF::storeRegression(string weightfilename, float rangeval, float startval)
-{
-  
-  m_rangeval=rangeval;
-  m_startval=startval;
-  
-	get_weights(weightfilename);
- 
-}
-
-double TFCS1DFunctionRegressionTF::retransform(double value)
-{
- 
- return (value*m_rangeval+m_startval);
- 
-}
-
-double TFCS1DFunctionRegressionTF::rnd_to_fct(double rnd)
-{
-  
-  double value=regression_value(rnd); 
-  if(m_rangeval>0)
-   value=retransform(value);
-  return value;
-  
-}
-
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-//ClassImp(TFCS1DFunctionRegressionTF)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TreeReader.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TreeReader.cxx
index 56e8a183b701d8732571beb278788b759d1bad13..1c6ff972bc2f61f362e6cd191db6ad34316ad6b7 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TreeReader.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TreeReader.cxx
@@ -1,6 +1,6 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
+ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+ */
 
 #include "TTreeFormula.h"
 #include "TTreeFormulaManager.h"
@@ -19,8 +19,8 @@
 
 //______________________________________________________________________________
 /*
-Class for Tree reading through TFormula.
-______________________________________________________________________________*/
+ Class for Tree reading through TFormula.
+ ______________________________________________________________________________*/
 
 
 TreeReader::TreeReader()
@@ -41,7 +41,7 @@ TreeReader::~TreeReader()
 
 //============================================================
 TreeReader::TreeReader(TTree* n)
-  //============================================================
+//============================================================
 {
   // Constructor.
   m_tree = 0;
@@ -51,7 +51,7 @@ TreeReader::TreeReader(TTree* n)
 
 //============================================================
 void TreeReader::SetTree(TTree* n)
-  //============================================================
+//============================================================
 {
   // check for null pointer BEFORE trying to use it
   if(!n) return;
@@ -59,7 +59,7 @@ void TreeReader::SetTree(TTree* n)
   m_tree = n;
   m_currentEntry = -1;
   m_formulae.clear();
-  m_formulae["__DUMMY__"] = new TTreeFormula("__DUMMY__","0",m_tree);  
+  m_formulae["__DUMMY__"] = new TTreeFormula("__DUMMY__","0",m_tree);
   m_isChain = (n->IsA() == TClass::GetClass("TChain"));
   m_currentTree = 0;
   m_entries = (int) m_tree->GetEntries();
@@ -67,71 +67,71 @@ void TreeReader::SetTree(TTree* n)
 
 //=============================================================
 double TreeReader::GetVariable(const char* c, int entry)
-  //============================================================
+//============================================================
 {
   // Get vaviable.
   // Return variable for a given entry (<0 -> current entry).
-if(entry>=0 && entry!=m_currentEntry) this->GetEntry(entry);
-std::string s = c;
-TTreeFormula *f = m_formulae[s]; 
-if(!f)
+  if(entry>=0 && entry!=m_currentEntry) this->GetEntry(entry);
+  std::string s = c;
+  TTreeFormula *f = m_formulae[s];
+  if(!f)
   {
-  f = new TTreeFormula(c,c,m_tree);
-  f->SetQuickLoad(kTRUE);
-//   fManager->Add(f);
-//   fManager->Sync();  
-  if(f->GetNdim()!=1)  //invalid fomula
+    f = new TTreeFormula(c,c,m_tree);
+    f->SetQuickLoad(kTRUE);
+    //   fManager->Add(f);
+    //   fManager->Sync();
+    if(f->GetNdim()!=1)  //invalid fomula
     {
-    delete f;
-    f = m_formulae["__DUMMY__"];
-    std::cout << "in [TreeReader] : " << s << " is not valid -> return 0" << std::endl;
+      delete f;
+      f = m_formulae["__DUMMY__"];
+      std::cout << "in [TreeReader] : " << s << " is not valid -> return 0" << std::endl;
     }
-//  else {f->Notify();}
-  m_formulae[s] = f;     
+    //  else {f->Notify();}
+    m_formulae[s] = f;
   }
-if(f == m_formulae["__DUMMY__"]) return 0; 
-int valid = f->GetNdata()  ;
-if(!valid) return 0; 
-// std::cout << "Evaluating formula : " << s << std::flush;
-// std::cout << "  " << f->EvalInstance(0) << std::endl;
-return f->EvalInstance(0);
+  if(f == m_formulae["__DUMMY__"]) return 0;
+  int valid = f->GetNdata()  ;
+  if(!valid) return 0;
+  // std::cout << "Evaluating formula : " << s << std::flush;
+  // std::cout << "  " << f->EvalInstance(0) << std::endl;
+  return f->EvalInstance(0);
 }
 
 
 //============================================================
 int TreeReader::GetEntry(int entry)
-  //============================================================
+//============================================================
 {
   // Read a given entry in the buffer (-1 -> next entry).
   // Return kFALSE if not found.
-//   entry += 1;
+  //   entry += 1;
   if(m_entries==0) return 0;
   if(entry==-1) entry = m_currentEntry+1;
   if(entry<m_entries)
-    {
+  {
     int entryNumber = m_tree->GetEntryNumber(entry);
     if (entryNumber < 0) return 0;
-    Long64_t localEntry = m_tree->LoadTree(entryNumber);   
-    if (localEntry < 0) return 0;    
+    Long64_t localEntry = m_tree->LoadTree(entryNumber);
+    if (localEntry < 0) return 0;
     m_currentEntry = entry;
-      if(m_isChain) // check file change in chain
+    if(m_isChain) // check file change in chain
+    {
+      int I = static_cast<TChain*>(m_tree)->GetTreeNumber();
+      if(I!=m_currentTree)
+      {
+        m_currentTree = I;
+        //fManager->Clear();
+        std::map<std::string, TTreeFormula*>::iterator itr = m_formulae.begin();
+        std::map<std::string, TTreeFormula*>::iterator itrE= m_formulae.end();
+        TTreeFormula* dummy = m_formulae["__DUMMY__"];
+        for(;itr!=itrE;itr++)
         {
-        int I = static_cast<TChain*>(m_tree)->GetTreeNumber();   
-        if(I!=m_currentTree) 
-          {
-          m_currentTree = I;
-          //fManager->Clear();
-          std::map<std::string, TTreeFormula*>::iterator itr = m_formulae.begin();
-          std::map<std::string, TTreeFormula*>::iterator itrE= m_formulae.end();  
-          TTreeFormula* dummy = m_formulae["__DUMMY__"];     
-          for(;itr!=itrE;itr++) 
-            { 
-            if(itr->second!=dummy) itr->second->Notify(); //itr->second->UpdateFormulaLeaves();
-   	        }
-          }	
-        }     
-      return 1;
+          if(itr->second!=dummy) itr->second->Notify(); //itr->second->UpdateFormulaLeaves();
+        }
+      }
     }
+    return 1;
+  }
   return 0;
 }
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/cmt/requirements b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/cmt/requirements
deleted file mode 100644
index 1ca39200f92b0346ca784de0982f8b6c9b063da4..0000000000000000000000000000000000000000
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/cmt/requirements
+++ /dev/null
@@ -1,90 +0,0 @@
-package ISF_FastCaloSimParametrization
-author <Zdenek.Hubacek@cern.ch>
-
-manager Elmar Ritsch <Elmar.Ritsch@cern.ch>
-manager Zdenek Hubacek <Zdenek.Hubacek@cern.ch>
-
-use AtlasPolicy                 AtlasPolicy-*
-use StoreGate                   StoreGate-*                     Control
-use AthenaKernel                AthenaKernel-*                  Control
-use GaudiInterface              GaudiInterface-*                External
-use AthenaBaseComps             AthenaBaseComps-*               Control
-use CaloDetDescr                CaloDetDescr-*                  Calorimeter
-use AtlasROOT                   AtlasROOT-*                     External
-use Identifier                  Identifier-*                    DetectorDescription
-use AtlasCLHEP                  AtlasCLHEP-*                    External
-use LArElecCalib                LArElecCalib-*                  LArCalorimeter
-
-######################
-use TrkParameters               TrkParameters-*                 Tracking/TrkEvent
-use TrkEventPrimitives          TrkEventPrimitives-*   Tracking/TrkEvent
-use TrkExInterfaces             TrkExInterfaces-*               Tracking/TrkExtrapolation
-use AtlasHepMC                  AtlasHepMC-*                    External
-use HepPDT                      v*                              LCG_Interfaces
-######################
-
-use CaloInterface               CaloInterface-*                 Calorimeter
-use BarcodeEvent                BarcodeEvent-*                  Simulation/Barcode
-use ISF_Interfaces              ISF_Interfaces-*                Simulation/ISF/ISF_Core
-use ISF_FastCaloSimEvent        ISF_FastCaloSimEvent-*          Simulation/ISF/ISF_FastCaloSim
-
-private
-use Geant4                      Geant4-*                        External
-use EventInfo                   EventInfo-*                     Event
-use GeoModelInterfaces          GeoModelInterfaces-*            DetectorDescription/GeoModel
-# For reading file/DB metadata
-use AthenaPoolUtilities         AthenaPoolUtilities-*           Database/AthenaPOOL
-
-use GeneratorObjects            GeneratorObjects-*              Generators
-use TileSimEvent                TileSimEvent-*                  TileCalorimeter
-use TileDetDescr                TileDetDescr-*                  TileCalorimeter
-use LArSimEvent                 LArSimEvent-*                   LArCalorimeter
-use GeoAdaptors                 GeoAdaptors-*                   DetectorDescription/GeoModel
-use CaloIdentifier              CaloIdentifier-*                Calorimeter
-use CaloGeoHelpers              CaloGeoHelpers-*                Calorimeter
-use TileConditions              TileConditions-*                TileCalorimeter
-
-use NavFourMom                  NavFourMom-*                    Event
-use ISF_Event                   ISF_Event-*                     Simulation/ISF/ISF_Core
-use CaloEvent                   CaloEvent-*                     Calorimeter
-use ISF_FastCaloSimInterfaces   ISF_FastCaloSimInterfaces-*     Simulation/ISF/ISF_FastCaloSim
-
-####################
-use CaloTrackingGeometry        CaloTrackingGeometry-*          Calorimeter
-use TrkMaterialOnTrack          TrkMaterialOnTrack-*            Tracking/TrkEvent
-use TrkSurfaces                 TrkSurfaces-*                   Tracking/TrkDetDescr
-use TrkGeometry         TrkGeometry-*          Tracking/TrkDetDescr
-####################
-
-
-end_private
-
-apply_tag ROOTGraphicsLibs
-apply_tag ROOTMathLibs
-apply_tag ROOTTMVALibs
-apply_tag ROOTTreePlayerLibs
-
-# Create a named installed library
-library ISF_FastCaloSimParametrizationLib "../Root/*.cxx ../src/*.cxx"
-apply_pattern named_installed_library library=ISF_FastCaloSimParametrizationLib
-
-# Create the CINT dictionary
-private
-macro_append extra_root_cint_includes " -p -I$(CaloGeoHelpers_root) "
-end_private
-apply_pattern have_root_headers root_headers="MeanAndRMS.h TFCSLateralShapeParametrization.h TFCSNNLateralShapeParametrization.h TFCSSimpleLateralShapeParametrization.h TFCS1DFunctionRegression.h TFCS1DFunctionHistogram.h TFCSFunction.h TreeReader.h firstPCA.h secondPCA.h TFCS2Function.h TFCS2DFunction.h DetailedShapeBinning.h FitDetailedShape.h TFCS2DFunctionRegression.h TFCS1DFunctionRegressionTF.h ../Root/LinkDef.h" \ 
-              headers_lib=ISF_FastCaloSimParametrizationLib 
-
-macro_append ISF_FastCaloSimParametrizationLib_shlibflags "-L$(ROOTSYS)/lib -lTree -lTreePlayer"
-apply_pattern cmake_add_command command="find_package(ROOT COMPONENTS Tree TreePlayer)"
-
-library ISF_FastCaloSimParametrization *.cxx components/*.cxx
-macro_append ISF_FastCaloSimParametrization_dependencies " ISF_FastCaloSimParametrizationLib"
-apply_pattern component_library
-
-apply_pattern declare_joboptions files="*.py"
-apply_pattern declare_python_modules files="*.py"
-
-private
-#macro cppdebugflags '$(cppdebugflags_s)'
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCS1DRegression.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCS1DRegression.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..cb881836b9c4571ac50d2004d33fff54a3872b20
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCS1DRegression.cxx
@@ -0,0 +1,484 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#include "TFCS1DRegression.h"
+#include "ISF_FastCaloSimEvent/TFCS1DFunction.h"
+
+#include "TMVA/Config.h"
+#include "TMVA/Tools.h"
+#include "TMVA/Reader.h"
+#include "TMVA/Factory.h"
+#include "TRandom1.h"
+#include "TFile.h"
+#include "TString.h"
+#include "TMath.h"
+
+#include "TMVA/DataLoader.h"
+
+#include "TMVA/IMethod.h"
+#include "TMVA/MethodMLP.h"
+
+using namespace std;
+
+
+void TFCS1DRegression::storeRegression(string weightfilename, vector<vector<double> > &fWeightMatrix0to1, vector<vector<double> > &fWeightMatrix1to2)
+{
+  
+	get_weights(weightfilename, fWeightMatrix0to1, fWeightMatrix1to2);
+ 	
+  //for testing:
+  //validate(10,weightfilename);
+ 
+}
+
+void TFCS1DRegression::validate(int Ntoys,string weightfilename)
+{
+ 
+ TRandom1* myRandom=new TRandom1(); myRandom->SetSeed(0);
+ 
+ //calculate regression from the weights and compare to TMVA value:
+ cout<<endl;
+ cout<<"--- Validating the regression value:"<<endl;
+ for(int i=0;i<Ntoys;i++)
+ {
+  double random=myRandom->Uniform(1);
+  //double myval=regression_value(random);
+  double myval=-1;
+  double tmvaval=tmvaregression_application(random,weightfilename);
+  cout<<"myvalue "<<myval<<" TMVA value "<<tmvaval<<endl;
+ }
+}
+
+TH1* TFCS1DRegression::transform(TH1* h_input, float &rangeval, float& startval)
+{
+
+  bool do_transform=false;
+  float xmin=h_input->GetXaxis()->GetXmin();
+  float xmax=h_input->GetXaxis()->GetXmax();
+  if(xmin<0 || xmax>1) do_transform=true;
+
+  TH1D* h_out;
+
+  if(do_transform)
+  {
+    int nbins=h_input->GetNbinsX();
+    double min=0;
+    double max=1;
+    h_out=new TH1D("h_out","h_out",nbins,min,max);
+
+    for(int b=1;b<=nbins;b++)
+      h_out->SetBinContent(b,h_input->GetBinContent(b));
+
+    //store the inital range
+    rangeval=xmax-xmin;
+    startval=xmin;
+  }
+  if(!do_transform)
+  {
+    rangeval=-1;
+    h_out=(TH1D*)h_input->Clone("h_out");
+  }
+  return h_out;
+
+}
+
+double TFCS1DRegression::get_range_low(TH1* hist)
+{
+  double range_low=0.0;
+  int bin_start=-1;
+  for(int b=1;b<=hist->GetNbinsX();b++)
+  {
+    if(hist->GetBinContent(b)>0 && bin_start<0)
+    {
+      bin_start=b;
+      range_low=hist->GetBinContent(b);
+      b=hist->GetNbinsX()+1;
+    }
+  }
+  return range_low;
+}
+
+TH1* TFCS1DRegression::get_cumul(TH1* hist)
+{
+  TH1D* h_cumul=(TH1D*)hist->Clone("h_cumul");
+  double sum=0;
+  for(int b=1;b<=h_cumul->GetNbinsX();b++)
+  {
+    sum+=hist->GetBinContent(b);
+    h_cumul->SetBinContent(b,sum);
+  }
+  return h_cumul; 
+}
+
+int TFCS1DRegression::testHisto(TH1* hist, std::string weightfilename, float &rangeval, float &startval, std::string outfilename, int neurons_start, int neurons_end, double cut_maxdev, int ntoys)
+{
+  //int debug=1;
+
+  //transform the histogram
+  TH1* h_transf=transform(hist, rangeval, startval); h_transf->SetName("h_transf");
+  
+  //new! map the y-axis to 0-1:
+  
+  
+  //Turn the histogram into a tree:
+  std::vector<double> contents;
+  std::vector<double> centers;
+  for(int b=1;b<=h_transf->GetNbinsX();b++)
+  {
+    contents.push_back(h_transf->GetBinContent(b));
+    centers.push_back(h_transf->GetBinCenter(b));
+  }
+
+  TTree* tree=new TTree("tree","tree");
+  Float_t x,y;
+  tree->Branch("x",&x,"x/F");
+  tree->Branch("y",&y,"y/F");
+
+  for(unsigned int i=0;i<centers.size();i++)
+  {
+    y=(Float_t)(contents[i]);   //xvals are the BinContents
+    x=(Float_t)(centers[i]);    //yvals are the BinCenters
+
+    tree->Fill();
+  }
+  
+  double range_low=get_range_low(h_transf);
+
+  TRandom1* myRandom=new TRandom1(); myRandom->SetSeed(0);
+  
+  int do_range=1;
+  double maxdev=1000;
+  int neurons=neurons_start;
+  std::vector<TH1*> histos;
+  while(maxdev>cut_maxdev && neurons<=neurons_end)
+  {
+  	
+   int pass_training=0;
+   try
+   {
+    TFCS1DRegression::tmvaregression_training(neurons, tree, weightfilename, outfilename, pass_training);
+   }
+   catch(std::runtime_error &e)
+   {
+    std::cout<<"An exception occured: "<<e.what()<<std::endl;
+    std::cout<<"Continuing anyway :P"<<std::endl;
+    pass_training=0;
+   }
+    
+   if(pass_training)
+   {
+    
+    std::cout<<"Testing the regression with "<<ntoys<<" toys"<<std::endl;
+    TH1* h_output=(TH1*)h_transf->Clone("h_output");
+    h_output->Reset();
+    for(int i=0;i<ntoys;i++)
+    {
+     double random=myRandom->Uniform(1);
+     if(do_range && random<range_low) random=range_low;
+     double value=TFCS1DRegression::tmvaregression_application(random,weightfilename);
+     h_output->Fill(value);    
+    }
+     
+    TH1* h_cumul=get_cumul(h_output);
+    h_cumul->SetName(Form("h_cumul_neurons%i",neurons));
+    histos.push_back(h_cumul);
+     
+    maxdev=TFCS1DFunction::get_maxdev(h_transf,h_cumul);
+    std::cout<<"---> Neurons="<<neurons<<" MAXDEV="<<maxdev<<"%"<<std::endl;
+   }
+   
+   neurons++;
+   
+  }
+  
+  //TH1* histclone=(TH1*)hist->Clone("histclone");
+
+  /* 
+     TFile* out_iteration=new TFile(Form("output/iteration_%s.root",label.c_str()),"RECREATE");
+     for(int h=0;h<histos.size();h++)
+     {
+     out_iteration->Add(histos[h]);
+     }
+     out_iteration->Add(histclone);
+     out_iteration->Write();
+     out_iteration->Close();
+     */
+
+  int regression_success=1;
+  if(maxdev>cut_maxdev) regression_success=0;
+
+  int status=0;
+  if(regression_success)
+  {
+    std::cout<<"Regression successful. Weights are stored."<<std::endl;
+    if(rangeval<0)  status=1;
+    if(rangeval>=0) status=2;
+  }
+
+  if(!regression_success)
+  {
+    std::cout<<"Regression failed. Histogram is stored."<<std::endl;
+    status=3;
+  } //!success
+
+  return status;
+
+}
+
+
+double TFCS1DRegression::tmvaregression_application(double uniform, std::string weightfile)
+{
+
+ using namespace TMVA;
+ 
+ TString myMethodList = "" ;
+ TMVA::Tools::Instance();
+ 
+ std::map<std::string,int> Use;
+ 
+ Use["PDERS"]           = 0;   Use["PDEFoam"]         = 0;   Use["KNN"]            = 0;
+ Use["LD"]             = 0;   Use["FDA_GA"]          = 0;   Use["FDA_MC"]          = 0;
+ Use["FDA_MT"]          = 0;   Use["FDA_GAMT"]        = 0;   Use["MLP"]             = 1; 
+ Use["SVM"]             = 0;   Use["BDT"]             = 0;   Use["BDTG"]            = 0;
+ 
+ // Select methods (don't look at this code - not of interest)
+ if(myMethodList != "")
+ {
+  for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) it->second = 0;
+  std::vector<TString> mlist = gTools().SplitString( myMethodList, ',' );
+  for (UInt_t i=0; i<mlist.size(); i++)
+  {
+   std::string regMethod(mlist[i]);
+   if (Use.find(regMethod) == Use.end())
+   {
+    std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
+    for(std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) std::cout << it->first << " ";
+    std::cout << std::endl;
+    return 0;
+   }
+   Use[regMethod] = 1;
+  }
+ }
+ 
+ // --------------------------------------------------------------------------------------------------
+ 
+ TMVA::Reader *reader = new TMVA::Reader( "!Color:Silent");    
+ 
+ Float_t y=uniform;
+ reader->AddVariable( "y", &y );
+ 
+ TString dir    = Form("dl/%s/",weightfile.c_str());
+ TString prefix = "TMVARegression";
+ 
+ // Book method(s)
+ for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++)
+ {
+  if (it->second)
+  {
+   TString methodName = it->first + " method";
+   TString weightfilename = dir + prefix + "_" + TString(it->first) + ".weights.xml";
+   reader->BookMVA( methodName, weightfilename ); 
+  }
+ }
+ 
+ Float_t val = (reader->EvaluateRegression("MLP method"))[0];
+ 
+ delete reader;
+ return val;
+
+  return 0;
+}
+
+void TFCS1DRegression::tmvaregression_training(int neurons, TTree *regTree, std::string weightfile, std::string outfilename, int& pass_training)
+{
+
+  using namespace TMVA;
+
+  TString myMethodList = "" ;
+  TMVA::Tools::Instance();
+  std::map<std::string,int> Use;
+
+  Use["PDERS"] = 0;  Use["PDEFoam"] = 0; Use["KNN"] = 0;  Use["LD"]  = 0; Use["FDA_GA"] = 0; Use["FDA_MC"] = 0;
+  Use["FDA_MT"] = 0; Use["FDA_GAMT"] = 0; Use["MLP"] = 1; Use["SVM"] = 0; Use["BDT"] = 0; Use["BDTG"] = 0;
+
+  std::cout << std::endl; std::cout << "==> Start TMVARegression with "<<neurons<<" Neurons "<<std::endl;
+
+  if(myMethodList != "")
+  {
+    for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) it->second = 0;
+    std::vector<TString> mlist = gTools().SplitString( myMethodList, ',' );
+    for (UInt_t i=0; i<mlist.size(); i++)
+    {
+      std::string regMethod(mlist[i]);
+      if (Use.find(regMethod) == Use.end())
+      {
+        std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
+        for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) std::cout << it->first << " ";
+        std::cout << std::endl;
+        return;
+      }
+      Use[regMethod] = 1;
+    }
+  }
+  
+  TFile* outputFile = TFile::Open( outfilename.c_str(), "RECREATE" );
+
+  TMVA::DataLoader *dl=new TMVA::DataLoader("dl");
+
+  TMVA::Factory *factory = new TMVA::Factory( "TMVARegression", outputFile, "!V:!Silent:Color:DrawProgressBar:AnalysisType=Regression" );
+
+  TString dirname=Form("%s/",weightfile.c_str());
+  (TMVA::gConfig().GetIONames()).fWeightFileDir = dirname;
+  
+  dl->AddVariable( "y", "y", 'F' );
+  dl->AddTarget( "x" );
+  
+  Double_t regWeight  = 1.0;   
+
+  dl->AddRegressionTree( regTree, regWeight );
+  TCut mycut = "";
+  //dl->PrepareTrainingAndTestTree( mycut,"nTrain_Regression=0:nTest_Regression=1:SplitMode=Block:NormMode=NumEvents:!V" );
+  dl->PrepareTrainingAndTestTree( mycut,"nTrain_Regression=0:nTest_Regression=0:SplitMode=Alternate:NormMode=NumEvents:!V" );
+  
+  factory->BookMethod(dl, TMVA::Types::kMLP, "MLP",
+  Form("!H:!V:VerbosityLevel=Info:NeuronType=sigmoid:NCycles=20000:HiddenLayers=%i:TestRate=6:TrainingMethod=BFGS:Sampling=0.3:SamplingEpoch=0.8:ConvergenceImprove=1e-6:ConvergenceTests=15:!UseRegulator",neurons)); 
+
+  // Train MVAs using the set of training events
+  factory->TrainAllMethods();
+  
+  // ---- Evaluate all MVAs using the set of test events
+  //factory->TestAllMethods();
+
+  // ----- Evaluate and compare performance of all configured MVAs
+  //factory->EvaluateAllMethods();
+
+  // Save the output
+  outputFile->Close();
+
+  std::cout << "==> Wrote root file: " << outputFile->GetName() << std::endl;
+  std::cout << "==> TMVARegression is done!" << std::endl;      
+  
+  delete factory;  
+  delete dl;
+  
+  pass_training=1;
+
+}
+
+
+void TFCS1DRegression::get_weights(string weightfile, vector<vector<double> > &fWeightMatrix0to1, vector<vector<double> > &fWeightMatrix1to2)
+{
+ 
+ using namespace TMVA;
+ int debug=1;
+ 
+ TString myMethodList = "" ;
+ TMVA::Tools::Instance();
+ 
+ std::map<std::string,int> Use;
+
+ // --- Mutidimensional likelihood and Nearest-Neighbour methods
+ Use["PDERS"]           = 0;   Use["PDEFoam"]         = 0;   Use["KNN"]            = 0;
+ Use["LD"]		          = 0;   Use["FDA_GA"]          = 0;   Use["FDA_MC"]          = 0;
+ Use["FDA_MT"]          = 0;   Use["FDA_GAMT"]        = 0;   Use["MLP"]             = 1; 
+ Use["SVM"]             = 0;   Use["BDT"]             = 0;   Use["BDTG"]            = 0;
+ // ---------------------------------------------------------------
+
+ // Select methods (don't look at this code - not of interest)
+ if (myMethodList != "")
+ {
+  for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) it->second = 0;
+  std::vector<TString> mlist = gTools().SplitString( myMethodList, ',' );
+  for (UInt_t i=0; i<mlist.size(); i++)
+  {
+   std::string regMethod(mlist[i]);
+   if (Use.find(regMethod) == Use.end())
+   {
+    std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
+    for(std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++) std::cout << it->first << " ";
+    std::cout << std::endl;
+   }
+   Use[regMethod] = 1;
+  }
+ }
+ 
+ // --------------------------------------------------------------------------------------------------
+ 
+ TMVA::Reader *reader = new TMVA::Reader( "!Color:Silent");    
+ 
+ Float_t y=0.5; //just a dummy
+ reader->AddVariable( "y", &y );
+ 
+ TString dir   = Form("dl/%s/",weightfile.c_str());
+ TString prefix = "TMVARegression";
+ 
+ for (std::map<std::string,int>::iterator it = Use.begin(); it != Use.end(); it++)
+ {
+  if (it->second)
+  {
+   TString methodName = it->first + " method";
+   TString weightfilename = dir + prefix + "_" + TString(it->first) + ".weights.xml";
+   reader->BookMVA( methodName, weightfilename ); 
+  }
+ }
+ 
+ TMVA::IMethod* m=reader->FindMVA("MLP method");
+ TMVA::MethodMLP *mlp = dynamic_cast<TMVA::MethodMLP*>(m);
+ TObjArray* Network=mlp->fNetwork;
+ int num_neurons_input=((TObjArray*)Network->At(1))->GetEntriesFast()-1;
+ if(debug) cout<<"num_neurons_input "<<num_neurons_input<<endl;
+// mlp->MakeClass(Form("mlpcode_neurons%i.C",num_neurons_input));
+ 
+ int fLayers = Network->GetEntriesFast();
+ 
+ for(int a=0;a<((TObjArray*)Network->At(1))->GetEntriesFast();a++)
+ {
+  vector<double> thisvector;
+  for(int b=0;b<((TObjArray*)Network->At(0))->GetEntriesFast();b++)
+   thisvector.push_back(0);
+  fWeightMatrix0to1.push_back(thisvector);
+ }
+ 
+ for(int a=0;a<((TObjArray*)Network->At(2))->GetEntriesFast();a++)
+ {
+  vector<double> thisvector;
+  for(int b=0;b<((TObjArray*)Network->At(1))->GetEntriesFast();b++)
+   thisvector.push_back(0);
+  fWeightMatrix1to2.push_back(thisvector);
+ }
+ 
+ 
+ TObjArray* curLayer= (TObjArray*)Network->At(0);
+ Int_t numNeurons = curLayer->GetEntriesFast();
+ for (Int_t n = 0; n < numNeurons; n++)
+ {  
+  TMVA::TNeuron* neuron = (TMVA::TNeuron*)curLayer->At(n);
+  int numSynapses = neuron->NumPostLinks();
+  for (int s = 0; s < numSynapses; s++)
+  {
+   TMVA::TSynapse* synapse = neuron->PostLinkAt(s);  
+   fWeightMatrix0to1[s][n]=synapse->GetWeight();
+   if(debug) cout<<"fWeightMatrix0to1["<<s<<"]["<<n<<"] "<<synapse->GetWeight()<<endl;
+  }
+ }
+ 
+ curLayer= (TObjArray*)Network->At(1);
+ numNeurons = curLayer->GetEntriesFast();
+ for (Int_t n = 0; n < numNeurons; n++)
+ {  
+  TMVA::TNeuron* neuron = (TMVA::TNeuron*)curLayer->At(n);
+  int numSynapses = neuron->NumPostLinks();
+  for (int s = 0; s < numSynapses; s++)
+  {
+   TMVA::TSynapse* synapse = neuron->PostLinkAt(s);  
+   fWeightMatrix1to2[s][n]=synapse->GetWeight();
+   if(debug) cout<<"fWeightMatrix1to2["<<s<<"]["<<n<<"] "<<synapse->GetWeight()<<endl;
+  }
+ }
+ 
+ delete reader;
+ 
+}
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCS1DRegression.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCS1DRegression.h
new file mode 100644
index 0000000000000000000000000000000000000000..61c41d95a12357235116d49e3979a7926ba73096
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCS1DRegression.h
@@ -0,0 +1,37 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TFCS1DRegression_h
+#define TFCS1DRegression_h
+
+// STL includes
+#include <string>
+
+#include "TH1.h"
+#include "TTree.h"
+
+class TFCS1DRegression
+{
+  public:
+    TFCS1DRegression() {};
+    ~TFCS1DRegression() {};
+    
+    static int testHisto(TH1* hist, std::string, float&, float&, std::string, int, int, double, int);
+    static void storeRegression(string, vector<vector<double> > &fWeightMatrix0to1, vector<vector<double> > &fWeightMatrix1to2);
+    static void get_weights(string weightfile, vector<vector<double> > &fWeightMatrix0to1, vector<vector<double> > &fWeightMatrix1to2);
+    
+    static TH1* transform(TH1* h_input, float &rangeval, float& startval);
+    static double get_range_low(TH1* hist);
+    static void tmvaregression_training(int, TTree *regTree, std::string, std::string, int&);
+    static TH1* get_cumul(TH1* hist);
+    static double tmvaregression_application(double, std::string);
+    static void validate(int,string);
+    
+};
+
+#if defined(__MAKECINT__)
+#pragma link C++ class TFCS1DRegression+;
+#endif
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCSFunction.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCSFunction.cxx
similarity index 69%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCSFunction.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCSFunction.cxx
index 6c502f8010a51c742ec2c56c5e219a0aa2aeeef3..234903d818e4b16023c836dd0b7e1521474d3edf 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCSFunction.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCSFunction.cxx
@@ -2,30 +2,29 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionRegression.h"
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionRegressionTF.h"
+#include "ISF_FastCaloSimEvent/TFCS1DFunctionHistogram.h"
 #include "ISF_FastCaloSimEvent/TFCS1DFunction.h"
-#include "ISF_FastCaloSimParametrization/TFCSFunction.h"
-#include "ISF_FastCaloSimParametrization/TFCS1DFunctionRegression.h"
-#include "ISF_FastCaloSimParametrization/TFCS1DFunctionRegressionTF.h"
-#include "ISF_FastCaloSimParametrization/TFCS1DFunctionHistogram.h"
 
-#include "TMVA/Config.h"
-#include "TMVA/Tools.h"
-#include "TMVA/Reader.h"
-#include "TMVA/Factory.h"
-#include "TMVA/DataLoader.h"
-#include "TFile.h"
+#include "TFCSFunction.h"
+#include "TFCS1DRegression.h"
 
+#include "TFile.h"
 #include "TRandom1.h"
 
+
+#include <iostream>
+
+//#include <string>
+#include <sstream>
+
+using namespace std;
+
 //=============================================
 //======= TFCSFunction =========
 //=============================================
 
-TFCSFunction::TFCSFunction()
-{
-  
-}
-
 
 TFCS1DFunction* TFCSFunction::Create(TH1* hist,int skip_regression,int neurons_start, int neurons_end, double maxdev_regression, double maxdev_smartrebin, int ntoys)
 {
@@ -45,20 +44,25 @@ TFCS1DFunction* TFCSFunction::Create(TH1* hist,int skip_regression,int neurons_s
  string xmlweightfilename="regressionweights"+myrandstr;
  string outfilename="TMVAReg"+myrandstr+".root";
  float rangeval, startval;
- TFCS1DFunction* fct=new TFCS1DFunction(hist);
+ 
  TFCS1DFunctionRegression* freg=0;
  TFCS1DFunctionRegressionTF* fregTF=0;
  TFCS1DFunctionHistogram* fhis=0;
+ 
  int status=3;
  
- status=fct->testHisto(hist,xmlweightfilename,rangeval,startval,outfilename,skip_regression,neurons_start,neurons_end,maxdev_regression,ntoys);
+ if(!skip_regression)
+  status=TFCS1DRegression::testHisto(hist,xmlweightfilename,rangeval,startval,outfilename,neurons_start,neurons_end,maxdev_regression,ntoys);
  
  if(verbose_level==1) cout<<"--- testHisto status="<<status<<endl;
  if(status==1)
  {
  	if(verbose_level==1) cout<<"Regression"<<endl;
   freg=new TFCS1DFunctionRegression();
-  freg->storeRegression(xmlweightfilename);
+  vector<vector<double> > fWeightMatrix0to1;
+  vector<vector<double> > fWeightMatrix1to2;
+  TFCS1DRegression::storeRegression(xmlweightfilename, fWeightMatrix0to1, fWeightMatrix1to2);
+  freg->set_weights(fWeightMatrix0to1, fWeightMatrix1to2);
   remove(outfilename.c_str());
   remove(Form("dl/%s/TMVARegression_MLP.weights.xml",xmlweightfilename.c_str()));
   remove(Form("dl/%s",xmlweightfilename.c_str()));
@@ -67,8 +71,11 @@ TFCS1DFunction* TFCSFunction::Create(TH1* hist,int skip_regression,int neurons_s
  if(status==2)
  {
  	if(verbose_level==1) cout<<"Regression and Transformation"<<endl;
-  fregTF=new TFCS1DFunctionRegressionTF();
-  fregTF->storeRegression(xmlweightfilename,rangeval,startval);
+  fregTF=new TFCS1DFunctionRegressionTF(rangeval,startval);
+  vector<vector<double> > fWeightMatrix0to1;
+  vector<vector<double> > fWeightMatrix1to2;
+  TFCS1DRegression::storeRegression(xmlweightfilename, fWeightMatrix0to1, fWeightMatrix1to2);
+  fregTF->set_weights(fWeightMatrix0to1, fWeightMatrix1to2);
   remove(outfilename.c_str());
   remove(Form("dl/%s/TMVARegression_MLP.weights.xml",xmlweightfilename.c_str()));
   remove(Form("dl/%s",xmlweightfilename.c_str()));
@@ -94,9 +101,3 @@ TFCS1DFunction* TFCSFunction::Create(TH1* hist,int skip_regression,int neurons_s
  
 }
 
-//=============================================
-//========== ROOT persistency stuff ===========
-//=============================================
-
-//ClassImp(TFCSFunction)
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCSFunction.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCSFunction.h
similarity index 82%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCSFunction.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCSFunction.h
index 62db8b4233a301a0623ef483bd3d66da5acbd814..623e8f036f7216bd4c4a014004bf88610f6b2c79 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCSFunction.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/TFCSFunction.h
@@ -10,9 +10,12 @@
 class TFCSFunction
 {
   public:
-    TFCSFunction();
-    virtual ~TFCSFunction() {}
+    TFCSFunction() {};
+    //virtual ~TFCSFunction() {};
+    ~TFCSFunction() {};
+    
     static TFCS1DFunction* Create(TH1* hist,int,int,int,double,double,int);
+  
   private:
 
   ClassDef(TFCSFunction,1)
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/firstPCA.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/firstPCA.cxx
similarity index 99%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/firstPCA.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/firstPCA.cxx
index b1b5f6876e314041af9af8c20707bf66e500c1bb..83a74beb242c81592aac5358abbe5b82e3f13a62 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/firstPCA.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/firstPCA.cxx
@@ -17,7 +17,7 @@ using namespace std;
 #include "TPrincipal.h"
 #include "TMath.h"
 #include "TBrowser.h"
-#include "ISF_FastCaloSimParametrization/firstPCA.h"
+#include "firstPCA.h"
 #include "ISF_FastCaloSimParametrization/TreeReader.h"
 #include "TLorentzVector.h"
 #include "TChain.h"
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/firstPCA.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/firstPCA.h
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/firstPCA.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/firstPCA.h
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/secondPCA.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/secondPCA.cxx
similarity index 98%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/secondPCA.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/secondPCA.cxx
index 1997d2d50cbc89471be166f647b0ff1e50a23e0a..40e46192ae0b8e3cc46a61e2207b3e299ce3b9c1 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/secondPCA.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/secondPCA.cxx
@@ -18,11 +18,11 @@
 #include "TPrincipal.h"
 #include "TMath.h"
 #include "TBrowser.h"
-#include "ISF_FastCaloSimParametrization/secondPCA.h"
-#include "ISF_FastCaloSimParametrization/firstPCA.h"
-#include "ISF_FastCaloSimParametrization/TreeReader.h"
-#include "ISF_FastCaloSimParametrization/TFCSFunction.h"
+#include "secondPCA.h"
+#include "firstPCA.h"
+#include "TFCSFunction.h"
 #include "ISF_FastCaloSimEvent/TFCS1DFunction.h"
+#include "ISF_FastCaloSimParametrization/TreeReader.h"
 #include "ISF_FastCaloSimEvent/IntArray.h"
 
 #include <iostream>
@@ -302,10 +302,8 @@ void secondPCA::do_pca(vector<string> layer, int bin, TreeReader* read_inputTree
  for (auto it = h_data_PCA.begin(); it != h_data_PCA.end(); ++it)
   delete *it;
  h_data_PCA.clear();
-
  
  //get the lower ranges and store them:
-
  double* lowerBound=new double[layer.size()];
  for(unsigned int l=0;l<layer.size();l++)
  {
@@ -366,6 +364,7 @@ void secondPCA::do_pca(vector<string> layer, int bin, TreeReader* read_inputTree
 double secondPCA::get_lowerBound(TH1D* h_cumulative)
 {
  
+ /*
  double range_low=0;
  int bin_start,bin_end;
  bin_start=bin_end=-1;
@@ -382,8 +381,9 @@ double secondPCA::get_lowerBound(TH1D* h_cumulative)
  	 bin_end=b;
  	}
  }
- 
  return range_low;
+ */
+ return h_cumulative->GetBinContent(1);
  
 }
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/secondPCA.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/secondPCA.h
similarity index 85%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/secondPCA.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/secondPCA.h
index 16576b9ada2f625c7d7e6027ac6ec45da8e70ddc..a8993ba5c3b595b6a060702310b50c7430a24eb3 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/secondPCA.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/epara/secondPCA.h
@@ -6,13 +6,11 @@
 #define secondPCA_h
 
 #include "ISF_FastCaloSimParametrization/TreeReader.h"
-#include "ISF_FastCaloSimParametrization/firstPCA.h"
-//#include "ISF_FastCaloSimEvent/TFCS1DFunction.h"
-//#include "ISF_FastCaloSimParametrization/TFCS1DFunction.h"
+#include "firstPCA.h"
 
 using namespace std;
 
-class secondPCA:public firstPCA
+class secondPCA: public firstPCA
 {
   public:
   	
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/ISF_FastCaloSimParametrizationConfig.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/ISF_FastCaloSimParametrizationConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..8630ae23c69ffbe11bf30f3738de27a76371c45f
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/ISF_FastCaloSimParametrizationConfig.py
@@ -0,0 +1,19 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+
+"""
+Tools configurations for ISF_FastCaloSimParametrization
+"""
+from AthenaCommon import CfgMgr
+
+from AthenaCommon.Constants import *  # FATAL,ERROR etc.
+from AthenaCommon.SystemOfUnits import *
+from AthenaCommon.DetFlags import DetFlags
+
+def getFastCaloSimCaloExtrapolation(name="FastCaloSimCaloExtrapolation", **kwargs):
+    from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConf import FastCaloSimCaloExtrapolation
+    return CfgMgr.FastCaloSimCaloExtrapolation(name, **kwargs)
+
+def getFastCaloSimGeometryHelper(name="FastCaloSimGeometryHelper", **kwargs):
+    from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConf import FastCaloSimGeometryHelper
+    return CfgMgr.FastCaloSimGeometryHelper(name, **kwargs)
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/ISF_FastCaloSimParametrizationConfigDb.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/ISF_FastCaloSimParametrizationConfigDb.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a6181cff9d8bf099f3e6e1ff9105cbd85ad7ad8
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/ISF_FastCaloSimParametrizationConfigDb.py
@@ -0,0 +1,16 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+"""
+Configuration database for ISF_FastCaloSimParametrization
+"""
+
+from AthenaCommon.CfgGetter import addTool
+
+from AthenaCommon.Constants import *  # FATAL,ERROR etc.
+import AthenaCommon.SystemOfUnits as Units
+
+# Common tools, services and algorithms used by jobs
+addTool("ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConfig.getFastCaloSimCaloExtrapolation" , "FastCaloSimCaloExtrapolation"   )
+addTool("ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConfig.getFastCaloSimGeometryHelper" , "FastCaloSimGeometryHelper"   )
+
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeBinning.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeBinning.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..df0bb9782a64249b75b07addf554c95413a534aa
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeBinning.cxx
@@ -0,0 +1,1119 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/* Class to implement:
+ *
+ *      - calculate optimal binning
+ *      - produce distributions
+ *      - create TTree for NN regression
+ *
+ *    <a.hasib@cern.ch>
+ *****************************************************/
+#include <iostream>
+#include <tuple>
+#include <algorithm>
+
+#include "TString.h"
+#include "TMath.h"
+#include "TFile.h"
+#include "TH1.h"
+#include "TH2.h"
+
+#include "ShowerShapeBinning.h"
+
+
+
+using namespace std;
+
+
+ShowerShapeBinning::ShowerShapeBinning()
+{
+   m_debug = 0;
+
+   m_calolayer      = -1;
+   m_PCAbin         = 0;
+   m_nbinsR         = 0;
+   m_nbinsAlpha     = 0;
+   m_mincalosize    = 0.;
+   m_particle       = "";
+   m_particleEnergy = 0.;
+   m_etamin         = 0.;
+   m_etamax         = 0.;
+   m_tolerance      = 0.;
+}
+
+
+ShowerShapeBinning::~ShowerShapeBinning()
+{
+   if (hEnergyDensity)
+   {
+      delete hEnergyDensity;
+   }
+   if (hEnergy)
+   {
+      delete hEnergy;
+   }
+   if (hLnEnergy)
+   {
+      delete hLnEnergy;
+   }
+   if (hLnEnergyDensity)
+   {
+      delete hLnEnergyDensity;
+   }
+}
+
+
+void ShowerShapeBinning::CreateHitsAlphaDrNtuple(std::string inputHits)
+{
+   // * get the input hits file
+
+   cout << "* Reading input hits file = " << inputHits.c_str() << endl;
+
+   TFile *inputHitsFile = TFile::Open(inputHits.c_str());
+
+   // * get the TTrees from hitsFile
+
+   TTree *hitsTree   = (TTree *)inputHitsFile->Get("hits");
+   TTree *globalTree = (TTree *)inputHitsFile->Get("global");
+
+
+   // * initialize the hits and global TTrees
+   InitHitsTree(hitsTree, globalTree);
+
+   // * Get the global variables
+   globalTree->GetEntry(0);
+
+   float etaCenter = m_etaCenter;
+   float phiCenter = m_phiCenter;
+   float etaShift  = m_etaShift;
+   float phiShift  = m_phiShift;
+
+   float cell_r    = m_cellr;
+   float cell_z    = m_cellz;
+   float cell_eta  = m_celleta;
+   float cell_deta = m_cellDeta;
+   float cell_dphi = m_cellDphi;
+
+
+   if (m_debug)
+   {
+      cout << " eta center = " << etaCenter << ", phi center = " << phiCenter << " , eta shift = " << etaShift << " , phi shift = " << phiShift << ", cell r = " << cell_r << ", cell z = " << cell_z << ", cell eta = " << cell_eta << ", cell deta = " << cell_deta << ", cell dpi = " << cell_dphi << endl;
+   }
+
+   // * define alpha and dr histograms needed to determine binning
+
+   float alphaMin = TMath::Pi() / 8; // * to cover the crack region in a single bin
+   float alphaMax = 2 * TMath::Pi() + alphaMin;
+   float rMax     = 10000;
+
+   // * use fine binning for the initial histograms
+   TH1F *h_alpha = new TH1F("h_alpha", "h_alpha", 630000, alphaMin, alphaMax);
+   TH1F *h_dr    = new TH1F("h_dr", "h_dr", 75000000, 0, rMax);
+
+   TH1F *h_alphaE = new TH1F("h_alphaE", "h_alphaE", 630000, alphaMin, alphaMax);
+
+   TH1F *hdeta = new TH1F("hdeta", "hdeta", 100, -0.2, 0.2);
+   TH1F *hdphi = new TH1F("hdphi", "hdphi", 100, -0.2, 0.2);
+
+   TH1F *hdetaE = new TH1F("hdetaE", "hdetaE", 100, -0.2, 0.2);
+   TH1F *hdphiE = new TH1F("hdphiE", "hdphiE", 100, -0.2, 0.2);
+
+   TH1F *hdeta_corr = new TH1F("hdeta_corr", "hdeta_corr", 100, -0.2, 0.2);
+   TH1F *hdphi_corr = new TH1F("hdphi_corr", "hdphi_corr", 100, -0.2, 0.2);
+
+   //* plot energy heatmap before binning optimization
+   TH2F *hDetaDphi  = new TH2F("hDetaDphi", "hDetaDphi", 100, -0.02, 0.02, 100, -0.02, 0.02);
+   TH2F *hDetaDphiE = new TH2F("hDetaDphiE", "hDetaDphiE", 100, -0.02, 0.02, 100, -0.02, 0.02);
+
+   TH2F *hDetaDphi_corr  = new TH2F("hDetaDphi_corr", "hDetaDphi_corr", 100, -0.02, 0.02, 100, -0.02, 0.02);
+   TH2F *hDetaDphiE_corr = new TH2F("hDetaDphiE_corr", "hDetaDphiE_corr", 100, -0.02, 0.02, 100, -0.02, 0.02);
+
+
+   // * define output file to save h_alpha h_dr and TTree with alpha, dr and energy
+
+   std::string HitsAlphaDr = m_topDir + m_particle + "/HitsAlphaDr_" + m_fileName + ".root";
+   if (m_debug)
+   {
+      cout << " hits alpha dr = " << HitsAlphaDr << endl;
+   }
+
+
+   TFile *hitsAlphaDrFile     = new TFile(HitsAlphaDr.c_str(), "recreate");
+   TTree *m_hitsAlphaDrNtuple = new TTree("hitsAlphaDr", "hitsAlphaDr");
+   BookHitsAlphaDrTree(m_hitsAlphaDrNtuple);
+
+   // float sumetaenergy = 0.;
+   // float sumphienergy = 0.;
+   // float energytotal  = 0;
+
+   // for (int ihit = 0; ihit < hitsTree->GetEntries(); ihit++)
+   // {
+   //    hitsTree->GetEntry(ihit);
+   //    int eventNumber = m_eventNumber;
+
+   //    float energy_hit = m_energy;
+   //    float deta       = m_deta;
+   //    float dphi       = m_dphi;
+
+   //    sumetaenergy += deta * energy_hit;
+   //    sumphienergy += dphi * energy_hit;
+   //    energytotal  += energy_hit;
+   // }
+
+   // float shiftyeta = sumetaenergy / energytotal;
+   // float shiftyphi = sumphienergy / energytotal;
+
+   // cout << " shwifty eta =" << shiftyeta << " shwifty phi = " << shiftyphi << endl;
+
+
+
+   // * loop through all hits
+
+   cout << " Looping over nhits = " << hitsTree->GetEntries() << endl;
+
+   for (int ihit = 0; ihit < hitsTree->GetEntries(); ihit++)
+   {
+      hitsTree->GetEntry(ihit);
+
+
+
+      int eventNumber = m_eventNumber;
+
+      float energy_hit = m_energy;
+      float eta_hit    = m_etaHit;
+      float phi_hit    = m_phiHit;
+
+      float eta_entrance = m_etaEntrance;
+      float phi_entrance = m_phiEntrance;
+
+      float deta = m_deta;
+      float dphi = m_dphi;
+
+      float deta_mm, dphi_mm;
+      tie(deta_mm, dphi_mm) = GetUnitsmm(eta_hit, deta, dphi, cell_r, cell_z);
+
+      hdeta->Fill(deta_mm);
+      hdphi->Fill(dphi_mm);
+
+      hdetaE->Fill(deta_mm, energy_hit);
+      hdphiE->Fill(dphi_mm, energy_hit);
+
+
+
+      // * calculate the corrected deta, dphi
+
+      float deta_corr = deta - etaShift;
+      float dphi_corr = dphi - phiShift;
+
+      if (m_debug)
+      {
+         cout << "energy hit = " << energy_hit << ", eta hit = " << eta_hit << ", deta = " << deta << ", dphi = " << dphi << ", deta corr = " << deta_corr << ", dphi corr = " << dphi_corr << endl;
+      }
+
+
+      // * get the co-ordinates in mm
+
+      float deta_corr_mm, dphi_corr_mm;
+      tie(deta_corr_mm, dphi_corr_mm) = GetUnitsmm(eta_hit, deta_corr, dphi_corr, cell_r, cell_z);
+
+      hdeta_corr->Fill(deta_corr);
+      hdphi_corr->Fill(dphi_corr);
+
+
+
+      if (m_debug)
+      {
+         cout << "in mm deta corr = " << deta_corr_mm << " dphi corr = " << dphi_corr_mm << endl;
+      }
+
+
+      // * save TH2 of eta-phi w/ and w/o energy weighted
+      hDetaDphi->Fill(deta, dphi);
+      hDetaDphiE->Fill(deta, dphi, energy_hit);
+
+      hDetaDphi_corr->Fill(deta_corr, dphi_corr);
+      hDetaDphiE_corr->Fill(deta_corr, dphi_corr, energy_hit);
+
+
+      // * calculate r and alpha co-ordiantes
+
+      float delta_r = TMath::Sqrt(dphi_corr_mm * dphi_corr_mm + deta_corr_mm * deta_corr_mm);
+      float alpha   = TMath::ATan2(dphi_corr_mm, deta_corr_mm);
+
+      if (alpha < (TMath::Pi() / 8.))
+      {
+         alpha = 2 * TMath::Pi() + alpha;
+      }
+
+      if (m_debug)
+      {
+         cout << " delta r = " << delta_r << " mm, alpha = " << alpha << " mm" << endl;
+      }
+
+      h_alpha->Fill(alpha);
+      h_alphaE->Fill(alpha, energy_hit);
+
+      // * reweight r with hit energy,  if energy > 1 MeV weigher = energy, otherwise weight = 1
+      if (energy_hit > 1.)
+      {
+         h_dr->Fill(delta_r, energy_hit);
+      }
+      else
+      {
+         h_dr->Fill(delta_r, 1);
+      }
+
+
+      // * fill the TTree
+      m_eventNumber = eventNumber;
+      m_alpha       = alpha;
+      m_dr          = delta_r;
+      m_energy      = energy_hit;
+      m_hitsAlphaDrNtuple->Fill();
+   }//end loop over hits
+
+
+
+   hitsAlphaDrFile->cd();
+   m_hitsAlphaDrNtuple->Write();
+   globalTree->CloneTree()->Write();
+   h_alpha->Write();
+   h_dr->Write();
+
+   h_alphaE->Write();
+   //
+   //  hdeta_corr->Write();
+   //  hdphi_corr->Write();
+   //
+
+   hdeta->Write();
+   hdetaE->Write();
+   hdeta_corr->Write();
+
+   hdphi->Write();
+   hdphiE->Write();
+   hdphi_corr->Write();
+
+   hDetaDphi->Write();
+   hDetaDphiE->Write();
+   hDetaDphi_corr->Write();
+   hDetaDphiE_corr->Write();
+
+   hitsAlphaDrFile->Close();
+   inputHitsFile->Close();
+}
+
+
+void ShowerShapeBinning::RunBinning()
+{
+   std::string HitsAlphaDr = m_topDir + m_particle + "/HitsAlphaDr_" + m_fileName + ".root";
+   if (m_debug)
+   {
+      cout << " hits alpha dr = " << HitsAlphaDr << endl;
+   }
+
+   // * identify the file
+   TFile *hitsAlphaDrFile = TFile::Open(HitsAlphaDr.c_str());
+
+   // * read the histograms needed
+   h_alpha = (TH1F *)hitsAlphaDrFile->Get("h_alpha");
+   h_dr    = (TH1F *)hitsAlphaDrFile->Get("h_dr");
+
+   // * initialize the TTrees needed
+   TTree *hitsAlphaDrTree = (TTree *)hitsAlphaDrFile->Get("hitsAlphaDr");
+   TTree *globalTree      = (TTree *)hitsAlphaDrFile->Get("global");
+   InitHitsAlphaDrTree(hitsAlphaDrTree, globalTree);
+
+
+   // * get bin alpha bin boundaries
+
+   int nAlphaBins       = m_nbinsAlpha;
+   int nAlphaBoundaries = nAlphaBins + 1;
+   xbinsAlpha.clear();
+   xbinsAlpha = Getxbins(h_alpha, nAlphaBins);
+
+   float xAlphaBins[nAlphaBoundaries];
+   for (int i = 0; i < nAlphaBoundaries; i++)
+   {
+      xAlphaBins[i] = xbinsAlpha.at(i);
+      if (m_debug)
+      {
+         cout << " BIN ALPHA  " << i << ":  " << xAlphaBins[i] << endl;
+      }
+   }
+
+   // * r binning is iterative to ensure no empty bins
+
+   bool isEmptyBin = true;
+   int  incr       = 0;
+
+   // * hack to know the final nbinsR reached
+
+   int final_nbinsR = -1;
+
+   while (isEmptyBin)
+   {
+      if (incr == m_nbinsR - 2)
+      {
+         cout << " * ERROR: No empty bin requirement cannot be reached. Decrease tolerance! " << endl;
+         exit(EXIT_FAILURE);
+      }
+
+      int nRbinsMax    = m_nbinsR;
+      int nRBins       = nRbinsMax - incr;
+      int nRBoundaries = nRBins + 1;
+
+      cout << " Starting r binning with nbins = " << nRBins << endl;
+
+      std::vector<float> ybinsr = Getxbins(h_dr, nRBins);
+
+      // * first combine the up to last 5 bins with bin width calculated with nRbinsMax
+      // * if there is still empty bin, calculate bin width with nRbinsMax-1 and repeat
+
+
+
+      for (int ibin = 0; ibin < 5; ibin++)
+      {
+         if (ibin > 0)
+         {
+            cout << " * trying to combine bin = " << ibin << endl;
+         }
+
+         if (ibin > 0)
+         {
+            nRBoundaries = nRBoundaries - 1;
+         }
+
+         float yRBins[nRBoundaries];
+
+         for (int i = 0; i < nRBoundaries; i++)
+         {
+            yRBins[i] = ybinsr.at(i);
+
+            if (ibin > 0)
+            {
+               yRBins[nRBoundaries - 1] = ybinsr.at(ybinsr.size() - 1);
+            }
+            if (m_debug)
+            {
+               cout << " BIN R " << i << ": " << yRBins[i] << endl;
+            }
+         }
+
+         // * save the final r binning selected
+         ybinsR.clear();
+         for (unsigned int i = 0; i < sizeof(yRBins); i++)
+         {
+            ybinsR.push_back(yRBins[i]);
+
+            final_nbinsR = sizeof(yRBins);
+         }
+
+
+         // * define histograms needed
+
+         hHits            = new TH2F("hHits", "hHits", nAlphaBins, xAlphaBins, nRBoundaries - 1, yRBins);
+         hEnergyDensity   = new TH2F("hEnergyDensity", "hEnergyDensity", nAlphaBins, xAlphaBins, nRBoundaries - 1, yRBins);
+         hEnergy          = new TH2F("hEnergy", "hEnergy", nAlphaBins, xAlphaBins, nRBoundaries - 1, yRBins);
+         hLnEnergy        = new TH2F("hLnEnergy", "hLnEnergy", nAlphaBins, xAlphaBins, nRBoundaries - 1, yRBins);
+         hLnEnergyDensity = new TH2F("hLnEnergyDensity", "hLnEnergyDensity", nAlphaBins, xAlphaBins, nRBoundaries - 1, yRBins);
+
+         hGradient = new TH1F("hGradient", "hGradient", nRBoundaries - 1, yRBins);
+
+
+         // * loop over events to fill histograms with this binning
+         cout << " * Start looping over " << hitsAlphaDrTree->GetEntries() << " hits ..." << endl;
+
+
+
+         for (int ihit = 0; ihit < hitsAlphaDrTree->GetEntries(); ihit++)
+         {
+            if (ihit % (hitsAlphaDrTree->GetEntries() / 10) == 0)
+            {
+               cout << " Hit: " << ihit << endl;
+            }
+
+            bool isNewEvent      = false;
+            int  NextEventNumber = -1;
+
+            if (ihit != hitsAlphaDrTree->GetEntries() - 1)
+            {
+               hitsAlphaDrTree->GetEntry(ihit + 1);
+               NextEventNumber = m_eventNumber;
+            }
+
+            hitsAlphaDrTree->GetEntry(ihit);
+
+            int eventNumber = m_eventNumber;
+
+
+            if (ihit == 0)
+            {
+               // * define the histogram for the first hit
+               halphadrE = new TH2F(Form("halphadrE_%i", eventNumber), Form("halphadrE_%i", eventNumber), nAlphaBins, xAlphaBins, nRBoundaries - 1, yRBins);
+               halphadrE->Sumw2();
+            }
+
+            float alpha  = m_alpha;
+            float dr     = m_dr;
+            float energy = m_energy;
+
+            if (m_debug)
+            {
+               cout << " alpha = " << alpha << " dr = " << dr << " energy = " << energy << endl;
+            }
+
+
+            hHits->Fill(alpha, dr, 1);
+            halphadrE->Fill(alpha, dr, energy);
+
+
+            if (NextEventNumber != eventNumber or ihit == hitsAlphaDrTree->GetEntries() - 1)
+            {
+               // if the next event has a different eventNumber then normalize
+
+               isNewEvent = true;
+
+               if (m_debug)
+               {
+                  cout << " integral = " << halphadrE->Integral() << endl;
+               }
+
+               if (halphadrE->Integral() > 0)
+               {
+                  halphadrE->Scale(1 / (halphadrE->Integral()));
+                  hEnergy->Add(halphadrE);
+               }
+
+               if (halphadrE)
+               {
+                  delete halphadrE;
+               }
+            }
+
+            if (isNewEvent and ihit != hitsAlphaDrTree->GetEntries() - 1)
+            {
+               halphadrE = new TH2F(Form("halphadrE_%i", eventNumber), Form("halphadrE_%i", eventNumber), nAlphaBins, xAlphaBins, nRBoundaries - 1, yRBins);
+               halphadrE->Sumw2();
+            }
+         }
+         cout << " *Checking if there are empty bins with tolerance = " << m_tolerance << endl;
+         isEmptyBin = CheckEmptyBin();
+
+         cout << " isEmptyBin = " << isEmptyBin << endl;
+
+         if (!isEmptyBin)
+         {
+            break;
+         }
+
+         if (hHits)
+         {
+            delete hHits;
+         }
+         if (hEnergyDensity)
+         {
+            delete hEnergyDensity;
+         }
+         if (hEnergy)
+         {
+            delete hEnergy;
+         }
+         if (hLnEnergy)
+         {
+            delete hLnEnergy;
+         }
+         if (hLnEnergyDensity)
+         {
+            delete hLnEnergyDensity;
+         }
+         if (hGradient)
+         {
+            delete hGradient;
+         }
+
+         cout << " end loop to combine bins" << endl;
+      }// end loop to combine up to 5 bins
+
+      incr++;
+   } // end of while loop
+
+   // * set the nbsinR
+
+   set_nbinsR(final_nbinsR);
+
+
+   // * Define validation histogram
+
+   hValidation = new TH2F("hValidation", "hValidation", 10, -0.5, 9.5, 14, 0.5, 14.5);
+
+   // * check granularity requirement
+   bool isGranularityOK = CheckGranularity(globalTree);
+
+   // * check gradient requirement
+
+   bool isGradientOK = CheckGradient();
+
+   if (isGranularityOK and isGradientOK)
+   {
+      hValidation->Fill(m_PCAbin, m_calolayer, 1);
+   }
+   else if (isGranularityOK and !isGradientOK)
+   {
+      hValidation->Fill(m_PCAbin, m_calolayer, 2);
+   }
+   else if (!isGranularityOK and isGradientOK)
+   {
+      hValidation->Fill(m_PCAbin, m_calolayer, 3);
+   }
+   else if (!isGranularityOK and !isGradientOK)
+   {
+      hValidation->Fill(m_PCAbin, m_calolayer, 4);
+   }
+}
+
+
+void ShowerShapeBinning::CreateNNinput()
+{
+   // * Create NNinput TTrees
+   std::string NNinput      = m_topDir + m_particle + "/NNinput_"/*nbinsR" + std::to_string(m_nbinsR) + "_"*/ + m_fileName + ".root";
+   TFile       *NNinputFile = new TFile(NNinput.c_str(), "recreate");
+
+   TTree *NNbinCenter = new TTree("NNbinCenter", "NNbinCenter");
+   TTree *NNprob      = new TTree("NNprob", "NNprob");
+
+   BookNNinputTree(NNbinCenter, NNprob);
+
+   // * Normalize the energy weighted histogram
+   TH2F *hEnergyNorm = (TH2F *)hEnergy->Clone("hEnergyNorm");
+   hEnergyNorm->Scale(1 / hEnergyNorm->Integral());
+
+   for (int ibinx = 0; ibinx < hEnergy->GetNbinsX() + 1; ibinx++)
+   {
+      float Alphamin = hEnergy->GetXaxis()->GetBinLowEdge(ibinx);
+      float Alphamax = hEnergy->GetXaxis()->GetBinUpEdge(ibinx);
+
+      for (int ibiny = 0; ibiny < hEnergy->GetNbinsY() + 1; ibiny++)
+      {
+         float Rmin = hEnergy->GetXaxis()->GetBinLowEdge(ibiny);
+         float Rmax = hEnergy->GetYaxis()->GetBinUpEdge(ibiny);
+
+         float area = TMath::Pi() * (Rmax * Rmax - Rmin * Rmin) * ((Alphamax - Alphamin) / (2 * TMath::Pi()));
+         // * for energy tree
+         if (ibinx > 0 and ibiny > 0)
+         {
+            m_alphaBinCenter  = hEnergy->GetXaxis()->GetBinCenter(ibinx);
+            m_rBinCenter      = hEnergy->GetYaxis()->GetBinCenter(ibiny);
+            m_Hits            = hHits->GetBinContent(ibinx, ibiny);
+            m_Energy          = hEnergy->GetBinContent(ibinx, ibiny);
+            m_EnergyDensity   = hEnergyDensity->GetBinContent(ibinx, ibiny);
+            m_LnEnergy        = TMath::Log(hEnergy->GetBinContent(ibinx, ibiny));
+            m_LnEnergyDensity = TMath::Log(hEnergyDensity->GetBinContent(ibinx, ibiny));
+
+            if (m_debug)
+            {
+               cout << " i = " << ibinx << " j = " << ibiny << endl;
+               cout << " alpha = " << m_alphaBinCenter << endl;
+               cout << " r = " << m_rBinCenter << endl;
+               cout << " LN energy density = " << m_LnEnergyDensity << endl;
+               cout << "LN energy = " << m_LnEnergy << endl;
+               cout << "====================================" << endl;
+            }
+
+            NNbinCenter->Fill();
+         }
+
+
+         // * for probability tree: uses bin boundary instead of center
+
+         m_alphaBin = xbinsAlpha.at(ibinx);
+         if (ibiny == 0)
+         {
+            m_rBin = TMath::Log(ybinsR.at(1)) - 1;
+         }
+         else
+         {
+            m_rBin = TMath::Log(ybinsR.at(ibiny));
+         }
+
+         // * calculate r prob
+         if (ibiny == 0)
+         {
+            m_rProb = 0;
+         }
+         else if (ibiny > 0)
+         {
+            m_rProb = hEnergyNorm->Integral(1, hEnergyNorm->GetNbinsX(), 1, ibiny);
+         }
+
+         // * calculate alpha prob
+
+         float alpha_tot = 0;
+
+         if (ibinx == 0 and ibiny == 0)
+         {
+            m_alphaProb = 0;
+         }
+         else if (ibiny == 0 and ibinx > 0)
+         {
+            alpha_tot   = hEnergyNorm->Integral(1, hEnergyNorm->GetNbinsX(), 1, 1);
+            m_alphaProb = hEnergyNorm->Integral(1, ibinx, 1, 1) / alpha_tot;
+         }
+         else if (ibinx > 0 and ibiny > 0)
+         {
+            alpha_tot   = hEnergyNorm->Integral(1, hEnergyNorm->GetNbinsX(), ibiny, ibiny);
+            m_alphaProb = hEnergyNorm->Integral(1, ibinx, ibiny, ibiny) / alpha_tot;
+         }
+
+         // * weight: don't understand this? needs to be reviewed!
+
+         if (ibiny == 0)
+         {
+            m_weight = 1. / 15;
+         }
+         else if (ibiny == hEnergyNorm->GetNbinsY())
+         {
+            m_weight = 1.;
+         }
+         else
+         {
+            m_weight = area;
+         }
+
+         NNprob->Fill();
+      }
+   }
+
+   // * write the TTrees and relevant histograms
+
+   NNinputFile->cd();
+   NNbinCenter->Write();
+   NNprob->Write();
+   hHits->Write();
+   hEnergy->Write();
+   hEnergyNorm->Write();
+   hEnergyDensity->Write();
+   hLnEnergy->Write();
+   hLnEnergyDensity->Write();
+   hGradient->Write();
+   hValidation->Write();
+   h_alpha->Write();
+   h_dr->Write();
+   NNinputFile->Close();
+
+   //  std::string inputDistrFile = m_topDir + m_particle + "/InputDistribution_" + m_particle + ".root";
+   //  TFile       *fout          = TFile::Open(inputDistrFile.c_str(), "update");
+   //  TH2F        *hClone        = (TH2F *)hLnEnergyDensity->Clone(Form("hLnEnergyDensity_layer%i_pca%i", m_calolayer, m_PCAbin));
+   //  fout->cd();
+   //  hClone->Write();
+   //  fout->Close();
+}
+
+
+bool ShowerShapeBinning::CheckEmptyBin()
+{
+   bool isEmpty = false;
+
+   for (int ibinx = 0; ibinx < hEnergy->GetNbinsX() + 1; ibinx++)
+   {
+      float Alphamin = hEnergy->GetXaxis()->GetBinLowEdge(ibinx);
+      float Alphamax = hEnergy->GetXaxis()->GetBinUpEdge(ibinx);
+
+      for (int ibiny = 0; ibiny < hEnergy->GetNbinsY() + 1; ibiny++)
+      {
+         float Rmin = hEnergy->GetYaxis()->GetBinLowEdge(ibiny);
+         float Rmax = hEnergy->GetYaxis()->GetBinUpEdge(ibiny);
+
+         float area = TMath::Pi() * (Rmax * Rmax - Rmin * Rmin) * (Alphamax - Alphamin) / (2 * TMath::Pi());
+
+         if (ibinx > 0 and ibiny > 0)
+         {
+            float energy = hEnergy->GetBinContent(ibinx, ibiny);
+            hLnEnergy->SetBinContent(ibinx, ibiny, TMath::Log(energy));
+            hEnergyDensity->SetBinContent(ibinx, ibiny, energy / area);
+            float density = hEnergyDensity->GetBinContent(ibinx, ibiny);
+            hLnEnergyDensity->SetBinContent(ibinx, ibiny, TMath::Log(density));
+            if (m_debug)
+            {
+               cout << " BIN (" << ibinx << "," << ibiny << ") = " << density << endl;
+            }
+            if (density < m_tolerance)
+            {
+               cout << " EMPTY BIN (" << ibinx << "," << ibiny << ") = " << density << endl;
+               isEmpty = true;
+               return isEmpty;
+            }
+         }
+      } // end loop over ybins
+   }    //end loop over xbins
+
+   return isEmpty;
+}
+
+
+bool ShowerShapeBinning::CheckGranularity(TTree *tree)
+{
+   bool isGoodGranularity = false;
+
+   // * get the r granularity for the first 3 bins
+
+   float rgranularity = ybinsR.at(3) - ybinsR.at(0);
+
+
+
+   // * read the variables needed from the TTree
+   tree->GetEntry(0);
+
+   float cell_r    = m_cellr;
+   float cell_z    = m_cellz;
+   float cell_eta  = m_celleta;
+   float cell_deta = m_cellDeta;
+   float cell_dphi = m_cellDphi;
+
+   if (m_debug)
+   {
+      cout << "cell r = " << cell_r << ", cell z = " << cell_z << ", cell eta = " << cell_eta << ", cell deta = " << cell_deta << ", cell dpi = " << cell_dphi << endl;
+   }
+
+
+   // * get the cell dimensions in mm
+   float cell_deta_mm, cell_dphi_mm;
+
+   tie(cell_deta_mm, cell_dphi_mm) = GetUnitsmm(cell_eta, cell_deta, cell_dphi, cell_r, cell_z);
+
+   float minCellGranularity = TMath::Min(cell_deta_mm, cell_dphi_mm);
+
+   // * calculate the max and min alpha bin width, already in mm
+
+   std::vector<float> alphaBinWidth;
+
+   for (unsigned int i = 0; i < xbinsAlpha.size() - 1; i++)
+   {
+      alphaBinWidth.push_back(xbinsAlpha.at(i + 1) - xbinsAlpha.at(i));
+   }
+
+   float alphaMax = *std::max_element(alphaBinWidth.begin(), alphaBinWidth.end());
+   float alphaMin = *std::min_element(alphaBinWidth.begin(), alphaBinWidth.end());
+
+   // * calculate eta/phi max & min from alpha max & min and r
+
+   float etaMax = TMath::Sqrt((rgranularity * rgranularity) / (1 + TMath::Tan(alphaMax) * TMath::Tan(alphaMax)));
+   float etaMin = TMath::Sqrt((rgranularity * rgranularity) / (1 + TMath::Tan(alphaMax) * TMath::Tan(alphaMin)));
+   float phiMax = fabs(etaMax * TMath::Tan(alphaMax));
+   float phiMin = fabs(etaMin * TMath::Tan(alphaMin));
+
+   if (m_debug)
+   {
+      cout << " alphaMin = " << alphaMin << " alphaMax = " << alphaMax << " etaMin = " << etaMin << " etaMax = " << etaMax << " phiMin = " << phiMin << " phiMax = " << phiMax << endl;
+   }
+
+   // * check if the granularity of the parametrization is smaller than cell granularity
+
+   float minParamGranularity = 0;
+
+   if (minCellGranularity == cell_deta_mm)
+   {
+      minParamGranularity = TMath::Max(etaMin, etaMax);
+   }
+   else if (minCellGranularity == cell_dphi_mm)
+   {
+      minParamGranularity = TMath::Max(phiMin, phiMax);
+   }
+
+   if (minCellGranularity >= minParamGranularity)
+   {
+      isGoodGranularity = true;
+      cout << " * Granularity is OK! " << endl;
+   }
+   else
+   {
+      cout << " * Granularity Problem " << endl;
+      cout << " Cell min granularity  = " << minCellGranularity << endl;
+      cout << " Parametrization min granularity = " << minParamGranularity << endl;
+   }
+
+
+   return isGoodGranularity;
+}
+
+
+bool ShowerShapeBinning::CheckGradient()
+{
+   cout << " * Checking gradient of energy density ..." << endl;
+
+   bool isGradientOK = true;
+
+   for (int ibiny = 2; ibiny < hEnergyDensity->GetNbinsY(); ibiny++)
+   {
+      float relvar1     = 0;
+      float relvar2     = 0;
+      float errGradient = 0;
+
+      float Lnrelvar1     = 0;
+      float Lnrelvar2     = 0;
+      float LnerrGradient = 0;
+
+
+      for (int ibinx = 1; ibinx < hEnergyDensity->GetNbinsX() + 1; ibinx++)
+      {
+         relvar1 += (hEnergyDensity->GetBinContent(ibinx, ibiny) - hEnergyDensity->GetBinContent(ibinx, ibiny - 1)) / (hEnergyDensity->GetBinContent(ibinx, ibiny));
+
+         relvar2 += (hEnergyDensity->GetBinContent(ibinx, ibiny + 1) - hEnergyDensity->GetBinContent(ibinx, ibiny)) / (hEnergyDensity->GetBinContent(ibinx, ibiny));
+
+         errGradient += (hEnergyDensity->GetBinError(ibinx, ibiny) - hEnergyDensity->GetBinError(ibinx, ibiny - 1)) / (hEnergyDensity->GetBinError(ibinx, ibiny - 1));
+
+
+         Lnrelvar1     += (TMath::Log(hEnergyDensity->GetBinContent(ibinx, ibiny)) - TMath::Log(hEnergyDensity->GetBinContent(ibinx, ibiny - 1)));
+         Lnrelvar2     += (TMath::Log(hEnergyDensity->GetBinContent(ibinx, ibiny + 1)) - TMath::Log(hEnergyDensity->GetBinContent(ibinx, ibiny)));
+         LnerrGradient += (TMath::Log(hEnergyDensity->GetBinError(ibinx, ibiny)) - TMath::Log(hEnergyDensity->GetBinError(ibinx, ibiny - 1)));
+      }
+      relvar1 = relvar1 / hEnergyDensity->GetNbinsX();
+      relvar2 = relvar2 / hEnergyDensity->GetNbinsX();
+
+      Lnrelvar1 = Lnrelvar1 / hEnergyDensity->GetNbinsX();
+      Lnrelvar2 = Lnrelvar2 / hEnergyDensity->GetNbinsX();
+
+
+      hGradient->Fill(hEnergyDensity->GetYaxis()->GetBinCenter(ibiny), Lnrelvar1);
+      hGradient->SetBinError(ibiny, LnerrGradient);
+
+      float grad_tolerance = 0.;
+
+      if (ibiny < int(hEnergyDensity->GetNbinsY() / 3.))
+      {
+         grad_tolerance = 0.1;
+      }
+      else if (ibiny >= int(hEnergyDensity->GetNbinsY() / 3.) and ibiny < 2 * (int(hEnergyDensity->GetNbinsY() / 3.)))
+      {
+         grad_tolerance = 0.3;
+      }
+      else if (ibiny >= 2 * (int(hEnergyDensity->GetNbinsY() / 3.)))
+      {
+         grad_tolerance = 0.8;
+      }
+
+      if (fabs(Lnrelvar1) > grad_tolerance and fabs(Lnrelvar2) > grad_tolerance)
+      {
+         isGradientOK = false;
+
+         cout << " * Gradient Problem ....." << endl;
+         cout << " (ibiny, Ln(DelRho(E)_j), Ln(DelRho(E)_j+1) ) = (" << ibiny << ", " << Lnrelvar1 << ", " << Lnrelvar2 << " )" << endl;
+         cout << " (ibiny, DelRho(E)_j, DelRho(E)_j+1 ) = (" << ibiny << ", " << relvar1 << ", " << relvar2 << " )" << endl;
+      }
+   }
+
+   return isGradientOK;
+}
+
+
+std::vector<float> ShowerShapeBinning::Getxbins(TH1F *histo, int nbins)
+{
+   // * calculate variable bin width in alpha and dr making sure each bin has almost equal amount of hits.
+
+   bool isAlpha = true;
+
+   std::vector<float> xbins;
+
+
+   std::string title = histo->GetTitle();
+
+   if (title.compare("h_dr") == 0)
+   {
+      isAlpha = false;
+   }
+
+   if (m_debug)
+   {
+      cout << "title = " << title.c_str() << " isAlpha = " << isAlpha << endl;
+   }
+
+   if (isAlpha)
+   {
+      xbins.push_back(TMath::Pi() / 8);
+   }
+   else
+   {
+      xbins.push_back(0);
+   }
+
+
+
+   float AvgHitsPerBin = histo->Integral() / nbins;
+
+
+   float hitCounts = 0;
+
+   for (int ibin = 1; ibin < histo->GetNbinsX() + 1; ibin++)
+   {
+      if (hitCounts < AvgHitsPerBin)
+      {
+         hitCounts = hitCounts + histo->GetBinContent(ibin);
+      }
+      else if (hitCounts >= AvgHitsPerBin)
+      {
+         xbins.push_back(histo->GetBinLowEdge(ibin) + histo->GetBinWidth(ibin));
+         hitCounts = 0;
+      }
+   }
+
+   int   nRmax = histo->FindLastBinAbove(0);
+   float Rmax  = histo->GetBinLowEdge(nRmax) + histo->GetBinWidth(nRmax);
+
+   if (isAlpha)
+   {
+      xbins.push_back(2 * TMath::Pi() + TMath::Pi() / 8);
+   }
+   else
+   {
+      xbins.push_back(Rmax);
+   }
+
+   return xbins;
+}
+
+
+std::tuple<float, float> ShowerShapeBinning::GetUnitsmm(float eta_hit, float d_eta, float d_phi, float cell_r, float cell_z)
+{
+   float phi_dist2r = 1.0;
+   float dist000    = TMath::Sqrt(cell_r * cell_r + cell_z * cell_z);
+
+   float eta_jakobi = TMath::Abs(2.0 * TMath::Exp(-eta_hit) / (1.0 + TMath::Exp(-2 * eta_hit)));
+
+   d_eta = d_eta * eta_jakobi * dist000;
+   d_phi = d_phi * cell_r * phi_dist2r;
+
+   if (m_debug)
+   {
+      cout << " in function deta = " << d_eta << " dphi = " << d_phi << endl;
+   }
+   return std::make_tuple(d_eta, d_phi);
+}
+
+
+void ShowerShapeBinning::InitHitsTree(TTree *hitsNtuple, TTree *globalNtuple)
+{
+   m_eventNumber = -1;
+   m_energy      = 0.;
+   m_etaHit      = 0.;
+   m_phiHit      = 0.;
+   m_etaEntrance = 0.;
+   m_phiEntrance = 0.;
+   m_deta        = 0.;
+   m_dphi        = 0.;
+   m_PCA         = 0;
+
+   m_etaCenter = 0.;
+   m_phiCenter = 0.;
+   m_etaShift  = 0.;
+   m_phiShift  = 0.;
+   m_cellr     = 0.;
+   m_cellz     = 0.;
+   m_celleta   = 0.;
+   m_cellDeta  = 0.;
+   m_cellDphi  = 0.;
+
+   hitsNtuple->SetBranchAddress("eventNumber", &m_eventNumber);
+   hitsNtuple->SetBranchAddress("energy_hit", &m_energy);
+   hitsNtuple->SetBranchAddress("eta_hit", &m_etaHit);
+   hitsNtuple->SetBranchAddress("phi_hit", &m_phiHit);
+   hitsNtuple->SetBranchAddress("eta_entrance", &m_etaEntrance);
+   hitsNtuple->SetBranchAddress("phi_entrance", &m_phiEntrance);
+   hitsNtuple->SetBranchAddress("delta_eta", &m_deta);
+   hitsNtuple->SetBranchAddress("delta_phi", &m_dphi);
+   hitsNtuple->SetBranchAddress("delta_eta", &m_deta);
+   hitsNtuple->SetBranchAddress("pca_bin", &m_PCA);
+
+   globalNtuple->SetBranchAddress("eta_center", &m_etaCenter);
+   globalNtuple->SetBranchAddress("phi_center", &m_phiCenter);
+   globalNtuple->SetBranchAddress("eta_shift", &m_etaShift);
+   globalNtuple->SetBranchAddress("phi_shift", &m_phiShift);
+   globalNtuple->SetBranchAddress("cell_r", &m_cellr);
+   globalNtuple->SetBranchAddress("cell_z", &m_cellz);
+   globalNtuple->SetBranchAddress("cell_eta", &m_celleta);
+   globalNtuple->SetBranchAddress("cell_deta", &m_cellDeta);
+   globalNtuple->SetBranchAddress("cell_dphi", &m_cellDphi);
+}
+
+
+void ShowerShapeBinning::BookHitsAlphaDrTree(TTree *hitsNtuple)
+{
+   m_eventNumber = -1;
+   m_alpha       = 0.;
+   m_dr          = 0.;
+
+
+   hitsNtuple->Branch("eventNumber", &m_eventNumber);
+   hitsNtuple->Branch("energy", &m_energy);
+   hitsNtuple->Branch("alpha", &m_alpha);
+   hitsNtuple->Branch("dr", &m_dr);
+}
+
+
+void ShowerShapeBinning::InitHitsAlphaDrTree(TTree *hitsNtuple, TTree *globalNtuple)
+{
+   m_eventNumber = -1;
+   m_energy      = 0;
+   m_alpha       = 0.;
+   m_dr          = 0.;
+
+
+   m_etaCenter = 0.;
+   m_phiCenter = 0.;
+   m_etaShift  = 0.;
+   m_phiShift  = 0.;
+   m_cellr     = 0.;
+   m_cellz     = 0.;
+   m_celleta   = 0.;
+   m_cellDeta  = 0.;
+   m_cellDphi  = 0.;
+
+   hitsNtuple->SetBranchAddress("eventNumber", &m_eventNumber);
+   hitsNtuple->SetBranchAddress("energy", &m_energy);
+   hitsNtuple->SetBranchAddress("alpha", &m_alpha);
+   hitsNtuple->SetBranchAddress("dr", &m_dr);
+
+   globalNtuple->SetBranchAddress("eta_center", &m_etaCenter);
+   globalNtuple->SetBranchAddress("phi_center", &m_phiCenter);
+   globalNtuple->SetBranchAddress("eta_shift", &m_etaShift);
+   globalNtuple->SetBranchAddress("phi_shift", &m_phiShift);
+   globalNtuple->SetBranchAddress("cell_r", &m_cellr);
+   globalNtuple->SetBranchAddress("cell_z", &m_cellz);
+   globalNtuple->SetBranchAddress("cell_eta", &m_celleta);
+   globalNtuple->SetBranchAddress("cell_deta", &m_cellDeta);
+   globalNtuple->SetBranchAddress("cell_dphi", &m_cellDphi);
+}
+
+
+void ShowerShapeBinning::BookNNinputTree(TTree *energyNtuple, TTree *probNtuple)
+{
+   m_alphaBinCenter  = 0.;
+   m_rBinCenter      = 0.;
+   m_Hits            = 0.;
+   m_Energy          = 0.;
+   m_EnergyDensity   = 0.;
+   m_LnEnergy        = 0.;
+   m_LnEnergyDensity = 0.;
+
+
+   m_alphaProb = 0.;
+   m_rProb     = 0.;
+   m_alphaBin  = 0.;
+   m_rBin      = 0.;
+   m_weight    = 0.;
+
+   energyNtuple->Branch("alpha", &m_alphaBinCenter);
+   energyNtuple->Branch("r", &m_rBinCenter);
+   energyNtuple->Branch("Hits", &m_Hits);
+   energyNtuple->Branch("Energy", &m_Energy);
+   energyNtuple->Branch("EnergyDensity", &m_EnergyDensity);
+   energyNtuple->Branch("LnEnergy", &m_LnEnergy);
+   energyNtuple->Branch("LnEnergyDensity", &m_LnEnergyDensity);
+
+   probNtuple->Branch("alpha_prob", &m_alphaProb);
+   probNtuple->Branch("r_prob", &m_rProb);
+   probNtuple->Branch("alpha_bin", &m_alphaBin);
+   probNtuple->Branch("r_bin", &m_rBin);
+   probNtuple->Branch("weight", &m_weight);
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeBinning.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeBinning.h
new file mode 100644
index 0000000000000000000000000000000000000000..02a6174e7376ee2f0487fd6fee0dd64802e55f61
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeBinning.h
@@ -0,0 +1,153 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ShowerShapeBinning_h
+#define ShowerShapeBinning_h
+
+#include "TChain.h"
+#include "TTree.h"
+#include "TH1.h"
+
+
+class ShowerShapeBinning
+{
+public:
+
+
+   ShowerShapeBinning();
+
+   ~ShowerShapeBinning();
+
+   void CreateHitsAlphaDrNtuple(std::string);
+   void RunBinning();
+   bool CheckEmptyBin();
+   void CreateNNinput();
+   bool CheckGranularity(TTree *);
+   bool CheckGradient();
+
+   std::vector<float> Getxbins(TH1F *histo, int nbins);
+
+   std::tuple<float, float> GetUnitsmm(float eta_hits, float deta, float dphi, float cellr, float cellz);
+
+   void InitHitsTree(TTree *, TTree *);
+
+   void BookHitsAlphaDrTree(TTree *);
+   void InitHitsAlphaDrTree(TTree *, TTree *);
+   void BookNNinputTree(TTree *, TTree *);
+
+
+
+   // * setter methods
+   void set_calolayer(int calolayer_) { m_calolayer = calolayer_; }
+   void set_PCAbin(int PCAbin_) { m_PCAbin = PCAbin_; }
+   void set_nbinsR(int nbinsR_) { m_nbinsR = nbinsR_; }
+   void set_nbinsAlpha(int nbinsAlpha_) { m_nbinsAlpha = nbinsAlpha_; }
+   void set_mincalosize(float mincalosize_) { m_mincalosize = mincalosize_; }
+   void set_particle(string particle_) { m_particle = particle_; }
+   void set_energy(float energy_) { m_particleEnergy = energy_; }
+   void set_eta(float etamin_, float etamax_) { m_etamin = etamin_; m_etamax = etamax_; }
+   void set_tolerance(float tolerance_) { m_tolerance = tolerance_; }
+
+   void set_topDir(string topDir_) { m_topDir = topDir_; }
+   void set_fileName(string fileName_) { m_fileName = fileName_; }
+
+
+private:
+
+   // * settings
+   int m_calolayer;
+   int m_PCAbin;
+   int m_PCA; // ttree variable
+   int m_nbinsR;
+   int m_nbinsAlpha;
+   float m_mincalosize;
+   string m_particle;
+   float m_particleEnergy; // in Gev
+   float m_etamin;
+   float m_etamax;
+   float m_tolerance;
+
+   int m_debug;
+
+
+   std::string m_topDir;
+   std::string m_fileName;
+
+
+   // * for hits TTree
+   int m_eventNumber;
+   float m_energy;
+   float m_etaHit;
+   float m_phiHit;
+   float m_etaEntrance;
+   float m_phiEntrance;
+   float m_deta;
+   float m_dphi;
+
+
+   float m_etaCenter;
+   float m_phiCenter;
+   float m_etaShift;
+   float m_phiShift;
+   float m_cellr;
+   float m_cellz;
+   float m_celleta;
+   float m_cellDeta;
+   float m_cellDphi;
+
+   // * hits TTree with alpha and dr
+
+   float m_alpha;
+   float m_dr;
+
+   // * alpha and dr bin widths
+   std::vector<float> xbinsAlpha;
+   std::vector<float> ybinsR;
+
+
+   // * histograms
+
+   TH2F *halphadrE;
+
+   TH1F *h_alpha;
+   TH1F *h_dr;
+
+
+   TH2F *hHits;
+   TH2F *hEnergyDensity;
+   TH2F *hEnergy;
+
+
+   TH2F *hLnEnergy;
+   TH2F *hLnEnergyDensity;
+
+   TH1F *hGradient;
+
+   TH2F *hValidation;
+
+   // * NNinput TTree variables
+
+   float m_alphaBinCenter;
+   float m_rBinCenter;
+   float m_Hits;
+   float m_Energy;
+   float m_EnergyDensity;
+   float m_LnEnergy;
+   float m_LnEnergyDensity;
+
+   float m_alphaProb;
+   float m_rProb;
+   float m_alphaBin;
+   float m_rBin;
+   float m_weight;
+
+
+   ClassDef(ShowerShapeBinning, 1);
+};
+
+#if defined(__MAKECINT__)
+#pragma link C++ class ShowerShapeBinning+;
+#endif
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapePlotting.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapePlotting.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..982a32f99599481b53014569659bc5d697067338
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapePlotting.cxx
@@ -0,0 +1,652 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/****************************************
+* Macro to make pretty plots
+* <a.hasib@cern.ch>
+****************************************/
+
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+#include <sstream>
+
+
+
+#include "TLine.h"
+#include "TLatex.h"
+#include "TCanvas.h"
+#include "TStyle.h"
+#include "TROOT.h"
+#include "TLatex.h"
+
+
+
+#include "ShowerShapePlotting.h"
+#include "AtlasStyle.h"
+
+using namespace std;
+
+
+ShowerShapePlotting::ShowerShapePlotting()
+{
+   gROOT->SetBatch(kTRUE);
+   gStyle->SetOptStat(0);
+   //gStyle->SetPalette(1);
+
+   m_calolayer      = 0;
+   m_PCAbin         = 0;
+   m_particle       = "";
+   m_particleEnergy = 0.;
+   m_etamin         = 0.;
+   m_etamax         = 0.;
+
+   m_topDir        = "";
+   m_fileName      = "";
+   m_outputDirName = "";
+   m_NNinputName   = "";
+   m_NNoutputName  = "";
+}
+
+
+ShowerShapePlotting::~ShowerShapePlotting()
+{
+}
+
+
+void ShowerShapePlotting::PlotEnergyDensityGradient()
+{
+   cout << " * Plotting energy density gradient..." << endl;
+
+   TFile *NNinputFile = TFile::Open(m_NNinputName.c_str());
+
+   TH1F *hist = (TH1F *)NNinputFile->Get("hGradient");
+
+   hist->SetTitle("");
+
+   for (int i = 0; i < hist->GetNbinsX(); i++)
+   {
+      hist->SetBinError(i, 0);
+   }
+
+
+
+   hist->SetMarkerStyle(20);
+   hist->SetMarkerSize(1);
+   hist->GetYaxis()->SetLabelSize(.02);
+   hist->GetXaxis()->SetLabelSize(.02);
+   //hist->GetYaxis()->SetRangeUser(-1,0);
+   hist->SetMaximum(0);
+   hist->GetYaxis()->SetTitle("#it{log}(#rho(E)) variation");
+   hist->GetXaxis()->SetTitle("r [mm]");
+
+
+
+   TCanvas *c0 = new TCanvas("c0", "Gradient", 800, 800);
+   c0->SetLogx();
+   c0->SetRightMargin(0.13);
+
+   hist->Draw("P");
+
+
+   int nzoom1 = int((hist->GetNbinsX()) / 3. * 2.) - 1;
+   int nzoom2 = int((hist->GetNbinsX()) / 3.) - 1;
+
+   std::cout << "ZOOM VALUES : " << nzoom1 << " " << nzoom2 << std::endl;
+
+   float Rzoom2 = hist->GetXaxis()->GetBinLowEdge(nzoom2);
+   float Rzoom1 = hist->GetXaxis()->GetBinLowEdge(nzoom1);
+   float Rzoom0 = hist->GetXaxis()->GetBinLowEdge(hist->GetNbinsX()) + hist->GetXaxis()->GetBinWidth(hist->GetNbinsX());
+
+   TLine *lg1p = new TLine(0, -0.1, Rzoom2, -0.1);
+   lg1p->SetLineWidth(2);
+   lg1p->SetLineColor(kBlue);
+   lg1p->Draw();
+
+   TLine *lg2 = new TLine(Rzoom2, -0.1, Rzoom2, -0.3);
+   lg2->SetLineWidth(2);
+   lg2->SetLineStyle(7);
+   lg2->SetLineColor(kBlue);
+   lg2->Draw();
+
+   TLine *lg2p = new TLine(Rzoom2, -0.3, Rzoom1, -0.3);
+   lg2p->SetLineWidth(2);
+   lg2p->SetLineColor(kBlue);
+   lg2p->Draw();
+
+   TLine *lg3 = new TLine(Rzoom1, -0.3, Rzoom1, -0.8);
+   lg3->SetLineWidth(2);
+   lg3->SetLineStyle(7);
+   lg3->SetLineColor(kBlue);
+   lg3->Draw();
+
+   TLine *lg3p = new TLine(Rzoom1, -0.8, Rzoom0, -0.8);
+   lg3p->SetLineWidth(2);
+   lg3p->SetLineColor(kBlue);
+   lg3p->Draw();
+
+
+   TLatex *l = new TLatex(60, -0.1, "ATLAS");
+   l->SetTextSize(.03);
+   l->SetTextFont(72);
+
+   TLatex *l2 = new TLatex(300, -0.1, "Simulation Preliminary");
+   l2->SetTextSize(.03);
+   l2->SetTextFont(42);
+
+   std::string labeltitle = CreateLabels();
+   TLatex      *l3        = new TLatex(-1, 0.01, labeltitle.c_str());
+   l3->SetTextSize(.02);
+   l3->SetTextFont(42);
+
+   l->Draw();
+   l2->Draw();
+   l3->Draw();
+
+   c0->Update();
+   c0->SaveAs((m_outputDirName + "/EnergyDensityGradient.png").c_str());
+}
+
+
+void ShowerShapePlotting::PlotPolar(std::vector<string> histNameVec, bool isOutput)
+{
+   cout << " * Plotting NNinput polar plots ..." << endl;
+
+   //gStyle->SetPalette(1);
+   SetCustomPalette();
+   std::string labeltitle = CreateLabels();
+
+
+   TFile *NNinputFile  = TFile::Open(m_NNinputName.c_str());
+   TFile *NNoutputFile = TFile::Open(m_NNoutputName.c_str());
+
+
+   for (unsigned int ihist = 0; ihist < histNameVec.size(); ihist++)
+   {
+      TH2F *href = (TH2F *)NNinputFile->Get((histNameVec.at(ihist)).c_str());
+      TH2F *hout;
+
+
+
+      std::string label;
+
+      if ((histNameVec.at(ihist)).compare("hHits") == 0)
+      {
+         label = "Number of hits";
+      }
+      else if ((histNameVec.at(ihist)).compare("hEnergy") == 0)
+      {
+         label = "E [MeV] ";
+      }
+      else if ((histNameVec.at(ihist)).compare("hEnergyDensity") == 0)
+      {
+         label = "#rho(E) [MeV/mm^{2}]";
+      }
+      else if ((histNameVec.at(ihist)).compare("hLnEnergy") == 0)
+      {
+         label = "#it{log}(E) [MeV]";
+      }
+      else if ((histNameVec.at(ihist)).compare("hLnEnergyDensity") == 0)
+      {
+         label = "#it{log}(#rho(E)) [MeV/mm^{2}]";
+      }
+
+
+      // * loop over different zoom
+
+      for (int izoom = 0; izoom < 3; izoom++)
+      {
+         float  zoom      = -1;
+         string labelzoom = "";
+
+         if (izoom == 0)
+         {
+            zoom      = href->GetYaxis()->GetBinLowEdge(href->GetNbinsY()) + href->GetYaxis()->GetBinWidth(href->GetNbinsY());
+            labelzoom = "zoom0";
+         }
+         else if (izoom == 1)
+         {
+            int nzoom = int(2. * (href->GetNbinsY()) / 3.) - 1;
+            zoom      = href->GetYaxis()->GetBinLowEdge(nzoom);
+            labelzoom = "zoom1";
+         }
+         else if (izoom == 2)
+         {
+            int nzoom = int((href->GetNbinsY()) / 3.) - 1;
+            zoom      = href->GetYaxis()->GetBinLowEdge(nzoom);
+            labelzoom = "zoom2";
+         }
+
+
+
+         float myr[3];
+         myr[0] = -zoom;
+         myr[1] = 0;
+         myr[2] = zoom;
+
+         TLatex *l = new TLatex(-1 * zoom, -1.15 * zoom, "ATLAS");
+         l->SetTextSize(.03);
+         l->SetTextFont(72);
+
+         TLatex *l2 = new TLatex(-0.7 * zoom, -1.15 * zoom, "Simulation Preliminary");
+         l2->SetTextSize(.03);
+         l2->SetTextFont(42);
+
+         TLatex *lInputTitle = new TLatex(-zoom, 1.02 * zoom, (labeltitle + ", " + labelzoom + ", NN input").c_str());
+         lInputTitle->SetTextSize(.02);
+         lInputTitle->SetTextFont(42);
+
+
+         TLatex *lOutputTitle = new TLatex(-zoom, 1.02 * zoom, (labeltitle + ", " + labelzoom + ", NN output, neurons =" + std::to_string(m_neurons)).c_str());
+         lOutputTitle->SetTextSize(.02);
+         lOutputTitle->SetTextFont(42);
+
+
+         TLatex *lRatioTitle = new TLatex(-zoom, 1.02 * zoom, (labeltitle + ", " + labelzoom + ", Ratio, neurons =" + std::to_string(m_neurons)).c_str());
+         lRatioTitle->SetTextSize(.02);
+         lRatioTitle->SetTextFont(42);
+
+
+         TH2F *hdummy = new TH2F(("hdummy" + histNameVec.at(ihist) + labelzoom).c_str(), "", 2, myr, 2, myr);
+         hdummy->GetYaxis()->SetRangeUser(-float(zoom), float(zoom));
+         hdummy->GetXaxis()->SetRangeUser(-float(zoom), float(zoom));
+         hdummy->GetYaxis()->SetLabelSize(.02);
+         hdummy->GetXaxis()->SetLabelSize(.02);
+
+         hdummy->GetXaxis()->SetTitle("x [mm]");
+         hdummy->GetYaxis()->SetTitle("y [mm]");
+
+
+         href->SetContour(20);
+         href->GetYaxis()->SetRangeUser(-float(zoom), float(zoom));
+         href->GetZaxis()->SetLabelSize(0.02);
+         href->GetZaxis()->SetTitle(label.c_str());
+         href->GetZaxis()->SetTitleSize(0.03);
+         href->GetZaxis()->SetTitleOffset(1.3);
+         href->Sumw2();
+
+
+         TCanvas *c1 = new TCanvas(("NNinput_" + histNameVec.at(ihist) + labelzoom).c_str(), ("NNinput_" + histNameVec.at(ihist) + labelzoom).c_str(), 800, 800);
+         c1->cd();
+         c1->SetRightMargin(0.14);
+         hdummy->Draw("COLZ");
+         href->Draw("COLZ POL SAME");
+
+         l->Draw();
+         l2->Draw();
+         lInputTitle->Draw();
+
+         c1->SaveAs((m_outputDirName + "NNinput_" + histNameVec.at(ihist) + "_" + labelzoom + ".png").c_str());
+         c1->Close();
+
+         if (isOutput)
+         {
+            hout = (TH2F *)NNoutputFile->Get((histNameVec.at(ihist)).c_str());
+            //hout->Scale(1 / hout->Integral());
+            hout->SetContour(20);
+            hout->GetYaxis()->SetRangeUser(-float(zoom), float(zoom));
+            //hout->GetZaxis()->SetRangeUser(0, .012);
+            hout->GetZaxis()->SetLabelSize(0.02);
+            hout->GetZaxis()->SetTitle(label.c_str());
+            hout->GetZaxis()->SetTitleSize(0.03);
+            hout->GetZaxis()->SetTitleOffset(1.3);
+            hout->Sumw2();
+
+
+
+            TCanvas *c2 = new TCanvas(("NNoutput_" + histNameVec.at(ihist) + labelzoom).c_str(), ("NNoutput_" + histNameVec.at(ihist) + labelzoom).c_str(), 800, 800);
+            c2->cd();
+            c2->SetRightMargin(0.14);
+            hdummy->Draw("COLZ");
+            hout->Draw("COLZ POL SAME");
+
+            l->Draw();
+            l2->Draw();
+            lOutputTitle->Draw();
+
+            c2->SaveAs((m_outputDirName + "NNoutput_" + histNameVec.at(ihist) + "_" + labelzoom + ".png").c_str());
+            c2->Close();
+
+            // * ratio
+            TH2F *hratio = (TH2F *)href->Clone(("hratio_" + histNameVec.at(ihist) + labelzoom).c_str());
+            hratio->Divide(hout);
+            hratio->GetZaxis()->SetTitle("");
+            hratio->GetZaxis()->SetRangeUser(0, +1.5);
+
+            TCanvas *c3 = new TCanvas(("Ratio_" + histNameVec.at(ihist) + labelzoom).c_str(), ("Ratio_" + histNameVec.at(ihist) + labelzoom).c_str(), 800, 800);
+            c3->cd();
+            c3->SetRightMargin(0.14);
+            hdummy->Draw("COLZ");
+            hratio->Draw("COLZ POL SAME");
+
+            l->Draw();
+            l2->Draw();
+            lRatioTitle->Draw();
+
+            c3->SaveAs((m_outputDirName + "Ratio_" + histNameVec.at(ihist) + "_" + labelzoom + ".png").c_str());
+            c3->Close();
+         }
+      }
+   }
+}
+
+
+void ShowerShapePlotting::CreateValidationPlot()
+{
+   SetCustomPalette();
+
+
+
+   TFile *NNinputFile = TFile::Open(m_NNinputName.c_str());
+
+   TH2F *hist = (TH2F *)NNinputFile->Get("hValidation");
+   hist->SetTitle("");
+
+
+   TCanvas *c1 = new TCanvas("c1", "c1", 800, 800);
+
+   c1->SetRightMargin(0.13);
+   c1->cd();
+   hist->Draw("COLZ");
+
+   TLatex *l = new TLatex();
+   l->SetTextSize(.02);
+   l->DrawLatex(-1, -1, "1 = all OK, 2 = bad gradient, 3 = bad granularity, 4 = bad gradient and granularity");
+
+   std::string labeltitle = CreateLabels();
+
+   TLatex *l2 = new TLatex(0, 14.6, labeltitle.c_str());
+   l2->SetTextSize(.02);
+   l2->Draw();
+
+   c1->SaveAs((m_outputDirName + "ValidationPlot.png").c_str());
+   c1->Close();
+}
+
+
+std::string ShowerShapePlotting::CreateLabels()
+{
+   std::string energy;
+
+   stringstream energyvalue;
+   energyvalue << fixed << setprecision(0) << m_particleEnergy;
+   energy = energyvalue.str() + " GeV";
+
+   std::string eta;
+
+   stringstream etamin, etamax;
+
+   etamin << fixed << setprecision(2) << m_etamin;
+   etamax << fixed << setprecision(2) << m_etamax;
+
+   eta = etamin.str() + " < |#eta| < " + etamax.str();
+
+
+   std::string particle;
+
+   if (m_particle.compare("el_1mm") == 0)
+   {
+      particle = "e^{#pm} (1mm)";
+   }
+   else if (m_particle.compare("el_opt") == 0)
+   {
+      particle = "e^{#pm} (opt)";
+   }
+   else if (m_particle.compare("pion") == 0)
+   {
+      particle = "#pi^{#pm}";
+   }
+   else if (m_particle.compare("photon") == 0)
+   {
+      particle = "#gamma^0";
+   }
+
+   std::string calolayer;
+
+   if (4 > m_calolayer > 0)
+   {
+      calolayer = "EMB" + std::to_string(m_calolayer);
+   }
+   else if (m_calolayer == 0)
+   {
+      calolayer = "PreSamplerB";
+   }
+   else if (m_calolayer == 12)
+   {
+      calolayer = "TileBar0";
+   }
+   else if (m_calolayer == 13)
+   {
+      calolayer = "TileBar1";
+   }
+   else if (m_calolayer == 14)
+   {
+      calolayer = "TileBar2";
+   }
+
+   std::string binpca;
+
+   binpca = "bin(PCA) = " + std::to_string(m_PCAbin);
+
+   TFile *NNinputFile  = TFile::Open(m_NNinputName.c_str());
+   TH2F *h = (TH2F*)NNinputFile->Get("hLnEnergyDensity");
+   int final_nbinsR = h->GetNbinsY();
+   int final_nbinsAlpha = h->GetNbinsX();
+
+   std::string bin;
+
+   bin = "#alpha nbins = " + std::to_string(final_nbinsAlpha) + ", r nbins = " + std::to_string(final_nbinsR);
+
+   std::string label = energy + " " + particle + ", " + eta + ", " + calolayer + ", " + binpca + ", " + bin;
+
+   return label;
+}
+
+
+void ShowerShapePlotting::SetCustomPalette()
+{
+   /*
+    * const Int_t NRGBs = 6;
+    * const Int_t NCont = 50;
+    *
+    * Double_t stops[NRGBs] = { 0.00, 0.1, 0.34, 0.61, 0.84, 1.00 };
+    * Double_t red[NRGBs]   = { 0.99, 0.0, 0.00, 0.87, 1.00, 0.51 };
+    * Double_t green[NRGBs] = { 0.00, 0.0, 0.81, 1.00, 0.20, 0.00 };
+    * Double_t blue[NRGBs]  = { 0.99, 0.0, 1.00, 0.12, 0.00, 0.00 };
+    *
+    *
+    * TColor::CreateGradientColorTable(NRGBs, stops, red, green, blue, NCont);
+    * gStyle->SetNumberContours(NCont);
+    *
+    *
+    */
+
+   Double_t stops[5] = { 0.00, 0.24, 0.61, 0.84, 1.00 };
+   Double_t red[5]   = { 0.00, 0.00, 0.87, 1.00, 0.51 };
+   Double_t green[5] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
+   Double_t blue[5]  = { 0.51, 1.00, 0.12, 0.00, 0.00 };
+
+   UInt_t npoints   = 5;
+   Int_t  ncontours = 20;
+
+   TColor::CreateGradientColorTable(npoints, stops, red, green, blue, ncontours);
+   gStyle->SetNumberContours(ncontours);
+}
+
+
+void ShowerShapePlotting::CreateHTML(std::vector<string> histNameVec)
+{
+   cout << " * Creating HTML with plots ... " << endl;
+
+   //  std::string file = m_outputDirName + "../" + m_particle + "_" + std::to_string(m_particleEnergy) + "_eta_" + std::to_string(m_etamin) + "_" + std::to_string(m_etamax) + "_nbinsR" + std::to_string(m_nbinsR) + "_neuron" + std::to_string(m_neurons) + ".html";
+
+   std::string file = m_outputDirName + "../" + m_particle + "_" + std::to_string(m_particleEnergy) + "_eta_" + std::to_string(m_etamin) + "_" + std::to_string(m_etamax) + "_nbinsR" + std::to_string(m_nbinsR) + "_layer" + std::to_string(m_calolayer) + "_pca" + std::to_string(m_PCAbin) + ".html";
+
+   std::string labeltitle = CreateLabels();
+
+   //  std::string outdir = "plots_nbinsR" + std::to_string(m_nbinsR) + "_neuron" + std::to_string(m_neurons) + "/";
+
+   std::string outdir = "plots_layer" + std::to_string(m_calolayer) + "_pca" + std::to_string(m_PCAbin) + "/";
+
+   ofstream myhtml;
+   myhtml.open(file.c_str(), std::ios_base::trunc);
+
+   if (myhtml.is_open())
+   {
+      myhtml << "<p align=\"center\" class=\"style3\"> Plots for : " << labeltitle.c_str() << "</p>\n";
+      myhtml << "<table align=\"center\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\"><tr>\n";
+
+      myhtml << "<td align=\"center\" class=\"style2\">  </td>\n";
+      myhtml << "<td align=\"center\" class=\"style2\">Validation</td>\n";
+      myhtml << "<td align=\"center\" class=\"style2\">Gradient</td>\n";
+      myhtml << "<td align=\"center\" class=\"style2\"> </td>\n";
+      myhtml << "</tr><tr>\n";
+      myhtml << "<td align=\"left\" class=\"style2\" ><br> " << "input" << " </td>\n";
+      myhtml << "<td align=\"center\" class=\"style1\" ><a  href=\"" << outdir.c_str() << "/" << "ValidationPlot.png" << "\"><img src=\"" << outdir.c_str() << "/" << "ValidationPlot.png" << "\" width=\"450\" height=\"450\"  ></a><br> (input)</td>\n";
+      myhtml << "<td align=\"center\" class=\"style1\" ><a  href=\"" << outdir.c_str() << "/" << "EnergyDensityGradient.png" << "\"><img src=\"" << outdir.c_str() << "/" << "EnergyDensityGradient.png" << "\" width=\"450\" height=\"450\"  ></a><br> (output)</td>\n";
+      myhtml << "<td align=\"center\" class=\"style1\" ><a  href=\"" << outdir.c_str() << "/" << "" << "\"><img src=\"" << outdir.c_str() << "/" << "" << "\" width=\"450\" height=\"450\"  ></a><br> (output)</td>\n";
+      myhtml << "</tr><tr>\n";
+
+      myhtml << "<td align=\"center\" class=\"style2\">Variable</td>\n";
+      myhtml << "<td align=\"center\" class=\"style2\">NN input</td>\n";
+      myhtml << "<td align=\"center\" class=\"style2\">NN ouput</td>\n";
+      myhtml << "<td align=\"center\" class=\"style2\">Ratio (input/ouput) </td>\n";
+      myhtml << "</tr><tr>\n";
+
+
+
+      for (unsigned int ihist = 0; ihist < histNameVec.size(); ihist++)
+      {
+         for (int izoom = 0; izoom < 3; izoom++)
+         {
+            std::string NNinputFig  = "NNinput_" + histNameVec.at(ihist) + "_" + "zoom" + std::to_string(izoom) + ".png";
+            std::string NNoutputFig = "NNoutput_" + histNameVec.at(ihist) + "_" + "zoom" + std::to_string(izoom) + ".png";
+            std::string NNratioFig  = "Ratio_" + histNameVec.at(ihist) + "_" + "zoom" + std::to_string(izoom) + ".png";
+
+            myhtml << "<td align=\"left\" class=\"style2\" ><br> " << (histNameVec.at(ihist) + "_zoom" + std::to_string(izoom)).c_str() << " </td>\n";
+            myhtml << "<td align=\"center\" class=\"style1\" ><a  href=\"" << outdir.c_str() << "/" << NNinputFig << "\"><img src=\"" << outdir.c_str() << "/" << NNinputFig << "\" width=\"450\" height=\"450\"  ></a><br> (input)</td>\n";
+            myhtml << "<td align=\"center\" class=\"style1\" ><a  href=\"" << outdir.c_str() << "/" << NNoutputFig << "\"><img src=\"" << outdir.c_str() << "/" << NNoutputFig << "\" width=\"450\" height=\"450\"  ></a><br> (output)</td>\n";
+            myhtml << "<td align=\"center\" class=\"style1\" ><a  href=\"" << outdir.c_str() << "/" << NNratioFig << "\"><img src=\"" << outdir.c_str() << "/" << NNratioFig << "\" width=\"450\" height=\"450\"  ></a><br> (output)</td>\n";
+
+            myhtml << "</tr><tr>\n";
+         }
+      }
+      myhtml << "</body>\n";
+      myhtml << "</html>\n";
+      myhtml.close();
+   }
+   else
+   {
+      std::cout << "Error opening html file";
+   }
+}
+
+
+void ShowerShapePlotting::CreatePlotBook(std::vector<string> histNameVec)
+{
+   cout << " * Creating  plot book ... " << endl;
+
+   //  std::string file = m_outputDirName + "../plot_books/" + m_particle + "_" + std::to_string(m_particleEnergy) + "_eta_" + std::to_string(m_etamin) + "_" + std::to_string(m_etamax) + "_nbinsR" + std::to_string(m_nbinsR) + "_layer" + std::to_string(m_calolayer) + "_pca" + std::to_string(m_PCAbin) + ".tex";
+
+   std::string file = m_outputDirName + "../plot_books/" + m_particle + "_" + std::to_string(m_particleEnergy) + "_eta_" + std::to_string(m_etamin) + "_" + std::to_string(m_etamax) + /*"_nbinsR" + std::to_string(m_nbinsR) +*/ ".tex";
+
+   std::string labeltitle = CreateLabels();
+
+
+   // std::string outdir = "../plots_nbinsR" + std::to_string(m_nbinsR) + "_layer" + std::to_string(m_calolayer) + "_pca" + std::to_string(m_PCAbin) + "/";
+
+   std::string outdir = "../plots_layer" + std::to_string(m_calolayer) + "_pca" + std::to_string(m_PCAbin) + "/";
+
+
+   ofstream mylatex;
+   mylatex.open(file.c_str());
+
+   if (mylatex.is_open())
+   {
+      mylatex << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
+      mylatex << "\\documentclass[english,professionalfonts]{beamer}" << endl;
+      mylatex << "\\usefonttheme{serif}" << endl;
+      mylatex << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
+      mylatex << "\\usepackage{beamerthemesplit}" << endl;
+      mylatex << "\\usepackage{multicol}" << endl;
+      mylatex << "\\usepackage{amsmath}" << endl;
+      mylatex << "\\usepackage{amssymb}" << endl;
+      mylatex << "\\usepackage{array}" << endl;
+      mylatex << "\\usepackage{graphicx}" << endl;
+      mylatex << "\\usepackage{multimedia}" << endl;
+      mylatex << "\\usepackage{hyperref}" << endl;
+      mylatex << "\\usepackage{url}" << endl;
+      mylatex << "%% Define a new 'leo' style for the package that will use a smaller font." << endl;
+      mylatex << "\\makeatletter" << endl;
+      mylatex << "\\def\\url@leostyle{\\@ifundefined{selectfont}{\\def\\UrlFont{\\sf}}{\\def\\UrlFont{\\small\\ttfamily}}}" << endl;
+      mylatex << "\\makeatother" << endl;
+      mylatex << "%% Now actually use the newly defined style." << endl;
+      mylatex << "\\urlstyle{leo}" << endl;
+      mylatex << "\\usepackage{cancel}" << endl;
+      mylatex << "\\usepackage{color}" << endl;
+      mylatex << "\\usepackage{verbatim}" << endl;
+      mylatex << "\\usepackage{epsfig}" << endl;
+      mylatex << "\\usepackage{fancybox}" << endl;
+      mylatex << "\\usepackage{xcolor}" << endl;
+      mylatex << "%\\usepackage{fontspec}" << endl;
+      mylatex << "%\\usepackage{booktabs,caption}" << endl;
+      mylatex << "%\\usepackage{eulervm}" << endl;
+      mylatex << "\\usepackage{textpos}" << endl;
+      mylatex << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
+      mylatex << "\\usetheme{Warsaw}" << endl;
+      mylatex << "\\usecolortheme{default}" << endl;
+      mylatex << "%\\setbeamercovered{transparent}" << endl;
+      mylatex << "\\beamertemplatenavigationsymbolsempty" << endl;
+      mylatex << "%\\setbeamertemplate" << endl;
+      mylatex << "\\setbeamertemplate{footline}[page number]" << endl;
+      mylatex << "%%\\setsansfont{Fontin Sans}" << endl;
+      mylatex << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
+      mylatex << "\\definecolor{jgreen}{cmyk}{0.99,0,0.52,0}" << endl;
+      mylatex << "\\definecolor{green}{rgb}{0.,.6,0.}" << endl;
+      mylatex << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
+      mylatex << "\\title{Shower shape parametrization : Plotbook}" << endl;
+      mylatex << "\\author{ Hasib Ahmed}" << endl;
+      mylatex << "\\institute{ University of Edinburgh}" << endl;
+      mylatex << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
+      mylatex << "\\begin{document}" << endl;
+
+
+      mylatex << "\\begin{frame}" << endl;
+      mylatex << "\\frametitle{Parameters}" << endl;
+      mylatex << "\\begin{center}" << endl;
+      mylatex << "\\begin{itemize}" << endl;
+      // mylatex << "\\item Particle = " + m_particle << endl;
+      mylatex << "\\item Energy = " + std::to_string(m_particleEnergy) + "GeV" << endl;
+      mylatex << "\\item " + std::to_string(m_etamin) + "$< |\\eta| <$" + std::to_string(m_etamax) << endl;
+      mylatex << "\\item Calorimeter layer = " + std::to_string(m_calolayer) << endl;
+      mylatex << "\\item PCA bin = " + std::to_string(m_PCAbin) << endl;
+      mylatex << "\\end{itemize}" << endl;
+      mylatex << "\\end{center}" << endl;
+      mylatex << "\\end{frame}" << endl;
+
+
+      for (unsigned int ihist = 0; ihist < histNameVec.size(); ihist++)
+      {
+         for (int izoom = 0; izoom < 3; izoom++)
+         {
+            std::string NNinputFig  = "NNinput_" + histNameVec.at(ihist) + "_" + "zoom" + std::to_string(izoom) + ".png";
+            std::string NNoutputFig = "NNoutput_" + histNameVec.at(ihist) + "_" + "zoom" + std::to_string(izoom) + ".png";
+            std::string NNratioFig  = "Ratio_" + histNameVec.at(ihist) + "_" + "zoom" + std::to_string(izoom) + ".png";
+
+            mylatex << "\\begin{frame}" << endl;
+            mylatex << "\\frametitle{Input distro: " + histNameVec.at(ihist) + "Zoom " + std::to_string(izoom) + "}" << endl;
+            mylatex << "\\begin{center}" << endl;
+            mylatex << "\\includegraphics[width=8cm]{" + outdir + "/" + NNinputFig + "}" << endl;
+            mylatex << "\\end{center}" << endl;
+            mylatex << "\\end{frame}" << endl;
+         }
+      }
+      mylatex << "\\end{document}" << endl;
+      mylatex.close();
+   }
+   else
+   {
+      cout << " ERROR::The python file cannot be opened!" << endl;
+   }
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapePlotting.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapePlotting.h
new file mode 100644
index 0000000000000000000000000000000000000000..0546bebfa5f4a5b0583d86115f5a25d4c34f6049
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapePlotting.h
@@ -0,0 +1,75 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ShowerShapePlotting_h
+#define ShowerShapePlotting_h
+
+#include "TH1.h"
+#include "TH2.h"
+#include "TFile.h"
+
+class ShowerShapePlotting
+{
+public:
+
+   ShowerShapePlotting();
+
+   ~ShowerShapePlotting();
+
+
+   void PlotEnergyDensityGradient();
+   void PlotPolar(std::vector<string>, bool);
+   void CreateValidationPlot();
+
+
+   std::string CreateLabels();
+   void SetCustomPalette();
+   void CreateHTML(std::vector<string> );
+   void CreatePlotBook(std::vector<string> );
+
+   void set_calolayer(int calolayer_) { m_calolayer = calolayer_; }
+   void set_PCAbin(int PCAbin_) { m_PCAbin = PCAbin_; }
+   void set_nbinsR(int nbinsR_) { m_nbinsR = nbinsR_; }
+   void set_particle(string particle_) { m_particle = particle_; }
+   void set_energy(float energy_) { m_particleEnergy = energy_; }
+   void set_eta(float etamin_, float etamax_) { m_etamin = etamin_; m_etamax = etamax_; }
+
+
+   void set_topDir(string topDir_) { m_topDir = topDir_; }
+   void set_fileName(string fileName_) { m_fileName = fileName_; }
+   void set_outputDirName(string outputDirName_) { m_outputDirName = outputDirName_; }
+   void set_NNinputName(string NNinputName_) { m_NNinputName = NNinputName_; }
+   void set_NNoutputName(string NNoutputName_) { m_NNoutputName = NNoutputName_; }
+
+   void set_neurons(int neurons_) { m_neurons = neurons_; }
+
+
+
+private:
+
+   TFile *m_file;
+
+   int m_calolayer;
+   int m_PCAbin;
+   int m_nbinsR;
+   string m_particle;
+   float m_particleEnergy; // in Gev
+   float m_etamin;
+   float m_etamax;
+
+   int m_neurons;
+   string m_topDir;
+   string m_fileName;
+   string m_outputDirName;
+   string m_NNinputName;
+   string m_NNoutputName;
+
+   ClassDef(ShowerShapePlotting, 1);
+};
+
+#if defined(__MAKECINT__)
+#pragma link C++ class ShowerShapePlotting+;
+#endif
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeRegression.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeRegression.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..2a4cf7aa9327216ecc437f280329df9edbd2f98a
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeRegression.cxx
@@ -0,0 +1,412 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/*****************************************************
+ * Class to implement NN regression in input variables
+ * <a.hasib@cern.ch>
+ ****************************************************/
+
+#include "ShowerShapeRegression.h"
+
+
+#include "TH2.h"
+#include "TString.h"
+#include "TFile.h"
+#include "TTree.h"
+#include "TObjString.h"
+#include "TSystem.h"
+#include "TROOT.h"
+#include "TRandom.h"
+#include "TRandom1.h"
+#include "TRandom3.h"
+#include "TMath.h"
+
+#include "TMVA/Tools.h"
+#include "TMVA/Factory.h"
+#include "TMVA/DataLoader.h"
+#include "TMVA/Reader.h"
+#include "TMVA/Config.h"
+
+
+#include <iostream>
+
+
+
+using namespace std;
+using namespace TMVA;
+
+ShowerShapeRegression::ShowerShapeRegression()
+{
+   m_calolayer      = 0;
+   m_PCAbin         = 0;
+   m_particle       = "";
+   m_particleEnergy = 0.;
+   m_etamin         = 0.;
+   m_etamax         = 0.;
+
+   m_topDir        = "";
+   m_fileName      = "";
+   m_outputDirName = "";
+   m_NNinputName   = "";
+   m_NNoutputName  = "";
+
+   m_neurons      = 0;
+   m_hiddenLayers = 0;
+}
+
+
+ShowerShapeRegression::~ShowerShapeRegression()
+{
+}
+
+
+void ShowerShapeRegression::Run(std::vector<string> targetVarVec)
+{
+   TFile *NNinputFile  = TFile::Open(m_NNinputName.c_str());
+   TFile *NNoutputFile = TFile::Open(m_NNoutputName.c_str(), "recreate");
+
+   TRandom1 *myRandom = new TRandom1();
+   myRandom->SetSeed(0);
+
+   TRandom1 *myRandom2 = new TRandom1();
+   myRandom2->SetSeed(1000);
+
+   TH2F *hinput = (TH2F*)NNinputFile->Get("hEnergyNorm");
+
+   int Ntoys = 5000; //hinput->GetEntries();
+
+
+   for (unsigned int itarget = 0; itarget < targetVarVec.size(); itarget++)
+   {
+      string histoName = "h" + targetVarVec.at(itarget);
+
+      TH2F *hin = (TH2F *)NNinputFile->Get(histoName.c_str());
+
+
+      cout << " ======> Run regrression training with target variable = " << (targetVarVec.at(itarget)).c_str() << " <======" << endl;
+
+      TMVARegressionTraining(targetVarVec.at(itarget));
+
+      //* Define a histogram with alpha and Ln(r) boundaries
+
+      int nalpha = hin->GetNbinsX() + 1;
+      int nr = hin->GetNbinsY() + 1;
+
+      // * get the bin boundaries
+
+      float xbinsalpha[nalpha];
+      float xbinsLnr[nr];
+
+      for (int ibin = 1; ibin < nalpha; ++ibin)
+      {
+         xbinsalpha[ibin - 1] = hin->GetXaxis()->GetBinLowEdge(ibin);
+
+         if (ibin == nalpha - 1 )
+            xbinsalpha[ibin] = hin->GetXaxis()->GetBinUpEdge(ibin);
+      }
+
+      for (int ibin = 0; ibin < nr; ibin++)
+      {
+         xbinsLnr[ibin - 1] = TMath::Log(hin->GetYaxis()->GetBinLowEdge(ibin));
+
+         if (ibin == nr - 1)
+            xbinsLnr[ibin] = TMath::Log(hin->GetXaxis()->GetBinUpEdge(ibin));
+      }
+
+      TH2F* houtLn = new TH2F("houtLn", "houtLn", nalpha - 1, xbinsalpha, nr - 1, xbinsLnr);
+      TH2F *hout = (TH2F *)hin->Clone(histoName.c_str());
+      hout->Reset();
+
+      //* Use random numbers for tmva application
+
+      for (int it = 0; it < Ntoys; ++it)
+      {
+         double random = myRandom->Uniform(0, 1);
+         double random2 = myRandom2->Uniform(0, 1);
+
+         std::vector<float> value = TMVARegressionApplication(random, random2, targetVarVec.at(itarget));
+
+         houtLn->Fill(value.at(0), value.at(1));
+         hout->Fill(value.at(0), TMath::Exp(value.at(1)));
+
+      }
+
+
+      // // * change Ln(r) to r
+
+      // TH2F *hout = (TH2F *)hin->Clone(histoName.c_str());
+      // hout->Reset();
+
+
+      // for (int ibinx = 1; ibinx < houtLn->GetNbinsX() + 1; ibinx++)
+      // {
+      //    for (int ibiny = 1; ibiny < houtLn->GetNbinsY() + 1; ibiny++)
+      //    {
+      //       hout->SetBinContent(ibinx, ibiny, houtLn->GetBinContent(ibinx, ibiny));
+      //       hout->SetBinError(ibinx, ibiny, houtLn->GetBinError(ibinx, ibiny));
+      //    }
+      // }
+      //
+
+      hout->Scale(1 / (hout->Integral()));
+      houtLn->Scale(1 / (houtLn->Integral()));
+      NNoutputFile->cd();
+      hout->Write();
+      houtLn->Write();
+   }
+
+   NNoutputFile->Close();
+}
+
+
+void ShowerShapeRegression::TMVARegressionTraining(std::string target)
+{
+   // * Read training and tets data
+   //cout<<" NNinput file = "<<m_NNinputName.c_str()<<endl;
+   TFile *NNinputFile = TFile::Open(m_NNinputName.c_str());
+
+   if (!NNinputFile)
+   {
+      cout << "ERROR:: inputFile cannot be opened" << endl;
+      exit(EXIT_FAILURE);
+   }
+
+   TTree *regTree = (TTree *)NNinputFile->Get("NNprob"); //will change
+
+   TString myMethodList = "";
+
+   // * load the TMVA libaray
+   TMVA::Tools::Instance();
+
+   // * Default MVA methods to be trained + tested
+   std::map<std::string, int> Use;
+
+   // Mutidimensional likelihood and Nearest-Neighbour methods
+   Use["PDERS"]   = 0;
+   Use["PDEFoam"] = 0;
+   Use["KNN"]     = 0;
+   //
+   // Linear Discriminant Analysis
+   Use["LD"] = 0;
+   //
+   // Function Discriminant analysis
+   Use["FDA_GA"]   = 0;
+   Use["FDA_MC"]   = 0;
+   Use["FDA_MT"]   = 0;
+   Use["FDA_GAMT"] = 0;
+   //
+   // Neural Network
+   Use["MLP"] = 1;
+   Use["DNN"] = 0;
+   //
+   // Support Vector Machine
+   Use["SVM"] = 0;
+   //
+   // Boosted Decision Trees
+   Use["BDT"]  = 0;
+   Use["BDTG"] = 0;
+
+
+
+   std::cout << std::endl;
+   std::cout << "==> Start TMVARegression" << std::endl;
+
+   // * Select methods
+   if (myMethodList != "")
+   {
+      for (std::map<std::string, int>::iterator it = Use.begin(); it != Use.end(); it++)
+      {
+         it->second = 0;
+      }
+      std::vector<TString> mlist = gTools().SplitString(myMethodList, ',');
+      for (UInt_t i = 0; i < mlist.size(); i++)
+      {
+         std::string regMethod(mlist[i]);
+         if (Use.find(regMethod) == Use.end())
+         {
+            std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
+            for (std::map<std::string, int>::iterator it = Use.begin(); it != Use.end(); it++)
+            {
+               std::cout << it->first << " ";
+            }
+            std::cout << std::endl;
+            return;
+         }
+         Use[regMethod] = 1;
+      }
+   }
+
+
+   // * create ouput regression file
+   string regRootFileName = m_topDir + m_particle + "/" + "NNreg_" + target + "_neuron" + std::to_string(m_neurons) + "_nbinsR" + std::to_string(m_nbinsR) + m_fileName + ".root";
+
+   string RegWeightDir = "RegWeight_" + target + "_neuron" + std::to_string(m_neurons) + "_nbinsR" + std::to_string(m_nbinsR) + m_fileName;
+
+
+
+   TFile *NNregFile = TFile::Open(regRootFileName.c_str(), "recreate");
+
+   // * create factory object
+
+   TMVA::Factory *factory = new TMVA::Factory("TMVARegression", NNregFile, "V:!Silent:Color:DrawProgressBar:AnalysisType=Regression");
+
+   // * create dataloader to read the input variables
+
+   TMVA::DataLoader *dataloader = new TMVA::DataLoader(RegWeightDir);
+   cout << " reg weight dir = " << RegWeightDir.c_str() << endl;
+
+
+   // define input variables that shall be used for training
+
+   dataloader->AddVariable("alpha_prob", "AlphaProb", 'F');
+   dataloader->AddVariable("r_prob", "rProb", 'F');
+
+
+   dataloader->AddTarget("alpha_bin", "alpha", 'F');
+   dataloader->AddTarget("r_bin", "r", 'F');
+
+   //dataloader->AddRegressionTree(regTree, 1.0);
+   dataloader->AddSignalTree(regTree, 1.0, "Train Tree");
+   dataloader->AddSignalTree(regTree, 1.0, "Test Tree");
+
+   //TCut mycut = "";
+
+   // * Neural network (MLP)
+   if (Use["MLP"])
+   {
+      factory->BookMethod(dataloader, TMVA::Types::kMLP, "MLP", Form("!H:!V:VarTransform=Norm:NeuronType=tanh:NCycles=20000:HiddenLayers=%i,%i,%i,%i:TestRate=6:TrainingMethod=BFGS:Sampling=0.3:SamplingEpoch=0.8:ConvergenceImprove=1e-6:ConvergenceTests=20:!UseRegulator", m_neurons, m_neurons, m_neurons, m_neurons));
+   }
+
+
+   // * Train MVAs using the set of training events
+   factory->TrainAllMethods();
+   // * Evaluate all MVAs using the set of test events
+   factory->TestAllMethods();
+   // * Evaluate and compare performance of all configured MVAs
+   factory->EvaluateAllMethods();
+
+   // * Save the output
+   NNregFile->Close();
+   std::cout << "==> Wrote root file: " << NNregFile->GetName() << std::endl;
+   std::cout << "==> TMVARegression is done!" << std::endl;
+
+   if (factory)
+   {
+      delete factory;
+   }
+   if (dataloader)
+   {
+      delete dataloader;
+   }
+}
+
+
+std::vector<float> ShowerShapeRegression::TMVARegressionApplication(float xval, float yval, string target)
+{
+   std::vector<float> value;
+
+   TString myMethodList = "";
+
+   // This loads the library
+   TMVA::Tools::Instance();
+
+   // Default MVA methods to be trained + tested
+   std::map<std::string, int> Use;
+
+
+   // --- Mutidimensional likelihood and Nearest-Neighbour methods
+   Use["PDERS"]   = 0;
+   Use["PDEFoam"] = 0;
+   Use["KNN"]     = 0;
+   //
+   // --- Linear Discriminant Analysis
+   Use["LD"] = 0;
+   //
+   // --- Function Discriminant analysis
+   Use["FDA_GA"]   = 0;
+   Use["FDA_MC"]   = 0;
+   Use["FDA_MT"]   = 0;
+   Use["FDA_GAMT"] = 0;
+   //
+   // --- Neural Network
+   Use["MLP"] = 1;
+   //
+   // --- Support Vector Machine
+   Use["SVM"] = 0;
+   //
+   // --- Boosted Decision Trees
+   Use["BDT"]  = 0;
+   Use["BDTG"] = 0;
+
+
+
+   // Select methods
+   if (myMethodList != "")
+   {
+      for (std::map<std::string, int>::iterator it = Use.begin(); it != Use.end(); it++)
+      {
+         it->second = 0;
+      }
+      std::vector<TString> mlist = gTools().SplitString(myMethodList, ',');
+      for (UInt_t i = 0; i < mlist.size(); i++)
+      {
+         std::string regMethod(mlist[i]);
+         if (Use.find(regMethod) == Use.end())
+         {
+            std::cout << "Method \"" << regMethod << "\" not known in TMVA under this name. Choose among the following:" << std::endl;
+            for (std::map<std::string, int>::iterator it = Use.begin(); it != Use.end(); it++)
+            {
+               std::cout << it->first << " ";
+            }
+            std::cout << std::endl;
+            exit(EXIT_FAILURE);
+         }
+         Use[regMethod] = 1;
+      }
+   }
+
+
+   TMVA::Reader *reader = new TMVA::Reader("!Color:!Silent");
+
+   // Create a set of variables and declare them to the reader
+
+   float alpha = xval;
+   float r     = yval;
+
+   reader->AddVariable("alpha_prob", &alpha);
+   reader->AddVariable("r_prob", &r);
+
+
+   // --- Book the MVA methods
+   // string RegDir = m_topDir+m_particle+"/RegWeight/"+target+"_nbinsR"+std::to_string(m_nbinsR)+m_fileName;
+
+   TString dir    = "RegWeight_" + target + "_neuron" + std::to_string(m_neurons) + "_nbinsR" + std::to_string(m_nbinsR) + m_fileName + "/weights/";
+   TString prefix = "TMVARegression";
+
+   // Book method(s)
+   for (std::map<std::string, int>::iterator it = Use.begin(); it != Use.end(); it++)
+   {
+      if (it->second)
+      {
+         TString methodName = it->first + " method";
+         TString weightfile = dir + prefix + "_" + TString(it->first) + ".weights.xml";
+         reader->BookMVA(methodName, weightfile);
+      }
+   }
+
+   float val = (reader->EvaluateRegression("MLP method"))[0];
+   float val2 = (reader->EvaluateRegression("MLP method"))[1];
+
+   value.push_back(val);
+   value.push_back(val2);
+
+
+   if (reader)
+   {
+      delete reader;
+   }
+
+
+   return value;
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeRegression.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeRegression.h
new file mode 100644
index 0000000000000000000000000000000000000000..b2f2b212e23ecb8c77dc332c05c3be6ba5854f6f
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeRegression.h
@@ -0,0 +1,73 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ShowerShapeRegression_h
+#define ShowerShapeRegression_h
+
+class ShowerShapeRegression
+{
+public:
+
+   ShowerShapeRegression();
+   ~ShowerShapeRegression();
+
+   void Run(std::vector<string> );
+
+   void TMVARegressionTraining(std::string);
+
+   std::vector<float> TMVARegressionApplication(float, float, string);
+
+
+
+   void set_calolayer(int calolayer_) { m_calolayer = calolayer_; }
+   void set_PCAbin(int PCAbin_) { m_PCAbin = PCAbin_; }
+   void set_nbinsR(int nbinsR_) { m_nbinsR = nbinsR_; }
+   void set_particle(string particle_) { m_particle = particle_; }
+   void set_energy(float energy_) { m_particleEnergy = energy_; }
+   void set_eta(float etamin_, float etamax_) { m_etamin = etamin_; m_etamax = etamax_; }
+
+
+   void set_topDir(string topDir_) { m_topDir = topDir_; }
+   void set_fileName(string fileName_) { m_fileName = fileName_; }
+   void set_outputDirName(string outputDirName_) { m_outputDirName = outputDirName_; }
+   void set_NNinputName(string NNinputName_) { m_NNinputName = NNinputName_; }
+   void set_NNoutputName(string NNoutputName_) { m_NNoutputName = NNoutputName_; }
+
+   void set_neurons(int neurons_) { m_neurons = neurons_; }
+   void set_hiddenLayers(int hiddenLayers_) { m_hiddenLayers = hiddenLayers_; }
+
+
+
+private:
+
+   int m_calolayer;
+   int m_PCAbin;
+   int m_nbinsR;
+   string m_particle;
+   float m_particleEnergy; // in Gev
+   float m_etamin;
+   float m_etamax;
+
+   string m_topDir;
+   string m_fileName;
+   string m_outputDirName;
+   string m_NNinputName;
+   string m_NNoutputName;
+
+   // * TMVA parameters
+
+   int m_neurons;
+   int m_hiddenLayers;
+
+
+
+   ClassDef(ShowerShapeRegression, 1);
+};
+
+#if defined(__MAKECINT__)
+#pragma link C++ class ShowerShapeRegression+;
+#endif
+
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeStudy.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeStudy.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..155a8bab7aaf9e9eef5aac52583cb962b7cf96b9
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeStudy.cxx
@@ -0,0 +1,712 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/*******************************************************
+* Uses the flat Ntuples created by ShowerShapeThinning.cxx
+* Studies different aspects of the shower
+* Studies reweighting scheme to have the shower center at (0,0)
+* <a.hasib@cern.ch>
+**********************************************************/
+
+#include <iostream>
+
+#include "ShowerShapeStudy.h"
+#include "TString.h"
+#include "TMath.h"
+#include "TFile.h"
+#include "TH1.h"
+#include "TH2.h"
+
+
+using namespace std;
+
+ShowerShapeStudy::ShowerShapeStudy()
+{
+   m_debug = 0;
+
+   m_calolayer      = -1;
+   m_PCAbin         = 0;
+   m_nbinsR         = 0;
+   m_nbinsAlpha     = 0;
+   m_mincalosize    = 0.;
+   m_particle       = "";
+   m_particleEnergy = 0.;
+   m_etamin         = 0.;
+   m_etamax         = 0.;
+   m_tolerance      = 0.;
+
+   cellDeta = 0;
+   cellDphi = 0;
+   cellr    = 0;
+   cellz    = 0;
+   celleta  = 0;
+}
+
+
+ShowerShapeStudy::~ShowerShapeStudy()
+{
+}
+
+
+std::tuple<float, float> ShowerShapeStudy::GetShift(int ievent)
+{
+   cout << "* Reading input hits file = " << m_hitsNtupleName.c_str() << endl;
+
+   TFile *inputHitsFile = TFile::Open(m_hitsNtupleName.c_str());
+
+   // * get the TTrees from hitsFile
+
+   TTree *hits   = (TTree *)inputHitsFile->Get("hits");
+   TTree *global = (TTree *)inputHitsFile->Get("global");
+
+   InitHitsTree(hits, global);
+
+   float sumDetaEnergy = 0;
+   float sumDphiEnergy = 0;
+   float Etotal        = 0;
+
+
+
+   for (int ihit = 0; ihit < hits->GetEntries(); ihit++)
+   {
+      hits->GetEntry(ihit);
+
+      float eventNumber = m_eventNumber;
+      float energy_hit  = m_energy;
+      float deta        = m_deta;
+      float dphi        = m_dphi;
+
+      if (eventNumber == ievent)
+      {
+         sumDetaEnergy += deta * energy_hit;
+         sumDphiEnergy += dphi * energy_hit;
+         Etotal        += energy_hit;
+      }
+   }
+
+   float etaShift = sumDetaEnergy / Etotal;
+   float phiShift = sumDphiEnergy / Etotal;
+
+   return (std::make_tuple(etaShift, phiShift));
+}
+
+
+void ShowerShapeStudy::EachParticleShower()
+{
+   // * get the input hits file
+
+   cout << "* Reading input hits file = " << m_hitsNtupleName.c_str() << endl;
+
+   TFile *inputHitsFile = TFile::Open(m_hitsNtupleName.c_str());
+
+   // * get the TTrees from hitsFile
+
+   TTree *hitsTree   = (TTree *)inputHitsFile->Get("hits");
+   TTree *globalTree = (TTree *)inputHitsFile->Get("global");
+
+
+   // * initialize the hits and global TTrees
+   InitHitsTree(hitsTree, globalTree);
+
+   // * Get the global variables
+   globalTree->GetEntry(0);
+
+   float etaCenter = m_etaCenter;
+   float phiCenter = m_phiCenter;
+   float etaShift  = m_etaShift;
+   float phiShift  = m_phiShift;
+
+   //cout << " 0th eta , phi shifts = " << etaShift << " , " << phiShift << endl;
+
+
+   float cell_r    = m_cellr;
+   float cell_z    = m_cellz;
+   float cell_eta  = m_celleta;
+   float cell_deta = m_cellDeta;
+   float cell_dphi = m_cellDphi;
+
+   float sumDetaEnergy = 0;
+   float sumDphiEnergy = 0;
+   float Etotal        = 0;
+
+   float sumEtaEnergy = 0;
+   float sumPhiEnergy = 0;
+
+
+   TH2F *hdetadphi0  = nullptr;
+   TH2F *hdetadphiE0 = nullptr;
+   TH1F *hdetaE0     = nullptr;
+
+   std::string file     = m_topDir + m_particle + "/EachParticleShower_" + m_fileName + ".root";
+   TFile       *outfile = new TFile(file.c_str(), "recreate");
+
+
+
+   int particleCount = 0;
+   int passEvent     = 0;
+
+   float etaShift2, phiShift2 = 0;
+
+   for (int ihit = 0; ihit < hitsTree->GetEntries(); ihit++)
+   {
+      hitsTree->GetEntry(ihit);
+
+      if (m_PCA != m_PCAbin)
+      {
+         continue;
+      }
+      passEvent++;
+
+
+
+      bool isNewEvent      = false;
+      int  NextEventNumber = -1;
+
+      if (ihit != hitsTree->GetEntries() - 1)
+      {
+         hitsTree->GetEntry(ihit + 1);
+         NextEventNumber = m_eventNumber;
+      }
+
+
+      hitsTree->GetEntry(ihit);
+
+
+
+      int eventNumber = m_eventNumber;
+
+      float energy_hit = m_energy;
+      float eta_hit    = m_etaHit;
+      float phi_hit    = m_phiHit;
+
+      float eta_entrance = m_etaEntrance;
+      float phi_entrance = m_phiEntrance;
+
+      float etaShift2 = 0, phiShift2 = 0;
+      if (passEvent == 1 or NextEventNumber != eventNumber)
+      {
+         tie(etaShift2, phiShift2) = GetShift(eventNumber);
+      }
+
+      // * calculate the corrected deta, dphi
+
+      float deta0 = m_deta - etaShift2;
+      float dphi0 = m_dphi - phiShift2;
+
+      float deta0_mm, dphi0_mm;
+      tie(deta0_mm, dphi0_mm) = GetUnitsmm(eta_hit, deta0, dphi0, cell_r, cell_z);
+
+      if (m_debug)
+      {
+         cout << "deta0 = " << deta0 << ", " << "dphi0 = " << dphi0 << ", deta0_mm =" << deta0_mm << ", dphi0_mm =" << dphi0_mm << endl;
+      }
+
+      int nbins = 400;
+      int low   = -100;
+      int high  = 100;
+
+
+
+      if (passEvent == 1)
+      {
+         cout << " Defining histogram for each particle..." << endl;
+         // * define the histogram for the first hit
+         hdetaE0     = new TH1F(Form("hdetaE0_%i", eventNumber), Form("hdetaE0_%i", eventNumber), nbins, low, high);
+         hdetadphi0  = new TH2F(Form("hdetadphi0_%i", eventNumber), Form("hdetadphi0_%i", eventNumber), nbins, low, high, nbins, low, high);
+         hdetadphiE0 = new TH2F(Form("hdetadphiE0_%i", eventNumber), Form("hdetadphiE0_%i", eventNumber), nbins, low, high, nbins, low, high);
+      }
+
+      hdetaE0->Fill(deta0_mm, energy_hit);
+      hdetadphi0->Fill(deta0_mm, dphi0_mm);
+      hdetadphiE0->Fill(deta0_mm, dphi0_mm, energy_hit);
+
+
+
+      if (NextEventNumber != eventNumber or ihit == hitsTree->GetEntries() - 1)
+      {
+         // if the next event has a different eventNumber then write
+
+         isNewEvent = true;
+         particleCount++;
+
+         outfile->cd();
+         hdetaE0->Write();
+         hdetadphi0->Write();
+         hdetadphiE0->Write();
+
+         delete hdetaE0;
+         delete hdetadphi0;
+         delete hdetadphiE0;
+      }
+
+
+
+      if (isNewEvent and ihit != hitsTree->GetEntries() - 1)
+      {
+         hdetaE0     = new TH1F(Form("hdetaE0_%i", eventNumber), Form("hdetaE0_%i", eventNumber), nbins, low, high);
+         hdetadphi0  = new TH2F(Form("hdetadphi0_%i", eventNumber), Form("hdetadphi0_%i", eventNumber), nbins, low, high, nbins, low, high);
+         hdetadphiE0 = new TH2F(Form("hdetadphiE0_%i", eventNumber), Form("hdetadphiE0_%i", eventNumber), nbins, low, high, nbins, low, high);
+      }
+
+
+      if (particleCount == 20)
+      {
+         outfile->Close();
+         cout << " Reach number of particles = " << particleCount << " exiting..." << endl;
+         break;
+      }
+   }
+}
+
+
+void ShowerShapeStudy::InvesitageShowerCenter(std::string inputHits)
+{
+   // * get the input hits file
+
+   cout << "* Reading input hits file = " << inputHits.c_str() << endl;
+
+   TFile *inputHitsFile = TFile::Open(inputHits.c_str());
+
+   // * get the TTrees from hitsFile
+
+   TTree *hitsTree   = (TTree *)inputHitsFile->Get("hits");
+   TTree *globalTree = (TTree *)inputHitsFile->Get("global");
+
+
+   // * initialize the hits and global TTrees
+   InitHitsTree(hitsTree, globalTree);
+
+   // * Get the global variables
+   globalTree->GetEntry(0);
+
+   float etaCenter = m_etaCenter;
+   float phiCenter = m_phiCenter;
+   float etaShift  = m_etaShift;
+   float phiShift  = m_phiShift;
+
+   //cout << " 0th eta , phi shifts = " << etaShift << " , " << phiShift << endl;
+
+
+   float cell_r    = m_cellr;
+   float cell_z    = m_cellz;
+   float cell_eta  = m_celleta;
+   float cell_deta = m_cellDeta;
+   float cell_dphi = m_cellDphi;
+
+   float sumDetaEnergy = 0;
+   float sumDphiEnergy = 0;
+   float Etotal        = 0;
+
+   float sumEtaEnergy = 0;
+   float sumPhiEnergy = 0;
+
+
+   float alphaMin = TMath::Pi() / 8; // * to cover the crack region in a single bin
+   float alphaMax = 2 * TMath::Pi() + alphaMin;
+   float rMax     = 10000;
+
+   TH1F *h_dr2_orig  = new TH1F("h_dr2_orig", "h_dr2_orig", 75000000, 0, rMax * rMax);
+   TH1F *h_dr2E_orig = new TH1F("h_dr2E_orig", "h_dr2E_orig", 75000000, 0, rMax * rMax);
+
+   //TH1F *h_dr2  = new TH1F("h_dr2", "h_dr2", 75000000, 0, rMax * rMax);
+   //TH1F *h_dr2E = new TH1F("h_dr2E", "h_dr2E", 75000000, 0, rMax * rMax);
+
+   //TH1F *hdeta0 = new TH1F("hdeta0", "hdeta0", 100, -0.2, 0.2);
+   //TH1F *hdphi0 = new TH1F("hdphi0", "hdphi0", 100, -0.2, 0.2);
+
+   //TH1F *hdeta0_mm = new TH1F("hdeta0_mm", "hdeta0_mm", 10000, -500, 500);
+   //TH1F *hdphi0_mm = new TH1F("hdphi0_mm", "hdphi0_mm", 10000, -500, 500);
+
+   //TH1F *hdeta1 = new TH1F("hdeta1", "hdeta1", 100, -0.2, 0.2);
+   //TH1F *hdphi1 = new TH1F("hdphi1", "hdphi1", 100, -0.2, 0.2);
+
+
+   TH1F *hdeta0_mm = new TH1F("hdeta0_mm", "hdeta0_mm", 1000, -500, 500);
+   TH1F *hdphi0_mm = new TH1F("hdphi0_mm", "hdphi0_mm", 1000, -500, 500);
+
+   TH1F *hdeta1_mm = new TH1F("hdeta1_mm", "hdeta1_mm", 1000, -500, 500);
+   TH1F *hdphi1_mm = new TH1F("hdphi1_mm", "hdphi1_mm", 1000, -500, 500);
+
+   //TH1F *hdeta2 = new TH1F("hdeta2", "hdeta2", 100, -0.2, 0.2);
+   //TH1F *hdphi2 = new TH1F("hdphi2", "hdphi2", 100, -0.2, 0.2);
+
+   //TH1F *hdeta2_mm = new TH1F("hdeta2_mm", "hdeta2_mm", 10000, -500, 500);
+   //TH1F *hdphi2_mm = new TH1F("hdphi2_mm", "hdphi2_mm", 10000, -500, 500);
+
+   //TH1F *hdeta0E = new TH1F("hdeta0E", "hdeta0E", 100, -0.2, 0.2);
+   //TH1F *hdphi0E = new TH1F("hdphi0E", "hdphi0E", 100, -0.2, 0.2);
+
+   //TH1F *hdeta0E_mm = new TH1F("hdeta0E_mm", "hdeta0E_mm", 10000, -500, 500);
+   //TH1F *hdphi0E_mm = new TH1F("hdphi0E_mm", "hdphi0E_mm", 10000, -500, 500);
+
+   //TH1F *hdeta1E = new TH1F("hdeta1E", "hdeta1E", 100, -0.2, 0.2);
+   //TH1F *hdphi1E = new TH1F("hdphi1E", "hdphi1E", 100, -0.2, 0.2);
+
+   TH1F *hdeta0E_mm = new TH1F("hdeta0E_mm", "hdeta0E_mm", 1000, -500, 500);
+   TH1F *hdphi0E_mm = new TH1F("hdphi0E_mm", "hdphi0E_mm", 1000, -500, 500);
+
+   TH1F *hdeta1E_mm = new TH1F("hdeta1E_mm", "hdeta1E_mm", 1000, -500, 500);
+   TH1F *hdphi1E_mm = new TH1F("hdphi1E_mm", "hdphi1E_mm", 1000, -500, 500);
+
+   TH2F *hdeta0dphi0E_mm = new TH2F("hdeta0dphi0E_mm", "hdeta0dphi0E_mm", 1000, -500, 500, 1000, -500, 500);
+   TH2F *hdeta0dphi0_mm  = new TH2F("hdeta0dphi0_mm", "hdeta0dphi0_mm", 1000, -500, 500, 1000, -500, 500);
+
+
+   TH2F *hdeta1dphi1E_mm = new TH2F("hdeta1dphi1E_mm", "hdeta1dphi1E_mm", 1000, -500, 500, 1000, -500, 500);
+   TH2F *hdeta1dphi1_mm  = new TH2F("hdeta1dphi1_mm", "hdeta1dphi1_mm", 1000, -500, 500, 1000, -500, 500);
+
+
+   // TH1F *hdeta2E = new TH1F("hdeta2E", "hdeta2E", 100, -0.2, 0.2);
+   //TH1F *hdphi2E = new TH1F("hdphi2E", "hdphi2E", 100, -0.2, 0.2);
+
+   //TH1F *hdeta2E_mm = new TH1F("hdeta2E_mm", "hdeta2E_mm", 10000, -500, 500);
+   //TH1F *hdphi2E_mm = new TH1F("hdphi2E_mm", "hdphi2E_mm", 10000, -500, 500);
+
+   TH1F *h_alpha0  = new TH1F("h_alpha0", "h_alpha0", 630000, alphaMin, alphaMax);
+   TH1F *h_alpha0E = new TH1F("h_alpha0E", "h_alpha0E", 630000, alphaMin, alphaMax);
+
+   TH1F *h_alpha1  = new TH1F("h_alpha1", "h_alpha1", 630000, alphaMin, alphaMax);
+   TH1F *h_alpha1E = new TH1F("h_alpha1E", "h_alpha1E", 630000, alphaMin, alphaMax);
+
+
+   cout << " Running over nhits = " << hitsTree->GetEntries() << endl;
+
+   for (int ihit = 0; ihit < hitsTree->GetEntries(); ihit++)
+   {
+      hitsTree->GetEntry(ihit);
+
+      if (m_PCA != m_PCAbin)
+      {
+         continue;
+      }
+
+      int eventNumber = m_eventNumber;
+
+      float energy_hit = m_energy;
+      float eta_hit    = m_etaHit;
+      float phi_hit    = m_phiHit;
+
+      float eta_entrance = m_etaEntrance;
+      float phi_entrance = m_phiEntrance;
+
+      // float deta = m_deta;
+      // float dphi = m_dphi;
+
+
+      // * calculate the corrected deta, dphi
+
+      float deta0 = m_deta;
+      float dphi0 = m_dphi;
+
+      float deta0_mm, dphi0_mm;
+      tie(deta0_mm, dphi0_mm) = GetUnitsmm(eta_hit, deta0, dphi0, cell_r, cell_z);
+
+      hdeta0_mm->Fill(deta0_mm);
+      hdeta0E_mm->Fill(deta0_mm, energy_hit);
+
+      hdphi0_mm->Fill(dphi0_mm);
+      hdphi0E_mm->Fill(dphi0_mm, energy_hit);
+
+      hdeta0dphi0_mm->Fill(deta0_mm, dphi0_mm);
+      hdeta0dphi0E_mm->Fill(deta0_mm, dphi0_mm, energy_hit);
+
+      float delta_r0 = TMath::Sqrt(dphi0_mm * dphi0_mm + deta0_mm * deta0_mm);
+      float alpha0   = TMath::ATan2(dphi0_mm, deta0_mm);
+
+      if (alpha0 < (TMath::Pi() / 8.))
+      {
+         alpha0 = 2 * TMath::Pi() + alpha0;
+      }
+
+      h_alpha0->Fill(alpha0);
+      h_alpha0E->Fill(alpha0, energy_hit);
+
+
+      float deta = m_deta - etaShift;
+      float dphi = DeltaPhi(m_dphi, phiShift);
+
+      //  if (m_debug)
+      //{
+      //cout << " deta = " << m_deta << ", dphi = " << m_dphi << ", deta corr = " << deta << ", dphi corr = " << dphi << endl;
+      //}
+
+      //hdeta1->Fill(deta);
+      //hdeta1E->Fill(deta, energy_hit);
+
+      //  hdphi1->Fill(dphi);
+      //  hdphi1E->Fill(dphi, energy_hit);
+
+
+
+      // * get the uncorrected co-ordinate in mm
+      float deta_mm, dphi_mm;
+      tie(deta_mm, dphi_mm) = GetUnitsmm(eta_hit, deta, dphi, cell_r, cell_z);
+
+      hdeta1_mm->Fill(deta_mm);
+      hdeta1E_mm->Fill(deta_mm, energy_hit);
+
+      hdphi1_mm->Fill(dphi_mm);
+      hdphi1E_mm->Fill(dphi_mm, energy_hit);
+
+      hdeta1dphi1_mm->Fill(deta_mm, dphi_mm);
+      hdeta1dphi1E_mm->Fill(deta_mm, dphi_mm, energy_hit);
+
+      float alpha1 = TMath::ATan2(dphi_mm, deta_mm);
+
+      if (alpha1 < (TMath::Pi() / 8.))
+      {
+         alpha1 = 2 * TMath::Pi() + alpha1;
+      }
+
+      h_alpha1->Fill(alpha1);
+      h_alpha1E->Fill(alpha1, energy_hit);
+
+
+
+      //cout << " deta = " << deta << " deta_mm =" << deta_mm << "dphi = " << dphi << "dph_mm =" << dphi_mm << endl;
+
+      float delta_r2 = dphi_mm * dphi_mm + deta_mm * deta_mm;
+
+      h_dr2_orig->Fill(delta_r2);
+      h_dr2E_orig->Fill(delta_r2, energy_hit);
+
+
+      if (delta_r2 < 100)
+      {
+         sumDetaEnergy += deta * energy_hit;
+         sumDphiEnergy += dphi * energy_hit;
+         sumEtaEnergy  += eta_hit * energy_hit;
+         sumPhiEnergy  += phi_hit * energy_hit;
+
+         Etotal += energy_hit;
+      }
+   }
+
+   float etaShift2 = sumDetaEnergy / Etotal;
+   float phiShift2 = sumDphiEnergy / Etotal;
+
+   float etaCenter2 = sumEtaEnergy / Etotal;
+   float phiCenter2 = sumPhiEnergy / Etotal;
+
+   cout << " 1st eta center, phi center =" << etaCenter2 << ", " << phiCenter2 << endl;
+   cout << " 1st eta , phi shifts = " << etaShift2 << " , " << phiShift2 << endl;
+
+   //float alphaMin = TMath::Pi() / 8; // * to cover the crack region in a single bin
+   //float alphaMax = 2 * TMath::Pi() + alphaMin;
+   //float rMax     = 10000;
+
+
+   TH1F *h_alpha  = new TH1F("h_alpha", "h_alpha", 630000, alphaMin, alphaMax);
+   TH1F *h_alphaE = new TH1F("h_alphaE", "h_alphaE", 630000, alphaMin, alphaMax);
+
+   TH2F *hdeta2dphi2E_mm = new TH2F("hdeta2dphi2E_mm", "hdeta2dphi2E_mm", 1000, -500, 500, 1000, -500, 500);
+   TH2F *hdeta2dphi2_mm  = new TH2F("hdeta2dphi2_mm", "hdeta2dphi2_mm", 1000, -500, 500, 1000, -500, 500);
+
+
+   for (int ihit = 0; ihit < hitsTree->GetEntries(); ihit++)
+   {
+      hitsTree->GetEntry(ihit);
+
+      //* apply pca bin choice
+      if (m_PCA != m_PCAbin)
+      {
+         continue;
+      }
+
+
+      int eventNumber = m_eventNumber;
+
+      float energy_hit = m_energy;
+      float eta_hit    = m_etaHit;
+      float phi_hit    = m_phiHit;
+
+      float eta_entrance = m_etaEntrance;
+      float phi_entrance = m_phiEntrance;
+
+      //float deta = m_deta;
+      //float dphi = m_dphi;
+
+      // * calculate the corrected deta, dphi
+
+      float deta = m_deta - etaShift;
+      float dphi = DeltaPhi(m_dphi, phiShift);
+
+      //if (m_debug)
+      //{
+      //cout << " deta = " << m_deta << ", dphi = " << m_dphi << ", deta corr = " << deta << ", dphi corr = " << dphi << endl;
+      //}
+
+
+      // * get the uncorrected co-ordinate in mm
+      float deta_mm, dphi_mm;
+      tie(deta_mm, dphi_mm) = GetUnitsmm(eta_hit, deta, dphi, cell_r, cell_z);
+
+      //cout<<" deta mm = "<<deta_mm<<endl;
+      //cout<<" dphi mm = "<<dphi_mm<<endl;
+
+      float delta_r2 = (dphi_mm * dphi_mm + deta_mm * deta_mm);
+
+      // if (delta_r2 > 1000)
+      // {
+      //    continue;
+      // }
+      // float hit_eta_corr = eta_hit - etaCenter2;
+      // float hit_phi_corr = phi_hit - phiCenter2;
+
+
+      float deta_corr = deta - etaShift2;
+      float dphi_corr = DeltaPhi(dphi, phiShift2);
+
+
+      float deta_corr_mm, dphi_corr_mm;
+      tie(deta_corr_mm, dphi_corr_mm) = GetUnitsmm(eta_hit, deta_corr, dphi_corr, cell_r, cell_z);
+
+
+      hdeta2dphi2_mm->Fill(deta_corr_mm, dphi_corr_mm);
+      hdeta2dphi2E_mm->Fill(deta_corr_mm, dphi_corr_mm, energy_hit);
+
+
+      // * calculate r and alpha co-ordiantes
+
+      float delta_r = TMath::Sqrt(dphi_corr_mm * dphi_corr_mm + deta_corr_mm * deta_corr_mm);
+      float alpha   = TMath::ATan2(dphi_corr_mm, deta_corr_mm);
+
+      // h_dr2->Fill(delta_r * delta_r);
+      // h_dr2E->Fill(delta_r * delta_r, energy_hit);
+
+
+      if (alpha < (TMath::Pi() / 8.))
+      {
+         alpha = 2 * TMath::Pi() + alpha;
+      }
+
+      h_alpha->Fill(alpha);
+      h_alphaE->Fill(alpha, energy_hit);
+   }
+
+
+
+   std::string showercenter = m_topDir + m_particle + "/InvesitageShowerCenter_" + m_fileName + ".root";
+   TFile       *outfile     = new TFile(showercenter.c_str(), "recreate");
+   outfile->cd();
+   //hdeta1->Write();
+   //hdeta1E->Write();
+   hdeta0_mm->Write();
+   hdeta0E_mm->Write();
+
+   hdeta1_mm->Write();
+   hdeta1E_mm->Write();
+   //hdphi1->Write();
+   //hdphi1E->Write();
+   hdphi0_mm->Write();
+   hdphi0E_mm->Write();
+
+   hdphi1_mm->Write();
+   hdphi1E_mm->Write();
+   //h_dr2->Write();
+   //h_dr2E->Write();
+   h_dr2_orig->Write();
+   h_dr2E_orig->Write();
+
+
+   hdeta0dphi0E_mm->Write();
+   hdeta0dphi0_mm->Write();
+
+   hdeta1dphi1E_mm->Write();
+   hdeta1dphi1_mm->Write();
+
+   h_alpha0->Write();
+   h_alpha0E->Write();
+
+   h_alpha1->Write();
+   h_alpha1E->Write();
+
+   h_alpha->Write();
+   h_alphaE->Write();
+
+   hdeta2dphi2_mm->Write();
+   hdeta2dphi2E_mm->Write();
+
+
+   outfile->Close();
+}
+
+
+std::tuple<float, float> ShowerShapeStudy::GetUnitsmm(float eta_hit, float d_eta, float d_phi, float cell_r, float cell_z)
+{
+   float phi_dist2r = 1.0;
+   float dist000    = TMath::Sqrt(cell_r * cell_r + cell_z * cell_z);
+
+   float eta_jakobi = TMath::Abs(2.0 * TMath::Exp(-eta_hit) / (1.0 + TMath::Exp(-2 * eta_hit)));
+
+   d_eta = d_eta * eta_jakobi * dist000;
+   d_phi = d_phi * cell_r * phi_dist2r;
+
+   if (m_debug)
+   {
+      cout << " in function deta = " << d_eta << " dphi = " << d_phi << endl;
+   }
+   return std::make_tuple(d_eta, d_phi);
+}
+
+
+float ShowerShapeStudy::DeltaPhi(float phi1, float phi2)
+{
+   double result = phi1 - phi2;
+
+   while (result > TMath::Pi())
+   {
+      result -= 2 * TMath::Pi();
+   }
+   while (result <= -TMath::Pi())
+   {
+      result += 2 * TMath::Pi();
+   }
+   return result;
+}
+
+
+void ShowerShapeStudy::InitHitsTree(TTree *hitsNtuple, TTree *globalNtuple)
+{
+   m_eventNumber = -1;
+   m_energy      = 0.;
+   m_etaHit      = 0.;
+   m_phiHit      = 0.;
+   m_etaEntrance = 0.;
+   m_phiEntrance = 0.;
+   m_deta        = 0.;
+   m_dphi        = 0.;
+   m_PCA         = 0;
+
+   m_etaCenter = 0.;
+   m_phiCenter = 0.;
+   m_etaShift  = 0.;
+   m_phiShift  = 0.;
+   m_cellr     = 0.;
+   m_cellz     = 0.;
+   m_celleta   = 0.;
+   m_cellDeta  = 0.;
+   m_cellDphi  = 0.;
+
+   hitsNtuple->SetBranchAddress("eventNumber", &m_eventNumber);
+   hitsNtuple->SetBranchAddress("energy_hit", &m_energy);
+   hitsNtuple->SetBranchAddress("eta_hit", &m_etaHit);
+   hitsNtuple->SetBranchAddress("phi_hit", &m_phiHit);
+   hitsNtuple->SetBranchAddress("eta_entrance", &m_etaEntrance);
+   hitsNtuple->SetBranchAddress("phi_entrance", &m_phiEntrance);
+   hitsNtuple->SetBranchAddress("delta_eta", &m_deta);
+   hitsNtuple->SetBranchAddress("delta_phi", &m_dphi);
+   hitsNtuple->SetBranchAddress("delta_eta", &m_deta);
+   hitsNtuple->SetBranchAddress("pca_bin", &m_PCA);
+
+   globalNtuple->SetBranchAddress("eta_center", &m_etaCenter);
+   globalNtuple->SetBranchAddress("phi_center", &m_phiCenter);
+   globalNtuple->SetBranchAddress("eta_shift", &m_etaShift);
+   globalNtuple->SetBranchAddress("phi_shift", &m_phiShift);
+   globalNtuple->SetBranchAddress("cell_r", &m_cellr);
+   globalNtuple->SetBranchAddress("cell_z", &m_cellz);
+   globalNtuple->SetBranchAddress("cell_eta", &m_celleta);
+   globalNtuple->SetBranchAddress("cell_deta", &m_cellDeta);
+   globalNtuple->SetBranchAddress("cell_dphi", &m_cellDphi);
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeStudy.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeStudy.h
new file mode 100644
index 0000000000000000000000000000000000000000..66def975662fafdf9dba2a23f5da57a3af8c11af
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeStudy.h
@@ -0,0 +1,109 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ShowerShapeStudy_h
+#define ShowerShapeStudy_h
+
+#include "TTree.h"
+
+
+
+class ShowerShapeStudy
+{
+public:
+   ShowerShapeStudy();
+   ~ShowerShapeStudy();
+
+   std::tuple<float, float> GetShift(int);
+
+   void EachParticleShower();
+   void InvesitageShowerCenter(std::string inputHits);
+
+
+   std::tuple<float, float> GetUnitsmm(float eta_hits, float deta, float dphi, float cellr, float cellz);
+
+   void InitHitsTree(TTree *, TTree *);
+
+   //void BookHitsAlphaDrTree(TTree *);
+   float DeltaPhi(float, float);
+
+   // * setter methods
+   void set_calolayer(int calolayer_) { m_calolayer = calolayer_; }
+   void set_PCAbin(int PCAbin_) { m_PCAbin = PCAbin_; }
+   void set_nbinsR(int nbinsR_) { m_nbinsR = nbinsR_; }
+   void set_nbinsAlpha(int nbinsAlpha_) { m_nbinsAlpha = nbinsAlpha_; }
+   void set_mincalosize(float mincalosize_) { m_mincalosize = mincalosize_; }
+   void set_particle(string particle_) { m_particle = particle_; }
+   void set_energy(float energy_) { m_particleEnergy = energy_; }
+   void set_eta(float etamin_, float etamax_) { m_etamin = etamin_; m_etamax = etamax_; }
+   void set_tolerance(float tolerance_) { m_tolerance = tolerance_; }
+
+   void set_topDir(string topDir_) { m_topDir = topDir_; }
+   void set_fileName(string fileName_) { m_fileName = fileName_; }
+   void set_hitsNtupleName(string hitsNtupleName_) { m_hitsNtupleName = hitsNtupleName_; }
+
+
+
+private:
+   // * settings
+   int m_calolayer;
+   int m_PCAbin;
+   int m_PCA; // ttree variable
+   int m_nbinsR;
+   int m_nbinsAlpha;
+   float m_mincalosize;
+   string m_particle;
+   float m_particleEnergy; // in Gev
+   float m_etamin;
+   float m_etamax;
+   float m_tolerance;
+   string m_hitsNtupleName;
+
+   int m_debug;
+
+
+   std::string m_topDir;
+   std::string m_fileName;
+
+
+
+   // * cell geometry
+
+   float cellDeta;
+   float cellDphi;
+   float cellr;
+   float cellz;
+   float celleta;
+
+   // * for hits TTree
+   int m_eventNumber;
+   float m_energy;
+   float m_etaHit;
+   float m_phiHit;
+   float m_etaEntrance;
+   float m_phiEntrance;
+   float m_deta;
+   float m_dphi;
+
+
+   float m_etaCenter;
+   float m_phiCenter;
+   float m_etaShift;
+   float m_phiShift;
+   float m_cellr;
+   float m_cellz;
+   float m_celleta;
+   float m_cellDeta;
+   float m_cellDphi;
+
+
+
+   ClassDef(ShowerShapeStudy, 1);
+};
+
+#if defined(__MAKECINT__)
+#pragma link C++ class ShowerShapeThinning+;
+#endif
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeThinning.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeThinning.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..91471d4297f8cd08881905ec7a1695f131d20048
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeThinning.cxx
@@ -0,0 +1,753 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/****************************************************
+ * Class to implement:
+ *      - looping over events
+ *      - create flat ntuple with hits
+ *      - create another ntuple with alpha and r
+ *
+ *    <a.hasib@cern.ch>
+ *****************************************************/
+#include <iostream>
+#include <tuple>
+#include <algorithm>
+
+#include "TString.h"
+#include "TMath.h"
+#include "TFile.h"
+#include "TH1.h"
+#include "TH2.h"
+
+#include "ShowerShapeThinning.h"
+#include "tools/CaloGeometryFromFile.h"
+#include "tools/CaloDetDescr/CaloDetDescrElement.h"
+
+
+
+using namespace std;
+
+
+ShowerShapeThinning::ShowerShapeThinning()
+{
+   m_debug = 0;
+
+   m_calolayer      = -1;
+   m_PCAbin         = 0;
+   m_nbinsR         = 0;
+   m_nbinsAlpha     = 0;
+   m_mincalosize    = 0.;
+   m_particle       = "";
+   m_particleEnergy = 0.;
+   m_etamin         = 0.;
+   m_etamax         = 0.;
+   m_tolerance      = 0.;
+
+   m_chain = 0;
+   m_tree  = 0;
+
+
+   cellDeta = 0;
+   cellDphi = 0;
+   cellr    = 0;
+   cellz    = 0;
+   celleta  = 0;
+}
+
+
+ShowerShapeThinning::ShowerShapeThinning(TChain *chain, TTree *tree)
+{
+   m_debug = 0;
+
+   m_calolayer      = -1;
+   m_PCAbin         = 0;
+   m_nbinsR         = 0;
+   m_nbinsAlpha     = 0;
+   m_mincalosize    = 0.;
+   m_particle       = "";
+   m_particleEnergy = 0.;
+   m_etamin         = 0.;
+   m_etamax         = 0.;
+   m_tolerance      = 0.;
+
+   m_chain = chain;
+   m_tree  = tree;
+
+   cellDeta = 0;
+   cellDphi = 0;
+   cellr    = 0;
+   cellz    = 0;
+   celleta  = 0;
+}
+
+
+ShowerShapeThinning::~ShowerShapeThinning()
+{
+   if (m_cellVector)
+   {
+      delete m_cellVector;
+   }
+   if (m_truthCollection)
+   {
+      delete m_truthCollection;
+   }
+   if (m_truthPx)
+   {
+      delete m_truthPx;
+   }
+   if (m_truthPy)
+   {
+      delete m_truthPy;
+   }
+   if (m_truthPz)
+   {
+      delete m_truthPz;
+   }
+   if (m_truthE)
+   {
+      delete m_truthE;
+   }
+}
+
+
+void ShowerShapeThinning::CreateHitsNtuple(TFile *file)
+{
+   // *define TTree for per hits and global variables
+
+   TTree *m_hitsNtuple   = new TTree("hits", "hits");
+   TTree *m_globalNtuple = new TTree("global", "global");
+
+   // * book the hits and global TTree
+   BookHitsTree(m_hitsNtuple, m_globalNtuple);
+
+
+   // * get the PCA bins
+   auto vbinsPCA = GetPCAbins();
+
+   // * initialize the input TTree
+   InitInputTree();
+
+
+   // * intialize variables that needs to be saved in hits TTree
+
+   float sumDetaEnergy = 0.;
+   float sumDphiEnergy = 0.;
+   float sumEta        = 0.;
+   float sumPhi        = 0.;
+   float Etotal        = 0.;
+   int   nhits         = 0;
+
+   // * pca file requires special counter since some are run over inclusive eta with a particular eta selection;
+
+   int pcaEvent = -1;
+
+   // * loop over events
+
+   for (int ievent = 0; ievent < m_chain->GetEntries(); ievent++)
+   {
+      if (ievent % 200 == 0)
+      {
+         cout << " Event: " << ievent << endl;
+      }
+
+      m_chain->GetEntry(ievent);
+
+      TLorentzVector TruthParticle;
+      TruthParticle.SetPxPyPzE(m_truthPx->at(0), m_truthPy->at(0), m_truthPz->at(0), m_truthE->at(0));
+
+
+
+      if (fabs(TruthParticle.Eta()) < m_etamin or fabs(TruthParticle.Eta()) > m_etamax)
+      {
+         continue;
+      }
+
+      pcaEvent++;
+
+      if (vbinsPCA.at(pcaEvent) != m_PCAbin)
+      {
+         continue;
+      }
+
+
+      // * loop over the cells and hits in each cell
+
+      for (unsigned int icell = 0; icell < (*m_cellVector).size(); icell++)
+      {
+         for (unsigned int ihit = 0; ihit < ((FCS_matchedcell)(*m_cellVector)[icell]).hit.size(); ihit++)
+         {
+            float energy = ((FCS_matchedcell)(*m_cellVector)[icell]).hit[ihit].hit_energy;
+            float posx   = ((FCS_matchedcell)(*m_cellVector)[icell]).hit[ihit].hit_x;
+            float posy   = ((FCS_matchedcell)(*m_cellVector)[icell]).hit[ihit].hit_y;
+            float posz   = ((FCS_matchedcell)(*m_cellVector)[icell]).hit[ihit].hit_z;
+
+            TVector3 *pos = new TVector3(posx, posy, posz);
+
+            // * hit eta, phi
+            float etaHit = pos->PseudoRapidity();
+            float phiHit = pos->Phi();
+
+            // * entrance eta
+            float etaEntrance = (*m_truthCollection)[0].TTC_entrance_eta[0];
+            float phiEntrance = (*m_truthCollection)[0].TTC_entrance_phi[0];
+
+            float deta = etaHit - etaEntrance;
+
+
+            // * calculate dphi
+            float y_entrance = ((*m_truthCollection)[0].TTC_entrance_r[0]) * TMath::Sin((*m_truthCollection)[0].TTC_entrance_phi[0]);
+            float x_entrance = ((*m_truthCollection)[0].TTC_entrance_r[0]) * TMath::Cos((*m_truthCollection)[0].TTC_entrance_phi[0]);
+
+            TVector2 *entrance = new TVector2(x_entrance, y_entrance);
+            TVector2 *hit      = new TVector2(pos->X(), pos->Y());
+
+            float dphi = hit->DeltaPhi(*entrance);
+
+
+            // * to calculate eta and phi shift
+
+            sumDetaEnergy += deta * energy;
+            sumDphiEnergy += dphi * energy;
+            Etotal        += energy;
+
+            // * to calculate eta center and phi center
+
+            sumEta += etaHit;
+            sumPhi += phiHit;
+            nhits++;
+
+            // * fill the hits TTree
+            m_eventNumber = ievent; // save the event number;
+            m_energy      = energy;
+            m_etaHit      = etaHit;
+            m_phiHit      = phiHit;
+            m_etaEntrance = etaEntrance;
+            m_phiEntrance = phiEntrance;
+            m_deta        = deta;
+            m_dphi        = dphi;
+            m_PCA         = vbinsPCA.at(pcaEvent);
+            m_hitsNtuple->Fill();
+         } // end loop over cells
+      }    // end loop over hits
+   }       // end loop over events
+
+   if (m_debug)
+   {
+      cout << " sum eta = " << sumEta << endl;
+      cout << " sum phi = " << sumPhi << endl;
+
+      cout << " sumDetaEnergy = " << sumDetaEnergy << endl;
+      cout << " sumDphiEnergy = " << sumDphiEnergy << endl;
+      cout << " Etotal = " << Etotal << endl;
+   }
+
+   float etaCenter = sumEta / nhits;
+   float phiCenter = sumPhi / nhits;
+
+   float etaShift = sumDetaEnergy / Etotal;
+   float phiShift = sumDphiEnergy / Etotal;
+
+   if (m_debug)
+   {
+      cout << " etaCenter = " << etaCenter << endl;
+      cout << " phiCenter = " << phiCenter << endl;
+      cout << " nhits = " << nhits << endl;
+
+      cout << " etaShift = " << etaShift << endl;
+      cout << " phiShift = " << phiShift << endl;
+   }
+
+   // * get cell geometry
+
+   GetCellGeom(etaCenter, phiCenter);
+
+   if (m_debug)
+   {
+      cout << " cell r = " << cellr << ", cell z = " << cellz << ", cell eta = " << celleta << ", cell deta= " << cellDeta << ", cell dpi = " << cellDphi << endl;
+   }
+
+
+
+   //* fill global TTree
+
+   m_etaCenter = etaCenter;
+   m_phiCenter = phiCenter;
+   m_etaShift  = etaShift;
+   m_phiShift  = phiShift;
+   m_cellr     = cellr;
+   m_cellz     = cellz;
+   m_celleta   = celleta;
+   m_cellDeta  = cellDeta;
+   m_cellDphi  = cellDphi;
+   m_globalNtuple->Fill();
+
+
+   // * write the TTree
+
+   file->cd();
+   m_hitsNtuple->Write();
+   m_globalNtuple->Write();
+   file->Close();
+}
+
+
+void ShowerShapeThinning::CreateHitsAlphaDrNtuple(std::string inputHits)
+{
+   // * get the input hits file
+
+
+   cout << "* Reading input hits file = " << inputHits.c_str() << endl;
+
+   TFile *inputHitsFile = TFile::Open(inputHits.c_str());
+
+   // * get the TTrees from hitsFile
+
+   TTree *hitsTree   = (TTree *)inputHitsFile->Get("hits");
+   TTree *globalTree = (TTree *)inputHitsFile->Get("global");
+
+
+   // * initialize the hits and global TTrees
+   InitHitsTree(hitsTree, globalTree);
+
+   // * Get the global variables
+   globalTree->GetEntry(0);
+
+   float etaCenter = m_etaCenter;
+   float phiCenter = m_phiCenter;
+   float etaShift  = m_etaShift;
+   float phiShift  = m_phiShift;
+
+   float cell_r    = m_cellr;
+   float cell_z    = m_cellz;
+   float cell_eta  = m_celleta;
+   float cell_deta = m_cellDeta;
+   float cell_dphi = m_cellDphi;
+
+
+   if (m_debug)
+   {
+      cout << " eta center = " << etaCenter << ", phi center = " << phiCenter << " , eta shift = " << etaShift << " , phi shift = " << phiShift << ", cell r = " << cell_r << ", cell z = " << cell_z << ", cell eta = " << cell_eta << ", cell deta = " << cell_deta << ", cell dpi = " << cell_dphi << endl;
+   }
+
+   // * define alpha and dr histograms needed to determine binning
+
+   float alphaMin = TMath::Pi() / 8;    // * to cover the crack region in a single bin
+   float alphaMax = 2 * TMath::Pi() + alphaMin;
+   float rMax     = 10000;
+
+   // * use fine binning for the initial histograms
+   TH1F *h_alpha = new TH1F("h_alpha", "h_alpha", 630000, alphaMin, alphaMax);
+   TH1F *h_dr    = new TH1F("h_dr", "h_dr", 75000000, 0, rMax);
+
+   TH1F *h_alphaE = new TH1F("h_alphaE", "h_alphaE", 630000, alphaMin, alphaMax);
+
+   TH1F *hdeta_corr = new TH1F("hdeta_corr", "hdeta_corr", 100, -0.2, 0.2);
+   TH1F *hdphi_corr = new TH1F("hdphi_corr", "hdphi_corr", 100, -0.2, 0.2);
+
+   // plot energy heatmap before binning optimization
+   TH2F *hDetaDphi  = new TH2F("hDetaDphi", "hDetaDphi", 100, -0.02, 0.02, 100, -0.02, 0.02);
+   TH2F *hDetaDphiE = new TH2F("hDetaDphiE", "hDetaDphiE", 100, -0.02, 0.02, 100, -0.02, 0.02);
+
+   TH2F *hDetaDphi_corr  = new TH2F("hDetaDphi_corr", "hDetaDphi_corr", 100, -0.02, 0.02, 100, -0.02, 0.02);
+   TH2F *hDetaDphiE_corr = new TH2F("hDetaDphiE_corr", "hDetaDphiE_corr", 100, -0.02, 0.02, 100, -0.02, 0.02);
+
+
+   // * define output file to save h_alpha h_dr and TTree with alpha, dr and energy
+
+   std::string HitsAlphaDr = m_topDir + m_particle + "/HitsAlphaDr_" + m_fileName + ".root";
+   if (m_debug)
+   {
+      cout << " hits alpha dr = " << HitsAlphaDr << endl;
+   }
+
+
+   TFile *hitsAlphaDrFile     = new TFile(HitsAlphaDr.c_str(), "recreate");
+   TTree *m_hitsAlphaDrNtuple = new TTree("hitsAlphaDr", "hitsAlphaDr");
+   BookHitsAlphaDrTree(m_hitsAlphaDrNtuple);
+
+
+   // * loop through all hits
+
+   cout << " Looping over nhits = " << hitsTree->GetEntries() << endl;
+
+   for (int ihit = 0; ihit < hitsTree->GetEntries(); ihit++)
+   {
+      hitsTree->GetEntry(ihit);
+
+      int eventNumber = m_eventNumber;
+
+      float energy_hit = m_energy;
+      float eta_hit    = m_etaHit;
+      float phi_hit    = m_phiHit;
+
+      float eta_entrance = m_etaEntrance;
+      float phi_entrance = m_phiEntrance;
+
+      float deta = m_deta;
+      float dphi = m_dphi;
+
+      // * calculate the corrected deta, dphi
+
+      float deta_corr = deta - etaShift;
+      float dphi_corr = dphi - phiShift;
+
+      if (m_debug)
+      {
+         cout << "energy hit = " << energy_hit << ", eta hit = " << eta_hit << ", deta = " << deta << ", dphi = " << dphi << ", deta corr = " << deta_corr << ", dphi corr = " << dphi_corr << endl;
+      }
+
+
+      // * get the co-ordinates in mm
+
+      float deta_corr_mm, dphi_corr_mm;
+      tie(deta_corr_mm, dphi_corr_mm) = GetUnitsmm(eta_hit, deta_corr, dphi_corr, cell_r, cell_z);
+
+      hdeta_corr->Fill(deta_corr);
+      hdphi_corr->Fill(dphi_corr);
+
+
+
+      if (m_debug)
+      {
+         cout << "in mm deta corr = " << deta_corr_mm << " dphi corr = " << dphi_corr_mm << endl;
+      }
+
+
+      // * save TH2 of eta-phi w/ and w/o energy weighted
+      hDetaDphi->Fill(deta, dphi);
+      hDetaDphiE->Fill(deta, dphi, energy_hit);
+
+      hDetaDphi_corr->Fill(deta_corr, dphi_corr);
+      hDetaDphiE_corr->Fill(deta_corr, dphi_corr, energy_hit);
+
+
+      // * calculate r and alpha co-ordiantes
+
+      float delta_r = TMath::Sqrt(dphi_corr_mm * dphi_corr_mm + deta_corr_mm * deta_corr_mm);
+      float alpha   = TMath::ATan2(dphi_corr_mm, deta_corr_mm);
+
+      if (alpha < (TMath::Pi() / 8.))
+      {
+         alpha = 2 * TMath::Pi() + alpha;
+      }
+
+      if (m_debug)
+      {
+         cout << " delta r = " << delta_r << " mm, alpha = " << alpha << " mm" << endl;
+      }
+
+      h_alpha->Fill(alpha);
+      h_alphaE->Fill(alpha, energy_hit);
+
+      // * reweight r with hit energy,  if energy > 1 MeV weigher = energy, otherwise weight = 1
+      if (energy_hit > 1.)
+      {
+         h_dr->Fill(delta_r, energy_hit);
+      }
+      else
+      {
+         h_dr->Fill(delta_r, 1);
+      }
+
+
+      // * fill the TTree
+      m_eventNumber = eventNumber;
+      m_alpha       = alpha;
+      m_dr          = delta_r;
+      m_energy      = energy_hit;
+      m_hitsAlphaDrNtuple->Fill();
+   }   //end loop over hits
+
+
+
+   hitsAlphaDrFile->cd();
+   m_hitsAlphaDrNtuple->Write();
+   globalTree->CloneTree()->Write();
+   h_alpha->Write();
+   h_dr->Write();
+
+   h_alphaE->Write();
+
+   hdeta_corr->Write();
+   hdphi_corr->Write();
+
+   hDetaDphi->Write();
+   hDetaDphiE->Write();
+   hDetaDphi_corr->Write();
+   hDetaDphiE_corr->Write();
+
+   hitsAlphaDrFile->Close();
+   inputHitsFile->Close();
+}
+
+
+std::vector<float> ShowerShapeThinning::Getxbins(TH1F *histo, int nbins)
+{
+   // * calculate variable bin width in alpha and dr making sure each bin has almost equal amount of hits.
+
+   bool isAlpha = true;
+
+   std::vector<float> xbins;
+
+
+   std::string title = histo->GetTitle();
+
+   if (title.compare("h_dr") == 0)
+   {
+      isAlpha = false;
+   }
+
+   if (m_debug)
+   {
+      cout << "title = " << title.c_str() << " isAlpha = " << isAlpha << endl;
+   }
+
+   if (isAlpha)
+   {
+      xbins.push_back(TMath::Pi() / 8);
+   }
+   else
+   {
+      xbins.push_back(0);
+   }
+
+
+
+   float AvgHitsPerBin = histo->Integral() / nbins;
+
+
+   float hitCounts = 0;
+
+   for (int ibin = 1; ibin < histo->GetNbinsX() + 1; ibin++)
+   {
+      if (hitCounts < AvgHitsPerBin)
+      {
+         hitCounts = hitCounts + histo->GetBinContent(ibin);
+      }
+      else if (hitCounts >= AvgHitsPerBin)
+      {
+         xbins.push_back(histo->GetBinLowEdge(ibin) + histo->GetBinWidth(ibin));
+         hitCounts = 0;
+      }
+   }
+
+   int   nRmax = histo->FindLastBinAbove(0);
+   float Rmax  = histo->GetBinLowEdge(nRmax) + histo->GetBinWidth(nRmax);
+
+   if (isAlpha)
+   {
+      xbins.push_back(2 * TMath::Pi() + TMath::Pi() / 8);
+   }
+   else
+   {
+      xbins.push_back(Rmax);
+   }
+
+   return xbins;
+}
+
+
+void ShowerShapeThinning::GetCellGeom(float etacentre, float phicentre)
+{
+   int layer = m_calolayer;
+
+   CaloGeometryFromFile *geo = new CaloGeometryFromFile();
+
+   geo->LoadGeometryFromFile("/afs/cern.ch/atlas/groups/Simulation/FastCaloSim/ATLAS-GEO-20-00-01.root", "ATLAS-GEO-20-00-01");
+
+
+   const CaloGeoDetDescrElement *cell;
+   cell = geo->getDDE(layer, etacentre, phicentre);
+
+   cellr    = cell->r();
+   cellz    = cell->z();
+   cellDphi = cell->dphi();
+   cellDeta = cell->deta();
+   celleta  = cell->eta();
+}
+
+
+std::tuple<float, float> ShowerShapeThinning::GetUnitsmm(float eta_hit, float d_eta, float d_phi, float cell_r, float cell_z)
+{
+   float phi_dist2r = 1.0;
+   float dist000    = TMath::Sqrt(cell_r * cell_r + cell_z * cell_z);
+
+   float eta_jakobi = TMath::Abs(2.0 * TMath::Exp(-eta_hit) / (1.0 + TMath::Exp(-2 * eta_hit)));
+
+   d_eta = d_eta * eta_jakobi * dist000;
+   d_phi = d_phi * cell_r * phi_dist2r;
+
+   if (m_debug)
+   {
+      cout << " in function deta = " << d_eta << " dphi = " << d_phi << endl;
+   }
+   return std::make_tuple(d_eta, d_phi);
+}
+
+
+vector<int> ShowerShapeThinning::GetPCAbins()
+{
+   vector<int> binsPCA;
+
+   int bin = 0;
+   m_tree->SetBranchAddress("firstPCAbin", &bin);
+
+   for (int ientry = 0; ientry < m_tree->GetEntries(); ientry++)
+   {
+      m_tree->GetEntry(ientry);
+      if (m_debug)
+      {
+         cout << " bin = " << bin << endl;
+      }
+      binsPCA.push_back(bin);
+   }
+
+   return binsPCA;
+}
+
+
+void ShowerShapeThinning::InitInputTree()
+{
+   m_cellVector      = nullptr;
+   m_truthCollection = nullptr;
+   m_truthPx         = nullptr;
+   m_truthPy         = nullptr;
+   m_truthPz         = nullptr;
+   m_truthE          = nullptr;
+
+
+   TString layer = Form("Sampling_%i", m_calolayer);
+   if (m_debug)
+   {
+      cout << " layer = " << layer << endl;
+   }
+
+
+   m_chain->SetBranchAddress(layer, &m_cellVector);
+   m_chain->SetBranchAddress("TruthCollection", &m_truthCollection);
+   m_chain->SetBranchAddress("TruthPx", &m_truthPx);
+   m_chain->SetBranchAddress("TruthPy", &m_truthPy);
+   m_chain->SetBranchAddress("TruthPz", &m_truthPz);
+   m_chain->SetBranchAddress("TruthE", &m_truthE);
+}
+
+
+void ShowerShapeThinning::BookHitsTree(TTree *hitsNtuple, TTree *globalNtuple)
+{
+   m_eventNumber = -1;
+   m_energy      = 0.;
+   m_etaHit      = 0.;
+   m_phiHit      = 0.;
+   m_etaEntrance = 0.;
+   m_phiEntrance = 0.;
+   m_deta        = 0.;
+   m_dphi        = 0.;
+   m_PCA         = 0;
+
+   m_etaCenter = 0.;
+   m_phiCenter = 0.;
+   m_etaShift  = 0.;
+   m_phiShift  = 0.;
+   m_cellr     = 0.;
+   m_cellz     = 0.;
+   m_celleta   = 0.;
+   m_cellDeta  = 0.;
+   m_cellDphi  = 0.;
+
+   hitsNtuple->Branch("eventNumber", &m_eventNumber);
+   hitsNtuple->Branch("energy_hit", &m_energy);
+   hitsNtuple->Branch("eta_hit", &m_etaHit);
+   hitsNtuple->Branch("phi_hit", &m_phiHit);
+   hitsNtuple->Branch("eta_entrance", &m_etaEntrance);
+   hitsNtuple->Branch("phi_entrance", &m_phiEntrance);
+   hitsNtuple->Branch("delta_eta", &m_deta);
+   hitsNtuple->Branch("delta_phi", &m_dphi);
+   hitsNtuple->Branch("delta_eta", &m_deta);
+   hitsNtuple->Branch("pca_bin", &m_PCA);
+
+   globalNtuple->Branch("eta_center", &m_etaCenter);
+   globalNtuple->Branch("phi_center", &m_phiCenter);
+   globalNtuple->Branch("eta_shift", &m_etaShift);
+   globalNtuple->Branch("phi_shift", &m_phiShift);
+   globalNtuple->Branch("cell_r", &m_cellr);
+   globalNtuple->Branch("cell_z", &m_cellz);
+   globalNtuple->Branch("cell_eta", &m_celleta);
+   globalNtuple->Branch("cell_deta", &m_cellDeta);
+   globalNtuple->Branch("cell_dphi", &m_cellDphi);
+}
+
+
+void ShowerShapeThinning::InitHitsTree(TTree *hitsNtuple, TTree *globalNtuple)
+{
+   m_eventNumber = -1;
+   m_energy      = 0.;
+   m_etaHit      = 0.;
+   m_phiHit      = 0.;
+   m_etaEntrance = 0.;
+   m_phiEntrance = 0.;
+   m_deta        = 0.;
+   m_dphi        = 0.;
+   m_PCA         = 0;
+
+   m_etaCenter = 0.;
+   m_phiCenter = 0.;
+   m_etaShift  = 0.;
+   m_phiShift  = 0.;
+   m_cellr     = 0.;
+   m_cellz     = 0.;
+   m_celleta   = 0.;
+   m_cellDeta  = 0.;
+   m_cellDphi  = 0.;
+
+   hitsNtuple->SetBranchAddress("eventNumber", &m_eventNumber);
+   hitsNtuple->SetBranchAddress("energy_hit", &m_energy);
+   hitsNtuple->SetBranchAddress("eta_hit", &m_etaHit);
+   hitsNtuple->SetBranchAddress("phi_hit", &m_phiHit);
+   hitsNtuple->SetBranchAddress("eta_entrance", &m_etaEntrance);
+   hitsNtuple->SetBranchAddress("phi_entrance", &m_phiEntrance);
+   hitsNtuple->SetBranchAddress("delta_eta", &m_deta);
+   hitsNtuple->SetBranchAddress("delta_phi", &m_dphi);
+   hitsNtuple->SetBranchAddress("delta_eta", &m_deta);
+   hitsNtuple->SetBranchAddress("pca_bin", &m_PCA);
+
+   globalNtuple->SetBranchAddress("eta_center", &m_etaCenter);
+   globalNtuple->SetBranchAddress("phi_center", &m_phiCenter);
+   globalNtuple->SetBranchAddress("eta_shift", &m_etaShift);
+   globalNtuple->SetBranchAddress("phi_shift", &m_phiShift);
+   globalNtuple->SetBranchAddress("cell_r", &m_cellr);
+   globalNtuple->SetBranchAddress("cell_z", &m_cellz);
+   globalNtuple->SetBranchAddress("cell_eta", &m_celleta);
+   globalNtuple->SetBranchAddress("cell_deta", &m_cellDeta);
+   globalNtuple->SetBranchAddress("cell_dphi", &m_cellDphi);
+}
+
+
+void ShowerShapeThinning::BookHitsAlphaDrTree(TTree *hitsNtuple)
+{
+   m_eventNumber = -1;
+   m_alpha       = 0.;
+   m_dr          = 0.;
+
+
+   hitsNtuple->Branch("eventNumber", &m_eventNumber);
+   hitsNtuple->Branch("energy", &m_energy);
+   hitsNtuple->Branch("alpha", &m_alpha);
+   hitsNtuple->Branch("dr", &m_dr);
+}
+
+
+float ShowerShapeThinning::DeltaPhi(float phi1, float phi2)
+{
+   double result = phi1 - phi2;
+
+   while (result > TMath::Pi())
+   {
+      result -= 2 * TMath::Pi();
+   }
+   while (result <= -TMath::Pi())
+   {
+      result += 2 * TMath::Pi();
+   }
+   return result;
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeThinning.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeThinning.h
new file mode 100644
index 0000000000000000000000000000000000000000..4679991d0bb900466cd94b4d0385719c6fbd8380
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/ShowerShapeThinning.h
@@ -0,0 +1,151 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ShowerShapeThinning_h
+#define ShowerShapeThinning_h
+
+#include "TChain.h"
+#include "TTree.h"
+#include "TH1.h"
+
+#include "tools/FCS_Cell.h"
+
+
+
+class ShowerShapeThinning
+{
+public:
+
+
+   ShowerShapeThinning();
+   ShowerShapeThinning(TChain *chain, TTree *tree);
+   ~ShowerShapeThinning();
+
+
+
+   void CreateHitsNtuple(TFile *file);
+
+   void CreateHitsAlphaDrNtuple(std::string);
+
+   std::vector<float> Getxbins(TH1F *histo, int nbins);
+
+   vector<int> GetPCAbins();
+   void GetCellGeom(float etacentre, float phicentre);
+
+   std::tuple<float, float> GetUnitsmm(float eta_hits, float deta, float dphi, float cellr, float cellz);
+   void InitInputTree();
+   void BookHitsTree(TTree *, TTree *);
+   void InitHitsTree(TTree *, TTree *);
+   void BookHitsAlphaDrTree(TTree *);
+   float DeltaPhi(float, float);
+
+
+
+   // * setter methods
+   void set_calolayer(int calolayer_) { m_calolayer = calolayer_; }
+   void set_PCAbin(int PCAbin_) { m_PCAbin = PCAbin_; }
+   void set_nbinsR(int nbinsR_) { m_nbinsR = nbinsR_; }
+   void set_nbinsAlpha(int nbinsAlpha_) { m_nbinsAlpha = nbinsAlpha_; }
+   void set_mincalosize(float mincalosize_) { m_mincalosize = mincalosize_; }
+   void set_particle(string particle_) { m_particle = particle_; }
+   void set_energy(float energy_) { m_particleEnergy = energy_; }
+   void set_eta(float etamin_, float etamax_) { m_etamin = etamin_; m_etamax = etamax_; }
+   void set_tolerance(float tolerance_) { m_tolerance = tolerance_; }
+
+   void set_topDir(string topDir_) { m_topDir = topDir_; }
+   void set_fileName(string fileName_) { m_fileName = fileName_; }
+   void set_hitsNtupleName(string hitsNtupleName_) { m_hitsNtupleName = hitsNtupleName_; }
+
+
+private:
+
+   // * settings
+   int m_calolayer;
+   int m_PCAbin;
+   int m_PCA; // ttree variable
+   int m_nbinsR;
+   int m_nbinsAlpha;
+   float m_mincalosize;
+   string m_particle;
+   float m_particleEnergy; // in Gev
+   float m_etamin;
+   float m_etamax;
+   float m_tolerance;
+   string m_hitsNtupleName;
+
+   int m_debug;
+
+   TChain *m_chain;
+   TTree *m_tree;
+
+   std::string m_topDir;
+   std::string m_fileName;
+
+
+
+   // * cell geometry
+
+   float cellDeta;
+   float cellDphi;
+   float cellr;
+   float cellz;
+   float celleta;
+
+   // * reading input TTree
+
+   FCS_matchedcellvector *m_cellVector;
+   std::vector<FCS_truth> *m_truthCollection;
+   std::vector<float> *m_truthPx;
+   std::vector<float> *m_truthPy;
+   std::vector<float> *m_truthPz;
+   std::vector<float> *m_truthE;
+
+   // * for hits TTree
+   int m_eventNumber;
+   float m_energy;
+   float m_etaHit;
+   float m_phiHit;
+   float m_etaEntrance;
+   float m_phiEntrance;
+   float m_deta;
+   float m_dphi;
+
+
+   float m_etaCenter;
+   float m_phiCenter;
+   float m_etaShift;
+   float m_phiShift;
+   float m_cellr;
+   float m_cellz;
+   float m_celleta;
+   float m_cellDeta;
+   float m_cellDphi;
+
+   // * hits TTree with alpha and dr
+
+   float m_alpha;
+   float m_dr;
+
+   // * alpha and dr bin widths
+   std::vector<float> xbinsAlpha;
+   std::vector<float> ybinsR;
+
+
+   // * histograms
+
+   TH2F *halphadrE;
+
+   TH1F *h_alpha;
+   TH1F *h_dr;
+
+
+
+   ClassDef(ShowerShapeThinning, 1);
+};
+
+#if defined(__MAKECINT__)
+#pragma link C++ class ShowerShapeThinning+;
+#endif
+
+#endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/DetailedShapeBinning.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/DetailedShapeBinning.cxx
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/DetailedShapeBinning.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/DetailedShapeBinning.cxx
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/DetailedShapeBinning.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/DetailedShapeBinning.h
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/DetailedShapeBinning.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/DetailedShapeBinning.h
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/FitDetailedShape.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/FitDetailedShape.cxx
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/FitDetailedShape.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/FitDetailedShape.cxx
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FitDetailedShape.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/FitDetailedShape.h
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FitDetailedShape.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/FitDetailedShape.h
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS2DFunction.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunction.cxx
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS2DFunction.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunction.cxx
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS2DFunction.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunction.h
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS2DFunction.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunction.h
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS2DFunctionRegression.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunctionRegression.cxx
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS2DFunctionRegression.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunctionRegression.cxx
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS2DFunctionRegression.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunctionRegression.h
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS2DFunctionRegression.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2DFunctionRegression.h
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS2Function.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2Function.cxx
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/Root/TFCS2Function.cxx
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2Function.cxx
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS2Function.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2Function.h
similarity index 100%
rename from Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/TFCS2Function.h
rename to Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/shapepara/old/TFCS2Function.h
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple.py
index f7c63f00997a6d67e507a1e04d8661e53ff7bf53..21092900ef21f3de9b63021fde6afdfef730f665 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple.py
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple.py
@@ -15,10 +15,9 @@ from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
 #athenaCommonFlags.FilesInput = glob( "ESDpion_eta1.pool.root" )
 #athenaCommonFlags.FilesInput = glob( "ESD_calo__211__E10000_10000__eta20_20_Evts0-1000_z03350.pool.root" )
 #athenaCommonFlags.FilesInput = glob( "ESD_*root" )
-
-#athenaCommonFlags.FilesInput = ["root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/ForMichael/ESD_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.pool.root"] 
 #athenaCommonFlags.FilesInput = ["/afs/cern.ch/user/c/cmills/public/pions20GeV_fulldet.ESD.pool.root"] 
-athenaCommonFlags.FilesInput = ["/afs/cern.ch/user/c/cmills/public/pions20GeV_z0150_fulldet.ESD.pool.root"] 
+#athenaCommonFlags.FilesInput = ["/afs/cern.ch/user/c/cmills/public/pions20GeV_z0150_fulldet.ESD.pool.root"] 
+athenaCommonFlags.FilesInput = ["root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/ForMichael/ESD_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.pool.root"]
 
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
@@ -34,6 +33,7 @@ from AthenaCommon.DetFlags import DetFlags
 DetFlags.ID_setOn()
 DetFlags.Calo_setOn()
 DetFlags.Muon_setOff()
+DetFlags.Forward_setOff()
 #include ('TrkDetDescrSvc/AtlasTrackingGeometrySvc.py')
 
 from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConf import ISF_HitAnalysis
@@ -56,7 +56,7 @@ ISF_HitAnalysis.CaloBoundaryR = 1148.0
 ISF_HitAnalysis.CaloBoundaryZ = 3549.5 #before: 3475.0
 ISF_HitAnalysis.CaloMargin=100 #=10cm
 ISF_HitAnalysis.NTruthParticles = 1 # Copy only one truth particle to the ntuples for now
-ISF_HitAnalysis.OutputLevel = DEBUG
+ISF_HitAnalysis.OutputLevel = WARNING
 
 #############################
 ##### NEW TRACKING SETUP ####
@@ -89,10 +89,20 @@ ISF_HitAnalysis.Extrapolator=timedExtrapolator
 
 #############################
 
-from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConf import FastCaloSimGeometryHelper
-FCSgeoHelper=FastCaloSimGeometryHelper()
-ToolSvc+=FCSgeoHelper
-ISF_HitAnalysis.CaloGeometryHelper=FCSgeoHelper
+from AthenaCommon.CfgGetter import getPublicTool
+
+#from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConf import FastCaloSimGeometryHelper
+#FCSgeoHelper=FastCaloSimGeometryHelper()
+#ToolSvc+=FCSgeoHelper
+#ISF_HitAnalysis.CaloGeometryHelper=FCSgeoHelper
+fcsgeohelper= getPublicTool('FastCaloSimGeometryHelper')
+ToolSvc+=fcsgeohelper
+ISF_HitAnalysis.CaloGeometryHelper=fcsgeohelper
+
+ISF_HitAnalysis.FastCaloSimCaloExtrapolation= getPublicTool('FastCaloSimCaloExtrapolation')
+ISF_HitAnalysis.FastCaloSimCaloExtrapolation.OutputLevel = DEBUG
+ToolSvc.FastCaloSimCaloExtrapolation.OutputLevel = DEBUG
+
 
 from GaudiSvc.GaudiSvcConf import THistSvc
 ServiceMgr += THistSvc()
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometry.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometry.cxx
index 5ac7ff959dd9fcf420607736c021cdaac11aacd2..b29503c6fd6e4e2af40c798401e9a18fbf3792ea 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometry.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometry.cxx
@@ -12,7 +12,8 @@
 #include <TVector3.h>
 #include <TLegend.h>
 
-#include "CaloDetDescr/CaloDetDescrElement.h"
+//#include "CaloDetDescr/CaloDetDescrElement.h"
+#include "ISF_FastCaloSimParametrization/CaloDetDescrElement.h"
 #include "CaloGeoHelpers/CaloSampling.h"
 #include "ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h"
 //#include "TMVA/Tools.h"
@@ -59,7 +60,7 @@ bool CaloGeometryLookup::has_overlap(CaloGeometryLookup* ref)
 {
   if(m_cells.size()==0) return false;
   for(t_cellmap::iterator ic=m_cells.begin();ic!=m_cells.end();++ic) {
-    const CaloDetDescrElement* cell=ic->second;
+    const CaloGeoDetDescrElement* cell=ic->second;
     if(ref->IsCompatible(cell)) return true;
   }
   return false;
@@ -68,17 +69,17 @@ bool CaloGeometryLookup::has_overlap(CaloGeometryLookup* ref)
 void CaloGeometryLookup::merge_into_ref(CaloGeometryLookup* ref)
 {
   for(t_cellmap::iterator ic=m_cells.begin();ic!=m_cells.end();++ic) {
-    const CaloDetDescrElement* cell=ic->second;
+    const CaloGeoDetDescrElement* cell=ic->second;
     ref->add(cell);
   }
 }
 
 
-bool CaloGeometryLookup::IsCompatible(const CaloDetDescrElement* cell)
+bool CaloGeometryLookup::IsCompatible(const CaloGeoDetDescrElement* cell)
 {
   if(m_cells.size()==0) return true;
   t_cellmap::iterator ic=m_cells.begin();
-  const CaloDetDescrElement* refcell=ic->second;
+  const CaloGeoDetDescrElement* refcell=ic->second;
   int sampling=refcell->getSampling();
   if(cell->getSampling()!=sampling) return false;
   if(cell->eta_raw()*refcell->eta_raw()<0) return false;
@@ -124,7 +125,7 @@ bool CaloGeometryLookup::IsCompatible(const CaloDetDescrElement* cell)
   return true;  
 }
 
-void CaloGeometryLookup::add(const CaloDetDescrElement* cell)
+void CaloGeometryLookup::add(const CaloGeoDetDescrElement* cell)
 {
   if(cell->getSampling()<21) {
     m_deta.add(cell->deta());
@@ -193,7 +194,7 @@ void CaloGeometryLookup::post_process()
 {
   if(size()==0) return;
   t_cellmap::iterator ic=m_cells.begin();
-  const CaloDetDescrElement* refcell=ic->second;
+  const CaloGeoDetDescrElement* refcell=ic->second;
   int sampling=refcell->getSampling();
   if(sampling<21) {
     double rneta=neta_double()-neta();
@@ -262,10 +263,10 @@ void CaloGeometryLookup::post_process()
       }
     }
   }  
-  //cout<<"Grid: Sampling "<<sampling<<"_"<<index()<<": "<<ncells<<"/"<<size()<<" cells filled, "<<nempty<<" empty grid positions"<<endl;
+  //  cout<<"Grid: Sampling "<<sampling<<"_"<<index()<<": "<<ncells<<"/"<<size()<<" cells filled, "<<nempty<<" empty grid positions deta="<<m_deta_double<<" dphi="<<m_dphi_double<<endl;
 }
 
-float CaloGeometryLookup::calculate_distance_eta_phi(const CaloDetDescrElement* DDE,float eta,float phi,float& dist_eta0,float& dist_phi0)
+float CaloGeometryLookup::calculate_distance_eta_phi(const CaloGeoDetDescrElement* DDE,float eta,float phi,float& dist_eta0,float& dist_phi0)
 {
   dist_eta0=(eta - DDE->eta())/m_deta_double;
   dist_phi0=(TVector2::Phi_mpi_pi(phi - DDE->phi()))/m_dphi_double;
@@ -274,10 +275,10 @@ float CaloGeometryLookup::calculate_distance_eta_phi(const CaloDetDescrElement*
   return TMath::Max(abs_dist_eta0,abs_dist_phi0)-0.5;
 }
 
-const CaloDetDescrElement* CaloGeometryLookup::getDDE(float eta,float phi,float* distance,int* steps) 
+const CaloGeoDetDescrElement* CaloGeometryLookup::getDDE(float eta,float phi,float* distance,int* steps) 
 {
   float dist;
-  const CaloDetDescrElement* bestDDE=0;
+  const CaloGeoDetDescrElement* bestDDE=0;
   if(!distance) distance=&dist;
   *distance=+10000000;
   int intsteps=0;
@@ -293,7 +294,7 @@ const CaloDetDescrElement* CaloGeometryLookup::getDDE(float eta,float phi,float*
   int iphi=raw_phi_position_to_index(raw_phi);
   index_range_adjust(ieta,iphi);
   
-  const CaloDetDescrElement* newDDE=m_cell_grid[ieta][iphi];
+  const CaloGeoDetDescrElement* newDDE=m_cell_grid[ieta][iphi];
   float bestdist=+10000000;
   ++(*steps);
   int nsearch=0;
@@ -316,7 +317,7 @@ const CaloDetDescrElement* CaloGeometryLookup::getDDE(float eta,float phi,float*
     ieta+=TMath::Nint(dist_eta0);
     iphi+=TMath::Nint(dist_phi0);
     index_range_adjust(ieta,iphi);
-    const CaloDetDescrElement* oldDDE=newDDE;
+    const CaloGeoDetDescrElement* oldDDE=newDDE;
     newDDE=m_cell_grid[ieta][iphi];
     ++(*steps);
     ++nsearch;
@@ -364,6 +365,8 @@ const CaloDetDescrElement* CaloGeometryLookup::getDDE(float eta,float phi,float*
   return bestDDE;
 }
 
+
+
 /*
 void CaloGeometryLookup::CalculateTransformation()
 {
@@ -381,7 +384,7 @@ void CaloGeometryLookup::CalculateTransformation()
 
   int sampling=0;
   for(t_cellmap::iterator ic=m_cells.begin();ic!=m_cells.end();++ic) {
-    CaloDetDescrElement* refcell=ic->second;
+    CaloGeoDetDescrElement* refcell=ic->second;
     sampling=refcell->getSampling();
     if(sampling<21) {
       eta=refcell->eta();
@@ -437,7 +440,7 @@ void CaloGeometryLookup::CalculateTransformation()
 }
 */
 
-CaloGeometry::CaloGeometry() : m_cells_in_sampling(MAX_SAMPLING),m_cells_in_sampling_for_phi0(MAX_SAMPLING),m_cells_in_regions(MAX_SAMPLING),m_isCaloBarrel(MAX_SAMPLING),m_dographs(false)
+CaloGeometry::CaloGeometry() : m_cells_in_sampling(MAX_SAMPLING),m_cells_in_sampling_for_phi0(MAX_SAMPLING),m_cells_in_regions(MAX_SAMPLING),m_isCaloBarrel(MAX_SAMPLING),m_dographs(false),m_FCal_ChannelMap(0)
 {
   //TMVA::Tools::Instance();
   for(int i=0;i<2;++i) {
@@ -463,13 +466,16 @@ CaloGeometry::~CaloGeometry()
 {
 }
 
-void CaloGeometry::addcell(const CaloDetDescrElement* cell) 
+void CaloGeometry::addcell(const CaloGeoDetDescrElement* cell) 
 {
   int sampling=cell->getSampling();
   Identifier identify=cell->identify();
   
-  m_cells[identify]=cell;
-  m_cells_in_sampling[sampling][identify]=cell;
+  //m_cells[identify]=cell;
+  //m_cells_in_sampling[sampling][identify]=cell;
+  
+  m_cells[identify]= new CaloGeoDetDescrElement(*cell);
+  m_cells_in_sampling[sampling][identify]= new CaloGeoDetDescrElement(*cell);
   
   CaloGeometryLookup* lookup=0;
   for(unsigned int i=0;i<m_cells_in_regions[sampling].size();++i) {
@@ -610,7 +616,7 @@ void CaloGeometry::InitRZmaps()
   }  
 
   for(t_cellmap::iterator calo_iter=m_cells.begin();calo_iter!=m_cells.end();++calo_iter) {
-    const CaloDetDescrElement* theDDE=(*calo_iter).second;
+    const CaloGeoDetDescrElement* theDDE=(*calo_iter).second;
     if(theDDE) {
       ++nok;
       int sample=theDDE->getSampling();
@@ -761,7 +767,7 @@ TCanvas* CaloGeometry::DrawGeoForPhi0()
     cout<<"Start sample "<<sample<<" ("<<SamplingName(sample)<<")"<<endl;
     int ngr=0;
     for(t_eta_cellmap::iterator calo_iter=m_cells_in_sampling_for_phi0[sample].begin();calo_iter!=m_cells_in_sampling_for_phi0[sample].end();++calo_iter) {
-      const CaloDetDescrElement* theDDE=(*calo_iter).second;
+      const CaloGeoDetDescrElement* theDDE=(*calo_iter).second;
       if(theDDE) {
         TVector3 cv;
         TGraph* gr=new TGraph(5);
@@ -846,19 +852,23 @@ TCanvas* CaloGeometry::DrawGeoForPhi0()
   return c;
 }
 
-const CaloDetDescrElement* CaloGeometry::getDDE(Identifier identify) 
+const CaloGeoDetDescrElement* CaloGeometry::getDDE(Identifier identify) 
 {
   return m_cells[identify];
 }
+const CaloGeoDetDescrElement* CaloGeometry::getDDE(int sampling,Identifier identify) 
+{
+  return m_cells_in_sampling[sampling][identify];
+}
 
-const CaloDetDescrElement* CaloGeometry::getDDE(int sampling,float eta,float phi,float* distance,int* steps) 
+const CaloGeoDetDescrElement* CaloGeometry::getDDE(int sampling,float eta,float phi,float* distance,int* steps) 
 {
   if(sampling<0) return 0;
   if(sampling>=MAX_SAMPLING) return 0;
   if(m_cells_in_regions[sampling].size()==0) return 0;
   
   float dist;
-  const CaloDetDescrElement* bestDDE=0;
+  const CaloGeoDetDescrElement* bestDDE=0;
   if(!distance) distance=&dist;
   *distance=+10000000;
   int intsteps;
@@ -879,7 +889,7 @@ const CaloDetDescrElement* CaloGeometry::getDDE(int sampling,float eta,float phi
           cout<<"CaloGeometry::getDDE : check map"<<j<<" skip_range_check="<<skip_range_check<<endl;
         }
         float newdist;
-        const CaloDetDescrElement* newDDE=m_cells_in_regions[sampling][j]->getDDE(eta,phi,&newdist,&intsteps);
+        const CaloGeoDetDescrElement* newDDE=m_cells_in_regions[sampling][j]->getDDE(eta,phi,&newdist,&intsteps);
         if(m_debug) {
           cout<<"CaloGeometry::getDDE : map"<<j<<" dist="<<newdist<<" best dist="<<*distance<<" steps="<<intsteps<<endl;
         }
@@ -893,38 +903,59 @@ const CaloDetDescrElement* CaloGeometry::getDDE(int sampling,float eta,float phi
       if(bestDDE) break;
     }
   } else {
-    for(int skip_range_check=0;skip_range_check<=1;++skip_range_check) {
-      for(unsigned int j=0;j<m_cells_in_regions[sampling].size();++j) {
-        if(!skip_range_check) {
-          if(eta<m_cells_in_regions[sampling][j]->minx()) continue;
-          if(eta>m_cells_in_regions[sampling][j]->maxx()) continue;
-          if(phi<m_cells_in_regions[sampling][j]->miny()) continue;
-          if(phi>m_cells_in_regions[sampling][j]->maxy()) continue;
-        }  
-        if(steps) intsteps=*steps;
-         else intsteps=0;
-        if(m_debug) {
-          cout<<"CaloGeometry::getDDE : check map"<<j<<" skip_range_check="<<skip_range_check<<endl;
-        }
-        float newdist;
-        const CaloDetDescrElement* newDDE=m_cells_in_regions[sampling][j]->getDDE(eta,phi,&newdist,&intsteps);
-        if(m_debug) {
-          cout<<"CaloGeometry::getDDE : map"<<j<<" dist="<<newdist<<" best dist="<<*distance<<" steps="<<intsteps<<endl;
-        }
-        if(newdist<*distance) {
-          bestDDE=newDDE;
-          *distance=newdist;
-          if(steps) beststeps=intsteps;
-          if(newdist<-0.1) break; //stop, we are well within the hit cell
-        }
-      }
-      if(bestDDE) break;
-    }  
+		return 0;
+    //for(int skip_range_check=0;skip_range_check<=1;++skip_range_check) {
+      //for(unsigned int j=0;j<m_cells_in_regions[sampling].size();++j) {
+        //if(!skip_range_check) {
+          //if(eta<m_cells_in_regions[sampling][j]->minx()) continue;
+          //if(eta>m_cells_in_regions[sampling][j]->maxx()) continue;
+          //if(phi<m_cells_in_regions[sampling][j]->miny()) continue;
+          //if(phi>m_cells_in_regions[sampling][j]->maxy()) continue;
+        //}  
+        //if(steps) intsteps=*steps;
+         //else intsteps=0;
+        //if(m_debug) {
+          //cout<<"CaloGeometry::getDDE : check map"<<j<<" skip_range_check="<<skip_range_check<<endl;
+        //}
+        //float newdist;
+        //const CaloGeoDetDescrElement* newDDE=m_cells_in_regions[sampling][j]->getDDE(eta,phi,&newdist,&intsteps);
+        //if(m_debug) {
+          //cout<<"CaloGeometry::getDDE : map"<<j<<" dist="<<newdist<<" best dist="<<*distance<<" steps="<<intsteps<<endl;
+        //}
+        //if(newdist<*distance) {
+          //bestDDE=newDDE;
+          //*distance=newdist;
+          //if(steps) beststeps=intsteps;
+          //if(newdist<-0.1) break; //stop, we are well within the hit cell
+        //}
+      //}
+      //if(bestDDE) break;
+    //}  
   }
   if(steps) *steps=beststeps;
   return bestDDE;
 }
 
+const CaloGeoDetDescrElement* CaloGeometry::getFCalDDE(int sampling,float x,float y,float z){
+		int isam = sampling - 20;
+		int iphi,ieta;
+		Long64_t mask1[]{0x34,0x34,0x35};
+		Long64_t mask2[]{0x36,0x36,0x37};
+		m_FCal_ChannelMap.getTileID(isam, x, y, ieta, iphi);
+		//cout << ieta << ""
+		Long64_t id = (ieta << 5) + 2*iphi;
+		if(isam==2)id+= (8<<8);
+		
+		if(z>0) id+=(mask2[isam-1] << 12);
+		else id+=(mask1[isam-1] << 12);
+		//if(z<0) cout << "CaloGeometry::getFCalDDE: Identifier: " << (id << 44) << " " << m_cells[id << 44]->identify() << endl;
+		id = id << 44; 
+		Identifier identify((unsigned long long)id);
+		return m_cells[identify];
+		//return m_cells_in_sampling[sampling][id << 12];
+}
+
+
 bool CaloGeometry::PostProcessGeometry()
 {
   for(int i=0;i<MAX_SAMPLING;++i) {
@@ -958,7 +989,7 @@ void CaloGeometry::Validate()
   int ntest=0;
   cout<<"start CaloGeometry::Validate()"<<endl;
   for(t_cellmap::iterator ic=m_cells.begin();ic!=m_cells.end();++ic) {
-    const CaloDetDescrElement* cell=ic->second;
+    const CaloGeoDetDescrElement* cell=ic->second;
     int sampling=cell->getSampling();
     if(sampling>=21) continue;
 
@@ -973,7 +1004,7 @@ void CaloGeometry::Validate()
       float eta=cell->eta()+1.5*(gRandom->Rndm()-0.5)*cell->deta();
       float phi=cell->phi()+1.5*(gRandom->Rndm()-0.5)*cell->dphi();
       float distance;
-      const CaloDetDescrElement* foundcell=getDDE(sampling,eta,phi,&distance,&steps);
+      const CaloGeoDetDescrElement* foundcell=getDDE(sampling,eta,phi,&distance,&steps);
       if(m_debug && foundcell) {
         cout<<"CaloGeometry::Validate(), irnd="<<irnd<<", foundcell id="<<foundcell->identify()<<", "<<steps<<" steps"<<endl; 
       }  
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometryFromCaloDDM.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometryFromCaloDDM.cxx
index 28aca4bf137ce3ccf54a47e59b13fa53939074d1..942cafc3fcd874a8635c4a41fff1954ff21c3e2e 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometryFromCaloDDM.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometryFromCaloDDM.cxx
@@ -3,7 +3,8 @@
 */
 
 #include "CaloGeometryFromCaloDDM.h"
-#include "CaloDetDescr/CaloDetDescrElement.h"
+//#include "CaloDetDescr/CaloDetDescrElement.h"
+#include "ISF_FastCaloSimParametrization/CaloDetDescrElement.h"
 #include "CaloDetDescr/CaloDetDescrManager.h"
 
 using namespace std;
@@ -16,18 +17,18 @@ CaloGeometryFromCaloDDM::~CaloGeometryFromCaloDDM()
 {
 }
 
-bool CaloGeometryFromCaloDDM::LoadGeometryFromCaloDDM(const CaloDetDescrManager* calo_dd_man)
+bool CaloGeometryFromCaloDDM::LoadGeometryFromCaloDDM(const CaloDetDescrManager* /*calo_dd_man*/)
 {
-  int jentry=0;
-  for(CaloDetDescrManager::calo_element_const_iterator calo_iter=calo_dd_man->element_begin();calo_iter<calo_dd_man->element_end();++calo_iter) {
-    const CaloDetDescrElement* pcell=*calo_iter;
-    addcell(pcell);
-
-    if(jentry%25000==0) {
-      cout<<jentry<<" : "<<pcell->getSampling()<<", "<<pcell->identify()<<endl;
-    }
-    ++jentry;
-  }
+  //int jentry=0;
+  //for(CaloDetDescrManager::calo_element_const_iterator calo_iter=calo_dd_man->element_begin();calo_iter<calo_dd_man->element_end();++calo_iter) {
+    //const CaloGeoDetDescrElement* pcell=*calo_iter;
+    //addcell(pcell);
+
+    //if(jentry%25000==0) {
+      //cout<<jentry<<" : "<<pcell->getSampling()<<", "<<pcell->identify()<<endl;
+    //}
+    //++jentry;
+  //}
 
   return PostProcessGeometry();
 }
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometryFromFile.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometryFromFile.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..fb96f162ffa4422b51d5f0a1d90ee1b1ad54e7e9
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/CaloGeometryFromFile.cxx
@@ -0,0 +1,347 @@
+/*
+ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+ */
+
+#include "ISF_FastCaloSimParametrization/CaloGeometryFromFile.h"
+#include <TTree.h>
+#include <TFile.h>
+#include "ISF_FastCaloSimParametrization/CaloDetDescrElement.h"
+#include <fstream>
+#include <sstream>
+#include <TGraph.h>
+#include "TH2D.h"
+
+#include <fstream>
+#include <map>
+#include <string>
+#include <sstream>
+
+using namespace std;
+
+map<unsigned long long, unsigned long long> g_cellId_vs_cellHashId_map;
+
+CaloGeometryFromFile::CaloGeometryFromFile() : CaloGeometry()
+{
+  ifstream textfile("/afs/cern.ch/atlas/groups/Simulation/FastCaloSimV2/cellId_vs_cellHashId_map.txt");
+  unsigned long long id, hash_id;
+  cout << "Loading cellId_vs_cellHashId_map" << endl;
+  int i=0;
+  string line;
+  stringstream s;
+  while(1){
+    //getline(textfile,line);
+    s.str(line);
+    textfile >> id;
+    if(textfile.eof())break;
+    textfile >> hash_id;
+    g_cellId_vs_cellHashId_map[id]=hash_id;
+    if(i%10000==0)cout << "Line: " << i << " line " << line << " id " << hex << id << " hash_id " << dec << hash_id << endl;
+    i++;
+  }
+  cout << "Done." << endl;
+
+}
+
+CaloGeometryFromFile::~CaloGeometryFromFile()
+{
+}
+
+bool CaloGeometryFromFile::LoadGeometryFromFile(TString filename,TString treename)
+{
+  TTree *tree;
+  TFile *f = TFile::Open(filename);
+  if(!f) return false;
+  f->GetObject(treename,tree);
+  if(!tree) return false;
+
+  TTree* fChain = tree;
+
+  CaloGeoDetDescrElement cell;
+
+  // List of branches
+  TBranch        *b_identifier;   //!
+  TBranch        *b_calosample;   //!
+  TBranch        *b_eta;   //!
+  TBranch        *b_phi;   //!
+  TBranch        *b_r;   //!
+  TBranch        *b_eta_raw;   //!
+  TBranch        *b_phi_raw;   //!
+  TBranch        *b_r_raw;   //!
+  TBranch        *b_x;   //!
+  TBranch        *b_y;   //!
+  TBranch        *b_z;   //!
+  TBranch        *b_x_raw;   //!
+  TBranch        *b_y_raw;   //!
+  TBranch        *b_z_raw;   //!
+  TBranch        *b_deta;   //!
+  TBranch        *b_dphi;   //!
+  TBranch        *b_dr;   //!
+  TBranch        *b_dx;   //!
+  TBranch        *b_dy;   //!
+  TBranch        *b_dz;   //!
+
+  fChain->SetMakeClass(1);
+  fChain->SetBranchAddress("identifier", &cell.m_identify, &b_identifier);
+  fChain->SetBranchAddress("calosample", &cell.m_calosample, &b_calosample);
+  fChain->SetBranchAddress("eta", &cell.m_eta, &b_eta);
+  fChain->SetBranchAddress("phi", &cell.m_phi, &b_phi);
+  fChain->SetBranchAddress("r", &cell.m_r, &b_r);
+  fChain->SetBranchAddress("eta_raw", &cell.m_eta_raw, &b_eta_raw);
+  fChain->SetBranchAddress("phi_raw", &cell.m_phi_raw, &b_phi_raw);
+  fChain->SetBranchAddress("r_raw", &cell.m_r_raw, &b_r_raw);
+  fChain->SetBranchAddress("x", &cell.m_x, &b_x);
+  fChain->SetBranchAddress("y", &cell.m_y, &b_y);
+  fChain->SetBranchAddress("z", &cell.m_z, &b_z);
+  fChain->SetBranchAddress("x_raw", &cell.m_x_raw, &b_x_raw);
+  fChain->SetBranchAddress("y_raw", &cell.m_y_raw, &b_y_raw);
+  fChain->SetBranchAddress("z_raw", &cell.m_z_raw, &b_z_raw);
+  fChain->SetBranchAddress("deta", &cell.m_deta, &b_deta);
+  fChain->SetBranchAddress("dphi", &cell.m_dphi, &b_dphi);
+  fChain->SetBranchAddress("dr", &cell.m_dr, &b_dr);
+  fChain->SetBranchAddress("dx", &cell.m_dx, &b_dx);
+  fChain->SetBranchAddress("dy", &cell.m_dy, &b_dy);
+  fChain->SetBranchAddress("dz", &cell.m_dz, &b_dz);
+
+  Long64_t nentries = fChain->GetEntriesFast();
+  for (Long64_t jentry=0; jentry<nentries;jentry++) {
+    Long64_t ientry = fChain->LoadTree(jentry);
+    if (ientry < 0) break;
+    fChain->GetEntry(jentry);
+
+    if (g_cellId_vs_cellHashId_map.find(cell.m_identify)!=g_cellId_vs_cellHashId_map.end()) cell.m_hash_id=g_cellId_vs_cellHashId_map[cell.m_identify];
+    else cout << endl << "ERROR: Cell id not found in the cellId_vs_cellHashId_map!!!" << endl << endl;
+
+    const CaloGeoDetDescrElement* pcell=new CaloGeoDetDescrElement(cell);
+    int sampling = pcell->getSampling();
+
+
+    if(sampling >20) continue;
+    this->addcell(pcell);
+
+    if(jentry%25000==0) {
+      //if(jentry==nentries-1) {
+      cout << "Checking loading cells from file" << endl;
+      cout<<jentry<<" : "<<pcell->getSampling()<<", "<<pcell->identify()<<endl;
+
+
+
+
+      //if(jentry>5) break;
+    }
+  }
+  //cout<<"all : "<<m_cells.size()<<endl;
+  //unsigned long long max(0);
+  //unsigned long long min_id=m_cells_in_sampling[0].begin()->first;
+  //for(int i=0;i<21;++i) {
+                ////cout<<"  cells sampling "<<i<<" : "<<m_cells_in_sampling[i].size()<<" cells";
+                ////cout<<", "<<m_cells_in_regions[i].size()<<" lookup map(s)"<<endl;
+                //for(auto it=m_cells_in_sampling[i].begin(); it!=m_cells_in_sampling[i].end();it++){
+  ////cout << it->second->getSampling() << " " << it->first << endl;
+  //if(min_id/10 >=  it->first){
+  ////cout << "Warning: Identifiers are not in increasing order!!!!" << endl;
+  ////cout << min_id << " " << it->first << endl;
+
+  //}
+  //if(min_id > it->first)min_id = it->first;
+                //}
+  //}
+  //cout << "Min id for samplings < 21: " << min_id << endl;
+  delete f;
+  //return true;
+  bool ok = PostProcessGeometry();
+
+  cout << "Result of PostProcessGeometry(): " << ok << endl;
+  const CaloGeoDetDescrElement* mcell=0;
+  unsigned long long cellid64(3179554531063103488);
+  Identifier cellid(cellid64);
+  mcell=this->getDDE(cellid); //This is working also for the FCal
+
+  std::cout << "\n \n";
+  std::cout << "Testing whether CaloGeometry is loaded properly" << std::endl;
+  if(!mcell)std::cout << "Cell is not found" << std::endl;
+  std::cout << "Identifier " << mcell->identify() <<" sampling " << mcell->getSampling() << " eta: " << mcell->eta() << " phi: " << mcell->phi() << std::endl<< std::endl;
+
+  const CaloGeoDetDescrElement* mcell2 = this->getDDE(mcell->getSampling(),mcell->eta(),mcell->phi());
+  std::cout << "Identifier " << mcell2->identify() <<" sampling " << mcell2->getSampling() << " eta: " << mcell2->eta() << " phi: " << mcell2->phi() << std::endl<< std::endl;
+
+  return ok;
+}
+
+
+bool CaloGeometryFromFile::LoadFCalGeometryFromFiles(TString filename1,TString filename2,TString filename3){
+
+  vector<ifstream*> electrodes(3);
+
+  electrodes[0]=new ifstream(filename1);
+  electrodes[1]=new ifstream(filename2);
+  electrodes[2]=new ifstream(filename3);
+
+
+  int	thisTubeId;
+  int    thisTubeI;
+  int    thisTubeJ;
+  //int    thisTubeID;
+  //int    thisTubeMod;
+  double thisTubeX;
+  double thisTubeY;
+  TString tubeName;
+
+  //int second_column;
+  string seventh_column;
+  string eight_column;
+  int ninth_column;
+
+
+
+
+
+  int i;
+  for(int imodule=1;imodule<=3;imodule++){
+
+    i=0;
+    //while(i<50){
+    while(1){
+
+      //cout << electrodes[imodule-1]->eof() << endl;
+      (*electrodes[imodule-1]) >> tubeName;
+      if(electrodes[imodule-1]->eof())break;
+      (*electrodes[imodule-1]) >> thisTubeId; // ?????
+      (*electrodes[imodule-1]) >> thisTubeI;
+      (*electrodes[imodule-1]) >> thisTubeJ;
+      (*electrodes[imodule-1]) >> thisTubeX;
+      (*electrodes[imodule-1]) >> thisTubeY;
+      (*electrodes[imodule-1]) >> seventh_column;
+      (*electrodes[imodule-1]) >> eight_column;
+      (*electrodes[imodule-1]) >> ninth_column;
+
+      tubeName.ReplaceAll("'","");
+      string tubeNamestring=tubeName.Data();
+
+      std::istringstream tileStream1(std::string(tubeNamestring,1,1));
+      std::istringstream tileStream2(std::string(tubeNamestring,3,2));
+      std::istringstream tileStream3(std::string(tubeNamestring,6,3));
+      int a1=0,a2=0,a3=0;
+      if (tileStream1) tileStream1 >> a1;
+      if (tileStream2) tileStream2 >> a2;
+      if (tileStream3) tileStream3 >> a3;
+
+      //unsigned int tileName= (a3 << 16) + a2;
+      stringstream s;
+
+
+      m_FCal_ChannelMap.add_tube(tubeNamestring, imodule, thisTubeId, thisTubeI,thisTubeJ, thisTubeX, thisTubeY,seventh_column);
+
+
+
+      //cout << "FCal electrodes: " << tubeName << " " << second_column << " " << thisTubeI << " " << thisTubeJ << " " << thisTubeX << " " << thisTubeY << " " << seventh_column << " " << eight_column << " " << ninth_column << endl;
+      //cout << tileStream1.str() << " " << tileStream2.str() << " " << tileStream3.str() << endl;
+      //cout << a1 << " " << a2 << " " << a3 << " " << tileName << endl;
+      i++;
+    }
+  }
+  m_FCal_ChannelMap.finish(); // Creates maps
+
+  unsigned long long phi_index,eta_index;
+  float x,y,dx,dy;
+  long id;
+  //auto it =m_cells_in_sampling[20].rbegin();
+  //it--;
+  //unsigned long long identify=it->first;
+  //for(auto it=m_cells_in_sampling[i].begin(); it!=m_cells_in_sampling[i].end();it++){
+  //
+  //}
+  long mask1[]{0x34,0x34,0x35};
+  long mask2[]{0x36,0x36,0x37};
+
+  for(int imap=1;imap<=3;imap++){
+    for(auto it=m_FCal_ChannelMap.begin(imap);it!=m_FCal_ChannelMap.end(imap);it++){
+      phi_index = it->first & 0xffff;
+      eta_index = it->first >> 16;
+      CaloGeoDetDescrElement *DDE =new CaloGeoDetDescrElement; // side C
+      CaloGeoDetDescrElement *DDE2 =new CaloGeoDetDescrElement; // side A
+      x=it->second.x();
+      y=it->second.y();
+      m_FCal_ChannelMap.tileSize(imap, eta_index, phi_index,dx,dy);
+      //if(imap==2) eta_index+=100;
+      //if(imap==3) eta_index+=200;
+      //cout << imap << " " << eta_index << " " << phi_index << " " <<  it->first << " " << (eta_index << 16) + phi_index << endl;
+
+      DDE->m_calosample=imap+20;
+      DDE->m_x=x;
+      DDE->m_y=y;
+      DDE->m_x_raw=x;
+      DDE->m_y_raw=y;
+      DDE->m_dx=dx;
+      DDE->m_dy=dy;
+
+      DDE2->m_calosample=imap+20;
+      DDE2->m_x=x;
+      DDE2->m_y=y;
+      DDE2->m_x_raw=x;
+      DDE2->m_y_raw=y;
+      DDE2->m_dx=dx;
+      DDE2->m_dy=dy;
+
+      id=(mask1[imap-1]<<12) + (eta_index << 5) +2*phi_index;
+      if(imap==2) id+= (8<<8);
+      DDE->m_identify=(id << 44);
+      //DDE->m_identify=(id << 12);
+      //cout << DDE->identify() << endl;
+      if (g_cellId_vs_cellHashId_map.find(DDE->m_identify)!=g_cellId_vs_cellHashId_map.end()) DDE->m_hash_id=g_cellId_vs_cellHashId_map[DDE->m_identify];
+      else cout << endl << "ERROR: Cell id not found in the cellId_vs_cellHashId_map!!!" << endl << endl;
+
+      addcell(DDE);
+      id=(mask2[imap-1]<<12) + (eta_index << 5) +2*phi_index;
+      if(imap==2) id+= (8<<8);
+      DDE2->m_identify=(id << 44);
+                                                //DDE->m_identify=(id << 12);
+      if (g_cellId_vs_cellHashId_map.find(DDE2->m_identify)!=g_cellId_vs_cellHashId_map.end()) DDE2->m_hash_id=g_cellId_vs_cellHashId_map[DDE2->m_identify];
+      else cout << endl << "ERROR: Cell id not found in the cellId_vs_cellHashId_map!!!" << endl << endl;
+      addcell(DDE2);
+      delete DDE;
+      delete DDE2;
+    }
+
+  }
+
+  for( int imodule=0;imodule<3;imodule++) { delete electrodes[imodule]; }
+  electrodes.clear();
+
+  return true;
+}
+
+void CaloGeometryFromFile::DrawFCalGraph(int isam,int color){
+
+  stringstream ss;
+  ss << "FCal" << isam - 20 << endl;
+  TString name = ss.str().c_str();
+
+  const int size=m_cells_in_sampling[isam].size();
+  double *x = new double[size];
+  double *y = new double[size];
+  //const CaloGeoDetDescrElement* cell;
+  int i=0;
+  for(auto it=m_cells_in_sampling[isam].begin();it!=m_cells_in_sampling[isam].end();it++){
+    x[i]=it->second->x();
+    y[i]=it->second->y();
+    i++;
+  }
+  // cout << size << endl;
+  //TH2D* h = new TH2D("","",10,-0.5,0.5,10,-0.5,0.5);
+  //h->SetStats(0);
+  //h->Draw();
+  TGraph* graph = new TGraph(size,x,y);
+  graph->SetLineColor(color);
+  graph->SetTitle(name);
+  graph->SetMarkerStyle(21);
+  graph->SetMarkerColor(color);
+  graph->SetMarkerSize(0.5);
+  graph->GetXaxis()->SetTitle("x");
+  graph->GetYaxis()->SetTitle("y");
+
+  graph->Draw("AP");
+
+  delete [] x;
+  delete [] y;
+
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FCAL_ChannelMap.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FCAL_ChannelMap.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..7171f9893815099da1c2b09788d0994b1ec8720a
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FCAL_ChannelMap.cxx
@@ -0,0 +1,491 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ***************************************************************************
+// Liquid Argon FCAL detector description package
+// -----------------------------------------
+// Copyright (C) 1998 by ATLAS Collaboration
+//
+//
+// 10-Sep-2000 S.Simion   Handling of the FCAL read-out identifiers
+//    Jan-2001 R.Sobie    Modify for persistency
+//    Feb-2002 R.Sobie    Use same FCAL geometry files as simulation 
+//****************************************************************************
+
+#include "ISF_FastCaloSimParametrization/FCAL_ChannelMap.h"
+//#include "CLHEP/Units/SystemOfUnits.h"
+//#include "boost/io/ios_state.hpp"
+#include <sstream>
+#include <iostream>
+#include <iomanip>
+#include <stdio.h>
+
+/* === Geometrical parameters === */
+//const double cm = 0.01;
+const double cm = 10.;
+//const double FCAL_ChannelMap::m_tubeSpacing[] = {0.75*CLHEP::cm, 0.8179*CLHEP::cm, 0.90*CLHEP::cm};
+const double FCAL_ChannelMap::m_tubeSpacing[] = {0.75*cm, 0.8179*cm, 0.90*cm};
+
+FCAL_ChannelMap::FCAL_ChannelMap( int flag)          
+{
+
+  /* === Initialize geometrical dimensions */
+  for(int i=0; i<3; i++){
+    m_tubeDx[i] = m_tubeSpacing[i] / 2.;
+    m_tubeDy[i] = m_tubeSpacing[i] * sqrt(3.)/2.;
+  }
+
+  // FCAL1 small cells are 2x2 tubes
+  m_tileDx[0] = 2. * m_tubeSpacing[0];
+  m_tileDy[0] = 2. * m_tubeSpacing[0] * sqrt(3.)/2.;
+  
+  // FCAL2 small cells are 2x3 tubes
+  m_tileDx[1] = 2. * m_tubeSpacing[1];
+  m_tileDy[1] = 3. * m_tubeSpacing[1] * sqrt(3.)/2.;
+
+  // FCAL3 cells are 6x6 tubes
+  m_tileDx[2] = 6. * m_tubeSpacing[2];
+  m_tileDy[2] = 6. * m_tubeSpacing[2] * sqrt(3.)/2.;
+
+
+  m_invert_x = flag & 1; 
+  m_invert_xy = flag & 2; 
+
+}
+
+
+void FCAL_ChannelMap::finish() {
+  create_tileMap(1);
+  create_tileMap(2);
+  create_tileMap(3);
+}
+
+// *********************************************************************
+// Read tube mapping tables
+//
+// Jan 23,2002    R. Sobie
+// ********************************************************************
+
+
+//original
+void FCAL_ChannelMap::add_tube(const std::string & tileName, int mod, int /*id*/, int i, int j, double x, double y) {
+
+  // Get three integers from the tileName:
+  std::istringstream tileStream1(std::string(tileName,1,1));
+  std::istringstream tileStream2(std::string(tileName,3,2));
+  std::istringstream tileStream3(std::string(tileName,6,3));
+  int a1=0,a2=0,a3=0;
+  if (tileStream1) tileStream1 >> a1;
+  if (tileStream2) tileStream2 >> a2;
+  if (tileStream3) tileStream3 >> a3;
+
+  tileName_t tilename = (a3 << 16) + a2;
+
+  TubePosition tb(tilename, x*cm, y*cm,"");
+  // Add offsets, becaues iy and ix can be negative HMA
+  
+  i = i+200;
+  j = j+200;
+  //  m_tubeMap[mod-1][(j <<  16) + i] = tb;
+  unsigned int ThisId = (j<<16) + i;
+  tubemap_const_iterator p = m_tubeMap[mod-1].insert(m_tubeMap[mod-1].end(),std::make_pair(ThisId,tb));
+  m_tubeIndex[mod-1].push_back(p);
+}
+
+
+//Gabe: new to include HV and LARFCALELECRTODES ID
+void FCAL_ChannelMap::add_tube(const std::string & tileName, int mod, int /*id*/, int i, int j, double x, double y, std::string hvFT) {
+
+  // Get three integers from the tileName:
+  std::istringstream tileStream1(std::string(tileName,1,1));
+  std::istringstream tileStream2(std::string(tileName,3,2));
+  std::istringstream tileStream3(std::string(tileName,6,3));
+  int a1=0,a2=0,a3=0;
+  if (tileStream1) tileStream1 >> a1;
+  if (tileStream2) tileStream2 >> a2;
+  if (tileStream3) tileStream3 >> a3;
+
+  tileName_t tilename = (a3 << 16) + a2;
+
+  TubePosition tb(tilename, x*cm,y*cm, hvFT);
+  // Add offsets, becaues iy and ix can be negative HMA
+  
+  i = i+200;
+  j = j+200;
+  //  m_tubeMap[mod-1][(j <<  16) + i] = tb;
+  unsigned int ThisId = (j<<16) + i;
+  tubemap_const_iterator p = m_tubeMap[mod-1].insert(m_tubeMap[mod-1].end(),std::make_pair(ThisId,tb));
+  m_tubeIndex[mod-1].push_back(p);
+}
+
+FCAL_ChannelMap::tubemap_const_iterator FCAL_ChannelMap::getTubeByCopyNumber( int isam, int copyNo) const {
+  return m_tubeIndex[isam-1][copyNo];
+}
+
+
+// *********************************************************************
+// Create tile mapping tables
+//
+// Jan 23,2002    R. Sobie
+// ********************************************************************
+void
+FCAL_ChannelMap::create_tileMap(int isam)
+{
+  tileMap_const_iterator tile;
+  tubemap_const_iterator first = m_tubeMap[isam-1].begin();
+  tubemap_const_iterator  last = m_tubeMap[isam-1].end();
+
+  // Loop over tubes -> find unique tiles and fill the descriptors
+  while (first != last){
+
+    tileName_t tileName = (first->second).get_tileName();
+    tile                = m_tileMap[isam-1].find(tileName);
+
+    if (tile == m_tileMap[isam-1].end()){             // New tile found
+      float x             = (first->second).x();
+      float y             = (first->second).y();
+      unsigned int ntubes = 1;
+      TilePosition tp(x, y, ntubes);
+      m_tileMap[isam-1][tileName] = tp; 
+    }
+    else{                                             // Existing tile
+      float x             = (tile->second).x() + (first->second).x();
+      float y             = (tile->second).y() + (first->second).y();
+      unsigned int ntubes = (tile->second).ntubes() + 1;
+      TilePosition tp(x, y, ntubes);
+      m_tileMap[isam-1][tileName] = tp; 
+    }
+    ++first;
+  }
+
+  //
+  // List the number of tubes and tiles 
+  //
+  // std::cout << "FCAL::create_tilemap: FCAL # " << isam  
+  //	    << " Number of tiles = " << m_tileMap[isam-1].size() 
+  //	    << " Number of tubes = " << m_tubeMap[isam-1].size()
+  //	    << std::endl;
+
+  // this->print_tubemap(isam);
+  
+  
+  //
+  // loop over tiles and set (x,y) to average tile positions
+  //
+  tileMap_const_iterator tilefirst = m_tileMap[isam-1].begin();
+  tileMap_const_iterator tilelast  = m_tileMap[isam-1].end();
+  while (tilefirst != tilelast) {
+    tileName_t tileName = tilefirst->first;
+    unsigned int ntubes = (tilefirst->second).ntubes();
+    float xtubes        = (float) ntubes;
+    float x             = (tilefirst->second).x() / xtubes;
+    float y             = (tilefirst->second).y() / xtubes;
+    TilePosition tp(x, y, ntubes);
+    m_tileMap[isam-1][tileName] = tp; 
+    ++tilefirst;
+  }
+
+}
+
+//---------- for New LArFCAL_ID ------------------------ 
+
+// *********************************************************************
+//  get Tile ID
+//  
+// Original code: Stefan Simion, Randy Sobie
+// -------------------------------------------------------------------
+//   This function computes the tile identifier for any given position 
+//   Inputs:
+//   - isam the sampling number, from G3 data;
+//   - x the tube x position, in CLHEP::cm, from G3 data;
+//   - y the tube y position, in CLHEP::cm, from G3 data.
+//   Outputs:
+//   - pair of indices eta, phi 
+//
+//   Attention side-effect: x is changed by this function.
+// -------------------------------------------------------------------- 
+//   June 2002  HMA 
+// ***********************************************************************
+bool 
+FCAL_ChannelMap::getTileID(int isam, float x_orig, float y_orig, 
+	int& eta, int& phi) const throw (std::range_error) 
+{
+
+//  /* ### MIRROR for compatibility between G3 and ASCII files ### */
+
+  float x = x_orig; 
+  float y = y_orig; 
+
+  if(m_invert_xy){
+    x = y_orig; 
+    y = x_orig; 
+  } 
+
+  if(m_invert_x) x = -x;
+  
+  /* === Compute the tubeID */
+  int ktx = (int) (x / m_tubeDx[isam-1]);
+  int kty = (int) (y / m_tubeDy[isam-1]);
+  if (x < 0.) ktx--;
+  if (y < 0.) kty--;
+
+  // S.M.: in case we lookup real positions inside the Tile (not only
+  // integer grids for the tubes) half of the time we are outisde a
+  // tube bin since the integer pattern of the tubes is like in this
+  // sketch:
+  //
+  // # # # #
+  //  # # # #
+  // # # # #
+  // 
+  // in order to avoid this problem we have to make sure the integer
+  // indices for x and y have either both to be even or both to be odd
+  // (For Module 0 one has to be odd the other even ...). We take the
+  // y-index and check for odd/even and change the x-index in case
+  // it's different from the first tube in the current sampling ...
+  // 
+  // S.M. update: in case we are in a hole of the integer grid the
+  // relative x and y w.r.t to the original tube are used to assign a
+  // tube according to the hexagonal pattern.
+
+  tubemap_const_iterator  it = m_tubeMap[isam-1].begin();
+  unsigned int firstId = it->first;
+
+  // take offset from actual map 
+  int ix = ktx+((int)((firstId&0xffff)-it->second.x()/m_tubeDx[isam-1]))+1;
+  int iy = kty+((int)((firstId>>16)-it->second.y()/m_tubeDy[isam-1]))+1;
+  
+  int isOddEven = (((firstId>>16)%2)+(firstId%2))%2;
+  bool movex = false;
+
+  if ( (iy%2) != ((ix+isOddEven)%2) ) {
+    double yc = y/m_tubeDy[isam-1] - kty - 0.5;
+    if ( fabs(yc) > 0.5/sqrt(3) ) {
+      double xk = x/m_tubeDx[isam-1] - ktx;
+      if ( xk > 0.5 ) {
+	xk = 1 - xk;
+      }
+      double yn = 0.5-xk/3;
+      if ( fabs(yc) > fabs(yn) ) {
+	if ( yc > 0 ) 
+	  iy++;
+	else
+	  iy--;
+      }
+      else 
+	movex = true;
+    }
+    else 
+      movex = true;
+    if ( movex ) {
+      if ( x/m_tubeDx[isam-1] - ktx > 0.5 ) 
+	ix++;
+      else
+	ix--;
+    }
+  }
+
+  tubeID_t tubeID = (iy << 16) + ix;
+
+  it = m_tubeMap[isam-1].find(tubeID);
+  if (it != m_tubeMap[isam-1].end()){
+    tileName_t tilename = (it->second).get_tileName();
+    phi = tilename & 0xffff;
+    eta = tilename >> 16;
+    return true ;
+  } 
+  // reach here only if it failed the second time. 
+
+  return false; 
+
+}
+
+
+
+/* ----------------------------------------------------------------------
+   To decode the tile x position from the tile identifier
+   ---------------------------------------------------------------------- */
+float 
+FCAL_ChannelMap::x(int isam, int eta, int phi) const
+                                    throw(std::range_error)
+{
+  if(m_invert_xy){ 
+   // temp turn off the flag 
+   m_invert_xy=false; 
+   float y1 =  y(isam,eta,phi); 
+   m_invert_xy=true; 
+   return y1; 
+  } 
+  float x;
+
+  tileName_t tilename = (eta << 16) + phi  ; 
+
+  tileMap_const_iterator it = m_tileMap[isam-1].find(tilename);
+  if(it != m_tileMap[isam-1].end())
+  {
+    x = (it->second).x(); 
+  } else 
+  { // can't find the tile, throw exception. 
+      char l_str[200] ;
+      snprintf(l_str, sizeof(l_str),
+   "Error in FCAL_ChannelMap::x, wrong tile,phi= %d ,eta=: %d ",phi,eta);
+      std::string errorMessage(l_str);
+      throw std::range_error(errorMessage.c_str());
+  }
+
+  if(m_invert_x) {
+    return -x;
+  }
+  else {
+    return x;
+  }
+
+  return x; 
+
+}
+
+
+/* ----------------------------------------------------------------------
+   To decode the tile y position from the tile identifier
+   ---------------------------------------------------------------------- */
+float 
+FCAL_ChannelMap::y(int isam, int eta, int phi) const
+                                    throw(std::range_error)
+{
+  if(m_invert_xy){
+
+   // temp turn off the flag 
+   m_invert_xy=false; 
+   float x1 =  x(isam,eta,phi); 
+   m_invert_xy=true; 
+   return x1; 
+
+  }
+
+  float y;
+
+  tileName_t tilename = (eta << 16) + phi  ; 
+
+  tileMap_const_iterator it = m_tileMap[isam-1].find(tilename);
+  if(it != m_tileMap[isam-1].end())
+  {
+    y = (it->second).y(); 
+  } else 
+  { // can't find the tile, throw exception. 
+      char l_str[200] ;
+      snprintf(l_str, sizeof(l_str),
+   "Error in FCAL_ChannelMap::x, wrong tile,phi= %d ,eta=: %d",phi,eta);
+      std::string errorMessage(l_str);
+      throw std::range_error(errorMessage.c_str());
+  }
+
+  return y; 
+}
+
+/* ----------------------------------------------------------------------
+   To decode the tile dx size from the tile identifier
+   ---------------------------------------------------------------------- */
+
+void FCAL_ChannelMap::tileSize(int sam, int ntubes, float &dx, float &dy) const {
+
+  dx = m_tubeDx[sam-1];
+  dy = m_tubeDy[sam-1];
+  //      float ntubes =  (it->second).ntubes(); 
+  if(sam == 1 || sam == 3) { 
+    float scale =sqrt(ntubes);  
+    dx = dx * scale; 
+    dy = dy * scale; 
+  } 
+  else  {
+    float scale = sqrt(ntubes/1.5); 
+    dx = dx * scale; 
+    dy = dy * scale * 1.5 ;               
+  }
+  
+
+  // There is a fundamental discrepancy between dx and dy. A cell will
+  // contain twice as many distinct x-positions as y-positions.  Diagram:
+  
+  // . . . .        -
+  //. . . .         -
+  //  . . . .       -   4 x dy
+  // . . . .        -
+  // ||||||||             
+  //    8 x dx 
+  
+  dx = 2*dx;
+  
+  if(m_invert_xy){
+    // switch xy 
+    float temp = dx; 
+    dx = dy;
+    dy = temp;
+  } 
+  
+}
+
+void FCAL_ChannelMap::tileSize(int sam, int eta, int phi,
+	float& dx, float& dy ) const  throw(std::range_error)
+{
+  
+  tileName_t tilename = (eta << 16) + phi  ; 
+  
+  tileMap_const_iterator it = m_tileMap[sam-1].find(tilename);
+  if(it != m_tileMap[sam-1].end()) {
+    int ntubes =  (it->second).ntubes(); 
+    tileSize(sam,ntubes,dx,dy);
+    return ; 
+  }
+  else {
+    // can't find the tile, throw exception. 
+    char l_str[200] ;
+    snprintf(l_str, sizeof(l_str),
+	    "Error in FCAL_ChannelMap::tilesize, wrong tile,phi= %d ,eta=: %d ",phi,eta);
+    std::string errorMessage(l_str);
+    throw std::range_error(errorMessage.c_str());
+  }
+}
+
+
+// ********************** print_tubemap *************************************
+void
+FCAL_ChannelMap::print_tubemap( int imap) const
+{
+  FCAL_ChannelMap::tubemap_const_iterator it = m_tubeMap[imap-1].begin();
+
+  //boost::io::ios_all_saver ias (std::cout);
+  std::cout << "First 10 elements of the New FCAL tube map : " << imap << std::endl;
+  std::cout.precision(5);
+  for ( int i=0;  i<10; i++, it++)
+    std::cout << std::hex << it->first << "\t" 
+	      << (it->second).get_tileName() << std::dec <<"\t" 
+	      << (it->second).x() <<"\t" 
+	      << (it->second).y() << std::endl;
+
+}
+
+
+// ********************** tubemap_begin **************************************
+FCAL_ChannelMap::tubemap_const_iterator
+FCAL_ChannelMap::tubemap_begin (int imap ) const
+{
+  return m_tubeMap[imap-1].begin();
+}
+
+
+// ********************** tubemap_end ****************************************
+FCAL_ChannelMap::tubemap_const_iterator
+FCAL_ChannelMap::tubemap_end (int imap ) const
+{
+  return m_tubeMap[imap-1].end();
+}
+
+// ********************** tubemap_size ***************************************
+FCAL_ChannelMap::tubemap_sizetype
+FCAL_ChannelMap::tubemap_size (int imap) const
+{
+  return m_tubeMap[imap-1].size();
+}
+
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimCaloExtrapolation.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimCaloExtrapolation.cxx
index 2e9fe8772b5804c4042bc2fe9f6dd5c3cf298270..2737dd51c9eafeb46e4d8affe8436c97219f1cdd 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimCaloExtrapolation.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimCaloExtrapolation.cxx
@@ -2,8 +2,15 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#include "ISF_FastCaloSimParametrization/FastCaloSimCaloExtrapolation.h"
-#include "ISF_FastCaloSimParametrization/IFastCaloSimGeometryHelper.h"
+#include "FastCaloSimCaloExtrapolation.h"
+
+#include "ISF_FastCaloSimEvent/TFCSTruthState.h"
+
+
+#include "TrkParameters/TrackParameters.h"
+#include "TrkGeometry/TrackingGeometry.h"
+#include "HepPDT/ParticleData.hh"
+#include "HepPDT/ParticleDataTable.hh"
 
 #include "CaloTrackingGeometry/ICaloSurfaceHelper.h"
 #include "CaloTrackingGeometry/ICaloSurfaceBuilder.h"
@@ -16,20 +23,28 @@ FastCaloSimCaloExtrapolation::FastCaloSimCaloExtrapolation(const std::string& t,
   m_CaloBoundaryR(1148.0),
   m_CaloBoundaryZ(3549.5),
   m_calomargin(100),
-  m_caloEntrance(0),
-  m_caloEntranceName("")
+  m_extrapolator("TimedExtrapolator"),
+  m_caloSurfaceHelper("CaloSurfaceHelper"),
+  m_caloEntrance(nullptr),
+  m_caloEntranceName(""),
+  m_CaloGeometryHelper("FastCaloSimGeometryHelper")
 {
   declareInterface<IFastCaloSimCaloExtrapolation>(this);
 
-  declareProperty("CaloBoundaryR", m_CaloBoundaryR);
-  declareProperty("CaloBoundaryZ", m_CaloBoundaryZ);
-  declareProperty("CaloMargin", m_calomargin);
-  //######################
+  m_surfacelist.resize(0);
+  m_surfacelist.push_back(CaloCell_ID_FCS::PreSamplerB);
+  m_surfacelist.push_back(CaloCell_ID_FCS::PreSamplerE);
+  m_surfacelist.push_back(CaloCell_ID_FCS::EME1);
+  m_surfacelist.push_back(CaloCell_ID_FCS::EME2);
+  m_surfacelist.push_back(CaloCell_ID_FCS::FCAL0);
 
+  declareProperty("CaloBoundaryR",                  m_CaloBoundaryR);
+  declareProperty("CaloBoundaryZ",                  m_CaloBoundaryZ);
+  declareProperty("CaloMargin",                     m_calomargin);
+  declareProperty("Surfacelist",                    m_surfacelist );
   declareProperty("Extrapolator",                   m_extrapolator );
   declareProperty("CaloEntrance",                   m_caloEntranceName );
   declareProperty("CaloSurfaceHelper",              m_caloSurfaceHelper );
-
   declareProperty("CaloGeometryHelper",             m_CaloGeometryHelper );
 }
 
@@ -39,50 +54,636 @@ FastCaloSimCaloExtrapolation::~FastCaloSimCaloExtrapolation()
 
 StatusCode FastCaloSimCaloExtrapolation::initialize() {
   ATH_MSG_INFO( "Initializing FastCaloSimCaloExtrapolation" );
-  
+
   // Get CaloGeometryHelper
-  if (m_CaloGeometryHelper.retrieve().isFailure()) {
-    ATH_MSG_ERROR("CaloGeometryHelper not found ");
-    return StatusCode::FAILURE;
-  }
+  ATH_CHECK(m_CaloGeometryHelper.retrieve());
 
   // Get PDG table
-  IPartPropSvc* p_PartPropSvc=0;
-  if (service("PartPropSvc",p_PartPropSvc).isFailure() || p_PartPropSvc == 0)
-  {
-    ATH_MSG_ERROR("could not find PartPropService");
-    return StatusCode::FAILURE;
-  }
-  
+  IPartPropSvc* p_PartPropSvc=nullptr;
+
+  ATH_CHECK(service("PartPropSvc",p_PartPropSvc));
+  if(!p_PartPropSvc)
+    {
+      ATH_MSG_ERROR("could not find PartPropService");
+      return StatusCode::FAILURE;
+    }
+
   m_particleDataTable = (HepPDT::ParticleDataTable*) p_PartPropSvc->PDT();
-  if(m_particleDataTable == 0)
-  {
-	   ATH_MSG_ERROR("PDG table not found");
-    return StatusCode::FAILURE;
-  }
+  if(!m_particleDataTable)
+    {
+      ATH_MSG_ERROR("PDG table not found");
+      return StatusCode::FAILURE;
+    }
   //#########################
-  
-  // Get TimedExtrapolator 
-  if (!m_extrapolator.empty() && m_extrapolator.retrieve().isFailure()) {
-	   ATH_MSG_ERROR("Extrapolator retrieval failed");
-    return StatusCode::FAILURE;
-  } else ATH_MSG_DEBUG("Extrapolator retrieved "<< m_extrapolator);
 
+  // Get TimedExtrapolator
+  if (!m_extrapolator.empty()) {
+    ATH_CHECK(m_extrapolator.retrieve());
+    ATH_MSG_INFO("Extrapolator retrieved "<< m_extrapolator);
+  }
   // Get CaloSurfaceHelper
-  if (m_caloSurfaceHelper.retrieve().isFailure()) {
-    ATH_MSG_ERROR("CaloSurfaceHelper not found ");
-    return StatusCode::FAILURE;
-  }   
+  ATH_CHECK(m_caloSurfaceHelper.retrieve());
 
   return StatusCode::SUCCESS;
-}		 
+}
 
-StatusCode FastCaloSimCaloExtrapolation::finalize() {
-  ATH_MSG_INFO( "doing finalize()" );
+StatusCode FastCaloSimCaloExtrapolation::finalize()
+{
+  ATH_MSG_INFO( "Finalizing FastCaloSimCaloExtrapolation" );
 
   return StatusCode::SUCCESS;
 }
 
+
+void FastCaloSimCaloExtrapolation::extrapolate(TFCSExtrapolationState& result,const TFCSTruthState* truth)
+{
+  //UPDATE EXTRAPOLATION
+  ATH_MSG_INFO("Start FastCaloSimCaloExtrapolation::extrapolate");
+  std::vector<Trk::HitInfo>* hitVector = caloHits(truth);
+  ATH_MSG_INFO("Done FastCaloSimCaloExtrapolation::extrapolate: caloHits");
+
+  //////////////////////////////////////
+  // Start calo extrapolation
+  // First: get entry point into first calo sample
+  //////////////////////////////////////
+  ATH_MSG_INFO("FastCaloSimCaloExtrapolation::extrapolate:*** Get calo surface ***");
+  get_calo_surface(result,hitVector);
+  ATH_MSG_INFO("FastCaloSimCaloExtrapolation::extrapolate:*** Do extrapolation to ID-calo boundary ***");
+  extrapolate_to_ID(result,truth,hitVector);
+  ATH_MSG_INFO("FastCaloSimCaloExtrapolation::extrapolate:*** Do extrapolation ***");
+  extrapolate(result,truth,hitVector);
+  ATH_MSG_INFO("FastCaloSimCaloExtrapolation::extrapolate: Truth extrapolation done");
+
+  for(std::vector<Trk::HitInfo>::iterator it = hitVector->begin();it < hitVector->end();++it)  {
+    if((*it).trackParms) {
+      delete (*it).trackParms;
+      (*it).trackParms=0;
+    }
+  }
+  delete hitVector;
+  ATH_MSG_INFO("Done FastCaloSimCaloExtrapolation::extrapolate");
+}
+
+std::vector<Trk::HitInfo>* FastCaloSimCaloExtrapolation::caloHits(const TFCSTruthState* truth) const
+{
+  // Start calo extrapolation
+  ATH_MSG_INFO ("[ fastCaloSim transport ] processing particle "<<truth->pdgid() );
+
+  std::vector<Trk::HitInfo>* hitVector =  new std::vector<Trk::HitInfo>;
+
+  int     pdgId    = truth->pdgid();
+  double  charge   = HepPDT::ParticleID(pdgId).charge();
+
+  // particle Hypothesis for the extrapolation
+
+  Trk::ParticleHypothesis pHypothesis = m_pdgToParticleHypothesis.convert(pdgId,charge);
+
+  ATH_MSG_INFO ("particle hypothesis "<< pHypothesis );
+
+  // geantinos not handled by PdgToParticleHypothesis - fix there
+  if ( pdgId == 999 ) pHypothesis = Trk::geantino;
+
+  Amg::Vector3D pos = Amg::Vector3D( truth->vertex().X(), truth->vertex().Y(), truth->vertex().Z());
+
+  Amg::Vector3D mom(truth->X(),truth->Y(),truth->Z());
+
+  ATH_MSG_INFO( "[ fastCaloSim transport ] starting transport from position eta="<<pos.eta()<<" phi="<<pos.phi()<<" d="<<pos.mag()<<" pT="<<mom.perp() );
+
+  // input parameters : curvilinear parameters
+  Trk::CurvilinearParameters inputPar(pos,mom,charge);
+
+  // stable vs. unstable check : ADAPT for FASTCALOSIM
+  //double freepath = ( !m_particleDecayHelper.empty()) ? m_particleDecayHelper->freePath(isp) : - 1.;
+  double freepath = -1.;
+  //ATH_MSG_VERBOSE( "[ fatras transport ] Particle free path : " << freepath);
+  // path limit -> time limit  ( TODO : extract life-time directly from decay helper )
+  double tDec = freepath > 0. ? freepath : -1.;
+  int decayProc = 0;
+
+  /* uncomment if unstable particles used by FastCaloSim
+  // beta calculated here for further use in validation
+  double mass = m_particleMasses.mass[pHypothesis];
+  double mom = isp.momentum().mag();
+  double beta = mom/sqrt(mom*mom+mass*mass);
+
+  if ( tDec>0.) {
+  tDec = tDec/beta/CLHEP::c_light + isp.timeStamp();
+  decayProc = 201;
+  }
+  */
+
+  Trk::TimeLimit timeLim(tDec,0.,decayProc);        // TODO: set vertex time info
+
+  // prompt decay ( uncomment if unstable particles used )
+  //if ( freepath>0. && freepath<0.01 ) {
+  //  if (!m_particleDecayHelper.empty()) {
+  //    ATH_MSG_VERBOSE( "[ fatras transport ] Decay is triggered for input particle.");
+  //    m_particleDecayHelper->decay(isp);
+  //  }
+  //  return 0;
+  //}
+
+  // presample interactions - ADAPT FOR FASTCALOSIM
+  Trk::PathLimit pathLim(-1.,0);
+  //if (absPdg!=999 && pHypothesis<99) pathLim = m_samplingTool->sampleProcess(mom,isp.charge(),pHypothesis);
+
+  Trk::GeometrySignature nextGeoID=Trk::Calo;
+
+  // first extrapolation to reach the ID boundary
+
+  ATH_MSG_INFO( "[ fastCaloSim transport ] before calo entrance ");
+
+  // get CaloEntrance if not done already
+  if (!m_caloEntrance)
+    {
+      std::cout<<"check1"<<std::endl;
+      std::cout<<"m_extrapolator "<<m_extrapolator<<std::endl;
+      std::cout<<"trackingGeometry() "<<m_extrapolator->trackingGeometry()<<std::endl;
+      std::cout<<"trackingVolume(m_caloEntranceName) "<<m_extrapolator->trackingGeometry()->trackingVolume(m_caloEntranceName)<<std::endl;
+
+      m_caloEntrance = m_extrapolator->trackingGeometry()->trackingVolume(m_caloEntranceName);
+
+      if (!m_caloEntrance)
+        ATH_MSG_INFO("CaloEntrance not found ");
+      else ATH_MSG_INFO("CaloEntrance found ");
+    }
+
+  ATH_MSG_INFO( "[ fastCaloSim transport ] after calo entrance ");
+
+  const Trk::TrackParameters* caloEntry = 0;
+
+  if (m_caloEntrance && m_caloEntrance->inside(pos,0.001) &&
+      !m_extrapolator->trackingGeometry()->atVolumeBoundary(pos,m_caloEntrance,0.001)) {
+
+    std::vector<Trk::HitInfo>*     dummyHitVector = 0;
+    if ( charge==0 ) {
+
+      caloEntry = m_extrapolator->transportNeutralsWithPathLimit(inputPar,pathLim,timeLim,
+                                                                 Trk::alongMomentum,pHypothesis,dummyHitVector,nextGeoID,m_caloEntrance);
+
+    } else {
+
+      caloEntry = m_extrapolator->extrapolateWithPathLimit(inputPar,pathLim,timeLim,
+                                                           Trk::alongMomentum,pHypothesis,dummyHitVector,nextGeoID,m_caloEntrance);
+    }
+  } else caloEntry=&inputPar;
+
+  ATH_MSG_INFO( "[ fastCaloSim transport ] after calo caloEntry ");
+
+  if ( caloEntry ) {
+
+    const Trk::TrackParameters* eParameters = 0;
+
+    // save Calo entry hit (fallback info)
+    hitVector->push_back(Trk::HitInfo(caloEntry->clone(),timeLim.time,nextGeoID,0.));
+
+    ATH_MSG_DEBUG( "[ fastCaloSim transport ] starting Calo transport from position eta="<<caloEntry->position().eta()<<" phi="<<caloEntry->position().phi()<<" d="<<caloEntry->position().mag() );
+
+    if ( charge==0 ) {
+
+      eParameters = m_extrapolator->transportNeutralsWithPathLimit(*caloEntry,pathLim,timeLim,
+                                                                   Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);
+    } else {
+
+      eParameters = m_extrapolator->extrapolateWithPathLimit(*caloEntry,pathLim,timeLim,
+                                                             Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);
+    }
+
+    // save Calo exit hit (fallback info)
+    if (eParameters) hitVector->push_back(Trk::HitInfo(eParameters,timeLim.time,nextGeoID,0.));
+
+    //delete eParameters;   // HitInfo took ownership
+
+  }
+
+  if(msgLvl(MSG::DEBUG)) {
+    std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
+    while (it < hitVector->end() )  {
+      int sample=(*it).detID;
+      Amg::Vector3D hitPos = (*it).trackParms->position();
+      ATH_MSG_DEBUG(" HIT: layer="<<sample<<" sample="<<sample-3000<<" eta="<<hitPos.eta()<<" phi="<<hitPos.phi()<<" d="<<hitPos.mag());
+      it++;
+    }
+  }
+
+  return hitVector;
+}
+
+//#######################################################################
+void FastCaloSimCaloExtrapolation::extrapolate(TFCSExtrapolationState& result,const TFCSTruthState* truth,std::vector<Trk::HitInfo>* hitVector)
+{
+  ATH_MSG_DEBUG("Start extrapolate()");
+
+  double ptruth_eta=truth->Eta();
+  double ptruth_phi=truth->Phi();
+  double ptruth_pt =truth->Pt();
+  double ptruth_p  =truth->P();
+  int    pdgid     =truth->pdgid();
+
+  //////////////////////////////////////
+  // Start calo extrapolation
+  //////////////////////////////////////
+
+  std::vector< std::vector<double> > eta_safe(3);
+  std::vector< std::vector<double> > phi_safe(3);
+  std::vector< std::vector<double> > r_safe(3);
+  std::vector< std::vector<double> > z_safe(3);
+  for(int subpos=SUBPOS_MID;subpos<=SUBPOS_EXT;++subpos) {
+    eta_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
+    phi_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
+    r_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
+    z_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
+  }
+
+  // only continue if inside the calo
+  if( fabs(result.CaloSurface_eta())<6 )
+    {
+      // now try to extrpolate to all calo layers, that contain energy
+      ATH_MSG_DEBUG("Calo position for particle id "<<pdgid<<", trutheta= " << ptruth_eta <<", truthphi= "<<ptruth_phi<<", truthp="<<ptruth_p<<", truthpt="<<ptruth_pt);
+      for(int sample=CaloCell_ID_FCS::FirstSample;sample<CaloCell_ID_FCS::MaxSample;++sample) {
+        for(int subpos=SUBPOS_MID;subpos<=SUBPOS_EXT;++subpos) {
+          if(get_calo_etaphi(result,hitVector,sample,subpos)) {
+            ATH_MSG_DEBUG( "Result in sample "<<sample<<"."<<subpos<<": eta="<<result.eta(sample,subpos)<<" phi="<<result.phi(sample,subpos)<<" r="<<result.r(sample,subpos)<<" z="<<result.z(sample,subpos)<<" (ok="<<result.OK(sample,subpos)<<")");
+          }
+          else {
+            ATH_MSG_DEBUG( "Extrapolation to sample "<<sample<<" failed (ok="<<result.OK(sample,subpos)<<")");
+          }
+        }
+      }
+    } //inside calo
+
+  ATH_MSG_DEBUG("End extrapolate()");
+}
+
+void FastCaloSimCaloExtrapolation::extrapolate_to_ID(TFCSExtrapolationState& result,const TFCSTruthState* /*truth*/,std::vector<Trk::HitInfo>* hitVector)
+{
+  ATH_MSG_DEBUG("Start extrapolate_to_ID()");
+
+  Amg::Vector3D hitpos(0,0,0);
+  Amg::Vector3D hitmom(0,0,0);
+  if(rz_cylinder_get_calo_etaphi(hitVector,m_CaloBoundaryR,m_CaloBoundaryZ,hitpos,hitmom)) {
+    ATH_MSG_DEBUG("BOUNDARY ID-CALO eta="<<hitpos.eta()<<" phi="<<hitpos.phi()<<" r="<<hitpos.perp()<<" z="<<hitpos[Amg::z]<<" theta="<<hitpos.theta()<<" ; momentum eta="<<hitmom.eta()<<" phi="<<hitmom.phi()<<" theta="<<hitmom.theta());
+    result.set_IDCaloBoundary_eta(hitpos.eta());
+    result.set_IDCaloBoundary_phi(hitpos.phi());
+    result.set_IDCaloBoundary_r(hitpos.perp());
+    result.set_IDCaloBoundary_z(hitpos[Amg::z]);
+  } else {
+    ATH_MSG_DEBUG("Extrapolation to IDCaloBoundary failed");
+    result.set_IDCaloBoundary_eta(-999.);
+    result.set_IDCaloBoundary_phi(-999.);
+    result.set_IDCaloBoundary_r(0);
+    result.set_IDCaloBoundary_z(0);
+  }
+
+  TVector3 vec(hitpos[Amg::x],hitpos[Amg::y],hitpos[Amg::z]);
+
+  //get the tangentvector on this interaction point:
+  //GlobalMomentum* mom=params_on_surface_ID->TrackParameters::momentum().unit() ;
+  //Trk::GlobalMomentum* trackmom=params_on_surface_ID->Trk::TrackParameters::momentum();
+  if(hitmom.mag()>0) {
+    //angle between vec and trackmom:
+    TVector3 Trackmom(hitmom[Amg::x],hitmom[Amg::y],hitmom[Amg::z]);
+    double angle3D=Trackmom.Angle(vec); //isn't this the same as TVector3 vec?
+    ATH_MSG_DEBUG("    3D ANGLE "<<angle3D);
+
+    double angleEta=vec.Theta()-Trackmom.Theta();
+    ATH_MSG_DEBUG("    ANGLE dTHEA"<<angleEta);
+
+    result.set_IDCaloBoundary_AngleEta(angleEta);
+    result.set_IDCaloBoundary_Angle3D(angle3D);
+  } else {
+    result.set_IDCaloBoundary_AngleEta(-999.);
+    result.set_IDCaloBoundary_Angle3D(-999.);
+  }
+  ATH_MSG_DEBUG("End extrapolate_to_ID()");
+} //extrapolate_to_ID
+
+bool FastCaloSimCaloExtrapolation::get_calo_surface(TFCSExtrapolationState& result,std::vector<Trk::HitInfo>* hitVector)
+{
+  ATH_MSG_DEBUG("Start get_calo_surface()");
+  result.set_CaloSurface_sample(CaloCell_ID_FCS::noSample);
+  result.set_CaloSurface_eta(-999);
+  result.set_CaloSurface_phi(-999);
+  result.set_CaloSurface_r(0);
+  result.set_CaloSurface_z(0);
+  double min_calo_surf_dist=1000;
+
+  for(unsigned int i=0;i<m_surfacelist.size();++i) {
+    int sample=m_surfacelist[i];
+    std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
+    while (it != hitVector->end() && it->detID != (3000+sample) )  { it++;}
+    if(it==hitVector->end()) continue;
+    Amg::Vector3D hitPos = (*it).trackParms->position();
+
+    //double offset = 0.;
+    double etaCalo = hitPos.eta();
+
+    msg(MSG::DEBUG)<<"test: entrance to calo surface : sample="<<sample<<" eta="<<etaCalo;
+
+    if (fabs(etaCalo)<900) {
+      double phiCalo = hitPos.phi();
+      double distsamp =deta(sample,etaCalo);
+
+      msg(MSG::DEBUG)<<" phi="<<phiCalo<<" dist="<<distsamp;
+      if(distsamp<min_calo_surf_dist && min_calo_surf_dist>=0) {
+        //hitVector is ordered in r, so if first surface was hit, keep it
+        result.set_CaloSurface_sample(sample);
+        result.set_CaloSurface_eta(etaCalo);
+        result.set_CaloSurface_phi(phiCalo);
+        double rcalo=rent(sample,etaCalo);
+        double zcalo=zent(sample,etaCalo);
+        result.set_CaloSurface_r(rcalo);
+        result.set_CaloSurface_z(zcalo);
+        min_calo_surf_dist=distsamp;
+        msg(MSG::DEBUG)<<" r="<<rcalo<<" z="<<zcalo;
+        if(distsamp<0) {
+          msg(MSG::DEBUG)<<endmsg;
+          break;
+        }
+      }
+      msg(MSG::DEBUG)<<endmsg;
+    } else {
+      msg(MSG::DEBUG)<<": eta > 900, not using this"<<endmsg;
+    }
+  }
+
+  if(result.CaloSurface_sample()==CaloCell_ID_FCS::noSample) {
+    // first intersection with sensitive calo layer
+    std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
+    while ( it < hitVector->end() && (*it).detID != 3 ) { it++;}   // to be updated
+    if (it==hitVector->end())   {  // no calo intersection, abort
+      return false;
+    }
+    Amg::Vector3D surface_hitPos = (*it).trackParms->position();
+
+    result.set_CaloSurface_eta(surface_hitPos.eta());
+    result.set_CaloSurface_phi(surface_hitPos.phi());
+    result.set_CaloSurface_r(surface_hitPos.perp());
+    result.set_CaloSurface_z(surface_hitPos[Amg::z]);
+
+    double pT=(*it).trackParms->momentum().perp();
+    if(TMath::Abs(result.CaloSurface_eta())>4.9 || pT<500 || (TMath::Abs(result.CaloSurface_eta())>4 && pT<1000) ) {
+      ATH_MSG_DEBUG("only entrance to calo entrance layer found, no surface : eta="<<result.CaloSurface_eta()<<" phi="<<result.CaloSurface_phi()<<" r="<<result.CaloSurface_r()<<" z="<<result.CaloSurface_z()<<" pT="<<pT);
+    } else {
+      ATH_MSG_WARNING("only entrance to calo entrance layer found, no surface : eta="<<result.CaloSurface_eta()<<" phi="<<result.CaloSurface_phi()<<" r="<<result.CaloSurface_r()<<" z="<<result.CaloSurface_z()<<" pT="<<pT);
+    }
+  } else {
+    ATH_MSG_DEBUG("entrance to calo surface : sample="<<result.CaloSurface_sample()<<" eta="<<result.CaloSurface_eta()<<" phi="<<result.CaloSurface_phi()<<" r="<<result.CaloSurface_r()<<" z="<<result.CaloSurface_z()<<" deta="<<min_calo_surf_dist);
+  }
+
+  ATH_MSG_DEBUG("End get_calo_surface()");
+  return true;
+}
+
+//UPDATED
+bool FastCaloSimCaloExtrapolation::get_calo_etaphi(TFCSExtrapolationState& result,std::vector<Trk::HitInfo>* hitVector, int sample,int subpos)
+{
+  result.set_OK(sample,subpos,false);
+  result.set_eta(sample,subpos,result.CaloSurface_eta());
+  result.set_phi(sample,subpos,result.CaloSurface_phi());
+  result.set_r(sample,subpos,rpos(sample,result.CaloSurface_eta(),subpos));
+  result.set_z(sample,subpos,zpos(sample,result.CaloSurface_eta(),subpos));
+  double distsamp =deta(sample,result.CaloSurface_eta());
+  double lrzpos =rzpos(sample,result.CaloSurface_eta(),subpos);
+  double hitdist=0;
+  bool best_found=false;
+  double best_target=0;
+
+  std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
+  while ( it!= hitVector->end() && it->detID != (3000+sample) ) { it++;}
+  //while ((*it).detID != (3000+sample) && it < hitVector->end() )  it++;
+
+  if (it!=hitVector->end()) {
+    Amg::Vector3D hitPos1 = (*it).trackParms->position();
+    int sid1=(*it).detID;
+    int sid2=-1;
+    Amg::Vector3D hitPos;
+    Amg::Vector3D hitPos2;
+
+    std::vector<Trk::HitInfo>::iterator itnext = it;
+    ++itnext;
+    if(itnext!=hitVector->end()) {
+      hitPos2 = (*itnext).trackParms->position();
+      sid2=(*itnext).detID;
+      double eta_avg=0.5*(hitPos1.eta()+hitPos2.eta());
+      double t;
+      if(isCaloBarrel(sample))
+        {
+          double r=rpos(sample,eta_avg,subpos);
+          double r1=hitPos1.perp();
+          double r2=hitPos2.perp();
+          t=(r-r1)/(r2-r1);
+          best_target=r;
+        }
+      else
+        {
+          double z=zpos(sample,eta_avg,subpos);
+          double z1=hitPos1[Amg::z];
+          double z2=hitPos2[Amg::z];
+          t=(z-z1)/(z2-z1);
+          best_target=z;
+        }
+      hitPos=t*hitPos2+(1-t)*hitPos1;
+    }
+    else
+      {
+        hitPos=hitPos1;
+        hitPos2=hitPos1;
+      }
+    double etaCalo = hitPos.eta();
+    double phiCalo = hitPos.phi();
+    result.set_OK(sample,subpos,true);
+    result.set_eta(sample,subpos,etaCalo);
+    result.set_phi(sample,subpos,phiCalo);
+    result.set_r(sample,subpos,hitPos.perp());
+    result.set_z(sample,subpos,hitPos[Amg::z]);
+    hitdist=hitPos.mag();
+    lrzpos=rzpos(sample,etaCalo,subpos);
+    distsamp=deta(sample,etaCalo);
+    best_found=true;
+    ATH_MSG_DEBUG(" extrapol with layer hit: id="<<sid1<<" -> "<<sid2<<
+                  " target r/z="<<best_target<<
+                  " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
+                  " re="<<result.r(sample,subpos)<<" ze="<<result.z(sample,subpos)
+                  );
+  }
+  if(!best_found) {
+    it = hitVector->begin();
+    double best_dist=0.5;
+    bool best_inside=false;
+    int best_id1,best_id2;
+    Amg::Vector3D best_hitPos=(*it).trackParms->position();
+    while (it < hitVector->end()-1 ) {
+      Amg::Vector3D hitPos1 = (*it).trackParms->position();
+      int sid1=(*it).detID;
+      it++;
+      Amg::Vector3D hitPos2 = (*it).trackParms->position();
+      int sid2=(*it).detID;
+      double eta_avg=0.5*(hitPos1.eta()+hitPos2.eta());
+      double t;
+      double tmp_target=0;
+      if(isCaloBarrel(sample)) {
+        double r=rpos(sample,eta_avg,subpos);
+        double r1=hitPos1.perp();
+        double r2=hitPos2.perp();
+        t=(r-r1)/(r2-r1);
+        tmp_target=r;
+      } else {
+        double z=zpos(sample,eta_avg,subpos);
+        double z1=hitPos1[Amg::z];
+        double z2=hitPos2[Amg::z];
+        t=(z-z1)/(z2-z1);
+        tmp_target=z;
+      }
+      Amg::Vector3D hitPos=t*hitPos2+(1-t)*hitPos1;
+      double dist=TMath::Min(TMath::Abs(t-0),TMath::Abs(t-1));
+      bool inside=false;
+      if(t>=0 && t<=1) inside=true;
+      if(!best_found || inside) {
+        if(!best_inside || dist<best_dist) {
+          best_dist=dist;
+          best_hitPos=hitPos;
+          best_inside=inside;
+          best_found=true;
+          best_id1=sid1;
+          best_id2=sid2;
+          best_target=tmp_target;
+        }
+      } else {
+        if(!best_inside && dist<best_dist) {
+          best_dist=dist;
+          best_hitPos=hitPos;
+          best_inside=inside;
+          best_found=true;
+          best_id1=sid1;
+          best_id2=sid2;
+          best_target=tmp_target;
+        }
+      }
+      ATH_MSG_VERBOSE(" extrapol without layer hit: id="<<sid1<<" -> "<<sid2<<" dist="<<dist<<" mindist="<<best_dist<<
+                      " t="<<t<<" best_inside="<<best_inside<<" target r/z="<<tmp_target<<
+                      " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
+                      " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]<<
+                      " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
+                      );
+      if(best_found) {
+        double etaCalo = best_hitPos.eta();
+        result.set_OK(sample,subpos,true);
+        result.set_eta(sample,subpos,etaCalo);
+        result.set_phi(sample,subpos,best_hitPos.phi());
+        result.set_r(sample,subpos,best_hitPos.perp());
+        result.set_z(sample,subpos,best_hitPos[Amg::z]);
+
+        hitdist=best_hitPos.mag();
+        lrzpos=rzpos(sample,etaCalo,subpos);
+        distsamp=deta(sample,etaCalo);
+      }
+    }
+    if(best_found) {
+      ATH_MSG_DEBUG(" extrapol without layer hit: id="<<best_id1<<" -> "<<best_id2<<" mindist="<<best_dist<<
+                    " best_inside="<<best_inside<<" target r/z="<<best_target<<
+                    " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
+                    );
+    }
+  }
+
+  if(isCaloBarrel(sample)) lrzpos*=cosh(result.eta(sample,subpos));
+  else                    lrzpos= fabs(lrzpos/tanh(result.eta(sample,subpos)));
+
+  result.set_d(sample,subpos,lrzpos);
+  result.set_detaBorder(sample,subpos,distsamp);
+
+  if(msgLvl(MSG::DEBUG)) {
+    msg(MSG::DEBUG)<<"  Final par TTC sample "<<sample<<" subpos="<<subpos;
+    if(result.OK(sample,subpos)) msg()<<" (good)";
+    else msg()<<" (bad)";
+    msg()<<" eta=" << result.eta(sample,subpos) << "   phi=" << result.phi(sample,subpos) <<" dCalo="<<result.d(sample,subpos)<<" dist(hit)="<<hitdist<< endmsg;
+  }
+
+  return result.OK(sample,subpos);
+}
+
+//UPDATED
+bool FastCaloSimCaloExtrapolation::rz_cylinder_get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, double cylR, double cylZ, Amg::Vector3D& pos, Amg::Vector3D& mom)
+{
+  bool best_found=false;
+  double best_dist=10000;
+  bool best_inside=false;
+  int best_id1,best_id2;
+
+  std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
+  Amg::Vector3D best_hitPos=(*it).trackParms->position();
+  for(int rz=0;rz<=1;++rz) {
+    it = hitVector->begin();
+    while (it < hitVector->end()-1 ) {
+      Amg::Vector3D hitPos1 = (*it).trackParms->position();
+      Amg::Vector3D hitMom1 = (*it).trackParms->momentum();
+      int sid1=(*it).detID;
+      it++;
+      Amg::Vector3D hitPos2 = (*it).trackParms->position();
+      Amg::Vector3D hitMom2 = (*it).trackParms->momentum();
+      int sid2=(*it).detID;
+
+      double t;
+      if(rz==1) {
+        double r=cylR;
+        double r1=hitPos1.perp();
+        double r2=hitPos2.perp();
+        t=(r-r1)/(r2-r1);
+      } else {
+        double z=cylZ;
+        double z1=hitPos1[Amg::z];
+        double z2=hitPos2[Amg::z];
+        t=(z-z1)/(z2-z1);
+      }
+      Amg::Vector3D hitPos=t*hitPos2+(1-t)*hitPos1;
+
+      double dist=hitPos.mag();
+      bool inside=false;
+      if(t>=-0.001 && t<=1.001) inside=true;
+
+      if(!best_found || inside) {
+        if(!best_inside || dist<best_dist) {
+          best_dist=dist;
+          best_hitPos=hitPos;
+          best_inside=inside;
+          best_found=true;
+          best_id1=sid1;
+          best_id2=sid2;
+          mom=t*hitMom2+(1-t)*hitMom1;
+        }
+      } else {
+        if(!best_inside && dist<best_dist) {
+          best_dist=dist;
+          best_hitPos=hitPos;
+          best_inside=inside;
+          best_found=true;
+          best_id1=sid1;
+          best_id2=sid2;
+          mom=t*hitMom2+(1-t)*hitMom1;
+        }
+      }
+      ATH_MSG_DEBUG(" extrapol without layer hit: id="<<sid1<<" -> "<<sid2<<" dist="<<dist<<" bestdist="<<best_dist<<
+                    " t="<<t<<" inside="<<inside<<" best_inside="<<best_inside<<
+                    " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
+                    " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]<<
+                    " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
+                    );
+    }
+  }
+
+  if(best_found) {
+    ATH_MSG_DEBUG(" extrapol to r="<<cylR<<" z="<<cylZ<<": id="<<best_id1<<" -> "<<best_id2<<" dist="<<best_dist<<
+                  " best_inside="<<best_inside<<
+                  " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
+                  );
+  }
+  pos=best_hitPos;
+
+  return best_found;
+}
+
+
 bool FastCaloSimCaloExtrapolation::isCaloBarrel(int sample) const
 {
   return GetCaloGeometry()->isCaloBarrel(sample);
@@ -93,17 +694,17 @@ double FastCaloSimCaloExtrapolation::deta(int sample,double eta) const
   return GetCaloGeometry()->deta(sample,eta);
 }
 
-void FastCaloSimCaloExtrapolation::minmaxeta(int sample,double eta,double& mineta,double& maxeta) const 
+void FastCaloSimCaloExtrapolation::minmaxeta(int sample,double eta,double& mineta,double& maxeta) const
 {
   GetCaloGeometry()->minmaxeta(sample,eta,mineta,maxeta);
 }
 
-double FastCaloSimCaloExtrapolation::rmid(int sample,double eta) const 
+double FastCaloSimCaloExtrapolation::rmid(int sample,double eta) const
 {
   return GetCaloGeometry()->rmid(sample,eta);
 }
 
-double FastCaloSimCaloExtrapolation::zmid(int sample,double eta) const 
+double FastCaloSimCaloExtrapolation::zmid(int sample,double eta) const
 {
   return GetCaloGeometry()->zmid(sample,eta);
 }
@@ -113,12 +714,12 @@ double FastCaloSimCaloExtrapolation::rzmid(int sample,double eta) const
   return GetCaloGeometry()->rzmid(sample,eta);
 }
 
-double FastCaloSimCaloExtrapolation::rent(int sample,double eta) const 
+double FastCaloSimCaloExtrapolation::rent(int sample,double eta) const
 {
   return GetCaloGeometry()->rent(sample,eta);
 }
 
-double FastCaloSimCaloExtrapolation::zent(int sample,double eta) const 
+double FastCaloSimCaloExtrapolation::zent(int sample,double eta) const
 {
   return GetCaloGeometry()->zent(sample,eta);
 }
@@ -128,12 +729,12 @@ double FastCaloSimCaloExtrapolation::rzent(int sample,double eta) const
   return GetCaloGeometry()->rzent(sample,eta);
 }
 
-double FastCaloSimCaloExtrapolation::rext(int sample,double eta) const 
+double FastCaloSimCaloExtrapolation::rext(int sample,double eta) const
 {
   return GetCaloGeometry()->rext(sample,eta);
 }
 
-double FastCaloSimCaloExtrapolation::zext(int sample,double eta) const 
+double FastCaloSimCaloExtrapolation::zext(int sample,double eta) const
 {
   return GetCaloGeometry()->zext(sample,eta);
 }
@@ -157,5 +758,3 @@ double FastCaloSimCaloExtrapolation::rzpos(int sample,double eta,int subpos) con
 {
   return GetCaloGeometry()->rzpos(sample,eta,subpos);
 }
-
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimCaloExtrapolation.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimCaloExtrapolation.h
new file mode 100644
index 0000000000000000000000000000000000000000..38366e17ed0353322e7d0b028a60d8da99bac9f7
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimCaloExtrapolation.h
@@ -0,0 +1,95 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef FastCaloSimCaloExtrapolation_H
+#define FastCaloSimCaloExtrapolation_H
+
+// Athena includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ToolHandle.h"
+
+namespace Trk
+{
+  class TrackingVolume;
+}
+
+#include "TrkExInterfaces/ITimedExtrapolator.h"
+#include "TrkEventPrimitives/PdgToParticleHypothesis.h"
+
+class ICaloSurfaceHelper;
+
+namespace HepPDT
+{
+  class ParticleDataTable;
+}
+
+#include "ISF_FastCaloSimParametrization/IFastCaloSimCaloExtrapolation.h"
+#include "ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h"
+#include "ISF_FastCaloSimEvent/TFCSExtrapolationState.h"
+
+#include "ISF_FastCaloSimParametrization/IFastCaloSimGeometryHelper.h"
+
+
+class FastCaloSimCaloExtrapolation:public AthAlgTool, virtual public IFastCaloSimCaloExtrapolation
+{
+
+public:
+  FastCaloSimCaloExtrapolation( const std::string& t, const std::string& n, const IInterface* p );
+  ~FastCaloSimCaloExtrapolation();
+
+  virtual StatusCode initialize() override final;
+  virtual StatusCode finalize() override final;
+
+  enum SUBPOS { SUBPOS_MID = TFCSExtrapolationState::SUBPOS_MID, SUBPOS_ENT = TFCSExtrapolationState::SUBPOS_ENT, SUBPOS_EXT = TFCSExtrapolationState::SUBPOS_EXT}; //MID=middle, ENT=entrance, EXT=exit of cal layer
+
+  virtual void extrapolate(TFCSExtrapolationState& result,const TFCSTruthState* truth) override final;
+
+protected:
+  IFastCaloSimGeometryHelper* GetCaloGeometry() const {return &(*m_CaloGeometryHelper);};
+
+  // extrapolation through Calo
+  std::vector<Trk::HitInfo>* caloHits(const TFCSTruthState* truth) const;
+  void extrapolate(TFCSExtrapolationState& result,const TFCSTruthState* truth,std::vector<Trk::HitInfo>* hitVector);
+  void extrapolate_to_ID(TFCSExtrapolationState& result,const TFCSTruthState* truth,std::vector<Trk::HitInfo>* hitVector);
+  bool get_calo_etaphi(TFCSExtrapolationState& result,std::vector<Trk::HitInfo>* hitVector,int sample,int subpos=SUBPOS_MID);
+  bool get_calo_surface(TFCSExtrapolationState& result,std::vector<Trk::HitInfo>* hitVector);
+  bool rz_cylinder_get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, double cylR, double cylZ, Amg::Vector3D& pos, Amg::Vector3D& mom);
+
+  bool   isCaloBarrel(int sample) const;
+  double deta(int sample,double eta) const;
+  void   minmaxeta(int sample,double eta,double& mineta,double& maxeta) const;
+  double rzmid(int sample,double eta) const;
+  double rzent(int sample,double eta) const;
+  double rzext(int sample,double eta) const;
+  double rmid(int sample,double eta) const;
+  double rent(int sample,double eta) const;
+  double rext(int sample,double eta) const;
+  double zmid(int sample,double eta) const;
+  double zent(int sample,double eta) const;
+  double zext(int sample,double eta) const;
+  double rpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
+  double zpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
+  double rzpos(int sample,double eta,int subpos = CaloSubPos::SUBPOS_MID) const;
+
+  HepPDT::ParticleDataTable*     m_particleDataTable;
+
+  double m_CaloBoundaryR;
+  double m_CaloBoundaryZ;
+  double m_calomargin;
+
+  std::vector< int > m_surfacelist;
+
+  // The new Extrapolator setup
+  ToolHandle<Trk::ITimedExtrapolator> m_extrapolator;
+  ToolHandle<ICaloSurfaceHelper>      m_caloSurfaceHelper;
+  mutable const Trk::TrackingVolume*  m_caloEntrance;
+  std::string                         m_caloEntranceName;
+
+  Trk::PdgToParticleHypothesis        m_pdgToParticleHypothesis;
+
+  // The FastCaloSimGeometryHelper tool
+  ToolHandle<IFastCaloSimGeometryHelper> m_CaloGeometryHelper;
+};
+
+#endif // FastCaloSimCaloExtrapolation_H
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.cxx
index 5d8b718ee5ae9058f41ce928cd0e36fb217d1f85..8e46b8f444bde6bfefb2f67018a2421b96691579 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.cxx
@@ -3,7 +3,8 @@
 */
 
 #include "FastCaloSimGeometryHelper.h"
-#include "CaloDetDescr/CaloDetDescrElement.h"
+//#include "CaloDetDescr/CaloDetDescrElement.h"
+#include "ISF_FastCaloSimParametrization/CaloDetDescrElement.h"
 #include "CaloDetDescr/CaloDetDescrManager.h"
 
 using namespace std;
@@ -45,16 +46,16 @@ StatusCode FastCaloSimGeometryHelper::finalize()
 bool FastCaloSimGeometryHelper::LoadGeometryFromCaloDDM()
 {
   ATH_MSG_INFO("Start LoadGeometryFromCaloDDM()");
-  int jentry=0;
-  for(CaloDetDescrManager::calo_element_const_iterator calo_iter=m_caloMgr->element_begin();calo_iter<m_caloMgr->element_end();++calo_iter) {
-    const CaloDetDescrElement* pcell=*calo_iter;
-    addcell(pcell);
+  //int jentry=0;
+  //for(CaloDetDescrManager::calo_element_const_iterator calo_iter=m_caloMgr->element_begin();calo_iter<m_caloMgr->element_end();++calo_iter) {
+    //const CaloDetDescrElement* pcell=*calo_iter;
+    //addcell(pcell);
 
-    if(jentry%10000==0) {
-      ATH_MSG_DEBUG("Load calo cell "<<jentry<<" : "<<pcell->getSampling()<<", "<<pcell->identify());
-    }
-    ++jentry;
-  }
+    //if(jentry%10000==0) {
+      //ATH_MSG_DEBUG("Load calo cell "<<jentry<<" : "<<pcell->getSampling()<<", "<<pcell->identify());
+    //}
+    //++jentry;
+  //}
 
   bool ok=PostProcessGeometry();
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.h
index 604aa50d9095fed69f1e984a748627e16bae0147..ed0a6f8cc51cf0a934f89b1c658adff178b491d7 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/FastCaloSimGeometryHelper.h
@@ -13,17 +13,17 @@
 
 class CaloDetDescrManager;
 
-class FastCaloSimGeometryHelper:public AthAlgTool, public CaloGeometry, public IFastCaloSimGeometryHelper {
+class FastCaloSimGeometryHelper:public AthAlgTool, public CaloGeometry, virtual public IFastCaloSimGeometryHelper {
   public :
     /** Constructor with parameters */
     FastCaloSimGeometryHelper( const std::string& t, const std::string& n, const IInterface* p );
 
     /** Destructor */
-    ~FastCaloSimGeometryHelper();
+  virtual ~FastCaloSimGeometryHelper();
 
     // Athena algtool's Hooks
-    StatusCode  initialize();
-    StatusCode  finalize();
+  virtual StatusCode  initialize() override final;
+  virtual StatusCode  finalize() override final;
 
   private:  
     /// DetDescr mgr for access to the calo helper
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx
index 397afcd94cb78afbb3682e3a65ad4b01e8c704d6..813d473429f4dae7eb55637f21f3d19d5e4414f0 100755
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx
@@ -3,6 +3,8 @@
 */
 
 #include "ISF_FastCaloSimParametrization/ISF_HitAnalysis.h"
+#include "ISF_FastCaloSimEvent/TFCSTruthState.h"
+#include "ISF_FastCaloSimEvent/TFCSExtrapolationState.h"
 
 // Section of includes for LAr calo tests
 #include "LArSimEvent/LArHitContainer.h"
@@ -43,6 +45,7 @@
 #include "TString.h"
 #include "TVector3.h"
 #include <sstream>
+//#include "TLorentzVector.h"
 
 // For MC Truth information:
 #include "GeneratorObjects/McEventCollection.h"
@@ -73,106 +76,124 @@
 #include <iostream>
 
 
-//const std::string MC_DIGI_PARAM = "/Digitization/Parameters"; 
+//const std::string MC_DIGI_PARAM = "/Digitization/Parameters";
 //const std::string MC_SIM_PARAM = "/Simulation/Parameters";
 
 ISF_HitAnalysis::ISF_HitAnalysis(const std::string& name, ISvcLocator* pSvcLocator)
-   : AthAlgorithm(name, pSvcLocator)
-   //, m_storeGate(0)
-   , m_geoModel(0)
-   , m_tileInfo(0)
-   , m_larEmID(0)
-   , m_larFcalID(0)
-   , m_larHecID(0)
-   , m_tileID(0)
-   , m_tileMgr(0)
-   , m_hit_x(0)
-   , m_hit_y(0)
-   , m_hit_z(0)
-   , m_hit_energy(0)
-   , m_hit_time(0)
-   , m_hit_identifier(0)
-   , m_hit_cellidentifier(0)
-   , m_islarbarrel(0)
-   , m_islarendcap(0)
-   , m_islarhec(0)
-   , m_islarfcal(0)
-   , m_istile(0)
-   , m_hit_sampling(0)
-   , m_hit_samplingfraction(0)
-   , m_truth_energy(0)
-   , m_truth_px(0)
-   , m_truth_py(0)
-   , m_truth_pz(0)
-   , m_truth_pdg(0)
-   , m_truth_barcode(0)
-   , m_truth_vtxbarcode(0)
-   , m_cell_identifier(0)
-   , m_cell_energy(0)
-   , m_cell_sampling(0)
-   , m_g4hit_energy(0)
-   , m_g4hit_time(0)
-   , m_g4hit_identifier(0)
-   , m_g4hit_cellidentifier(0)
-   , m_g4hit_samplingfraction(0)
-   , m_g4hit_sampling(0)
-     //   , m_matched_cells(0)
-   , m_tree(0)
-   , m_ntupleFileName("/ntuples/file1")
-   , m_ntupleDirName("ISF_HitAnalysis")
-   , m_ntupleTreeName("CaloHitAna")
-   , m_metadataTreeName("MetaData")
-   , m_geoFileName("ISF_Geometry")
-   , m_thistSvc(0)
-   , m_calo_dd_man(0)
-   //#####################
-   , m_eta_calo_surf(0)
-   , m_phi_calo_surf(0)
-   , m_d_calo_surf(0)
-   , m_ptruth_eta(0)
-   , m_ptruth_phi(0)
-   , m_ptruth_e(0)
-   , m_ptruth_et(0)
-   , m_ptruth_pt(0)
-   , m_ptruth_p(0)
-   , m_pdgid(0)
-
-   //######################
-   , m_TTC_entrance_eta(0)
-   , m_TTC_entrance_phi(0)
-   , m_TTC_entrance_r(0)
-   , m_TTC_entrance_z(0)
-   , m_TTC_back_eta(0)
-   , m_TTC_back_phi(0)
-   , m_TTC_back_r(0)
-   , m_TTC_back_z(0)
-   , m_TTC_IDCaloBoundary_eta(0)
-   , m_TTC_IDCaloBoundary_phi(0)
-   , m_TTC_IDCaloBoundary_r(0)
-   , m_TTC_IDCaloBoundary_z(0)
-   , m_TTC_Angle3D(0)
-   , m_TTC_AngleEta(0)
-//   , m_extrapolatorName("Trk::Extrapolator")   
-//   , m_extrapolatorInstanceName("Extrapolator")
-   , m_caloEntrance(0)
-   , m_calo_tb_coord(0)
-   , m_sample_calo_surf(CaloCell_ID_FCS::noSample)
-   , m_particleDataTable(0)
-   ,m_MC_DIGI_PARAM("/Digitization/Parameters")
-   ,m_MC_SIM_PARAM("/Simulation/Parameters")
-   
-   //######################
+: AthAlgorithm(name, pSvcLocator)
+//, m_storeGate(0)
+  , m_geoModel(0)
+  , m_tileInfo(0)
+, m_larEmID(0)
+  , m_larFcalID(0)
+, m_larHecID(0)
+  , m_tileID(0)
+  , m_tileMgr(0)
+  , m_hit_x(0)
+  , m_hit_y(0)
+  , m_hit_z(0)
+  , m_hit_energy(0)
+  , m_hit_time(0)
+, m_hit_identifier(0)
+  , m_hit_cellidentifier(0)
+, m_islarbarrel(0)
+  , m_islarendcap(0)
+, m_islarhec(0)
+  , m_islarfcal(0)
+  , m_istile(0)
+  , m_hit_sampling(0)
+  , m_hit_samplingfraction(0)
+, m_truth_energy(0)
+  , m_truth_px(0)
+  , m_truth_py(0)
+  , m_truth_pz(0)
+  , m_truth_pdg(0)
+  , m_truth_barcode(0)
+  , m_truth_vtxbarcode(0)
+  , m_cell_identifier(0)
+  , m_cell_energy(0)
+  , m_cell_sampling(0)
+  , m_g4hit_energy(0)
+  , m_g4hit_time(0)
+  , m_g4hit_identifier(0)
+  , m_g4hit_cellidentifier(0)
+  , m_g4hit_samplingfraction(0)
+  , m_g4hit_sampling(0)
+  //   , m_matched_cells(0)
+  , m_tree(0)
+  , m_ntupleFileName("/ntuples/file1")
+  , m_ntupleDirName("ISF_HitAnalysis")
+  , m_ntupleTreeName("CaloHitAna")
+  , m_metadataTreeName("MetaData")
+  , m_geoFileName("ISF_Geometry")
+  , m_thistSvc(0)
+  , m_calo_dd_man(0)
+  //#####################
+  , m_eta_calo_surf(0)
+  , m_phi_calo_surf(0)
+  , m_d_calo_surf(0)
+  , m_ptruth_eta(0)
+  , m_ptruth_phi(0)
+  , m_ptruth_e(0)
+  , m_ptruth_et(0)
+  , m_ptruth_pt(0)
+  , m_ptruth_p(0)
+  , m_pdgid(0)
+
+  //######################
+
+  , m_TTC_entrance_eta(0)
+  , m_TTC_entrance_phi(0)
+  , m_TTC_entrance_r(0)
+  , m_TTC_entrance_z(0)
+  , m_TTC_back_eta(0)
+  , m_TTC_back_phi(0)
+  , m_TTC_back_r(0)
+  , m_TTC_back_z(0)
+  , m_TTC_IDCaloBoundary_eta(0)
+  , m_TTC_IDCaloBoundary_phi(0)
+  , m_TTC_IDCaloBoundary_r(0)
+  , m_TTC_IDCaloBoundary_z(0)
+  , m_TTC_Angle3D(0)
+  , m_TTC_AngleEta(0)
+
+  , m_newTTC_entrance_eta(0)
+  , m_newTTC_entrance_phi(0)
+  , m_newTTC_entrance_r(0)
+  , m_newTTC_entrance_z(0)
+  , m_newTTC_back_eta(0)
+  , m_newTTC_back_phi(0)
+  , m_newTTC_back_r(0)
+  , m_newTTC_back_z(0)
+  , m_newTTC_IDCaloBoundary_eta(0)
+  , m_newTTC_IDCaloBoundary_phi(0)
+  , m_newTTC_IDCaloBoundary_r(0)
+  , m_newTTC_IDCaloBoundary_z(0)
+  , m_newTTC_Angle3D(0)
+  , m_newTTC_AngleEta(0)
+
+  , m_caloEntrance(0)
+  , m_calo_tb_coord(0)
+  , m_sample_calo_surf(CaloCell_ID_FCS::noSample)
+  , m_particleDataTable(0)
+
+  ,m_MC_DIGI_PARAM("/Digitization/Parameters")
+  ,m_MC_SIM_PARAM("/Simulation/Parameters")
+
+  //######################
 
 
   //Note that m_xxx are pointers to vectors set to 0, not set to empty vector! see note around TBranch
 {
-  declareProperty("NtupleFileName", m_ntupleFileName); 
-  declareProperty("NtupleDirectoryName", m_ntupleDirName); 
-  declareProperty("NtupleTreeName", m_ntupleTreeName); 
-  declareProperty("GeoFileName", m_geoFileName); 
-  declareProperty("MetadataTreeName", m_metadataTreeName); 
+  declareProperty("NtupleFileName", m_ntupleFileName);
+  declareProperty("NtupleDirectoryName", m_ntupleDirName);
+  declareProperty("NtupleTreeName", m_ntupleTreeName);
+  declareProperty("GeoFileName", m_geoFileName);
+  declareProperty("MetadataTreeName", m_metadataTreeName);
   declareProperty("NTruthParticles", m_NtruthParticles=1, "Number of truth particles saved from the truth collection, -1 to save all");
 
+  declareProperty("FastCaloSimCaloExtrapolation",   m_FastCaloSimCaloExtrapolation );
+
   //###########################
   //declareProperty("ExtrapolatorName",               m_extrapolatorName );
   //declareProperty("ExtrapolatorInstanceName",       m_extrapolatorInstanceName );
@@ -189,7 +210,7 @@ ISF_HitAnalysis::ISF_HitAnalysis(const std::string& name, ISvcLocator* pSvcLocat
   declareProperty("CaloSurfaceHelper",              m_caloSurfaceHelper );
 
   declareProperty("CaloGeometryHelper",             m_CaloGeometryHelper );
-  
+
   declareProperty("MetaDataSim", m_MC_SIM_PARAM );
   declareProperty("MetaDataDigi", m_MC_DIGI_PARAM );
 
@@ -199,16 +220,20 @@ ISF_HitAnalysis::ISF_HitAnalysis(const std::string& name, ISvcLocator* pSvcLocat
   m_surfacelist.push_back(CaloCell_ID_FCS::EME1);
   m_surfacelist.push_back(CaloCell_ID_FCS::EME2);
   m_surfacelist.push_back(CaloCell_ID_FCS::FCAL0);
+
+  //TLorentzVector *t;
+
 }
 
 
-ISF_HitAnalysis::~ISF_HitAnalysis() 
+ISF_HitAnalysis::~ISF_HitAnalysis()
 {
 }
 
-StatusCode ISF_HitAnalysis::updateMetaData( IOVSVC_CALLBACK_ARGS_P( I, keys ) ) {
+StatusCode ISF_HitAnalysis::updateMetaData( IOVSVC_CALLBACK_ARGS_P( I, keys ) )
+{
   ATH_MSG_INFO( "Updating the Sim+Digi MetaData" );
-  
+
   // Reset the internal settings:
   bool run_update = false;
 
@@ -217,54 +242,80 @@ StatusCode ISF_HitAnalysis::updateMetaData( IOVSVC_CALLBACK_ARGS_P( I, keys ) )
   msg( MSG::DEBUG ) << "Update called with " <<I<< " folder " << keys.size() << " keys:";
   std::list< std::string >::const_iterator itr = keys.begin();
   std::list< std::string >::const_iterator end = keys.end();
-  for( ; itr != end; ++itr ) {
-     if( *itr == m_MC_DIGI_PARAM ) run_update = true;
-     if( *itr == m_MC_SIM_PARAM ) run_update = true;
-     msg() << *itr;
-  }
+  for( ; itr != end; ++itr )
+    {
+      if( *itr == m_MC_DIGI_PARAM ) run_update = true;
+      if( *itr == m_MC_SIM_PARAM ) run_update = true;
+      msg() << *itr;
+    }
   msg() << endmsg;
   // If that's not the key that we received after all, let's just return
   // silently...
   if( ! run_update ) return StatusCode::SUCCESS;
 
   const DataHandle< AthenaAttributeList > simParam;
-  if( detStore()->retrieve( simParam, m_MC_SIM_PARAM ).isFailure() ) {
-    ATH_MSG_WARNING("Retrieving MC SIM metadata failed");
-  } else {
-    AthenaAttributeList::const_iterator attr_itr = simParam->begin();
-    AthenaAttributeList::const_iterator attr_end = simParam->end();
-    for( ; attr_itr != attr_end; ++attr_itr ) {
-      std::stringstream outstr;
-      attr_itr->toOutputStream(outstr);
-      ATH_MSG_INFO("MetaData: " << outstr.str());
+  if( detStore()->retrieve( simParam, m_MC_SIM_PARAM ).isFailure() )
+    {
+      ATH_MSG_WARNING("Retrieving MC SIM metadata failed");
+    }
+  else
+    {
+      AthenaAttributeList::const_iterator attr_itr = simParam->begin();
+      AthenaAttributeList::const_iterator attr_end = simParam->end();
+      for( ; attr_itr != attr_end; ++attr_itr )
+        {
+          std::stringstream outstr;
+          attr_itr->toOutputStream(outstr);
+          ATH_MSG_INFO("MetaData: " << outstr.str());
+        }
     }
-  }  
 
   return StatusCode::SUCCESS;
 }
 
 
-StatusCode ISF_HitAnalysis::initialize() {
+StatusCode ISF_HitAnalysis::initialize()
+{
   ATH_MSG_INFO( "Initializing ISF_HitAnalysis" );
-  
+
+  /*
+  // get a handle of StoreGate for access to the Detector Store
+  sc = service("DetectorStore", m_detStore);
+  if (sc.isFailure()) {
+  ATH_MSG_ERROR( "ZH Unable to retrieve pointer to Detector Store");
+  return sc;
+  }
+  // get a handle of StoreGate for access to the Event Store
+  sc = service("StoreGateSvc", m_storeGate);
+  if (sc.isFailure()) {
+  ATH_MSG_ERROR( "Unable to retrieve pointer to StoreGateSvc" );
+  return sc;
+  }
+  */
+
+  //
+  // Register the callback(s):
+  //
   StatusCode sc = service("GeoModelSvc", m_geoModel);
   if(sc.isFailure())
-  {
-    ATH_MSG_ERROR( "Could not locate GeoModelSvc" );
-     return StatusCode::FAILURE;
-  }
+    {
+      ATH_MSG_ERROR( "Could not locate GeoModelSvc" );
+      return StatusCode::FAILURE;
+    }
 
   sc = detStore()->retrieve(m_tileMgr);
-  if (sc.isFailure()) {
-    ATH_MSG_ERROR( "Unable to retrieve TileDetDescrManager from DetectorStore" );
-    m_tileMgr=0;
-  }
+  if (sc.isFailure())
+    {
+      ATH_MSG_ERROR( "Unable to retrieve TileDetDescrManager from DetectorStore" );
+      m_tileMgr=0;
+    }
 
   sc = detStore()->retrieve(m_tileID);
-  if (sc.isFailure()) { 
-    ATH_MSG_ERROR( "Unable to retrieve TileID helper from DetectorStore" );
-    m_tileID=0;
-  }
+  if (sc.isFailure())
+    {
+      ATH_MSG_ERROR( "Unable to retrieve TileID helper from DetectorStore" );
+      m_tileID=0;
+    }
 
   const DataHandle<CaloIdManager> caloIdManager;
   sc=detStore()->retrieve(caloIdManager);
@@ -290,7 +341,7 @@ StatusCode ISF_HitAnalysis::initialize() {
       ATH_MSG_ERROR("Unable to register handle for LArfSampl");
       return StatusCode::FAILURE;
     }
-  
+
   detStore()->retrieve(m_tileInfo,"TileInfo");
   if(sc.isFailure())
     {
@@ -302,284 +353,329 @@ StatusCode ISF_HitAnalysis::initialize() {
   // Retrieve Tools
   IToolSvc* p_toolSvc = 0;
   if ( service("ToolSvc",p_toolSvc).isFailure() )
-  {
-	   ATH_MSG_ERROR("Cannot find ToolSvc! ");
-    return StatusCode::FAILURE;
-  }
-  else
-  {
-    IAlgTool* algTool;
-    
-    // Get TimedExtrapolator 
-    if (!m_extrapolator.empty() && m_extrapolator.retrieve().isFailure())
+    {
+      ATH_MSG_ERROR("Cannot find ToolSvc! ");
       return StatusCode::FAILURE;
-    else ATH_MSG_DEBUG("Extrapolator retrieved "<< m_extrapolator);
+    }
+  else
+    {
+      IAlgTool* algTool;
 
-    // Get CaloSurfaceHelper
-    if (m_caloSurfaceHelper.retrieve().isFailure())
-       ATH_MSG_INFO("CaloSurfaceHelper not found ");
+      // Get TimedExtrapolator  ***************************************************************************************************
+      if (!m_extrapolator.empty() && m_extrapolator.retrieve().isFailure())
+        return StatusCode::FAILURE;
 
-    std::string CaloCoordinateTool_name="TBCaloCoordinate";
-    ListItem CaloCoordinateTool(CaloCoordinateTool_name);
-    if ( p_toolSvc->retrieveTool(CaloCoordinateTool.type(),CaloCoordinateTool.name(), algTool, this).isFailure() ) {
-      ATH_MSG_ERROR("Cannot retrieve " << CaloCoordinateTool_name);
-      return StatusCode::FAILURE;
+      else ATH_MSG_DEBUG("Extrapolator retrieved "<< m_extrapolator);
+
+      // Get CaloSurfaceHelper
+      if(m_caloSurfaceHelper.retrieve().isFailure())
+        ATH_MSG_INFO("CaloSurfaceHelper not found ");
+
+      std::string CaloCoordinateTool_name="TBCaloCoordinate";
+      ListItem CaloCoordinateTool(CaloCoordinateTool_name);
+      if(p_toolSvc->retrieveTool(CaloCoordinateTool.type(),CaloCoordinateTool.name(), algTool, this).isFailure() )
+        {
+          ATH_MSG_ERROR("Cannot retrieve " << CaloCoordinateTool_name);
+          return StatusCode::FAILURE;
+        }
+      m_calo_tb_coord = dynamic_cast<ICaloCoordinateTool*>(algTool);
+      if(!m_calo_tb_coord )
+        {
+          ATH_MSG_ERROR("Cannot retrieve " << CaloCoordinateTool_name);
+          return StatusCode::FAILURE;
+        }
+      else
+        ATH_MSG_INFO("retrieved " << CaloCoordinateTool_name);
+    } //tools
+
+  if( detStore()->contains< AthenaAttributeList >( m_MC_DIGI_PARAM ) )
+    {
+      const DataHandle< AthenaAttributeList > aptr;
+      if( detStore()->regFcn( &ISF_HitAnalysis::updateMetaData, this, aptr,m_MC_DIGI_PARAM, true ).isFailure() )
+        {
+          ATH_MSG_ERROR( "Could not register callback for "<< m_MC_DIGI_PARAM );
+          return StatusCode::FAILURE;
+        }
     }
-    m_calo_tb_coord = dynamic_cast<ICaloCoordinateTool*>(algTool);    
-    if ( !m_calo_tb_coord ) {
-      ATH_MSG_ERROR("Cannot retrieve " << CaloCoordinateTool_name);
-      return StatusCode::FAILURE;
-    } 
-    else 
+  else
+    {
+      ATH_MSG_WARNING( "MetaData not found for "<< m_MC_DIGI_PARAM );
+    }
+
+  if(detStore()->contains< AthenaAttributeList >( m_MC_SIM_PARAM ) )
     {
-      ATH_MSG_INFO("retrieved " << CaloCoordinateTool_name);
+      const DataHandle< AthenaAttributeList > aptr;
+      if( detStore()->regFcn( &ISF_HitAnalysis::updateMetaData, this, aptr,m_MC_SIM_PARAM, true ).isFailure() )
+        {
+          ATH_MSG_ERROR( "Could not register callback for "<< m_MC_SIM_PARAM );
+          return StatusCode::FAILURE;
+        }
     }
-    
-  } //tools
-  
-  if( detStore()->contains< AthenaAttributeList >( m_MC_DIGI_PARAM ) ) {
-    const DataHandle< AthenaAttributeList > aptr;
-    if( detStore()->regFcn( &ISF_HitAnalysis::updateMetaData, this, aptr,m_MC_DIGI_PARAM, true ).isFailure() ) {
-      ATH_MSG_ERROR( "Could not register callback for "<< m_MC_DIGI_PARAM );
+  else
+    ATH_MSG_WARNING( "MetaData not found for "<< m_MC_SIM_PARAM );
+
+  // Get CaloGeometryHelper
+  if (m_CaloGeometryHelper.retrieve().isFailure())
+    {
+      ATH_MSG_ERROR("CaloGeometryHelper not found ");
       return StatusCode::FAILURE;
     }
-  } else {
-    ATH_MSG_WARNING( "MetaData not found for "<< m_MC_DIGI_PARAM );
-  }
-  
-  if( detStore()->contains< AthenaAttributeList >( m_MC_SIM_PARAM ) ) {
-    const DataHandle< AthenaAttributeList > aptr;
-    if( detStore()->regFcn( &ISF_HitAnalysis::updateMetaData, this, aptr,m_MC_SIM_PARAM, true ).isFailure() ) {
-      ATH_MSG_ERROR( "Could not register callback for "<< m_MC_SIM_PARAM );
+
+  // Get FastCaloSimCaloExtrapolation
+  if (m_FastCaloSimCaloExtrapolation.retrieve().isFailure())
+    {
+      ATH_MSG_ERROR("FastCaloSimCaloExtrapolation not found ");
       return StatusCode::FAILURE;
     }
-  } else {
-    ATH_MSG_WARNING( "MetaData not found for "<< m_MC_SIM_PARAM );
-  }
-  
-  // Get CaloGeometryHelper
-  if (m_CaloGeometryHelper.retrieve().isFailure()) {
-    ATH_MSG_ERROR("CaloGeometryHelper not found ");
-    return StatusCode::FAILURE;
-  }
 
   // Grab the Ntuple and histogramming service for the tree
   sc = service("THistSvc",m_thistSvc);
-  if (sc.isFailure()) {
-    ATH_MSG_ERROR( "Unable to retrieve pointer to THistSvc" );
-    return StatusCode::FAILURE;
-  }
+  if (sc.isFailure())
+    {
+      ATH_MSG_ERROR( "Unable to retrieve pointer to THistSvc" );
+      return StatusCode::FAILURE;
+    }
 
   //#########################
   IPartPropSvc* p_PartPropSvc=0;
   if (service("PartPropSvc",p_PartPropSvc).isFailure() || p_PartPropSvc == 0)
-  {
-    ATH_MSG_ERROR("could not find PartPropService");
-    return StatusCode::FAILURE;
-  }
-  
+    {
+      ATH_MSG_ERROR("could not find PartPropService");
+      return StatusCode::FAILURE;
+    }
+
   m_particleDataTable = (HepPDT::ParticleDataTable*) p_PartPropSvc->PDT();
   if(m_particleDataTable == 0)
-  {
-	   ATH_MSG_ERROR("PDG table not found");
-    return StatusCode::FAILURE;
-  }
+    {
+      ATH_MSG_ERROR("PDG table not found");
+      return StatusCode::FAILURE;
+    }
   //#########################
-  
 
-  // 
+  //
   m_tree = new TTree( TString(m_ntupleTreeName), "CaloHitAna" );
-  std::string fullNtupleName =  "/"+m_ntupleFileName+"/"+m_ntupleDirName+"/"+m_ntupleTreeName; 
-  sc = m_thistSvc->regTree(fullNtupleName, m_tree); 
-  if (sc.isFailure() || !m_tree ) { 
-    ATH_MSG_ERROR("Unable to register TTree: " << fullNtupleName); 
-    return StatusCode::FAILURE;
-  }
-  
+  std::string fullNtupleName =  "/"+m_ntupleFileName+"/"+m_ntupleDirName+"/"+m_ntupleTreeName;
+  sc = m_thistSvc->regTree(fullNtupleName, m_tree);
+  if (sc.isFailure() || !m_tree )
+    {
+      ATH_MSG_ERROR("Unable to register TTree: " << fullNtupleName);
+      return StatusCode::FAILURE;
+    }
+
   /** now add branches and leaves to the tree */
-  if (m_tree){
-    ATH_MSG_INFO("Successfull registered TTree: " << fullNtupleName); 
-    //this actually creates the vector itself! And only if it succeeds! Note that the result is not checked! And the code is probably leaking memory in the end
-    m_tree->Branch("HitX",                 &m_hit_x);
-    m_tree->Branch("HitY",                 &m_hit_y);
-    m_tree->Branch("HitZ",                 &m_hit_z);
-    m_tree->Branch("HitE",                 &m_hit_energy);
-    m_tree->Branch("HitT",                 &m_hit_time);
-    m_tree->Branch("HitIdentifier",        &m_hit_identifier);
-    m_tree->Branch("HitCellIdentifier",    &m_hit_cellidentifier);
-    m_tree->Branch("HitIsLArBarrel",       &m_islarbarrel);
-    m_tree->Branch("HitIsLArEndCap",       &m_islarendcap);
-    m_tree->Branch("HitIsHEC",             &m_islarhec);
-    m_tree->Branch("HitIsFCAL",            &m_islarfcal);
-    m_tree->Branch("HitIsTile",            &m_istile);
-    m_tree->Branch("HitSampling",          &m_hit_sampling);
-    m_tree->Branch("HitSamplingFraction",  &m_hit_samplingfraction);
-
-    m_tree->Branch("TruthE",               &m_truth_energy);
-    m_tree->Branch("TruthPx",              &m_truth_px);
-    m_tree->Branch("TruthPy",              &m_truth_py);
-    m_tree->Branch("TruthPz",              &m_truth_pz);
-    m_tree->Branch("TruthPDG",             &m_truth_pdg);
-    m_tree->Branch("TruthBarcode",         &m_truth_barcode);
-    m_tree->Branch("TruthVtxBarcode",      &m_truth_vtxbarcode);
-    
-    m_tree->Branch("CellIdentifier",       &m_cell_identifier);
-    m_tree->Branch("CellE",                &m_cell_energy);
-    m_tree->Branch("CellSampling",         &m_cell_sampling);
-    
-    m_tree->Branch("G4HitE",               &m_g4hit_energy);
-    m_tree->Branch("G4HitT",               &m_g4hit_time);
-    m_tree->Branch("G4HitIdentifier",      &m_g4hit_identifier);
-    m_tree->Branch("G4HitCellIdentifier",  &m_g4hit_cellidentifier);
-    m_tree->Branch("G4HitSamplingFraction",&m_g4hit_samplingfraction);
-    m_tree->Branch("G4HitSampling",        &m_g4hit_sampling);
-    //And this looks like will fail since ROOT has no idea what the object is...
-    //m_tree->Branch("MatchedCells", &m_matched_cells);
-    
-    //#########################
-    m_tree->Branch("TTC_back_eta",&m_TTC_back_eta);
-    m_tree->Branch("TTC_back_phi",&m_TTC_back_phi);
-    m_tree->Branch("TTC_back_r",&m_TTC_back_r);
-    m_tree->Branch("TTC_back_z",&m_TTC_back_z);
-    m_tree->Branch("TTC_entrance_eta",&m_TTC_entrance_eta);
-    m_tree->Branch("TTC_entrance_phi",&m_TTC_entrance_phi);
-    m_tree->Branch("TTC_entrance_r",&m_TTC_entrance_r);
-    m_tree->Branch("TTC_entrance_z",&m_TTC_entrance_z);
-
-    m_tree->Branch("TTC_IDCaloBoundary_eta",&m_TTC_IDCaloBoundary_eta);
-    m_tree->Branch("TTC_IDCaloBoundary_phi",&m_TTC_IDCaloBoundary_phi);
-    m_tree->Branch("TTC_IDCaloBoundary_r",&m_TTC_IDCaloBoundary_r);
-    m_tree->Branch("TTC_IDCaloBoundary_z",&m_TTC_IDCaloBoundary_z);
-    
-    m_tree->Branch("TTC_Angle3D",&m_TTC_Angle3D);
-    m_tree->Branch("TTC_AngleEta",&m_TTC_AngleEta);
-    //#########################
-    //m_tree->Print();
-    if (!m_hit_x || !m_hit_y || !m_hit_z || !m_hit_energy || !m_hit_time || !m_hit_identifier || !m_hit_cellidentifier || !m_islarbarrel || !m_islarendcap || !m_islarfcal || !m_islarhec || !m_istile || !m_hit_sampling || !m_hit_samplingfraction || !m_truth_energy || !m_truth_px || !m_truth_py || !m_truth_pz || !m_truth_pdg || !m_truth_barcode || !m_truth_vtxbarcode)
-      {
-	ATH_MSG_ERROR("Unable to create TTree branch correctly");
-	return StatusCode::FAILURE;
-      }
-    if (!m_cell_identifier || !m_cell_energy || !m_cell_sampling || !m_g4hit_energy || !m_g4hit_time || !m_g4hit_identifier || !m_g4hit_cellidentifier || !m_g4hit_samplingfraction || !m_g4hit_sampling )
-      {
-	ATH_MSG_ERROR("Unable to create TTree branch correctly (cell or g4hit)");
-	return StatusCode::FAILURE;
-      }
-    if (!m_TTC_back_eta || !m_TTC_back_phi || !m_TTC_back_r || !m_TTC_back_z || !m_TTC_entrance_eta || !m_TTC_entrance_phi || !m_TTC_entrance_r || !m_TTC_entrance_z || !m_TTC_IDCaloBoundary_eta || !m_TTC_IDCaloBoundary_phi || !m_TTC_IDCaloBoundary_r || !m_TTC_IDCaloBoundary_z || !m_TTC_Angle3D || !m_TTC_AngleEta)
-      {
-	ATH_MSG_ERROR("Unable to create TTree branch correctly (TTC variables)");
-	return StatusCode::FAILURE;
-      }
-  }
-  
+  if (m_tree)
+    {
+      ATH_MSG_INFO("Successfull registered TTree: " << fullNtupleName);
+      //this actually creates the vector itself! And only if it succeeds! Note that the result is not checked! And the code is probably leaking memory in the end
+      m_tree->Branch("HitX",                 &m_hit_x);
+      m_tree->Branch("HitY",                 &m_hit_y);
+      m_tree->Branch("HitZ",                 &m_hit_z);
+      m_tree->Branch("HitE",                 &m_hit_energy);
+      m_tree->Branch("HitT",                 &m_hit_time);
+      m_tree->Branch("HitIdentifier",        &m_hit_identifier);
+      m_tree->Branch("HitCellIdentifier",    &m_hit_cellidentifier);
+      m_tree->Branch("HitIsLArBarrel",       &m_islarbarrel);
+      m_tree->Branch("HitIsLArEndCap",       &m_islarendcap);
+      m_tree->Branch("HitIsHEC",             &m_islarhec);
+      m_tree->Branch("HitIsFCAL",            &m_islarfcal);
+      m_tree->Branch("HitIsTile",            &m_istile);
+      m_tree->Branch("HitSampling",          &m_hit_sampling);
+      m_tree->Branch("HitSamplingFraction",  &m_hit_samplingfraction);
+
+      m_tree->Branch("TruthE",               &m_truth_energy);
+      m_tree->Branch("TruthPx",              &m_truth_px);
+      m_tree->Branch("TruthPy",              &m_truth_py);
+      m_tree->Branch("TruthPz",              &m_truth_pz);
+      m_tree->Branch("TruthPDG",             &m_truth_pdg);
+      m_tree->Branch("TruthBarcode",         &m_truth_barcode);
+      m_tree->Branch("TruthVtxBarcode",      &m_truth_vtxbarcode);
+
+      m_tree->Branch("CellIdentifier",       &m_cell_identifier);
+      m_tree->Branch("CellE",                &m_cell_energy);
+      m_tree->Branch("CellSampling",         &m_cell_sampling);
+
+      m_tree->Branch("G4HitE",               &m_g4hit_energy);
+      m_tree->Branch("G4HitT",               &m_g4hit_time);
+      m_tree->Branch("G4HitIdentifier",      &m_g4hit_identifier);
+      m_tree->Branch("G4HitCellIdentifier",  &m_g4hit_cellidentifier);
+      m_tree->Branch("G4HitSamplingFraction",&m_g4hit_samplingfraction);
+      m_tree->Branch("G4HitSampling",        &m_g4hit_sampling);
+      //And this looks like will fail since ROOT has no idea what the object is...
+      //m_tree->Branch("MatchedCells", &m_matched_cells);
+
+      //#########################
+      m_tree->Branch("TTC_back_eta",&m_TTC_back_eta);
+      m_tree->Branch("TTC_back_phi",&m_TTC_back_phi);
+      m_tree->Branch("TTC_back_r",&m_TTC_back_r);
+      m_tree->Branch("TTC_back_z",&m_TTC_back_z);
+      m_tree->Branch("TTC_entrance_eta",&m_TTC_entrance_eta);
+      m_tree->Branch("TTC_entrance_phi",&m_TTC_entrance_phi);
+      m_tree->Branch("TTC_entrance_r",&m_TTC_entrance_r);
+      m_tree->Branch("TTC_entrance_z",&m_TTC_entrance_z);
+      m_tree->Branch("TTC_IDCaloBoundary_eta",&m_TTC_IDCaloBoundary_eta);
+      m_tree->Branch("TTC_IDCaloBoundary_phi",&m_TTC_IDCaloBoundary_phi);
+      m_tree->Branch("TTC_IDCaloBoundary_r",&m_TTC_IDCaloBoundary_r);
+      m_tree->Branch("TTC_IDCaloBoundary_z",&m_TTC_IDCaloBoundary_z);
+      m_tree->Branch("TTC_Angle3D",&m_TTC_Angle3D);
+      m_tree->Branch("TTC_AngleEta",&m_TTC_AngleEta);
+
+      m_tree->Branch("newTTC_back_eta",&m_newTTC_back_eta);
+      m_tree->Branch("newTTC_back_phi",&m_newTTC_back_phi);
+      m_tree->Branch("newTTC_back_r",&m_newTTC_back_r);
+      m_tree->Branch("newTTC_back_z",&m_newTTC_back_z);
+      m_tree->Branch("newTTC_entrance_eta",&m_newTTC_entrance_eta);
+      m_tree->Branch("newTTC_entrance_phi",&m_newTTC_entrance_phi);
+      m_tree->Branch("newTTC_entrance_r",&m_newTTC_entrance_r);
+      m_tree->Branch("newTTC_entrance_z",&m_newTTC_entrance_z);
+      m_tree->Branch("newTTC_IDCaloBoundary_eta",&m_newTTC_IDCaloBoundary_eta);
+      m_tree->Branch("newTTC_IDCaloBoundary_phi",&m_newTTC_IDCaloBoundary_phi);
+      m_tree->Branch("newTTC_IDCaloBoundary_r",&m_newTTC_IDCaloBoundary_r);
+      m_tree->Branch("newTTC_IDCaloBoundary_z",&m_newTTC_IDCaloBoundary_z);
+      m_tree->Branch("newTTC_Angle3D",&m_newTTC_Angle3D);
+      m_tree->Branch("newTTC_AngleEta",&m_newTTC_AngleEta);
+
+      //#########################
+      //m_tree->Print();
+      if (!m_hit_x || !m_hit_y || !m_hit_z || !m_hit_energy || !m_hit_time || !m_hit_identifier || !m_hit_cellidentifier || !m_islarbarrel || !m_islarendcap || !m_islarfcal || !m_islarhec || !m_istile || !m_hit_sampling || !m_hit_samplingfraction || !m_truth_energy || !m_truth_px || !m_truth_py || !m_truth_pz || !m_truth_pdg || !m_truth_barcode || !m_truth_vtxbarcode)
+        {
+          ATH_MSG_ERROR("Unable to create TTree branch correctly");
+          return StatusCode::FAILURE;
+        }
+      if (!m_cell_identifier || !m_cell_energy || !m_cell_sampling || !m_g4hit_energy || !m_g4hit_time || !m_g4hit_identifier || !m_g4hit_cellidentifier || !m_g4hit_samplingfraction || !m_g4hit_sampling )
+        {
+          ATH_MSG_ERROR("Unable to create TTree branch correctly (cell or g4hit)");
+          return StatusCode::FAILURE;
+        }
+      if (!m_TTC_back_eta || !m_TTC_back_phi || !m_TTC_back_r || !m_TTC_back_z || !m_TTC_entrance_eta || !m_TTC_entrance_phi || !m_TTC_entrance_r || !m_TTC_entrance_z || !m_TTC_IDCaloBoundary_eta || !m_TTC_IDCaloBoundary_phi || !m_TTC_IDCaloBoundary_r || !m_TTC_IDCaloBoundary_z || !m_TTC_Angle3D || !m_TTC_AngleEta)
+        {
+          ATH_MSG_ERROR("Unable to create TTree branch correctly (TTC variables)");
+          return StatusCode::FAILURE;
+        }
+      if (!m_newTTC_back_eta || !m_newTTC_back_phi || !m_newTTC_back_r || !m_newTTC_back_z || !m_newTTC_entrance_eta || !m_newTTC_entrance_phi || !m_newTTC_entrance_r || !m_newTTC_entrance_z || !m_newTTC_IDCaloBoundary_eta || !m_newTTC_IDCaloBoundary_phi || !m_newTTC_IDCaloBoundary_r || !m_newTTC_IDCaloBoundary_z || !m_newTTC_Angle3D || !m_newTTC_AngleEta)
+        {
+          ATH_MSG_ERROR("Unable to create TTree branch correctly (newTTC variables)");
+          return StatusCode::FAILURE;
+        }
+    }
+
   return StatusCode::SUCCESS;
-}		 
 
-StatusCode ISF_HitAnalysis::finalize() {
+} //initialize
+
+StatusCode ISF_HitAnalysis::finalize()
+{
+
   ATH_MSG_INFO( "doing finalize()" );
 
   TTree* geo = new TTree( m_geoModel->atlasVersion().c_str() , m_geoModel->atlasVersion().c_str() );
-  std::string fullNtupleName =  "/"+m_geoFileName+"/"+m_geoModel->atlasVersion(); 
-  StatusCode sc = m_thistSvc->regTree(fullNtupleName, geo); 
-  if (sc.isFailure() || !geo ) { 
-    ATH_MSG_ERROR("Unable to register TTree: " << fullNtupleName); 
-    return StatusCode::FAILURE;
-  }
-  
+  std::string fullNtupleName =  "/"+m_geoFileName+"/"+m_geoModel->atlasVersion();
+  StatusCode sc = m_thistSvc->regTree(fullNtupleName, geo);
+  if(sc.isFailure() || !geo )
+    {
+      ATH_MSG_ERROR("Unable to register TTree: " << fullNtupleName);
+      return StatusCode::FAILURE;
+    }
+
   /** now add branches and leaves to the tree */
-  
-  typedef struct {
+
+  typedef struct
+  {
     Long64_t identifier;
     Int_t calosample;
     float eta,phi,r,eta_raw,phi_raw,r_raw,x,y,z,x_raw,y_raw,z_raw;
     float deta,dphi,dr,dx,dy,dz;
   } GEOCELL;
-  
-  static GEOCELL geocell;  
-  
-  if (geo){
-    ATH_MSG_INFO("Successfull registered TTree: " << fullNtupleName); 
-    //this actually creates the vector itself! And only if it succeeds! Note that the result is not checked! And the code is probably leaking memory in the end
-    //geo->Branch("cells", &geocell,"identifier/L:eta,phi,r,eta_raw,phi_raw,r_raw,x,y,z,x_raw,y_raw,z_raw/F:Deta,Dphi,Dr,Dx,Dy,Dz/F");
-    geo->Branch("identifier", &geocell.identifier,"identifier/L");
-    geo->Branch("calosample", &geocell.calosample,"calosample/I");
-
-    geo->Branch("eta", &geocell.eta,"eta/F");
-    geo->Branch("phi", &geocell.phi,"phi/F");
-    geo->Branch("r", &geocell.r,"r/F");
-    geo->Branch("eta_raw", &geocell.eta_raw,"eta_raw/F");
-    geo->Branch("phi_raw", &geocell.phi_raw,"phi_raw/F");
-    geo->Branch("r_raw", &geocell.r_raw,"r_raw/F");
-
-    geo->Branch("x", &geocell.x,"x/F");
-    geo->Branch("y", &geocell.y,"y/F");
-    geo->Branch("z", &geocell.z,"z/F");
-    geo->Branch("x_raw", &geocell.x_raw,"x_raw/F");
-    geo->Branch("y_raw", &geocell.y_raw,"y_raw/F");
-    geo->Branch("z_raw", &geocell.z_raw,"z_raw/F");
-
-    geo->Branch("deta", &geocell.deta,"deta/F");
-    geo->Branch("dphi", &geocell.dphi,"dphi/F");
-    geo->Branch("dr", &geocell.dr,"dr/F");
-    geo->Branch("dx", &geocell.dx,"dx/F");
-    geo->Branch("dy", &geocell.dy,"dy/F");
-    geo->Branch("dz", &geocell.dz,"dz/F");
-  }
-  
-
-  if(m_calo_dd_man) {
-    int ncells=0;
-    for(CaloDetDescrManager::calo_element_const_iterator calo_iter=m_calo_dd_man->element_begin();calo_iter<m_calo_dd_man->element_end();++calo_iter) {
-      const CaloDetDescrElement* theDDE=*calo_iter;
-      if(theDDE) {
-        CaloCell_ID::CaloSample sample=theDDE->getSampling();
-        //CaloCell_ID::SUBCALO calo=theDDE->getSubCalo();
-        ++ncells;
-        if(geo) {
-          geocell.identifier=theDDE->identify().get_compact();
-          geocell.calosample=sample;
-
-          geocell.eta=theDDE->eta();
-          geocell.phi=theDDE->phi();
-          geocell.r=theDDE->r();
-          geocell.eta_raw=theDDE->eta_raw();
-          geocell.phi_raw=theDDE->phi_raw();
-          geocell.r_raw=theDDE->r_raw();
-
-          geocell.x=theDDE->x();
-          geocell.y=theDDE->y();
-          geocell.z=theDDE->z();
-          geocell.x_raw=theDDE->x_raw();
-          geocell.y_raw=theDDE->y_raw();
-          geocell.z_raw=theDDE->z_raw();
-
-          geocell.deta=theDDE->deta();
-          geocell.dphi=theDDE->dphi();
-          geocell.dr=theDDE->dr();
-          geocell.dx=theDDE->dx();
-          geocell.dy=theDDE->dy();
-          geocell.dz=theDDE->dz();
-
-          geo->Fill();
-        }
-      }  
+
+  static GEOCELL geocell;
+
+  if(geo)
+    {
+      ATH_MSG_INFO("Successfull registered TTree: " << fullNtupleName);
+      //this actually creates the vector itself! And only if it succeeds! Note that the result is not checked! And the code is probably leaking memory in the end
+      //geo->Branch("cells", &geocell,"identifier/L:eta,phi,r,eta_raw,phi_raw,r_raw,x,y,z,x_raw,y_raw,z_raw/F:Deta,Dphi,Dr,Dx,Dy,Dz/F");
+      geo->Branch("identifier", &geocell.identifier,"identifier/L");
+      geo->Branch("calosample", &geocell.calosample,"calosample/I");
+
+      geo->Branch("eta", &geocell.eta,"eta/F");
+      geo->Branch("phi", &geocell.phi,"phi/F");
+      geo->Branch("r", &geocell.r,"r/F");
+      geo->Branch("eta_raw", &geocell.eta_raw,"eta_raw/F");
+      geo->Branch("phi_raw", &geocell.phi_raw,"phi_raw/F");
+      geo->Branch("r_raw", &geocell.r_raw,"r_raw/F");
+
+      geo->Branch("x", &geocell.x,"x/F");
+      geo->Branch("y", &geocell.y,"y/F");
+      geo->Branch("z", &geocell.z,"z/F");
+      geo->Branch("x_raw", &geocell.x_raw,"x_raw/F");
+      geo->Branch("y_raw", &geocell.y_raw,"y_raw/F");
+      geo->Branch("z_raw", &geocell.z_raw,"z_raw/F");
+
+      geo->Branch("deta", &geocell.deta,"deta/F");
+      geo->Branch("dphi", &geocell.dphi,"dphi/F");
+      geo->Branch("dr", &geocell.dr,"dr/F");
+      geo->Branch("dx", &geocell.dx,"dx/F");
+      geo->Branch("dy", &geocell.dy,"dy/F");
+      geo->Branch("dz", &geocell.dz,"dz/F");
     }
 
-    ATH_MSG_INFO( ncells<<" cells found" );
-  }
+  if(m_calo_dd_man)
+    {
+      int ncells=0;
+      for(CaloDetDescrManager::calo_element_const_iterator calo_iter=m_calo_dd_man->element_begin();calo_iter<m_calo_dd_man->element_end();++calo_iter)
+        {
+          const CaloDetDescrElement* theDDE=*calo_iter;
+          if(theDDE)
+            {
+              CaloCell_ID::CaloSample sample=theDDE->getSampling();
+              //CaloCell_ID::SUBCALO calo=theDDE->getSubCalo();
+              ++ncells;
+              if(geo)
+                {
+                  geocell.identifier=theDDE->identify().get_compact();
+                  geocell.calosample=sample;
+                  geocell.eta=theDDE->eta();
+                  geocell.phi=theDDE->phi();
+                  geocell.r=theDDE->r();
+                  geocell.eta_raw=theDDE->eta_raw();
+                  geocell.phi_raw=theDDE->phi_raw();
+                  geocell.r_raw=theDDE->r_raw();
+                  geocell.x=theDDE->x();
+                  geocell.y=theDDE->y();
+                  geocell.z=theDDE->z();
+                  geocell.x_raw=theDDE->x_raw();
+                  geocell.y_raw=theDDE->y_raw();
+                  geocell.z_raw=theDDE->z_raw();
+                  geocell.deta=theDDE->deta();
+                  geocell.dphi=theDDE->dphi();
+                  geocell.dr=theDDE->dr();
+                  geocell.dx=theDDE->dx();
+                  geocell.dy=theDDE->dy();
+                  geocell.dz=theDDE->dz();
+
+                  geo->Fill();
+                }
+            }
+        }
+
+      ATH_MSG_INFO( ncells<<" cells found" );
+    }
 
   return StatusCode::SUCCESS;
-}
+} //finalize
+
+
+StatusCode ISF_HitAnalysis::execute()
+{
 
-StatusCode ISF_HitAnalysis::execute() {
   ATH_MSG_DEBUG( "In ISF_HitAnalysis::execute()" );
-  
-  if (! m_tree) {
-    ATH_MSG_ERROR( "tree not registered" );
-    return StatusCode::FAILURE;
-  }
-  
-  //now if the branches were created correctly, the pointers point to something and it is possible to clear the vectors 
+
+  if (! m_tree)
+    {
+      ATH_MSG_ERROR( "tree not registered" );
+      return StatusCode::FAILURE;
+    }
+
+  //now if the branches were created correctly, the pointers point to something and it is possible to clear the vectors
   TVector3 vectest;
   vectest.SetPtEtaPhi(1.,1.,1.);
   m_hit_x->clear();
@@ -614,7 +710,7 @@ StatusCode ISF_HitAnalysis::execute() {
   m_g4hit_samplingfraction->clear();
   //which fails for this one!!
   //m_matched_cells->clear();
-  
+
   //##########################
   m_TTC_back_eta->clear();
   m_TTC_back_phi->clear();
@@ -624,16 +720,29 @@ StatusCode ISF_HitAnalysis::execute() {
   m_TTC_entrance_phi->clear();
   m_TTC_entrance_r->clear();
   m_TTC_entrance_z->clear();
-
   m_TTC_IDCaloBoundary_eta->clear();
   m_TTC_IDCaloBoundary_phi->clear();
   m_TTC_IDCaloBoundary_r->clear();
   m_TTC_IDCaloBoundary_z->clear();
-  
   m_TTC_Angle3D->clear();
   m_TTC_AngleEta->clear();
+
+  m_newTTC_back_eta->clear();
+  m_newTTC_back_phi->clear();
+  m_newTTC_back_r->clear();
+  m_newTTC_back_z->clear();
+  m_newTTC_entrance_eta->clear();
+  m_newTTC_entrance_phi->clear();
+  m_newTTC_entrance_r->clear();
+  m_newTTC_entrance_z->clear();
+  m_newTTC_IDCaloBoundary_eta->clear();
+  m_newTTC_IDCaloBoundary_phi->clear();
+  m_newTTC_IDCaloBoundary_r->clear();
+  m_newTTC_IDCaloBoundary_z->clear();
+  m_newTTC_Angle3D->clear();
+  m_newTTC_AngleEta->clear();
   //##########################
-  
+
   //Get the FastCaloSim step info collection from store
   const ISF_FCS_Parametrization::FCS_StepInfoCollection* eventStepsES;
   StatusCode sc = evtStore()->retrieve(eventStepsES, "ZHMergedEventSteps");
@@ -647,209 +756,258 @@ StatusCode ISF_HitAnalysis::execute() {
       ATH_MSG_INFO("Read: "<<eventStepsES->size()<<" position hits");
       for (ISF_FCS_Parametrization::FCS_StepInfoCollection::const_iterator it = eventStepsES->begin(); it != eventStepsES->end(); ++it)
         {
-	  m_hit_x->push_back( (*it)->x() );
-	  m_hit_y->push_back( (*it)->y() );
-	  m_hit_z->push_back( (*it)->z() );
-	  m_hit_energy->push_back( (*it)->energy() );
+          m_hit_x->push_back( (*it)->x() );
+          m_hit_y->push_back( (*it)->y() );
+          m_hit_z->push_back( (*it)->z() );
+          m_hit_energy->push_back( (*it)->energy() );
           m_hit_time->push_back( (*it)->time());
 
-	  //Try to get the samplings, sampling fractions from identifiers
-	  bool larbarrel=false;
-	  bool larendcap=false;
-	  bool larhec=false;
-	  bool larfcal=false;
-	  bool tile=false;
-	  int sampling=-1;
-	  double sampfrac=0.0;
-
-	  Identifier id = (*it)->identify();
-	  Identifier cell_id = (*it)->identify(); //to be replaced by cell_id in tile
-	  
-	  if (m_calo_dd_man->get_element(id))
-	    {
-	      CaloCell_ID::CaloSample layer = m_calo_dd_man->get_element(id)->getSampling();
-	      sampling = layer; //use CaloCell layer immediately
-	    }
-	  else
-	    {
-	      ATH_MSG_WARNING( "Warning no sampling info for "<<id.getString());
-	    }
-	  
-	  if (m_larEmID->is_lar_em(id) || m_larHecID->is_lar_hec(id) || m_larFcalID->is_lar_fcal(id))
-	    {
-	      sampfrac=m_dd_fSampl->FSAMPL(id);
-	    }
-	  if (m_larEmID->is_lar_em(id))
-	    {
-	      //std::cout <<"This hit is in LAr EM ";
-	      if (m_larEmID->is_em_barrel(id))
-		{
-		  larbarrel=true;
-		}
-	      else if (m_larEmID->is_em_endcap(id))
-		{
-		  larendcap=true;
-		}
-	    }
-	  else if (m_larHecID->is_lar_hec(id))
-	    {
-	      larhec = true;
-	    }
-	  else if (m_larFcalID->is_lar_fcal(id))
-	    {
-	      larfcal = true;
-	    }
-	  else if (m_tileID->is_tile_barrel(id) || m_tileID->is_tile_extbarrel(id) || m_tileID->is_tile_gap(id) || m_tileID->is_tile_gapscin(id) || m_tileID->is_tile_aux(id))
-	    {
-	      cell_id = m_tileID->cell_id(id);
-	      Int_t tile_sampling = -1;
-	      if (m_calo_dd_man->get_element(cell_id))
-		{
-		  tile_sampling = m_calo_dd_man->get_element(cell_id)->getSampling();
-		  sampfrac = m_tileInfo->HitCalib(cell_id);
-		}
-	      tile = true;
-	      if (tile_sampling!= -1) sampling = tile_sampling; //m_calo_dd_man needs to be called with cell_id not pmt_id!!
-	    }
-	  else
-	    {
-	      ATH_MSG_WARNING( "This hit is somewhere. Please check!");
-	    }	  
-	  m_hit_identifier->push_back(id.get_compact());	
-	  m_hit_cellidentifier->push_back(cell_id.get_compact()); 
-	  //push things into vectors:
-	  m_islarbarrel->push_back(larbarrel);
-	  m_islarendcap->push_back(larendcap);
-	  m_islarhec->push_back(larhec);
-	  m_islarfcal->push_back(larfcal);
-	  m_istile->push_back(tile);
-	  m_hit_sampling->push_back(sampling);
-	  m_hit_samplingfraction->push_back(sampfrac);
-	
-	} //event steps
+          //Try to get the samplings, sampling fractions from identifiers
+          bool larbarrel=false;
+          bool larendcap=false;
+          bool larhec=false;
+          bool larfcal=false;
+          bool tile=false;
+          int sampling=-1;
+          double sampfrac=0.0;
+
+          Identifier id = (*it)->identify();
+          Identifier cell_id = (*it)->identify(); //to be replaced by cell_id in tile
+
+          if(m_calo_dd_man->get_element(id))
+            {
+              CaloCell_ID::CaloSample layer = m_calo_dd_man->get_element(id)->getSampling();
+              sampling = layer; //use CaloCell layer immediately
+            }
+          else
+            ATH_MSG_WARNING( "Warning no sampling info for "<<id.getString());
+
+          if(m_larEmID->is_lar_em(id) || m_larHecID->is_lar_hec(id) || m_larFcalID->is_lar_fcal(id))
+            sampfrac=m_dd_fSampl->FSAMPL(id);
+
+          if(m_larEmID->is_lar_em(id))
+            {
+              //std::cout <<"This hit is in LAr EM ";
+              if (m_larEmID->is_em_barrel(id))
+                larbarrel=true;
+              else if(m_larEmID->is_em_endcap(id))
+                larendcap=true;
+            }
+          else if(m_larHecID->is_lar_hec(id))
+            larhec = true;
+          else if(m_larFcalID->is_lar_fcal(id))
+            larfcal = true;
+          else if(m_tileID->is_tile_barrel(id) || m_tileID->is_tile_extbarrel(id) || m_tileID->is_tile_gap(id) || m_tileID->is_tile_gapscin(id) || m_tileID->is_tile_aux(id))
+            {
+              cell_id = m_tileID->cell_id(id);
+              Int_t tile_sampling = -1;
+              if(m_calo_dd_man->get_element(cell_id))
+                {
+                  tile_sampling = m_calo_dd_man->get_element(cell_id)->getSampling();
+                  sampfrac = m_tileInfo->HitCalib(cell_id);
+                }
+              tile = true;
+              if(tile_sampling!= -1)
+                sampling = tile_sampling; //m_calo_dd_man needs to be called with cell_id not pmt_id!!
+            }
+          else
+            ATH_MSG_WARNING( "This hit is somewhere. Please check!");
+
+          m_hit_identifier->push_back(id.get_compact());
+          m_hit_cellidentifier->push_back(cell_id.get_compact());
+          //push things into vectors:
+          m_islarbarrel->push_back(larbarrel);
+          m_islarendcap->push_back(larendcap);
+          m_islarhec->push_back(larhec);
+          m_islarfcal->push_back(larfcal);
+          m_istile->push_back(tile);
+          m_hit_sampling->push_back(sampling);
+          m_hit_samplingfraction->push_back(sampfrac);
+
+        } //event steps
     }//event steps read correctly
 
   //Get truth particle info
   //Note that there can be more truth particles, the first one is usually the one we need.
   const DataHandle<McEventCollection> mcEvent;
   sc = evtStore()->retrieve(mcEvent,"TruthEvent");
-  if (sc.isFailure())
-    {
-      ATH_MSG_WARNING( "No truth event!");
-    }
+  if(sc.isFailure())
+    ATH_MSG_WARNING( "No truth event!");
   else
     {
-      if (mcEvent)
-	{
-	  //std::cout<<"ISF_HitAnalysis: MC event size: "<<mcEvent->size()<<std::endl;
-	  if (mcEvent->size())
-	    {
-	    	int particleIndex=0;
-		int loopEnd = m_NtruthParticles;
-		if (loopEnd==-1)
-		  {
-		    loopEnd = (*mcEvent->begin())->particles_size(); //is this the correct thing?
-		  }
-	      //std::cout <<"ISF_HitAnalysis: MC first truth event size: "<<(*mcEvent->begin())->particles_size()<<std::endl;
-	      for (HepMC::GenEvent::particle_const_iterator it = (*mcEvent->begin())->particles_begin(); it != (*mcEvent->begin())->particles_end(); ++it)
-		{
-    ATH_MSG_DEBUG("Number truth particles="<<(*mcEvent->begin())->particles_size()<<" loopEnd="<<loopEnd);
-		  particleIndex++;
-
-		  if (particleIndex>loopEnd) break; //enough particles
-		  
-    //UPDATE EXTRAPOLATION
-    std::vector<Trk::HitInfo>* hitVector = caloHits(*(*it));
-
-    Amg::Vector3D mom((*it)->momentum().x(),(*it)->momentum().y(),(*it)->momentum().z());
-
-		  
-		  
-		  m_truth_energy->push_back((*it)->momentum().e());
-		  m_truth_px->push_back((*it)->momentum().px());
-		  m_truth_py->push_back((*it)->momentum().py());
-		  m_truth_pz->push_back((*it)->momentum().pz());
-		  m_truth_pdg->push_back((*it)->pdg_id());
-		  m_truth_barcode->push_back((*it)->barcode());
-		  
-      		  //extrapolate only if the vertex is within the IDcaloboundary - margin
-		  //bool inside_ID=false;
-		  HepMC::GenVertex* pvtx = (*it)->production_vertex();
-		  if (pvtx)
-		    {
-		      m_truth_vtxbarcode->push_back(pvtx->barcode());
-		      double radius2=(pvtx->position().x()*pvtx->position().x())+(pvtx->position().y()*pvtx->position().y());
-		      ATH_MSG_VERBOSE("particle "<<particleIndex<<" Mom: "<<(*it)->momentum().e()<<"|"<<(*it)->momentum().px()<<"|"<<(*it)->momentum().py()<<"|"<<(*it)->momentum().pz()<<" vertex_x "<<pvtx->position().x()<<" y "<<pvtx->position().y()<<" z "<<pvtx->position().z()<<" r2 "<<radius2<<" VertexBarcode: "<<pvtx->barcode()<<" ParticleBarcode:"<<(*it)->barcode()<<" status: "<<(*it)->status());
-		      //std::cout<<"m_CaloBoundaryZ+m_calomargin "<<m_CaloBoundaryZ+m_calomargin<<" m_CaloBoundaryR+m_calomargin "<<m_CaloBoundaryR+m_calomargin<<std::endl;
-		      if(fabs(pvtx->position().z())<(m_CaloBoundaryZ+m_calomargin) && radius2<((m_CaloBoundaryR+m_calomargin)*(m_CaloBoundaryR+m_calomargin))) 
-			{
-			  //inside_ID=true;
-			  //if(inside_ID)
-			  //  {
-			  ATH_MSG_DEBUG("*** Do extrapolation ***");
-			  extrapolate(*it,hitVector);
-			  ATH_MSG_DEBUG("*** Do extrapolation to ID ***");
-			  extrapolate_to_ID(*it,hitVector);
-			  ATH_MSG_DEBUG("Truth extrapolation done for "<<particleIndex<<" "<<(*it)->barcode());
-			}
-		      else
-			{
-			  //prefill extrapolated angles with some weird values
-			  m_TTC_IDCaloBoundary_eta->push_back(-999.);
-			  m_TTC_IDCaloBoundary_phi->push_back(-999.);
-			  m_TTC_IDCaloBoundary_r->push_back(-999.);
-			  m_TTC_IDCaloBoundary_z->push_back(-999.);
-			  m_TTC_Angle3D->push_back(-999.);
-			  m_TTC_AngleEta->push_back(-999.);
-			}
-		    }
-		  else
-		    {
-		      ATH_MSG_WARNING( "No vertex found for truth particle, no extrapolation");
-		      //pvtx failed??		      
-		      //prefill extrapolated angles with some weird values
-		      m_truth_vtxbarcode->push_back(-999999);
-		      //These are for each layer
-		      std::vector<double> eta_safe;
-		      std::vector<double> phi_safe;
-		      std::vector<double> r_safe;
-		      std::vector<double> z_safe;
-		      for(int sample=CaloCell_ID_FCS::FirstSample;sample<CaloCell_ID_FCS::MaxSample;++sample)
-			{
-			  eta_safe.push_back(-999.0);
-			  phi_safe.push_back(-999.0);
-			  r_safe.push_back(-999.0);
-			  z_safe.push_back(-999.0);
-			}
-		      m_TTC_back_eta->push_back(eta_safe);
-		      m_TTC_back_phi->push_back(phi_safe);
-		      m_TTC_back_r->push_back(r_safe);
-		      m_TTC_back_z->push_back(z_safe);
-
-		      m_TTC_entrance_eta->push_back(eta_safe);
-		      m_TTC_entrance_phi->push_back(phi_safe);
-		      m_TTC_entrance_r->push_back(r_safe);
-		      m_TTC_entrance_z->push_back(z_safe);
-
-		      m_TTC_IDCaloBoundary_eta->push_back(-999.);
-		      m_TTC_IDCaloBoundary_phi->push_back(-999.);
-		      m_TTC_IDCaloBoundary_r->push_back(-999.);
-		      m_TTC_IDCaloBoundary_z->push_back(-999.);
-		      m_TTC_Angle3D->push_back(-999.);
-		      m_TTC_AngleEta->push_back(-999.);
-		    }	  
-    for(std::vector<Trk::HitInfo>::iterator it = hitVector->begin();it < hitVector->end();++it)  {
-      if((*it).trackParms) {
-        delete (*it).trackParms;
-        (*it).trackParms=0;
-      }  
-    }
-    delete hitVector;
-		}
-	    }
-	}
+      if(mcEvent)
+        {
+          //std::cout<<"ISF_HitAnalysis: MC event size: "<<mcEvent->size()<<std::endl;
+          if (mcEvent->size())
+            {
+              int particleIndex=0;
+              int loopEnd = m_NtruthParticles;
+              if(loopEnd==-1)
+                {
+                  loopEnd = (*mcEvent->begin())->particles_size(); //is this the correct thing?
+                }
+              //std::cout <<"ISF_HitAnalysis: MC first truth event size: "<<(*mcEvent->begin())->particles_size()<<std::endl;
+              for (HepMC::GenEvent::particle_const_iterator it = (*mcEvent->begin())->particles_begin(); it != (*mcEvent->begin())->particles_end(); ++it)
+                {
+                  ATH_MSG_DEBUG("Number truth particles="<<(*mcEvent->begin())->particles_size()<<" loopEnd="<<loopEnd);
+                  particleIndex++;
+
+                  if (particleIndex>loopEnd) break; //enough particles
+
+                  //UPDATE EXTRAPOLATION WITH ALGTOOL *********************************************************************************************
+                  TFCSTruthState truth((*it)->momentum().px(),(*it)->momentum().py(),(*it)->momentum().pz(),(*it)->momentum().e(),(*it)->pdg_id());
+                  TFCSExtrapolationState result;
+                  m_FastCaloSimCaloExtrapolation->extrapolate(result,&truth);
+
+                  //write the result into the ntuple variables:
+
+                  std::cout<<"IDCaloBoundary_eta() "<<result.IDCaloBoundary_eta()<<std::endl;
+                  std::cout<<"IDCaloBoundary_phi() "<<result.IDCaloBoundary_phi()<<std::endl;
+                  std::cout<<"IDCaloBoundary_r() "<<result.IDCaloBoundary_r()<<std::endl;
+                  std::cout<<"IDCaloBoundary_z() "<<result.IDCaloBoundary_z()<<std::endl;
+                  std::cout<<"AngleEta "<<result.IDCaloBoundary_AngleEta()<<std::endl;
+                  std::cout<<"Angle3D "<<result.IDCaloBoundary_Angle3D()<<std::endl;
+
+                  m_newTTC_IDCaloBoundary_eta->push_back(result.IDCaloBoundary_eta());
+                  m_newTTC_IDCaloBoundary_phi->push_back(result.IDCaloBoundary_phi());
+                  m_newTTC_IDCaloBoundary_r->push_back(result.IDCaloBoundary_r());
+                  m_newTTC_IDCaloBoundary_z->push_back(result.IDCaloBoundary_z());
+                  m_newTTC_Angle3D ->push_back(result.IDCaloBoundary_Angle3D());
+                  m_newTTC_AngleEta->push_back(result.IDCaloBoundary_AngleEta());
+
+                  std::vector<double> eta_vec_ENT;
+                  std::vector<double> phi_vec_ENT;
+                  std::vector<double> r_vec_ENT;
+                  std::vector<double> z_vec_ENT;
+
+                  std::vector<double> eta_vec_EXT;
+                  std::vector<double> phi_vec_EXT;
+                  std::vector<double> r_vec_EXT;
+                  std::vector<double> z_vec_EXT;
+
+                  for(int sample=CaloCell_ID_FCS::FirstSample;sample<CaloCell_ID_FCS::MaxSample;++sample)
+                    {
+                      std::cout<<"sample "<<sample<<std::endl;
+                      std::cout<<" eta ENT "<<result.eta(sample,1)<<" eta EXT "<<result.eta(sample,2)<<std::endl;
+                      std::cout<<" phi ENT "<<result.phi(sample,1)<<" phi EXT "<<result.phi(sample,2)<<std::endl;
+                      std::cout<<" r   ENT "<<result.r(sample,1)  <<" r   EXT "<<result.r(sample,2)  <<std::endl;
+                      std::cout<<" z   ENT "<<result.z(sample,1)  <<" z   EXT "<<result.z(sample,2)  <<std::endl;
+                      eta_vec_ENT.push_back(result.eta(sample,1));
+                      eta_vec_EXT.push_back(result.eta(sample,2));
+                      phi_vec_ENT.push_back(result.phi(sample,1));
+                      phi_vec_EXT.push_back(result.phi(sample,2));
+                      r_vec_ENT.push_back(result.r(sample,1));
+                      r_vec_EXT.push_back(result.r(sample,2));
+                      z_vec_ENT.push_back(result.z(sample,1));
+                      z_vec_EXT.push_back(result.z(sample,2));
+                    }
+
+                  m_newTTC_back_eta->push_back(eta_vec_EXT);
+                  m_newTTC_back_phi->push_back(phi_vec_EXT);
+                  m_newTTC_back_r  ->push_back(r_vec_EXT);
+                  m_newTTC_back_z  ->push_back(z_vec_EXT);
+                  m_newTTC_entrance_eta->push_back(eta_vec_ENT);
+                  m_newTTC_entrance_phi->push_back(phi_vec_ENT);
+                  m_newTTC_entrance_r  ->push_back(r_vec_ENT);
+                  m_newTTC_entrance_z  ->push_back(z_vec_ENT);
+
+                  //*******************************************************************************************************************************
+
+                  //UPDATE EXTRAPOLATION (old extrapolation)
+                  std::vector<Trk::HitInfo>* hitVector = caloHits(*(*it));
+
+                  Amg::Vector3D mom((*it)->momentum().x(),(*it)->momentum().y(),(*it)->momentum().z());
+
+                  m_truth_energy->push_back((*it)->momentum().e());
+                  m_truth_px->push_back((*it)->momentum().px());
+                  m_truth_py->push_back((*it)->momentum().py());
+                  m_truth_pz->push_back((*it)->momentum().pz());
+                  m_truth_pdg->push_back((*it)->pdg_id());
+                  m_truth_barcode->push_back((*it)->barcode());
+
+                  //extrapolate only if the vertex is within the IDcaloboundary - margin
+                  //bool inside_ID=false;
+                  HepMC::GenVertex* pvtx = (*it)->production_vertex();
+                  if(pvtx)
+                    {
+                      truth.set_vertex(pvtx->position().x(),pvtx->position().y(),pvtx->position().z(),pvtx->position().t());
+
+                      m_truth_vtxbarcode->push_back(pvtx->barcode());
+                      double radius2=(pvtx->position().x()*pvtx->position().x())+(pvtx->position().y()*pvtx->position().y());
+                      ATH_MSG_VERBOSE("particle "<<particleIndex<<" Mom: "<<(*it)->momentum().e()<<"|"<<(*it)->momentum().px()<<"|"<<(*it)->momentum().py()<<"|"<<(*it)->momentum().pz()<<" vertex_x "<<pvtx->position().x()<<" y "<<pvtx->position().y()<<" z "<<pvtx->position().z()<<" r2 "<<radius2<<" VertexBarcode: "<<pvtx->barcode()<<" ParticleBarcode:"<<(*it)->barcode()<<" status: "<<(*it)->status());
+                      //std::cout<<"m_CaloBoundaryZ+m_calomargin "<<m_CaloBoundaryZ+m_calomargin<<" m_CaloBoundaryR+m_calomargin "<<m_CaloBoundaryR+m_calomargin<<std::endl;
+
+                      if(fabs(pvtx->position().z())<(m_CaloBoundaryZ+m_calomargin) && radius2<((m_CaloBoundaryR+m_calomargin)*(m_CaloBoundaryR+m_calomargin)))
+                        {
+                          //inside_ID=true;
+                          //if(inside_ID)
+                          //  {
+                          ATH_MSG_DEBUG("*** Do extrapolation ***");
+                          extrapolate(*it,hitVector);
+                          ATH_MSG_DEBUG("*** Do extrapolation to ID ***");
+                          extrapolate_to_ID(*it,hitVector);
+                          ATH_MSG_DEBUG("Truth extrapolation done for "<<particleIndex<<" "<<(*it)->barcode());
+                        } //in this case no extrapolation possible
+                      else
+                        {
+                          //fill extrapolated angles with some weird values
+                          m_TTC_IDCaloBoundary_eta->push_back(-999.);
+                          m_TTC_IDCaloBoundary_phi->push_back(-999.);
+                          m_TTC_IDCaloBoundary_r->push_back(-999.);
+                          m_TTC_IDCaloBoundary_z->push_back(-999.);
+                          m_TTC_Angle3D->push_back(-999.);
+                          m_TTC_AngleEta->push_back(-999.);
+
+                        }
+                    } //if pvtx
+                  else //no pvtx
+                    {
+                      ATH_MSG_WARNING( "No vertex found for truth particle, no extrapolation");
+                      m_truth_vtxbarcode->push_back(-999999);
+
+                      //fill extrapolated angles with some weird values
+                      std::vector<double> eta_safe;
+                      std::vector<double> phi_safe;
+                      std::vector<double> r_safe;
+                      std::vector<double> z_safe;
+                      for(int sample=CaloCell_ID_FCS::FirstSample;sample<CaloCell_ID_FCS::MaxSample;++sample)
+                        {
+                          eta_safe.push_back(-999.0);
+                          phi_safe.push_back(-999.0);
+                          r_safe.push_back(-999.0);
+                          z_safe.push_back(-999.0);
+                        }
+
+                      m_TTC_back_eta->push_back(eta_safe);
+                      m_TTC_back_phi->push_back(phi_safe);
+                      m_TTC_back_r->push_back(r_safe);
+                      m_TTC_back_z->push_back(z_safe);
+                      m_TTC_entrance_eta->push_back(eta_safe);
+                      m_TTC_entrance_phi->push_back(phi_safe);
+                      m_TTC_entrance_r->push_back(r_safe);
+                      m_TTC_entrance_z->push_back(z_safe);
+                      m_TTC_IDCaloBoundary_eta->push_back(-999.);
+                      m_TTC_IDCaloBoundary_phi->push_back(-999.);
+                      m_TTC_IDCaloBoundary_r->push_back(-999.);
+                      m_TTC_IDCaloBoundary_z->push_back(-999.);
+                      m_TTC_Angle3D->push_back(-999.);
+                      m_TTC_AngleEta->push_back(-999.);
+
+                    } //no pvtx
+                  for(std::vector<Trk::HitInfo>::iterator it = hitVector->begin();it < hitVector->end();++it)
+                    {
+                      if((*it).trackParms)
+                        {
+                          delete (*it).trackParms;
+                          (*it).trackParms=0;
+                        }
+                    }
+                  delete hitVector;
+                }
+            }
+        }
     }//truth event
-  
+
   //Get reco cells if available
   const CaloCellContainer *cellColl = 0;
   sc = evtStore()->retrieve(cellColl, "AllCalo");
@@ -863,131 +1021,139 @@ StatusCode ISF_HitAnalysis::execute() {
     {
       ATH_MSG_INFO( "Found: "<<cellColl->size()<<" calorimeter cells");
       CaloCellContainer::const_iterator itrCell = cellColl->begin();
-      CaloCellContainer::const_iterator itrLastCell = cellColl->end();      
-      for ( ; itrCell!=itrLastCell; ++itrCell){
-	m_cell_energy->push_back((*itrCell)->energy());
-	m_cell_identifier->push_back((*itrCell)->ID().get_compact());
-	if (m_calo_dd_man->get_element((*itrCell)->ID()))
-	  {
-	    CaloCell_ID::CaloSample layer = m_calo_dd_man->get_element((*itrCell)->ID())->getSampling();
-	    m_cell_sampling->push_back(layer);
-	  }
-	  else m_cell_sampling->push_back(-1);
-
-      }
-    }//calorimeter cells
+      CaloCellContainer::const_iterator itrLastCell = cellColl->end();
+      for ( ; itrCell!=itrLastCell; ++itrCell)
+        {
+          m_cell_energy->push_back((*itrCell)->energy());
+          m_cell_identifier->push_back((*itrCell)->ID().get_compact());
+          if (m_calo_dd_man->get_element((*itrCell)->ID()))
+            {
+              CaloCell_ID::CaloSample layer = m_calo_dd_man->get_element((*itrCell)->ID())->getSampling();
+              m_cell_sampling->push_back(layer);
+            }
+          else
+            m_cell_sampling->push_back(-1);
+        }
+    } //calorimeter cells
 
   //Get all G4Hits (from CaloHitAnalysis)
   std::string  lArKey [4] = {"LArHitEMB", "LArHitEMEC", "LArHitFCAL", "LArHitHEC"};
-  for (unsigned int i=0;i<4;i++){
-    const DataHandle<LArHitContainer> iter;
-    ATH_MSG_DEBUG( "Checking G4Hits: "<<lArKey[i]);
-    if (evtStore()->retrieve(iter,lArKey[i])==StatusCode::SUCCESS) {
-      LArHitContainer::const_iterator hi;
-      int hitnumber = 0;
-      for (hi=(*iter).begin();hi!=(*iter).end();hi++){
-	hitnumber++;
-	GeoLArHit ghit(**hi);
-        if (!ghit) continue;
-        const CaloDetDescrElement *hitElement = ghit.getDetDescrElement();
-	if (!hitElement) continue;
-	Identifier larhitid = hitElement->identify();
-	if (m_calo_dd_man->get_element(larhitid))
-	  {
-	    CaloCell_ID::CaloSample larlayer = m_calo_dd_man->get_element(larhitid)->getSampling();
-	  
-	    float larsampfrac=m_dd_fSampl->FSAMPL(larhitid);
-	    m_g4hit_energy->push_back( ghit.Energy() );
-	    m_g4hit_time->push_back( ghit.Time() );	    
-	    m_g4hit_identifier->push_back( larhitid.get_compact() );
-	    m_g4hit_cellidentifier->push_back( larhitid.get_compact() );
-	    m_g4hit_sampling->push_back( larlayer);
-	    m_g4hit_samplingfraction->push_back( larsampfrac );       
-	  }
-      } // End while LAr hits
-      ATH_MSG_INFO( "Read "<<hitnumber<<" G4Hits from "<<lArKey[i]);
-    }else
-      {
-       	ATH_MSG_INFO( "Can't retrieve LAr hits");
-      }    // End statuscode success upon retrieval of hits
-    //std::cout <<"ZH G4Hit size: "<<m_g4hit_e->size()<<std::endl;
-  }   // End detector type loop
-  
+  for (unsigned int i=0;i<4;i++)
+    {
+      const DataHandle<LArHitContainer> iter;
+      ATH_MSG_DEBUG( "Checking G4Hits: "<<lArKey[i]);
+      if(evtStore()->retrieve(iter,lArKey[i])==StatusCode::SUCCESS)
+        {
+          LArHitContainer::const_iterator hi;
+          int hitnumber = 0;
+          for (hi=(*iter).begin();hi!=(*iter).end();hi++)
+            {
+              hitnumber++;
+              GeoLArHit ghit(**hi);
+              if (!ghit)
+                continue;
+              const CaloDetDescrElement *hitElement = ghit.getDetDescrElement();
+              if(!hitElement)
+                continue;
+              Identifier larhitid = hitElement->identify();
+              if(m_calo_dd_man->get_element(larhitid))
+                {
+                  CaloCell_ID::CaloSample larlayer = m_calo_dd_man->get_element(larhitid)->getSampling();
+
+                  float larsampfrac=m_dd_fSampl->FSAMPL(larhitid);
+                  m_g4hit_energy->push_back( ghit.Energy() );
+                  m_g4hit_time->push_back( ghit.Time() );
+                  m_g4hit_identifier->push_back( larhitid.get_compact() );
+                  m_g4hit_cellidentifier->push_back( larhitid.get_compact() );
+                  m_g4hit_sampling->push_back( larlayer);
+                  m_g4hit_samplingfraction->push_back( larsampfrac );
+                }
+            } // End while LAr hits
+          ATH_MSG_INFO( "Read "<<hitnumber<<" G4Hits from "<<lArKey[i]);
+        }
+      else
+        {
+          ATH_MSG_INFO( "Can't retrieve LAr hits");
+        }// End statuscode success upon retrieval of hits
+      //std::cout <<"ZH G4Hit size: "<<m_g4hit_e->size()<<std::endl;
+    }// End detector type loop
+
   const TileHitVector * hitVec;
-  if (evtStore()->retrieve(hitVec,"TileHitVec")==StatusCode::SUCCESS &&
-      m_tileMgr &&
-      m_tileID ){
+  if (evtStore()->retrieve(hitVec,"TileHitVec")==StatusCode::SUCCESS &&  m_tileMgr &&  m_tileID )
+    {
       int hitnumber = 0;
-    for(TileHitVecConstIterator i_hit=hitVec->begin() ; i_hit!=hitVec->end() ; ++i_hit){
-      hitnumber++;
-      Identifier pmt_id = (*i_hit).identify();
-      Identifier cell_id = m_tileID->cell_id(pmt_id);
-      //const  CaloDetDescrElement* ddElement = m_tileMgr->get_cell_element(cell_id);
-      
-      if (m_calo_dd_man->get_element(cell_id))
-	{
-	  CaloCell_ID::CaloSample layer = m_calo_dd_man->get_element(cell_id)->getSampling();
-	
-	  float tilesampfrac = m_tileInfo->HitCalib(cell_id);
-	  //could there be more subhits??	  
-	  for (int tilesubhit_i = 0; tilesubhit_i<(*i_hit).size(); tilesubhit_i++)
-	    {
-	    	//!!
-	      //std::cout <<"Tile subhit: "<<tilesubhit_i<<"/"<<(*i_hit).size()<< " E: "<<(*i_hit).energy(tilesubhit_i)<<std::endl;
-	      m_g4hit_energy->push_back( (*i_hit).energy(tilesubhit_i) );
-	      m_g4hit_time->push_back(   (*i_hit).time(tilesubhit_i)   );
-	      m_g4hit_identifier->push_back( pmt_id.get_compact() );
-	      m_g4hit_cellidentifier->push_back( cell_id.get_compact() );
-	      m_g4hit_sampling->push_back( layer );
-	      m_g4hit_samplingfraction->push_back( tilesampfrac );
-	    }
-	}
+      for(TileHitVecConstIterator i_hit=hitVec->begin() ; i_hit!=hitVec->end() ; ++i_hit)
+        {
+          hitnumber++;
+          Identifier pmt_id = (*i_hit).identify();
+          Identifier cell_id = m_tileID->cell_id(pmt_id);
+          //const  CaloDetDescrElement* ddElement = m_tileMgr->get_cell_element(cell_id);
+
+          if (m_calo_dd_man->get_element(cell_id))
+            {
+              CaloCell_ID::CaloSample layer = m_calo_dd_man->get_element(cell_id)->getSampling();
+
+              float tilesampfrac = m_tileInfo->HitCalib(cell_id);
+
+              //could there be more subhits??
+              for (int tilesubhit_i = 0; tilesubhit_i<(*i_hit).size(); tilesubhit_i++)
+                {
+                  //!!
+                  //std::cout <<"Tile subhit: "<<tilesubhit_i<<"/"<<(*i_hit).size()<< " E: "<<(*i_hit).energy(tilesubhit_i)<<std::endl;
+                  m_g4hit_energy->push_back( (*i_hit).energy(tilesubhit_i) );
+                  m_g4hit_time->push_back(   (*i_hit).time(tilesubhit_i)   );
+                  m_g4hit_identifier->push_back( pmt_id.get_compact() );
+                  m_g4hit_cellidentifier->push_back( cell_id.get_compact() );
+                  m_g4hit_sampling->push_back( layer );
+                  m_g4hit_samplingfraction->push_back( tilesampfrac );
+                }
+            }
+        }
+      ATH_MSG_INFO( "Read "<<hitnumber<<" G4Hits from TileHitVec");
     }
-    ATH_MSG_INFO( "Read "<<hitnumber<<" G4Hits from TileHitVec");
-  }
 
   //Fill the tree and finish
   if (m_tree) m_tree->Fill();
 
   return StatusCode::SUCCESS;
-}
+
+} //execute
 
 std::vector<Trk::HitInfo>* ISF_HitAnalysis::caloHits(const HepMC::GenParticle& part) const
 {
   // Start calo extrapolation
   ATH_MSG_DEBUG ("[ fastCaloSim transport ] processing particle "<<part.pdg_id() );
 
-  std::vector<Trk::HitInfo>*     hitVector =  new std::vector<Trk::HitInfo>;   
+  std::vector<Trk::HitInfo>*     hitVector =  new std::vector<Trk::HitInfo>;
 
-  int     pdgId    = part.pdg_id(); 
+  int     pdgId    = part.pdg_id();
   double  charge   = HepPDT::ParticleID(pdgId).charge();
 
   // particle Hypothesis for the extrapolation
-
   Trk::ParticleHypothesis pHypothesis = m_pdgToParticleHypothesis.convert(pdgId,charge);
 
   ATH_MSG_DEBUG ("particle hypothesis "<< pHypothesis );
 
   // geantinos not handled by PdgToParticleHypothesis - fix there
-  if ( pdgId == 999 ) pHypothesis = Trk::geantino;
+  if( pdgId == 999 ) pHypothesis = Trk::geantino;
 
   HepMC::GenVertex *vtx = part.production_vertex();
   Amg::Vector3D pos(0.,0.,0.);    // default
 
-  if (vtx) {
-    //const HepMC::ThreeVector vtxPos(vtx->point3d());
-    pos = Amg::Vector3D( vtx->point3d().x(),vtx->point3d().y(), vtx->point3d().z()); 
-  }
+  if (vtx)
+    {
+      //const HepMC::ThreeVector vtxPos(vtx->point3d());
+      pos = Amg::Vector3D( vtx->point3d().x(),vtx->point3d().y(), vtx->point3d().z());
+    }
 
   Amg::Vector3D mom(part.momentum().x(),part.momentum().y(),part.momentum().z());
-
   ATH_MSG_DEBUG( "[ fastCaloSim transport ] starting transport from position eta="<<pos.eta()<<" phi="<<pos.phi()<<" d="<<pos.mag()<<" pT="<<mom.perp() );
 
   // input parameters : curvilinear parameters
   Trk::CurvilinearParameters inputPar(pos,mom,charge);
 
-  // stable vs. unstable check : ADAPT for FASTCALOSIM 
-  //double freepath = ( !m_particleDecayHelper.empty()) ? m_particleDecayHelper->freePath(isp) : - 1.; 
+  // stable vs. unstable check : ADAPT for FASTCALOSIM
+  //double freepath = ( !m_particleDecayHelper.empty()) ? m_particleDecayHelper->freePath(isp) : - 1.;
   double freepath = -1.;
   //ATH_MSG_VERBOSE( "[ fatras transport ] Particle free path : " << freepath);
   // path limit -> time limit  ( TODO : extract life-time directly from decay helper )
@@ -998,16 +1164,17 @@ std::vector<Trk::HitInfo>* ISF_HitAnalysis::caloHits(const HepMC::GenParticle& p
   // beta calculated here for further use in validation
   double mass = m_particleMasses.mass[pHypothesis];
   double mom = isp.momentum().mag();
-  double beta = mom/sqrt(mom*mom+mass*mass); 
+  double beta = mom/sqrt(mom*mom+mass*mass);
 
-  if ( tDec>0.) {
-    tDec = tDec/beta/CLHEP::c_light + isp.timeStamp();
-    decayProc = 201;                
+  if ( tDec>0.)
+  {
+  tDec = tDec/beta/CLHEP::c_light + isp.timeStamp();
+  decayProc = 201;
   }
   */
 
   Trk::TimeLimit timeLim(tDec,0.,decayProc);        // TODO: set vertex time info
-  
+
   // prompt decay ( uncomment if unstable particles used )
   //if ( freepath>0. && freepath<0.01 ) {
   //  if (!m_particleDecayHelper.empty()) {
@@ -1020,204 +1187,214 @@ std::vector<Trk::HitInfo>* ISF_HitAnalysis::caloHits(const HepMC::GenParticle& p
   // presample interactions - ADAPT FOR FASTCALOSIM
   Trk::PathLimit pathLim(-1.,0);
   //if (absPdg!=999 && pHypothesis<99) pathLim = m_samplingTool->sampleProcess(mom,isp.charge(),pHypothesis);
-     
-  Trk::GeometrySignature nextGeoID=Trk::Calo; 
 
-  // first extrapolation to reach the ID boundary
+  Trk::GeometrySignature nextGeoID=Trk::Calo;
 
+  // first extrapolation to reach the ID boundary
   ATH_MSG_DEBUG( "[ fastCaloSim transport ] before calo entrance ");
 
   // get CaloEntrance if not done already
-  if (!m_caloEntrance) {
-    m_caloEntrance = m_extrapolator->trackingGeometry()->trackingVolume(m_caloEntranceName);
-    if (!m_caloEntrance)  ATH_MSG_INFO("CaloEntrance not found ");
-     else ATH_MSG_INFO("CaloEntrance found ");
-  }
+  if (!m_caloEntrance)
+    {
+      m_caloEntrance = m_extrapolator->trackingGeometry()->trackingVolume(m_caloEntranceName);
+      if(!m_caloEntrance)
+        ATH_MSG_INFO("CaloEntrance not found ");
+      else
+        ATH_MSG_INFO("CaloEntrance found ");
+    }
 
   ATH_MSG_DEBUG( "[ fastCaloSim transport ] after calo entrance ");
-  
-  const Trk::TrackParameters* caloEntry = 0;
 
-  if (m_caloEntrance && m_caloEntrance->inside(pos,0.001) &&
-      !m_extrapolator->trackingGeometry()->atVolumeBoundary(pos,m_caloEntrance,0.001)) {
+  const Trk::TrackParameters* caloEntry = 0;
 
-    std::vector<Trk::HitInfo>*     dummyHitVector = 0;   
-    if ( charge==0 ) {
-    
-      caloEntry = m_extrapolator->transportNeutralsWithPathLimit(inputPar,pathLim,timeLim,
-				        Trk::alongMomentum,pHypothesis,dummyHitVector,nextGeoID,m_caloEntrance);  
- 
-    } else {
-          
-      caloEntry = m_extrapolator->extrapolateWithPathLimit(inputPar,pathLim,timeLim,
-					Trk::alongMomentum,pHypothesis,dummyHitVector,nextGeoID,m_caloEntrance);
+  if(m_caloEntrance && m_caloEntrance->inside(pos,0.001) && !m_extrapolator->trackingGeometry()->atVolumeBoundary(pos,m_caloEntrance,0.001))
+    {
+      std::vector<Trk::HitInfo>*     dummyHitVector = 0;
+      if( charge==0 )
+        {
+          caloEntry = m_extrapolator->transportNeutralsWithPathLimit(inputPar,pathLim,timeLim,Trk::alongMomentum,pHypothesis,dummyHitVector,nextGeoID,m_caloEntrance);
+        }
+      else
+        {
+          caloEntry = m_extrapolator->extrapolateWithPathLimit(inputPar,pathLim,timeLim,Trk::alongMomentum,pHypothesis,dummyHitVector,nextGeoID,m_caloEntrance);
+        }
     }
-  } else caloEntry=&inputPar;
+  else
+    caloEntry=&inputPar;
 
   ATH_MSG_DEBUG( "[ fastCaloSim transport ] after calo caloEntry ");
 
-  if ( caloEntry ) {
+  if(caloEntry)
+    {
+      const Trk::TrackParameters* eParameters = 0;
 
-    const Trk::TrackParameters* eParameters = 0;
+      // save Calo entry hit (fallback info)
+      hitVector->push_back(Trk::HitInfo(caloEntry->clone(),timeLim.time,nextGeoID,0.));
 
-    // save Calo entry hit (fallback info)
-    hitVector->push_back(Trk::HitInfo(caloEntry->clone(),timeLim.time,nextGeoID,0.));  
+      ATH_MSG_DEBUG( "[ fastCaloSim transport ] starting Calo transport from position eta="<<caloEntry->position().eta()<<" phi="<<caloEntry->position().phi()<<" d="<<caloEntry->position().mag() );
 
-    ATH_MSG_DEBUG( "[ fastCaloSim transport ] starting Calo transport from position eta="<<caloEntry->position().eta()<<" phi="<<caloEntry->position().phi()<<" d="<<caloEntry->position().mag() );
-    
-    if ( charge==0 ) {
-    
-      eParameters = m_extrapolator->transportNeutralsWithPathLimit(*caloEntry,pathLim,timeLim,
-					      Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);  
-    } else {
-      
-      eParameters = m_extrapolator->extrapolateWithPathLimit(*caloEntry,pathLim,timeLim,
-					      Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);   
+      if( charge==0 )
+        {
+          eParameters = m_extrapolator->transportNeutralsWithPathLimit(*caloEntry,pathLim,timeLim,Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);
+        }
+      else
+        {
+          eParameters = m_extrapolator->extrapolateWithPathLimit(*caloEntry,pathLim,timeLim,Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);
+        }
+      // save Calo exit hit (fallback info)
+      if (eParameters) hitVector->push_back(Trk::HitInfo(eParameters,timeLim.time,nextGeoID,0.));
+      //delete eParameters;   // HitInfo took ownership
     }
 
-    // save Calo exit hit (fallback info)
-    if (eParameters) hitVector->push_back(Trk::HitInfo(eParameters,timeLim.time,nextGeoID,0.)); 
-  
-    //delete eParameters;   // HitInfo took ownership
-
-  } 
-   
-  if(msgLvl(MSG::DEBUG)) {
-    std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
-    while (it < hitVector->end() )  {
-      int sample=(*it).detID;
-      Amg::Vector3D hitPos = (*it).trackParms->position();
-      ATH_MSG_DEBUG(" HIT: layer="<<sample<<" sample="<<sample-3000<<" eta="<<hitPos.eta()<<" phi="<<hitPos.phi()<<" d="<<hitPos.mag());
-      it++;
+  if(msgLvl(MSG::DEBUG))
+    {
+      std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
+      while (it < hitVector->end() )
+        {
+          int sample=(*it).detID;
+          Amg::Vector3D hitPos = (*it).trackParms->position();
+          ATH_MSG_DEBUG(" HIT: layer="<<sample<<" sample="<<sample-3000<<" eta="<<hitPos.eta()<<" phi="<<hitPos.phi()<<" d="<<hitPos.mag());
+          it++;
+        }
     }
-  }  
 
   return hitVector;
-}
+} //caloHits
 
 //#######################################################################
 void ISF_HitAnalysis::extrapolate(const HepMC::GenParticle* part,std::vector<Trk::HitInfo>* hitVector)
 {
- ATH_MSG_DEBUG("Start extrapolate()");
-
- m_ptruth_eta=part->momentum().eta();
- m_ptruth_phi=part->momentum().phi();
- m_ptruth_e  =part->momentum().e();
- m_ptruth_pt =part->momentum().perp();
- m_ptruth_p  =part->momentum().rho();
- m_pdgid=part->pdg_id();
- 
- //////////////////////////////////////
- // Start calo extrapolation
- // First: get entry point into first calo sample
- //////////////////////////////////////
- 
- get_calo_surface(hitVector);
-  
- std::vector< std::vector<double> > eta_safe(3);
- std::vector< std::vector<double> > phi_safe(3);
- std::vector< std::vector<double> > r_safe(3);
- std::vector< std::vector<double> > z_safe(3);
- for(int subpos=CaloSubPos::SUBPOS_MID;subpos<=CaloSubPos::SUBPOS_EXT;++subpos) {
-   eta_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
-  	phi_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
-  	r_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
-  	z_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
- }
-
- // only continue if inside the calo
- if( fabs(m_eta_calo_surf)<6 )
- {
-   // now try to extrpolate to all calo layers, that contain energy
-   ATH_MSG_DEBUG("Calo position for particle id "<<m_pdgid<<", trutheta= " << m_ptruth_eta <<", truthphi= "<<m_ptruth_phi<<", truthp="<<m_ptruth_p<<", truthpt="<<m_ptruth_pt);
-   for(int sample=CaloCell_ID_FCS::FirstSample;sample<CaloCell_ID_FCS::MaxSample;++sample) {
-     for(int subpos=CaloSubPos::SUBPOS_MID;subpos<=CaloSubPos::SUBPOS_EXT;++subpos) {
-       m_letaCalo[sample][subpos]=-12345;
-       m_lphiCalo[sample][subpos]=-12345;
-       m_lrCalo[sample][subpos]=-12345;
-       m_lzCalo[sample][subpos]=-12345;
-       m_layerCaloOK[sample][subpos]=0;
-       //ATH_MSG_DEBUG("============= Getting Calo position for sample "<<sample<<" E/Etot="<<p.E_layer[sample]<<" ; in : eta= " << m_ptruth_eta);
-       
-       if(get_calo_etaphi(hitVector,sample,subpos)) {
-         ATH_MSG_DEBUG( "Result in sample "<<sample<<"."<<subpos<<": eta="<<m_letaCalo[sample][subpos]<<" phi="<<m_lphiCalo[sample][subpos]<<" r="<<m_lrCalo[sample][subpos]<<" z="<<m_lzCalo[sample][subpos]<<" (ok="<<m_layerCaloOK[sample][subpos]<<")");
-         eta_safe[subpos][sample]=m_letaCalo[sample][subpos];
-         phi_safe[subpos][sample]=m_lphiCalo[sample][subpos];
-         r_safe[subpos][sample]=m_lrCalo[sample][subpos];
-         z_safe[subpos][sample]=m_lzCalo[sample][subpos];
-       }
-       else
-        ATH_MSG_DEBUG( "Extrapolation to sample "<<sample<<" failed (ok="<<m_layerCaloOK[sample][subpos]<<")");
-      }
+  ATH_MSG_DEBUG("Start extrapolate()");
+
+  m_ptruth_eta=part->momentum().eta();
+  m_ptruth_phi=part->momentum().phi();
+  m_ptruth_e  =part->momentum().e();
+  m_ptruth_pt =part->momentum().perp();
+  m_ptruth_p  =part->momentum().rho();
+  m_pdgid=part->pdg_id();
+
+  //////////////////////////////////////
+  // Start calo extrapolation
+  // First: get entry point into first calo sample
+  //////////////////////////////////////
+
+  get_calo_surface(hitVector);
+
+  std::vector< std::vector<double> > eta_safe(3);
+  std::vector< std::vector<double> > phi_safe(3);
+  std::vector< std::vector<double> > r_safe(3);
+  std::vector< std::vector<double> > z_safe(3);
+  for(int subpos=CaloSubPos::SUBPOS_MID;subpos<=CaloSubPos::SUBPOS_EXT;++subpos)
+    {
+      eta_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
+      phi_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
+      r_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
+      z_safe[subpos].resize(CaloCell_ID_FCS::MaxSample,-999.0);
     }
- } //inside calo
- 
- m_TTC_back_eta->push_back(eta_safe[CaloSubPos::SUBPOS_EXT]);
- m_TTC_back_phi->push_back(phi_safe[CaloSubPos::SUBPOS_EXT]);
- m_TTC_back_r->push_back(r_safe[CaloSubPos::SUBPOS_EXT]);
- m_TTC_back_z->push_back(z_safe[CaloSubPos::SUBPOS_EXT]);
- 
- m_TTC_entrance_eta->push_back(eta_safe[CaloSubPos::SUBPOS_ENT]);
- m_TTC_entrance_phi->push_back(phi_safe[CaloSubPos::SUBPOS_ENT]);
- m_TTC_entrance_r->push_back(r_safe[CaloSubPos::SUBPOS_ENT]);
- m_TTC_entrance_z->push_back(z_safe[CaloSubPos::SUBPOS_ENT]);
-
- ATH_MSG_DEBUG("End extrapolate()");
-}
+
+  // only continue if inside the calo
+  if( fabs(m_eta_calo_surf)<6 )
+    {
+      // now try to extrpolate to all calo layers, that contain energy
+      ATH_MSG_DEBUG("Calo position for particle id "<<m_pdgid<<", trutheta= " << m_ptruth_eta <<", truthphi= "<<m_ptruth_phi<<", truthp="<<m_ptruth_p<<", truthpt="<<m_ptruth_pt);
+      for(int sample=CaloCell_ID_FCS::FirstSample;sample<CaloCell_ID_FCS::MaxSample;++sample)
+        {
+          for(int subpos=CaloSubPos::SUBPOS_MID;subpos<=CaloSubPos::SUBPOS_EXT;++subpos)
+            {
+              m_letaCalo[sample][subpos]=-12345;
+              m_lphiCalo[sample][subpos]=-12345;
+              m_lrCalo[sample][subpos]=-12345;
+              m_lzCalo[sample][subpos]=-12345;
+              m_layerCaloOK[sample][subpos]=0;
+              //ATH_MSG_DEBUG("============= Getting Calo position for sample "<<sample<<" E/Etot="<<p.E_layer[sample]<<" ; in : eta= " << m_ptruth_eta);
+
+              if(get_calo_etaphi(hitVector,sample,subpos))
+                {
+                  ATH_MSG_DEBUG( "Result in sample "<<sample<<"."<<subpos<<": eta="<<m_letaCalo[sample][subpos]<<" phi="<<m_lphiCalo[sample][subpos]<<" r="<<m_lrCalo[sample][subpos]<<" z="<<m_lzCalo[sample][subpos]<<" (ok="<<m_layerCaloOK[sample][subpos]<<")");
+                  eta_safe[subpos][sample]=m_letaCalo[sample][subpos];
+                  phi_safe[subpos][sample]=m_lphiCalo[sample][subpos];
+                  r_safe[subpos][sample]=m_lrCalo[sample][subpos];
+                  z_safe[subpos][sample]=m_lzCalo[sample][subpos];
+                }
+              else
+                ATH_MSG_DEBUG( "Extrapolation to sample "<<sample<<" failed (ok="<<m_layerCaloOK[sample][subpos]<<")");
+            }
+        }
+    } //inside calo
+
+  m_TTC_back_eta->push_back(eta_safe[CaloSubPos::SUBPOS_EXT]);
+  m_TTC_back_phi->push_back(phi_safe[CaloSubPos::SUBPOS_EXT]);
+  m_TTC_back_r->push_back(r_safe[CaloSubPos::SUBPOS_EXT]);
+  m_TTC_back_z->push_back(z_safe[CaloSubPos::SUBPOS_EXT]);
+
+  m_TTC_entrance_eta->push_back(eta_safe[CaloSubPos::SUBPOS_ENT]);
+  m_TTC_entrance_phi->push_back(phi_safe[CaloSubPos::SUBPOS_ENT]);
+  m_TTC_entrance_r->push_back(r_safe[CaloSubPos::SUBPOS_ENT]);
+  m_TTC_entrance_z->push_back(z_safe[CaloSubPos::SUBPOS_ENT]);
+
+  ATH_MSG_DEBUG("End extrapolate()");
+} //extrapolate
 
 void ISF_HitAnalysis::extrapolate_to_ID(const HepMC::GenParticle* part,std::vector<Trk::HitInfo>* hitVector)
 {
- ATH_MSG_DEBUG("Start extrapolate_to_ID()");
-
- m_ptruth_eta=part->momentum().eta();
- m_ptruth_phi=part->momentum().phi();
- m_ptruth_e  =part->momentum().e();
- m_ptruth_pt =part->momentum().perp();
- m_ptruth_p  =part->momentum().rho();
- m_pdgid     =part->pdg_id();
- 
- Amg::Vector3D hitpos(0,0,0);
- Amg::Vector3D hitmom(0,0,0);
- if(rz_cylinder_get_calo_etaphi(hitVector,m_CaloBoundaryR,m_CaloBoundaryZ,hitpos,hitmom)) {
-   ATH_MSG_DEBUG("BOUNDARY ID-CALO eta="<<hitpos.eta()<<" phi="<<hitpos.phi()<<" r="<<hitpos.perp()<<" z="<<hitpos[Amg::z]<<" theta="<<hitpos.theta()<<" ; momentum eta="<<hitmom.eta()<<" phi="<<hitmom.phi()<<" theta="<<hitmom.theta());
-   m_TTC_IDCaloBoundary_eta->push_back(hitpos.eta());
-   m_TTC_IDCaloBoundary_phi->push_back(hitpos.phi());
-   m_TTC_IDCaloBoundary_r->push_back(hitpos.perp());
-   m_TTC_IDCaloBoundary_z->push_back(hitpos[Amg::z]);
- } else {
-   ATH_MSG_DEBUG("Extrapolation to IDCaloBoundary failed");
-   m_TTC_IDCaloBoundary_eta->push_back(-999.);
-   m_TTC_IDCaloBoundary_phi->push_back(-999.);
-   m_TTC_IDCaloBoundary_r->push_back(-999.);
-   m_TTC_IDCaloBoundary_z->push_back(-999.);
- }
-
- TVector3 vec(hitpos[Amg::x],hitpos[Amg::y],hitpos[Amg::z]);
- 
- //get the tangentvector on this interaction point:
- //GlobalMomentum* mom=params_on_surface_ID->TrackParameters::momentum().unit() ;
- //Trk::GlobalMomentum* trackmom=params_on_surface_ID->Trk::TrackParameters::momentum();
- if(hitmom.mag()>0) {
-   //angle between vec and trackmom:
-   TVector3 Trackmom(hitmom[Amg::x],hitmom[Amg::y],hitmom[Amg::z]);
-   double angle3D=Trackmom.Angle(vec); //isn't this the same as TVector3 vec?
-   ATH_MSG_DEBUG("    3D ANGLE "<<angle3D);
-
-   double angleEta=vec.Theta()-Trackmom.Theta();
-   ATH_MSG_DEBUG("    ANGLE dTHEA"<<angleEta);
-   
-   m_TTC_Angle3D->push_back(angle3D);
-   m_TTC_AngleEta->push_back(angleEta);
- } else {
-   m_TTC_Angle3D->push_back(-999.);
-   m_TTC_AngleEta->push_back(-999.);
- }
- ATH_MSG_DEBUG("End extrapolate_to_ID()");
+  ATH_MSG_DEBUG("Start extrapolate_to_ID()");
+
+  m_ptruth_eta=part->momentum().eta();
+  m_ptruth_phi=part->momentum().phi();
+  m_ptruth_e  =part->momentum().e();
+  m_ptruth_pt =part->momentum().perp();
+  m_ptruth_p  =part->momentum().rho();
+  m_pdgid     =part->pdg_id();
+
+  Amg::Vector3D hitpos(0,0,0);
+  Amg::Vector3D hitmom(0,0,0);
+  if(rz_cylinder_get_calo_etaphi(hitVector,m_CaloBoundaryR,m_CaloBoundaryZ,hitpos,hitmom))
+    {
+      ATH_MSG_DEBUG("BOUNDARY ID-CALO eta="<<hitpos.eta()<<" phi="<<hitpos.phi()<<" r="<<hitpos.perp()<<" z="<<hitpos[Amg::z]<<" theta="<<hitpos.theta()<<" ; momentum eta="<<hitmom.eta()<<" phi="<<hitmom.phi()<<" theta="<<hitmom.theta());
+      m_TTC_IDCaloBoundary_eta->push_back(hitpos.eta());
+      m_TTC_IDCaloBoundary_phi->push_back(hitpos.phi());
+      m_TTC_IDCaloBoundary_r->push_back(hitpos.perp());
+      m_TTC_IDCaloBoundary_z->push_back(hitpos[Amg::z]);
+    }
+  else
+    {
+      ATH_MSG_DEBUG("Extrapolation to IDCaloBoundary failed");
+      m_TTC_IDCaloBoundary_eta->push_back(-999.);
+      m_TTC_IDCaloBoundary_phi->push_back(-999.);
+      m_TTC_IDCaloBoundary_r->push_back(-999.);
+      m_TTC_IDCaloBoundary_z->push_back(-999.);
+    }
+
+  TVector3 vec(hitpos[Amg::x],hitpos[Amg::y],hitpos[Amg::z]);
+
+  //get the tangentvector on this interaction point:
+  //GlobalMomentum* mom=params_on_surface_ID->TrackParameters::momentum().unit() ;
+  //Trk::GlobalMomentum* trackmom=params_on_surface_ID->Trk::TrackParameters::momentum();
+
+  if(hitmom.mag()>0)
+    {
+      //angle between vec and trackmom:
+      TVector3 Trackmom(hitmom[Amg::x],hitmom[Amg::y],hitmom[Amg::z]);
+      double angle3D=Trackmom.Angle(vec); //isn't this the same as TVector3 vec?
+      ATH_MSG_DEBUG("    3D ANGLE "<<angle3D);
+
+      double angleEta=vec.Theta()-Trackmom.Theta();
+      ATH_MSG_DEBUG("    ANGLE dTHEA"<<angleEta);
+
+      m_TTC_Angle3D->push_back(angle3D);
+      m_TTC_AngleEta->push_back(angleEta);
+    }
+  else
+    {
+      m_TTC_Angle3D->push_back(-999.);
+      m_TTC_AngleEta->push_back(-999.);
+    }
+  ATH_MSG_DEBUG("End extrapolate_to_ID()");
 } //extrapolate_to_ID
 
 
 //UPDATED
-bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, int sample,int subpos)  
+bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, int sample,int subpos)
 {
   m_layerCaloOK[sample][subpos]=false;
   m_letaCalo[sample][subpos]=m_eta_calo_surf;
@@ -1233,14 +1410,14 @@ bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, int
   std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
   while ( it!= hitVector->end() && it->detID != (3000+sample) ) { it++;}
   //while ((*it).detID != (3000+sample) && it < hitVector->end() )  it++;
-  
+
   if (it!=hitVector->end()) {
     Amg::Vector3D hitPos1 = (*it).trackParms->position();
     int sid1=(*it).detID;
     int sid2=-1;
     Amg::Vector3D hitPos;
     Amg::Vector3D hitPos2;
-    
+
     std::vector<Trk::HitInfo>::iterator itnext = it;
     ++itnext;
     if(itnext!=hitVector->end()) {
@@ -1282,7 +1459,7 @@ bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, int
                   " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
                   " re="<<m_lrCalo[sample][subpos]<<" ze="<<m_lzCalo[sample][subpos]
                   );
-  } 
+  }
   if(!best_found) {
     it = hitVector->begin();
     double best_dist=0.5;
@@ -1337,11 +1514,11 @@ bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, int
         }
       }
       ATH_MSG_VERBOSE(" extrapol without layer hit: id="<<sid1<<" -> "<<sid2<<" dist="<<dist<<" mindist="<<best_dist<<
-                    " t="<<t<<" best_inside="<<best_inside<<" target r/z="<<tmp_target<<
-                    " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
-                    " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]<<
-                    " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
-                    );
+                      " t="<<t<<" best_inside="<<best_inside<<" target r/z="<<tmp_target<<
+                      " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
+                      " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]<<
+                      " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
+                      );
       if(best_found) {
         m_letaCalo[sample][subpos]=best_hitPos.eta();
         m_lphiCalo[sample][subpos]=best_hitPos.phi();
@@ -1351,18 +1528,18 @@ bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, int
         lrzpos=rzpos(sample,m_letaCalo[sample][subpos],subpos);
         distsamp=deta(sample,m_letaCalo[sample][subpos]);
         m_layerCaloOK[sample][subpos]=true;
-      }              
-    } 
+      }
+    }
     if(best_found) {
       ATH_MSG_DEBUG(" extrapol without layer hit: id="<<best_id1<<" -> "<<best_id2<<" mindist="<<best_dist<<
                     " best_inside="<<best_inside<<" target r/z="<<best_target<<
                     " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
                     );
-    }                  
+    }
   }
-  
+
   if(isCaloBarrel(sample)) lrzpos*=cosh(m_letaCalo[sample][subpos]);
-   else                    lrzpos= fabs(lrzpos/tanh(m_letaCalo[sample][subpos]));
+  else                    lrzpos= fabs(lrzpos/tanh(m_letaCalo[sample][subpos]));
 
   m_dCalo[sample][subpos]=lrzpos;
   m_distetaCaloBorder[sample][subpos]=distsamp;
@@ -1370,15 +1547,15 @@ bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, int
   if(msgLvl(MSG::DEBUG)) {
     msg(MSG::DEBUG)<<"  Final par TTC sample "<<sample<<" subpos="<<subpos;
     if(m_layerCaloOK[sample][subpos]) msg()<<" (good)";
-     else msg()<<" (bad)";
+    else msg()<<" (bad)";
     msg()<<" eta=" << m_letaCalo[sample][subpos] << "   phi=" << m_lphiCalo[sample][subpos] <<" m_dCalo="<<m_dCalo[sample][subpos]<<" dist(hit)="<<hitdist<< endmsg;
-  } 
- 
+  }
+
   return m_layerCaloOK[sample][subpos];
-}
+} //get_calo_etaphi
 
 //UPDATED
-bool ISF_HitAnalysis::rz_cylinder_get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, double cylR, double cylZ, Amg::Vector3D& pos, Amg::Vector3D& mom)  
+bool ISF_HitAnalysis::rz_cylinder_get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, double cylR, double cylZ, Amg::Vector3D& pos, Amg::Vector3D& mom)
 {
   bool best_found=false;
   double best_dist=10000;
@@ -1415,7 +1592,7 @@ bool ISF_HitAnalysis::rz_cylinder_get_calo_etaphi(std::vector<Trk::HitInfo>* hit
       double dist=hitPos.mag();
       bool inside=false;
       if(t>=-0.001 && t<=1.001) inside=true;
-      
+
       if(!best_found || inside) {
         if(!best_inside || dist<best_dist) {
           best_dist=dist;
@@ -1444,23 +1621,23 @@ bool ISF_HitAnalysis::rz_cylinder_get_calo_etaphi(std::vector<Trk::HitInfo>* hit
                     " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
                     );
     }
-  }   
-  
+  }
+
   if(best_found) {
     ATH_MSG_DEBUG(" extrapol to r="<<cylR<<" z="<<cylZ<<": id="<<best_id1<<" -> "<<best_id2<<" dist="<<best_dist<<
                   " best_inside="<<best_inside<<
                   " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
                   );
-  }                  
+  }
   pos=best_hitPos;
 
   return best_found;
-}
+} //rz_cylinder_get_calo_etaphi
 
 //UPDATED
 /*
-bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, CaloCell_ID_FCS::CaloSample sample)  
-{
+  bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, CaloCell_ID_FCS::CaloSample sample)
+  {
   m_layerCaloOK[sample]=false;
   m_letaCalo[sample]=m_eta_calo_surf;
   m_lphiCalo[sample]=m_phi_calo_surf;
@@ -1473,145 +1650,145 @@ bool ISF_HitAnalysis::get_calo_etaphi(std::vector<Trk::HitInfo>* hitVector, Calo
   std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
   while ( it!= hitVector->end() && it->detID != (3000+sample) ) { it++;}
   //while ((*it).detID != (3000+sample) && it < hitVector->end() )  it++;
-  
+
   if (it!=hitVector->end()) {
-    Amg::Vector3D hitPos1 = (*it).trackParms->position();
-    int sid1=(*it).detID;
-    int sid2=-1;
-    Amg::Vector3D hitPos;
-    Amg::Vector3D hitPos2;
-    
-    std::vector<Trk::HitInfo>::iterator itnext = it;
-    ++itnext;
-    if(itnext!=hitVector->end()) {
-      hitPos2 = (*itnext).trackParms->position();
-      sid2=(*itnext).detID;
-      double eta_avg=0.5*(hitPos1.eta()+hitPos2.eta());
-      double t;
-      if(isCaloBarrel(sample)) {
-        double r=rmid(sample,eta_avg);
-        double r1=hitPos1.perp();
-        double r2=hitPos2.perp();
-        t=(r-r1)/(r2-r1);
-        best_target=r;
-      } else {
-        double z=zmid(sample,eta_avg);
-        double z1=hitPos1[Amg::z];
-        double z2=hitPos2[Amg::z];
-        t=(z-z1)/(z2-z1);
-        best_target=z;
-      }
-      hitPos=t*hitPos2+(1-t)*hitPos1;
-    } else {
-      hitPos=hitPos1;
-      hitPos2=hitPos1;
-    }
-    double etaCalo = hitPos.eta();
-    double phiCalo = hitPos.phi();
-    m_letaCalo[sample]=etaCalo;
-    m_lphiCalo[sample]=phiCalo;
-    hitdist=hitPos.mag();
-    m_layerCaloOK[sample]=true;
-    rzmiddle=rzmid((CaloCell_ID_FCS::CaloSample)sample,etaCalo);
-    distsamp=deta((CaloCell_ID_FCS::CaloSample)sample,etaCalo);
-    best_found=true;
-    ATH_MSG_DEBUG(" extrapol with layer hit: id="<<sid1<<" -> "<<sid2<<
-                  " target r/z="<<best_target<<
-                  " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
-                  " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]
-                  );
-  } 
+  Amg::Vector3D hitPos1 = (*it).trackParms->position();
+  int sid1=(*it).detID;
+  int sid2=-1;
+  Amg::Vector3D hitPos;
+  Amg::Vector3D hitPos2;
+
+  std::vector<Trk::HitInfo>::iterator itnext = it;
+  ++itnext;
+  if(itnext!=hitVector->end()) {
+  hitPos2 = (*itnext).trackParms->position();
+  sid2=(*itnext).detID;
+  double eta_avg=0.5*(hitPos1.eta()+hitPos2.eta());
+  double t;
+  if(isCaloBarrel(sample)) {
+  double r=rmid(sample,eta_avg);
+  double r1=hitPos1.perp();
+  double r2=hitPos2.perp();
+  t=(r-r1)/(r2-r1);
+  best_target=r;
+  } else {
+  double z=zmid(sample,eta_avg);
+  double z1=hitPos1[Amg::z];
+  double z2=hitPos2[Amg::z];
+  t=(z-z1)/(z2-z1);
+  best_target=z;
+  }
+  hitPos=t*hitPos2+(1-t)*hitPos1;
+  } else {
+  hitPos=hitPos1;
+  hitPos2=hitPos1;
+  }
+  double etaCalo = hitPos.eta();
+  double phiCalo = hitPos.phi();
+  m_letaCalo[sample]=etaCalo;
+  m_lphiCalo[sample]=phiCalo;
+  hitdist=hitPos.mag();
+  m_layerCaloOK[sample]=true;
+  rzmiddle=rzmid((CaloCell_ID_FCS::CaloSample)sample,etaCalo);
+  distsamp=deta((CaloCell_ID_FCS::CaloSample)sample,etaCalo);
+  best_found=true;
+  ATH_MSG_DEBUG(" extrapol with layer hit: id="<<sid1<<" -> "<<sid2<<
+  " target r/z="<<best_target<<
+  " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
+  " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]
+  );
+  }
   if(!best_found) {
-    it = hitVector->begin();
-    double best_dist=0.5;
-    bool best_inside=false;
-    int best_id1,best_id2;
-    Amg::Vector3D best_hitPos=(*it).trackParms->position();
-    while (it < hitVector->end()-1 ) {
-      Amg::Vector3D hitPos1 = (*it).trackParms->position();
-      int sid1=(*it).detID;
-      it++;
-      Amg::Vector3D hitPos2 = (*it).trackParms->position();
-      int sid2=(*it).detID;
-      double eta_avg=0.5*(hitPos1.eta()+hitPos2.eta());
-      double t;
-      double tmp_target=0;
-      if(isCaloBarrel(sample)) {
-        double r=rmid(sample,eta_avg);
-        double r1=hitPos1.perp();
-        double r2=hitPos2.perp();
-        t=(r-r1)/(r2-r1);
-        tmp_target=r;
-      } else {
-        double z=zmid(sample,eta_avg);
-        double z1=hitPos1[Amg::z];
-        double z2=hitPos2[Amg::z];
-        t=(z-z1)/(z2-z1);
-        tmp_target=z;
-      }
-      Amg::Vector3D hitPos=t*hitPos2+(1-t)*hitPos1;
-      double dist=TMath::Min(TMath::Abs(t-0),TMath::Abs(t-1));
-      bool inside=false;
-      if(t>=0 && t<=1) inside=true;
-      if(!best_found || inside) {
-        if(!best_inside || dist<best_dist) {
-          best_dist=dist;
-          best_hitPos=hitPos;
-          best_inside=inside;
-          best_found=true;
-          best_id1=sid1;
-          best_id2=sid2;
-          best_target=tmp_target;
-        }
-      } else {
-        if(!best_inside && dist<best_dist) {
-          best_dist=dist;
-          best_hitPos=hitPos;
-          best_inside=inside;
-          best_found=true;
-          best_id1=sid1;
-          best_id2=sid2;
-          best_target=tmp_target;
-        }
-      }
-      ATH_MSG_VERBOSE(" extrapol without layer hit: id="<<sid1<<" -> "<<sid2<<" dist="<<dist<<" mindist="<<best_dist<<
-                    " t="<<t<<" best_inside="<<best_inside<<" target r/z="<<tmp_target<<
-                    " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
-                    " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]<<
-                    " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
-                    );
-      if(best_found) {
-        m_letaCalo[sample]=best_hitPos.eta();
-        m_lphiCalo[sample]=best_hitPos.phi();
-        hitdist=best_hitPos.mag();
-        rzmiddle=rzmid((CaloCell_ID_FCS::CaloSample)sample,m_letaCalo[sample]);
-        distsamp=deta((CaloCell_ID_FCS::CaloSample)sample,m_letaCalo[sample]);
-        m_layerCaloOK[sample]=true;
-      }              
-    } 
-    if(best_found) {
-      ATH_MSG_DEBUG(" extrapol without layer hit: id="<<best_id1<<" -> "<<best_id2<<" mindist="<<best_dist<<
-                    " best_inside="<<best_inside<<" target r/z="<<best_target<<
-                    " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
-                    );
-    }                  
+  it = hitVector->begin();
+  double best_dist=0.5;
+  bool best_inside=false;
+  int best_id1,best_id2;
+  Amg::Vector3D best_hitPos=(*it).trackParms->position();
+  while (it < hitVector->end()-1 ) {
+  Amg::Vector3D hitPos1 = (*it).trackParms->position();
+  int sid1=(*it).detID;
+  it++;
+  Amg::Vector3D hitPos2 = (*it).trackParms->position();
+  int sid2=(*it).detID;
+  double eta_avg=0.5*(hitPos1.eta()+hitPos2.eta());
+  double t;
+  double tmp_target=0;
+  if(isCaloBarrel(sample)) {
+  double r=rmid(sample,eta_avg);
+  double r1=hitPos1.perp();
+  double r2=hitPos2.perp();
+  t=(r-r1)/(r2-r1);
+  tmp_target=r;
+  } else {
+  double z=zmid(sample,eta_avg);
+  double z1=hitPos1[Amg::z];
+  double z2=hitPos2[Amg::z];
+  t=(z-z1)/(z2-z1);
+  tmp_target=z;
+  }
+  Amg::Vector3D hitPos=t*hitPos2+(1-t)*hitPos1;
+  double dist=TMath::Min(TMath::Abs(t-0),TMath::Abs(t-1));
+  bool inside=false;
+  if(t>=0 && t<=1) inside=true;
+  if(!best_found || inside) {
+  if(!best_inside || dist<best_dist) {
+  best_dist=dist;
+  best_hitPos=hitPos;
+  best_inside=inside;
+  best_found=true;
+  best_id1=sid1;
+  best_id2=sid2;
+  best_target=tmp_target;
+  }
+  } else {
+  if(!best_inside && dist<best_dist) {
+  best_dist=dist;
+  best_hitPos=hitPos;
+  best_inside=inside;
+  best_found=true;
+  best_id1=sid1;
+  best_id2=sid2;
+  best_target=tmp_target;
+  }
+  }
+  ATH_MSG_VERBOSE(" extrapol without layer hit: id="<<sid1<<" -> "<<sid2<<" dist="<<dist<<" mindist="<<best_dist<<
+  " t="<<t<<" best_inside="<<best_inside<<" target r/z="<<tmp_target<<
+  " r1="<<hitPos1.perp()<<" z1="<<hitPos1[Amg::z]<<" r2="<<hitPos2.perp()<<" z2="<<hitPos2[Amg::z]<<
+  " re="<<hitPos.perp()<<" ze="<<hitPos[Amg::z]<<
+  " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
+  );
+  if(best_found) {
+  m_letaCalo[sample]=best_hitPos.eta();
+  m_lphiCalo[sample]=best_hitPos.phi();
+  hitdist=best_hitPos.mag();
+  rzmiddle=rzmid((CaloCell_ID_FCS::CaloSample)sample,m_letaCalo[sample]);
+  distsamp=deta((CaloCell_ID_FCS::CaloSample)sample,m_letaCalo[sample]);
+  m_layerCaloOK[sample]=true;
+  }
+  }
+  if(best_found) {
+  ATH_MSG_DEBUG(" extrapol without layer hit: id="<<best_id1<<" -> "<<best_id2<<" mindist="<<best_dist<<
+  " best_inside="<<best_inside<<" target r/z="<<best_target<<
+  " rb="<<best_hitPos.perp()<<" zb="<<best_hitPos[Amg::z]
+  );
+  }
   }
-  
+
   if(isCaloBarrel((CaloCell_ID_FCS::CaloSample)sample)) rzmiddle*=cosh(m_letaCalo[sample]);
-   else                                                 rzmiddle= fabs(rzmiddle/tanh(m_letaCalo[sample]));
+  else                                                 rzmiddle= fabs(rzmiddle/tanh(m_letaCalo[sample]));
 
   m_dCalo[sample]=rzmiddle;
   m_distetaCaloBorder[sample]=distsamp;
 
   if(msgLvl(MSG::DEBUG)) {
-    msg(MSG::DEBUG)<<"  Final par TTC sample "<<(int)sample;
-    if(m_layerCaloOK[sample]) msg()<<" (good)";
-     else msg()<<" (bad)";
-    msg()<<" eta=" << m_letaCalo[sample] << "   phi=" << m_lphiCalo[sample] <<" m_dCalo="<<m_dCalo[sample]<<" dist(hit)="<<hitdist<< endmsg;
-  } 
- 
+  msg(MSG::DEBUG)<<"  Final par TTC sample "<<(int)sample;
+  if(m_layerCaloOK[sample]) msg()<<" (good)";
+  else msg()<<" (bad)";
+  msg()<<" eta=" << m_letaCalo[sample] << "   phi=" << m_lphiCalo[sample] <<" m_dCalo="<<m_dCalo[sample]<<" dist(hit)="<<hitdist<< endmsg;
+  }
+
   return m_layerCaloOK[sample];
-}
+  }
 */
 
 //UPDATED
@@ -1627,10 +1804,10 @@ bool ISF_HitAnalysis::get_calo_surface(std::vector<Trk::HitInfo>* hitVector)
   for(unsigned int i=0;i<m_surfacelist.size();++i) {
     CaloCell_ID_FCS::CaloSample sample=m_surfacelist[i];
     std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
-    while (it != hitVector->end() && it->detID != (3000+sample) )  { it++;} 
+    while (it != hitVector->end() && it->detID != (3000+sample) )  { it++;}
     if(it==hitVector->end()) continue;
     Amg::Vector3D hitPos = (*it).trackParms->position();
-    
+
     //double offset = 0.;
     double etaCalo = hitPos.eta();
 
@@ -1655,7 +1832,7 @@ bool ISF_HitAnalysis::get_calo_surface(std::vector<Trk::HitInfo>* hitVector)
         if(distsamp<0) {
           msg(MSG::DEBUG)<<endmsg;
           break;
-        }  
+        }
       }
       msg(MSG::DEBUG)<<endmsg;
     } else {
@@ -1666,7 +1843,7 @@ bool ISF_HitAnalysis::get_calo_surface(std::vector<Trk::HitInfo>* hitVector)
   if(m_sample_calo_surf==CaloCell_ID_FCS::noSample) {
     // first intersection with sensitive calo layer
     std::vector<Trk::HitInfo>::iterator it = hitVector->begin();
-    while ( it < hitVector->end() && (*it).detID != 3 ) { it++;}   // to be updated 
+    while ( it < hitVector->end() && (*it).detID != 3 ) { it++;}   // to be updated
     if (it==hitVector->end())   {  // no calo intersection, abort
       return false;
     }
@@ -1674,17 +1851,17 @@ bool ISF_HitAnalysis::get_calo_surface(std::vector<Trk::HitInfo>* hitVector)
     m_eta_calo_surf=surface_hitPos.eta();
     m_phi_calo_surf=surface_hitPos.phi();
     m_d_calo_surf=surface_hitPos.mag();
-    
+
     double pT=(*it).trackParms->momentum().perp();
     if(TMath::Abs(m_eta_calo_surf)>4.9 || pT<500 || (TMath::Abs(m_eta_calo_surf)>4 && pT<1000) ) {
       ATH_MSG_DEBUG("only entrance to calo entrance layer found, no surface : eta="<<m_eta_calo_surf<<" phi="<<m_phi_calo_surf<<" d="<<m_d_calo_surf<<" pT="<<pT);
-    } else {  
+    } else {
       ATH_MSG_WARNING("only entrance to calo entrance layer found, no surface : eta="<<m_eta_calo_surf<<" phi="<<m_phi_calo_surf<<" d="<<m_d_calo_surf<<" pT="<<pT);
-    }  
+    }
   } else {
     ATH_MSG_DEBUG("entrance to calo surface : sample="<<m_sample_calo_surf<<" eta="<<m_eta_calo_surf<<" phi="<<m_phi_calo_surf<<" deta="<<min_calo_surf_dist<<" dsurf="<<m_d_calo_surf);
   }
-  
+
   ATH_MSG_DEBUG("End get_calo_surface()");
   return true;
 }
@@ -1701,17 +1878,17 @@ double ISF_HitAnalysis::deta(int sample,double eta) const
   return GetCaloGeometry()->deta(sample,eta);
 }
 
-void ISF_HitAnalysis::minmaxeta(int sample,double eta,double& mineta,double& maxeta) const 
+void ISF_HitAnalysis::minmaxeta(int sample,double eta,double& mineta,double& maxeta) const
 {
   GetCaloGeometry()->minmaxeta(sample,eta,mineta,maxeta);
 }
 
-double ISF_HitAnalysis::rmid(int sample,double eta) const 
+double ISF_HitAnalysis::rmid(int sample,double eta) const
 {
   return GetCaloGeometry()->rmid(sample,eta);
 }
 
-double ISF_HitAnalysis::zmid(int sample,double eta) const 
+double ISF_HitAnalysis::zmid(int sample,double eta) const
 {
   return GetCaloGeometry()->zmid(sample,eta);
 }
@@ -1721,12 +1898,12 @@ double ISF_HitAnalysis::rzmid(int sample,double eta) const
   return GetCaloGeometry()->rzmid(sample,eta);
 }
 
-double ISF_HitAnalysis::rent(int sample,double eta) const 
+double ISF_HitAnalysis::rent(int sample,double eta) const
 {
   return GetCaloGeometry()->rent(sample,eta);
 }
 
-double ISF_HitAnalysis::zent(int sample,double eta) const 
+double ISF_HitAnalysis::zent(int sample,double eta) const
 {
   return GetCaloGeometry()->zent(sample,eta);
 }
@@ -1736,12 +1913,12 @@ double ISF_HitAnalysis::rzent(int sample,double eta) const
   return GetCaloGeometry()->rzent(sample,eta);
 }
 
-double ISF_HitAnalysis::rext(int sample,double eta) const 
+double ISF_HitAnalysis::rext(int sample,double eta) const
 {
   return GetCaloGeometry()->rext(sample,eta);
 }
 
-double ISF_HitAnalysis::zext(int sample,double eta) const 
+double ISF_HitAnalysis::zext(int sample,double eta) const
 {
   return GetCaloGeometry()->zext(sample,eta);
 }
@@ -1765,4 +1942,3 @@ double ISF_HitAnalysis::rzpos(int sample,double eta,int subpos) const
 {
   return GetCaloGeometry()->rzpos(sample,eta,subpos);
 }
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/components/ISF_FastCaloSimParametrization_entries.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/components/ISF_FastCaloSimParametrization_entries.cxx
index 9f3977ee384f06cf6da11bd45e5a04a8e18cdea8..ac38e502342898a477c2db1d60302655833c1deb 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/components/ISF_FastCaloSimParametrization_entries.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/components/ISF_FastCaloSimParametrization_entries.cxx
@@ -4,8 +4,10 @@
 #include "ISF_FastCaloSimParametrization/NativeFastCaloSimSvc.h"
 
 #include "../FastCaloSimGeometryHelper.h"
+#include "../FastCaloSimCaloExtrapolation.h"
 
 DECLARE_TOOL_FACTORY( FastCaloSimGeometryHelper )
+DECLARE_TOOL_FACTORY( FastCaloSimCaloExtrapolation )
 
 DECLARE_ALGORITHM_FACTORY( FastCaloSimParamAlg )
 DECLARE_ALGORITHM_FACTORY( ISF_HitAnalysis) 
@@ -18,6 +20,7 @@ DECLARE_FACTORY_ENTRIES( ISF_FastCaloSimParametrization ) {
   DECLARE_ALGORITHM( FastCaloSimParamAlg )
   DECLARE_ALGORITHM( ISF_HitAnalysis )
   DECLARE_TOOL( FastCaloSimGeometryHelper )
+  DECLARE_TOOL( FastCaloSimCaloExtrapolation )
 
   DECLARE_NAMESPACE_SERVICE( ISF , NativeFastCaloSimSvc )
 }
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.C
index 2be882925c6c2cdf45679e7e4405cca2055d5b62..0467029a4ab8181b9cf12f1ac4a3475970471b69 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.C
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.C
@@ -7,10 +7,11 @@
 #include "TLatex.h"
 #include "TLine.h"
 #include "TPave.h"
+#include "TPad.h"
 #include "TMarker.h"
 
 
-void ATLASLabel(Double_t x,Double_t y,char* text,Color_t color) 
+void ATLASLabel(Double_t x,Double_t y,const char* text,Color_t color) 
 {
   TLatex l; //l.SetTextAlign(12); l.SetTextSize(tsize); 
   l.SetNDC();
@@ -49,7 +50,7 @@ void ATLASLabelOld(Double_t x,Double_t y,bool Preliminary,Color_t color)
 
 
 
-void ATLASVersion(char* version,Double_t x,Double_t y,Color_t color) 
+void ATLASVersion(const char* version,Double_t x,Double_t y,Color_t color) 
 {
 
   if (version) {
@@ -65,60 +66,3 @@ void ATLASVersion(char* version,Double_t x,Double_t y,Color_t color)
   }
 }
 
-
-
-void myText(Double_t x,Double_t y,Color_t color,char *text) 
-{
-  //Double_t tsize=0.05;
-  TLatex l; //l.SetTextAlign(12); l.SetTextSize(tsize); 
-  l.SetNDC();
-  l.SetTextColor(color);
-  l.DrawLatex(x,y,text);
-}
- 
-void myBoxText(Double_t x, Double_t y,Double_t boxsize,Int_t mcolor,char *text) 
-{
-  Double_t tsize=0.06;
-
-  TLatex l; l.SetTextAlign(12); //l.SetTextSize(tsize); 
-  l.SetNDC();
-  l.DrawLatex(x,y,text);
-
-  Double_t y1=y-0.25*tsize;
-  Double_t y2=y+0.25*tsize;
-  Double_t x2=x-0.3*tsize;
-  Double_t x1=x2-boxsize;
-
-  printf("x1= %f x2= %f y1= %f y2= %f \n",x1,x2,y1,y2);
-
-  TPave *mbox= new TPave(x1,y1,x2,y2,0,"NDC");
-
-  mbox->SetFillColor(mcolor);
-  mbox->SetFillStyle(1001);
-  mbox->Draw();
-
-  TLine mline;
-  mline.SetLineWidth(4);
-  mline.SetLineColor(1);
-  mline.SetLineStyle(1);
-  Double_t y_new=(y1+y2)/2.;
-  mline.DrawLineNDC(x1,y_new,x2,y_new);
-
-}
-
-void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle,char *text) 
-{
-  //  printf("**myMarker: text= %s\ m ",text);
-
-  Double_t tsize=0.06;
-  TMarker *marker = new TMarker(x-(0.4*tsize),y,8);
-  marker->SetMarkerColor(color);  marker->SetNDC();
-  marker->SetMarkerStyle(mstyle);
-  marker->SetMarkerSize(2.0);
-  marker->Draw();
-
-  TLatex l; l.SetTextAlign(12); //l.SetTextSize(tsize); 
-  l.SetNDC();
-  l.DrawLatex(x,y,text);
-}
-
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.h
index 8dbd1894b51f243ead49bd8602aafc4b760c57a7..ad0415e5b572f6893b1fa04e83e810c44544fbec 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasLabels.h
@@ -9,7 +9,7 @@
 // 
 //   Copyright (C) 2010 Atlas Collaboration
 //
-//   $Id$
+//   $Id: AtlasLabels.h, v0.0   Thu 25 Mar 2010 10:34:20 CET $
 
 
 #ifndef __ATLASLABELS_H
@@ -17,16 +17,10 @@
 
 #include "Rtypes.h"
 
-void ATLASLabel(Double_t x,Double_t y,char* text=NULL,Color_t color=1); 
+void ATLASLabel(Double_t x,Double_t y,const char* text=NULL,Color_t color=1); 
 
 void ATLASLabelOld(Double_t x,Double_t y,bool Preliminary=false,Color_t color=1); 
 
-void ATLASVersion(char* version=NULL,Double_t x=0.88,Double_t y=0.975,Color_t color=1); 
-
-void myText(Double_t x,Double_t y,Color_t color,char *text); 
-
-void myBoxText(Double_t x, Double_t y,Double_t boxsize,Int_t mcolor,char *text); 
-
-void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle,char *text); 
+void ATLASVersion(const char* version=NULL,Double_t x=0.88,Double_t y=0.975,Color_t color=1); 
 
 #endif // __ATLASLABELS_H
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasStyle.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasStyle.h
index b77a679959a02865d32cd13a52bcbac0f1b2fbf3..52eca17ce554c8a93f91dd5404bbf45879d70365 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasStyle.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasStyle.h
@@ -12,7 +12,7 @@
 // 
 //   Copyright (C) 2010 Atlas Collaboration
 //
-//   $Id$
+//   $Id: AtlasStyle.h, v0.0   Thu 25 Mar 2010 10:34:20 CET $
 
 #ifndef  __ATLASSTYLE_H
 #define __ATLASSTYLE_H
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.C
index 9dcff66d3191f9fbff0d4498c6161c5b36b53770..58cbccee1a8982bbc8195c1f1d638798d5e43729 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.C
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.C
@@ -209,9 +209,12 @@ void myAddtoBand(TGraphErrors* g1, TGraphAsymmErrors* g2) {
   for (Int_t i=0; i<g1->GetN(); i++) {
     g1->GetPoint(i, x1,y1);
     g2->GetPoint(i, x1,y2);
-
-    if (y1==0) y1=1;
-    if (y2==0) y2=1;
+    
+    if ( y1==0 || y2==0 ) { 
+      std::cerr << "check these points very carefully : myAddtoBand() : point " << i << std::endl;  
+    }
+    //    if (y1==0) y1=1;
+    //    if (y2==0) y2=1;
 
     //    if (i==g1->GetN()-1) x2=x1;
     //    else                 g2->GetPoint(i+1,x2,dum);
@@ -251,16 +254,16 @@ TGraphErrors* TH1TOTGraph(TH1 *h1){
  TGraphErrors* g1= new TGraphErrors();
 
  Double_t x, y, ex, ey;
- for (Int_t i=0; i<h1->GetNbinsX(); i++) {
+ for (Int_t i=1 ; i<=h1->GetNbinsX(); i++) {
    y=h1->GetBinContent(i);
-  ey=h1->GetBinError(i);
+   ey=h1->GetBinError(i);
    x=h1->GetBinCenter(i);
-  ex=h1->GetBinWidth(i);
-
+   ex=h1->GetBinWidth(i);
+   
   //   cout << " x,y = " << x << " " << y << " ex,ey = " << ex << " " << ey << endl;
 
-   g1->SetPoint(i,x,y);
-   g1->SetPointError(i,ex,ey);
+   g1->SetPoint(i-1,x,y);
+   g1->SetPointError(i-1,ex,ey);
 
  }
 
@@ -269,7 +272,7 @@ TGraphErrors* TH1TOTGraph(TH1 *h1){
  return g1;
 }
 
-void myText(Double_t x,Double_t y,Color_t color,char *text) {
+void myText(Double_t x,Double_t y,Color_t color, const char *text) {
 
   //Double_t tsize=0.05;
   TLatex l; //l.SetTextAlign(12); l.SetTextSize(tsize); 
@@ -279,7 +282,7 @@ void myText(Double_t x,Double_t y,Color_t color,char *text) {
 }
  
 
-void myBoxText(Double_t x, Double_t y,Double_t boxsize,Int_t mcolor,char *text) 
+void myBoxText(Double_t x, Double_t y,Double_t boxsize,Int_t mcolor,const char *text) 
 {
 
   Double_t tsize=0.06;
@@ -311,7 +314,7 @@ void myBoxText(Double_t x, Double_t y,Double_t boxsize,Int_t mcolor,char *text)
 }
 
 
-void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle,char *text,Float_t msize) 
+void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle, const char *text,Float_t msize) 
 {
   Double_t tsize=0.06;
   TMarker *marker = new TMarker(x-(0.4*tsize),y,8);
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.h
index fb4346f98fb6ecfe721ea34cc0644a44bb40f7d5..5305a36284dc2ed2186642bdb98b8fb08ecda079 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/AtlasUtils.h
@@ -10,7 +10,7 @@
 // 
 //   Copyright (C) 2010 Atlas Collaboration
 //
-//   $Id$
+//   $Id: AtlasUtils.h, v0.0   Thu 25 Mar 2010 10:34:20 CET $
 
 
 #ifndef __ATLASUTILS_H
@@ -31,10 +31,10 @@ void myAddtoBand(TGraphErrors* g1, TGraphAsymmErrors* g2);
 
 TGraphErrors* TH1TOTGraph(TH1 *h1);
 
-void myText(Double_t x,Double_t y,Color_t color,char *text);
+void myText(Double_t x,Double_t y,Color_t color,const char *text);
 
-void myBoxText(Double_t x, Double_t y,Double_t boxsize,Int_t mcolor,char *text);
+void myBoxText(Double_t x, Double_t y,Double_t boxsize,Int_t mcolor,const char *text);
 
-void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle,char *text,Float_t msize=2.); 
+void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle,const char *text,Float_t msize=2.); 
 
 #endif // __ATLASUTILS_H
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.cxx
index 84d84f2379786bb98a7d2a70ea86bd417b72d3e2..a1c38db61ff2855baa9a6bed2b52d1cd8b2e262e 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.cxx
@@ -6,6 +6,10 @@
 #include <TTree.h>
 #include <TFile.h>
 #include "CaloDetDescr/CaloDetDescrElement.h"
+#include <fstream>
+#include <sstream>
+#include <TGraph.h>
+#include "TH2D.h"
 
 using namespace std;
 
@@ -27,7 +31,7 @@ bool CaloGeometryFromFile::LoadGeometryFromFile(TString filename,TString treenam
 
   TTree* fChain = tree;
   
-  CaloDetDescrElement cell;
+  CaloGeoDetDescrElement cell;
   
   // List of branches
   TBranch        *b_identifier;   //!
@@ -79,25 +83,220 @@ bool CaloGeometryFromFile::LoadGeometryFromFile(TString filename,TString treenam
     if (ientry < 0) break;
     fChain->GetEntry(jentry);
     
-    CaloDetDescrElement* pcell=new CaloDetDescrElement(cell);
+    CaloGeoDetDescrElement* pcell=new CaloGeoDetDescrElement(cell);
+    int sampling = pcell->getSampling();
+    if(sampling >20) continue;
     addcell(pcell);
 
-    if(jentry%25000==0) {
+    //if(jentry%25000==0) {
+    if(jentry==nentries-1) {
       //cout<<jentry<<" : "<<cell.getSampling()<<", "<<cell.identify()<<endl;
-/*
-      cout<<"all : "<<m_cells.size()<<endl;
-      for(int i=0;i<MAX_SAMPLING;++i) {
-        cout<<"  cells sampling "<<i<<" : "<<m_cells_in_sampling[i].size()<<" cells";
-        cout<<", "<<m_cells_in_regions[i].size()<<" lookup map(s)"<<endl;
-      } 
-*/      
+
+      
+      
       
       //if(jentry>5) break;
     }
   }
-
+	//cout<<"all : "<<m_cells.size()<<endl;
+  Long64_t max(0);
+  Long64_t min_id=m_cells_in_sampling[0].begin()->first;
+  for(int i=0;i<21;++i) {
+		//cout<<"  cells sampling "<<i<<" : "<<m_cells_in_sampling[i].size()<<" cells";
+		//cout<<", "<<m_cells_in_regions[i].size()<<" lookup map(s)"<<endl;
+		for(auto it=m_cells_in_sampling[i].begin(); it!=m_cells_in_sampling[i].end();it++){
+			//cout << it->second->getSampling() << " " << it->first << endl;
+			if(min_id/10 >=  it->first){
+				//cout << "Warning: Identifiers are not in increasing order!!!!" << endl;
+				//cout << min_id << " " << it->first << endl;
+				
+			}
+			if(min_id > it->first)min_id = it->first;
+		}
+	}
+	//cout << "Min id for samplings < 21: " << min_id << endl;
   delete f;
-
+	//return true;
   return PostProcessGeometry();
 }
 
+
+bool CaloGeometryFromFile::LoadFCalGeometryFromFiles(TString filename1,TString filename2,TString filename3){
+	
+	vector<ifstream*> electrodes(3);
+  
+  electrodes[0]=new ifstream(filename1);
+  electrodes[1]=new ifstream(filename2);
+  electrodes[2]=new ifstream(filename3);
+	
+	
+	int	thisTubeId;
+  int    thisTubeI;
+	int    thisTubeJ;
+	//int    thisTubeID;
+	int    thisTubeMod;
+	double thisTubeX;
+	double thisTubeY;
+	TString tubeName;
+	
+	int second_column;
+	string seventh_column;
+	string eight_column;
+	int ninth_column;
+
+	
+	
+	
+	
+	int i;
+	for(int imodule=1;imodule<=3;imodule++){
+		
+		i=0;
+		//while(i<50){
+		while(1){
+		
+		  //cout << electrodes[imodule-1]->eof() << endl;
+			(*electrodes[imodule-1]) >> tubeName;
+			if(electrodes[imodule-1]->eof())break;
+			(*electrodes[imodule-1]) >> thisTubeId; // ?????
+			(*electrodes[imodule-1]) >> thisTubeI;
+			(*electrodes[imodule-1]) >> thisTubeJ;
+			(*electrodes[imodule-1]) >> thisTubeX;
+			(*electrodes[imodule-1]) >> thisTubeY;
+			(*electrodes[imodule-1]) >> seventh_column;
+			(*electrodes[imodule-1]) >> eight_column;
+			(*electrodes[imodule-1]) >> ninth_column;
+			
+			tubeName.ReplaceAll("'","");
+			string tubeNamestring=tubeName.Data();
+			
+			std::istringstream tileStream1(std::string(tubeNamestring,1,1));
+		  std::istringstream tileStream2(std::string(tubeNamestring,3,2));
+		  std::istringstream tileStream3(std::string(tubeNamestring,6,3));
+		  int a1=0,a2=0,a3=0;
+		  if (tileStream1) tileStream1 >> a1;
+		  if (tileStream2) tileStream2 >> a2;
+		  if (tileStream3) tileStream3 >> a3;
+			
+			unsigned int tileName= (a3 << 16) + a2;
+			stringstream s;
+			
+			
+			m_FCal_ChannelMap.add_tube(tubeNamestring, imodule, thisTubeId, thisTubeI,thisTubeJ, thisTubeX, thisTubeY,seventh_column);
+			
+			
+			
+			//cout << "FCal electrodes: " << tubeName << " " << second_column << " " << thisTubeI << " " << thisTubeJ << " " << thisTubeX << " " << thisTubeY << " " << seventh_column << " " << eight_column << " " << ninth_column << endl;
+			//cout << tileStream1.str() << " " << tileStream2.str() << " " << tileStream3.str() << endl;
+			//cout << a1 << " " << a2 << " " << a3 << " " << tileName << endl;
+			i++;
+		}
+	}
+	m_FCal_ChannelMap.finish(); // Creates maps
+	
+	Long64_t phi_index,eta_index;
+	float x,y,dx,dy;
+	long id;
+	//auto it =m_cells_in_sampling[20].rbegin();
+	//it--;
+	//Long64_t identify=it->first;
+	//for(auto it=m_cells_in_sampling[i].begin(); it!=m_cells_in_sampling[i].end();it++){
+	//	
+	//}
+	long mask1[]{0x34,0x34,0x35};
+	long mask2[]{0x36,0x36,0x37};
+	
+	for(int imap=1;imap<=3;imap++){
+		for(auto it=m_FCal_ChannelMap.begin(imap);it!=m_FCal_ChannelMap.end(imap);it++){
+			phi_index = it->first & 0xffff;
+			eta_index = it->first >> 16;
+			CaloGeoDetDescrElement *DDE =new CaloGeoDetDescrElement; // side C
+			CaloGeoDetDescrElement *DDE2 =new CaloGeoDetDescrElement; // side A
+			x=it->second.x();
+			y=it->second.y();
+			m_FCal_ChannelMap.tileSize(imap, eta_index, phi_index,dx,dy);
+			//if(imap==2) eta_index+=100;
+			//if(imap==3) eta_index+=200;
+			//cout << imap << " " << eta_index << " " << phi_index << " " <<  it->first << " " << (eta_index << 16) + phi_index << endl;
+			
+			DDE->m_calosample=imap+20;
+			DDE->m_x=x;
+			DDE->m_y=y;
+			DDE->m_x_raw=x;
+			DDE->m_y_raw=y;
+			DDE->m_dx=dx;
+			DDE->m_dy=dy;
+			
+			DDE2->m_calosample=imap+20;
+			DDE2->m_x=x;
+			DDE2->m_y=y;
+			DDE2->m_x_raw=x;
+			DDE2->m_y_raw=y;
+			DDE2->m_dx=dx;
+			DDE2->m_dy=dy;
+			
+			id=(mask1[imap-1]<<12) + (eta_index << 5) +2*phi_index;
+			if(imap==2) id+= (8<<8);
+			DDE->m_identify=(id << 44);
+			//DDE->m_identify=(id << 12);
+			//cout << DDE->identify() << endl;
+			addcell(DDE);
+			id=(mask2[imap-1]<<12) + (eta_index << 5) +2*phi_index;
+			if(imap==2) id+= (8<<8);
+			DDE2->m_identify=(id << 44);
+						//DDE->m_identify=(id << 12);
+			addcell(DDE2);
+		}
+	
+	}
+	auto it =m_cells_in_sampling[0].begin();
+	//it--;
+	Long64_t identify=it->first;
+	//cout << "min identifier from sampling < 21: " << identify << endl;
+	
+	for(int i=21;i<MAX_SAMPLING;++i) {
+        //cout<<"  cells sampling "<<i<<" : "<<m_cells_in_sampling[i].size()<<" cells";
+        //cout<<", "<<m_cells_in_regions[i].size()<<" lookup map(s)"<<endl;
+        for(auto it=m_cells_in_sampling[i].begin(); it!=m_cells_in_sampling[i].end();it++){
+					//cout << it->second->getSampling() << " " << it->first << endl;
+				}
+        
+  }
+	return true;
+}
+
+void CaloGeometryFromFile::DrawFCalGraph(int isam,int color){
+	
+	stringstream ss;
+	ss << "FCal" << isam - 20 << endl;
+	TString name = ss.str().c_str();
+	
+	const int size=m_cells_in_sampling[isam].size();
+	double x[size];
+	double y[size];
+	const CaloGeoDetDescrElement* cell;
+	int i=0;
+	for(auto it=m_cells_in_sampling[isam].begin();it!=m_cells_in_sampling[isam].end();it++){
+		x[i]=it->second->x();
+		y[i]=it->second->y();
+		i++;
+	}
+	// cout << size << endl;
+	//TH2D* h = new TH2D("","",10,-0.5,0.5,10,-0.5,0.5);
+	//h->SetStats(0);
+	//h->Draw();
+	TGraph* graph = new TGraph(size,x,y);
+	graph->SetLineColor(color);
+	graph->SetTitle(name);
+	graph->SetMarkerStyle(21);
+	graph->SetMarkerColor(color);
+	graph->SetMarkerSize(0.5);
+	graph->GetXaxis()->SetTitle("x");
+	graph->GetYaxis()->SetTitle("y");
+	
+	graph->Draw("AP");
+
+	
+	
+}	
+		
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.h
index eb87c14820944231ef3c0504e2e4859ed5ff7baf..fe387c317bad940eda9c9baa12edc970d3b39f8b 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloGeometryFromFile.h
@@ -13,6 +13,8 @@ public :
    virtual ~CaloGeometryFromFile();
    
    virtual bool LoadGeometryFromFile(TString filename,TString treename);
+   virtual bool LoadFCalGeometryFromFiles(TString filename1,TString filename2,TString filename3);
+   void DrawFCalGraph(int isam,int color);
 };
 
 #endif
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CopyParam2File.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CopyParam2File.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..4d7c8125d37319d03bf34555f33c6c12b56445d9
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CopyParam2File.cxx
@@ -0,0 +1,177 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+  * Prerequisites:
+  *
+  * -) 
+  *
+  * $ root -l -b -q 'CopyParam2File.cxx("shape.pdgid_211.en_50000.eta_020.root", "EnergyParam", 211, 50000, 0.20)'
+  * 
+ */
+#include "TROOT.h"
+#include "TRint.h"
+#include "TKey.h"
+#include "TFile.h"
+#include "TSystem.h"
+#include "TTree.h"
+#include <string>
+
+// build string sparam.<pdgid>.<energy>.<eta>.<pca#>.<layer#>
+std::string doSParam(std::string pstr, std::string kstr) {
+  std::string delim1 = "layer";
+  std::string delim2 = "_";
+  std::string delim3 = "pca";
+  size_t l_startpos = kstr.find(delim1)+delim1.length();
+  size_t l_endpos = kstr.find_last_of(delim2)-(kstr.find(delim1)+delim1.length());
+  size_t p_startpos = kstr.find(delim3)+delim3.length();
+  std::string lNum = kstr.substr(l_startpos, l_endpos);
+  std::string pNum = kstr.substr(p_startpos,std::string::npos);
+  return pstr.append(".pca_"+pNum+".layer_"+lNum);
+}
+
+// build string eparam.<pdgid>.<energy>.<eta>.<pca#>.<
+std::string doEParam(std::string pstr, std::string kstr, std::string dirstr) {
+  std::string lNum;
+  std::string retstr = "";
+  // bin/pca common amongst all
+  std::string delim1 = "bin";
+  std::string delim2 = "/";
+  size_t p_startpos = dirstr.find(delim1)+delim1.length();
+  size_t p_endpos = dirstr.find_last_of(delim2)-(dirstr.find(delim1)+delim1.length());
+  std::string pNum = dirstr.substr(p_startpos, p_endpos);
+  pstr.append(".pca_"+pNum);
+  // check if we are in a pca dir
+  if (dirstr.find("pca") != std::string::npos) {
+    retstr = pstr+"."+kstr;
+  }
+  // ...in a layer dir?
+  else if (dirstr.find("layer") != std::string::npos) {
+    size_t l_startpos = dirstr.find("layer")+std::string("layer").length();
+    retstr = pstr+".layer_"+dirstr.substr(l_startpos, std::string::npos);
+  }
+  // ...must be a `totalE`!
+  else if (dirstr.find("totalE") != std::string::npos) {
+    retstr = pstr+".totalE";
+  }
+  // Nope -- we don't know where we are!
+  else {
+    std::cout << "ERROR: where are we? (Not a `layer` or `pca`, that's for sure!)" << std::endl;
+    exit(1);
+  }
+
+  std::cout << "\tretstr: " << retstr << std::endl;
+  return retstr;
+}
+
+void copyDir(TDirectory* src, std::string param_str) {
+  // Copy src dir to dest
+  src->ls();
+  TDirectory* savdir = gDirectory;
+  TDirectory* adir = savdir;
+  adir->cd();
+  // loop on all entries in src
+  TKey* key;
+  TIter nextkey(src->GetListOfKeys());
+  while ((key = (TKey*) nextkey())) {
+    const char *classname = key->GetClassName();
+    TClass *cl = gROOT->GetClass(classname);
+    if (!cl) continue;
+    if (cl->InheritsFrom("TDirectory")) {
+//      adir = savdir->mkdir(key->GetName());
+      src->cd(key->GetName());
+      TDirectory *subdir = gDirectory;
+      adir->cd();
+      copyDir(subdir, param_str);
+      adir->cd();
+    } else if (cl->InheritsFrom("TTree")) {
+      TTree *T = (TTree*)src->Get(key->GetName());
+      adir->cd();
+      TTree *newT = (TTree*)T->CloneTree();
+      newT->Write();
+    } else {
+      src->cd();
+      TObject *obj = key->ReadObj();
+      adir->cd();
+      std::string complete_param_str;
+      if (param_str.substr(0,1) == "s") complete_param_str = doSParam(param_str, std::string(key->GetName()));
+      else if (param_str.substr(0,1) == "e") complete_param_str = doEParam(param_str, std::string(key->GetName()), std::string(src->GetPath()));
+      obj->Write(complete_param_str.c_str(),TObject::kWriteDelete);
+      delete obj;
+    }
+  }
+  adir->SaveSelf(kTRUE);
+  savdir->cd();
+}
+
+void copyFile(const char* fname, std::string param_str) {
+  TDirectory* target = gDirectory;
+  TFile* fsrc = TFile::Open(fname);
+  if (!fsrc || fsrc->IsZombie()) {
+    printf("Cannot open source file: %s", fname);
+    target->cd();
+    return;
+  }
+  // Copy dir from src to dest
+  target->cd("/");
+  copyDir(fsrc, param_str);
+  delete fsrc;
+  target->cd();
+}
+
+void 
+CopyParam2File(std::string src_str, std::string param_type, unsigned int pdgid, unsigned int energy, float eta, std::string dest_str = "FCSParams.root") {
+  // ROOT-aware
+  TLorentzVector* t;
+  gROOT->LoadMacro("../20.20.X-VAL/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/IntArray.cxx+");
+  gROOT->LoadMacro("../20.20.X-VAL/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx+");
+  gROOT->LoadMacro("../20.20.X-VAL/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegression.cxx+");
+  gROOT->LoadMacro("../20.20.X-VAL/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionRegressionTF.cxx+");
+  gROOT->LoadMacro("../20.20.X-VAL/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS1DFunctionHistogram.cxx+");
+
+  // Destination (where to write to)
+  TFile* fdest = TFile::Open(dest_str.c_str(), "UPDATE");
+  if (!fdest || fdest->IsZombie()) {
+    printf("Cannot open destination file: %s (it doesn't exist?)", dest_str.c_str());
+    printf("Creating file...");
+    fdest = TFile::Open(dest_str.c_str(), "CREATE");
+    // Check if the new file creation was a success; if not, exit with an error.
+    if (!fdest || fdest->IsZombie()) {
+      printf("Cannot create destination file: %s (something went wrong)", dest_str.c_str());
+      return;
+    }
+  }
+
+  std::string s_param_prefix;
+  char param_prefix[100];
+
+  if (param_type == "EnergyParam") {
+    s_param_prefix = "eparam";
+  }
+  else if (param_type == "ShapeParam") {
+    s_param_prefix = "sparam";
+  }
+  else {
+    std::cout << "Invalid param_type. Valid param_type arguments are EnergyParam and ShapeParam." << std::endl;
+    exit(1);
+  }
+
+  // Get rid of the '.' in `eta`
+  std::ostringstream ss_eta;
+  ss_eta << fixed << setprecision(2) << eta;
+  std::string s_eta(ss_eta.str());
+  s_eta.erase(1,1);
+
+  // Construct complete param prefix
+  s_param_prefix.append(".pdgid_"+std::to_string(pdgid)+".en_"+std::to_string(energy)+".eta_"+s_eta);
+
+  // Copy src
+  copyFile(src_str.c_str(), s_param_prefix);
+
+  // cleanup
+  fdest->Close();
+  delete fdest;
+  return;
+}
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/TestFCalIdentifiers.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/TestFCalIdentifiers.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..ff464ecf552041ad3321988dc843c410c397d992
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/TestFCalIdentifiers.cxx
@@ -0,0 +1,155 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "FCS_Cell.h"
+#include "../ISF_FastCaloSimParametrization/MeanAndRMS.h"
+#include "Identifier/Identifier.h"
+#include "CaloDetDescr/CaloDetDescrElement.h"
+#include "CaloGeometryFromFile.h"
+#include "CaloHitAna.h"
+#include "../ISF_FastCaloSimParametrization/CaloGeometry.h"
+#include "../ISF_FastCaloSimParametrization/FCAL_ChannelMap.h"
+#include "TFile.h"
+#include "TTree.h"
+#include "TString.h"
+#include <string>
+#include <sstream>
+#include <iostream>
+#include "TSystem.h"
+#include "TString.h"
+#include "TFile.h"
+#include <stdlib.h>
+#include "TLorentzVector.h"
+#include "TH1.h"
+#include "TH2.h"
+#include "TH1F.h"
+#include "TH2F.h"
+#include <vector>
+#include "TCanvas.h"
+//#include "MakeBins.C"
+using namespace std;
+
+void TestFCalIdentifiers(TString sampling="Sampling_0"){
+
+  CaloGeometryFromFile* geo=new CaloGeometryFromFile();
+  geo->LoadGeometryFromFile("/afs/cern.ch/atlas/groups/Simulation/FastCaloSim/ATLAS-GEO-20-00-01.root","ATLAS-GEO-20-00-01");
+  geo->LoadFCalGeometryFromFiles("FCal1-electrodes.sorted.HV.09Nov2007.dat","FCal2-electrodes.sorted.HV.April2011.dat","FCal3-electrodes.sorted.HV.09Nov2007.dat");
+  
+  
+  FCAL_ChannelMap* channelMap =geo->GetFCAL_ChannelMap();
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  //TFile *inputFile = TFile::Open("root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/LArShift020715/ISF_HitAnalysis6_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.merged.pool.root");
+  
+  //  TFile *inputFile = TFile::Open("root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/NTUP_110216/ISF_HitAnalysis_Zach1_merged.root");
+	
+	TFile *inputFile = TFile::Open("/eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000001.matched_output.root");
+	//TFile *inputFile = TFile::Open("/eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root");
+
+  TTree *inputTree = ( TTree* ) inputFile->Get( "FCS_ParametrizationInput" );
+
+  FCS_matchedcellvector *vec=0; //this need to be set to 0!
+  inputTree->SetBranchAddress(sampling,&vec);
+
+
+  std::cout << "Sampling is " << sampling << std::endl;
+
+  Int_t nEvt = inputTree->GetEntries();
+  std::cout << "nEvt " << nEvt << std::endl;
+  
+ // nEvt = 1000;
+  
+  stringstream ssIdentifier;
+  
+  for (Int_t ientry=0; ientry<nEvt; ientry++){
+    
+    inputTree->GetEntry(ientry);   
+    if(ientry%100 == 0)  
+      std::cout << "Processing event # " << ientry << std::endl;
+
+    double weight = 1.0;
+    //cout << (*vec).size() << endl;
+    //loop over cells in sampling
+    for (UInt_t j=0; j<(*vec).size(); j++){
+      
+      Float_t cell_E = 0.0;
+      cell_E = ((FCS_matchedcell)(*vec)[j]).cell.energy;
+      Long64_t cell_ID = 0;
+      cell_ID =  ((FCS_matchedcell)(*vec)[j]).cell.cell_identifier;
+			
+			cout << cell_ID << hex << " 0x"<< cell_ID << endl;
+     // cout << cell_E << endl;
+      
+      //now I use the geomery lookup tool to get the cell eta/phi
+     // const CaloDetDescrElement* cell;
+      Identifier cellid(cell_ID);
+      //cell=geo->getDDE(cellid); //This is working also for the FCal
+      
+      //loop over hits in the cell
+      for (unsigned int ihit=0; ihit<((FCS_matchedcell)(*vec)[j]).hit.size(); ihit++){
+	
+				//now I check what is the hit position
+				float x = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_x;
+				float y = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_y;
+				float z = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_z;
+				float t = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_time;	
+				TLorentzVector *hitVec = new TLorentzVector(x, y, z, t);
+				const CaloDetDescrElement* foundCell;
+				int hitSampling =((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling; 
+				
+				//cout << hitSampling << " " << x << " " << y << endl;
+				
+				if(hitSampling<21)foundCell=geo->getDDE(hitSampling,hitVec->Eta(),hitVec->Phi());
+				else if(hitSampling<24)foundCell=geo->getFCalDDE(hitSampling,x,y,z);
+				else {
+					cout << endl << "Warning: Found hit with sampling > 23 !!!!!!!!!!!!!!" << endl << endl;
+					foundCell =0;
+				}
+				
+				
+				int ieta,iphi;
+				
+				//cout << "Hit position: " << "x: " << x << " y: " << y << " eta: " << hitVec->Eta() << " phi: " << hitVec->Phi() <<  endl;
+				
+				
+				
+				if (foundCell){// && cell){
+					channelMap->getTileID(hitSampling - 20,x,y,ieta,iphi);
+					ssIdentifier.str("");
+					
+					int zSide = 2;
+					ssIdentifier << 4          // LArCalorimeter
+             << 3          // LArFCAL
+             << zSide      // EndCap
+             << hitSampling   // FCal Module # 
+             << (ieta << 16)+iphi;  
+					
+					//cout << foundCell->x() << " " << foundCell->y()  << endl;
+					//cout << abs(foundCell->x() - x) << " " << abs(foundCell->y() - y) << endl;
+				  if( z > 0) cout << "Side A " << hex << foundCell->identify()  <<" " << cell_ID <<" " << ((FCS_matchedcell)(*vec)[j]).hit[ihit].cell_identifier << dec << " " << cell_ID <<" " << ((FCS_matchedcell)(*vec)[j]).hit[ihit].cell_identifier <<" " <<  ieta << " " << iphi << " " << (ieta << 16)+iphi << endl;
+				  else cout << "Side C " << hex << foundCell->identify()  <<" " << cell_ID << " " << ((FCS_matchedcell)(*vec)[j]).hit[ihit].cell_identifier << dec<< " " << cell_ID <<" " << ((FCS_matchedcell)(*vec)[j]).hit[ihit].cell_identifier << " " <<  ieta << " " << iphi << " " << (ieta << 16)+iphi << endl;
+				 // cout << cell_ID << " " << ((FCS_matchedcell)(*vec)[j]).hit[ihit].identifier << " " << ((FCS_matchedcell)(*vec)[j]).hit[ihit].cell_identifier << " " << ((FCS_matchedcell)(*vec)[j]).g4hit[ihit].identifier << " " << ((FCS_matchedcell)(*vec)[j]).g4hit[ihit].cell_identifier << endl;
+				 
+				  
+				} //end if cell ok
+				else cout << "Cell not found!" << endl;
+      } //end loop over hits
+    } //end loop on cells   
+  } //end loop on events
+  
+  
+
+
+
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_epara.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_epara.C
index 920110d3969c35b736104536fd00b57782d02d9a..133b6bb2c38499bf38e9b2e83362675f1f1fbfaf 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_epara.C
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_epara.C
@@ -20,24 +20,22 @@ void init_epara()
  TMatrixD *m;
  
  gInterpreter->AddIncludePath("..");
+ gInterpreter->AddIncludePath("../epara");
  gInterpreter->AddIncludePath("../../ISF_FastCaloSimEvent");
-
- gROOT->LoadMacro("../Root/TreeReader.cxx+");
- 
- gROOT->LoadMacro("../Root/firstPCA.cxx+");
-
- gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx+");
- gROOT->LoadMacro("../Root/TFCS1DFunctionRegression.cxx+");
- gROOT->LoadMacro("../Root/TFCS1DFunctionRegressionTF.cxx+");
- gROOT->LoadMacro("../Root/TFCS1DFunctionHistogram.cxx+");
- gROOT->LoadMacro("../Root/TFCSFunction.cxx+");
  
  gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/IntArray.cxx+");
- gROOT->LoadMacro("../Root/secondPCA.cxx+");
- 
- 
+ gROOT->LoadMacro("../Root/TreeReader.cxx+");
+ gROOT->LoadMacro("../epara/firstPCA.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunctionRegression.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunctionRegressionTF.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunctionHistogram.cxx+");
+ gROOT->LoadMacro("../epara/TFCSFunction.cxx+");
+ gROOT->LoadMacro("../epara/TFCS1DRegression.cxx+");
+ gROOT->LoadMacro("../epara/secondPCA.cxx+");
+ 
+ /*
  gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSExtrapolationState.cxx+");
- 
  gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSTruthState.cxx+");
  gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSSimulationState.cxx+");
  gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSParametrizationBase.cxx+");
@@ -45,6 +43,7 @@ void init_epara()
  gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSEnergyParametrization.cxx+");
  gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSPCAEnergyParametrization.cxx+");
  gROOT->LoadMacro("../Root/EnergyParametrizationValidation.cxx+");
+ */
  
  cout<<"init done"<<endl;
  
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_epara_validation.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_epara_validation.C
new file mode 100644
index 0000000000000000000000000000000000000000..1b9514c4470d9a8757873832715ce7e504f3b4aa
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_epara_validation.C
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TSystem.h"
+#include "TROOT.h"
+#include <iostream>
+
+#include "TLorentzVector.h"
+#include "TMatrixD.h"
+
+void init_epara_validation();
+
+void init_epara_validation()
+{
+ 
+ cout<<"hello"<<endl;
+ 
+ TLorentzVector *t;
+ TMatrixD *m;
+ 
+ gInterpreter->AddIncludePath("..");
+ gInterpreter->AddIncludePath("../../ISF_FastCaloSimEvent");
+
+ gROOT->LoadMacro("../Root/TreeReader.cxx+");
+ 
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunction.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunctionRegression.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunctionRegressionTF.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCS1DFunctionHistogram.cxx+");
+ 
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/IntArray.cxx+");
+ 
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSExtrapolationState.cxx+");
+ 
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSTruthState.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSSimulationState.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSParametrizationBase.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSParametrization.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSEnergyParametrization.cxx+");
+ gROOT->LoadMacro("../../ISF_FastCaloSimEvent/src/TFCSPCAEnergyParametrization.cxx+");
+ gROOT->LoadMacro("../Root/EnergyParametrizationValidation.cxx+");
+ 
+ cout<<"init done"<<endl;
+ 
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_geo.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_geo.C
index 6e5e8989445b211ffefef470087bc1ebdbfa2995..f8b6477c166feb2462f321286127fbf2414f6c8b 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_geo.C
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_geo.C
@@ -2,29 +2,34 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#include "TSystem.h"
-#include "TROOT.h"
-#include <iostream>
-
-#include "../ISF_FastCaloSimParametrization/MeanAndRMS.h"
-#include "Identifier/Identifier.h"
-#include "CaloDetDescr/CaloDetDescrElement.h"
-
-
-void init_geo();
-
-void init_geo()
-{
- 
- cout<<"init geometry test tool"<<endl;
-
- gInterpreter->AddIncludePath("..");
- gInterpreter->AddIncludePath("../../ISF_FastCaloSimEvent");
-
+#include "TSystem.h"
+#include "TROOT.h"
+#include <iostream>
+
+#include "../ISF_FastCaloSimParametrization/MeanAndRMS.h"
+#include "Identifier/Identifier.h"
+#include "CaloDetDescr/CaloDetDescrElement.h"
+
+
+void init_geo();
+
+void init_geo()
+{
+
+ cout<<"init geometry test tool"<<endl;
+
+ gInterpreter->AddIncludePath("..");
+ gInterpreter->AddIncludePath("../../ISF_FastCaloSimEvent");
+
  gROOT->LoadMacro("CaloSampling.cxx+");
  gROOT->LoadMacro("../src/CaloGeometry.cxx+");
  gROOT->LoadMacro("CaloGeometryFromFile.cxx+");
- 
- cout<<"init geometry done"<<endl;
- 
-}
+ gROOT->LoadMacro("../src/FCAL_ChannelMap.cxx+");
+ cout<<"init geometry done"<<endl;
+ cout << "running run_geo.C" << endl;
+
+ gROOT->ProcessLine(".x run_geo.C");
+
+
+
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_shapepara.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_shapepara.C
new file mode 100644
index 0000000000000000000000000000000000000000..2c36d9fee5f9d01614250c62efaa0aaba184a0be
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/init_shapepara.C
@@ -0,0 +1,56 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TSystem.h"
+#include "TROOT.h"
+
+#include <iostream>
+
+using namespace std;
+
+void init_shapepara(bool);
+
+void init_shapepara(bool isStandAlone) {
+
+
+    if (!isStandAlone) {
+        // * load required macros
+
+        cout << " ** including paths and loading macros ...." << endl;
+
+        gInterpreter->AddIncludePath("..");
+        gInterpreter->AddIncludePath("../shapepara");
+        gInterpreter->AddIncludePath("../../ISF_FastCaloSimEvent");
+        gInterpreter->AddIncludePath("./");
+
+
+        gROOT->LoadMacro("CaloSampling.cxx+");
+        gROOT->LoadMacro("../src/CaloGeometry.cxx+");
+        gROOT->LoadMacro("CaloGeometryFromFile.cxx+");
+        gROOT->LoadMacro("../src/FCAL_ChannelMap.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapeThinning.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapeStudy.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapeBinning.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapePlotting.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapeRegression.cxx+");
+
+    } else if (isStandAlone) {
+
+
+        cout << " ** configuring for standalone running ...." << endl;
+
+        gInterpreter->AddIncludePath("..");
+        gInterpreter->AddIncludePath("../shapepara");
+        gInterpreter->AddIncludePath("./");
+
+
+        gROOT->LoadMacro("../shapepara/ShowerShapeStudy.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapeBinning.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapePlotting.cxx+");
+        gROOT->LoadMacro("../shapepara/ShowerShapeRegression.cxx+");
+
+
+    }
+
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runTestFCalIdentifiers.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runTestFCalIdentifiers.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..108f3d999bdb1e5c9f1f313d3ffe7064c6a5ccc9
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runTestFCalIdentifiers.cxx
@@ -0,0 +1,22 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+{
+  gStyle->SetOptStat(0);
+
+  gSystem->AddIncludePath(" -I.. ");
+
+  gROOT->LoadMacro("../ISF_FastCaloSimParametrization/MeanAndRMS.h+");
+  gROOT->LoadMacro("Identifier/Identifier.h+");
+  gROOT->LoadMacro("CaloDetDescr/CaloDetDescrElement.h+");
+  gROOT->LoadMacro("CaloSampling.cxx+");
+  gROOT->LoadMacro("../src/CaloGeometry.cxx+");
+  gROOT->LoadMacro("../src/FCAL_ChannelMap.cxx+");
+  gROOT->LoadMacro("CaloGeometryFromFile.cxx+");
+  
+  gROOT->LoadMacro("TestFCalIdentifiers.cxx+");
+  TestFCalIdentifiers("Sampling_21");
+ 
+
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosure.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosure.cxx
index a645854233bc180f08d933360cfb65f5a316ce08..140bf49fbf026d59df4d90874771e7f43fba4210 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosure.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosure.cxx
@@ -13,6 +13,7 @@
   gROOT->LoadMacro("Identifier/Identifier.h+");
   gROOT->LoadMacro("CaloDetDescr/CaloDetDescrElement.h+");
   gROOT->LoadMacro("CaloSampling.cxx+");
+  gROOT->LoadMacro("../src/FCAL_ChannelMap.cxx+");
   gROOT->LoadMacro("../src/CaloGeometry.cxx+");
   gROOT->LoadMacro("CaloGeometryFromFile.cxx+");
     
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosureInputs.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosureInputs.cxx
index 56cdbca3e99d7e944e3b8740d2cbf59b2296055e..f2748b71d8a45502e37c3e2c0a74fd99e64bc9e8 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosureInputs.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/runWiggleClosureInputs.cxx
@@ -11,16 +11,17 @@
   gROOT->LoadMacro("Identifier/Identifier.h+");
   gROOT->LoadMacro("CaloDetDescr/CaloDetDescrElement.h+");
   gROOT->LoadMacro("CaloSampling.cxx+");
+  gROOT->LoadMacro("../src/FCAL_ChannelMap.cxx+");
   gROOT->LoadMacro("../src/CaloGeometry.cxx+");
   gROOT->LoadMacro("CaloGeometryFromFile.cxx+");
   
   gROOT->LoadMacro("wiggle_closure_inputs.cxx+");
-  wiggle_closure_inputs("Sampling_0");
-  wiggle_closure_inputs("Sampling_1");
-  wiggle_closure_inputs("Sampling_2");
-  wiggle_closure_inputs("Sampling_3");
-  wiggle_closure_inputs("Sampling_12");
-  wiggle_closure_inputs("Sampling_13");
-  wiggle_closure_inputs("Sampling_14");
-
+  //wiggle_closure_inputs("Sampling_0");
+  //wiggle_closure_inputs("Sampling_1");
+  //wiggle_closure_inputs("Sampling_2");
+  //wiggle_closure_inputs("Sampling_3");
+  //wiggle_closure_inputs("Sampling_12");
+  //wiggle_closure_inputs("Sampling_13");
+	//wiggle_closure_inputs("Sampling_14");
+		wiggle_closure_inputs("Sampling_21");
 }
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara.C
index e3b3fd4b9953e506a0a8c0b466eb188851a39a69..82c98f1692852824f927de4a257488bf6c90b5b4 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara.C
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara.C
@@ -55,11 +55,11 @@ void run_epara()
  secondPCA* mysecondPCA=new secondPCA(pca1_outfilename,pca2_outfilename);
  mysecondPCA->set_PCAbin(0);
  mysecondPCA->set_storeDetails(0);
- mysecondPCA->set_cumulativehistobins(5000);
+ mysecondPCA->set_cumulativehistobins(1000);
  mysecondPCA->set_cut_maxdeviation_regression(5);
  mysecondPCA->set_cut_maxdeviation_smartrebin(5);
- mysecondPCA->set_Ntoys(1000);
- mysecondPCA->set_neurons_iteration(2,6);
+ mysecondPCA->set_Ntoys(5000);
+ mysecondPCA->set_neurons_iteration(2,16); //2,6
  mysecondPCA->set_skip_regression(0);
  mysecondPCA->run();
  
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara_validation.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara_validation.C
index 277a2348cd2abe6c202c9c2b4c72551e3f2debb3..6316b5dd4c6114cd41759d2301fa37105b3f4bbf 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara_validation.C
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_epara_validation.C
@@ -2,6 +2,12 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
+TH1* get_cumul(TH1* hist);
+void run_epara_validation();
+
+//.x init_epara_validation.C+
+//.x run_epara_validation.C
+
 void run_epara_validation()
 {
  	
@@ -15,11 +21,11 @@ void run_epara_validation()
   
   system("mkdir eparavalidation");
   system(("mkdir eparavalidation/"+sample).c_str());
-  
+  /*
   int setbin=-1;
   cout<<"PCA bin (-1 if random)? "<<endl;
   cin>>setbin;
-  
+  */
   //Prepare the Histograms
   cout<<"Preparing validation histograms"<<endl;
   TFile* file1=TFile::Open(Form("%s/%s/firstPCA.root",dirname.c_str(),sample.c_str()));
@@ -74,8 +80,8 @@ void run_epara_validation()
   for(int event=0;event<read_inputTree->GetEntries();event++)
   {
    read_inputTree->GetEntry(event);
-   if(setbin<0 || (setbin>=1 && read_inputTree->GetVariable("firstPCAbin")==setbin))
-   {
+   //if(setbin<0 || (setbin>=1 && read_inputTree->GetVariable("firstPCAbin")==setbin))
+   //{
    double sum_fraction_elmag=0.0;
    double sum_fraction_had=0.0;
    double data = read_inputTree->GetVariable("energy_totalE");
@@ -97,11 +103,20 @@ void run_epara_validation()
    }
    h_input[layerNr.size()+1]->Fill(sum_fraction_elmag);
    h_input[layerNr.size()+2]->Fill(sum_fraction_had);
-   }
+   //}
   }
   
   TH1D* h_randombin=new TH1D("h_randombin","h_randombin",pcabins,-0.5,pcabins-0.5);
   
+   
+  TFCSPCAEnergyParametrization etest("etest","etest");
+  TFile* file2 = TFile::Open("/afs/cern.ch/atlas/groups/Simulation/FastCaloSimV2/FCSParams.root");
+  cout<<"pca bins before load "<<etest.n_pcabins()<<endl;
+  etest.loadInputs(file2);
+  cout<<"number of pca bins after load "<<etest.n_pcabins()<<" , number from firstPCA file: "<<pcabins<<endl;
+  file2->Close();
+  delete file2;
+
   //Run the loop:
   int ntoys=1000;
   TRandom3* Random=new TRandom3();
@@ -110,45 +125,28 @@ void run_epara_validation()
   const TFCSExtrapolationState* extrapol=new TFCSExtrapolationState();
   for(int i=0;i<ntoys;i++)
   {
-   if(i%100==0) 
+   //if(i%100==0) 
    	cout<<"Now run simulation for Toy "<<i<<endl;
    
-   int randombin;
-   if(setbin>=1)
-    randombin=setbin;
-   else
+   int randombin=0;
+   double uniform=Random->Uniform(1);
+   for(int n=0;n<pcabins;n++)
    {
-    double uniform=Random->Uniform(1);
-    randombin=0;
-    for(int n=0;n<pcabins;n++)
-    {
-     if(uniform>n*1.0/(double)pcabins && uniform<(n+1.)*1.0/(double)pcabins)
-      randombin=n+1;
-    }
+    if(uniform>n*1.0/(double)pcabins && uniform<(n+1.)*1.0/(double)pcabins)
+     randombin=n+1;
    }
    h_randombin->Fill(randombin);
-   
-   TFCSPCAEnergyParametrization* etest=new TFCSPCAEnergyParametrization("etest","etest");
-   TFile* file2;
-   if(setbin!=-1) file2=TFile::Open(Form("%s/%s/secondPCA.root_bin%i",dirname.c_str(),sample.c_str(),randombin));
-   else           file2=TFile::Open(Form("%s/%s/secondPCA.root",dirname.c_str(),sample.c_str()));
-   
-   etest->loadInputs(file2,randombin);
-   
-   file2->Close();
-   delete file2;
          
    TFCSSimulationState simulstate;
    simulstate.set_Ebin(randombin);
-      
-   etest->simulate(simulstate, truth, extrapol);
-   delete etest;
+   
+   etest.simulate(simulstate, truth, extrapol);
    
    //fill the Histograms:
    double sum_fraction_elmag=0.0;
    double sum_fraction_had=0.0;
    
-   for(int s=0;s<30;s++)
+   for(int s=0;s<30;s++) //30 is a dummy number, sth big
    {
    	int is_elmag,is_had;
    	is_elmag=is_had=0;
@@ -156,13 +154,13 @@ void run_epara_validation()
     {
      if(s==layerNr[l])
      {
-   	  h_output[l]->Fill(simulstate.E(s));
+   	  h_output[l]->Fill(simulstate.Efrac(s));
       for(int e=0;e<elmag.size();e++)
       { 	  if(elmag[e]==layerNr[l]) is_elmag=1;   }
       for(int h=0;h<had.size();h++)
       { 	  if(had[h]==layerNr[l]) is_had=1;   }
-      if(is_elmag) sum_fraction_elmag+=simulstate.E(s);
-      if(is_had)   sum_fraction_had+=simulstate.E(s);
+      if(is_elmag) sum_fraction_elmag+=simulstate.Efrac(s);
+      if(is_had)   sum_fraction_had+=simulstate.Efrac(s);
      }
     }
    }
@@ -172,6 +170,7 @@ void run_epara_validation()
    
   } //loop over toys
   
+  
   cout<<"Now making validation plots"<<endl;
   
   vector<string> name;
@@ -255,8 +254,8 @@ void run_epara_validation()
    leg2->Draw();
    
    can->cd(3);
-   TH1D* h_output_cumul=(TH1D*)TFCS1DFunction::get_cumul(h_output_lin); h_output_cumul->SetName("h_output_cumul");
-   TH1D* h_input_cumul =(TH1D*)TFCS1DFunction::get_cumul(h_input_lin);  h_input_cumul->SetName("h_input_cumul");
+   TH1D* h_output_cumul=(TH1D*)get_cumul(h_output_lin); h_output_cumul->SetName("h_output_cumul");
+   TH1D* h_input_cumul =(TH1D*)get_cumul(h_input_lin);  h_input_cumul->SetName("h_input_cumul");
    double sf=h_input_cumul->GetBinContent(h_input_cumul->GetNbinsX());
    h_output_cumul->Scale(1.0/sf);
    h_input_cumul->Scale(1.0/sf);
@@ -277,14 +276,26 @@ void run_epara_validation()
    can->cd(2)->RedrawAxis();
    can->cd(3)->RedrawAxis();
    
-   if(setbin>=1)
-    can->Print(Form("eparavalidation/%s/%s_bin%i.pdf",sample.c_str(),name[l].c_str(),setbin));
-   else
-   	can->Print(Form("eparavalidation/%s/%s.pdf",sample.c_str(),name[l].c_str()));
+   can->Print(Form("eparavalidation/%s/%s.pdf",sample.c_str(),name[l].c_str()));
    
    delete can;
    
   } //for layer
   
+  
+}
+
+
+TH1* get_cumul(TH1* hist)
+{
+  TH1D* h_cumul=(TH1D*)hist->Clone("h_cumul");
+  double sum=0;
+  for(int b=1;b<=h_cumul->GetNbinsX();b++)
+  {
+    sum+=hist->GetBinContent(b);
+    h_cumul->SetBinContent(b,sum);
+  }
+  return h_cumul; 
 }
 
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_geo.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_geo.C
index 7ce54096b55735c2e0fabb7d412d76fcc4d43c78..b6ec56c5da96317077e3b30b0ca2ab45eaa44ca6 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_geo.C
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_geo.C
@@ -3,7 +3,8 @@
 */
 
 #include "TChain.h"
-#include <iostream>
+#include <iostream>
+#include "TGraph.h"
 
 void run_geo();
 
@@ -18,20 +19,22 @@ void run_geo()
  CaloGeometryFromFile* geo=new CaloGeometryFromFile();
  geo->SetDoGraphs(1);
  geo->LoadGeometryFromFile("/afs/cern.ch/atlas/groups/Simulation/FastCaloSim/ATLAS-GEO-20-00-01.root","ATLAS-GEO-20-00-01");
- //CaloGeometry::m_debug_identity=3179554531063103488;
- //geo->Validate();
+ geo->LoadFCalGeometryFromFiles("FCal1-electrodes.sorted.HV.09Nov2007.dat","FCal2-electrodes.sorted.HV.April2011.dat","FCal3-electrodes.sorted.HV.09Nov2007.dat");
+  //CaloGeometry::m_debug_identity=3179554531063103488;
+	//geo->Validate();
  
  
-  const CaloDetDescrElement* cell;
+  const CaloGeoDetDescrElement* cell;
   cell=geo->getDDE(2,0.24,0.24); //This is not working yet for the FCal!!!
-  cout<<"Found cell id="<<cell->identify()<<" sample="<<cell->getSampling()<<" eta="<<cell->eta()<<" phi="<<cell->phi()<<endl;
+  //cout<<"Found cell id="<<cell->identify()<<" sample="<<cell->getSampling()<<" eta="<<cell->eta()<<" phi="<<cell->phi()<<endl;
   
-  Long64_t cellid64(3179554531063103488);
+  unsigned long long cellid64(3179554531063103488);
   Identifier cellid(cellid64);
   cell=geo->getDDE(cellid); //This is working also for the FCal
+  
   cout<<"Found cell id="<<cell->identify()<<" sample="<<cell->getSampling()<<" eta="<<cell->eta()<<" phi="<<cell->phi()<<endl;
   
-  new TCanvas("Calo_layout","Calo layout");
+  /*TCanvas* canvas = new TCanvas("Calo_layout","Calo layout");
   TH2D* hcalolayout=new TH2D("hcalolayout","hcalolayout",50,-7000,7000,50,0,4000);
   hcalolayout->Draw();
   hcalolayout->SetStats(0);
@@ -48,9 +51,143 @@ void run_geo()
     geo->GetGraph(i)->Draw("Psame");
   }
   
-  geo->DrawGeoForPhi0();
- 
+  geo->DrawGeoForPhi0();
+  canvas->SaveAs("Calorimeter.png");*/
+  
+  TCanvas* canvas = new TCanvas("FCal1_xy","FCal1_xy");
+  geo->DrawFCalGraph(21,1);
+	canvas->SaveAs("FCal1Geometry.png");
+	TCanvas* canvas2 = new TCanvas("FCal2_xy","FCal2_xy");
+  geo->DrawFCalGraph(22,1);
+	canvas2->SaveAs("FCal2Geometry.png");
+	TCanvas* canvas3 = new TCanvas("FCal3_xy","FCal3_xy");
+  geo->DrawFCalGraph(23,1);
+	canvas3->SaveAs("FCal3Geometry.png");
+  
+  
+  
+  
+  vector<ifstream*> electrodes(3);
+  
+  electrodes[0]=new ifstream("FCal1-electrodes.sorted.HV.09Nov2007.dat");
+  electrodes[1]=new ifstream("FCal2-electrodes.sorted.HV.April2011.dat");
+  electrodes[2]=new ifstream("FCal3-electrodes.sorted.HV.09Nov2007.dat");
+  
+  
+  
+  int	thisTubeId;
+  int    thisTubeI;
+	int    thisTubeJ;
+	//int    thisTubeID;
+	int    thisTubeMod;
+	double thisTubeX;
+	double thisTubeY;
+	TString tubeName;
+	
+	int second_column;
+	string seventh_column;
+	string eight_column;
+	int ninth_column;
+	
+	FCAL_ChannelMap *cmap = new FCAL_ChannelMap(0);
+	
+	
+	
+	
+	int i;
+	for(int imodule=1;imodule<=3;imodule++){
+		
+		i=0;
+		//while(i<50){
+		while(1){
+		
+		  //cout << electrodes[imodule-1]->eof() << endl;
+			(*electrodes[imodule-1]) >> tubeName;
+			if(electrodes[imodule-1]->eof())break;
+			(*electrodes[imodule-1]) >> thisTubeId; // ?????
+			(*electrodes[imodule-1]) >> thisTubeI;
+			(*electrodes[imodule-1]) >> thisTubeJ;
+			(*electrodes[imodule-1]) >> thisTubeX;
+			(*electrodes[imodule-1]) >> thisTubeY;
+			(*electrodes[imodule-1]) >> seventh_column;
+			(*electrodes[imodule-1]) >> eight_column;
+			(*electrodes[imodule-1]) >> ninth_column;
+			
+			tubeName.ReplaceAll("'","");
+			string tubeNamestring=tubeName.Data();
+			
+			std::istringstream tileStream1(std::string(tubeNamestring,1,1));
+		  std::istringstream tileStream2(std::string(tubeNamestring,3,2));
+		  std::istringstream tileStream3(std::string(tubeNamestring,6,3));
+		  int a1=0,a2=0,a3=0;
+		  if (tileStream1) tileStream1 >> a1;
+		  if (tileStream2) tileStream2 >> a2;
+		  if (tileStream3) tileStream3 >> a3;
+			
+			unsigned int tileName= (a3 << 16) + a2;
+			stringstream s;
+			
+			
+			cmap->add_tube(tubeNamestring, imodule, thisTubeId, thisTubeI,thisTubeJ, thisTubeX, thisTubeY,seventh_column);
+			
+			
+			
+			//cout << "FCal electrodes: " << tubeName << " " << second_column << " " << thisTubeI << " " << thisTubeJ << " " << thisTubeX << " " << thisTubeY << " " << seventh_column << " " << eight_column << " " << ninth_column << endl;
+			//cout << tileStream1.str() << " " << tileStream2.str() << " " << tileStream3.str() << endl;
+			//cout << a1 << " " << a2 << " " << a3 << " " << tileName << endl;
+			i++;
+		}
+	}
+	cmap->finish(); // Creates maps
+	 
+	cmap->print_tubemap(1);
+  cmap->print_tubemap(2);
+  cmap->print_tubemap(3);
+  
+  int eta_index,phi_index;
+  Long64_t eta_index64,phi_index64;
+  double x=130;
+  double y=180;
+  
+  
+  const CaloGeoDetDescrElement* mcell=0;
+  const CaloGeoDetDescrElement* mcell2=0;
+  
+  cout << endl;
+  cout << "Looking for tile corresponding to [x,y] = [" <<  x << "," << y << "]" << endl;
+  
+  for(int imap=1;imap<=3;imap++){
+  
+		cout << "Looking for tile in module " << imap << endl;
+	  if(!cmap->getTileID(imap,x,y,eta_index,phi_index)){
+			cout << "Not found" << endl;continue;
+		}
+	  cout << "Tile found" << endl;
+	 
+	 cout << "Tile Id " << (eta_index << 16) + phi_index << endl;
+		cout << "eta index: " << eta_index << endl;
+		cout << "phi index: " << phi_index << endl;
+		cout << "Tile position: [x,y] = [" <<  cmap->x(imap,eta_index,phi_index) << "," << cmap->y(imap,eta_index,phi_index) << "]" << endl;
+		mcell=geo->getFCalDDE(imap+20,x,y,-1);
+		cout << "Tile position for calogeometry: [x,y] = [" <<  mcell->x() << "," << mcell->y() << "]" << endl;
+		
+		Identifier identifier= mcell->identify();
+		/*eta_index64=eta_index;
+		phi_index64=phi_index;
+		if (imap==2) eta_index64+=100;
+		if (imap==3) eta_index64+=200;
+		cout << identifier << " " << (eta_index64 << 16) + phi_index64 << endl;
+		
+		
+		
+		mcell2=geo->getDDE((eta_index64 << 16) + phi_index64);
+		cout << "Tile position for calogeometry using identifier: [x,y] = [" <<  mcell2->x() << "," << mcell2->y() << "]" << endl;*/
+	
+	
+	
+	}
+	
  
 }
 
- 
\ No newline at end of file
+ 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_shapepara.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_shapepara.C
new file mode 100644
index 0000000000000000000000000000000000000000..0436281d9f8ac612402d3c7325860ba149b48a11
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_shapepara.C
@@ -0,0 +1,381 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**********************************************************************************
+* Generates TTree and shower shape distributions for input of the NN regression
+* Single particle Geant4 events used as the input of this macro.
+* To run:
+* > .x init_shapepara.C+(0/1) 0 for lxplus 1 for local
+* > .x run_shapepara.C("thin"/"bin"/"fit"/"plot")
+* <a.hasib@cern.ch>
+*********************************************************************************/
+#include "TChain.h"
+#include "TFile.h"
+#include "TTree.h"
+
+#include <iostream>
+#include <stdlib.h>
+
+
+using namespace std;
+
+void run_shapepara(int layer, int binpca);
+
+
+void run_shapepara(int layer, int binpca)
+{
+// * set the input parameters -----------------------------------------------------------------------------
+
+   string particle = "el_1mm"; // pion, el_1mm, el_opt, photon
+   float  energy   = 50;     // in GeV
+   float  etamin   = 0.20;
+   float  etamax   = 0.25;
+
+
+   int   calolayer   = layer;
+   int   PCAbin      = binpca;
+   int   nbinsR      = 20;
+   int   nbinsAlpha  = 8;
+   float mincalosize = -1000;     //whaaat are thooose?
+   float tolerance   = .00001;    // for empty bin check
+
+
+
+   // * regression parameters
+   int neurons = 12;
+
+
+   // * Create topDir and fileName strings
+
+   std::string topDir   = "../../run/output/shape_para/";
+   std::string fileName = particle + "_" + std::to_string(energy) + "GeV" + "_eta_" + std::to_string(etamin) + "_" + std::to_string(etamax) + "_layer" + std::to_string(calolayer) + "_PCAbin" + std::to_string(PCAbin);
+
+
+
+   // * Create output directory
+
+   system(("mkdir -p " + topDir + particle).c_str());
+
+   //----------------------------------------------------------------------------------------------------------------
+
+   // * set what you want to run
+   //
+
+
+   bool doThinning, doBinning, doRegression, doPlotting;
+
+   // if (action.compare("thin") == 0)
+   // {
+   //    doThinning   = true;
+   //    doBinning    = false;
+   //    doRegression = false;
+   //    doPlotting   = false;
+   // }
+   // else if (action.compare("bin") == 0)
+   // {
+   //    doThinning   = false;
+   //    doBinning    = true;
+   //    doRegression = false;
+   //    doPlotting   = false;
+   // }
+   // else if (action.compare("fit") == 0)
+   // {
+   //    doThinning   = false;
+   //    doBinning    = false;
+   //    doRegression = true;
+   //    doPlotting   = false;
+   // }
+   // else if (action.compare("plot") == 0)
+   // {
+   //    doThinning   = false;
+   //    doBinning    = false;
+   //    doRegression = false;
+   //    doPlotting   = true;
+   // }
+
+   doThinning   = true;
+   doBinning    = false;
+   doRegression = false;
+   doPlotting   = false;
+
+   // * Run ShowerShapeBinning...
+   if (doThinning)
+   {
+      // * configure particle type and input samples
+
+      cout << " ** configure particle type and input samples ...." << endl;
+
+      vector < string > input;      // vector of input samples.
+      vector < string > pca;        // vector of input pca files
+
+
+
+      if (particle == "pion")
+      {
+         // * input sample
+         input.push_back("/afs/cern.ch/work/a/ahasib/FastCaloSim/old/StandAlone/ISF_FastCaloSimParametrization_WorkingBranch/ISF_HitAnalysis6_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.merged.pool.root");
+
+         // * PCA file
+         pca.push_back("/afs/cern.ch/user/a/ahasib/WorkDir/FastCaloSim/ISF_FastCaloSim/PCAs/pion/firstPCA.root");
+      }
+      else if (particle == "el_1mm")
+      {
+         // * input sample
+
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000001.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000002.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000003.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000004.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000005.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000006.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000007.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000008.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000009.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000010.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000011.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000012.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000013.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000014.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000015.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000016.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000017.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000018.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000019.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000020.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2865_r7736.w0_162706_matched_output.root/user.fladias.8834800._000021.matched_output.root");
+
+         // * PCA file
+
+         pca.push_back("/afs/cern.ch/user/a/ahasib/WorkDir/FastCaloSim/ISF_FastCaloSim/PCAs/electron/firstPCA_el_s2865.root");
+      }
+      else if (particle == "el_opt")
+      {
+         // * optimized merge samples
+
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000001.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000002.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000003.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000004.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000005.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000006.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000007.matched_output.root");
+         input.push_back("root://eosatlas//eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000008.matched_output.root");
+
+
+         // * PCA file
+
+         pca.push_back("/afs/cern.ch/user/a/ahasib/WorkDir/FastCaloSim/ISF_FastCaloSim/PCAs/electron/firstPCA_el_s2864.root");
+      }
+      else if (particle == "photon")
+      {
+         // * input sample
+         input.push_back("/afs/cern.ch/work/a/ahasib/FastCaloSim/old/StandAlone/ISF_FastCaloSimParametrization_WorkingBranch/photon/ISF_HitAnalysis_evgen_calo__22_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.merged.pool.root");
+
+         // * PCA file
+         pca.push_back("/afs/cern.ch/user/a/ahasib/WorkDir/FastCaloSim/ISF_FastCaloSim/PCAs/photon/firstPCA.root");
+      }
+      else
+      {
+         cout << "Error:: Particle type not configured! Exiting..." << endl;
+         exit(EXIT_FAILURE);
+      }
+
+
+      // * add the input files in TChain
+
+      TChain *mychain = new TChain("FCS_ParametrizationInput");
+
+      for (auto i : input)
+      {
+         mychain->Add(i.c_str());
+      }
+
+      cout << " * Prepare to run on: " << particle << " with entries = " << mychain->GetEntries() << endl;
+
+      TFile *PCAfile = TFile::Open((pca.at(0)).c_str());           //for the 1st pca file
+
+      if (!PCAfile)
+      {
+         cout << "Error:: Cannot locate the PCA file..." << endl;
+         exit(EXIT_FAILURE);
+      }
+
+      TTree *TPCA = (TTree *)PCAfile->Get("tree_1stPCA");
+
+      if (!TPCA)
+      {
+         cout << "Error:: Cannot locate the PCA TTree..." << endl;
+         exit(EXIT_FAILURE);
+      }
+
+      cout << " * Using PCA file = " << (pca.at(0)).c_str() << " with entries = " << TPCA->GetEntries() << endl;
+
+      // * Set the required parameter values
+
+      ShowerShapeThinning *shapeThin = new ShowerShapeThinning(mychain, TPCA);
+
+      shapeThin->set_calolayer(calolayer);
+      shapeThin->set_PCAbin(PCAbin);
+      shapeThin->set_nbinsR(nbinsR);
+      shapeThin->set_nbinsAlpha(nbinsAlpha);
+      shapeThin->set_mincalosize(mincalosize);
+      shapeThin->set_particle(particle);
+      shapeThin->set_energy(energy);
+      shapeThin->set_eta(etamin, etamax);
+      shapeThin->set_tolerance(tolerance);
+      shapeThin->set_topDir(topDir);
+      shapeThin->set_fileName(fileName);
+
+
+
+      // * file to save hits
+      // std::string fileallPCA = particle + "_" + std::to_string(energy) + "GeV" + "_eta_" + std::to_string(etamin) + "_" + std::to_string(etamax) + "_layer" + std::to_string(calolayer);
+
+      std::string HitsFile = topDir + particle + "/Hits_" + fileName + ".root";
+      shapeThin->set_hitsNtupleName(HitsFile);
+
+      std::string HitsAlphaDrFile = topDir + particle + "/HitsAlphaDr_" + fileName + ".root";
+
+
+      // * check to see it the hits ntuple exits
+      std::ifstream hitsfile(HitsFile);
+      std::ifstream hitsalphadrfile(HitsAlphaDrFile);
+
+      bool force = false;
+
+      if (!hitsfile or force)
+      {
+         cout << " * HitsNtuple doesn't exits. Creating from input samples...." << endl;
+         TFile *hitsFile = new TFile(HitsFile.c_str(), "recreate");
+
+         shapeThin->CreateHitsNtuple(hitsFile);
+      }
+      else if (hitsfile)
+      {
+         cout << " * HitsNtuple already exits!! Using it to CreateHitsAlphaDrNtuple()...." << endl;
+         shapeThin->CreateHitsAlphaDrNtuple(HitsFile);
+         //shapeThin->InvesitageShowerCenter(HitsFile);
+         // shapeThin->FindShowerCenter();
+         cout << " * Finished creating HitsAlphaDrNtuple..." << endl;
+      }
+      else
+      {
+         cout << " Choose a method to run ...." << endl;
+         exit(EXIT_FAILURE);
+      }
+   }
+   else if (doBinning)
+   {
+      std::string HitsAlphaDrFile = topDir + particle + "/HitsAlphaDr_" + fileName + ".root";
+      std::ifstream hitsalphadrfile(HitsAlphaDrFile);
+
+      if (!hitsalphadrfile)
+      {
+         cout << " HitsAlphaDr root file is missing ...." << endl;
+         exit(EXIT_FAILURE);
+      }
+
+      ShowerShapeBinning *shapeBin = new ShowerShapeBinning();
+
+      shapeBin->set_calolayer(calolayer);
+      shapeBin->set_PCAbin(PCAbin);
+      shapeBin->set_nbinsR(nbinsR);
+      shapeBin->set_nbinsAlpha(nbinsAlpha);
+      shapeBin->set_mincalosize(mincalosize);
+      shapeBin->set_particle(particle);
+      shapeBin->set_energy(energy);
+      shapeBin->set_eta(etamin, etamax);
+      shapeBin->set_tolerance(tolerance);
+      shapeBin->set_topDir(topDir);
+      shapeBin->set_fileName(fileName);
+
+
+      cout << " * HitsAlphaDrNtuple already exits!! Using it to RunBinning()..." << endl;
+      shapeBin->RunBinning();
+      cout << " * Creating TTree to be used as input of NN....." << endl;
+      shapeBin->CreateNNinput();
+      cout << " * NNinput file is saved in the directory = " << topDir.c_str() << endl;
+   }
+   else if (doRegression)
+   {
+      // * NN regression ....
+
+      cout << " * Running NN regression ..." << endl;
+
+      std::string NNinputName  = topDir + particle + "/NNinput_nbinsR" + std::to_string(nbinsR) + "_" + fileName + ".root";
+      std::string NNoutputName = topDir + particle + "/NNoutput_neurons" + std::to_string(neurons) + "_nbinsR" + std::to_string(nbinsR) + fileName + ".root";
+
+      ShowerShapeRegression *shapeRegression = new ShowerShapeRegression();
+
+      shapeRegression->set_calolayer(calolayer);
+      shapeRegression->set_PCAbin(PCAbin);
+      shapeRegression->set_nbinsR(nbinsR);
+      shapeRegression->set_particle(particle);
+      shapeRegression->set_energy(energy);
+      shapeRegression->set_eta(etamin, etamax);
+      shapeRegression->set_topDir(topDir);
+      shapeRegression->set_fileName(fileName);
+      shapeRegression->set_NNinputName(NNinputName);
+      shapeRegression->set_NNoutputName(NNoutputName);
+      shapeRegression->set_neurons(neurons);
+
+      std::vector < string > targetVarVec;
+
+      //targetVarVec.push_back("Hits");
+      //targetVarVec.push_back("Energy");
+      //targetVarVec.push_back("EnergyDensity");
+      //targetVarVec.push_back("LnEnergy");
+      targetVarVec.push_back("LnEnergyDensity");
+      shapeRegression->Run(targetVarVec);
+   }
+   else if (doPlotting)
+   {
+      // * plotting stuff...
+      cout << " * Running plotting macro ...." << endl;
+
+      // * create a plots directory
+
+      system(("mkdir -p " + topDir + particle + "/plots_nbinsR" + std::to_string(nbinsR) + "_neuron" + std::to_string(neurons) + "/").c_str());
+      std::string outputDirName = topDir + particle + "/plots_nbinsR" + std::to_string(nbinsR) + "_neuron" + std::to_string(neurons) + "/";
+      std::string NNinputName   = topDir + particle + "/NNinput_nbinsR" + std::to_string(nbinsR) + "_" + fileName + ".root";
+      std::string NNoutputName  = topDir + particle + "/NNoutput_neurons" + std::to_string(neurons) + "_nbinsR" + std::to_string(nbinsR) + fileName + ".root";
+
+
+
+      ShowerShapePlotting *shapePlot = new ShowerShapePlotting();
+
+      shapePlot->set_calolayer(calolayer);
+      shapePlot->set_PCAbin(PCAbin);
+      shapePlot->set_nbinsR(nbinsR);
+      shapePlot->set_particle(particle);
+      shapePlot->set_energy(energy);
+      shapePlot->set_eta(etamin, etamax);
+      shapePlot->set_topDir(topDir);
+      shapePlot->set_fileName(fileName);
+      shapePlot->set_outputDirName(outputDirName);
+      shapePlot->set_NNinputName(NNinputName);
+      shapePlot->set_NNoutputName(NNoutputName);
+      shapePlot->set_neurons(neurons);
+
+
+      // * plotting methods
+
+      std::vector < string > histVec;
+      histVec.push_back("hHits");
+      histVec.push_back("hEnergy");
+      histVec.push_back("hEnergyDensity");
+      histVec.push_back("hLnEnergy");
+      histVec.push_back("hLnEnergyDensity");
+
+      shapePlot->PlotEnergyDensityGradient();
+      shapePlot->PlotPolar(histVec, false);
+      shapePlot->CreateValidationPlot();
+      shapePlot->CreateHTML(histVec);
+   }
+   else
+   {
+      cout << " Choose .x run_shapepara.C(0) to run ShowerShapeBinning or .x run_shapepara(1) to run ShowerShapePlotting" << endl;
+      exit(EXIT_FAILURE);
+   }
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_shapeparaLocal.C b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_shapeparaLocal.C
new file mode 100644
index 0000000000000000000000000000000000000000..fc40ef06613612b691cbb5ca3b9fdafba3ebcbf5
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/run_shapeparaLocal.C
@@ -0,0 +1,267 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**********************************************************************************
+ * Generates TTree and shower shape distributions for input of the NN regression
+ * Single particle Geant4 events used as the input of this macro.
+ * To run:
+ * > .x init_shapepara.C+(1)
+ * > .x run_shapeparaLocal.C("thin"/"bin"/"fit"/"plot")
+ * <a.hasib@cern.ch>
+ *********************************************************************************/
+#include "TChain.h"
+#include "TFile.h"
+#include "TTree.h"
+
+#include <iostream>
+#include <stdlib.h>
+
+
+using namespace std;
+
+void run_shapeparaLocal(string action);
+
+
+void run_shapeparaLocal(string action)
+{
+   // * set the input parameters -----------------------------------------------------------------------------
+
+   string particle = "el_1mm"; // pion, el_1mm, el_opt, photon
+   float  energy   = 50;     // in GeV
+   float  etamin   = 0.20;
+   float  etamax   = 0.25;
+
+
+   int   calolayer   = 12;
+   int   PCAbin      = 5;
+   int   nbinsR      = 20;
+   int   nbinsAlpha  = 8;
+   float mincalosize = -1000;     //whaaat are thooose?
+   float tolerance   = .00000001; // for empty bin check
+
+
+
+   // * regression parameters
+   int neurons = 6;
+
+
+
+   // * Create topDir and fileName strings
+
+   std::string topDir   = "../../run/output/shape_para/";
+   std::string fileName = particle + "_" + std::to_string(energy) + "GeV" + "_eta_" + std::to_string(etamin) + "_" + std::to_string(etamax) + "_layer" + std::to_string(calolayer) + "_PCAbin" + std::to_string(PCAbin);
+
+
+
+   // * Create output directory
+
+   system(("mkdir -p " + topDir + particle).c_str());
+
+   //----------------------------------------------------------------------------------------------------------------
+
+   // * set what you want to run
+
+   bool doThinning, doStudy, doBinning, doRegression, doPlotting;
+
+   if (action.compare("thin") == 0)
+   {
+      doThinning   = true;
+      doStudy      = false;
+      doBinning    = false;
+      doRegression = false;
+      doPlotting   = false;
+   }
+   else if (action.compare("study") == 0)
+   {
+      doThinning   = false;
+      doStudy      = true;
+      doBinning    = false;
+      doRegression = false;
+      doPlotting   = false;
+   }
+   else if (action.compare("bin") == 0)
+   {
+      doThinning   = false;
+      doStudy      = false;
+      doBinning    = true;
+      doRegression = false;
+      doPlotting   = false;
+   }
+   else if (action.compare("fit") == 0)
+   {
+      doThinning   = false;
+      doStudy      = false;
+      doBinning    = false;
+      doRegression = true;
+      doPlotting   = false;
+   }
+   else if (action.compare("plot") == 0)
+   {
+      doThinning   = false;
+      doStudy      = false;
+      doBinning    = false;
+      doRegression = false;
+      doPlotting   = true;
+   }
+
+
+
+   // * Run ShowerShapeBinning...
+   if (doThinning)
+   {
+      // * configure particle type and input samples
+
+      cout << " Running on local machine. Cannot run ShowerShapeThinning  ...." << endl;
+      exit(EXIT_FAILURE);
+   }
+   else if (doStudy)
+   {
+      // std::string fileallPCA = particle + "_" + std::to_string(energy) + "GeV" + "_eta_" + std::to_string(etamin) + "_" + std::to_string(etamax) + "_layer" + std::to_string(calolayer);
+
+      std::string HitsFile = topDir + particle + "/Hits_" + fileName + ".root";
+
+      ShowerShapeStudy *shapeStudy = new ShowerShapeStudy();
+
+      shapeStudy->set_calolayer(calolayer);
+      shapeStudy->set_PCAbin(PCAbin);
+      shapeStudy->set_nbinsR(nbinsR);
+      shapeStudy->set_nbinsAlpha(nbinsAlpha);
+      shapeStudy->set_mincalosize(mincalosize);
+      shapeStudy->set_particle(particle);
+      shapeStudy->set_energy(energy);
+      shapeStudy->set_eta(etamin, etamax);
+      shapeStudy->set_tolerance(tolerance);
+      shapeStudy->set_topDir(topDir);
+      shapeStudy->set_fileName(fileName);
+      shapeStudy->set_hitsNtupleName(HitsFile);
+
+      shapeStudy->InvesitageShowerCenter(HitsFile);
+      //shapeStudy->EachParticleShower();
+   }
+   else if (doBinning)
+   {
+      std::string HitsAlphaDrFile = topDir + particle + "/HitsAlphaDr_" + fileName + ".root";
+      std::ifstream hitsalphadrfile(HitsAlphaDrFile);
+
+      // std::string fileallPCA = particle + "_" + std::to_string(energy) + "GeV" + "_eta_" + std::to_string(etamin) + "_" + std::to_string(etamax) + "_layer" + std::to_string(calolayer);
+      std::string HitsFile = topDir + particle + "/Hits_" + fileName + ".root";
+
+
+      ShowerShapeBinning *shapeBin = new ShowerShapeBinning();
+
+      shapeBin->set_calolayer(calolayer);
+      shapeBin->set_PCAbin(PCAbin);
+      shapeBin->set_nbinsR(nbinsR);
+      shapeBin->set_nbinsAlpha(nbinsAlpha);
+      shapeBin->set_mincalosize(mincalosize);
+      shapeBin->set_particle(particle);
+      shapeBin->set_energy(energy);
+      shapeBin->set_eta(etamin, etamax);
+      shapeBin->set_tolerance(tolerance);
+      shapeBin->set_topDir(topDir);
+      shapeBin->set_fileName(fileName);
+
+      if (!hitsalphadrfile)
+      {
+         cout << " HitsAlphaDr root file is missing ....Creating..." << endl;
+         shapeBin->CreateHitsAlphaDrNtuple(HitsFile);
+         cout << " Created HitsAlphaDrNtuple at " << HitsAlphaDrFile << endl;
+      }
+      else
+      {
+         cout << " * HitsAlphaDrNtuple already exits!! Using it to RunBinning()..." << endl;
+         shapeBin->RunBinning();
+         cout << " * Creating TTree to be used as input of NN....." << endl;
+         shapeBin->CreateNNinput();
+         cout << " * NNinput file is saved in the directory = " << topDir.c_str() << endl;
+      }
+   }
+   else if (doRegression)
+   {
+      // * NN regression ....
+
+      cout << " * Running NN regression ..." << endl;
+
+      std::string NNinputName  = topDir + particle + "/NNinput_"/*nbinsR" + std::to_string(nbinsR) + "_"*/ + fileName + ".root";
+      std::string NNoutputName = topDir + particle + "/NNoutput_neurons" + std::to_string(neurons) + "_nbinsR" + std::to_string(nbinsR) + fileName + ".root";
+
+      ShowerShapeRegression *shapeRegression = new ShowerShapeRegression();
+
+      shapeRegression->set_calolayer(calolayer);
+      shapeRegression->set_PCAbin(PCAbin);
+      shapeRegression->set_nbinsR(nbinsR);
+      shapeRegression->set_particle(particle);
+      shapeRegression->set_energy(energy);
+      shapeRegression->set_eta(etamin, etamax);
+      shapeRegression->set_topDir(topDir);
+      shapeRegression->set_fileName(fileName);
+      shapeRegression->set_NNinputName(NNinputName);
+      shapeRegression->set_NNoutputName(NNoutputName);
+      shapeRegression->set_neurons(neurons);
+
+      std::vector < string > targetVarVec;
+
+      //targetVarVec.push_back("Hits");
+      // targetVarVec.push_back("Energy");
+      //targetVarVec.push_back("EnergyDensity");
+      //targetVarVec.push_back("LnEnergy");
+      //targetVarVec.push_back("LnEnergyDensity");
+      targetVarVec.push_back("EnergyNorm");
+      shapeRegression->Run(targetVarVec);
+   }
+   else if (doPlotting)
+   {
+      // * plotting stuff...
+      cout << " * Running plotting macro ...." << endl;
+
+      // * create a plots directory
+      system(("mkdir -p " + topDir + particle + "/plots"/*_nbinsR" + std::to_string(nbinsR)*/ + "_layer" + std::to_string(calolayer) + "_pca" + std::to_string(PCAbin) + "/").c_str());
+
+
+      system(("mkdir -p " + topDir + particle + "/plot_books/").c_str());
+
+      std::string outputDirName = topDir + particle + "/plots"/*_nbinsR" + std::to_string(nbinsR)*/ + "_layer" + std::to_string(calolayer) + "_pca" + std::to_string(PCAbin) + "/";
+
+      std::string NNinputName  = topDir + particle + "/NNinput_"/*nbinsR" + std::to_string(nbinsR) + "_"*/ + fileName + ".root";
+      std::string NNoutputName = topDir + particle + "/NNoutput_neurons" + std::to_string(neurons) + "_nbinsR" + std::to_string(nbinsR) + fileName + ".root";
+
+
+      ShowerShapePlotting *shapePlot = new ShowerShapePlotting();
+
+      shapePlot->set_calolayer(calolayer);
+      shapePlot->set_PCAbin(PCAbin);
+      shapePlot->set_nbinsR(nbinsR);
+      shapePlot->set_particle(particle);
+      shapePlot->set_energy(energy);
+      shapePlot->set_eta(etamin, etamax);
+      shapePlot->set_topDir(topDir);
+      shapePlot->set_fileName(fileName);
+      shapePlot->set_outputDirName(outputDirName);
+      shapePlot->set_NNinputName(NNinputName);
+      shapePlot->set_NNoutputName(NNoutputName);
+      shapePlot->set_neurons(neurons);
+
+
+      // * plotting methods
+
+      std::vector < string > histVec;
+      //histVec.push_back("hHits");
+      // histVec.push_back("hEnergy");
+      histVec.push_back("hEnergyDensity");
+      //histVec.push_back("hLnEnergy");
+      //histVec.push_back("hLnEnergyDensity");
+      // histVec.push_back("hEnergyNorm");
+
+      shapePlot->PlotEnergyDensityGradient();
+      shapePlot->PlotPolar(histVec, false);
+      shapePlot->CreateValidationPlot();
+      // shapePlot->CreateHTML(histVec);
+      shapePlot->CreatePlotBook(histVec);
+   }
+   else
+   {
+      cout << " Choose .x run_shapepara.C(0) to run ShowerShapeBinning or .x run_shapepara(1) to run ShowerShapePlotting" << endl;
+      exit(EXIT_FAILURE);
+   }
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggleClosureAndComparison.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggleClosureAndComparison.cxx
index afa63f02a02bd8d4a3cc9087a32f550a5be73a58..0ff5d455140460ca312ca9a76e2fa266a9e29f1b 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggleClosureAndComparison.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggleClosureAndComparison.cxx
@@ -40,9 +40,11 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
   
   //load geometry finder
   CaloGeometryFromFile* geo=new CaloGeometryFromFile();
-  geo->LoadGeometryFromFile("ATLAS-GEO-20-00-01.root","ATLAS-GEO-20-00-01");
+  geo->LoadGeometryFromFile("/afs/cern.ch/atlas/groups/Simulation/FastCaloSim/ATLAS-GEO-20-00-01.root","ATLAS-GEO-20-00-01");
+  geo->LoadFCalGeometryFromFiles("FCal1-electrodes.sorted.HV.09Nov2007.dat","FCal2-electrodes.sorted.HV.April2011.dat","FCal3-electrodes.sorted.HV.09Nov2007.dat");
   
-  TFile *originalFile = TFile::Open("root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/LArShift020715/ISF_HitAnalysis6_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.merged.pool.root");
+  //TFile *originalFile = TFile::Open("root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/LArShift020715/ISF_HitAnalysis6_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.merged.pool.root");
+  TFile *originalFile = TFile::Open("/eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000001.matched_output.root");
   
   TFile *PCAfile = TFile::Open("firstPCA_pions_flavia.root");
   
@@ -233,7 +235,7 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
       
       Long64_t myID = it->first;
 
-      const CaloDetDescrElement* cell;
+      const CaloGeoDetDescrElement* cell;
       Identifier cellid(myID);
       cell=geo->getDDE(cellid);
       
@@ -251,7 +253,7 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
       
       Long64_t myID = it->first;
 
-      const CaloDetDescrElement* cell;
+      const CaloGeoDetDescrElement* cell;
       Identifier cellid(myID);
       cell=geo->getDDE(cellid);
       
@@ -267,7 +269,7 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
       
       Long64_t myID = it->first;
 
-      const CaloDetDescrElement* cell;
+      const CaloGeoDetDescrElement* cell;
       Identifier cellid(myID);
       cell=geo->getDDE(cellid);
       
@@ -322,9 +324,11 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
 	float z = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_z;
 	float t = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_time;	
 	TLorentzVector *hitVec = new TLorentzVector(x, y, z, t);
-	const CaloDetDescrElement* someCell;
-	someCell=geo->getDDE(((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling,hitVec->Eta(),hitVec->Phi());
-
+	int hitSampling=((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling;
+	const CaloGeoDetDescrElement* someCell;
+	if(hitSampling<21)someCell=geo->getDDE(hitSampling,hitVec->Eta(),hitVec->Phi());
+	else if (hitSampling<24)someCell=geo->getFCalDDE(hitSampling,x,y,z);
+	else someCell=0;
 	Long64_t someCellID = someCell->identify();
 	
 	if (Eoriginal.find(someCellID) != Eoriginal.end()){
@@ -359,7 +363,7 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
       random1->SetSeed(0);
       
       //now I use the geomery lookup tool to get the cell eta/phi
-      const CaloDetDescrElement* cell;
+      const CaloGeoDetDescrElement* cell;
       Identifier cellid(cell_ID);
       cell=geo->getDDE(cellid); //This is working also for the FCal
       
@@ -372,8 +376,11 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
 	float z = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_z;
 	float t = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_time;	
 	TLorentzVector *hitVec = new TLorentzVector(x, y, z, t);
-	const CaloDetDescrElement* initCell;
-	initCell=geo->getDDE(((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling,hitVec->Eta(),hitVec->Phi());
+	int hitSampling=((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling;
+	const CaloGeoDetDescrElement* initCell;
+	if(hitSampling<21)initCell=geo->getDDE(hitSampling,hitVec->Eta(),hitVec->Phi());
+	else if (hitSampling<24)initCell=geo->getFCalDDE(hitSampling,x,y,z);
+	else initCell=0;
 	
 	if (initCell && cell){	  
 	  float efficiencyEta = ( (2.0*(hitVec->Eta()-initCell->eta()))/initCell->deta());
@@ -405,8 +412,10 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
 	  else
 	    wigglePhi = (eff_phi->GetBinCenter(chosenBin+2))/2; 
 	  
-	  const CaloDetDescrElement* foundCell;
-	  foundCell=geo->getDDE(((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling,hitVec->Eta(),(hitVec->Phi())-(wigglePhi*initCell->dphi()));
+	  const CaloGeoDetDescrElement* foundCell;
+	  if(hitSampling<21)foundCell=geo->getDDE(hitSampling,hitVec->Eta(),(hitVec->Phi())-(wigglePhi*initCell->dphi()));
+	  else if (hitSampling<24)foundCell=geo->getFCalDDE(hitSampling,x,y,z);
+		else foundCell=0;
 
 	  //deposit energy in specific cell
 	  Long64_t foundCellID = foundCell->identify();
@@ -433,7 +442,7 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
     for ( std::map<Long64_t, double>::iterator it2 = Eclosure.begin(); it2!=Eclosure.end(); it2++) {
       
       Long64_t myID = it2->first;
-      const CaloDetDescrElement* cell;
+      const CaloGeoDetDescrElement* cell;
       Identifier cellid(myID);
       cell=geo->getDDE(cellid);
       
@@ -464,7 +473,7 @@ void wiggleClosureAndComparison(TString sampling="Sampling_0"){
 
       Long64_t myID = it->first;
       
-      const CaloDetDescrElement* cell;
+      const CaloGeoDetDescrElement* cell;
       Identifier cellid(myID);
       cell=geo->getDDE(cellid);
       
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggle_closure_inputs.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggle_closure_inputs.cxx
index e9f26fddaa2d7b32b969393a1f103c8c99536e5b..64491914f1b23435f0035748e3e7c8bdcb2eeb12 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggle_closure_inputs.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/wiggle_closure_inputs.cxx
@@ -32,10 +32,12 @@ using namespace std;
 void wiggle_closure_inputs(TString sampling="Sampling_0"){
 
   CaloGeometryFromFile* geo=new CaloGeometryFromFile();
-  geo->LoadGeometryFromFile("ATLAS-GEO-20-00-01.root","ATLAS-GEO-20-00-01");
-  
-  TFile *inputFile = TFile::Open("root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/LArShift020715/ISF_HitAnalysis6_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.merged.pool.root");
+  geo->LoadGeometryFromFile("/afs/cern.ch/atlas/groups/Simulation/FastCaloSim/ATLAS-GEO-20-00-01.root","ATLAS-GEO-20-00-01");
+  geo->LoadFCalGeometryFromFiles("FCal1-electrodes.sorted.HV.09Nov2007.dat","FCal2-electrodes.sorted.HV.April2011.dat","FCal3-electrodes.sorted.HV.09Nov2007.dat");
   
+  TFile *inputFile = TFile::Open("/eos/atlas/user/s/schaarsc/FCS/user.fladias.428137.FastCalo_pid11_E65536_etam35_35_zv_m100.e4001_s2864_r7736.w0_162706_matched_output.root/user.fladias.8834798._000001.matched_output.root");
+ 
+	// TFile *inputFile = TFile::Open("root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/LArShift020715/ISF_HitAnalysis6_evgen_calo__211_E50000_50000_eta20_25_Evts0-5500_vz_0_origin_calo.merged.pool.root");
   //  TFile *inputFile = TFile::Open("root://eosatlas//eos/atlas/user/z/zhubacek/FastCaloSim/NTUP_110216/ISF_HitAnalysis_Zach1_merged.root");
 
   TTree *inputTree = ( TTree* ) inputFile->Get( "FCS_ParametrizationInput" );
@@ -76,32 +78,50 @@ void wiggle_closure_inputs(TString sampling="Sampling_0"){
       cell_ID = ((FCS_matchedcell)(*vec)[j]).cell.cell_identifier;
 
       //now I use the geomery lookup tool to get the cell eta/phi
-      const CaloDetDescrElement* cell;
+      const CaloGeoDetDescrElement* cell;
       Identifier cellid(cell_ID);
       cell=geo->getDDE(cellid); //This is working also for the FCal
       
       //loop over hits in the cell
-      for (int ihit=0; ihit<((FCS_matchedcell)(*vec)[j]).hit.size(); ihit++){
+      for (unsigned int ihit=0; ihit<((FCS_matchedcell)(*vec)[j]).hit.size(); ihit++){
 	
 	//now I check what is the hit position
 	float x = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_x;
 	float y = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_y;
 	float z = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_z;
-	float t = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_time;	
+	float t = ((FCS_matchedcell)(*vec)[j]).hit[ihit].hit_time;
+	int hitSampling =((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling;
+	
 	TLorentzVector *hitVec = new TLorentzVector(x, y, z, t);
-	const CaloDetDescrElement* foundCell;
-	foundCell=geo->getDDE(((FCS_matchedcell)(*vec)[j]).hit[ihit].sampling,hitVec->Eta(),hitVec->Phi());
+	const CaloGeoDetDescrElement* foundCell;
+	if(hitSampling<21)foundCell=geo->getDDE(hitSampling,hitVec->Eta(),hitVec->Phi());
+	else if(hitSampling<24)foundCell=geo->getFCalDDE(hitSampling,x,y,z);
+	else {
+		cout << endl << "Warning: Found hit with sampling > 23 !!!!!!!!!!!!!!" << endl << endl;
+		foundCell =0;
+	}
 	
 	if (foundCell){// && cell){
-	  
-	  eff_tot_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()),weight);	  
-	  eff_tot_count_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()));
-	  
-	  if (foundCell->identify() == cell->identify()){
-	    
-	    eff_corr_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()),weight);
-	    eff_corr_count_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()));
-	  }
+	  if(hitSampling<21){
+		  eff_tot_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()),weight);	  
+		  eff_tot_count_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()));
+		  
+		  if (foundCell->identify() == cell->identify()){
+		    
+		    eff_corr_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()),weight);
+		    eff_corr_count_phi->Fill(((2*(hitVec->Phi()-foundCell->phi()))/foundCell->dphi()));
+		  }
+		}
+		else if(hitSampling<24){
+		  eff_tot_phi->Fill(((2*(x-foundCell->x()))/foundCell->dx()),weight);	  
+		  eff_tot_count_phi->Fill(((2*(x-foundCell->x()))/foundCell->dx()));
+		  
+		  if (foundCell->identify() == cell->identify()){
+		    
+		    eff_corr_phi->Fill(((2*(x-foundCell->x()))/foundCell->dx()),weight);
+		    eff_corr_count_phi->Fill(((2*(x-foundCell->x()))/foundCell->dx()));
+		  }
+		}
 	  
 	} //end if cell ok
       } //end loop over hits
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
index 64d43da464cdfaf7bafc3677fb785e8c91a0d1c3..d222b374cfb62138dd89ea19ee19ee7444f09a15 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
@@ -9,6 +9,8 @@ atlas_subdir( ISF_FastCaloSimServices )
 atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           PRIVATE
+                          Control/AthenaKernel
+                          DetectorDescription/IdDictParser
                           Control/AthenaBaseComps
                           Simulation/Barcode/BarcodeEvent
                           Simulation/ISF/ISF_Core/ISF_Interfaces
@@ -22,7 +24,8 @@ atlas_depends_on_subdirs( PUBLIC
                           Simulation/FastShower/FastCaloSim
                           Simulation/ISF/ISF_Core/ISF_Event
                           Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent
-                          Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimInterfaces )
+                          Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimInterfaces
+                          Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization )
 
 # External dependencies:
 find_package( CLHEP )
@@ -33,7 +36,7 @@ atlas_add_component( ISF_FastCaloSimServices
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel ISF_Interfaces TrkEventPrimitives TrkExInterfaces CaloEvent StoreGateLib SGtests NavFourMom GeneratorObjects FastCaloSimLib ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces )
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel IdDictParser ISF_Interfaces TrkEventPrimitives TrkExInterfaces CaloEvent StoreGateLib SGtests NavFourMom GeneratorObjects FastCaloSimLib ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces ISF_FastCaloSimParametrizationLib )
 
 # Install files from the package:
 atlas_install_headers( ISF_FastCaloSimServices )
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/cmt/requirements b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/cmt/requirements
deleted file mode 100644
index 60d8e29f0f97ca950bf4aaf086f19cb9446863c0..0000000000000000000000000000000000000000
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/cmt/requirements
+++ /dev/null
@@ -1,44 +0,0 @@
-package ISF_FastCaloSimServices
-author <michael.duehrssen@cern.ch>
-
-manager Andreas Salzburger <Andreas.Salzburger@cern.ch>
-manager Elmar Ritsch <Elmar.Ritsch@cern.ch>
-manager Wolfgang Lukas <Wolfgang.Lukas@cern.ch>
-
-#################################################################
-# public use statements
-use AtlasPolicy                 AtlasPolicy-*
-use GaudiInterface              GaudiInterface-*        External
-
-#################################################################
-# private use statements
-private
-use AthenaBaseComps             AthenaBaseComps-*           Control
-use BarcodeEvent                BarcodeEvent-*              Simulation/Barcode
-use CaloInterface               CaloInterface-*             Calorimeter
-use ISF_Interfaces              ISF_Interfaces-*            Simulation/ISF/ISF_Core
-use AtlasCLHEP                  AtlasCLHEP-*            	External
-use AtlasHepMC                  AtlasHepMC-*            	External
-use StoreGate                   StoreGate-*             	Control
-
-use ISF_Event                   ISF_Event-*             	Simulation/ISF/ISF_Core
-use NavFourMom                  NavFourMom-*            	Event
-use CaloEvent                   CaloEvent-*             	Calorimeter
-#use FastSimulationEvent         FastSimulationEvent-*   	Simulation/FastSimulation
-use FastCaloSim                 FastCaloSim-*           	Simulation/FastShower
-use ISF_FastCaloSimInterfaces	ISF_FastCaloSimInterfaces-*	Simulation/ISF/ISF_FastCaloSim
-use ISF_FastCaloSimEvent    	ISF_FastCaloSimEvent-*      	Simulation/ISF/ISF_FastCaloSim
-use GeneratorObjects            GeneratorObjects-*              Generators
-
-use TrkExInterfaces      TrkExInterfaces-*      Tracking/TrkExtrapolation
-use TrkEventPrimitives   TrkEventPrimitives-*   Tracking/TrkEvent
-
-
-public
-library ISF_FastCaloSimServices *.cxx components/*.cxx
-apply_pattern component_library
-apply_pattern declare_python_modules files="*.py"
-
-private
-#macro cppdebugflags '$(cppdebugflags_s)'
-#macro_remove componentshr_linkopts "-Wl,-s"
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimJobProperties.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimJobProperties.py
index e19d1e039b11b660f93536e24e9b6b7f8100867d..54ba8267d1a913975002b7f5027be6635c94a93c 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimJobProperties.py
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimJobProperties.py
@@ -50,6 +50,17 @@ class FastShowerInputCollection(JobProperty):
     allowedTypes = ['str']
     StoredValue  = 'TruthEvent'
 
+class DoRandomFluctuations(JobProperty):
+    """Determines if Random Fluctuations should be used if particle is a pion"""
+    statusOn     = True
+    allowedTypes = ['bool']
+    StoredValue  = False
+
+class ParamsInputFilename(JobProperty):
+    """ Filename of the input parametrizations file. """
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = '/afs/cern.ch/atlas/groups/Simulation/FastCaloSimV2/FCSParams.root'
 
 ##-----------------------------------------------------------------------------
 ## 2nd step
@@ -72,6 +83,8 @@ jobproperties.ISF_FastCaloSimJobProperties.add_JobProperty( FastCaloSimIsActive
 jobproperties.ISF_FastCaloSimJobProperties.add_JobProperty( RandomStreamName           )
 jobproperties.ISF_FastCaloSimJobProperties.add_JobProperty( CaloCellsName              )
 jobproperties.ISF_FastCaloSimJobProperties.add_JobProperty( FastShowerInputCollection  )
+jobproperties.ISF_FastCaloSimJobProperties.add_JobProperty( DoRandomFluctuations       )
+jobproperties.ISF_FastCaloSimJobProperties.add_JobProperty( ParamsInputFilename        )
 
 ##-----------------------------------------------------------------------------
 ## 5th step
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfig.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfig.py
index 13b031d10bc2aac6fce02aff9bf75ae1539eff9a..48621e9ef886eff84299ebf1fd0ee5d8d11b018b 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfig.py
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfig.py
@@ -7,6 +7,7 @@ KG Tan, 04/12/2012
 
 from AthenaCommon import CfgMgr
 
+from FastChainPileup.FastChain_jobProperties import FastChain_Flags
 #### FastCaloSimSvc
 def getFastCaloSimSvc(name="ISF_FastCaloSimSvc", **kwargs):
     from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags
@@ -29,6 +30,32 @@ def getFastCaloSimSvc(name="ISF_FastCaloSimSvc", **kwargs):
         simFlags.RandomSeedList.addSeed( ISF_FastCaloSimFlags.RandomStreamName(), 98346412, 12461240 )
     return CfgMgr.ISF__FastCaloSimSvc(name, **kwargs )
 
+def getFastCaloSimPileupOTSvc(name="ISF_FastCaloSimPileupOTSvc", **kwargs):
+    from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags
+    kwargs.setdefault("BatchProcessMcTruth"              , False                                             )
+    kwargs.setdefault("SimulateUndefinedBarcodeParticles", False                                             )
+    kwargs.setdefault("Identifier"                       , 'FastCaloSim'                                     )
+    kwargs.setdefault("CaloCellsOutputName"              , ISF_FastCaloSimFlags.CaloCellsName()+'PileUp'     )
+    kwargs.setdefault("PunchThroughTool"                 , 'ISF_PunchThroughTool'             )
+    kwargs.setdefault("DoPunchThroughSimulation"         , False                                             )
+    #kwargs.setdefault("PUWeights"                        , FastChain_Flags.FastChainPUWeights()  )
+    kwargs.setdefault("PUWeights_lar_bapre"              , FastChain_Flags.FastChainPUWeights_lar_bapre()  )
+    kwargs.setdefault("PUWeights_lar_hec"                , FastChain_Flags.FastChainPUWeights_lar_hec()  )
+    kwargs.setdefault("PUWeights_lar_em"                 , FastChain_Flags.FastChainPUWeights_lar_em()  )
+    kwargs.setdefault("PUWeights_tile"                   , FastChain_Flags.FastChainPUWeights_tile()  )
+    kwargs.setdefault("ParticleBroker"                   , 'ISF_ParticleBrokerSvc'               )
+    kwargs.setdefault("CaloCellMakerTools_setup"         , [ 'ISF_EmptyCellBuilderTool' ] )
+    kwargs.setdefault("CaloCellMakerTools_simulate"      , [ 'ISF_FastShowerCellBuilderTool' ])
+    kwargs.setdefault("CaloCellMakerTools_release"       , [ #'ISF_AddNoiseCellBuilderTool',
+                                                             'ISF_CaloCellContainerFinalizerTool',
+                                                             'ISF_FastHitConvertTool' ])
+    kwargs.setdefault("Extrapolator"                     , 'ISF_NITimedExtrapolator')
+    # register the FastCaloSim random number streams
+    from G4AtlasApps.SimFlags import simFlags
+    if not simFlags.RandomSeedList.checkForExistingSeed(ISF_FastCaloSimFlags.RandomStreamName()):
+        simFlags.RandomSeedList.addSeed( ISF_FastCaloSimFlags.RandomStreamName(), 98346412, 12461240 )
+    return CfgMgr.ISF__FastCaloSimSvcPU(name, **kwargs )
+
 #### Pileup FastCaloSim
 def getFastCaloSimPileupSvc(name="ISF_FastCaloSimPileupSvc", **kwargs):
     from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags
@@ -36,7 +63,6 @@ def getFastCaloSimPileupSvc(name="ISF_FastCaloSimPileupSvc", **kwargs):
     kwargs.setdefault("CaloCellMakerTools_simulate"      , [ 'ISF_PileupFastShowerCellBuilderTool' ])
     return getFastCaloSimSvc(name, **kwargs)
 
-
 #### Legacy FastCaloSim
 def getLegacyAFIIFastCaloSimSvc(name="ISF_LegacyAFIIFastCaloSimSvc", **kwargs):
     kwargs.setdefault("BatchProcessMcTruth" , True )
@@ -64,8 +90,20 @@ def getFastHitConvAlgLegacyAFIIFastCaloSimSvc(name="ISF_FastHitConvAlgLegacyAFII
 #### FastCaloSimV2
 def getFastCaloSimSvcV2(name="ISF_FastCaloSimSvcV2", **kwargs):
     from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags
+
+    kwargs.setdefault("CaloCellsOutputName"              , ISF_FastCaloSimFlags.CaloCellsName()   )
+    kwargs.setdefault("CaloCellMakerTools_setup"         , [ 'ISF_EmptyCellBuilderTool' ] )
+    kwargs.setdefault("CaloCellMakerTools_release"       , [ 'ISF_CaloCellContainerFinalizerTool',
+                                                           'ISF_FastHitConvertTool' ])
+    kwargs.setdefault("DoRandomFluctuations"             , False )
+    kwargs.setdefault("ParamsInputFilename"              , ISF_FastCaloSimFlags.ParamsInputFilename())
+
     # register the FastCaloSim random number streams
     from G4AtlasApps.SimFlags import simFlags
     if not simFlags.RandomSeedList.checkForExistingSeed(ISF_FastCaloSimFlags.RandomStreamName()):
         simFlags.RandomSeedList.addSeed( ISF_FastCaloSimFlags.RandomStreamName(), 98346412, 12461240 )
+
+    kwargs.setdefault("RandomStream"                     , ISF_FastCaloSimFlags.RandomStreamName())
+    kwargs.setdefault("RandomSvc"                        , simFlags.RandomSvc.get_Value() )
+
     return CfgMgr.ISF__FastCaloSimSvcV2(name, **kwargs )
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfigDb.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfigDb.py
index f8d7be230fec8224a4e9cf2071819283b9d39053..01a9b5a603eaebe21e3aa43ae635d0726b9d7bc9 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfigDb.py
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/ISF_FastCaloSimServicesConfigDb.py
@@ -24,6 +24,7 @@ addAlgorithm("ISF_FastCaloSimServices.AdditionalConfig.getFastHitConvAlg",
 addService("ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig.getNativeFastCaloSimSvc",                       "ISF_NativeFastCaloSimSvc")
 addService("ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig.getFastCaloSimSvc",                             "ISF_FastCaloSimSvc")
 addService("ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig.getFastCaloSimPileupSvc",                       "ISF_FastCaloSimPileupSvc")
+addService("ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig.getFastCaloSimPileupOTSvc",                     "ISF_FastCaloSimPileupOTSvc")
 addService("ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig.getFastHitConvAlgFastCaloSimSvc",               "ISF_FastHitConvFastCaloSimSvc")
 addService("ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig.getFastCaloSimSvcBase",                         "ISF_FastCaloSimSvcBase")
 addService("ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig.getLegacyAFIIFastCaloSimSvc",                   "ISF_LegacyAFIIFastCaloSimSvc")
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..f594624d1625dc1a686506cb629df73eab52ec38
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx
@@ -0,0 +1,708 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+///////////////////////////////////////////////////////////////////
+// FastCaloSimSvc.cxx, (c) ATLAS Detector software
+///////////////////////////////////////////////////////////////////
+
+// class header include
+#include "FastCaloSimSvcPU.h"
+
+// StoreGate
+#include "StoreGate/StoreGateSvc.h"
+#include "ISF_Interfaces/IParticleBroker.h"
+
+// ISF includes
+#include "ISF_Event/ISFParticle.h"
+#include "ISF_Event/ISFParticleContainer.h"
+
+// HepMC include needed for FastCaloSim
+#include "HepMC/GenParticle.h"
+#include "HepMC/GenVertex.h"
+#include "HepMC/SimpleVector.h"
+#include "CLHEP/Units/SystemOfUnits.h"
+
+
+#include "AtlasDetDescr/AtlasDetectorID.h"
+#include "IdDictParser/IdDictParser.h"
+#include "CaloIdentifier/LArEM_ID.h"
+
+
+// McEventCollection
+#include "GeneratorObjects/McEventCollection.h"
+
+// Calo Cell includes
+#include "CaloEvent/CaloCell.h"
+#include "CaloEvent/CaloCellContainer.h"
+#include "NavFourMom/INavigable4MomentumCollection.h"
+//new:
+//#include "CaloRec/CaloCellContainerFinalizerTool.h"
+
+// Barcode
+#include "BarcodeEvent/Barcode.h"
+
+// use FastShowerCellBuilderTool for actual simulation
+#include "FastCaloSim/FastShowerCellBuilderTool.h"
+
+// PunchThrough Tool
+#include "ISF_FastCaloSimInterfaces/IPunchThroughTool.h"
+
+/** Constructor **/
+ISF::FastCaloSimSvcPU::FastCaloSimSvcPU(const std::string& name,ISvcLocator* svc) :
+  BaseSimulationSvc(name, svc),
+  m_extrapolator(),
+  m_ownPolicy(static_cast<int>(SG::VIEW_ELEMENTS)),
+  m_batchProcessMcTruth(false),
+  m_simulateUndefinedBCs(false),
+  m_caloCellsOutputName("AllCalo"),
+  m_caloCellHack(false),
+  m_doPunchThrough(false),
+  m_caloCellMakerTools_setup(),
+  m_caloCellMakerTools_simulate(),
+  m_caloCellMakerTools_release(),
+  m_punchThroughTool(""),
+  m_theContainer(0),
+  m_particleBroker ("ISF_ParticleBroker",name)
+{
+  // where to go 
+  declareProperty("OwnPolicy",                         m_ownPolicy) ;
+  declareProperty("CaloCellMakerTools_setup"   ,       m_caloCellMakerTools_setup) ;
+  declareProperty("CaloCellMakerTools_simulate",       m_caloCellMakerTools_simulate) ;
+  declareProperty("CaloCellMakerTools_release" ,       m_caloCellMakerTools_release) ;
+  declareProperty("PunchThroughTool",                  m_punchThroughTool);
+  declareProperty("CaloCellsOutputName",               m_caloCellsOutputName) ;
+  declareProperty("CaloCellHack",                      m_caloCellHack) ;
+  declareProperty("DoPunchThroughSimulation", 	       m_doPunchThrough) ;
+  declareProperty("Extrapolator",                      m_extrapolator );
+  declareProperty("SimulateUndefinedBarcodeParticles", m_simulateUndefinedBCs, "Whether or not to simulate paritcles with undefined barcode" );
+  declareProperty("ParticleBroker",     m_particleBroker, "ISF ParticleBroker Svc" );
+  declareProperty("BatchProcessMcTruth",m_batchProcessMcTruth=false,"Run the FastShowerCellBuilders on the McTruth at the end of the event" );
+  
+  //declareProperty("PUWeights", m_puEnergyWeights,"Weights for energy weighting for Out-of-time PU");
+  
+  declareProperty("PUWeights_lar_bapre",  m_puEnergyWeights_lar_bapre,"Weights for energy weighting for Out-of-time PU: LAr Barrel Presample");
+  declareProperty("PUWeights_lar_hec",    m_puEnergyWeights_lar_hec,   "Weights for energy weighting for Out-of-time PU: LAr HEC");
+  declareProperty("PUWeights_lar_em",     m_puEnergyWeights_lar_em,    "Weights for energy weighting for Out-of-time PU: LAr EM");
+  declareProperty("PUWeights_tile",       m_puEnergyWeights_tile,      "Weights for energy weighting for Out-of-time PU: Tile");
+  
+}
+
+ISF::FastCaloSimSvcPU::~FastCaloSimSvcPU() 
+{}
+
+/** framework methods */
+StatusCode ISF::FastCaloSimSvcPU::initialize()
+{
+   ATH_MSG_INFO ( m_screenOutputPrefix << "Initializing FastCaloSimSvcPU ...");
+   
+   detID=new AtlasDetectorID();
+   IdDictParser* parser = new IdDictParser;
+   IdDictMgr& idd = parser->parse ("IdDictParser/ATLAS_IDS.xml");
+   detID->initialize_from_dictionary(idd);
+   
+   larID=new LArEM_ID();
+   //IdDictMgr& lar_idd = parser->parse("IdDictParser/IdDictLArCalorimeter.xml");
+   IdDictMgr& lar_idd = parser->parse("IdDictParser/ATLAS_IDS.xml");
+   larID->initialize_from_dictionary(lar_idd);
+   
+   // access tools and store them
+   if ( retrieveTools<ICaloCellMakerTool>(m_caloCellMakerTools_setup).isFailure() ) 
+        return StatusCode::FAILURE;
+   if ( retrieveTools<ICaloCellMakerTool>(m_caloCellMakerTools_simulate).isFailure() ) 
+        return StatusCode::FAILURE;
+   if ( retrieveTools<ICaloCellMakerTool>(m_caloCellMakerTools_release).isFailure() ) 
+        return StatusCode::FAILURE;
+
+   if (m_doPunchThrough && m_punchThroughTool.retrieve().isFailure() ) 
+   {
+     ATH_MSG_ERROR (m_punchThroughTool.propertyName() << ": Failed to retrieve tool " << m_punchThroughTool.type());
+     return StatusCode::FAILURE;
+   } 
+
+   // Get TimedExtrapolator 
+   if(!m_extrapolator.empty() && m_extrapolator.retrieve().isFailure())
+    return StatusCode::FAILURE;
+   
+   ATH_MSG_INFO( m_screenOutputPrefix << " Output CaloCellContainer Name " << m_caloCellsOutputName );
+   if(m_ownPolicy==SG::OWN_ELEMENTS)
+   {
+    ATH_MSG_INFO( m_screenOutputPrefix << "...will OWN its cells." );
+   }
+   else
+   {
+    ATH_MSG_INFO( m_screenOutputPrefix << "...will VIEW its cells." );
+   }
+
+   if(m_caloCellHack)
+   {
+    ATH_MSG_WARNING( m_screenOutputPrefix << " CaloCellContainer: " << m_caloCellsOutputName << "will be read in and modified !. To be used with care. " );
+   }
+
+  if ( m_particleBroker.retrieve().isFailure())
+  {
+   ATH_MSG_FATAL ("Could not retrieve ISF ParticleBroker service " <<m_particleBroker);
+   return StatusCode::FAILURE;
+  }  
+  
+  for(unsigned int i=0;i<m_puEnergyWeights_lar_em.size();i++)
+  {
+   ATH_MSG_INFO(m_screenOutputPrefix<<"PUWeights for BC nr. "<<i);
+   ATH_MSG_INFO(m_screenOutputPrefix<<"  Barrel presample "<<m_puEnergyWeights_lar_bapre[i]);
+   ATH_MSG_INFO(m_screenOutputPrefix<<"  LAr EM           "<<m_puEnergyWeights_lar_em[i]);
+   ATH_MSG_INFO(m_screenOutputPrefix<<"  LAr HEC          "<<m_puEnergyWeights_lar_hec[i]);
+   ATH_MSG_INFO(m_screenOutputPrefix<<"  Tile             "<<m_puEnergyWeights_tile[i]);
+  }
+  
+  return StatusCode::SUCCESS;
+}
+
+/** framework methods */
+StatusCode ISF::FastCaloSimSvcPU::finalize()
+{
+    ATH_MSG_INFO ( m_screenOutputPrefix << "Finalizing ...");
+    return StatusCode::SUCCESS;
+}
+
+StatusCode ISF::FastCaloSimSvcPU::setupEvent()
+{ 
+  ATH_MSG_INFO ( m_screenOutputPrefix << "now doing FastCaloSimSvcPU setupEvent");
+  //std::cout<< "now doing FastCaloSimSvcPU setupEvent"<<std::endl;
+   
+  if(!m_caloCellHack)
+  {
+    
+    //FINAL OUTPUT CONTAINER:
+    ATH_MSG_INFO(m_screenOutputPrefix<<"Creating output CaloCellContainer");
+    m_theContainer = new CaloCellContainer(static_cast<SG::OwnershipPolicy>(m_ownPolicy));
+    ATH_MSG_INFO(m_screenOutputPrefix<<"CaloCellContainer address: "<<m_theContainer);
+    StatusCode sc=StatusCode::SUCCESS;
+    sc=evtStore()->record(m_theContainer,m_caloCellsOutputName);
+    if(sc.isFailure())
+    {
+      ATH_MSG_FATAL( m_screenOutputPrefix << "cannot record CaloCellContainer " << m_caloCellsOutputName );
+      return StatusCode::FAILURE;
+    }
+    
+    //->PU Development:
+    //initialize the pu cell containers:
+    ATH_MSG_INFO(m_screenOutputPrefix<<" initialize the pu cell containers");
+    //std::cout<<" initialize the pu cell containers"<<std::endl;
+    
+    for(unsigned int i=0;i<m_puEnergyWeights_lar_em.size();i++)
+    {
+     CaloCellContainer* cont=new CaloCellContainer(static_cast<SG::OwnershipPolicy>(m_ownPolicy));
+     ATH_MSG_INFO(m_screenOutputPrefix<<" push back "<<i<<" cont "<<cont);
+     //std::cout<<" push back "<<i<<" cont "<<cont<<std::endl;
+     m_puCellContainer.push_back(cont);
+    }
+    
+    ATH_MSG_INFO(m_screenOutputPrefix<<" SIZE puEnergyWeights "<<m_puEnergyWeights_lar_em.size()<<" SIZE m_puCellContainer "<<m_puCellContainer.size());
+    //std::cout<<" SIZE puEnergyWeights "<<m_puEnergyWeights_lar_em.size()<<" SIZE m_puCellContainer "<<m_puCellContainer.size()<<std::endl;
+    
+    /*
+    for(unsigned int i=0;i<m_puCellContainer.size();i++)
+    {
+     sc=evtStore()->record(m_puCellContainer[i],m_caloCellsOutputName);
+     if(sc.isFailure())
+     {
+      ATH_MSG_FATAL( m_screenOutputPrefix << "cannot record puCellContainer nr "<<i<<" with name " << m_caloCellsOutputName );
+     }
+    }
+    */
+    
+    ATH_MSG_INFO(m_screenOutputPrefix<<" done with the pu cell containers");
+    //std::cout<<" done with the pu cell containers"<<std::endl;
+    //<-
+    
+    // also symLink as INavigable4MomentumCollection!
+    INavigable4MomentumCollection* theNav4Coll = 0;
+    sc = evtStore()->symLink(m_theContainer,theNav4Coll);
+    
+    if (sc.isFailure())
+    {
+      ATH_MSG_WARNING( m_screenOutputPrefix << "Error symlinking CaloCellContainer to INavigable4MomentumCollection " );
+      return StatusCode::FAILURE;
+    }
+  }
+  else
+  {
+    
+    // take CaloCellContainer from input and cast away constness
+    const CaloCellContainer * theConstContainer ;
+    
+    StatusCode sc=StatusCode::SUCCESS;
+    sc=evtStore()->retrieve(theConstContainer,m_caloCellsOutputName);
+    if(sc.isFailure() || theConstContainer==0)
+    {
+      ATH_MSG_FATAL( m_screenOutputPrefix << "Could not retrieve CaloCellContainer " << m_caloCellsOutputName );
+      return StatusCode::FAILURE;
+    }
+    m_theContainer = const_cast<CaloCellContainer *> (theConstContainer);
+  }
+  
+  // loop on setup tools
+  ATH_MSG_INFO( m_screenOutputPrefix << "now doing loop on setup tools" ); 
+  //std::cout<< "now doing loop on setup tools"<<std::endl;
+
+  ToolHandleArray<ICaloCellMakerTool>::iterator itrTool=m_caloCellMakerTools_setup.begin();
+  ToolHandleArray<ICaloCellMakerTool>::iterator endTool=m_caloCellMakerTools_setup.end();
+  for (;itrTool!=endTool;++itrTool)
+  {
+    ATH_MSG_INFO( m_screenOutputPrefix << "now call FastCaloSimSvcPU setup tool " << itrTool->name() );   
+    //std::cout<<"now call FastCaloSimSvcPU setup tool " << itrTool->name()<<std::endl;
+    
+    std::string chronoName=this->name()+"_"+ itrTool->name();
+    
+    if (m_chrono) m_chrono -> chronoStart( chronoName);
+    
+    ATH_MSG_INFO( m_screenOutputPrefix << "FastCaloSimSvcPU do tool "<<itrTool->name()<<" on m_Container");
+    //std::cout<<"FastCaloSimSvcPU do tool "<<itrTool->name()<<" on m_Container"<<std::endl;
+    
+    StatusCode sc = (*itrTool)->process(m_theContainer);
+    if(sc.isFailure())
+    {
+     ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() );
+     return StatusCode::FAILURE;
+    } 
+    
+    for(unsigned int i=0;i<m_puCellContainer.size();i++)
+    {    
+     ATH_MSG_INFO(m_screenOutputPrefix<<"FastCaloSimSvcPU do tool "<<itrTool->name()<<" on container index "<<i);
+     //std::cout<<"FastCaloSimSvcPU do tool "<<itrTool->name()<<" on container index "<<i<<" adress "<<m_puCellContainer[i]<<std::endl;
+     StatusCode sc = (*itrTool)->process(m_puCellContainer[i]);
+     //std::cout<<" done process FastCaloSimSvcPU do tool "<<itrTool->name()<<" on container index "<<i<<std::endl;
+     if(sc.isFailure())
+     {
+      ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() );
+      return StatusCode::FAILURE;
+     } 
+    }
+    
+    if(m_chrono)
+    {
+      m_chrono -> chronoStop( chronoName );
+      ATH_MSG_INFO( m_screenOutputPrefix << "Chrono stop : delta " << m_chrono->chronoDelta (chronoName,IChronoStatSvc::USER ) * CLHEP::microsecond / CLHEP::second << " second " );
+    }
+  } //for tools
+  
+  ATH_MSG_INFO( m_screenOutputPrefix << "now doing loop on simulate tools" ); 
+  //std::cout<<"now doing loop on simulate tools"<<std::endl;
+  
+  // loop on simulate tools
+  itrTool=m_caloCellMakerTools_simulate.begin();
+  endTool=m_caloCellMakerTools_simulate.end();
+  for (;itrTool!=endTool;++itrTool)
+  {
+  	ATH_MSG_INFO( m_screenOutputPrefix << "now call simulate tool "<<itrTool->name() ); 
+    FastShowerCellBuilderTool* fcs=dynamic_cast< FastShowerCellBuilderTool* >(&(*(*itrTool)));
+    if(fcs)
+    {
+      if(fcs->setupEvent().isFailure())
+      {
+        ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() << " in setupEvent");
+        return StatusCode::FAILURE;
+      }  
+    }
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode ISF::FastCaloSimSvcPU::releaseEvent()
+{
+ 
+ ATH_MSG_INFO ( m_screenOutputPrefix << "now doing FastCaloSimSvcPU releaseEvent");
+ //std::cout<<"now doing FastCaloSimSvcPU releaseEvent"<<std::endl;
+ 
+ // the return value
+ //StatusCode sc = StatusCode::SUCCESS;
+ 
+ //->PU Development:
+ //create the final container with the weighted energy sum
+ //for that, loop over each cell, and apply the weights
+ if(!m_batchProcessMcTruth)
+ {
+  ATH_MSG_INFO(m_screenOutputPrefix<<" iterate on the cell containers");
+  
+  //see http://acode-browser2.usatlas.bnl.gov/lxr-rel20/source/atlas/Calorimeter/CaloCellCorrection/src/CaloCellEnergyRescaler.cxx
+  CaloCellContainer::iterator it  =m_theContainer->begin();
+  CaloCellContainer::iterator it_e=m_theContainer->end();
+  int mycounter=0;
+  for(;it!=it_e;++it)
+  {
+   mycounter++; if(mycounter<10) std::cout<<" mycounter "<<mycounter<<std::endl;
+   
+   CaloCell* theCell=(*it);
+   const unsigned int hash_id=theCell->caloDDE()->calo_hash();
+   const Identifier cell_id=theCell->ID();
+   
+   if(mycounter<10) std::cout<<" hash="<<hash_id<<" initial ENERGY "<<theCell->energy()<<" ID "<<cell_id<<std::endl;
+   //detID->show(cell_id);
+   	
+   double energy=0.0;
+   for(unsigned int i=0;i<m_puCellContainer.size();i++)
+   {
+    //find the right weight depending on the cell position:
+    float weight=1.0;
+    if(detID->is_tile(cell_id)==1)
+    {
+     weight=m_puEnergyWeights_tile[i];
+     if(mycounter<10) std::cout<<"Cell is in Tile."<<std::endl;
+    }
+    if(detID->is_lar_hec(cell_id)==1)
+    {
+     weight=m_puEnergyWeights_lar_hec[i];
+     if(mycounter<10) std::cout<<"Cell is in LAr HEC."<<std::endl;
+    }
+    if(detID->is_lar_em(cell_id)==1 && !(larID->sampling(cell_id)==0 && fabs(theCell->eta())<1.5))
+    {
+     weight=m_puEnergyWeights_lar_em[i];
+     if(mycounter<10) std::cout<<"Cell is in LAr EM."<<std::endl;
+    }
+    if(detID->is_lar_em(cell_id)==1 && larID->sampling(cell_id)==0 && fabs(theCell->eta())<1.5)
+    {
+     weight=m_puEnergyWeights_lar_bapre[i];
+     if(mycounter<10) std::cout<<"Cell is in Barrel Presampler."<<std::endl;
+    }
+
+    if(mycounter<10) std::cout<<" pu loop. i= "<<i<<" m_puCellContainer[i] "<<m_puCellContainer[i]<<std::endl;
+    
+    CaloCell* theCell_pu=(CaloCell*)((m_puCellContainer[i])->findCell(hash_id));
+    
+    if(mycounter<10) std::cout<<" theCell_pu "<<theCell_pu<<" energy "<<theCell_pu->energy()<<" weight "<<weight<<std::endl;
+    
+    energy+=theCell_pu->energy()*weight;
+    
+    if(mycounter<10) std::cout<<" energy after reweighting = "<<energy<<std::endl;
+   }
+   
+   if(mycounter<10) std::cout<<" after pu weight loop. setting outgoing energy="<<energy<<std::endl;
+	 theCell->setEnergy(energy);
+  
+  }//end loop over cells
+  
+  ATH_MSG_INFO(m_screenOutputPrefix<<" done iterating on the cell containers");
+  //std::cout<<" done iterating on the cell containers"<<std::endl;
+  
+  for(unsigned int i=0;i<m_puCellContainer.size();i++)
+   delete m_puCellContainer[i];
+  m_puCellContainer.clear();
+  
+  ATH_MSG_INFO(m_screenOutputPrefix<<" puCellContainer cleared");
+  //std::cout<<"puCellContainer cleared"<<std::endl;
+  
+ } //!batchProcess
+  
+  // (1.) batch processing of all particles from McTruth
+  //       (for MC12 parametrization)
+  
+  if(m_batchProcessMcTruth) //in-time only, check with Elmar that input truth contains only in-time PU events
+  {
+   // -> run the FastShowerCellBuilder tools
+   //        (in Python they should be configured to pick up the modified truth collection)
+   ToolHandleArray<ICaloCellMakerTool>::iterator itrTool=m_caloCellMakerTools_simulate.begin();
+   ToolHandleArray<ICaloCellMakerTool>::iterator endTool=m_caloCellMakerTools_simulate.end();
+   for (;itrTool!=endTool;++itrTool)
+   {
+    FastShowerCellBuilderTool* fcs=dynamic_cast< FastShowerCellBuilderTool* >(&(*(*itrTool)));
+    if(!fcs)
+    {
+     ATH_MSG_WARNING( m_screenOutputPrefix << "tool " << itrTool->name()<< "is not a FastShowerCellBuilderTool" );   
+     continue;
+    }
+      
+    ATH_MSG_VERBOSE( m_screenOutputPrefix << "Calling tool " << itrTool->name() );   
+
+    //process all particles in a truth container, writes all output into the cell container
+    if( fcs->process(m_theContainer).isFailure() )
+    {
+     ATH_MSG_WARNING( m_screenOutputPrefix << "batch simulation of FastCaloSim particles failed" );   
+     return StatusCode::FAILURE;
+    }
+   }
+   
+  } // <-- end of batch particle processing
+
+  // (2.) finalize simulation tools in a loop
+  //
+  ToolHandleArray<ICaloCellMakerTool>::iterator itrTool=m_caloCellMakerTools_simulate.begin();
+  ToolHandleArray<ICaloCellMakerTool>::iterator endTool=m_caloCellMakerTools_simulate.end();
+  for (;itrTool!=endTool;++itrTool)
+  {
+   FastShowerCellBuilderTool* fcs=dynamic_cast< FastShowerCellBuilderTool* >(&(*(*itrTool)));
+   if(fcs)
+   {
+    if(fcs->releaseEvent().isFailure())
+    {
+     ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() << " in releaseEvent");
+     return StatusCode::FAILURE;
+    }
+   }
+  }
+ 
+ // (3.) run release tools in a loop
+ 
+ itrTool=m_caloCellMakerTools_release.begin();
+ endTool=m_caloCellMakerTools_release.end();
+ for (;itrTool!=endTool;++itrTool)
+ {
+  ATH_MSG_INFO( m_screenOutputPrefix << "Calling FastCaloSimSvcPU release tool " << itrTool->name() );   
+  std::string chronoName=this->name()+"_"+ itrTool->name();
+  if(m_chrono) m_chrono -> chronoStart( chronoName);
+  
+  if((*itrTool)->process(m_theContainer).isFailure())
+  {
+   ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() );
+   return StatusCode::FAILURE;
+  }
+  
+  /*
+  //the following always leads to a crash
+  for(unsigned int i=0;i<m_puCellContainer.size();i++)
+  {    
+   std::cout<<"FastCaloSimSvcPU release() tool "<<itrTool->name()<<" on container index "<<i<<std::endl;
+   StatusCode sc = (*itrTool)->process(m_puCellContainer[i]);
+   if(sc.isFailure())
+   {
+    ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() );
+    return StatusCode::FAILURE;
+   } 
+  }
+  */
+  
+  ATH_MSG_INFO(m_screenOutputPrefix<<" looks like it worked (release)");
+  
+  if(m_chrono)
+  {
+   m_chrono -> chronoStop( chronoName );
+   ATH_MSG_INFO( m_screenOutputPrefix << "Chrono stop : delta " << m_chrono->chronoDelta (chronoName,IChronoStatSvc::USER ) * CLHEP::microsecond / CLHEP::second << " second " );
+  }
+  
+ } //for tools
+ 
+ return StatusCode::SUCCESS; 
+ 
+} //releaseEvent()
+
+
+/** Simulation Call */
+StatusCode ISF::FastCaloSimSvcPU::simulate(const ISF::ISFParticle& isfp)
+{
+ 
+ ATH_MSG_INFO(m_screenOutputPrefix<<" now doing FastCaloSimSvcPU simulate for bcid="<<isfp.getBCID());
+ //std::cout<<" now doing FastCaloSimSvcPU simulate for bcid="<<isfp.getBCID()<<std::endl;
+ 
+  // read the particle's barcode
+  Barcode::ParticleBarcode bc = isfp.barcode();
+
+ //lets do punch-through here
+ //----------------------------------------------------------
+
+ // punch-through simulation
+
+  if (m_doPunchThrough)
+  {
+    // call punch-through simulation
+    const ISF::ISFParticleContainer* isfpVec = m_punchThroughTool->computePunchThroughParticles(isfp);
+
+    // add punch-through particles to the ISF particle broker
+    if (isfpVec)
+    {
+      ISF::ISFParticleContainer::const_iterator partIt    = isfpVec->begin();
+      ISF::ISFParticleContainer::const_iterator partItEnd = isfpVec->end();
+      for ( ; partIt!=partItEnd; ++partIt)
+      {
+        m_particleBroker->push( *partIt, &isfp);
+      }
+    }
+  }
+  
+  // (a.) batch process mode, ignore the incoming particle for now
+  if( m_batchProcessMcTruth)
+  {
+    ATH_MSG_INFO(m_screenOutputPrefix<<"particle is ignored now, will run Calo simulation using ID McTruth at the end of the event");
+    return StatusCode::SUCCESS;
+  }
+  // (b.) throw away particles with undefined Barcode if m_simulateUndefinedBCs==False
+  else if( (!m_simulateUndefinedBCs) && (bc == Barcode::fUndefinedBarcode))
+  {
+    ATH_MSG_INFO(m_screenOutputPrefix<<"particle has undefined barcode, will not simulate it");
+    return StatusCode::SUCCESS;
+  }
+  // (c.) individual particle processing
+  ATH_MSG_INFO(m_screenOutputPrefix<<"particle is simulated individually");
+  return processOneParticle( isfp);
+  
+}
+
+
+StatusCode ISF::FastCaloSimSvcPU::processOneParticle( const ISF::ISFParticle& isfp)
+{
+  
+  ATH_MSG_INFO ( m_screenOutputPrefix << "now doing FastCaloSimSvcPU processOneParticle. Simulating pdgid = "<< isfp.pdgCode());
+  //std::cout<<"now doing FastCaloSimSvcPU processOneParticle. Simulating pdgid = "<< isfp.pdgCode()<<std::endl;
+  
+  ToolHandleArray<ICaloCellMakerTool>::iterator itrTool=m_caloCellMakerTools_simulate.begin();
+  ToolHandleArray<ICaloCellMakerTool>::iterator endTool=m_caloCellMakerTools_simulate.end();
+  
+  std::vector<Trk::HitInfo>* hitVector= caloHits(isfp);
+  
+  //->PU Development:
+  //extract the BCID from the ISFParticle:
+  int bcid=isfp.getBCID();
+  ATH_MSG_INFO(m_screenOutputPrefix<<" BCID from the ISF Particle "<<bcid);
+  if(bcid>(int)m_puEnergyWeights_lar_em.size() || bcid==0)
+  {
+   ATH_MSG_FATAL( m_screenOutputPrefix<<" BCID="<<bcid<<" not valid");
+   return StatusCode::FAILURE;
+  }
+  //<-
+  
+  if (!hitVector || !hitVector->size())
+  {
+    ATH_MSG_WARNING ( "ISF_FastCaloSim: no hits in calo");
+    return StatusCode::FAILURE;
+  }
+  
+  // loop on tools
+  for(;itrTool!=endTool;++itrTool)
+  {
+    FastShowerCellBuilderTool* fcs=dynamic_cast< FastShowerCellBuilderTool* >(&(*(*itrTool)));
+    if(!fcs)
+    {
+      ATH_MSG_WARNING( m_screenOutputPrefix << "tool " << itrTool->name()<< "is not a FastShowerCellBuilderTool" );   
+      continue;
+    }
+    
+    ATH_MSG_VERBOSE( m_screenOutputPrefix << "Calling tool " << itrTool->name() );   
+    std::string chronoName=this->name()+"_"+ itrTool->name();
+    
+    if (m_chrono) m_chrono->chronoStart( chronoName);
+    
+    //->PU Development:
+    ATH_MSG_INFO(m_screenOutputPrefix<<" now call fcs->process_particle with [bcid-1]="<<bcid-1<<" for pdgid "<<isfp.pdgCode());
+    if(fcs->process_particle(m_puCellContainer[bcid-1],hitVector,isfp.momentum(),isfp.mass(),isfp.pdgCode(),isfp.barcode()).isFailure())
+    {
+     ATH_MSG_WARNING( m_screenOutputPrefix << "simulation of particle pdgid=" << isfp.pdgCode()<< " in bcid "<<bcid<<" failed" );   
+     return StatusCode::FAILURE;
+    }
+    
+    //sc = (*itrTool)->process(m_theContainer); // that line was commented out in the original version already
+    /*
+    if(fcs->process_particle(m_theContainer,hitVector,isfp.momentum(),isfp.mass(),isfp.pdgCode(),isfp.barcode()).isFailure())
+    {
+      ATH_MSG_WARNING( m_screenOutputPrefix << "simulation of particle pdgid=" << isfp.pdgCode()<< " failed" );   
+      return StatusCode::FAILURE;
+    }
+    */
+    //<-
+    
+    if (m_chrono) m_chrono->chronoStop( chronoName );
+    //ATH_MSG_DEBUG( m_screenOutputPrefix << "Chrono stop : delta " << m_chrono->chronoDelta (chronoName,IChronoStatSvc::USER ) * CLHEP::microsecond / CLHEP::second << " second " );
+  } //end of for-loop
+  
+ if(hitVector)
+ {
+  for(std::vector<Trk::HitInfo>::iterator it = hitVector->begin();it < hitVector->end();++it)
+  {
+   if((*it).trackParms)
+   {
+    delete (*it).trackParms;
+    (*it).trackParms=0;
+   }  
+  }
+  delete hitVector;
+ }  
+ 
+ //  ATH_MSG_VERBOSE ( m_screenOutputPrefix << "kill the particle in the end");
+ return StatusCode::SUCCESS;
+ 
+}
+
+
+std::vector<Trk::HitInfo>* ISF::FastCaloSimSvcPU::caloHits(const ISF::ISFParticle& isp) const
+{
+  // Start calo extrapolation
+  ATH_MSG_VERBOSE ("[ fastCaloSim transport ] processing particle "<<isp.pdgCode() );
+
+  std::vector<Trk::HitInfo>*     hitVector =  new std::vector<Trk::HitInfo>;   
+
+  int  absPdg         = abs(isp.pdgCode());
+  bool charged        = isp.charge()*isp.charge() > 0 ;
+
+  // particle Hypothesis for the extrapolation
+
+  Trk::ParticleHypothesis pHypothesis = m_pdgToParticleHypothesis.convert(isp.pdgCode(),isp.charge());
+
+  // geantinos not handled by PdgToParticleHypothesis - fix there
+  if ( absPdg == 999 ) pHypothesis = Trk::geantino;
+
+  // choose the extrapolator
+  //const Trk::ITimedExtrapolator* processor = &(*m_extrapolator); 
+
+  // input parameters : curvilinear parameters
+  Trk::CurvilinearParameters inputPar(isp.position(),isp.momentum(),isp.charge());
+
+  // stable vs. unstable check : ADAPT for FASTCALOSIM 
+  //double freepath = ( !m_particleDecayHelper.empty()) ? m_particleDecayHelper->freePath(isp) : - 1.; 
+  double freepath = -1.;
+  ATH_MSG_VERBOSE( "[ fatras transport ] Particle free path : " << freepath);
+  // path limit -> time limit  ( TODO : extract life-time directly from decay helper )
+  double tDec = freepath > 0. ? freepath : -1.;
+  int decayProc = 0;
+
+  /* stable particles only for the moment
+  // beta calculated here for further use in validation
+  double mass = m_particleMasses.mass[pHypothesis];
+  double mom = isp.momentum().mag();
+  double beta = mom/sqrt(mom*mom+mass*mass); 
+
+  if ( tDec>0.) {
+    tDec = tDec/beta/CLHEP::c_light + isp.timeStamp();
+    decayProc = 201;                
+  }
+  */
+
+  Trk::TimeLimit timeLim(tDec,isp.timeStamp(),decayProc);
+  
+  // prompt decay
+  //if ( freepath>0. && freepath<0.01 ) {
+  //  if (!m_particleDecayHelper.empty()) {
+  //    ATH_MSG_VERBOSE( "[ fatras transport ] Decay is triggered for input particle.");
+  //    m_particleDecayHelper->decay(isp);
+  //  }
+  //  return 0;
+  //}
+
+  // presample interactions - ADAPT FOR FASTCALOSIM ( non-interacting )
+  Trk::PathLimit pathLim(-1.,0);
+  //if (absPdg!=999 && pHypothesis<99) pathLim = m_samplingTool->sampleProcess(mom,isp.charge(),pHypothesis);
+     
+  Trk::GeometrySignature nextGeoID=Trk::GeometrySignature(isp.nextGeoID()); 
+
+  // save Calo entry hit (fallback info)
+  hitVector->push_back(Trk::HitInfo(inputPar.clone(),isp.timeStamp(),nextGeoID,0.));  
+    
+  const Trk::TrackParameters* eParameters = 0;
+
+  if ( !charged )
+  {
+
+    eParameters = m_extrapolator->transportNeutralsWithPathLimit(inputPar,pathLim,timeLim,Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);  
+ 
+  }
+  else
+  {
+          
+    eParameters = m_extrapolator->extrapolateWithPathLimit(inputPar,pathLim,timeLim,Trk::alongMomentum,pHypothesis,hitVector,nextGeoID);
+
+  }
+  // save Calo exit hit (fallback info)
+  if (eParameters) hitVector->push_back(Trk::HitInfo(eParameters,timeLim.time,nextGeoID,0.));  
+
+  ATH_MSG_VERBOSE( "[ fastCaloSim transport ] number of intersections "<< hitVector->size());
+
+  return hitVector;
+
+}
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h
new file mode 100644
index 0000000000000000000000000000000000000000..19f715afdd109b8d340dc575e41f7e815767e09f
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h
@@ -0,0 +1,140 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+///////////////////////////////////////////////////////////////////
+// FastCaloSimSvcPU.h, (c) ATLAS Detector software
+///////////////////////////////////////////////////////////////////
+
+#ifndef ISF_FASTCALOSIMSVCPU_H
+#define ISF_FASTCALOSIMSVCPU_H 1
+
+// STL includes
+#include <string>
+#include <set>
+
+// FrameWork includes
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/ToolHandle.h"
+#include "GaudiKernel/IChronoStatSvc.h"
+#include "CaloInterface/ICaloCellMakerTool.h"
+#include "AthenaBaseComps/AthService.h"
+
+// ISF includes
+#include "ISF_Interfaces/BaseSimulationSvc.h"
+
+// Tracking includes
+#include "TrkExInterfaces/ITimedExtrapolator.h"
+#include "TrkEventPrimitives/PdgToParticleHypothesis.h"
+
+#include "AtlasDetDescr/AtlasDetectorID.h"
+#include "CaloIdentifier/LArEM_ID.h"
+
+// forward declarations
+class ITrackingGeometrySvc;
+class CaloCellContainer;
+
+namespace HepMC
+{
+    class GenEvent;
+}
+
+namespace Trk
+{
+    class TrackingVolume;
+    class TrackingGeometry;
+}
+
+namespace ISF
+{
+
+  class ISFParticle;
+  class IParticleBroker;
+  class ITruthSvc;
+  class IPunchThroughTool;
+
+  /** @class FastCaloSimSvcPU
+  @author Michael.Duehrssen -at- cern.ch
+  */
+  
+  class FastCaloSimSvcPU : public BaseSimulationSvc
+  { 
+    public: 
+      
+      //** Constructor with parameters */
+      FastCaloSimSvcPU( const std::string& name, ISvcLocator* pSvcLocator );
+      
+      /** Destructor */
+      virtual ~FastCaloSimSvcPU(); 
+      
+      /** Athena algorithm's interface methods */
+      StatusCode  initialize();
+      StatusCode  finalize();
+
+      /** Simulation Call */
+      StatusCode simulate(const ISFParticle& isp);
+                                                                 
+      /** Setup Event chain - in case of a begin-of event action is needed */
+      StatusCode setupEvent();
+
+      /** Release Event chain - in case of an end-of event action is needed */
+      StatusCode releaseEvent();
+      
+      AtlasDetectorID* detID;
+      LArEM_ID* larID;
+
+    private:     
+      /** Default constructor */
+      FastCaloSimSvcPU();
+
+      /** process the given particle */
+      StatusCode processOneParticle( const ISF::ISFParticle &isfp);
+
+      /** extrapolation through Calo */
+      std::vector<Trk::HitInfo>* caloHits(const ISF::ISFParticle &isfp) const;
+
+      /** The Extrapolator setup */
+      ToolHandle<Trk::ITimedExtrapolator>      m_extrapolator;          
+
+      /** whether CellContainer to be created will own (default) its cells or not */
+      int m_ownPolicy;
+
+      // particle processing mode
+      bool m_batchProcessMcTruth;       //!< process particles from McTruth at end of event
+
+      bool m_simulateUndefinedBCs;      //!< do/don't simulate undefined barcode particles
+
+      std::string  m_caloCellsOutputName;
+
+      // authorise input to be the same as output (to be done with care)
+      bool m_caloCellHack ;
+      //check if punch through simulation is used
+      bool m_doPunchThrough;
+      
+      Trk::PdgToParticleHypothesis        m_pdgToParticleHypothesis;
+
+      // list of tools to be used
+      ToolHandleArray<ICaloCellMakerTool> m_caloCellMakerTools_setup ;
+      ToolHandleArray<ICaloCellMakerTool> m_caloCellMakerTools_simulate ;
+      ToolHandleArray<ICaloCellMakerTool> m_caloCellMakerTools_release ;
+      ToolHandle< IPunchThroughTool >     m_punchThroughTool;
+      
+      CaloCellContainer* 		  m_theContainer;
+      
+      ServiceHandle<ISF::IParticleBroker> m_particleBroker;
+      
+      //->PU Development:
+      std::vector<CaloCellContainer*> m_puCellContainer;
+      //std::vector<float> m_puEnergyWeights;
+      
+      std::vector<float> m_puEnergyWeights_lar_bapre;
+      std::vector<float> m_puEnergyWeights_lar_hec;
+      std::vector<float> m_puEnergyWeights_lar_em;
+      std::vector<float> m_puEnergyWeights_tile;
+      	      //<-
+
+  }; 
+  
+}
+
+#endif //> !ISF_FASTCALOSIMSVCPU_H
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx
index 15c4dde55b233b3bf3c6ef879de45556e6ddd27b..c2d9290a5a43a5fc439ab2a75a7a3755f52699cf 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// FastCaloSimSvcV2.cxx, (c) ATLAS Detector software
+// FastCaloSimSvcV2.cxx, (c) ATLAS Detector software             //
 ///////////////////////////////////////////////////////////////////
 
 // class header include
@@ -11,60 +11,497 @@
 
 // FastCaloSim includes
 #include "ISF_FastCaloSimEvent/TFCSSimulationState.h"
+#include "ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h"
+
+
+// StoreGate
+#include "StoreGate/StoreGateSvc.h"
+#include "StoreGate/StoreGate.h"
+
+
+#include "CLHEP/Random/RandFlat.h"
+
+#include "CaloEvent/CaloCellContainer.h"
+#include "ISF_FastCaloSimParametrization/CaloGeometryFromFile.h"
+#include "ISF_FastCaloSimParametrization/CaloDetDescrElement.h"
+
+#include "TCanvas.h" // Just for testing
+#include <fstream>
+
+using std::abs;
+using std::atan2;
 
 /** Constructor **/
-ISF::FastCaloSimSvcV2::FastCaloSimSvcV2(const std::string& name,ISvcLocator* svc) :
+ISF::FastCaloSimSvcV2::FastCaloSimSvcV2(const std::string& name, ISvcLocator* svc) :
   BaseSimulationSvc(name, svc),
-  m_epara("etest", "etest")
+  m_rndGenSvc("AtRndmGenSvc", name)
 {
+  declareProperty("ParamsInputFilename"        ,       m_paramsFilename);
+  declareProperty("CaloCellsOutputName"        ,       m_caloCellsOutputName) ;
+  declareProperty("CaloCellMakerTools_setup"   ,       m_caloCellMakerToolsSetup) ;
+  declareProperty("CaloCellMakerTools_release" ,       m_caloCellMakerToolsRelease) ;
+  declareProperty("DoRandomFluctuations"       ,       m_doRandomFluctuations) ;
+  declareProperty("RandomSvc"                  ,       m_rndGenSvc                );
+  declareProperty("RandomStream"               ,       m_randomEngineName         );
 }
 
-ISF::FastCaloSimSvcV2::~FastCaloSimSvcV2() 
+ISF::FastCaloSimSvcV2::~FastCaloSimSvcV2()
 {}
 
 /** framework methods */
 StatusCode ISF::FastCaloSimSvcV2::initialize()
 {
-    ATH_MSG_INFO(m_screenOutputPrefix << "Initializing ...");
+  ATH_MSG_DEBUG(m_screenOutputPrefix << "Initializing ...");
+
+  m_paramsFile = TFile::Open(m_paramsFilename.c_str());
+  ATH_MSG_DEBUG("------> file = " << m_paramsFile);
+
+  TFCSPCAEnergyParametrization* epara_pions=new TFCSPCAEnergyParametrization("pions","pions");
+  TFCSPCAEnergyParametrization* epara_photons=new TFCSPCAEnergyParametrization("photons","photons");
+  TFCSPCAEnergyParametrization* epara_electrons=new TFCSPCAEnergyParametrization("electrons","electrons");
+
+  m_eparas.push_back(epara_pions);
+  m_eparas.push_back(epara_photons);
+  m_eparas.push_back(epara_electrons);
+
+  ATH_MSG_DEBUG("loading inputs pions");
+  m_eparas[0]->loadInputs(m_paramsFile,"EnergyParams/pdgid_211/EN_50000/eta_0_20");
+  ATH_MSG_DEBUG("loading inputs photons");
+  m_eparas[1]->loadInputs(m_paramsFile,"EnergyParams/pdgid_22/EN_50000/eta_0_20");
+  ATH_MSG_DEBUG("loading inputs electrons");
+  m_eparas[2]->loadInputs(m_paramsFile,"EnergyParams/pdgid_11/EN_65000/eta_0_20");
+  ATH_MSG_DEBUG("loading electrons done!");
+
+  /** commenting out close and delete: accessing  the file in ::simulate */
+  // file->Close();
+  //delete file;
+
+  ATH_CHECK(m_rndGenSvc.retrieve());
+  m_randomEngine = m_rndGenSvc->GetEngine( m_randomEngineName);
+  if(!m_randomEngine)
+    {
+      ATH_MSG_ERROR("Could not get random number engine from RandomNumberService. Abort.");
+      return StatusCode::FAILURE;
+    }
+
+  m_caloGeo = new CaloGeometryFromFile();
+  TString path_to_fcal_geo_files = "/afs/cern.ch/atlas/groups/Simulation/FastCaloSimV2/";
+  m_caloGeo->LoadGeometryFromFile("/afs/cern.ch/atlas/groups/Simulation/FastCaloSim/ATLAS-GEO-20-00-01.root", "ATLAS-GEO-20-00-01");
+  m_caloGeo->LoadFCalGeometryFromFiles(path_to_fcal_geo_files + "FCal1-electrodes.sorted.HV.09Nov2007.dat", path_to_fcal_geo_files + "FCal2-electrodes.sorted.HV.April2011.dat", path_to_fcal_geo_files + "FCal3-electrodes.sorted.HV.09Nov2007.dat");
 
-    std::string samplename = "pions";
-    TFile* file = TFile::Open(Form("/afs/cern.ch/atlas/groups/Simulation/FastCaloSimV2/secondPCA_%s_bin0.root",samplename.c_str()));
-    m_epara.loadInputs(file);
-    file->Close();
-    delete file;
+  for(unsigned int i=0;i<24;i++)
+    m_rlayer.push_back(999);
 
-    return StatusCode::SUCCESS;
+  m_rlayer[0]=1455.98;
+  m_rlayer[1]=1542.83;
+  m_rlayer[2]=1757.11;
+  m_rlayer[3]=1943.15;
+  m_rlayer[4]=999;
+  m_rlayer[5]=999;
+  m_rlayer[6]=999;
+  m_rlayer[7]=999;
+  m_rlayer[8]=999;
+  m_rlayer[9]=999;
+  m_rlayer[10]=999;
+  m_rlayer[11]=999;
+  m_rlayer[12]=2450.0;
+  m_rlayer[13]=3020.0;
+  m_rlayer[14]=3630.0;
+  m_rlayer[15]=999;
+  m_rlayer[16]=999;
+  m_rlayer[17]=999;
+  m_rlayer[18]=999;
+  m_rlayer[19]=999;
+  m_rlayer[20]=999;
+  m_rlayer[21]=999;
+  m_rlayer[22]=999;
+  m_rlayer[23]=999;
+
+  return StatusCode::SUCCESS;
 }
 
 /** framework methods */
 StatusCode ISF::FastCaloSimSvcV2::finalize()
 {
-    ATH_MSG_INFO(m_screenOutputPrefix << "Finalizing ...");
-    return StatusCode::SUCCESS;
+  ATH_MSG_DEBUG(m_screenOutputPrefix << "Finalizing ...");
+  return StatusCode::SUCCESS;
 }
 
 StatusCode ISF::FastCaloSimSvcV2::setupEvent()
-{ 
-    ATH_MSG_DEBUG(m_screenOutputPrefix << "setup Event");
-    return StatusCode::SUCCESS;
+{
+  ATH_MSG_DEBUG(m_screenOutputPrefix << "setupEvent NEW EVENT!");
+
+  m_theContainer = new CaloCellContainer(SG::VIEW_ELEMENTS);
+
+  // Only record if the container has not already been recorded
+  if (!evtStore()->contains<CaloCellContainer>(m_caloCellsOutputName)) {
+    if (evtStore()->record(m_theContainer, m_caloCellsOutputName).isFailure()) {
+      ATH_MSG_FATAL( m_screenOutputPrefix << "cannot record CaloCellContainer " << m_caloCellsOutputName );
+      return StatusCode::FAILURE;
+    }
+  }
+
+  ATH_CHECK( m_caloCellMakerToolsSetup.retrieve() );
+  ATH_MSG_DEBUG( "Successfully retrieve CaloCellMakerTools: " << m_caloCellMakerToolsSetup );
+  ToolHandleArray<ICaloCellMakerTool>::iterator itrTool = m_caloCellMakerToolsSetup.begin();
+  ToolHandleArray<ICaloCellMakerTool>::iterator endTool = m_caloCellMakerToolsSetup.end();
+  for (; itrTool != endTool; ++itrTool)
+    {
+      StatusCode sc = (*itrTool)->process(m_theContainer);
+      if (sc.isFailure())
+        {
+          ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() );
+          return StatusCode::FAILURE;
+        }
+    }
+
+  return StatusCode::SUCCESS;
 }
 
 StatusCode ISF::FastCaloSimSvcV2::releaseEvent()
-{ 
-    ATH_MSG_DEBUG(m_screenOutputPrefix << "release Event");
-    return StatusCode::SUCCESS; 
+{
+
+  ATH_MSG_DEBUG(m_screenOutputPrefix << "release Event");
+
+  ATH_CHECK( m_caloCellMakerToolsRelease.retrieve() );
+  //run release tools in a loop
+  ToolHandleArray<ICaloCellMakerTool>::iterator itrTool = m_caloCellMakerToolsRelease.begin();
+  ToolHandleArray<ICaloCellMakerTool>::iterator endTool = m_caloCellMakerToolsRelease.end();
+  for (; itrTool != endTool; ++itrTool)
+    {
+      ATH_MSG_DEBUG( m_screenOutputPrefix << "Calling tool " << itrTool->name() );
+
+      StatusCode sc = (*itrTool)->process(m_theContainer);
+
+      if (sc.isFailure())
+        {
+          ATH_MSG_ERROR( m_screenOutputPrefix << "Error executing tool " << itrTool->name() );
+        }
+    }
+
+  return StatusCode::SUCCESS;
+
 }
 
 /** Simulation Call */
 StatusCode ISF::FastCaloSimSvcV2::simulate(const ISF::ISFParticle& isfp)
 {
-    ATH_MSG_INFO("FastCaloSimSvcV2 called with ISFParticle: " << isfp);
+  ATH_MSG_DEBUG("NEW PARTICLE! FastCaloSimSvcV2 called with ISFParticle: " << isfp);
+
+  int pdgid = fabs(isfp.pdgCode());
+  int barcode=isfp.barcode();
+
+  if(barcode!=10001)
+    {
+      ATH_MSG_DEBUG("ISF particle barcode is barcode "<<barcode<<". Go to next Particle.");
+      return StatusCode::SUCCESS;
+    }
+
+  Amg::Vector3D particle_position =  isfp.position();
+  double eta(0.), phi(0.);
+  eta = particle_position.eta();
+  phi = particle_position.phi();
+  if(abs(eta) > 0.3 || abs(eta) < 0.15) //somewhat enlarged to not cut off too many particles
+    {
+      ATH_MSG_DEBUG("ISF particle is out of eta range: "<<eta<<". Go to next Particle.");
+      return StatusCode::SUCCESS;
+    }
+  if(pdgid==22 || pdgid==211 || pdgid==11)
+    {
+
+      int index_epara=0;
+      if(pdgid==22) index_epara=1;
+      if(pdgid==11) index_epara=2;
+
+      /** get the number of pca bins from the epara: **/
+
+      int n_pcabins = m_eparas[index_epara]->n_pcabins();
+
+      //determine the pca bin randomly:
+      int pcabin = 1;
+      float uniform=CLHEP::RandFlat::shoot(m_randomEngine);
+
+      for (int n = 0; n < n_pcabins; n++)
+        {
+          if (uniform > n * 1.0 / (double)n_pcabins && uniform < (n + 1.) * 1.0 / (double)n_pcabins)
+            pcabin = n + 1;
+        }
+
+      ATH_MSG_DEBUG("pca bin "<<pcabin);
+
+      //-----ENERGY:-----
+
+      TFCSSimulationState simulstate;
+      simulstate.set_Ebin(pcabin);
+
+      m_eparas[index_epara]->simulate(simulstate, nullptr, nullptr);
+
+      ATH_MSG_DEBUG("Energy returned: " << simulstate.E());
+      ATH_MSG_DEBUG("Energy fraction for layer: ");
+      for (int s = 0; s < CaloCell_ID_FCS::MaxSample; s++)
+        ATH_MSG_VERBOSE(" Sampling " << s << " energy " << simulstate.E(s));
+
+      //-----SHAPE:-----
+
+      if (m_doRandomFluctuations == true && pdgid == 211)
+        {
+          ATH_MSG_DEBUG("\n\n*******************************************\n"
+                       << "RANDOM FLUCTUATIONS ARE ON"
+                       << "\n*******************************************\n\n");
+        }
+
+      else {
+
+        ATH_MSG_DEBUG("\n\n*******************************************\n"
+                     << "RANDOM FLUCTUATIONS ARE OFF"
+                     << "\n*******************************************\n\n");
+      }
+
+      /** get the relevant calo layers */
+      IntArray *m_layers = m_eparas[index_epara]->get_layers();
+
+      /** get the appropriate input histogram */
+      std::string inputHisto = "";
+
+      for ( int ilayer = 0;  ilayer < m_layers->GetSize(); ilayer++)
+        {
+
+          /** get the layer ID and associated energy */
+          int layer =  m_layers->GetAt(ilayer);
+          double layerE = simulstate.E(layer);
+          int nHits=-1;
+
+          ATH_MSG_DEBUG("NOW RUNNING ON LAYER "<<layer);
+
+          inputHisto = "ShapeParams/pdgid_" + std::to_string(pdgid) + "/EN_50000/eta_0_20/hEnergyDensity_layer" + std::to_string(layer) + "_pca" + std::to_string(pcabin);
+          m_histEnergyDensity2D = (TH2F*)m_paramsFile->Get(inputHisto.c_str());
+
+          if(!m_paramsFile)
+            {
+              ATH_MSG_FATAL("No paramFile!");
+              return StatusCode::FAILURE;
+            }
+          if(!m_histEnergyDensity2D)
+            {
+              ATH_MSG_FATAL("Problem. No histogram!! :-(");
+              return StatusCode::FAILURE;
+            }
+
+          /** set number of hits due to random fluctuations if particle is a pion and flag is set */
+          if (m_doRandomFluctuations == true && pdgid == 211) nHits = 10;
+
+          /** otherwise get the number of hits to account for the resolution of the layer */
+          else nHits = hitCalc(layerE, layer, pdgid);
+
+          ATH_MSG_DEBUG("number of HITS = "<<nHits);
+
+          /** simulate random hits from the input histogram */
+          for (int i = 0; i < nHits; i++)
+            {
+              //std::cout<<"Hit nr "<<i<<std::endl;
+
+              double r, alpha;
+              double delta_phi,delta_phi_mm;
+
+              const CaloGeoDetDescrElement* mcell = 0;
+              m_histEnergyDensity2D->GetRandom2(alpha, r);
+
+              //std::cout<<"got a hit positon from the histogram!"<<" r "<<r<<" alpha "<<alpha<<std::endl;
+
+              //double r_layer=m_rlayers[ilayer*n_pcabins+pcabin-1];
+              double r_layer=m_rlayer[layer];
+              double hit_eta=findHitEta(alpha,r,r_layer,particle_position.z(),eta);
+
+              delta_phi_mm = r * sin(alpha);
+              delta_phi=delta_phi_mm/r_layer;
+              double hit_phi = phi+delta_phi;
+
+              if (layer < 21){
+                double wiggle = 0.0;
+                if (layer < 4 && layer > 0){
+                  wiggle = doWiggle(layer);
+                  //std::cout << "wiggle is " << wiggle << std::endl;
+                }
+                mcell = m_caloGeo->getDDE(layer, hit_eta, hit_phi-wiggle);
+              }
+
+              else
+                {
+
+                  double theta=2.*atan(exp(-hit_eta));
+                  double rT=particle_position.z()*tan(theta);
+                  double hit_x=rT*cos(hit_phi);
+                  double hit_y=rT*sin(hit_phi);
+
+                  mcell = m_caloGeo->getFCalDDE(layer, hit_x, hit_y, particle_position.z());
+                }
+
+              if (!mcell) continue;
+
+
+              CaloCell* theCell = (CaloCell*)m_theContainer->findCell(mcell->calo_hash());
+
+              if(i<10)
+                {
+                  ATH_MSG_DEBUG("Hit nr "<<i<<" eta: " << hit_eta << " phi: " << hit_phi << " Particle eta: " << eta << " phi: " << phi << " delta_eta: " << hit_eta - eta << " delta_phi: " << hit_phi - phi);
+                  ATH_MSG_DEBUG(" Cell from CaloGeometry: eta: " << mcell->eta() << " phi: " << mcell->phi() << " |CELL_eta - HIT_eta| " << abs(mcell->eta() - hit_eta)  << " |CELL_phi - HIT_phi| " << abs(mcell->phi() - hit_phi));
+                  ATH_MSG_DEBUG(" energy input into cell: "<<layerE / nHits);
+                }
+
+              theCell->addEnergy(layerE / nHits);
+
+            }
+        }
+
+    } //pdgid must be 211 or 22 or 11
+  else
+    {
+      ATH_MSG_DEBUG("Oh no! ISF particle has pdgid "<<pdgid<<" . That's not supported yet :(");
+    }
+
+  return StatusCode::SUCCESS;
+
+}
+
+
+
+//-----HITS:-----
+
+int ISF::FastCaloSimSvcV2::hitCalc(double energy, int calolayer, int pdgid){
+
+  int hits=1;
+
+  /** Calculate estimates for cell energy fluctuations. Should be updated with better numbers */
+
+  if(energy>0.0001)
+    {
+
+      double stochastic=0.1;
+      double constant=0.0;
+
+      if(pdgid == 211){
+
+        if(calolayer >= 0 && calolayer<= 7){
+          stochastic=0.101;     //LAr      10.1%/sqrt(E)
+          constant=0.002;
+        }
+
+        else if(calolayer >= 8 && calolayer <= 11){
+          stochastic=0.706;     //HadEC  70.6%/sqrt(E) for pions
+          constant=0.058;
+        }
+
+        else if(calolayer >= 12 && calolayer <= 20){
+          stochastic=0.564;     //TileCal 56.4%/sqrt(E)
+          constant=0.055;
+        }
+
+        else if(calolayer >= 21 && calolayer <= 23){
+          stochastic=0.942;     //FCAL    94.2%/sqrt(E) for pions
+          constant=0.075;
+        }
+      }
+
+      else {
+        if(calolayer >= 0 && calolayer<= 7){
+          stochastic=0.101;     //LAr      10.1%/sqrt(E)
+          constant=0.002;
+        }
+
+        else if(calolayer >= 8 && calolayer <= 11){
+          stochastic=0.214;     //HadEC 21.4%/sqrt(E)
+          constant=0.0;
+        }
+
+        else if(calolayer >= 12 && calolayer <= 20){
+          stochastic=0.564;     //TileCal 56.4%/sqrt(E)
+          constant=0.055;
+        }
+
+        else if(calolayer >= 21 && calolayer <= 23){
+          stochastic=0.285;     //FCAL    28.5%/sqrt(E)
+          constant=0.035;
+        }
+      }
+
+      hits = 1.0 / ((stochastic/sqrt(energy/1000.0))*(stochastic/sqrt(energy/1000.0)) + constant*constant);
+
+    }
+  else
+    ATH_MSG_DEBUG("Something is wrong. Layer "<<calolayer<<" has very little energy "<<energy);
+
+  return hits;
+
+}
+double ISF::FastCaloSimSvcV2::findHitEta(const double alpha,const double r, const double r_layer,const double z_particle,const double eta_particle){
+  const double delta_eta_mm = r * cos(alpha);
+  const double R=sqrt(r_layer*r_layer + z_particle*z_particle);
+  double x=eta_particle; // approximation of hit_eta, starting point for iterations
+
+  double a,b;
+  double c,d;
+  double delta;
+  double e;
+
+  const double epsilon=0.0001;
+  do{
+    c=exp(-x);
+    d=1./(1.+(c*c));
+    e=(2.*R)*(c*d);
+    delta=x-eta_particle;
+    a = e*delta - delta_eta_mm; // transformation
+    b = e*(1. - (delta*d)); // first derivative of the transformation
+    x = x - a/b;
+  } while(abs(a) > epsilon);
+  if(x!=x) ATH_MSG_ERROR("Error: Hit eta not defined.");
+  //std::cout << "hit_eta: " << x << " error: " << a/b << std::endl;
+  return x;
+}
+
+double ISF::FastCaloSimSvcV2::doWiggle(int layer)
+{
+
+  double wiggle = 0.0;
+  double cell_dphi = 0.0;
+
+  //Define cell size in phi
+  if (layer == 1)
+    cell_dphi = 0.0981748;
+  else if (layer == 2 || layer == 3)
+    cell_dphi = 0.0245437;
+  else{
+    ATH_MSG_ERROR("I am inside the wiggle calculation, but the layer is " << layer << "!");
+    return 0.0;
+  }
+
+  //Set random numbers
+  double searchRand = CLHEP::RandFlat::shoot(m_randomEngine);
+
+  //Now for layer dependant approach
+  if (layer == 1){
+    double m_wiggleLayer1[]={0.0110626,0.0242509,0.0398173,0.055761,0.0736173,0.0938847,0.115154,0.13639,0.157644,0.178934,0.200182,0.221473,0.242745,0.264019,0.285264,0.306527,0.327811,0.349119,0.370387,0.391668,0.412922,0.434208,0.45546,0.476732,0.498023,0.51931,0.540527,0.561799,0.583079,0.604358,0.625614,0.646864,0.668112,0.689351,0.710629,0.731894,0.75318,0.774426,0.795695,0.81699,0.838258,0.859528,0.880783,0.90202,0.922515,0.941276,0.958477,0.975062,0.988922,1};
+
+    int chosenBin = (Int_t) TMath::BinarySearch(50, m_wiggleLayer1, searchRand);
+    double x_wigg = ((-0.98)+(chosenBin+1)*0.04)/2;
+    wiggle = x_wigg*cell_dphi/4;
+  }
+
+  if (layer == 2){
+    double m_wiggleLayer2[]={0.0127507,0.0255775,0.0395137,0.0542644,0.0695555,0.0858206,0.102274,0.119653,0.137832,0.156777,0.176938,0.197727,0.217576,0.236615,0.256605,0.277766,0.2995,0.321951,0.344663,0.367903,0.392401,0.417473,0.443514,0.470867,0.498296,0.52573,0.553114,0.57921,0.604326,0.628822,0.652191,0.674853,0.697268,0.718983,0.739951,0.759866,0.778877,0.798762,0.819559,0.839789,0.858923,0.877327,0.894831,0.911693,0.92821,0.94391,0.959156,0.973593,0.986752,1};
+
+    int chosenBin = (Int_t) TMath::BinarySearch(50, m_wiggleLayer2, searchRand);
+    double x_wigg = ((-0.98)+(chosenBin+1)*0.04)/2;
+    wiggle = x_wigg*cell_dphi;
+  }
+
+  if (layer == 3){
+    double m_wiggleLayer3[]={0.0217932,0.0438502,0.0670992,0.091085,0.11651,0.143038,0.169524,0.196205,0.222944,0.249703,0.276629,0.303559,0.33034,0.356842,0.383579,0.410385,0.437272,0.464214,0.49118,0.518202,0.545454,0.572667,0.600037,0.627544,0.655072,0.6826,0.709824,0.733071,0.754764,0.775672,0.793834,0.810904,0.828219,0.844119,0.858339,0.871248,0.882485,0.894889,0.907955,0.920289,0.931136,0.941039,0.949844,0.957641,0.965787,0.97392,0.981706,0.988892,0.994527,1};
+
+    int chosenBin = (Int_t) TMath::BinarySearch(50, m_wiggleLayer3, searchRand);
+    double x_wigg = ((-0.98)+(chosenBin+1)*0.04)/2;
+    wiggle = x_wigg*cell_dphi;
+  }
 
-    int energybin = 0; // TODO: determine from ISFParticle energy
-    ::TFCSSimulationState simulstate;
-    simulstate.set_Ebin(energybin);
-    m_epara.simulate(simulstate, nullptr, nullptr);
+  return wiggle;
 
-    ATH_MSG_INFO("Energy returned: " << simulstate.E());
-    return StatusCode::SUCCESS;
 }
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.h
index 1fd7deff98127240339e591870db4edc55bfb47f..5c993ea974171e9bb44f59248a391e75b8ec9567 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.h
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-///////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////
 // FastCaloSimSvcV2.h, (c) ATLAS Detector software
 ///////////////////////////////////////////////////////////////////
 
@@ -15,36 +15,95 @@
 // FastCaloSim includes
 #include "ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h"
 
+#include "CaloInterface/ICaloCellMakerTool.h"
+#include "ISF_FastCaloSimEvent/IntArray.h"
+
+#include "TH2D.h"
+
+#include "AthenaKernel/IAtRndmGenSvc.h"
+
+namespace CLHEP
+{
+  class HepRandomEngine;
+}
+
+//forward declarations
+class CaloCellContainer;
+class CaloGeometryFromFile;
+
+
 namespace ISF {
   /** @class FastCaloSimSvcV2
-  
+
       @author Elmar.Ritsch -at- cern.ch, Geraldine.Conti -at- cern.ch, Flavia.Dias -at- cern.ch
   */
-  class FastCaloSimSvcV2 : public BaseSimulationSvc { 
-    public: 
-      /** Constructor with parameters */
-      FastCaloSimSvcV2(const std::string& name, ISvcLocator* pSvcLocator);
-      
-      /** Destructor */
-      virtual ~FastCaloSimSvcV2(); 
-      
-      /** Athena algorithm's interface methods */
-      StatusCode  initialize();
-      StatusCode  finalize();
-
-      /** Simulation Call */
-      StatusCode simulate(const ISFParticle& isp);
-                                                                 
-      /** Setup Event chain - in case of a begin-of event action is needed */
-      StatusCode setupEvent();
-
-      /** Release Event chain - in case of an end-of event action is needed */
-      StatusCode releaseEvent();
-
-    private:
-      /** Dummy energy parametrization */
-      ::TFCSPCAEnergyParametrization    m_epara;
-  }; 
+  class FastCaloSimSvcV2 : public BaseSimulationSvc {
+  public:
+    /** Constructor with parameters */
+    FastCaloSimSvcV2(const std::string& name, ISvcLocator* pSvcLocator);
+
+    /** Destructor */
+    virtual ~FastCaloSimSvcV2();
+
+    /** Athena algorithm's interface methods */
+    virtual StatusCode  initialize() override final;
+    virtual StatusCode  finalize() override final;
+
+    /** Simulation Call */
+    virtual StatusCode simulate(const ISFParticle& isp) override final;
+
+    /** Setup Event chain - in case of a begin-of event action is needed */
+    virtual StatusCode setupEvent() override final;
+
+    /** Release Event chain - in case of an end-of event action is needed */
+    virtual StatusCode releaseEvent() override final;
+
+  private:
+
+    int hitCalc(double energy, int calolayer, int pdgid);
+    double findHitEta(const double alpha,const double r, const double r_layer,const double z_particle,const double eta_particle);
+
+    //** Calculate the wiggle for the hit-to-cell assignment on layers with accordion shape **//
+    double doWiggle(int layer);
+
+    /** FCSParam file **/
+    TFile* m_paramsFile;
+    TFile* m_energyDensity2D;
+
+    std::string m_paramsFilename;
+
+    //TFCSPCAEnergyParametrization    m_epara;
+
+    std::vector<TFCSPCAEnergyParametrization*>  m_eparas;
+
+    ToolHandleArray<ICaloCellMakerTool> m_caloCellMakerToolsSetup ;
+    ToolHandleArray<ICaloCellMakerTool> m_caloCellMakerToolsRelease ;
+
+    CaloCellContainer *       m_theContainer;
+
+    TH2F* m_histEnergyDensity2D;
+
+    ServiceHandle<IAtRndmGenSvc>    m_rndGenSvc;
+    CLHEP::HepRandomEngine*         m_randomEngine;
+    std::string                     m_randomEngineName;
+
+    CaloGeometryFromFile* m_caloGeo;
+
+    std::string  m_caloCellsOutputName;
+
+    std::vector<double> m_rlayer;
+
+    /** enable/disable random fluctuations in calorimeter layers */
+    bool m_doRandomFluctuations;
+
+    //** Array for the hit-to-cell assignment accordion structure fix (wiggle)  **//
+    //** To be moved to the conditions database at some point **//
+    static const double m_wiggleLayer1[50];
+    static const double m_wiggleLayer2[50];
+    static const double m_wiggleLayer3[50];
+
+  };
+
 }
 
 #endif //> !ISF_FASTCALOSIMSVCV2_H
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/components/ISF_FastCaloSimServices_entries.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/components/ISF_FastCaloSimServices_entries.cxx
index fae8bc1cb04a24148041a606e09c51000c048af0..e089f289f8e4aaecdc2d1c0446f8e678b3c3018a 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/components/ISF_FastCaloSimServices_entries.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/components/ISF_FastCaloSimServices_entries.cxx
@@ -1,11 +1,16 @@
 #include "GaudiKernel/DeclareFactoryEntries.h"
 #include "../FastCaloSimSvc.h"
 #include "../FastCaloSimSvcV2.h"
+#include "../FastCaloSimSvcPU.h"
 
 DECLARE_NAMESPACE_SERVICE_FACTORY( ISF , FastCaloSimSvc )
 DECLARE_NAMESPACE_SERVICE_FACTORY( ISF , FastCaloSimSvcV2 )
+DECLARE_NAMESPACE_SERVICE_FACTORY( ISF , FastCaloSimSvcPU )
 
-DECLARE_FACTORY_ENTRIES( ISF_FastCaloSimServices ) {
+
+DECLARE_FACTORY_ENTRIES( ISF_FastCaloSimServices )
+{
   DECLARE_NAMESPACE_SERVICE( ISF , FastCaloSimSvc )
   DECLARE_NAMESPACE_SERVICE( ISF , FastCaloSimSvcV2 )
+  DECLARE_NAMESPACE_SERVICE( ISF , FastCaloSimSvcPU )
 }
diff --git a/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run300000_mc16a_NOTPRODUCTION.py b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run300000_mc16a_NOTPRODUCTION.py
new file mode 100644
index 0000000000000000000000000000000000000000..bf8d1e6e2c9e6eeb6e100e993256e43c80067353
--- /dev/null
+++ b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run300000_mc16a_NOTPRODUCTION.py
@@ -0,0 +1,72 @@
+####################
+## File configLumi_run219114.py: autogenerated configuration file from command
+##/cvmfs/atlas-nightlies.cern.ch/repo/sw/nightlies/x86_64-slc6-gcc47-opt/devval/rel_1/AtlasSimulation/rel_1/InstallArea/share/bin/RunDepTaskMaker.py --externalDict={0.0:24.0,1.0:31.0, 2.0:38.0,3.0:45.0, 4.0:52.0,5.0:59.0, 6.0:65.0, 7.0:72.0, 8.0:79.0, 9.0:86.0, 10.0:93.0, 11.0:99.0, 12.0:105.0, 13.0:112.0, 14.0:119.0, 15.0:126.0, 16.0:133.0, 17.0:141.0, 18.0:147.0, 19.0:154.0, 20.0:161.0, 21.0:161.0, 22.0:161.0, 23.0:161.0, 24.0:161.0, 25.0:161.0, 26.0:161.0, 27.0:161.0, 28.0:161.0, 29.0:161.0, 30.0:161.0, 31.0:161.0, 32.0:161.0, 33.0:161.0, 34.0:161.0, 35.0:161.0, 36.0:161.0, 37.0:161.0, 38.0:161.0, 39.0:161.0} --lumimethod=EXTERNAL --nMC=1 --trigger=L1_MBTS_2 --outfile=configLumi_run219114.py run219114.xml
+## Created on Tue May 20 18:26:16 2014
+####################
+#Run-dependent digi job configuration file.
+#RunDependentSimData/OverrideRunLBLumiDigitConfig.py
+
+# WARNING timestamps are derived ad hoc to put them outside run-1 or run-2 periods! 
+# This is based on assumptions for beta*=60cm collisions.
+
+#We need to be able to adjust for different dataset sizes.
+if not 'ScaleTaskLength' in dir():   ScaleTaskLength = 1
+_evts = lambda x: int(ScaleTaskLength * x)
+
+if not 'logging' in dir(): import logging
+digilog = logging.getLogger('Digi_trf')
+digilog.info('doing RunLumiOverride configuration from file.')
+JobMaker=[
+     {'run':300000, 'lb':1, 'starttstamp':1500000000, 'dt':0.000, 'evts':_evts(0), 'mu':0.5 , 'force_new':False},
+     {'run':300000, 'lb':2, 'starttstamp':1500000060, 'dt':0.000, 'evts':_evts(0), 'mu':1.5 , 'force_new':False},
+     {'run':300000, 'lb':3, 'starttstamp':1500000120, 'dt':0.000, 'evts':_evts(0), 'mu':2.5 , 'force_new':False},
+     {'run':300000, 'lb':4, 'starttstamp':1500000180, 'dt':0.000, 'evts':_evts(0), 'mu':3.5 , 'force_new':False},
+     {'run':300000, 'lb':5, 'starttstamp':1500000240, 'dt':0.000, 'evts':_evts(1), 'mu':4.5 , 'force_new':False},
+     {'run':300000, 'lb':6, 'starttstamp':1500000300, 'dt':0.000, 'evts':_evts(1), 'mu':5.5 , 'force_new':False},
+     {'run':300000, 'lb':7, 'starttstamp':1500000360, 'dt':0.000, 'evts':_evts(1), 'mu':6.5 , 'force_new':False},
+     {'run':300000, 'lb':8, 'starttstamp':1500000420, 'dt':0.000, 'evts':_evts(1), 'mu':7.5 , 'force_new':False},
+     {'run':300000, 'lb':9, 'starttstamp':1500000480, 'dt':0.000, 'evts':_evts(1), 'mu':8.5 , 'force_new':False},
+    {'run':300000, 'lb':10, 'starttstamp':1500000540, 'dt':0.000, 'evts':_evts(3), 'mu':9.5 , 'force_new':False},
+    {'run':300000, 'lb':11, 'starttstamp':1500000600, 'dt':0.000, 'evts':_evts(11), 'mu':10.5, 'force_new':False},
+    {'run':300000, 'lb':12, 'starttstamp':1500000660, 'dt':0.000, 'evts':_evts(17), 'mu':11.5, 'force_new':False},
+    {'run':300000, 'lb':13, 'starttstamp':1500000720, 'dt':0.000, 'evts':_evts(25), 'mu':12.5, 'force_new':False},
+    {'run':300000, 'lb':14, 'starttstamp':1500000780, 'dt':0.000, 'evts':_evts(30), 'mu':13.5, 'force_new':False},
+    {'run':300000, 'lb':15, 'starttstamp':1500000840, 'dt':0.000, 'evts':_evts(34), 'mu':14.5, 'force_new':False},
+    {'run':300000, 'lb':16, 'starttstamp':1500000900, 'dt':0.000, 'evts':_evts(35), 'mu':15.5, 'force_new':False},
+    {'run':300000, 'lb':17, 'starttstamp':1500000960, 'dt':0.000, 'evts':_evts(36), 'mu':16.5, 'force_new':False},
+    {'run':300000, 'lb':18, 'starttstamp':1500001020, 'dt':0.000, 'evts':_evts(40), 'mu':17.5, 'force_new':False},
+    {'run':300000, 'lb':19, 'starttstamp':1500001080, 'dt':0.000, 'evts':_evts(46), 'mu':18.5, 'force_new':False},
+    {'run':300000, 'lb':20, 'starttstamp':1500001140, 'dt':0.000, 'evts':_evts(47), 'mu':19.5, 'force_new':False},
+    {'run':300000, 'lb':21, 'starttstamp':1500001200, 'dt':0.000, 'evts':_evts(48), 'mu':20.5, 'force_new':False},
+    {'run':300000, 'lb':22, 'starttstamp':1500001260, 'dt':0.000, 'evts':_evts(49), 'mu':21.5, 'force_new':False},
+    {'run':300000, 'lb':23, 'starttstamp':1500001320, 'dt':0.000, 'evts':_evts(46), 'mu':22.5, 'force_new':False},
+    {'run':300000, 'lb':24, 'starttstamp':1500001380, 'dt':0.000, 'evts':_evts(49), 'mu':23.5, 'force_new':False},
+    {'run':300000, 'lb':25, 'starttstamp':1500001440, 'dt':0.000, 'evts':_evts(48), 'mu':24.5, 'force_new':False},
+    {'run':300000, 'lb':26, 'starttstamp':1500001500, 'dt':0.000, 'evts':_evts(55), 'mu':25.5, 'force_new':False},
+    {'run':300000, 'lb':27, 'starttstamp':1500001560, 'dt':0.000, 'evts':_evts(45), 'mu':26.5, 'force_new':False},
+    {'run':300000, 'lb':28, 'starttstamp':1500001620, 'dt':0.000, 'evts':_evts(44), 'mu':27.5, 'force_new':False},
+    {'run':300000, 'lb':29, 'starttstamp':1500001680, 'dt':0.000, 'evts':_evts(44), 'mu':28.5, 'force_new':False},
+    {'run':300000, 'lb':30, 'starttstamp':1500001740, 'dt':0.000, 'evts':_evts(40), 'mu':29.5, 'force_new':False},
+    {'run':300000, 'lb':31, 'starttstamp':1500001800, 'dt':0.000, 'evts':_evts(38), 'mu':30.5, 'force_new':False},
+    {'run':300000, 'lb':32, 'starttstamp':1500001860, 'dt':0.000, 'evts':_evts(34), 'mu':31.5, 'force_new':False},
+    {'run':300000, 'lb':33, 'starttstamp':1500001920, 'dt':0.000, 'evts':_evts(30), 'mu':32.5, 'force_new':False},
+    {'run':300000, 'lb':34, 'starttstamp':1500001980, 'dt':0.000, 'evts':_evts(27), 'mu':33.5, 'force_new':False},
+    {'run':300000, 'lb':35, 'starttstamp':1500002040, 'dt':0.000, 'evts':_evts(20), 'mu':34.5, 'force_new':False},
+    {'run':300000, 'lb':36, 'starttstamp':1500002100, 'dt':0.000, 'evts':_evts(13), 'mu':35.5, 'force_new':False},
+    {'run':300000, 'lb':37, 'starttstamp':1500002160, 'dt':0.000, 'evts':_evts(11), 'mu':36.5, 'force_new':False},
+    {'run':300000, 'lb':38, 'starttstamp':1500002220, 'dt':0.000, 'evts':_evts(8), 'mu':37.5, 'force_new':False},
+    {'run':300000, 'lb':39, 'starttstamp':1500002280, 'dt':0.000, 'evts':_evts(7), 'mu':38.5, 'force_new':False},
+    {'run':300000, 'lb':40, 'starttstamp':1500002340, 'dt':0.000, 'evts':_evts(6), 'mu':39.5, 'force_new':False},
+    {'run':300000, 'lb':41, 'starttstamp':1500002400, 'dt':0.000, 'evts':_evts(4), 'mu':40.5, 'force_new':False},
+    {'run':300000, 'lb':42, 'starttstamp':1500002460, 'dt':0.000, 'evts':_evts(2), 'mu':41.5, 'force_new':False},
+    {'run':300000, 'lb':43, 'starttstamp':1500002520, 'dt':0.000, 'evts':_evts(1), 'mu':42.5, 'force_new':False},
+    {'run':300000, 'lb':44, 'starttstamp':1500002580, 'dt':0.000, 'evts':_evts(1), 'mu':43.5, 'force_new':False},
+    {'run':300000, 'lb':45, 'starttstamp':1500002640, 'dt':0.000, 'evts':_evts(1), 'mu':44.5, 'force_new':False}
+    #--> end                                                                   
+]                                                                              
+                                                                               
+include('RunDependentSimData/configCommon.py')                                 
+                                                                               
+#cleanup python memory                                                         
+if not "RunDMC_testing_configuration" in dir():
+    del JobMaker
diff --git a/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run300000_mc16c.py b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run300000_mc16c.py
index 5bd6640eef29107fc87409c91aef363f884f1fd4..3d5c116abc52315ce5ea3148f0ce56ba70bb1f75 100644
--- a/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run300000_mc16c.py
+++ b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run300000_mc16c.py
@@ -17,7 +17,7 @@ if not 'logging' in dir(): import logging
 digilog = logging.getLogger('Digi_trf')
 digilog.info('doing RunLumiOverride configuration from file.')
 JobMaker=[
-     {'run':300000, 'lb':1, 'starttstamp':1500000000, 'dt':0.000, 'evts':_evts(0), 'mu':0.5 , 'force_new':False},
+     {'run':300000, 'lb':1, 'starttstamp':1500000000, 'dt':0.000, 'evts':_evts(1), 'mu':0.5 , 'force_new':False},
      {'run':300000, 'lb':2, 'starttstamp':1500000060, 'dt':0.000, 'evts':_evts(1), 'mu':1.5 , 'force_new':False},
      {'run':300000, 'lb':3, 'starttstamp':1500000120, 'dt':0.000, 'evts':_evts(1), 'mu':2.5 , 'force_new':False},
      {'run':300000, 'lb':4, 'starttstamp':1500000180, 'dt':0.000, 'evts':_evts(1), 'mu':3.5 , 'force_new':False},
@@ -27,7 +27,7 @@ JobMaker=[
      {'run':300000, 'lb':8, 'starttstamp':1500000420, 'dt':0.000, 'evts':_evts(1), 'mu':7.5 , 'force_new':False},
      {'run':300000, 'lb':9, 'starttstamp':1500000480, 'dt':0.000, 'evts':_evts(1), 'mu':8.5 , 'force_new':False},
     {'run':300000, 'lb':10, 'starttstamp':1500000540, 'dt':0.000, 'evts':_evts(1), 'mu':9.5 , 'force_new':False},
-    {'run':300000, 'lb':11, 'starttstamp':1500000600, 'dt':0.000, 'evts':_evts(1), 'mu':10.5, 'force_new':False},
+    {'run':300000, 'lb':11, 'starttstamp':1500000600, 'dt':0.000, 'evts':_evts(3), 'mu':10.5, 'force_new':False},
     {'run':300000, 'lb':12, 'starttstamp':1500000660, 'dt':0.000, 'evts':_evts(3), 'mu':11.5, 'force_new':False},
     {'run':300000, 'lb':13, 'starttstamp':1500000720, 'dt':0.000, 'evts':_evts(3), 'mu':12.5, 'force_new':False},
     {'run':300000, 'lb':14, 'starttstamp':1500000780, 'dt':0.000, 'evts':_evts(3), 'mu':13.5, 'force_new':False},
@@ -37,14 +37,14 @@ JobMaker=[
     {'run':300000, 'lb':18, 'starttstamp':1500001020, 'dt':0.000, 'evts':_evts(3), 'mu':17.5, 'force_new':False},
     {'run':300000, 'lb':19, 'starttstamp':1500001080, 'dt':0.000, 'evts':_evts(3), 'mu':18.5, 'force_new':False},
     {'run':300000, 'lb':20, 'starttstamp':1500001140, 'dt':0.000, 'evts':_evts(3), 'mu':19.5, 'force_new':False},
-    {'run':300000, 'lb':21, 'starttstamp':1500001200, 'dt':0.000, 'evts':_evts(3), 'mu':20.5, 'force_new':False},
+    {'run':300000, 'lb':21, 'starttstamp':1500001200, 'dt':0.000, 'evts':_evts(14), 'mu':20.5, 'force_new':False},
     {'run':300000, 'lb':22, 'starttstamp':1500001260, 'dt':0.000, 'evts':_evts(14), 'mu':21.5, 'force_new':False},
     {'run':300000, 'lb':23, 'starttstamp':1500001320, 'dt':0.000, 'evts':_evts(14), 'mu':22.5, 'force_new':False},
     {'run':300000, 'lb':24, 'starttstamp':1500001380, 'dt':0.000, 'evts':_evts(14), 'mu':23.5, 'force_new':False},
-    {'run':300000, 'lb':25, 'starttstamp':1500001440, 'dt':0.000, 'evts':_evts(14), 'mu':24.5, 'force_new':False},
+    {'run':300000, 'lb':25, 'starttstamp':1500001440, 'dt':0.000, 'evts':_evts(18), 'mu':24.5, 'force_new':False},
     {'run':300000, 'lb':26, 'starttstamp':1500001500, 'dt':0.000, 'evts':_evts(18), 'mu':25.5, 'force_new':False},
     {'run':300000, 'lb':27, 'starttstamp':1500001560, 'dt':0.000, 'evts':_evts(18), 'mu':26.5, 'force_new':False},
-    {'run':300000, 'lb':28, 'starttstamp':1500001620, 'dt':0.000, 'evts':_evts(18), 'mu':27.5, 'force_new':False},
+    {'run':300000, 'lb':28, 'starttstamp':1500001620, 'dt':0.000, 'evts':_evts(32), 'mu':27.5, 'force_new':False},
     {'run':300000, 'lb':29, 'starttstamp':1500001680, 'dt':0.000, 'evts':_evts(32), 'mu':28.5, 'force_new':False},
     {'run':300000, 'lb':30, 'starttstamp':1500001740, 'dt':0.000, 'evts':_evts(32), 'mu':29.5, 'force_new':False},
     {'run':300000, 'lb':31, 'starttstamp':1500001800, 'dt':0.000, 'evts':_evts(32), 'mu':30.5, 'force_new':False},
@@ -68,15 +68,15 @@ JobMaker=[
     {'run':300000, 'lb':49, 'starttstamp':1500002880, 'dt':0.000, 'evts':_evts(32), 'mu':48.5, 'force_new':False},
     {'run':300000, 'lb':50, 'starttstamp':1500002940, 'dt':0.000, 'evts':_evts(32), 'mu':49.5, 'force_new':False},
     {'run':300000, 'lb':51, 'starttstamp':1500003000, 'dt':0.000, 'evts':_evts(32), 'mu':50.5, 'force_new':False},
-    {'run':300000, 'lb':52, 'starttstamp':1500003060, 'dt':0.000, 'evts':_evts(32), 'mu':51.5, 'force_new':False},
+    {'run':300000, 'lb':52, 'starttstamp':1500003060, 'dt':0.000, 'evts':_evts(14), 'mu':51.5, 'force_new':False},
     {'run':300000, 'lb':53, 'starttstamp':1500003120, 'dt':0.000, 'evts':_evts(14), 'mu':52.5, 'force_new':False},
     {'run':300000, 'lb':54, 'starttstamp':1500003180, 'dt':0.000, 'evts':_evts(14), 'mu':53.5, 'force_new':False},
     {'run':300000, 'lb':55, 'starttstamp':1500003240, 'dt':0.000, 'evts':_evts(14), 'mu':54.5, 'force_new':False},
     {'run':300000, 'lb':56, 'starttstamp':1500003300, 'dt':0.000, 'evts':_evts(14), 'mu':55.5, 'force_new':False},
-    {'run':300000, 'lb':57, 'starttstamp':1500003360, 'dt':0.000, 'evts':_evts(14), 'mu':56.5, 'force_new':False},
-    {'run':300000, 'lb':58, 'starttstamp':1500003420, 'dt':0.000, 'evts':_evts(4), 'mu':57.5, 'force_new':False},
-    {'run':300000, 'lb':59, 'starttstamp':1500003480, 'dt':0.000, 'evts':_evts(4), 'mu':58.5, 'force_new':False},
-    {'run':300000, 'lb':60, 'starttstamp':1500003540, 'dt':0.000, 'evts':_evts(4), 'mu':59.5, 'force_new':False}
+    {'run':300000, 'lb':57, 'starttstamp':1500003360, 'dt':0.000, 'evts':_evts(3), 'mu':56.5, 'force_new':False},
+    {'run':300000, 'lb':58, 'starttstamp':1500003420, 'dt':0.000, 'evts':_evts(3), 'mu':57.5, 'force_new':False},
+    {'run':300000, 'lb':59, 'starttstamp':1500003480, 'dt':0.000, 'evts':_evts(3), 'mu':58.5, 'force_new':False},
+    {'run':300000, 'lb':60, 'starttstamp':1500003540, 'dt':0.000, 'evts':_evts(3), 'mu':59.5, 'force_new':False}
     #--> end                                                                   
 ]                                                                              
                                                                                
diff --git a/TileCalorimeter/TileExample/TileRecEx/share/RecoCalibRun b/TileCalorimeter/TileExample/TileRecEx/share/RecoCalibRun
index 84dbd7d3e11dfc1e9c0e3638adb7c1e09edcfb63..4732113c7dbd3a677c1212cf8434433f32cb0c7c 100755
--- a/TileCalorimeter/TileExample/TileRecEx/share/RecoCalibRun
+++ b/TileCalorimeter/TileExample/TileRecEx/share/RecoCalibRun
@@ -4,9 +4,17 @@ disp=false
 castor=false
 team5=false
 calnt=false
+nocopy=false
 
 command=""
 
+if [ $1 = "-nn" ]
+    then
+    echo Will not copy results anywhere
+    nocopy=yes
+	shift
+fi
+
 if [ $1 = "-o" ]
     then
     command="$2"
@@ -113,7 +121,6 @@ version=$4
 dir=$5
 jo=$6
 
-year=2012
 if [ $run -lt 100000 ]
 then year=2008
 elif [ $run -lt 142682 ]
@@ -122,14 +129,37 @@ elif [ $run -lt 171194 ]
 then year=2010
 elif [ $run -lt 194688 ]
 then year=2011
+elif [ $run -lt 216816 ]
+then year=2012
+elif [ $run -lt 224305 ]
+then year=2013
+elif [ $run -lt 248584 ]
+then year=2014
+elif [ $run -lt 287952 ]
+then year=2015
+elif [ $run -lt 314450 ]
+then year=2016
+else year=`date "+%Y"`
 fi
 
-rundate=`/usr/bin/mysql -u reader -h pcata007.cern.ch -NB -e "select date from tile.comminfo where run=$run and setup!='ATLAS'"`
-if [ ! -z "$rundate" ] 
+if [ $run -lt 238000 ]
 then
-   timestamp=`/bin/date --date="$rundate" "+%s"`
-   command="ForceTimeStamp=$timestamp; $command"
-fi 
+     rundate=`/usr/bin/mysql -u reader -h pcata007.cern.ch -NB -e "select date from tile.comminfo where run=$run and setup!='ATLAS'"`
+     if [ ! -z "$rundate" ] 
+     then
+          timestamp=`/bin/date --date="$rundate" "+%s"`
+          command="ForceTimeStamp=$timestamp; $command"
+     fi
+fi
+#if [ $type = "L1calo" ] || [ $type = "L1Calo" ] || [ $type = "l1calo" ] 
+#then
+#     rundate=`/usr/bin/mysql -u reader -h pcata007.cern.ch -NB -e "select date from tile.comminfo where run=$run"`
+#     if [ ! -z "$rundate" ] 
+#     then
+#          timestamp=`/bin/date --date="$rundate" "+%s"`
+#          command="ForceTimeStamp=$timestamp; $command"
+#     fi
+#fi
 
 castorloc=`echo $castorloc | sed "s|year|$year|g"`
 
@@ -154,13 +184,13 @@ elif [ $type = "Ped" ] || [ $type = "PED" ]
     command="TilePedRun=True; $command"
 
 elif [ $type = "MonoCis" ] || [ $type = "MonoCIS" ] 
-    then type="MonoCis"
-    echo "MonoCis run"
+    then type="MonoCIS"
+    echo "MonoCIS run"
     command="TileMonoRun=True; $command"
 
 elif [ $type = "RampCis" ] || [ $type = "RampCIS" ] 
-    then type="RampCis"
-    echo "RampCis run"
+    then type="RampCIS"
+    echo "RampCIS run"
     command="TileRampRun=True; $command"
 
 elif [ $type = "L1calo" ] || [ $type = "L1Calo" ] 
@@ -169,7 +199,7 @@ elif [ $type = "L1calo" ] || [ $type = "L1Calo" ]
     command="TileL1CaloRun=True; $command"
 
 else
-    echo "Invalid Run Type.  Please choose from: Phys, Las, Ped, CIS, MonoCis, RampCis, L1Calo"
+    echo "Invalid Run Type.  Please choose from: Phys, Las, Ped, CIS, MonoCIS, RampCIS, L1Calo"
     echo "Exiting"
     exit
 fi
@@ -182,9 +212,14 @@ version=$type.$version
 
 command="Version=\"$version\" ; RunNumber=$run ; $command"
 
+josuf=`basename $jo .py`
+jonam=`basename $jo`
 if [ X$jo = "X" ] || [ X$jo = "XX" ]  
     then
     jo="jobOptions_TileCalibRec.py"
+elif [ "$josuf" = "$jonam" ]
+    then
+    jo="jobOptions_TileCalibRec_${josuf}.py"
 fi
 
 if [ X$events = "X" ] 
@@ -221,26 +256,39 @@ fi
 tuple_name="tileD3PD_${run}_${version}.root"
 echo "tuple_name=\"$tuple_name\""
 echo "tuple_name=\"$tuple_name\"" >> $outdir/jo.py
+histo_name="tilemon_${run}_${version}.root"
+echo "histo_name=\"$histo_name\""
+echo "histo_name=\"$histo_name\""  >> $outdir/jo.py
 
-athena.py -s $outdir/jo.py $jo
+athena.py -s $outdir/jo.py $jo | tee athena.log
 
 ls -al
 ls -al $outdir
 
-if [ $team5 = "yes" ]
+if [ $nocopy = "yes" ]
     then
-    echo Copying Team5 plots to $team5loc
-    RUN=`echo $run | awk '{printf "r%5.5d",$1}'`
-    tmpdir="$RUN.$type"
-    mkdir $tmpdir
-    files=(`/bin/ls -1 . | grep -e "\.ps" -e "\.png" `)
-    for file in ${files[@]}
-      do
-      /bin/mv $file $tmpdir
-    done
-    /usr/bin/rsync -auv -e ssh $tmpdir $team5loc/
+    echo Will not copy results anywhere
+    exit
 fi
 
+if [ $USER = tilebeam ]
+then mv athena.log /afs/cern.ch/user/t/tilecomm/w0/commissioning/lsflog/all/${run}_${version}.log
+fi
+
+#if [ $team5 = "yes" ]
+#    then
+#    echo Copying Team5 plots to $team5loc
+#    RUN=`echo $run | awk '{printf "r%5.5d",$1}'`
+#    tmpdir="$RUN.$type"
+#    mkdir $tmpdir
+#    files=(`/bin/ls -1 . | grep -e "\.ps" -e "\.png" `)
+#    for file in ${files[@]}
+#      do
+#      /bin/mv $file $tmpdir
+#    done
+#    /usr/bin/rsync -auv -e ssh $tmpdir $team5loc/
+#fi
+
 if [ $calnt = "yes" ]
     then
     files=`find . -name "*Calib*.root"`
@@ -319,16 +367,24 @@ if [ $castor = "yes" ]
     for file in ${files[@]}
       do
       echo Copying $file to ${castorloc}
-      ret=`xrd eosatlas existdir $castorloc | grep not`
+      ret=`xrdfs eosatlas stat $castorloc 2>&1 | grep ERROR`
       if [ ! -z "$ret" ] 
-          then xrd eosatlas mkdir ${castorloc}
+          then xrdfs eosatlas mkdir ${castorloc}
       fi 
-      #ret=`xrd eosatlas existfile $castorloc/$file | grep exist`
-      #if [ ! -z "$ret" ]
-      #then xrd eosatlas rm $castorloc/$file 
+      #ret=`xrdfs eosatlas stat $castorloc/$file 2>&1 | grep ERROR`
+      #if [ -z "$ret" ]
+      #then xrdfs eosatlas rm $castorloc/$file 
       #fi
       try=0;
-      until (xrdcp -f -s $outdir/$file root://eosatlas/${castorloc}/); do let try=$try+1; if [ $try -gt 100 ]; then echo "All $try tries failed, exiting"; break; else echo "Try $try - copy failed, trying again"; xrd eosatlas rm $castorloc/$file; fi; done
+      until (xrdcp -f -s $outdir/$file root://eosatlas/${castorloc}/$file)
+      do let try=$try+1
+         if [ $try -gt 100 ]
+         then echo "All $try tries failed, exiting"
+              break
+         else echo "Try $try - copy failed, trying again"
+              xrdfs eosatlas rm $castorloc/$file
+         fi
+      done
     done
 
 fi
diff --git a/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileCalibRec.py b/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileCalibRec.py
index 13d66732dd0e898a3ee112e10ae27f0be66a0512..a6966b27a0e121c5369aee40ebca68e39cd8f374 100644
--- a/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileCalibRec.py
+++ b/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileCalibRec.py
@@ -255,7 +255,7 @@ def FindFile(path, runinput, filter):
         if RunFromLocal:
             files = check_output('ls %(path)s | grep %(run)s | grep %(filt)s' % {'path': path, 'run':run, 'filt':filter}, shell = True).splitlines()
         elif (path.startswith('/eos/')):
-            files = check_output('xrd eosatlas dirlist %(path)s | grep %(run)s | grep -v -e "          [ 0-9][ 0-9][0-9] " | grep %(filt)s | sed "s|^.*/||" ' % {'path':path, 'run':run, 'filt':filter}, shell = True).splitlines()
+            files = check_output('xrdfs eosatlas ls -l %(path)s | grep %(run)s | grep -v "#" | grep -v -e "         [ 0-9][ 0-9][0-9] " | grep %(filt)s | sed "s|^.*/||" ' % {'path':path, 'run':run, 'filt':filter}, shell = True).splitlines()
         else:
             if (TilePhysRun and RunNumber > 28000 and RunNumber < 40000):
                 files = check_output('nsls -l %(path)s | grep %(run)s | grep -v -e "               [ 0-9][ 0-9][0-9] " -e "hlterror" | grep %(filt)s | grep -e "b0000[01][01][01][01]" -e "physics.cosmics" | cut -c66- ' % {'path': path, 'run':run, 'filt':filter  }, shell = True).splitlines()
diff --git a/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBDump.py b/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBDump.py
index d0bb42ac76246f6ca415a3dfc9a6226cfef35c63..6d51243c30f59ef41ebcb6980f8d8d959184ddcd 100644
--- a/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBDump.py
+++ b/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBDump.py
@@ -163,7 +163,7 @@ def FindFile(path, runinput, filter):
         if RunFromLocal:
             files = check_output('ls %(path)s | grep %(run)s | grep %(filt)s' % {'path': path, 'run':run, 'filt':filter}, shell = True).splitlines()
         elif (path.startswith('/eos/')):
-            files = check_output('xrd eosatlas dirlist %(path)s | grep %(run)s | grep -v "#" | grep -v -e "          [ 0-9][ 0-9][0-9] " | grep %(filt)s | sed "s|^.*/||" ' % {'path':path, 'run':run, 'filt':filter}, shell = True).splitlines()
+            files = check_output('xrdfs eosatlas ls -l %(path)s | grep %(run)s | grep -v "#" | grep -v -e "         [ 0-9][ 0-9][0-9] " | grep %(filt)s | sed "s|^.*/||" ' % {'path':path, 'run':run, 'filt':filter}, shell = True).splitlines()
         else:
             files = check_output('nsls %(path)s | grep %(run)s | grep -v -e "               [ 0-9][ 0-9][0-9] " | grep %(filt)s ' % {'path': path, 'run':run, 'filt':filter  }, shell = True).splitlines()
 
diff --git a/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBStat.py b/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBStat.py
index 504299e6eac4987df1932553978fe4ef50ca5e17..6d04efff21e244996ba395b2e28aff74bdb51d10 100644
--- a/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBStat.py
+++ b/TileCalorimeter/TileExample/TileRecEx/share/jobOptions_TileTBStat.py
@@ -163,7 +163,7 @@ def FindFile(path, runinput, filter):
         if RunFromLocal:
             files = check_output('ls %(path)s | grep %(run)s | grep %(filt)s' % {'path': path, 'run':run, 'filt':filter}, shell = True).splitlines()
         elif (path.startswith('/eos/')):
-            files = check_output('xrd eosatlas dirlist %(path)s | grep %(run)s | grep -v "#" | grep -v -e "          [ 0-9][ 0-9][0-9] " | grep %(filt)s | sed "s|^.*/||" ' % {'path':path, 'run':run, 'filt':filter}, shell = True).splitlines()
+            files = check_output('xrdfs eosatlas ls -l %(path)s | grep %(run)s | grep -v "#" | grep -v -e "         [ 0-9][ 0-9][0-9] " | grep %(filt)s | sed "s|^.*/||" ' % {'path':path, 'run':run, 'filt':filter}, shell = True).splitlines()
         else:
             files = check_output('nsls %(path)s | grep %(run)s | grep -v -e "               [ 0-9][ 0-9][0-9] " | grep %(filt)s ' % {'path': path, 'run':run, 'filt':filter  }, shell = True).splitlines()
 
diff --git a/TileCalorimeter/TileExample/TileSimEx/doc/mainpage.h b/TileCalorimeter/TileExample/TileSimEx/doc/mainpage.h
new file mode 100644
index 0000000000000000000000000000000000000000..56633d55f7e154b7bd66257d67cf7c06dd9ba1b4
--- /dev/null
+++ b/TileCalorimeter/TileExample/TileSimEx/doc/mainpage.h
@@ -0,0 +1,229 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+
+@mainpage TileSimEx Package
+ 
+This package contains examples of jobOptions for TileCal standalone simulation and digitization. Also an example of Tile digitization for the full ATLAS set-up is shown.
+
+After the TB simulation job POOL file with hits is created, after digitization job (TB or ATLAS setup) two files are created: POOL file with digits and ROOT file with h32 hit ntuple and with usual h1000 TileCal testbeam ntuple. 
+
+@author Alexander Solodkov <Sanya.Solodkov@cern.ch>
+
+@tableofcontents
+
+@section TileSimExJobOptions JobOptions parameters
+
+jobOptions_TileTB_Sim.py:
+
+  - EvtMax
+
+      Number of events to generate
+  - FileSuffix
+
+    Suffix for output files, default is empty suffix and name of output file is tiletb.HITS.pool.root
+  - Geo
+
+      Three Options: '2B2EB' for two barrel modules and two extended barrel modules, '3B' for three barrel modules or '5B' for five barrel modules. 
+  - Eta
+
+       Use only for eta-projective scans. This is the default option with eta set to 0.35. 
+  - Theta
+
+       Angle between beam axis and symmetry axis of the module (eta=0.0 direction). Can be used instead of Eta. 
+       Positive value of Theta corresponds to negative eta direction.
+
+       Set to +/- 90 for beam entering the side of the module (with positive theta beam entering the positive eta side). 
+  - Z
+
+       For small Theta angles - coordiate at the front face of the calorimeter where beam eters the module (in mm)
+
+       For +/-90 degrees scan Z is the distance from the center of ATLAS (in mm). The sensitive part of the detector start at Z=2300 and ends at Z = 2300 + 3*100 + 3*130 + 3*150 + 2*190 = 3820.
+
+       Center of the 2nd tile is at Z = 2300 + 100 + 100/2 = 2450;
+
+       center of the 5th tile is at Z = 2300 + 3*100 + 130 + 130/2 = 2795;
+
+       center of the 10th tile is at Z= 2300 + 3*100 + 3*130 + 3*150 + 190/2 = 3535 
+  - Y
+
+       Y is the vertical distance (in mm) from the center of the middle module (above > 0, below < 0). 
+  - Phi
+
+       To rotate the table to top/bottom module (default is middle). 
+
+  - PID
+
+       Set the particle type according to its PDG code (e.g 11 - electrons, 211 - positive pions). 
+  - E
+
+       Set the beam energy (in MeV). 
+  - Ybeam
+
+       Set the beam coordinates in Y, by default [-20,20] - uniform distribution from -20 to 20 mm
+  - Zbeam
+
+       Set the beam coordinates in Z, by default [-15,15] - uniform distribution from -15 to 15 mm
+
+  - TileUshape
+      
+      Set up U-shape to be used
+
+jobOptions_Tile_Dig.py
+
+  - TileTB
+
+    If True, digitization of testbeam configuration,  otherwise digitization of full ATLAS
+
+  - FileSuffix
+
+    Suffix for input and all output files, default is empty suffix
+
+  - PoolHitsInput
+
+    Input file name with hits (by default: HITS.pool.root or tiletb.HITS.pool.root if TileTB=True)
+
+  - PoolRDOOutput
+
+    Output file name (by default: DIGITS.pool.root or tiletb.DIGITS.pool.root if TileTB=True)
+
+  - D3PDOutput
+
+    Output D3PD file name (by default: tile.d3pd.root or tiletb.d3pd.root if TileTB=True)
+
+  - AANTOutput
+
+    Output file name for h1000/h2000 ntuple (by default: tile.aant.root or tiletb.aant.root if TileTB=True)
+
+  - NTUPOutput
+
+    Output file name for h32 ntuple with hits (by default: tile.ntup.root or tiletb.ntup.root if TileTB=True)
+
+  - DetGeo
+
+    By default 'atlas' or 'ctbh8' if TileTB=True
+
+  - DetDescrVersion
+
+    Detector description version
+
+  - ConddbTag
+
+    Global conditions tag
+
+  - doD3PD
+
+    Produce D3PD
+
+  - doD3PDHitInfo
+
+    Save hit information into D3PD
+
+  - doD3PDHit
+
+    Save hits into D3PD
+
+  - doD3PDCellInfo
+
+    Save cell info into D3PD
+
+  - doD3PDCell
+
+    Save cells into D3PD
+
+  - doD3PDDigit
+
+    Save digits into D3PD
+
+  - doD3PDRawChannel
+
+    Save raw channels into D3PD
+
+  - doD3PDMBTS
+
+    Save MBTS into D3PD
+
+  - doTileNtuple
+
+    Create TileCal h2000 ntuple with raw channels
+
+  - doHitNtuple
+
+    Create TileCal h32 ntuple with all G4 hits
+
+  - doRawChannelNtuple
+
+
+@section SamplingFraction How to extract the sampling fraction value
+
+ -  Running simulation in Athena
+
+ -  Digitization, ntuple making in Athena
+
+ -  Calculating sampling fraction in ROOT
+
+
+@subsection SamplingFractionSimulation Simulation:
+
+   jobOptions_TileTB_Sim.py:
+
+   - test beam setup with 5 barrels, 100 GeV electrons at eta = 0.35
+
+   - FTFP_BERT Physics List (used by default)
+
+   - 10000 or 20000 events
+
+   - TileUshape=1 
+    
+       U-shape table to be used (change to the required value)
+
+   - Output file with HITS: 
+ 
+       tiletb.HITS.pool.root
+
+  - Example:
+
+      athena.py -c 'EvtMax=10000; Eta=0.35; TileUshape=1;' TileSimEx/jobOptions_TileTB_Sim.py
+
+@subsection SamplingFractionDigitization Digitization & Ntuple creation
+
+jobOptions_Tile_Dig.py
+
+  - Input file (HITS file from simulation step):
+  
+     tiletb.HITS.pool.root
+
+  - TileTB = True:
+    
+    Set up digitization to produce ntuples needed for sampling fraction calculation
+
+  - Output files (both files needed):
+
+      tiletb.d3pd.root with tree called "truth" - truth information about particles
+
+      tiletb.ntup.root with tree called "h32" - hit information
+
+  - Example:
+
+      athena.py -c 'TileTB=True;' TileSimEx/jobOptions_Tile_Dig.py
+
+@subsection SamplingFractionCalculation Sampling fraction calculation
+
+  - tile_sf.C
+
+    - Input files (produced in digitization step):
+
+        tiletb.ntup.root
+
+        tiletb.d3pd.root
+
+    - one should check the file names file_hit and file_truth in ROOT macro
+
+  - Example ( 1/SF value on the last line of the print-out):
+
+      root -l tile_sf.C("")
+
+
+*/
diff --git a/TileCalorimeter/TileExample/TileSimEx/scripts/GraphToolKit.h b/TileCalorimeter/TileExample/TileSimEx/scripts/GraphToolKit.h
index 677a26914e172814de888db3ffbd45a0e084a80f..37bf4f9bd42a7edaee48c128f2760de5af84eea7 100644
--- a/TileCalorimeter/TileExample/TileSimEx/scripts/GraphToolKit.h
+++ b/TileCalorimeter/TileExample/TileSimEx/scripts/GraphToolKit.h
@@ -774,43 +774,7 @@ bool logx=false, bool toplogy=false, bool bottomlogy=false, bool isrectangle=fal
   SetMGraphAttributes(bottommg, 0.12, 1.4, 0.1, 0.12, 0.7, 0.1) ;
   bottommg->GetXaxis()->SetTitle(bottomgre1->GetXaxis()->GetTitle()) ;
   bottommg->GetYaxis()->SetTitle(bottomgre1->GetYaxis()->GetTitle()) ;
-/*  if(canvasname.find("pi")!=std::string::npos)
-  {
-    if(canvasname.find("LateralSpread")!=std::string::npos)
-    {
-      bottommg->GetYaxis()->SetRangeUser(0.76, 1.16) ;
-      bottommg->GetYaxis()->SetNdivisions(508) ;
-    }
-    if(canvasname.find("Resolution")!=std::string::npos)
-    {
-      bottommg->GetYaxis()->SetRangeUser(0.91, 1.21) ;
-      bottommg->GetYaxis()->SetNdivisions(506) ;
-    }
-    if(canvasname.find("Response")!=std::string::npos)
-    {
-      bottommg->GetYaxis()->SetRangeUser(0.96, 1.16) ;
-      bottommg->GetYaxis()->SetNdivisions(504) ;
-    }
-  }
-  else
-  {
-    if(canvasname.find("LateralSpread")!=std::string::npos)
-    {
-      bottommg->GetYaxis()->SetRangeUser(0.94, 1.39) ;
-      bottommg->GetYaxis()->SetNdivisions(509) ;
-    }
-    if(canvasname.find("Resolution")!=std::string::npos)
-    {
-      bottommg->GetYaxis()->SetRangeUser(0.81, 1.21) ;
-      bottommg->GetYaxis()->SetNdivisions(508) ;
-    }
-    if(canvasname.find("Response")!=std::string::npos)
-    {
-      bottommg->GetYaxis()->SetRangeUser(0.91, 1.26) ;
-      bottommg->GetYaxis()->SetNdivisions(507) ;
-    }
-  }
-*/
+
   c->Update() ;
   c->Print((canvasname+".eps").c_str()) ;
   c->Print((canvasname+".pdf").c_str()) ;
diff --git a/TileCalorimeter/TileExample/TileSimEx/scripts/ReadMe b/TileCalorimeter/TileExample/TileSimEx/scripts/ReadMe
index 1e85329a38d28a67abd660bffb8f50380450e42c..a4c8ee76a938f69272b6aa4e3983d19dd184ccd1 100644
--- a/TileCalorimeter/TileExample/TileSimEx/scripts/ReadMe
+++ b/TileCalorimeter/TileExample/TileSimEx/scripts/ReadMe
@@ -1,80 +1,113 @@
-                           Simulation Tasks
+###                           Simulation Tasks
 
-Set up enviroment:
+* Set up enviroment:
 
-  setupATLAS
-  asetup 20.3.7.4,here # you can update the athena release
+  setupATLAS  
+  asetup 20.3.7.7,here # _ you can update the athena release _
 
-Get and compile running packages:
+* Get and compile running packages:
 
-  # Get G4AtlasApps: Geant4 ATLAS simulation Applications
-  pkgco.py G4AtlasApps-00-11-00-20 # you can update the G4AtlasApps release
-  cd Simulation/G4Atlas/G4AtlasApps/cmt
-  gmake # compile the package
-  cd -  # go back to the working directory
+  * Get G4AtlasApps: Geant4 ATLAS simulation Applications
+    
+    pkgco.py G4AtlasApps-00-11-00-20 # _ you can update the G4AtlasApps release _  
+    cd Simulation/G4Atlas/G4AtlasApps/cmt  
+    gmake # _ compile the package _  
+    cd -  # _ go back to the working directory _  
 
-  # Get the package of Tile Simulation
-  pkgco.py TileSimEx
-  cd TileCalorimeter/TileExample/TileSimEx/cmt
-  make # compile the package
-  cd ../run
-  # put simulation and digization jobs(myjob_sim.py and myjob_dig) 
-  # and bash script of submitting jobs(sub_jobs.sh) in directory "run"
+  * Get the package of Tile Simulation  
 
-    myjob_sim.py: job options of simulation
+    pkgco.py TileSimEx  
+    cd TileCalorimeter/TileExample/TileSimEx/cmt  
+    make # _ compile the package _  
+    cd ../run  
 
-    myjob_dig.py: job option of digitization
+* Put simulation and digization jobs (myjob_sim.py and myjob_dig)
+  and bash script of submitting jobs (sub_jobs.sh) in directory "run"  
 
-    sub_jobs.sh:
+    * myjob_sim.py: job options of simulation
 
-      Submit the simulation job and digitization job of different types of particles with different beam energies and physics lists in a loop. This bash script will configure myjob_sim.py and myjob_dig.py first, then call the configured job options.
+    * myjob_dig.py: job option of digitization
 
-                          Analysize MC
+    * sub_jobs.sh:
 
-4 variables are used in analysise:
- Energy response and resolution are defined as the peak/beam energy and σ/peak of a Gaussian fit to the total energy distribution in the range of -2σ to 2σ around the peak.
- Lateral spread is defined as the mean energy deposit in barrel module 0 / the mean energy deposit in the production module.
- Longitudinal shower profiles for pions and protons represent the mean energy as a function of the depth. The depth is taken to be the size of the B sub-cell, since most of the energy is deposited here.
+      Submit the simulation job and digitization job of different types
+      of particles with different beam energies and physics lists in a loop. 
+      This bash script will configure myjob_sim.py and myjob_dig.py first,
+      then call the configured job options.
 
-GetEnergy.cxx:
 
-  run by command: root -l -b -q GetEnergy.cxx
-  This script will loop and types of particles, beam energies and physics lists.
+###                          Analyse MC
 
-    Get the total energy, energy in Cental Barrel Module, Barrel Module 0 and Extended Barrel Modules.
-    Get the longitudinal distribution-the mean energy as a function of the depth
+* Several variables are used in analysis:
 
-makePlot.py: Be careful that data of proton only has 3 beam energies.
+ * Energy response and resolution are defined as the peak/beam energy and
+   sigma/peak of a Gaussian fit to the total energy distribution in the range
+   of -2sigma to 2sigma around the peak.  
+ * Lateral spread is defined as the mean energy deposit in barrel module 0
+   divided by the mean energy deposit in the production module.  
+ * Longitudinal shower profiles for pions and protons represent the mean energy
+   as a function of the depth. The depth is taken to be the size of 
+   the B sub-cell, since most of the energy is deposited here.
 
-  GetPlotSingleProperty(): Get energy response, energy resolution, lateral spread and longitudinal profile of each type of particle, each physics list and each beam energy. And plot the energy response, energy resolution, lateral spread of each physics lists and each particle type, plot the longitudinal profile of each type of particle, each physics list and each beam energy.
 
-  GetDataPlotSingleProperty(): Get energy response, energy resolution, lateral spread and longitudinal profile of data, and plot them.
+* ** GetEnergy.cxx: **
 
-  ComDataMC(): Compare MC results with data, get the ratio of MC to data. Draw all MC, data and their ratio on one plot.(energy response and resolution, lateral spread and longitudinal spread)
+  * run by command:  
+    root -l -b -q GetEnergy.cxx  
 
-  ComparePhysicsList(): Draw all MC results, data results on one plot.(energy response and resolution, lateral spread)
+  * This script will loop and types of particles,
+    beam energies and physics lists.  
+
+  * Get the total energy, energy in Cental Barrel Module, 
+    Barrel Module 0 and Extended Barrel Modules.  
+
+  * Get the longitudinal distribution-the mean energy as a function
+    of the depth  
+
+
+* ** makePlot.py: ** Be careful that data of proton only has 3 beam energies.
+
+  * GetPlotSingleProperty(): Get energy response, energy resolution,
+    lateral spread and longitudinal profile of each type of particle, 
+    each physics list and each beam energy. And plot the energy response, 
+    energy resolution, lateral spread of each physics lists and each 
+    particle type, plot the longitudinal profile of each type of particle, 
+    each physics list and each beam energy.  
+
+  * GetDataPlotSingleProperty(): Get energy response, energy resolution,
+    lateral spread and longitudinal profile of data, and plot them.  
+
+  * ComDataMC(): Compare MC results with data, get the ratio of MC to data.
+    Draw all MC, data and their ratio on one plot.(energy response and 
+    resolution, lateral spread and longitudinal spread)  
+
+  * ComparePhysicsList(): Draw all MC results, data results on one plot.
+    (energy response and resolution, lateral spread)  
   
 
-Auxiliary scripts: HistToolKit.h, SetAttributes.h and GraphToolKit.h
-
-set the standard format of histograms, grapherrors ......
-draw several hitograms or grapherrors on the same canvas,
-......
-
-HistToolKit.h:
-  bookTH1F() : create hitogram
-  DrawSingleHistOnCanvas(): draw single histogram
-  DrawThreeHistsOnCanvas(): draw three histograms on one canvas
-  DrawFourHistsOnCanvas(): draw four histograms on one canvas
-  DrawFourHistsOnCanvas(): draw five histograms on one canvas
-  DrawTopFiveHistsAndBottomFourHistsOnCanvas(): 
-    draw five histograms on top and four on bottom.
-
-GraphToolKit.h:
-  DrawSingleGraphErrorsOnCanvas(): draw single grapherrors on one canvas
-  DrawTwoGraphErrorsOnCanvas(): draw two grapherrors on one canvas
-  DrawThreeGraphErrorsOnCanvas(): draw three grapherrors on one canvas
-  DrawFourGraphErrorsOnCanvas(): draw four grapherrors on one canvas
-  DrawFiveGraphErrorsOnCanvas(): draw five grapherrors on one canvas
-  DrawTopFiveGraphErrorsAndBottomFourGraphErrorsOnCanvas():
-    draw five grapherrors on top and four on bottom.
+* Auxiliary scripts: ** HistToolKit.h, SetAttributes.h and GraphToolKit.h **
+
+  * set the standard format of histograms, grapherrors ......  
+  * draw several hitograms or grapherrors on the same canvas
+
+
+* ** HistToolKit.h: **
+
+  * bookTH1F() : create hitogram  
+  * DrawSingleHistOnCanvas(): draw single histogram  
+  * DrawThreeHistsOnCanvas(): draw three histograms on one canvas  
+  * DrawFourHistsOnCanvas(): draw four histograms on one canvas  
+  * DrawFourHistsOnCanvas(): draw five histograms on one canvas  
+  * DrawTopFiveHistsAndBottomFourHistsOnCanvas(): 
+    draw five histograms on top and four on bottom.  
+
+
+* ** GraphToolKit.h: **
+
+  * DrawSingleGraphErrorsOnCanvas(): draw single grapherrors on one canvas  
+  * DrawTwoGraphErrorsOnCanvas(): draw two grapherrors on one canvas  
+  * DrawThreeGraphErrorsOnCanvas(): draw three grapherrors on one canvas  
+  * DrawFourGraphErrorsOnCanvas(): draw four grapherrors on one canvas  
+  * DrawFiveGraphErrorsOnCanvas(): draw five grapherrors on one canvas  
+  * DrawTopFiveGraphErrorsAndBottomFourGraphErrorsOnCanvas():
+    draw five grapherrors on top and four on bottom.  
diff --git a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h
index 2686f42d8b12f04acbe1682bea6cae45b78f03d4..da11dcbec2b2e0494f1f09aa16b086e33a30fcb9 100644
--- a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h
+++ b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h
@@ -100,6 +100,9 @@ namespace Trk
     /** Access to the Surface method */
     virtual const S& associatedSurface() const override;
 
+    /** Test to see if there's a surface there. */
+    virtual bool hasSurface() const override { return true; }
+
     /** Return the measurementFrame of the parameters */
     virtual const Amg::RotationMatrix3D measurementFrame() const override;
 
diff --git a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/MultiParametersT.h b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/MultiParametersT.h
index d10a7232ef63b5a5093e95e5b95b3af3dfcae8e4..5ffb629d2b0f9289841a8b6c79518332941d9de8 100644
--- a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/MultiParametersT.h
+++ b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/MultiParametersT.h
@@ -85,6 +85,9 @@ namespace Trk
     /** Access to the Surface method */
     virtual const Surface& associatedSurface() const override;
       
+    /** Test to see if there's a surface there. */
+    virtual bool hasSurface() const override { return true; }
+
     /** Return the measurement frame - this is needed for alignment, in particular for StraightLine and Perigee Surface
 	- the default implementation is the the RotationMatrix3D of the transform */
     virtual const Amg::RotationMatrix3D measurementFrame() const override;
diff --git a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.h b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.h
index 8b6e1f244bfea38f199c4fe7ee8b16a2c66a36b9..42b1e854d1633cdc75edc76c9fd2a6101e181241 100644
--- a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.h
+++ b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.h
@@ -120,7 +120,7 @@ namespace Trk
     virtual const S& associatedSurface() const override {return *m_surface;}    
   
     /** Test to see if there's a surface there. */
-    bool hasSurface() const { return m_surface != nullptr; }
+    virtual bool hasSurface() const { return m_surface != nullptr; }
 
     /** Access method for the position */
     virtual const Amg::Vector3D& position() const final {return m_position;}
diff --git a/Trigger/TrigAlgorithms/TrigmuRoI/src/TrigmuRoI.cxx b/Trigger/TrigAlgorithms/TrigmuRoI/src/TrigmuRoI.cxx
index d6df02455bcd4b409c0313e435e0a21009edffa7..c4234764f2813997c8ddabb602e05e120b1232af 100644
--- a/Trigger/TrigAlgorithms/TrigmuRoI/src/TrigmuRoI.cxx
+++ b/Trigger/TrigAlgorithms/TrigmuRoI/src/TrigmuRoI.cxx
@@ -60,7 +60,7 @@ TrigmuRoI::TrigmuRoI(const std::string& name, ISvcLocator* pSvcLocator)
 
 HLT::ErrorCode TrigmuRoI::hltInitialize()
 {
-  m_log.setLevel(outputLevel());
+  m_log.setLevel(msgLevel());
 
   m_log << MSG::INFO << "initialize()" << endmsg;
 
diff --git a/Trigger/TrigAnalysis/TrigBunchCrossingTool/src/MCBunchCrossingTool.cxx b/Trigger/TrigAnalysis/TrigBunchCrossingTool/src/MCBunchCrossingTool.cxx
index 719350bf04404b59fe47fe79388bda0502fbadb7..a0797e432f0ff6a1624cab5756f35dc1a4e11636 100644
--- a/Trigger/TrigAnalysis/TrigBunchCrossingTool/src/MCBunchCrossingTool.cxx
+++ b/Trigger/TrigAnalysis/TrigBunchCrossingTool/src/MCBunchCrossingTool.cxx
@@ -349,9 +349,9 @@ namespace Trig {
 
       // Check if we found the metadata:
       if( ! bunches.size() ) {
-         ATH_MSG_WARNING( "Bunch structure information not found in: "
+         ATH_MSG_INFO( "Bunch structure information not found in: "
                           << MC_DIGI_PARAM );
-         ATH_MSG_WARNING( "Tool will report all BCIDs as single filled bunches" );
+         ATH_MSG_INFO( "Tool will report all BCIDs as single filled bunches" );
          m_isConfigured = false;
 
          // Let everybody know that the configuration of the tool has changed:
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAFeatureStore.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAFeatureStore.h
index 0ab4d61121d0e9c1b24cc32b00daa6306eee0a09..55febbd7030a8a9f2acfbd45680043a5180b73d0 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAFeatureStore.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAFeatureStore.h
@@ -78,9 +78,9 @@ private:
 
 
 
-inline std::ostream& operator<<( std::ostream& s, const TIDA::FeatureStore& _f ) { 
-  TIDA::FeatureStore::const_iterator itr  = _f.begin();
-  TIDA::FeatureStore::const_iterator iend = _f.end();
+inline std::ostream& operator<<( std::ostream& s, const TIDA::FeatureStore& f ) { 
+  TIDA::FeatureStore::const_iterator itr  = f.begin();
+  TIDA::FeatureStore::const_iterator iend = f.end();
   while( itr!=iend ) { 
     if ( itr->first.size()>5 ) s << "\t[ " << itr->first << ":\t"   << itr->second << " ]\n";
     else                       s << "\t[ " << itr->first << ":\t\t" << itr->second << " ]\n";
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoiParameters.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoiParameters.h
index ea577a8c073c09d1f32781232d8bddd52606cbfd..d4ac3e1a7d1987bb842dfe9dc9d99cee63fc96c6 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoiParameters.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoiParameters.h
@@ -72,10 +72,10 @@ protected:
 
 };
 
-inline std::ostream& operator<<( std::ostream& s, const TIDARoiParameters& _t ) { 
-  return s << "\tP: eta: " << _t.eta() << " " << _t.etaMinus() << " - " << _t.etaPlus()
-	   <<    "\tphi: " << _t.phi() << " " << _t.phiMinus() << " - " << _t.phiPlus()
-	   <<      "\tz: " << _t.zed() << " " << _t.zedMinus() << " - " << _t.zedPlus();
+inline std::ostream& operator<<( std::ostream& s, const TIDARoiParameters& t ) { 
+  return s << "\tP: eta: " << t.eta() << " " << t.etaMinus() << " - " << t.etaPlus()
+	   <<    "\tphi: " << t.phi() << " " << t.phiMinus() << " - " << t.phiPlus()
+	   <<      "\tz: " << t.zed() << " " << t.zedMinus() << " - " << t.zedPlus();
 }
 
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAVertex.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAVertex.h
index 556aa7830b62cc73687ac9ed6b708b3ea13a6653..9187b670fa21f6671f67eb3a217459e078c404a1 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAVertex.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAVertex.h
@@ -9,8 +9,8 @@
 //   $Id: TIDAVertex.h, v0.0   Thu 22 Apr 2010 15:32:23 BST sutt $
 
 
-#ifndef __TRACKVERTEX_H
-#define __TRACKVERTEX_H
+#ifndef TRIGINDETANALYSIS_TIDAVERTEX_H
+#define TRIGINDETANALYSIS_TIDAVERTEX_H
 
 #include <iostream>
 
@@ -86,23 +86,13 @@ private:
 
 }
 
-inline std::ostream& operator<<( std::ostream& s, const TIDA::Vertex& _t ) { 
-  return s <<  "[ x=" << _t.position()[0]  << " +- " << _t.error()[0]
-	   <<  "\ty=" << _t.position()[1]  << " +- " << _t.error()[1]
-	   <<  "\tz=" << _t.position()[2]  << " +- " << _t.error()[2]
-	   << ";\tchi2="   << _t.chi2()    << "/" << _t.ndof()
-	   << "\tNtracks=" << _t.Ntracks() << "\t]"; 
+inline std::ostream& operator<<( std::ostream& s, const TIDA::Vertex& t ) { 
+  return s <<  "[ x=" << t.position()[0]  << " +- " << t.error()[0]
+	   <<  "\ty=" << t.position()[1]  << " +- " << t.error()[1]
+	   <<  "\tz=" << t.position()[2]  << " +- " << t.error()[2]
+	   << ";\tchi2="   << t.chi2()    << "/" << t.ndof()
+	   << "\tNtracks=" << t.Ntracks() << "\t]"; 
 }
 
 
-#endif  // __TRACKVERTEX_H 
-
-
-
-
-
-
-
-
-
-
+#endif  // TRIGINDETANALYSIS_TIDAVERTEX_H__TRACKVERTEX_H 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackTrigObject.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackTrigObject.h
index de23007178c501efde6ef2b7cdbb55306c4c84cb..ec900e7779c496eb8fb66ffaedddf447896505f5 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackTrigObject.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackTrigObject.h
@@ -68,24 +68,14 @@ private:
 };
 
 
-inline std::ostream& operator<<( std::ostream& s, const TrackTrigObject& _t ) { 
+inline std::ostream& operator<<( std::ostream& s, const TrackTrigObject& t ) { 
   return s << "[" 
-	   << "\ttype=" << _t.type()
-	   << ":\teta=" << _t.eta()
-	   << "\tphi="  << _t.phi()
-	   << "\tpt="   << _t.pt()
+	   << "\ttype=" << t.type()
+	   << ":\teta=" << t.eta()
+	   << "\tphi="  << t.phi()
+	   << "\tpt="   << t.pt()
 	   << " ]" << std::endl;
 }
 
 
 #endif  // TRACKTRIGOBJECT_H 
-
-
-
-
-
-
-
-
-
-
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/VertexAnalysis.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/VertexAnalysis.h
index b3037339e95db2eb38802682d409e1704861b7ba..af47b816d25682f1b6dcebbb9f7630acbce9138e 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/VertexAnalysis.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/VertexAnalysis.h
@@ -76,8 +76,8 @@ private:
 
 };
 
-inline std::ostream& operator<<( std::ostream& s, const VertexAnalysis& _v ) { 
-  return s << _v.name();
+inline std::ostream& operator<<( std::ostream& s, const VertexAnalysis& v ) { 
+  return s << v.name();
 }
 
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/AnalysisConfig_Ntuple.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/AnalysisConfig_Ntuple.h
index 39e797ccab039464c166403004af55ece2b9378f..8ed7b82ab7a676545660589471c1b802978397d7 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/AnalysisConfig_Ntuple.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/AnalysisConfig_Ntuple.h
@@ -36,7 +36,7 @@ public:
 
   AnalysisConfig_Ntuple(TIDARoiDescriptor* roiInfo, 
 			const std::vector<std::string>& chainNames, std::string outputFileName="TrkNtuple.root", 
-			double tauEtCutOffline=0.0, int TruthPdgId = 0, bool _keepAllEvents=false) : 
+			double tauEtCutOffline=0.0, int TruthPdgId = 0, bool keepAllEvents=false) : 
     T_AnalysisConfig<IHLTMonTool>( "Ntple",
 				   "", "", "",
 				   "", "", "",
@@ -46,8 +46,8 @@ public:
 				   0,
 				   0 ),
     m_event(0),
-    mFile(0),
-    mTree(0),
+    m_file(0),
+    m_tree(0),
     m_doOffline(false),
     m_doVertices(false),
     m_doMuons(false),
@@ -65,7 +65,7 @@ public:
   {  
     //    std::cout << "AnalysisConfig_Ntuple::AnalysisConfig_Ntuple() " << chainNames.size() << std::endl;
 
-    this->keepAllEvents( _keepAllEvents ); /// this is now i nthe base class
+    this->keepAllEvents( keepAllEvents ); /// this is now i nthe base class
 
     for ( unsigned i=0 ; i<chainNames.size() ; i++ ) { 
       if ( chainNames[i] != "Offline"     &&
@@ -129,9 +129,9 @@ protected:
 
   TIDA::Event*  m_event;
 
-  TFile*      mFile;  
-  TTree*      mTree;
-  TDirectory* mDir;
+  TFile*      m_file;  
+  TTree*      m_tree;
+  TDirectory* m_dir;
 
   std::vector<ChainString> m_chainNames;
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Distribution.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Distribution.h
index 8823d0e912c61e5545dc9386d18472f8306ca442..e0da2c70f0736c2a1fe2ab50d2ab972bd708bbdb 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Distribution.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Distribution.h
@@ -34,20 +34,20 @@ class Analysis_Distribution : public TrackAnalysis {
  private:
   
   // Track parameter histograms
-  TH1* h_eta;
-  TH1* h_phi;
-  TH1* h_d0;
-  TH1* h_z0;
-  TH1* h_pT;
+  TH1* m_h_eta;
+  TH1* m_h_phi;
+  TH1* m_h_d0;
+  TH1* m_h_z0;
+  TH1* m_h_pT;
   
   // Track hit histograms
-  TH1* h_blay;
-  TH1* h_pixel;
-  TH1* h_sct;
-  TH1* h_silicon;
-  TH1* h_silicon_match;
-  TH1* h_straw;
-  TH1* h_tr;
+  TH1* m_h_blay;
+  TH1* m_h_pixel;
+  TH1* m_h_sct;
+  TH1* m_h_silicon;
+  TH1* m_h_silicon_match;
+  TH1* m_h_straw;
+  TH1* m_h_tr;
 
 };
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Efficiency.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Efficiency.h
index f12fcdc020cbffb67fda41dfe63d0ec0a4c1e4d7..da80051b13319689fbbfb1acdca67aac1b241de7 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Efficiency.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Efficiency.h
@@ -32,26 +32,26 @@ class Analysis_Efficiency : public TrackAnalysis {
  private:
   
   // Integral efficiency histograms
-  TH1* h_integralD;
-  TH1* h_integralN;
-  TH1* h_integral;
+  TH1* m_h_integralD;
+  TH1* m_h_integralN;
+  TH1* m_h_integral;
     
   // Differential efficiency histograms
-  TH1* h_etaD;
-  TH1* h_phiD;
-  TH1* h_z0D;
-  TH1* h_d0D;
-  TH1* h_pTD;
-  TH1* h_etaN;
-  TH1* h_phiN;
-  TH1* h_z0N;
-  TH1* h_d0N;
-  TH1* h_pTN;
-  TH1* h_eta;
-  TH1* h_phi;
-  TH1* h_z0;
-  TH1* h_d0;
-  TH1* h_pT;
+  TH1* m_h_etaD;
+  TH1* m_h_phiD;
+  TH1* m_h_z0D;
+  TH1* m_h_d0D;
+  TH1* m_h_pTD;
+  TH1* m_h_etaN;
+  TH1* m_h_phiN;
+  TH1* m_h_z0N;
+  TH1* m_h_d0N;
+  TH1* m_h_pTN;
+  TH1* m_h_eta;
+  TH1* m_h_phi;
+  TH1* m_h_z0;
+  TH1* m_h_d0;
+  TH1* m_h_pT;
 
   // Efficiency plateau cuts
   double m_pTCut;
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Fake.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Fake.h
index 381e75f4d4ca8ca1de87939c69240ad9da299417..5a674bcba96669484d75743930b94e19ea244350 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Fake.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Fake.h
@@ -33,26 +33,26 @@ class Analysis_Fake : public TrackAnalysis {
   
   // Integral efficiency histograms
 
-  TH1* h_integralD;
-  TH1* h_integralN;
-  TH1* h_integral;
+  TH1* m_h_integralD;
+  TH1* m_h_integralN;
+  TH1* m_h_integral;
     
   // Differential efficiency histograms
-  TH1* h_etaD;
-  TH1* h_phiD;
-  TH1* h_z0D;
-  TH1* h_d0D;
-  TH1* h_pTD;
-  TH1* h_etaN;
-  TH1* h_phiN;
-  TH1* h_z0N;
-  TH1* h_d0N;
-  TH1* h_pTN;
-  TH1* h_eta;
-  TH1* h_phi;
-  TH1* h_z0;
-  TH1* h_d0;
-  TH1* h_pT;
+  TH1* m_h_etaD;
+  TH1* m_h_phiD;
+  TH1* m_h_z0D;
+  TH1* m_h_d0D;
+  TH1* m_h_pTD;
+  TH1* m_h_etaN;
+  TH1* m_h_phiN;
+  TH1* m_h_z0N;
+  TH1* m_h_d0N;
+  TH1* m_h_pTN;
+  TH1* m_h_eta;
+  TH1* m_h_phi;
+  TH1* m_h_z0;
+  TH1* m_h_d0;
+  TH1* m_h_pT;
 
   // Efficiency plateau cuts
   double m_pTCut;
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Missed.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Missed.h
index 5f5a5759981dd3e13a92232d877fda7f11252192..984338f7a733a07b1c44414f3ecc0104eb196480 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Missed.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Missed.h
@@ -34,31 +34,31 @@ class Analysis_Missed : public TrackAnalysis {
  private:
   
   // Track number histograms
-  TH1* h_ntrack;
-  TH1* h_ntrackfrac;
+  TH1* m_h_ntrack;
+  TH1* m_h_ntrackfrac;
 
   // Track parameter histograms
-  TH1* h_eta;
-  TH1* h_phi;
-  TH1* h_d0;
-  TH1* h_z0;
-  TH1* h_pT;
-  TH1* h_chi2;
+  TH1* m_h_eta;
+  TH1* m_h_phi;
+  TH1* m_h_d0;
+  TH1* m_h_z0;
+  TH1* m_h_pT;
+  TH1* m_h_chi2;
   
   // Track hit histograms
-  TH1* h_blay;
-  TH1* h_pixel;
-  TH1* h_sct;
-  TH1* h_silicon;
-  TH1* h_straw;
-  TH1* h_tr;
-  TH1* h_patt;
-  TH1* h_firstpatt;
+  TH1* m_h_blay;
+  TH1* m_h_pixel;
+  TH1* m_h_sct;
+  TH1* m_h_silicon;
+  TH1* m_h_straw;
+  TH1* m_h_tr;
+  TH1* m_h_patt;
+  TH1* m_h_firstpatt;
 
   // Bidimensional histograms
-  TH2* h_etaphi;
-  TH2* h_etapatt;
-  TH2* h_phipatt;
+  TH2* m_h_etaphi;
+  TH2* m_h_etapatt;
+  TH2* m_h_phipatt;
 };
 
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Resolution.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Resolution.h
index d8112321e643dfc7a66dad14a20540cca17cf4b0..3022091007fcbf0bbda6de9b4e18cfd18c4a15f5 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Resolution.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Resolution.h
@@ -35,32 +35,32 @@ class Analysis_Resolution : public TrackAnalysis {
  private:
   
   // Resolution Histograms
-  TH1* h_res_eta;
-  TH1* h_res_phi;
-  TH1* h_res_d0;
-  TH1* h_res_z0;
-  TH1* h_res_invpT;
+  TH1* m_h_res_eta;
+  TH1* m_h_res_phi;
+  TH1* m_h_res_d0;
+  TH1* m_h_res_z0;
+  TH1* m_h_res_invpT;
   
   // Pull Histograms
-  TH1* h_pull_eta;
-  TH1* h_pull_phi;
-  TH1* h_pull_d0;
-  TH1* h_pull_z0;
-  TH1* h_pull_invpT;
+  TH1* m_h_pull_eta;
+  TH1* m_h_pull_phi;
+  TH1* m_h_pull_d0;
+  TH1* m_h_pull_z0;
+  TH1* m_h_pull_invpT;
 
   // 2D histograms
-  TH2* h_res_d0VsPt; 
-  TH2* h_res_z0VsPt;
-  TH2* h_res_d0VsD0;
-  TH2* h_res_z0VsEta;
-  TH2* h_res_d0VsPixelHits_withBLayer;
-  TH2* h_res_d0VsPixelHits_withoutBLayer;
-  TH2* h_pull_d0VsEta;
-  TH2* h_pull_z0VsEta;
-  TH2* h_pull_d0VsPixelHits_withoutBLayer;
-  TH2* h_pull_z0VsPixelHits_withoutBLayer;
-  TH2* h_pull_d0VsPixelHits_withBLayer;
-  TH2* h_pull_z0VsPixelHits_withBLayer;
+  TH2* m_h_res_d0VsPt; 
+  TH2* m_h_res_z0VsPt;
+  TH2* m_h_res_d0VsD0;
+  TH2* m_h_res_z0VsEta;
+  TH2* m_h_res_d0VsPixelHits_withBLayer;
+  TH2* m_h_res_d0VsPixelHits_withoutBLayer;
+  TH2* m_h_pull_d0VsEta;
+  TH2* m_h_pull_z0VsEta;
+  TH2* m_h_pull_d0VsPixelHits_withoutBLayer;
+  TH2* m_h_pull_z0VsPixelHits_withoutBLayer;
+  TH2* m_h_pull_d0VsPixelHits_withBLayer;
+  TH2* m_h_pull_z0VsPixelHits_withBLayer;
 
   // Efficiency platau cuts
   double m_pTCut;
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_ResolutionCosmics.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_ResolutionCosmics.h
index ba85d68d10465bf091036029664d1c5aaa194aa6..90c743cf0df42bf65bc613ac2a0d8286768ba2ae 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_ResolutionCosmics.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_ResolutionCosmics.h
@@ -32,18 +32,18 @@ class Analysis_ResolutionCosmics : public TrackAnalysis {
  private:
   
   // Resolution Histograms
-  TH1* h_res_eta;
-  TH1* h_res_phi;
-  TH1* h_res_d0;
-  TH1* h_res_z0;
-  TH1* h_res_invpT;
+  TH1* m_h_res_eta;
+  TH1* m_h_res_phi;
+  TH1* m_h_res_d0;
+  TH1* m_h_res_z0;
+  TH1* m_h_res_invpT;
   
   // Pull Histograms
-  TH1* h_pull_eta;
-  TH1* h_pull_phi;
-  TH1* h_pull_d0;
-  TH1* h_pull_z0;
-  TH1* h_pull_invpT;
+  TH1* m_h_pull_eta;
+  TH1* m_h_pull_phi;
+  TH1* m_h_pull_d0;
+  TH1* m_h_pull_z0;
+  TH1* m_h_pull_invpT;
 
 };
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h
index a23690fb7f626a8f869ccc1d32ab23ddb51143b6..e6377596ac17b99f0119b98601b58f1e15c9d89f 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h
@@ -70,107 +70,107 @@ class Analysis_Tier0 : public TrackAnalysis {
   std::map<std::string, TH1*> m_histos;
   std::map<std::string, TProfile*> m_effhistos;
   
-  TProfile* h_total_efficiency;
-  TProfile* h_pTeff;
-  TProfile* h_etaeff;
-  TProfile* h_phieff;
-  TProfile* h_d0eff;
-  TProfile* h_z0eff;
-  TProfile* h_nVtxeff;
-  TProfile* h_lbeff;
+  TProfile* m_h_total_efficiency;
+  TProfile* m_h_pTeff;
+  TProfile* m_h_etaeff;
+  TProfile* m_h_phieff;
+  TProfile* m_h_d0eff;
+  TProfile* m_h_z0eff;
+  TProfile* m_h_nVtxeff;
+  TProfile* m_h_lbeff;
 
-  TProfile* h_pTres;
-  TProfile* h_ipTres;
-  TProfile* h_etares;
-  TProfile* h_phires;
-  TProfile* h_d0res;
-  TProfile* h_z0res;
+  TProfile* m_h_pTres;
+  TProfile* m_h_ipTres;
+  TProfile* m_h_etares;
+  TProfile* m_h_phires;
+  TProfile* m_h_d0res;
+  TProfile* m_h_z0res;
 
-  TProfile* h_trkvtx_x_lb;
-  TProfile* h_trkvtx_y_lb;
-  TProfile* h_trkvtx_z_lb;
+  TProfile* m_h_trkvtx_x_lb;
+  TProfile* m_h_trkvtx_y_lb;
+  TProfile* m_h_trkvtx_z_lb;
 
 
-  TProfile* h_npixvseta;
-  TProfile* h_npixvsphi;
-  TProfile* h_npixvsd0;
+  TProfile* m_h_npixvseta;
+  TProfile* m_h_npixvsphi;
+  TProfile* m_h_npixvsd0;
 
-  TProfile* h_nsctvseta;
-  TProfile* h_nsctvsphi;
-  TProfile* h_nsctvsd0;
+  TProfile* m_h_nsctvseta;
+  TProfile* m_h_nsctvsphi;
+  TProfile* m_h_nsctvsd0;
 
-  TProfile* h_ntrtvseta;
-  TProfile* h_ntrtvsphi;
+  TProfile* m_h_ntrtvseta;
+  TProfile* m_h_ntrtvsphi;
 
-  TProfile* h_nsihits_lb;
+  TProfile* m_h_nsihits_lb;
 
-  TProfile* h_npixvseta_rec;
-  TProfile* h_npixvsphi_rec;
-  TProfile* h_npixvsd0_rec;
+  TProfile* m_h_npixvseta_rec;
+  TProfile* m_h_npixvsphi_rec;
+  TProfile* m_h_npixvsd0_rec;
 
-  TProfile* h_nsctvseta_rec;
-  TProfile* h_nsctvsphi_rec;
-  TProfile* h_nsctvsd0_rec;
+  TProfile* m_h_nsctvseta_rec;
+  TProfile* m_h_nsctvsphi_rec;
+  TProfile* m_h_nsctvsd0_rec;
 
-  TProfile* h_ntrtvseta_rec;
-  TProfile* h_ntrtvsphi_rec;
+  TProfile* m_h_ntrtvseta_rec;
+  TProfile* m_h_ntrtvsphi_rec;
 
-  TProfile* h_nsihits_lb_rec;
+  TProfile* m_h_nsihits_lb_rec;
 
-  TProfile* h_d0vsphi;
-  TH2F*     h2d_d0vsphi;
-  TH2F*     h2d_d0vsphi_rec;
+  TProfile* m_h_d0vsphi;
+  TH2F*     m_h2d_d0vsphi;
+  TH2F*     m_h2d_d0vsphi_rec;
 
 
-  TH1F* h_chain;
+  TH1F* m_h_chain;
 
-  TH1F* h_ntrk;
+  TH1F* m_h_ntrk;
 
-  TH1F* h_trkpT;
-  TH1F* h_trketa;
-  TH1F* h_trkphi;
-  TH1F* h_trkd0;
-  TH1F* h_trkz0;
+  TH1F* m_h_trkpT;
+  TH1F* m_h_trketa;
+  TH1F* m_h_trkphi;
+  TH1F* m_h_trkd0;
+  TH1F* m_h_trkz0;
 
-  TH1F* h_trkdd0;
-  TH1F* h_trkdz0;
+  TH1F* m_h_trkdd0;
+  TH1F* m_h_trkdz0;
 
-  TH1F* h_trkd0sig;
+  TH1F* m_h_trkd0sig;
 
-  TH1F* h_npix;
-  TH1F* h_nsct;
-  TH1F* h_nsihits;
-  TH1F* h_ntrt;
+  TH1F* m_h_npix;
+  TH1F* m_h_nsct;
+  TH1F* m_h_nsihits;
+  TH1F* m_h_ntrt;
 
-  TH1F* h_ntrk_rec;
+  TH1F* m_h_ntrk_rec;
 
 
-  TH1F* h_trkpT_rec;
-  TH1F* h_trketa_rec;
-  TH1F* h_trkphi_rec;
-  TH1F* h_trkd0_rec;
-  TH1F* h_trkz0_rec;
+  TH1F* m_h_trkpT_rec;
+  TH1F* m_h_trketa_rec;
+  TH1F* m_h_trkphi_rec;
+  TH1F* m_h_trkd0_rec;
+  TH1F* m_h_trkz0_rec;
 
-  TH1F* h_trkdd0_rec;
-  TH1F* h_trkdz0_rec;
+  TH1F* m_h_trkdd0_rec;
+  TH1F* m_h_trkdz0_rec;
 
-  TH1F* h_trkd0sig_rec;
+  TH1F* m_h_trkd0sig_rec;
 
-  TH1F* h_npix_rec;
-  TH1F* h_nsct_rec;
-  TH1F* h_nsihits_rec;
-  TH1F* h_ntrt_rec;
+  TH1F* m_h_npix_rec;
+  TH1F* m_h_nsct_rec;
+  TH1F* m_h_nsihits_rec;
+  TH1F* m_h_ntrt_rec;
 
 
-  TH1F* h_trkpT_residual;
-  TH1F* h_trkipT_residual;
-  TH1F* h_trketa_residual;
-  TH1F* h_trkphi_residual;
-  TH1F* h_trkd0_residual;
-  TH1F* h_trkz0_residual;
+  TH1F* m_h_trkpT_residual;
+  TH1F* m_h_trkipT_residual;
+  TH1F* m_h_trketa_residual;
+  TH1F* m_h_trkphi_residual;
+  TH1F* m_h_trkd0_residual;
+  TH1F* m_h_trkz0_residual;
 
-  TH1F* h_trkdd0_residual;
-  TH1F* h_trkdz0_residual;
+  TH1F* m_h_trkdd0_residual;
+  TH1F* m_h_trkdz0_residual;
 
 
   // Efficiency plateau cuts
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/ChainString.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/ChainString.h
index 8b21e91449dbb09956c3c9bf6d7fea645a475859..f9a6a87cbfaa751c6e25888fd2fc6a87d0cc5edd 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/ChainString.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/ChainString.h
@@ -27,34 +27,34 @@ public:
 
   ChainString(const ChainString& s);
 
-  std::string head()  { return mhead;  }
-  std::string tail()  { return mtail;  }
-  std::string extra() { return mextra; }
-  std::string element() { return melement; }
-  std::string roi()     { return mroi; }
-  std::string vtx()     { return mvtx; }
+  std::string head()  { return m_head;  }
+  std::string tail()  { return m_tail;  }
+  std::string extra() { return m_extra; }
+  std::string element() { return m_element; }
+  std::string roi()     { return m_roi; }
+  std::string vtx()     { return m_vtx; }
 
-  bool        passed()  { return mpassed; }
+  bool        passed()  { return m_passed; }
 
-  const std::string& head()  const { return mhead;  }
-  const std::string& tail()  const { return mtail;  }
-  const std::string& extra() const { return mextra; }
-  const std::string& element() const { return melement; }
-  const std::string& roi()     const { return mroi; }
-  const std::string& vtx()     const { return mvtx; }
+  const std::string& head()  const { return m_head;  }
+  const std::string& tail()  const { return m_tail;  }
+  const std::string& extra() const { return m_extra; }
+  const std::string& element() const { return m_element; }
+  const std::string& roi()     const { return m_roi; }
+  const std::string& vtx()     const { return m_vtx; }
 
-  const bool&        passed()  const { return mpassed; }
+  const bool&        passed()  const { return m_passed; }
 
-  const std::string& raw() const { return mraw; }
+  const std::string& raw() const { return m_raw; }
   
   std::string value( const std::string& key ) const { 
     int i=find(key);
-    if ( i>=0 ) return mvalues[i];
+    if ( i>=0 ) return m_values[i];
     return "";
   }
 
-  const std::vector<std::string> values() const { return mvalues; }
-  const std::vector<std::string>   keys() const { return   mkeys; }
+  const std::vector<std::string> values() const { return m_values; }
+  const std::vector<std::string>   keys() const { return   m_keys; }
 
 public:   
 
@@ -117,25 +117,25 @@ protected:
   void parse();
 
   int find( const std::string& key ) const { 
-    for ( int i=mkeys.size() ; i-- ; ) if ( key==mkeys[i] ) return i;
+    for ( int i=m_keys.size() ; i-- ; ) if ( key==m_keys[i] ) return i;
     return -1;
   }
 
 private:
 
-  std::string mhead;
-  std::string mtail;
-  std::string mextra;
-  std::string melement;
-  std::string mroi;
-  std::string mvtx;
+  std::string m_head;
+  std::string m_tail;
+  std::string m_extra;
+  std::string m_element;
+  std::string m_roi;
+  std::string m_vtx;
 
-  bool        mpassed;
+  bool        m_passed;
 
-  std::vector<std::string> mkeys;
-  std::vector<std::string> mvalues;
+  std::vector<std::string> m_keys;
+  std::vector<std::string> m_values;
 
-  std::string mraw;
+  std::string m_raw;
 };
 
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/SigAnalysis.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/SigAnalysis.h
index b14ed8c549b8fd298c39aca282b8905c90291c2e..9efa7685a81666f6b772a8ac0c168074ead95710 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/SigAnalysis.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/SigAnalysis.h
@@ -9,8 +9,8 @@
 //   $Id: SigAnalysis.h, v0.0   Wed 28 Oct 2009 02:41:51 CET sutt $
 
 
-#ifndef __SIGANALYSIS_H
-#define __SIGANALYSIS_H
+#ifndef TRIGINDETANALYSISEXAMPLE_SIGANALYSIS_H
+#define TRIGINDETANALYSISEXAMPLE_SIGANALYSIS_H
 
 #include <iostream>
 #include <vector>
@@ -32,7 +32,7 @@ class SigAnalysis : public TrackAnalysis {
 
 public:
   
-  SigAnalysis( const std::string& name ) : TrackAnalysis( name ), Nreco(0), m_print(true), m_dir(0) {
+  SigAnalysis( const std::string& name ) : TrackAnalysis( name ), m_Nreco(0), m_print(true), m_dir(0) {
     std::cout << "SigAnalysis::SigAnalysis() " << TrackAnalysis::name() << std::endl;
   }  
 
@@ -42,13 +42,13 @@ public:
     std::map<std::string, TH1F*>::iterator hend=m_histos.end();
     for ( ; hitr!=hend ; hitr++ ) delete hitr->second;     
 
-    Efficiency* heff[4]    = {    eff_pt,    eff_eta,    eff_phi,    eff_z0 };
-    Efficiency* hpurity[4] = { purity_pt, purity_eta, purity_phi, purity_z0 };
+    Efficiency* heff[4]    = {    m_eff_pt,    m_eff_eta,    m_eff_phi,    m_eff_z0 };
+    Efficiency* hpurity[4] = { m_purity_pt, m_purity_eta, m_purity_phi, m_purity_z0 };
 
     for ( int i=4 ; i-- ; ) { delete heff[i]; delete hpurity[i]; } 
 
-    delete eff_ptp;
-    delete eff_ptm;
+    delete m_eff_ptp;
+    delete m_eff_ptm;
 
   }  
   
@@ -81,30 +81,30 @@ private:
 
   std::map<std::string, TH1F*> m_histos;
  
-  Efficiency* eff_pt;
-  Efficiency* eff_ptp;
-  Efficiency* eff_ptm;
+  Efficiency* m_eff_pt;
+  Efficiency* m_eff_ptp;
+  Efficiency* m_eff_ptm;
 
-  Efficiency* eff_eta;
-  Efficiency* eff_phi;
-  Efficiency* eff_z0;
-  Efficiency* eff_d0;
-  Efficiency* eff_a0;
+  Efficiency* m_eff_eta;
+  Efficiency* m_eff_phi;
+  Efficiency* m_eff_z0;
+  Efficiency* m_eff_d0;
+  Efficiency* m_eff_a0;
 
-  Efficiency* purity_pt;
-  Efficiency* purity_eta;
-  Efficiency* purity_phi;
-  Efficiency* purity_z0;
-  Efficiency* purity_d0;
-  Efficiency* purity_a0;
+  Efficiency* m_purity_pt;
+  Efficiency* m_purity_eta;
+  Efficiency* m_purity_phi;
+  Efficiency* m_purity_z0;
+  Efficiency* m_purity_d0;
+  Efficiency* m_purity_a0;
 
 
-  TH2F* h2;
-  TH2F* h2m;
-  TH2F* h2r;
+  TH2F* m_h2;
+  TH2F* m_h2m;
+  TH2F* m_h2r;
 
   /// number of reconstructed tracks 
-  int Nreco;
+  int m_Nreco;
 
   /// flag to print out the matched tracks etc
   bool m_print;
@@ -123,14 +123,4 @@ inline std::ostream& operator<<( std::ostream& s, const SigAnalysis& /*_s*/ ) {
 
 
 
-#endif  // __SIGANALYSIS_H 
-
-
-
-
-
-
-
-
-
-
+#endif  // TRIGINDETANALYSISEXAMPLE_SIGANALYSIS_H
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
index 76fe7f8741c27fcebe0ff7d168e2050ce4d88a23..91f91b8791e3390b008d552c608f7a37edaa1770 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
@@ -618,14 +618,12 @@ protected:
 
       //      std::cout << "\tchain " << m_chainNames[ichain] << "\tchainname " << chainname << "\tvtx " << vtx_name << "\troi " << roi_name << std::endl;
 
-      unsigned _decisiontype = TrigDefs::Physics;
-      unsigned  decisiontype;
+      unsigned  decisiontype = TrigDefs::Physics;
      
-      if ( this->requireDecision() ) _decisiontype =  TrigDefs::requireDecision;
+      if ( this->requireDecision() ) decisiontype =  TrigDefs::requireDecision;
       
       
-      if ( m_chainNames[ichain].passed() ) decisiontype = _decisiontype;
-      else                                 decisiontype = TrigDefs::alsoDeactivateTEs;
+      if ( ! m_chainNames[ichain].passed() ) decisiontype = TrigDefs::alsoDeactivateTEs;
 
       //      if ( decisiontype==TrigDefs::requireDecision ) std::cout << "\tSUTT TrigDefs::requireDecision " << decisiontype << std::endl;;
       //      if ( decisiontype==TrigDefs::Physics )         std::cout << "\tSUTT TrigDefs::Physics "         << decisiontype << std::endl;;
@@ -1017,7 +1015,7 @@ protected:
 
           while ( evitr!=evend ) {
 
-            int _ip = 0; /// count of particles in this interaction
+            int this_ip = 0; /// count of particles in this interaction
 
             int pid = (*evitr)->signal_process_id();
 
@@ -1031,7 +1029,7 @@ protected:
 
                 selectorTruth.selectTrack( *pitr );
 
-                ++_ip;
+                ++this_ip;
 
                 ++pitr;
               }
@@ -1040,11 +1038,11 @@ protected:
             ++ie;
             ++evitr;
 
-            if ( _ip>0 ) {
+            if ( this_ip>0 ) {
               /// if there were some particles in this interaction ...
               //      m_provider->msg(MSG::VERBOSE) << "Found " << ie << "\tpid " << pid << "\t with " << ip << " TruthParticles (GenParticles)" << endmsg;
               ++ie_ip;
-              ip += _ip;
+              ip += this_ip;
             }
           }
 
@@ -1466,8 +1464,8 @@ protected:
 
   TIDA::Event*  m_event;
 
-  TFile*    mFile;
-  TTree*    mTree;
+  TFile*    m_file;
+  TTree*    m_tree;
 
   std::vector<ChainString>     m_chainNames;
   std::vector<Analysis_Tier0*> m_analyses;
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/VtxAnalysis.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/VtxAnalysis.h
index d305f4a6153ce54d197c70ff8a5cdb6a703dfe49..7155e4ae72dca9b80985d2b3284fe04580fd3994 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/VtxAnalysis.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/VtxAnalysis.h
@@ -28,7 +28,7 @@ public:
 
   VtxAnalysis( const std::string& n );
 
-  virtual ~VtxAnalysis() { if ( mdir ) delete mdir; } 
+  virtual ~VtxAnalysis() { if ( m_dir ) delete m_dir; } 
 
   void initialise();
 
@@ -42,28 +42,28 @@ private:
 
   bool m_initialised;
 
-  TIDDirectory* mdir;
+  TIDDirectory* m_dir;
 
-  TH1F*    hnvtx;
-  TH1F*    hzed;
-  TH1F*    hntrax;
+  TH1F*    m_hnvtx;
+  TH1F*    m_hzed;
+  TH1F*    m_hntrax;
 
-  TH1F*    hnvtx_rec;
-  TH1F*    hzed_rec;
-  TH1F*    hntrax_rec;
+  TH1F*    m_hnvtx_rec;
+  TH1F*    m_hzed_rec;
+  TH1F*    m_hntrax_rec;
 
-  TH1F*    hzed_res;
+  TH1F*    m_hzed_res;
 
-  TProfile* rdz_vs_zed;
-  TProfile* rdz_vs_ntrax;
-  TProfile* rdz_vs_nvtx;
-  TProfile* rdz_vs_mu;
+  TProfile* m_rdz_vs_zed;
+  TProfile* m_rdz_vs_ntrax;
+  TProfile* m_rdz_vs_nvtx;
+  TProfile* m_rdz_vs_mu;
 
-  TProfile* eff_zed;
-  TProfile* eff_ntrax;
-  TProfile* eff_nvtx;
-  TProfile* eff_mu;
-  TProfile* eff_lb;
+  TProfile* m_eff_zed;
+  TProfile* m_eff_ntrax;
+  TProfile* m_eff_nvtx;
+  TProfile* m_eff_mu;
+  TProfile* m_eff_lb;
  
 };
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx
index 724a31bbcdb381fc459e9ba60bc9c50d4f43deb5..6e5c2c69692e05b654e138e42b6dae8605fd0d20 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx
@@ -71,11 +71,11 @@ bool tida_first = true;
 
 
 std::string date() { 
-  time_t _t;
-  time(&_t);
-  std::string _mtime = ctime(&_t);
-  _mtime.erase( std::remove(_mtime.begin(), _mtime.end(), '\n'), _mtime.end() );
-  return _mtime;
+  time_t t;
+  time(&t);
+  std::string mtime = ctime(&t);
+  mtime.erase( std::remove(mtime.begin(), mtime.end(), '\n'), mtime.end() );
+  return mtime;
 }
 
 
@@ -366,17 +366,17 @@ void AnalysisConfig_Ntuple::loop() {
 	
 	
 
-	std::vector<std::string> _conf = (*m_tdt)->getListOfTriggers("HLT_.*");
+	std::vector<std::string> conf = (*m_tdt)->getListOfTriggers("HLT_.*");
 	
 	m_provider->msg(MSG::INFO) << endmsg;
-	m_provider->msg(MSG::INFO) << "configured chains " << _conf.size() << endmsg;
+	m_provider->msg(MSG::INFO) << "configured chains " << conf.size() << endmsg;
 
 #if 0
-	for ( unsigned ic=0 ; ic<_conf.size() ; ic++ ) { 
-	  bool p = (*m_tdt)->isPassed( _conf[ic] );
+	for ( unsigned ic=0 ; ic<conf.size() ; ic++ ) { 
+	  bool p = (*m_tdt)->isPassed( conf[ic] );
 	  
-	  if ( p ) m_provider->msg(MSG::INFO) << "" << " Configured Chain " << _conf[ic] << " " << p << "\tpassed <<<<" << "" << endmsg;
-	  else     m_provider->msg(MSG::INFO)               << " Configured Chain " << _conf[ic] << " " << p << "\t not passed" << endmsg;
+	  if ( p ) m_provider->msg(MSG::INFO) << "" << " Configured Chain " << conf[ic] << " " << p << "\tpassed <<<<" << "" << endmsg;
+	  else     m_provider->msg(MSG::INFO)               << " Configured Chain " << conf[ic] << " " << p << "\t not passed" << endmsg;
 
 	}
 
@@ -393,9 +393,9 @@ void AnalysisConfig_Ntuple::loop() {
 	bool analyse = false;
 	// bool analyse = true;
 
-	unsigned _decisiontype = TrigDefs::Physics;
+	unsigned decisiontype = TrigDefs::Physics;
 	
-	if ( requireDecision() ) _decisiontype = TrigDefs::requireDecision;
+	if ( requireDecision() ) decisiontype = TrigDefs::requireDecision;
 
 
 #if 0
@@ -418,10 +418,10 @@ void AnalysisConfig_Ntuple::loop() {
 
 #if 0
 	    std::cout << "" << "Chain " << configuredChains[i]
-		      << "\tpassed:     " <<   (*m_tdt)->isPassed(configuredChains[i], _decisiontype)  << " ( type " << _decisiontype << ") : "  
+		      << "\tpassed:     " <<   (*m_tdt)->isPassed(configuredChains[i], decisiontype)  << " ( type " << decisiontype << ") : "  
 		      << "\trequiredec: " <<   (*m_tdt)->isPassed(configuredChains[i], TrigDefs::requireDecision)  << "   (ACN)" << std::endl;
 #endif
-	    if ( (*m_tdt)->isPassed(configuredChains[i], _decisiontype) ) { 
+	    if ( (*m_tdt)->isPassed(configuredChains[i], decisiontype) ) { 
 	      npassed++;
 	      passed.push_back(configuredChains[i]);
 	    }	  
@@ -521,11 +521,11 @@ void AnalysisConfig_Ntuple::loop() {
 		m_provider->msg(MSG::INFO) << "Chain "  << chainName << "\troi " << roistring 
 					   << "\tpres " << (*m_tdt)->getPrescale(chainName)
 					   << ( passPhysics ? "" : "" ) << "\tpass physics  " <<  passPhysics << ( passPhysics ? "" : "" ) 
-					   << "\t: ( pass " << (*m_tdt)->isPassed(chainName, _decisiontype ) << "\tdec type " << _decisiontype << " ) " << endmsg;
+					   << "\t: ( pass " << (*m_tdt)->isPassed(chainName, decisiontype ) << "\tdec type " << decisiontype << " ) " << endmsg;
 
 
 		//		if ( (*m_tdt)->isPassed(chainName) ) { 
-		if ( (*m_tdt)->isPassed(chainName, _decisiontype) ) { 
+		if ( (*m_tdt)->isPassed(chainName, decisiontype) ) { 
 		  analyse = true;
 		  passed_chains++;
 		}
@@ -671,7 +671,7 @@ void AnalysisConfig_Ntuple::loop() {
 
 		while ( evitr!=evend ) { 
 
-			int _ip = 0; /// count of particles in this interaction 
+			int ip = 0; /// count of particles in this interaction 
 
 			int pid = (*evitr)->signal_process_id();
 
@@ -696,7 +696,7 @@ void AnalysisConfig_Ntuple::loop() {
 				  }
 
 				  
-				  ++_ip;
+				  ++ip;
 				  
 				  ++pitr; 
 				  
@@ -708,11 +708,11 @@ void AnalysisConfig_Ntuple::loop() {
 			++ie;
 			++evitr;
 
-			if ( _ip>0 ) {
+			if ( ip>0 ) {
 				/// if there were some particles in this interaction ...
 				//	m_provider->msg(MSG::INFO) << "Found " << ie << "\tpid " << pid << "\t with " << ip << " TruthParticles (GenParticles)" << endmsg;
 				++ie_ip;  
-				ip += _ip;
+				ip += ip;
 			}
 		}
 
@@ -885,11 +885,11 @@ void AnalysisConfig_Ntuple::loop() {
 	  m_event->back().back().addTracks(selectorRef.tracks());
 	
 	  if ( selectorRef.getBeamX()!=0 || selectorRef.getBeamY()!=0 || selectorRef.getBeamZ()!=0 ) { 
-	    std::vector<double> _beamline;
-	    _beamline.push_back( selectorRef.getBeamX() );
-	    _beamline.push_back( selectorRef.getBeamY() );
-	    _beamline.push_back( selectorRef.getBeamZ() );
-	    m_event->back().back().addUserData(_beamline);
+	    std::vector<double> beamline;
+	    beamline.push_back( selectorRef.getBeamX() );
+	    beamline.push_back( selectorRef.getBeamY() );
+	    beamline.push_back( selectorRef.getBeamZ() );
+	    m_event->back().back().addUserData(beamline);
 	  }
 	  else { 
 	    m_event->back().back().addUserData(beamline);
@@ -953,11 +953,11 @@ void AnalysisConfig_Ntuple::loop() {
 	    m_event->back().back().addTracks(selectorTest.tracks());
 	    
 	    if ( selectorTest.getBeamX()!=0 || selectorTest.getBeamY()!=0 || selectorTest.getBeamZ()!=0 ) { 
-	      std::vector<double> _beamline;
-	      _beamline.push_back( selectorTest.getBeamX() );
-	      _beamline.push_back( selectorTest.getBeamY() );
-	      _beamline.push_back( selectorTest.getBeamZ() );
-	      m_event->back().back().addUserData(_beamline);
+	      std::vector<double> beamline;
+	      beamline.push_back( selectorTest.getBeamX() );
+	      beamline.push_back( selectorTest.getBeamY() );
+	      beamline.push_back( selectorTest.getBeamZ() );
+	      m_event->back().back().addUserData(beamline);
 	    }
 	    else { 
 	      m_event->back().back().addUserData(beamline);
@@ -1004,11 +1004,11 @@ void AnalysisConfig_Ntuple::loop() {
 	  m_event->back().addRoi(TIDARoiDescriptor(true));
 	  m_event->back().back().addTracks(selectorRef.tracks());
 	  if ( selectorRef.getBeamX()!=0 || selectorRef.getBeamY()!=0 || selectorRef.getBeamZ()!=0 ) { 
-	    std::vector<double> _beamline;
-	    _beamline.push_back( selectorRef.getBeamX() );
-	    _beamline.push_back( selectorRef.getBeamY() );
-	    _beamline.push_back( selectorRef.getBeamZ() );
-	    m_event->back().back().addUserData(_beamline);
+	    std::vector<double> beamline;
+	    beamline.push_back( selectorRef.getBeamX() );
+	    beamline.push_back( selectorRef.getBeamY() );
+	    beamline.push_back( selectorRef.getBeamZ() );
+	    m_event->back().back().addUserData(beamline);
 	  }
 	  else { 	  
 	    m_event->back().back().addUserData(beamline);
@@ -1031,11 +1031,11 @@ void AnalysisConfig_Ntuple::loop() {
 	  m_event->back().addRoi(TIDARoiDescriptor(true));
 	  m_event->back().back().addTracks(selectorRef.tracks());
 	  if ( selectorRef.getBeamX()!=0 || selectorRef.getBeamY()!=0 || selectorRef.getBeamZ()!=0 ) { 
-	      std::vector<double> _beamline;
-	      _beamline.push_back( selectorRef.getBeamX() );
-	      _beamline.push_back( selectorRef.getBeamY() );
-	      _beamline.push_back( selectorRef.getBeamZ() );
-	      m_event->back().back().addUserData(_beamline);
+	      std::vector<double> beamline;
+	      beamline.push_back( selectorRef.getBeamX() );
+	      beamline.push_back( selectorRef.getBeamY() );
+	      beamline.push_back( selectorRef.getBeamZ() );
+	      m_event->back().back().addUserData(beamline);
 	  }
 	  else { 	  
 	      m_event->back().back().addUserData(beamline);
@@ -1099,11 +1099,11 @@ void AnalysisConfig_Ntuple::loop() {
 	    m_event->back().back().addTracks(selectorRef.tracks());
 	    
 	    if ( selectorRef.getBeamX()!=0 || selectorRef.getBeamY()!=0 || selectorRef.getBeamZ()!=0 ) { 
-	      std::vector<double> _beamline;
-	      _beamline.push_back( selectorRef.getBeamX() );
-	      _beamline.push_back( selectorRef.getBeamY() );
-	      _beamline.push_back( selectorRef.getBeamZ() );
-	      m_event->back().back().addUserData(_beamline);
+	      std::vector<double> beamline;
+	      beamline.push_back( selectorRef.getBeamX() );
+	      beamline.push_back( selectorRef.getBeamY() );
+	      beamline.push_back( selectorRef.getBeamZ() );
+	      m_event->back().back().addUserData(beamline);
 	    }
 	    else { 	  
 	      m_event->back().back().addUserData(beamline);
@@ -1141,7 +1141,7 @@ void AnalysisConfig_Ntuple::loop() {
 		m_provider->msg(MSG::INFO) << "chain " << chainName 
 					   << "\tprescale " << (*m_tdt)->getPrescale(chainName)
 					   << "\tpass "     << (*m_tdt)->isPassed(chainName) << " physics " 
-					   << "  (req dec " << (*m_tdt)->isPassed(chainName, _decisiontype ) << " dec type " << _decisiontype << ")"
+					   << "  (req dec " << (*m_tdt)->isPassed(chainName, decisiontype ) << " dec type " << decisiontype << ")"
 					   << endmsg;
 		
 
@@ -1159,7 +1159,7 @@ void AnalysisConfig_Ntuple::loop() {
 		/// that are still active
 		unsigned decisiontype;
 		//                if ( m_chainNames[ichain].passed() ) decisiontype = TrigDefs::Physics;
-                if ( m_chainNames[ichain].passed() ) decisiontype = _decisiontype;
+                if ( m_chainNames[ichain].passed() ) decisiontype = decisiontype;
 		else                                 decisiontype = TrigDefs::alsoDeactivateTEs;
 
 #if 0
@@ -1197,19 +1197,19 @@ void AnalysisConfig_Ntuple::loop() {
 		  m_provider->msg(MSG::INFO) << "\tfetching features for chain " <<  decisiontype << "     " << chainName << "\t" << combEnd-comb << " combinations" << endmsg;
 		}
 
-		if ( (*m_tdt)->isPassed(chainName, _decisiontype ) ) { 
-		  m_provider->msg(MSG::INFO) << "\tfetching features for chain " << _decisiontype << "(RQ) " << chainName << "\t" << combEnd-comb << " combinations" << endmsg;
+		if ( (*m_tdt)->isPassed(chainName, decisiontype ) ) { 
+		  m_provider->msg(MSG::INFO) << "\tfetching features for chain " << decisiontype << "(RQ) " << chainName << "\t" << combEnd-comb << " combinations" << endmsg;
 		}
 
 
 		{
-		  Trig::FeatureContainer f = (*m_tdt)->features( chainName, _decisiontype );  //, TrigDefs::alsoDeactivateTEs);
+		  Trig::FeatureContainer f = (*m_tdt)->features( chainName, decisiontype );  //, TrigDefs::alsoDeactivateTEs);
 		  Trig::FeatureContainer::combination_const_iterator comb(f.getCombinations().begin()); 
 		  Trig::FeatureContainer::combination_const_iterator combEnd(f.getCombinations().end());
 		  
 		  m_provider->msg(MSG::INFO) << "" << "\tpassed combinations   chain " << chainName << "\t" 
 					     << combEnd-comb << " combinations" 
-					     << "\tdecision " << (*m_tdt)->isPassed(chainName, _decisiontype )  << ""  
+					     << "\tdecision " << (*m_tdt)->isPassed(chainName, decisiontype )  << ""  
 					     << endmsg;
 		}		
 
@@ -1261,54 +1261,54 @@ void AnalysisConfig_Ntuple::loop() {
 			std::string roi_name = m_chainNames[ichain].roi();
 			std::string vtx_name = m_chainNames[ichain].vtx();
 
-			std::vector< Trig::Feature<TrigRoiDescriptor> > _rois;
+			std::vector< Trig::Feature<TrigRoiDescriptor> > rois;
 			
 			//			std::cout << "chain " << chainName << "\troi_name " << roi_name << std::endl;
 
 			if ( roi_name!="" ) { 
 
-			  _rois = comb->get<TrigRoiDescriptor>(roi_name);
+			  rois = comb->get<TrigRoiDescriptor>(roi_name);
 
 			  //			  std::cout << "roi_name " << roi_name << std::endl;
 
-			  if ( _rois.size()>0 ) { 
-			    for ( unsigned ir=0 ; ir<_rois.size() ; ir++ ) m_provider->msg(MSG::INFO) << "\t\tRetrieved roi  " << roi_name << "\t" << *_rois[ir].cptr() << endmsg; 
+			  if ( rois.size()>0 ) { 
+			    for ( unsigned ir=0 ; ir<rois.size() ; ir++ ) m_provider->msg(MSG::INFO) << "\t\tRetrieved roi  " << roi_name << "\t" << *rois[ir].cptr() << endmsg; 
 			  }
 			  else { 
 			    m_provider->msg(MSG::WARNING) << "\t\tRequested roi  " << roi_name << " not found" << endmsg; 
 			  }
 			}
 			else { 
-			  _rois = comb->get<TrigRoiDescriptor>("forID1"); 
-			  if ( _rois.empty() ) _rois = comb->get<TrigRoiDescriptor>("forID"); 
-			  if ( _rois.empty() ) _rois = comb->get<TrigRoiDescriptor>(""); 
-			  if ( _rois.empty() ) _rois = comb->get<TrigRoiDescriptor>("initialRoI"); 
+			  rois = comb->get<TrigRoiDescriptor>("forID1"); 
+			  if ( rois.empty() ) rois = comb->get<TrigRoiDescriptor>("forID"); 
+			  if ( rois.empty() ) rois = comb->get<TrigRoiDescriptor>(""); 
+			  if ( rois.empty() ) rois = comb->get<TrigRoiDescriptor>("initialRoI"); 
 			}			  
 
-			if ( _rois.empty() ) continue;
+			if ( rois.empty() ) continue;
 
 			if ( iroiptr==0 ) { 
-			  iroiptr = _rois[0].cptr();
+			  iroiptr = rois[0].cptr();
 			}
 			else { 
-			  if ( iroiptr == _rois[0].cptr() ) { 
-			    // std::cout << "found RoI before " << *_rois[0].cptr() << std::endl;
+			  if ( iroiptr == rois[0].cptr() ) { 
+			    // std::cout << "found RoI before " << *rois[0].cptr() << std::endl;
 			    continue;
 			  }
 			}
 			
 			// notify if have multiple RoIs (get this for FS chains)
-			if( _rois.size()>1) {
+			if( rois.size()>1) {
 			  m_provider->msg(MSG::INFO) << "\tMore than one RoI found for seeded chain " << chainName << ": not yet supported" << endmsg;
 			  //continue; 
 			}
 
 			TIDARoiDescriptor* roiInfo = 0;
-			if( !_rois.empty() ) {
+			if( !rois.empty() ) {
 		
-			  for (  unsigned itmp=0  ;  itmp<_rois.size()  ;  itmp++ ) {
+			  for (  unsigned itmp=0  ;  itmp<rois.size()  ;  itmp++ ) {
 			    
-			    const TrigRoiDescriptor* roid = _rois[itmp].cptr();
+			    const TrigRoiDescriptor* roid = rois[itmp].cptr();
    
 			    m_provider->msg(MSG::INFO) << "\tchain " << chainName << " RoI descriptor " << itmp << " " << *roid << endmsg;
 			    
@@ -1501,11 +1501,11 @@ void AnalysisConfig_Ntuple::loop() {
 			chain.back().addVertices(tidavertices);
 			chain.back().addUserData(beamline_online);
 			if ( selectorTest.getBeamX()!=0 || selectorTest.getBeamY()!=0 || selectorTest.getBeamZ()!=0 ) { 
-			  std::vector<double> _beamline;
-			  _beamline.push_back( selectorTest.getBeamX() );
-			  _beamline.push_back( selectorTest.getBeamY() );
-			  _beamline.push_back( selectorTest.getBeamZ() );
-			  chain.back().addUserData(_beamline);
+			  std::vector<double> beamline;
+			  beamline.push_back( selectorTest.getBeamX() );
+			  beamline.push_back( selectorTest.getBeamY() );
+			  beamline.push_back( selectorTest.getBeamZ() );
+			  chain.back().addUserData(beamline);
 			}
 			else { 	  
 			  if ( beamline_online.size()>3 ) chain.back().addUserData(beamline_online);
@@ -1521,7 +1521,7 @@ void AnalysisConfig_Ntuple::loop() {
 	}
 
 	if ( m_printInfo ) m_provider->msg(MSG::INFO) << "FILL TREE\n" << (*m_event) << endmsg;      
-	if ( mTree ) mTree->Fill();
+	if ( m_tree ) m_tree->Fill();
 
 }
 
@@ -1600,7 +1600,7 @@ void AnalysisConfig_Ntuple::book() {
 
 	if ( first_open || genericFlag() ) {
 		/// create a brand new ntple
-		mFile = new TFile( outputFileName.c_str(), "recreate"); 
+		m_file = new TFile( outputFileName.c_str(), "recreate"); 
 
 		TTree*  dataTree = new TTree("dataTree", "dataTree");
 		TString releaseData(m_releaseData.c_str());
@@ -1610,19 +1610,19 @@ void AnalysisConfig_Ntuple::book() {
 		delete dataTree;
 
 
-		mTree = new TTree("tree", "tree");
-		mTree->Branch( "TIDA::Event", "TIDA::Event", m_event, 6400, 1 );
+		m_tree = new TTree("tree", "tree");
+		m_tree->Branch( "TIDA::Event", "TIDA::Event", m_event, 6400, 1 );
 
 		
 	}
 	else { 
 		/// update the ntple from the file  
-		mFile = new TFile( outputFileName.c_str(), "update");
-		mTree = (TTree *)mFile->Get("tree");
-		mTree->SetBranchAddress( "TIDA::Event", &m_event );
+		m_file = new TFile( outputFileName.c_str(), "update");
+		m_tree = (TTree *)m_file->Get("tree");
+		m_tree->SetBranchAddress( "TIDA::Event", &m_event );
 	}
 
-	mDir = gDirectory;
+	m_dir = gDirectory;
 
 	first_open = false;
 
@@ -1655,38 +1655,38 @@ void AnalysisConfig_Ntuple::finalize() {
 
 	/// NB: flag this round the other way for multiple files
 	if ( m_finalised ) { 
-		m_provider->msg(MSG::INFO) << "AnalysisConfig_Ntuple::finalise() flagged, not finalising  " << m_provider->name() << "\t" << mTree->GetEntries() << " entries" << endmsg; 
+		m_provider->msg(MSG::INFO) << "AnalysisConfig_Ntuple::finalise() flagged, not finalising  " << m_provider->name() << "\t" << m_tree->GetEntries() << " entries" << endmsg; 
 		return;
 	}
 
-	m_provider->msg(MSG::INFO) << "AnalysisConfig_Ntuple::finalise() writing " << m_provider->name() << "\t" << mTree->GetEntries() << " entries" << endmsg; 
+	m_provider->msg(MSG::INFO) << "AnalysisConfig_Ntuple::finalise() writing " << m_provider->name() << "\t" << m_tree->GetEntries() << " entries" << endmsg; 
 
 	TDirectory* directory = gDirectory; 
 
-	//	std::cout << "change directory " << name() << "  " << mDir->GetName() << std::endl;
+	//	std::cout << "change directory " << name() << "  " << m_dir->GetName() << std::endl;
 
-	m_provider->msg(MSG::DEBUG) << "change directory " << name() << "  " << mDir->GetName() << endmsg;
+	m_provider->msg(MSG::DEBUG) << "change directory " << name() << "  " << m_dir->GetName() << endmsg;
 
 
-	mDir->cd();
+	m_dir->cd();
 
 	//  gDirectory->pwd();
 
-	if ( mTree ) mTree->Write("", TObject::kOverwrite);
+	if ( m_tree ) m_tree->Write("", TObject::kOverwrite);
 
-	//  mFile->Write();
-	if ( mFile ) mFile->Close();
+	//  m_file->Write();
+	if ( m_file ) m_file->Close();
 
 
 	m_finalised = true; /// flag that we have finalised and closed this file
 
-	// mTree "belongs" to the mFile so was (possibly) deleted on the mFile->Close();
+	// m_tree "belongs" to the m_file so was (possibly) deleted on the m_file->Close();
 	// so don't delete it ! 
-	// delete mTree; 
-	delete mFile;
+	// delete m_tree; 
+	delete m_file;
 
-	mTree = 0;
-	mFile = 0; 
+	m_tree = 0;
+	m_file = 0; 
 
 	//  f.Write();
 	//  f.Close();
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Distribution.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Distribution.cxx
index 3d9ab6cfeb3c6acdccf7840c4f117adc9ab8332e..83c6b4a6e67501e33b8479e8fbe0eb9bd7c8a959 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Distribution.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Distribution.cxx
@@ -11,32 +11,32 @@
 Analysis_Distribution::Analysis_Distribution(const std::string& name) : TrackAnalysis(name) {
 
   // Create track parameter histograms
-  h_eta = new TH1D(std::string(mname+"-eta").c_str(), std::string(mname+" eta distribution").c_str(), 100, -3, 3);
-  h_phi = new TH1D(std::string(mname+"-phi").c_str(), std::string(mname+" phi distribution").c_str(), 100, -3.15, 3.15);
-  h_z0  = new TH1D(std::string(mname+"-z0").c_str(),  std::string(mname+" z0 distribution").c_str(),  100, -200.0, 200.0);
-  h_d0  = new TH1D(std::string(mname+"-d0").c_str(),  std::string(mname+" d0 distribution").c_str(),  100, -5.0, 5.0);
-  h_pT  = new TH1D(std::string(mname+"-pT").c_str(),  std::string(mname+" pT distribution").c_str(),  100, -10000, 10000);
-  addHistogram(h_eta);
-  addHistogram(h_phi);
-  addHistogram(h_z0);
-  addHistogram(h_d0);
-  addHistogram(h_pT);
+  m_h_eta = new TH1D(std::string(mname+"-eta").c_str(), std::string(mname+" eta distribution").c_str(), 100, -3, 3);
+  m_h_phi = new TH1D(std::string(mname+"-phi").c_str(), std::string(mname+" phi distribution").c_str(), 100, -3.15, 3.15);
+  m_h_z0  = new TH1D(std::string(mname+"-z0").c_str(),  std::string(mname+" z0 distribution").c_str(),  100, -200.0, 200.0);
+  m_h_d0  = new TH1D(std::string(mname+"-d0").c_str(),  std::string(mname+" d0 distribution").c_str(),  100, -5.0, 5.0);
+  m_h_pT  = new TH1D(std::string(mname+"-pT").c_str(),  std::string(mname+" pT distribution").c_str(),  100, -10000, 10000);
+  addHistogram(m_h_eta);
+  addHistogram(m_h_phi);
+  addHistogram(m_h_z0);
+  addHistogram(m_h_d0);
+  addHistogram(m_h_pT);
   
   // Create track hit histograms
-  h_blay    = new TH1D(std::string(mname+"-blay").c_str(),    std::string(mname+" blayer").c_str(),  2, -0.5, 1.5);
-  h_pixel   = new TH1D(std::string(mname+"-pixel").c_str(),   std::string(mname+" pixel").c_str(),   10, -0.5, 9.5);
-  h_sct     = new TH1D(std::string(mname+"-sct").c_str(),     std::string(mname+" sct").c_str(),     12, -0.5, 11.5);
-  h_silicon = new TH1D(std::string(mname+"-silicon").c_str(), std::string(mname+" silicon").c_str(), 20, -0.5, 19.5);
-  h_silicon_match = new TH1D(std::string(mname+"-silicon_match").c_str(), std::string(mname+" silicon_match").c_str(), 20, -0.5, 19.5);
-  h_straw   = new TH1D(std::string(mname+"-straw").c_str(),   std::string(mname+" straw").c_str(),   40, -0.5, 39.5);
-  h_tr      = new TH1D(std::string(mname+"-tr").c_str(),      std::string(mname+" tr").c_str(),      40, -0.5, 39.5);
-  addHistogram(h_blay);
-  addHistogram(h_pixel);
-  addHistogram(h_sct);
-  addHistogram(h_silicon);
-  addHistogram(h_silicon_match);
-  addHistogram(h_straw);
-  addHistogram(h_tr);
+  m_h_blay    = new TH1D(std::string(mname+"-blay").c_str(),    std::string(mname+" blayer").c_str(),  2, -0.5, 1.5);
+  m_h_pixel   = new TH1D(std::string(mname+"-pixel").c_str(),   std::string(mname+" pixel").c_str(),   10, -0.5, 9.5);
+  m_h_sct     = new TH1D(std::string(mname+"-sct").c_str(),     std::string(mname+" sct").c_str(),     12, -0.5, 11.5);
+  m_h_silicon = new TH1D(std::string(mname+"-silicon").c_str(), std::string(mname+" silicon").c_str(), 20, -0.5, 19.5);
+  m_h_silicon_match = new TH1D(std::string(mname+"-silicon_match").c_str(), std::string(mname+" silicon_match").c_str(), 20, -0.5, 19.5);
+  m_h_straw   = new TH1D(std::string(mname+"-straw").c_str(),   std::string(mname+" straw").c_str(),   40, -0.5, 39.5);
+  m_h_tr      = new TH1D(std::string(mname+"-tr").c_str(),      std::string(mname+" tr").c_str(),      40, -0.5, 39.5);
+  addHistogram(m_h_blay);
+  addHistogram(m_h_pixel);
+  addHistogram(m_h_sct);
+  addHistogram(m_h_silicon);
+  addHistogram(m_h_silicon_match);
+  addHistogram(m_h_straw);
+  addHistogram(m_h_tr);
 
 }
 
@@ -77,19 +77,19 @@ void Analysis_Distribution::execute(const std::vector<TIDA::Track*>& referenceTr
     double testTr      = (*test)->trHits();
 
     // Fill parameter distribution plots
-    h_eta->Fill(testEta);
-    h_phi->Fill(testPhi);
-    h_z0->Fill(testZ0);
-    h_d0->Fill(testD0);
-    h_pT->Fill(testPT);
+    m_h_eta->Fill(testEta);
+    m_h_phi->Fill(testPhi);
+    m_h_z0->Fill(testZ0);
+    m_h_d0->Fill(testD0);
+    m_h_pT->Fill(testPT);
 
     // Fill hit distribution plots
-    h_blay->Fill(testBlay);
-    h_pixel->Fill(testPixel);
-    h_sct->Fill(testSct);
-    h_silicon->Fill(testSilicon);
-    h_straw->Fill(testStraw);
-    h_tr->Fill(testTr);
+    m_h_blay->Fill(testBlay);
+    m_h_pixel->Fill(testPixel);
+    m_h_sct->Fill(testSct);
+    m_h_silicon->Fill(testSilicon);
+    m_h_straw->Fill(testStraw);
+    m_h_tr->Fill(testTr);
 
   }
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Efficiency.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Efficiency.cxx
index c6a9630d5028f06771dc3c4502d6817003139451..6898dd198632ecd362e722e4c3a872f36943fe01 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Efficiency.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Efficiency.cxx
@@ -11,46 +11,46 @@ Analysis_Efficiency::Analysis_Efficiency(const std::string& name, double pTCut,
   TrackAnalysis(name), m_pTCut(pTCut), m_etaCut(etaCut), m_d0Cut(d0Cut), m_z0Cut(z0Cut) {                                   
 
   // Create integral efficiency histograms
-  h_integralD = new TH1D(std::string(mname+"-denominator-integral").c_str(), std::string(mname+" integral efficiency denominator").c_str(), 1, 0.0, 1.0);
-  h_integralN = new TH1D(std::string(mname+"-numerator-integral").c_str(),   std::string(mname+" integral efficiency numerator").c_str(),   1, 0.0, 1.0);
-  h_integral  = new TH1D(std::string(mname+"-integral").c_str(),             std::string(mname+" integral efficiency").c_str(),             1, 0.0, 1.0);
-  addHistogram(h_integralD);
-  addHistogram(h_integralN);
-  addHistogram(h_integral);
+  m_h_integralD = new TH1D(std::string(mname+"-denominator-integral").c_str(), std::string(mname+" integral efficiency denominator").c_str(), 1, 0.0, 1.0);
+  m_h_integralN = new TH1D(std::string(mname+"-numerator-integral").c_str(),   std::string(mname+" integral efficiency numerator").c_str(),   1, 0.0, 1.0);
+  m_h_integral  = new TH1D(std::string(mname+"-integral").c_str(),             std::string(mname+" integral efficiency").c_str(),             1, 0.0, 1.0);
+  addHistogram(m_h_integralD);
+  addHistogram(m_h_integralN);
+  addHistogram(m_h_integral);
     
   // Create differential efficiency histograms
-  h_etaD = new TH1D(std::string(mname+"-denominator-eta").c_str(), std::string(mname+" eta efficiency denominator").c_str(), 100, -2.5, 2.5);
-  h_phiD = new TH1D(std::string(mname+"-denominator-phi").c_str(), std::string(mname+" phi efficiency denominator").c_str(), 100, -3.142, 3.142);
-  h_z0D  = new TH1D(std::string(mname+"-denominator-z0").c_str(),  std::string(mname+" z0 efficiency denominator").c_str(),  100, -200, 200);
-  h_d0D  = new TH1D(std::string(mname+"-denominator-d0").c_str(),  std::string(mname+" d0 efficiency denominator").c_str(),  100, -20, 20);
-  h_pTD  = new TH1D(std::string(mname+"-denominator-pT").c_str(),  std::string(mname+" pT efficiency denominator").c_str(),  100, -10000, 10000);
-  addHistogram(h_etaD);
-  addHistogram(h_phiD);
-  addHistogram(h_z0D);
-  addHistogram(h_d0D);
-  addHistogram(h_pTD);
+  m_h_etaD = new TH1D(std::string(mname+"-denominator-eta").c_str(), std::string(mname+" eta efficiency denominator").c_str(), 100, -2.5, 2.5);
+  m_h_phiD = new TH1D(std::string(mname+"-denominator-phi").c_str(), std::string(mname+" phi efficiency denominator").c_str(), 100, -3.142, 3.142);
+  m_h_z0D  = new TH1D(std::string(mname+"-denominator-z0").c_str(),  std::string(mname+" z0 efficiency denominator").c_str(),  100, -200, 200);
+  m_h_d0D  = new TH1D(std::string(mname+"-denominator-d0").c_str(),  std::string(mname+" d0 efficiency denominator").c_str(),  100, -20, 20);
+  m_h_pTD  = new TH1D(std::string(mname+"-denominator-pT").c_str(),  std::string(mname+" pT efficiency denominator").c_str(),  100, -10000, 10000);
+  addHistogram(m_h_etaD);
+  addHistogram(m_h_phiD);
+  addHistogram(m_h_z0D);
+  addHistogram(m_h_d0D);
+  addHistogram(m_h_pTD);
   
-  h_etaN = new TH1D(std::string(mname+"-numerator-eta").c_str(), std::string(mname+" eta efficiency numerator").c_str(), 100, -2.5, 2.5);
-  h_phiN = new TH1D(std::string(mname+"-numerator-phi").c_str(), std::string(mname+" phi efficiency numerator").c_str(), 100, -3.142, 3.142);
-  h_z0N  = new TH1D(std::string(mname+"-numerator-z0").c_str(),  std::string(mname+" z0 efficiency numerator").c_str(),  100, -200, 200);
-  h_d0N  = new TH1D(std::string(mname+"-numerator-d0").c_str(),  std::string(mname+" d0 efficiency numerator").c_str(),  100, -20, 20);
-  h_pTN  = new TH1D(std::string(mname+"-numerator-pT").c_str(),  std::string(mname+" pT efficiency numerator").c_str(),  100, -10000, 10000);
-  addHistogram(h_etaN);
-  addHistogram(h_phiN);
-  addHistogram(h_z0N);
-  addHistogram(h_d0N);
-  addHistogram(h_pTN);
+  m_h_etaN = new TH1D(std::string(mname+"-numerator-eta").c_str(), std::string(mname+" eta efficiency numerator").c_str(), 100, -2.5, 2.5);
+  m_h_phiN = new TH1D(std::string(mname+"-numerator-phi").c_str(), std::string(mname+" phi efficiency numerator").c_str(), 100, -3.142, 3.142);
+  m_h_z0N  = new TH1D(std::string(mname+"-numerator-z0").c_str(),  std::string(mname+" z0 efficiency numerator").c_str(),  100, -200, 200);
+  m_h_d0N  = new TH1D(std::string(mname+"-numerator-d0").c_str(),  std::string(mname+" d0 efficiency numerator").c_str(),  100, -20, 20);
+  m_h_pTN  = new TH1D(std::string(mname+"-numerator-pT").c_str(),  std::string(mname+" pT efficiency numerator").c_str(),  100, -10000, 10000);
+  addHistogram(m_h_etaN);
+  addHistogram(m_h_phiN);
+  addHistogram(m_h_z0N);
+  addHistogram(m_h_d0N);
+  addHistogram(m_h_pTN);
   
-  h_eta = new TH1D(std::string(mname+"-eta").c_str(), std::string(mname+" eta efficiency").c_str(), 100, -2.5, 2.5);
-  h_phi = new TH1D(std::string(mname+"-phi").c_str(), std::string(mname+" phi efficiency").c_str(), 100, -3.142, 3.142);
-  h_z0  = new TH1D(std::string(mname+"-z0").c_str(),  std::string(mname+" z0 efficiency").c_str(),  100, -200, 200);
-  h_d0  = new TH1D(std::string(mname+"-d0").c_str(),  std::string(mname+" d0 efficiency").c_str(),  100, -20, 20);
-  h_pT  = new TH1D(std::string(mname+"-pT").c_str(),  std::string(mname+" pT efficiency").c_str(),  100, -10000, 10000);
-  addHistogram(h_eta);
-  addHistogram(h_phi);
-  addHistogram(h_z0);
-  addHistogram(h_d0);
-  addHistogram(h_pT);
+  m_h_eta = new TH1D(std::string(mname+"-eta").c_str(), std::string(mname+" eta efficiency").c_str(), 100, -2.5, 2.5);
+  m_h_phi = new TH1D(std::string(mname+"-phi").c_str(), std::string(mname+" phi efficiency").c_str(), 100, -3.142, 3.142);
+  m_h_z0  = new TH1D(std::string(mname+"-z0").c_str(),  std::string(mname+" z0 efficiency").c_str(),  100, -200, 200);
+  m_h_d0  = new TH1D(std::string(mname+"-d0").c_str(),  std::string(mname+" d0 efficiency").c_str(),  100, -20, 20);
+  m_h_pT  = new TH1D(std::string(mname+"-pT").c_str(),  std::string(mname+" pT efficiency").c_str(),  100, -10000, 10000);
+  addHistogram(m_h_eta);
+  addHistogram(m_h_phi);
+  addHistogram(m_h_z0);
+  addHistogram(m_h_d0);
+  addHistogram(m_h_pT);
   
 }  
 
@@ -82,12 +82,12 @@ void Analysis_Efficiency::execute(const std::vector<TIDA::Track*>& referenceTrac
     bool passesPT  = (fabs(referencePT)>m_pTCut);
     bool passesD0  = (fabs(referenceD0)<m_d0Cut);
     bool passesZ0  = (fabs(referenceZ0)<m_z0Cut);
-    if(passesPT&&passesD0&&passesZ0)            h_etaD->Fill(referenceEta);
-    if(passesPT&&passesD0&&passesZ0&&passesEta) h_phiD->Fill(referencePhi);
-    if(passesPT&&passesD0&&passesEta)           h_z0D->Fill(referenceZ0);
-    if(passesPT&&passesZ0&&passesEta)           h_d0D->Fill(referenceD0);
-    if(passesD0&&passesZ0&&passesEta)           h_pTD->Fill(referencePT);
-    if(passesPT&&passesD0&&passesZ0&&passesEta) h_integralD->Fill(0.5);
+    if(passesPT&&passesD0&&passesZ0)            m_h_etaD->Fill(referenceEta);
+    if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_phiD->Fill(referencePhi);
+    if(passesPT&&passesD0&&passesEta)           m_h_z0D->Fill(referenceZ0);
+    if(passesPT&&passesZ0&&passesEta)           m_h_d0D->Fill(referenceD0);
+    if(passesD0&&passesZ0&&passesEta)           m_h_pTD->Fill(referencePT);
+    if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_integralD->Fill(0.5);
     
     // Find matched tracks
     const TIDA::Track* test = associator->matched(*reference);
@@ -96,12 +96,12 @@ void Analysis_Efficiency::execute(const std::vector<TIDA::Track*>& referenceTrac
     if(test ) {
         
       // Fill denominator
-      if(passesPT&&passesD0&&passesZ0)            h_etaN->Fill(referenceEta);
-      if(passesPT&&passesD0&&passesZ0&&passesEta) h_phiN->Fill(referencePhi);
-      if(passesPT&&passesD0&&passesEta)           h_z0N->Fill(referenceZ0);  
-      if(passesPT&&passesZ0&&passesEta)           h_d0N->Fill(referenceD0);  
-      if(passesD0&&passesZ0&&passesEta)           h_pTN->Fill(referencePT);  
-      if(passesPT&&passesD0&&passesZ0&&passesEta) h_integralN->Fill(0.5);    
+      if(passesPT&&passesD0&&passesZ0)            m_h_etaN->Fill(referenceEta);
+      if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_phiN->Fill(referencePhi);
+      if(passesPT&&passesD0&&passesEta)           m_h_z0N->Fill(referenceZ0);  
+      if(passesPT&&passesZ0&&passesEta)           m_h_d0N->Fill(referenceD0);  
+      if(passesD0&&passesZ0&&passesEta)           m_h_pTN->Fill(referencePT);  
+      if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_integralN->Fill(0.5);    
       
     }
   }
@@ -111,12 +111,12 @@ void Analysis_Efficiency::execute(const std::vector<TIDA::Track*>& referenceTrac
 
 void Analysis_Efficiency::finalise() {
 
-  h_phiD->Sumw2(); h_phiN->Sumw2(); h_phi->Sumw2(); h_phi->Divide(h_phiN, h_phiD, 1.0, 1.0, "B");
-  h_etaD->Sumw2(); h_etaN->Sumw2(); h_eta->Sumw2(); h_eta->Divide(h_etaN, h_etaD, 1.0, 1.0, "B");
-  h_z0D->Sumw2();  h_z0N->Sumw2();  h_z0->Sumw2();  h_z0->Divide(h_z0N, h_z0D, 1.0, 1.0, "B");
-  h_d0D->Sumw2();  h_d0N->Sumw2();  h_d0->Sumw2();  h_d0->Divide(h_d0N, h_d0D, 1.0, 1.0, "B");
-  h_pTD->Sumw2();  h_pTN->Sumw2();  h_pT->Sumw2();  h_pT->Divide(h_pTN, h_pTD, 1.0, 1.0, "B");
-  h_integralD->Sumw2();  h_integralN->Sumw2();  h_integral->Sumw2();  h_integral->Divide(h_integralN, h_integralD, 1.0, 1.0, "B");
+  m_h_phiD->Sumw2(); m_h_phiN->Sumw2(); m_h_phi->Sumw2(); m_h_phi->Divide(m_h_phiN, m_h_phiD, 1.0, 1.0, "B");
+  m_h_etaD->Sumw2(); m_h_etaN->Sumw2(); m_h_eta->Sumw2(); m_h_eta->Divide(m_h_etaN, m_h_etaD, 1.0, 1.0, "B");
+  m_h_z0D->Sumw2();  m_h_z0N->Sumw2();  m_h_z0->Sumw2();  m_h_z0->Divide(m_h_z0N, m_h_z0D, 1.0, 1.0, "B");
+  m_h_d0D->Sumw2();  m_h_d0N->Sumw2();  m_h_d0->Sumw2();  m_h_d0->Divide(m_h_d0N, m_h_d0D, 1.0, 1.0, "B");
+  m_h_pTD->Sumw2();  m_h_pTN->Sumw2();  m_h_pT->Sumw2();  m_h_pT->Divide(m_h_pTN, m_h_pTD, 1.0, 1.0, "B");
+  m_h_integralD->Sumw2();  m_h_integralN->Sumw2();  m_h_integral->Sumw2();  m_h_integral->Divide(m_h_integralN, m_h_integralD, 1.0, 1.0, "B");
 
 } 
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Fake.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Fake.cxx
index b9551a55df02d39242c397a2c78605c10538c184..61301c7591843360114eec0306c0003cb3cb0894 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Fake.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Fake.cxx
@@ -11,46 +11,46 @@ Analysis_Fake::Analysis_Fake(const std::string& name, double pTCut, double etaCu
   TrackAnalysis(name), m_pTCut(pTCut), m_etaCut(etaCut), m_d0Cut(d0Cut), m_z0Cut(z0Cut) {                                   
 
   // Create integral efficiency histograms
-  h_integralD = new TH1D(std::string(mname+"-denominator-integral").c_str(), std::string(mname+" integral fake denominator").c_str(), 1, 0.0, 1.0);
-  h_integralN = new TH1D(std::string(mname+"-numerator-integral").c_str(),   std::string(mname+" integral fake numerator").c_str(),   1, 0.0, 1.0);
-  h_integral  = new TH1D(std::string(mname+"-integral").c_str(),             std::string(mname+" integral fake").c_str(),             1, 0.0, 1.0);
-  addHistogram(h_integralD);
-  addHistogram(h_integralN);
-  addHistogram(h_integral);
+  m_h_integralD = new TH1D(std::string(mname+"-denominator-integral").c_str(), std::string(mname+" integral fake denominator").c_str(), 1, 0.0, 1.0);
+  m_h_integralN = new TH1D(std::string(mname+"-numerator-integral").c_str(),   std::string(mname+" integral fake numerator").c_str(),   1, 0.0, 1.0);
+  m_h_integral  = new TH1D(std::string(mname+"-integral").c_str(),             std::string(mname+" integral fake").c_str(),             1, 0.0, 1.0);
+  addHistogram(m_h_integralD);
+  addHistogram(m_h_integralN);
+  addHistogram(m_h_integral);
     
   // Create differential efficiency histograms
-  h_etaD = new TH1D(std::string(mname+"-denominator-eta").c_str(), std::string(mname+" eta fake denominator").c_str(), 100, -2.5, 2.5);
-  h_phiD = new TH1D(std::string(mname+"-denominator-phi").c_str(), std::string(mname+" phi fake denominator").c_str(), 100, -3.142, 3.142);
-  h_z0D  = new TH1D(std::string(mname+"-denominator-z0").c_str(),  std::string( mname+" z0 fake denominator").c_str(),  100, -200, 200);
-  h_d0D  = new TH1D(std::string(mname+"-denominator-d0").c_str(),  std::string( mname+" d0 fake denominator").c_str(),  100, -20, 20);
-  h_pTD  = new TH1D(std::string(mname+"-denominator-pT").c_str(),  std::string( mname+" pT fake denominator").c_str(),  100, -10000, 10000);
-  addHistogram(h_etaD);
-  addHistogram(h_phiD);
-  addHistogram(h_z0D);
-  addHistogram(h_d0D);
-  addHistogram(h_pTD);
+  m_h_etaD = new TH1D(std::string(mname+"-denominator-eta").c_str(), std::string(mname+" eta fake denominator").c_str(), 100, -2.5, 2.5);
+  m_h_phiD = new TH1D(std::string(mname+"-denominator-phi").c_str(), std::string(mname+" phi fake denominator").c_str(), 100, -3.142, 3.142);
+  m_h_z0D  = new TH1D(std::string(mname+"-denominator-z0").c_str(),  std::string( mname+" z0 fake denominator").c_str(),  100, -200, 200);
+  m_h_d0D  = new TH1D(std::string(mname+"-denominator-d0").c_str(),  std::string( mname+" d0 fake denominator").c_str(),  100, -20, 20);
+  m_h_pTD  = new TH1D(std::string(mname+"-denominator-pT").c_str(),  std::string( mname+" pT fake denominator").c_str(),  100, -10000, 10000);
+  addHistogram(m_h_etaD);
+  addHistogram(m_h_phiD);
+  addHistogram(m_h_z0D);
+  addHistogram(m_h_d0D);
+  addHistogram(m_h_pTD);
   
-  h_etaN = new TH1D(std::string(mname+"-numerator-eta").c_str(), std::string(mname+" eta fake numerator").c_str(), 100, -2.5, 2.5);
-  h_phiN = new TH1D(std::string(mname+"-numerator-phi").c_str(), std::string(mname+" phi fake numerator").c_str(), 100, -3.142, 3.142);
-  h_z0N  = new TH1D(std::string(mname+"-numerator-z0").c_str(),  std::string(mname +" z0 fake numerator").c_str(),  100, -200, 200);
-  h_d0N  = new TH1D(std::string(mname+"-numerator-d0").c_str(),  std::string(mname +" d0 fake numerator").c_str(),  100, -20, 20);
-  h_pTN  = new TH1D(std::string(mname+"-numerator-pT").c_str(),  std::string(mname +" pT fake numerator").c_str(),  100, -10000, 10000);
-  addHistogram(h_etaN);
-  addHistogram(h_phiN);
-  addHistogram(h_z0N);
-  addHistogram(h_d0N);
-  addHistogram(h_pTN);
+  m_h_etaN = new TH1D(std::string(mname+"-numerator-eta").c_str(), std::string(mname+" eta fake numerator").c_str(), 100, -2.5, 2.5);
+  m_h_phiN = new TH1D(std::string(mname+"-numerator-phi").c_str(), std::string(mname+" phi fake numerator").c_str(), 100, -3.142, 3.142);
+  m_h_z0N  = new TH1D(std::string(mname+"-numerator-z0").c_str(),  std::string(mname +" z0 fake numerator").c_str(),  100, -200, 200);
+  m_h_d0N  = new TH1D(std::string(mname+"-numerator-d0").c_str(),  std::string(mname +" d0 fake numerator").c_str(),  100, -20, 20);
+  m_h_pTN  = new TH1D(std::string(mname+"-numerator-pT").c_str(),  std::string(mname +" pT fake numerator").c_str(),  100, -10000, 10000);
+  addHistogram(m_h_etaN);
+  addHistogram(m_h_phiN);
+  addHistogram(m_h_z0N);
+  addHistogram(m_h_d0N);
+  addHistogram(m_h_pTN);
   
-  h_eta = new TH1D(std::string(mname+"-eta").c_str(), std::string(mname+" eta efficiency").c_str(), 100, -2.5, 2.5);
-  h_phi = new TH1D(std::string(mname+"-phi").c_str(), std::string(mname+" phi efficiency").c_str(), 100, -3.142, 3.142);
-  h_z0  = new TH1D(std::string(mname+"-z0").c_str(),  std::string(mname+" z0 efficiency").c_str(),  100, -200, 200);
-  h_d0  = new TH1D(std::string(mname+"-d0").c_str(),  std::string(mname+" d0 efficiency").c_str(),  100, -20, 20);
-  h_pT  = new TH1D(std::string(mname+"-pT").c_str(),  std::string(mname+" pT efficiency").c_str(),  100, -10000, 10000);
-  addHistogram(h_eta);
-  addHistogram(h_phi);
-  addHistogram(h_z0);
-  addHistogram(h_d0);
-  addHistogram(h_pT);
+  m_h_eta = new TH1D(std::string(mname+"-eta").c_str(), std::string(mname+" eta efficiency").c_str(), 100, -2.5, 2.5);
+  m_h_phi = new TH1D(std::string(mname+"-phi").c_str(), std::string(mname+" phi efficiency").c_str(), 100, -3.142, 3.142);
+  m_h_z0  = new TH1D(std::string(mname+"-z0").c_str(),  std::string(mname+" z0 efficiency").c_str(),  100, -200, 200);
+  m_h_d0  = new TH1D(std::string(mname+"-d0").c_str(),  std::string(mname+" d0 efficiency").c_str(),  100, -20, 20);
+  m_h_pT  = new TH1D(std::string(mname+"-pT").c_str(),  std::string(mname+" pT efficiency").c_str(),  100, -10000, 10000);
+  addHistogram(m_h_eta);
+  addHistogram(m_h_phi);
+  addHistogram(m_h_z0);
+  addHistogram(m_h_d0);
+  addHistogram(m_h_pT);
   
 }  
 
@@ -84,12 +84,12 @@ void Analysis_Fake::execute(const std::vector<TIDA::Track*>& ,
     bool passesPT  = (fabs(testPT)>m_pTCut);
     bool passesD0  = (fabs(testD0)<m_d0Cut);
     bool passesZ0  = (fabs(testZ0)<m_z0Cut);
-    if(passesPT&&passesD0&&passesZ0)            h_etaD->Fill(testEta);
-    if(passesPT&&passesD0&&passesZ0&&passesEta) h_phiD->Fill(testPhi);
-    if(passesPT&&passesD0&&passesEta)           h_z0D->Fill(testZ0);
-    if(passesPT&&passesZ0&&passesEta)           h_d0D->Fill(testD0);
-    if(passesD0&&passesZ0&&passesEta)           h_pTD->Fill(fabs(testPT));
-    if(passesPT&&passesD0&&passesZ0&&passesEta) h_integralD->Fill(0.5);
+    if(passesPT&&passesD0&&passesZ0)            m_h_etaD->Fill(testEta);
+    if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_phiD->Fill(testPhi);
+    if(passesPT&&passesD0&&passesEta)           m_h_z0D->Fill(testZ0);
+    if(passesPT&&passesZ0&&passesEta)           m_h_d0D->Fill(testD0);
+    if(passesD0&&passesZ0&&passesEta)           m_h_pTD->Fill(fabs(testPT));
+    if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_integralD->Fill(0.5);
     
     // Find matched tracks
     const TIDA::Track* ref = associator->revmatched(*test);
@@ -98,12 +98,12 @@ void Analysis_Fake::execute(const std::vector<TIDA::Track*>& ,
     if(!ref) {
 
       // Fill numerator
-      if(passesPT&&passesD0&&passesZ0)            h_etaN->Fill(testEta);
-      if(passesPT&&passesD0&&passesZ0&&passesEta) h_phiN->Fill(testPhi);
-      if(passesPT&&passesD0&&passesEta)           h_z0N->Fill(testZ0);  
-      if(passesPT&&passesZ0&&passesEta)           h_d0N->Fill(testD0);  
-      if(passesD0&&passesZ0&&passesEta)           h_pTN->Fill(fabs(testPT));  
-      if(passesPT&&passesD0&&passesZ0&&passesEta) h_integralN->Fill(0.5);    
+      if(passesPT&&passesD0&&passesZ0)            m_h_etaN->Fill(testEta);
+      if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_phiN->Fill(testPhi);
+      if(passesPT&&passesD0&&passesEta)           m_h_z0N->Fill(testZ0);  
+      if(passesPT&&passesZ0&&passesEta)           m_h_d0N->Fill(testD0);  
+      if(passesD0&&passesZ0&&passesEta)           m_h_pTN->Fill(fabs(testPT));  
+      if(passesPT&&passesD0&&passesZ0&&passesEta) m_h_integralN->Fill(0.5);    
       
     }
   }
@@ -113,12 +113,12 @@ void Analysis_Fake::execute(const std::vector<TIDA::Track*>& ,
 
 void Analysis_Fake::finalise() {
 
-  h_phiD->Sumw2(); h_phiN->Sumw2(); h_phi->Sumw2(); h_phi->Divide(h_phiN, h_phiD, 1.0, 1.0, "B");
-  h_etaD->Sumw2(); h_etaN->Sumw2(); h_eta->Sumw2(); h_eta->Divide(h_etaN, h_etaD, 1.0, 1.0, "B");
-  h_z0D->Sumw2();  h_z0N->Sumw2();  h_z0->Sumw2();  h_z0->Divide(h_z0N, h_z0D, 1.0, 1.0, "B");
-  h_d0D->Sumw2();  h_d0N->Sumw2();  h_d0->Sumw2();  h_d0->Divide(h_d0N, h_d0D, 1.0, 1.0, "B");
-  h_pTD->Sumw2();  h_pTN->Sumw2();  h_pT->Sumw2();  h_pT->Divide(h_pTN, h_pTD, 1.0, 1.0, "B");
-  h_integralD->Sumw2();  h_integralN->Sumw2();  h_integral->Sumw2();  h_integral->Divide(h_integralN, h_integralD, 1.0, 1.0, "B");
+  m_h_phiD->Sumw2(); m_h_phiN->Sumw2(); m_h_phi->Sumw2(); m_h_phi->Divide(m_h_phiN, m_h_phiD, 1.0, 1.0, "B");
+  m_h_etaD->Sumw2(); m_h_etaN->Sumw2(); m_h_eta->Sumw2(); m_h_eta->Divide(m_h_etaN, m_h_etaD, 1.0, 1.0, "B");
+  m_h_z0D->Sumw2();  m_h_z0N->Sumw2();  m_h_z0->Sumw2();  m_h_z0->Divide(m_h_z0N, m_h_z0D, 1.0, 1.0, "B");
+  m_h_d0D->Sumw2();  m_h_d0N->Sumw2();  m_h_d0->Sumw2();  m_h_d0->Divide(m_h_d0N, m_h_d0D, 1.0, 1.0, "B");
+  m_h_pTD->Sumw2();  m_h_pTN->Sumw2();  m_h_pT->Sumw2();  m_h_pT->Divide(m_h_pTN, m_h_pTD, 1.0, 1.0, "B");
+  m_h_integralD->Sumw2();  m_h_integralN->Sumw2();  m_h_integral->Sumw2();  m_h_integral->Divide(m_h_integralN, m_h_integralD, 1.0, 1.0, "B");
 
 } 
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Missed.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Missed.cxx
index 7d4aa277b422b44f13a7dcf06934aa80e4ba5e20..18777ac3f41c36783f42cd75b31228eb70bbdc2f 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Missed.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Missed.cxx
@@ -9,51 +9,51 @@
 Analysis_Missed::Analysis_Missed(const std::string& name) : TrackAnalysis(name) {
 
   // Create track number histograms
-  h_ntrack     = new TH1D(std::string(mname+"-ntracks").c_str(),     std::string(mname+" n tracks").c_str(),          10, -0.5, 9.5);
-  h_ntrackfrac = new TH1D(std::string(mname+"-ntracksfrac").c_str(), std::string(mname+" n tracks fraction").c_str(), 20, -0.5, 1.5);
-  addHistogram(h_ntrack);
-  addHistogram(h_ntrackfrac);
+  m_h_ntrack     = new TH1D(std::string(mname+"-ntracks").c_str(),     std::string(mname+" n tracks").c_str(),          10, -0.5, 9.5);
+  m_h_ntrackfrac = new TH1D(std::string(mname+"-ntracksfrac").c_str(), std::string(mname+" n tracks fraction").c_str(), 20, -0.5, 1.5);
+  addHistogram(m_h_ntrack);
+  addHistogram(m_h_ntrackfrac);
 
   // Create track parameter histograms
-  h_eta  = new TH1D(std::string(mname+"-eta").c_str(),  std::string(mname+" eta distribution").c_str(),  100, -3, 3);
-  h_phi  = new TH1D(std::string(mname+"-phi").c_str(),  std::string(mname+" phi distribution").c_str(),  100, -3.15, 3.15);
-  h_z0   = new TH1D(std::string(mname+"-z0").c_str(),   std::string(mname+" z0 distribution").c_str(),   100, -200.0, 200.0);
-  h_d0   = new TH1D(std::string(mname+"-d0").c_str(),   std::string(mname+" d0 distribution").c_str(),   100, -5.0, 5.0);
-  h_pT   = new TH1D(std::string(mname+"-pT").c_str(),   std::string(mname+" pT distribution").c_str(),   100, -10000, 10000);
-  h_chi2 = new TH1D(std::string(mname+"-chi2").c_str(), std::string(mname+" chi2 distribution").c_str(), 1000, -10, 990);
-  addHistogram(h_eta);
-  addHistogram(h_phi);
-  addHistogram(h_z0);
-  addHistogram(h_d0);
-  addHistogram(h_pT);
-  addHistogram(h_chi2);
+  m_h_eta  = new TH1D(std::string(mname+"-eta").c_str(),  std::string(mname+" eta distribution").c_str(),  100, -3, 3);
+  m_h_phi  = new TH1D(std::string(mname+"-phi").c_str(),  std::string(mname+" phi distribution").c_str(),  100, -3.15, 3.15);
+  m_h_z0   = new TH1D(std::string(mname+"-z0").c_str(),   std::string(mname+" z0 distribution").c_str(),   100, -200.0, 200.0);
+  m_h_d0   = new TH1D(std::string(mname+"-d0").c_str(),   std::string(mname+" d0 distribution").c_str(),   100, -5.0, 5.0);
+  m_h_pT   = new TH1D(std::string(mname+"-pT").c_str(),   std::string(mname+" pT distribution").c_str(),   100, -10000, 10000);
+  m_h_chi2 = new TH1D(std::string(mname+"-chi2").c_str(), std::string(mname+" chi2 distribution").c_str(), 1000, -10, 990);
+  addHistogram(m_h_eta);
+  addHistogram(m_h_phi);
+  addHistogram(m_h_z0);
+  addHistogram(m_h_d0);
+  addHistogram(m_h_pT);
+  addHistogram(m_h_chi2);
   
   // Create track hit histograms
-  h_blay      = new TH1D(std::string(mname+"-blay").c_str(),         std::string(mname+" blayer").c_str(),        2, -0.5, 1.5);
-  h_pixel     = new TH1D(std::string(mname+"-pixel").c_str(),        std::string(mname+" pixel").c_str(),         10, -0.5, 9.5);
-  h_sct       = new TH1D(std::string(mname+"-sct").c_str(),          std::string(mname+" sct").c_str(),           12, -0.5, 11.5);
-  h_silicon   = new TH1D(std::string(mname+"-silicon").c_str(),      std::string(mname+" silicon").c_str(),       20, -0.5, 19.5);
-  h_straw     = new TH1D(std::string(mname+"-straw").c_str(),        std::string(mname+" straw").c_str(),         40, -0.5, 39.5);
-  h_tr        = new TH1D(std::string(mname+"-tr").c_str(),           std::string(mname+" tr").c_str(),            40, -0.5, 39.5);
-  h_patt      = new TH1D(std::string(mname+"-pattern").c_str(),      std::string(mname+" pattern").c_str(),       19, -0.5, 18.5);
-  h_firstpatt = new TH1D(std::string(mname+"-firstpattern").c_str(), std::string(mname+" first pattern").c_str(), 19, -0.5, 18.5);
-  addHistogram(h_blay);
-  addHistogram(h_pixel);
-  addHistogram(h_sct);
-  addHistogram(h_silicon);
-  addHistogram(h_straw);
-  addHistogram(h_tr);
-  addHistogram(h_patt);
-  addHistogram(h_firstpatt);
+  m_h_blay      = new TH1D(std::string(mname+"-blay").c_str(),         std::string(mname+" blayer").c_str(),        2, -0.5, 1.5);
+  m_h_pixel     = new TH1D(std::string(mname+"-pixel").c_str(),        std::string(mname+" pixel").c_str(),         10, -0.5, 9.5);
+  m_h_sct       = new TH1D(std::string(mname+"-sct").c_str(),          std::string(mname+" sct").c_str(),           12, -0.5, 11.5);
+  m_h_silicon   = new TH1D(std::string(mname+"-silicon").c_str(),      std::string(mname+" silicon").c_str(),       20, -0.5, 19.5);
+  m_h_straw     = new TH1D(std::string(mname+"-straw").c_str(),        std::string(mname+" straw").c_str(),         40, -0.5, 39.5);
+  m_h_tr        = new TH1D(std::string(mname+"-tr").c_str(),           std::string(mname+" tr").c_str(),            40, -0.5, 39.5);
+  m_h_patt      = new TH1D(std::string(mname+"-pattern").c_str(),      std::string(mname+" pattern").c_str(),       19, -0.5, 18.5);
+  m_h_firstpatt = new TH1D(std::string(mname+"-firstpattern").c_str(), std::string(mname+" first pattern").c_str(), 19, -0.5, 18.5);
+  addHistogram(m_h_blay);
+  addHistogram(m_h_pixel);
+  addHistogram(m_h_sct);
+  addHistogram(m_h_silicon);
+  addHistogram(m_h_straw);
+  addHistogram(m_h_tr);
+  addHistogram(m_h_patt);
+  addHistogram(m_h_firstpatt);
   
   // Create 2D histograms
   
-  h_etaphi  = new TH2D(std::string(mname+"-etaphi").c_str(),  std::string(mname+" etaphi").c_str(),  100, -3.0, 3.0, 100, -3.15, 3.15);  
-  h_etapatt = new TH2D(std::string(mname+"-etapatt").c_str(), std::string(mname+" etapatt").c_str(), 19, -0.5, 18.5, 100, -3.0, 3.0);  
-  h_phipatt = new TH2D(std::string(mname+"-phipatt").c_str(), std::string(mname+" phipatt").c_str(), 19, -0.5, 18.5, 100, -3.15, 3.15);  
-  addHistogram(h_etaphi);
-  addHistogram(h_etapatt);
-  addHistogram(h_phipatt);
+  m_h_etaphi  = new TH2D(std::string(mname+"-etaphi").c_str(),  std::string(mname+" etaphi").c_str(),  100, -3.0, 3.0, 100, -3.15, 3.15);  
+  m_h_etapatt = new TH2D(std::string(mname+"-etapatt").c_str(), std::string(mname+" etapatt").c_str(), 19, -0.5, 18.5, 100, -3.0, 3.0);  
+  m_h_phipatt = new TH2D(std::string(mname+"-phipatt").c_str(), std::string(mname+" phipatt").c_str(), 19, -0.5, 18.5, 100, -3.15, 3.15);  
+  addHistogram(m_h_etaphi);
+  addHistogram(m_h_etapatt);
+  addHistogram(m_h_phipatt);
   
 }
 
@@ -85,8 +85,8 @@ void Analysis_Missed::execute(const std::vector<TIDA::Track*>& referenceTracks,
 
   // Fill track number histograms
   if(testAuthor<mainAuthor) {
-    h_ntrack->Fill((double)(countMain));
-    h_ntrackfrac->Fill((double)(countMain-countTest)/((double)countMain));
+    m_h_ntrack->Fill((double)(countMain));
+    m_h_ntrackfrac->Fill((double)(countMain-countTest)/((double)countMain));
   }
 
   if(mainAuthor==-1 || testAuthor==-1) return;
@@ -151,30 +151,30 @@ void Analysis_Missed::execute(const std::vector<TIDA::Track*>& referenceTracks,
       std::cout << "MISSING TRACK FOUND!" << std::endl;
 
       // Fill parameter distribution plots
-      h_etaphi->Fill(testEta,testPhi);
-      h_eta->Fill(testEta);
-      h_phi->Fill(testPhi);
-      h_z0->Fill(testZ0);
-      h_d0->Fill(testD0);
-      h_pT->Fill(testPT);
-      h_chi2->Fill(testChi2);
+      m_h_etaphi->Fill(testEta,testPhi);
+      m_h_eta->Fill(testEta);
+      m_h_phi->Fill(testPhi);
+      m_h_z0->Fill(testZ0);
+      m_h_d0->Fill(testD0);
+      m_h_pT->Fill(testPT);
+      m_h_chi2->Fill(testChi2);
       
       // Fill hit distribution plots
-      h_blay->Fill(testBlay);
-      h_pixel->Fill(testPixel);
-      h_sct->Fill(testSct);
-      h_silicon->Fill(testSilicon);
-      h_straw->Fill(testStraw);
-      h_tr->Fill(testTr);
+      m_h_blay->Fill(testBlay);
+      m_h_pixel->Fill(testPixel);
+      m_h_sct->Fill(testSct);
+      m_h_silicon->Fill(testSilicon);
+      m_h_straw->Fill(testStraw);
+      m_h_tr->Fill(testTr);
 
       // Fill pattern plots
       bool first=true;
       for(int i=0;i<19;i++) {
 	if((testPattern&(int)pow(2,i))!=0) {
-	  h_patt->Fill(i); 
-	  if(first){h_firstpatt->Fill(i);first=false;}
-	  h_etapatt->Fill(i,testEta);     
-	  h_phipatt->Fill(i,testPhi);     
+	  m_h_patt->Fill(i); 
+	  if(first){m_h_firstpatt->Fill(i);first=false;}
+	  m_h_etapatt->Fill(i,testEta);     
+	  m_h_phipatt->Fill(i,testPhi);     
 	}
       }
     }
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Resolution.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Resolution.cxx
index c8c698e442a712d21c5a7c0bd159fa4a7daada82..af22eb864b12ee93db603b55b460ed155bf1ac3d 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Resolution.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Resolution.cxx
@@ -10,68 +10,68 @@ Analysis_Resolution::Analysis_Resolution(const std::string& name, double pTCut,
   TrackAnalysis(name), m_pTCut(pTCut), m_etaCut(etaCut), m_d0Cut(d0Cut), m_z0Cut(z0Cut) {
 
   // Create resolution histograms
-  h_res_eta   = new TH1D(std::string(mname+"-Res-eta").c_str(), std::string(mname+" eta resolution").c_str(), 100, -0.02, 0.02);
-  h_res_phi   = new TH1D(std::string(mname+"-Res-phi").c_str(), std::string(mname+" phi resolution").c_str(), 100, -0.01, 0.01);
-  h_res_z0    = new TH1D(std::string(mname+"-Res-z0").c_str(),  std::string(mname+" z0 resolution").c_str(), 100, -3.0, 3.0);
-  h_res_d0    = new TH1D(std::string(mname+"-Res-d0").c_str(),  std::string(mname+" d0 resolution").c_str(), 100, -3.0, 3.0);
-  h_res_invpT = new TH1D(std::string(mname+"-Res-pT").c_str(),  std::string(mname+" inv-pT resolution").c_str(), 100, -0.0004, 0.0004);
-  addHistogram(h_res_eta);
-  addHistogram(h_res_phi);
-  addHistogram(h_res_z0);
-  addHistogram(h_res_d0);
-  addHistogram(h_res_invpT);
+  m_h_res_eta   = new TH1D(std::string(mname+"-Res-eta").c_str(), std::string(mname+" eta resolution").c_str(), 100, -0.02, 0.02);
+  m_h_res_phi   = new TH1D(std::string(mname+"-Res-phi").c_str(), std::string(mname+" phi resolution").c_str(), 100, -0.01, 0.01);
+  m_h_res_z0    = new TH1D(std::string(mname+"-Res-z0").c_str(),  std::string(mname+" z0 resolution").c_str(), 100, -3.0, 3.0);
+  m_h_res_d0    = new TH1D(std::string(mname+"-Res-d0").c_str(),  std::string(mname+" d0 resolution").c_str(), 100, -3.0, 3.0);
+  m_h_res_invpT = new TH1D(std::string(mname+"-Res-pT").c_str(),  std::string(mname+" inv-pT resolution").c_str(), 100, -0.0004, 0.0004);
+  addHistogram(m_h_res_eta);
+  addHistogram(m_h_res_phi);
+  addHistogram(m_h_res_z0);
+  addHistogram(m_h_res_d0);
+  addHistogram(m_h_res_invpT);
   
   // Create pull histograms
-  h_pull_eta   = new TH1D(std::string(mname+"-Pull-eta").c_str(), std::string(mname+" eta pull").c_str(), 100, -20.0, 20.0);
-  h_pull_phi   = new TH1D(std::string(mname+"-Pull-phi").c_str(), std::string(mname+" phi pull").c_str(), 100, -20.0, 20.0);
-  h_pull_z0    = new TH1D(std::string(mname+"-Pull-z0").c_str(),  std::string(mname+" z0 pull").c_str(), 100, -20.0, 20.0);
-  h_pull_d0    = new TH1D(std::string(mname+"-Pull-d0").c_str(),  std::string(mname+" d0 pull").c_str(), 100, -20.0, 20.0);
-  h_pull_invpT = new TH1D(std::string(mname+"-Pull-pT").c_str(),  std::string(mname+" inv-pT pull").c_str(), 100, -20.0, 20.0);
-  addHistogram(h_pull_eta);
-  addHistogram(h_pull_phi);
-  addHistogram(h_pull_z0);
-  addHistogram(h_pull_d0);
-  addHistogram(h_pull_invpT);
+  m_h_pull_eta   = new TH1D(std::string(mname+"-Pull-eta").c_str(), std::string(mname+" eta pull").c_str(), 100, -20.0, 20.0);
+  m_h_pull_phi   = new TH1D(std::string(mname+"-Pull-phi").c_str(), std::string(mname+" phi pull").c_str(), 100, -20.0, 20.0);
+  m_h_pull_z0    = new TH1D(std::string(mname+"-Pull-z0").c_str(),  std::string(mname+" z0 pull").c_str(), 100, -20.0, 20.0);
+  m_h_pull_d0    = new TH1D(std::string(mname+"-Pull-d0").c_str(),  std::string(mname+" d0 pull").c_str(), 100, -20.0, 20.0);
+  m_h_pull_invpT = new TH1D(std::string(mname+"-Pull-pT").c_str(),  std::string(mname+" inv-pT pull").c_str(), 100, -20.0, 20.0);
+  addHistogram(m_h_pull_eta);
+  addHistogram(m_h_pull_phi);
+  addHistogram(m_h_pull_z0);
+  addHistogram(m_h_pull_d0);
+  addHistogram(m_h_pull_invpT);
 
   //Create more specific resolution histograms
-  h_res_d0VsPt  = new TH2D(std::string(mname+"-Res-d0VsPt").c_str(), std::string(mname+" d0VsPt resolution").c_str(), 
+  m_h_res_d0VsPt  = new TH2D(std::string(mname+"-Res-d0VsPt").c_str(), std::string(mname+" d0VsPt resolution").c_str(), 
 			   50, -3.0, 3.0, 500, -30000.0, 30000.0);
-  h_res_z0VsPt  = new TH2D(std::string(mname+"-z0VsPt").c_str(), std::string(mname+" z0VsPt resolution").c_str(), 
+  m_h_res_z0VsPt  = new TH2D(std::string(mname+"-z0VsPt").c_str(), std::string(mname+" z0VsPt resolution").c_str(), 
 			   50, -3.0, 3.0, 500, -30000.0, 30000.0);
-  h_res_d0VsD0  = new TH2D(std::string(mname+"-Res-d0VsD0").c_str(),std::string(mname+" d0VsD0 resolution").c_str(), 
+  m_h_res_d0VsD0  = new TH2D(std::string(mname+"-Res-d0VsD0").c_str(),std::string(mname+" d0VsD0 resolution").c_str(), 
 			   50, -3.0, 3.0, 500, -300.0, 300.0);
-  h_res_z0VsEta = new TH2D(std::string(mname+"-Res-z0VsEta").c_str(), std::string(mname+" z0VsEta resolution").c_str(), 
+  m_h_res_z0VsEta = new TH2D(std::string(mname+"-Res-z0VsEta").c_str(), std::string(mname+" z0VsEta resolution").c_str(), 
 			   50, -3.0, 3.0, 500, -3.0, 3.0);
-  h_res_d0VsPixelHits_withBLayer    = new TH2D(std::string(mname+"-Res-d0VsPixel-withBLayer").c_str(), 
+  m_h_res_d0VsPixelHits_withBLayer    = new TH2D(std::string(mname+"-Res-d0VsPixel-withBLayer").c_str(), 
 					       std::string(mname+" resolution vs pixelHits (w b-layer)").c_str(), 50, -3, 3, 10, 0, 10);
-  h_res_d0VsPixelHits_withoutBLayer = new TH2D(std::string(mname+"-Res-d0VsPixel-withoutBLayer").c_str(),
+  m_h_res_d0VsPixelHits_withoutBLayer = new TH2D(std::string(mname+"-Res-d0VsPixel-withoutBLayer").c_str(),
 					       std::string(mname+" resolution vs pixelHits (w/o b-layer)").c_str(), 50, -3, 3, 10, 0, 10);
-  addHistogram(h_res_d0VsPt);
-  addHistogram(h_res_z0VsPt);
-  addHistogram(h_res_d0VsD0);
-  addHistogram(h_res_z0VsEta);
-  addHistogram(h_res_d0VsPixelHits_withBLayer);
-  addHistogram(h_res_d0VsPixelHits_withoutBLayer);
+  addHistogram(m_h_res_d0VsPt);
+  addHistogram(m_h_res_z0VsPt);
+  addHistogram(m_h_res_d0VsD0);
+  addHistogram(m_h_res_z0VsEta);
+  addHistogram(m_h_res_d0VsPixelHits_withBLayer);
+  addHistogram(m_h_res_d0VsPixelHits_withoutBLayer);
 
   //Create more specific pull histograms
-  h_pull_d0VsEta  = new TH2D(std::string(mname+"-Pull-d0VsEta").c_str(), std::string(mname+" d0VsEta pull").c_str(), 
+  m_h_pull_d0VsEta  = new TH2D(std::string(mname+"-Pull-d0VsEta").c_str(), std::string(mname+" d0VsEta pull").c_str(), 
 			     50, -5.0, 5.0, 500, -3.0, 3.0);
-  h_pull_z0VsEta  = new TH2D(std::string(mname+"-Pull-z0VsEta").c_str(), std::string(mname+" z0VsEta pull").c_str(), 
+  m_h_pull_z0VsEta  = new TH2D(std::string(mname+"-Pull-z0VsEta").c_str(), std::string(mname+" z0VsEta pull").c_str(), 
 			     50, -5.0, 5.0, 500, -3.0, 3.0);
-  h_pull_d0VsPixelHits_withoutBLayer = new TH2D(std::string(mname+"-Pull-d0VsPixelHits_withoutBLayer").c_str(),
+  m_h_pull_d0VsPixelHits_withoutBLayer = new TH2D(std::string(mname+"-Pull-d0VsPixelHits_withoutBLayer").c_str(),
 						std::string(mname+" d0VsPixelHits pull (without b-layer)").c_str(), 50, -5.0, 5.0, 10, 0.0, 10.0);
-  h_pull_z0VsPixelHits_withoutBLayer = new TH2D(std::string(mname+"-Pull-z0VsPixelHits_withoutBLayer").c_str(),
+  m_h_pull_z0VsPixelHits_withoutBLayer = new TH2D(std::string(mname+"-Pull-z0VsPixelHits_withoutBLayer").c_str(),
 						std::string(mname+" z0VsPixelHits pull (without b-layer)").c_str(), 50, -5.0, 5.0, 10, 0.0, 10.0);
-  h_pull_d0VsPixelHits_withBLayer = new TH2D(std::string(mname+"-Pull-d0VsPixelHits_withBLayer").c_str(),
+  m_h_pull_d0VsPixelHits_withBLayer = new TH2D(std::string(mname+"-Pull-d0VsPixelHits_withBLayer").c_str(),
 					     std::string(mname+" d0VsPixelHits pull (with b-layer)").c_str(), 50, -5.0, 5.0, 10, 0.0, 10.0);
-  h_pull_z0VsPixelHits_withBLayer = new TH2D(std::string(mname+"-Pull-z0VsPixelHits_withBLayer").c_str(),
+  m_h_pull_z0VsPixelHits_withBLayer = new TH2D(std::string(mname+"-Pull-z0VsPixelHits_withBLayer").c_str(),
 					     std::string(mname+" z0VsPixelHits pull (with b-layer)").c_str(), 50, -5.0, 5.0, 10, 0.0, 10.0);
-  addHistogram(h_pull_d0VsEta);
-  addHistogram(h_pull_z0VsEta);
-  addHistogram(h_pull_d0VsPixelHits_withoutBLayer);
-  addHistogram(h_pull_z0VsPixelHits_withoutBLayer);
-  addHistogram(h_pull_d0VsPixelHits_withBLayer);
-  addHistogram(h_pull_z0VsPixelHits_withBLayer);  
+  addHistogram(m_h_pull_d0VsEta);
+  addHistogram(m_h_pull_z0VsEta);
+  addHistogram(m_h_pull_d0VsPixelHits_withoutBLayer);
+  addHistogram(m_h_pull_z0VsPixelHits_withoutBLayer);
+  addHistogram(m_h_pull_d0VsPixelHits_withBLayer);
+  addHistogram(m_h_pull_z0VsPixelHits_withBLayer);  
 }
 
 
@@ -127,56 +127,56 @@ void Analysis_Resolution::execute(const std::vector<TIDA::Track*>& referenceTrac
       double einvpT = sqrt( test->dpT() *test->dpT()  + (*reference)->dpT() *(*reference)->dpT() );
       
       // Fill resolution plots
-      h_res_eta->Fill(fabs(referenceEta)-fabs(testEta));
-      h_res_phi->Fill(phi(referencePhi-testPhi));
-      h_res_z0->Fill(fabs(referenceZ0)-fabs(testZ0));
-      h_res_d0->Fill(fabs(referenceD0)-fabs(testD0));
-      h_res_invpT->Fill(fabs(1.0/referencePT)-fabs(1.0/testPT));
+      m_h_res_eta->Fill(fabs(referenceEta)-fabs(testEta));
+      m_h_res_phi->Fill(phi(referencePhi-testPhi));
+      m_h_res_z0->Fill(fabs(referenceZ0)-fabs(testZ0));
+      m_h_res_d0->Fill(fabs(referenceD0)-fabs(testD0));
+      m_h_res_invpT->Fill(fabs(1.0/referencePT)-fabs(1.0/testPT));
       
       // Fill pull plots
-      if(eeta!=0)   h_pull_eta->Fill((fabs(referenceEta)-fabs(testEta))/eeta);           else h_pull_eta->Fill(-1000.0);
-      if(ephi!=0)   h_pull_phi->Fill((phi(referencePhi-testPhi))/ephi);                  else h_pull_phi->Fill(-1000.0);
-      if(ez0!=0)    h_pull_z0->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0);               else h_pull_z0->Fill(-1000.0);
-      if(ed0!=0)    h_pull_d0->Fill((fabs(referenceD0)-fabs(testD0))/ed0);               else h_pull_d0->Fill(-1000.0);
-      if(einvpT!=0) h_pull_invpT->Fill((fabs(1.0/referencePT)-fabs(1.0/testPT))/einvpT); else h_pull_invpT->Fill(-1000.0);
+      if(eeta!=0)   m_h_pull_eta->Fill((fabs(referenceEta)-fabs(testEta))/eeta);           else m_h_pull_eta->Fill(-1000.0);
+      if(ephi!=0)   m_h_pull_phi->Fill((phi(referencePhi-testPhi))/ephi);                  else m_h_pull_phi->Fill(-1000.0);
+      if(ez0!=0)    m_h_pull_z0->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0);               else m_h_pull_z0->Fill(-1000.0);
+      if(ed0!=0)    m_h_pull_d0->Fill((fabs(referenceD0)-fabs(testD0))/ed0);               else m_h_pull_d0->Fill(-1000.0);
+      if(einvpT!=0) m_h_pull_invpT->Fill((fabs(1.0/referencePT)-fabs(1.0/testPT))/einvpT); else m_h_pull_invpT->Fill(-1000.0);
 
       double referenceBLayerHits = (*reference)->bLayerHits();
       double referencePixelHits  = (*reference)->pixelHits();
 
       //Fill resolution 2D plots
       if (referenceBLayerHits>=1) {
-	h_res_d0VsPt->Fill(fabs(referenceD0)-fabs(testD0),referencePT);
-	h_res_z0VsPt->Fill(fabs(referenceZ0)-fabs(testZ0),referencePT);
+	m_h_res_d0VsPt->Fill(fabs(referenceD0)-fabs(testD0),referencePT);
+	m_h_res_z0VsPt->Fill(fabs(referenceZ0)-fabs(testZ0),referencePT);
       }
 
       if (referencePT <= 10000 || testPT <= 10000) continue;
       
       if (referenceBLayerHits>=1) {
-	h_res_d0VsD0->Fill(fabs(referenceD0)-fabs(testD0),referenceD0);
-	h_res_z0VsEta->Fill(fabs(referenceZ0)-fabs(testZ0),referenceEta);
+	m_h_res_d0VsD0->Fill(fabs(referenceD0)-fabs(testD0),referenceD0);
+	m_h_res_z0VsEta->Fill(fabs(referenceZ0)-fabs(testZ0),referenceEta);
       }
 
       if (referenceBLayerHits>=1)
-	h_res_d0VsPixelHits_withBLayer->Fill(fabs(referenceD0)-fabs(testD0),referencePixelHits);
+	m_h_res_d0VsPixelHits_withBLayer->Fill(fabs(referenceD0)-fabs(testD0),referencePixelHits);
       else     
-	h_res_d0VsPixelHits_withoutBLayer->Fill(fabs(referenceD0)-fabs(testD0),referencePixelHits);
+	m_h_res_d0VsPixelHits_withoutBLayer->Fill(fabs(referenceD0)-fabs(testD0),referencePixelHits);
 
       //Fill pull 2D plots
       if (referenceBLayerHits>=1) {
-	h_pull_d0VsEta->Fill(fabs(referenceD0)-fabs(testD0),referenceEta);
-	h_pull_z0VsEta->Fill(fabs(referenceZ0)-fabs(testZ0),referenceEta);
+	m_h_pull_d0VsEta->Fill(fabs(referenceD0)-fabs(testD0),referenceEta);
+	m_h_pull_z0VsEta->Fill(fabs(referenceZ0)-fabs(testZ0),referenceEta);
       }
 
       if (referenceBLayerHits>=1) {
-	if(ed0!=0) h_pull_d0VsPixelHits_withBLayer->Fill((fabs(referenceD0)-fabs(testD0))/ed0,referencePixelHits); 
-	//	else       h_pull_d0VsPixelHits_withBLayer->Fill(-1000.0);
-	if(ez0!=0) h_pull_z0VsPixelHits_withBLayer->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0,referencePixelHits); 
-	//	else       h_pull_z0VsPixelHits_withBLayer->Fill(-1000.0);
+	if(ed0!=0) m_h_pull_d0VsPixelHits_withBLayer->Fill((fabs(referenceD0)-fabs(testD0))/ed0,referencePixelHits); 
+	//	else       m_h_pull_d0VsPixelHits_withBLayer->Fill(-1000.0);
+	if(ez0!=0) m_h_pull_z0VsPixelHits_withBLayer->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0,referencePixelHits); 
+	//	else       m_h_pull_z0VsPixelHits_withBLayer->Fill(-1000.0);
       } else {
-	if(ed0!=0) h_pull_d0VsPixelHits_withoutBLayer->Fill((fabs(referenceD0)-fabs(testD0))/ed0,referencePixelHits); 
-	// else       h_pull_d0VsPixelHits_withoutBLayer->Fill(-1000.0);
-	if(ez0!=0) h_pull_z0VsPixelHits_withoutBLayer->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0,referencePixelHits); 
-	//	else       h_pull_z0VsPixelHits_withoutBLayer->Fill(-1000.0);
+	if(ed0!=0) m_h_pull_d0VsPixelHits_withoutBLayer->Fill((fabs(referenceD0)-fabs(testD0))/ed0,referencePixelHits); 
+	// else       m_h_pull_d0VsPixelHits_withoutBLayer->Fill(-1000.0);
+	if(ez0!=0) m_h_pull_z0VsPixelHits_withoutBLayer->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0,referencePixelHits); 
+	//	else       m_h_pull_z0VsPixelHits_withoutBLayer->Fill(-1000.0);
       }    
     }
   }
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_ResolutionCosmics.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_ResolutionCosmics.cxx
index 8dc694da663cd6f9522b96576cbc400425d9949c..dc1c6c263d5ab4f085bf72ebf0f620b9d1ea7f6f 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_ResolutionCosmics.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_ResolutionCosmics.cxx
@@ -10,28 +10,28 @@
 Analysis_ResolutionCosmics::Analysis_ResolutionCosmics(const std::string& name) : TrackAnalysis(name) {
 
   // Create resolution histograms
-  h_res_eta   = new TH1D(std::string(mname+"-Res-eta").c_str(), std::string(mname+" eta resolution").c_str(), 50, -0.05, 0.05);
-  h_res_phi   = new TH1D(std::string(mname+"-Res-phi").c_str(), std::string(mname+" phi resolution").c_str(), 50, -0.05, 0.05);
-  h_res_z0    = new TH1D(std::string(mname+"-Res-z0").c_str(),  std::string(mname+" z0 resolution").c_str(), 50, -3.0, 3.0);
-  h_res_d0    = new TH1D(std::string(mname+"-Res-d0").c_str(),  std::string(mname+" d0 resolution").c_str(), 50, -3.0, 3.0);
-  h_res_invpT = new TH1D(std::string(mname+"-Res-pT").c_str(),  std::string(mname+" inv-pT resolution").c_str(), 100, -0.0004, 0.0004);
-  addHistogram(h_res_eta);
-  addHistogram(h_res_phi);
-  addHistogram(h_res_z0);
-  addHistogram(h_res_d0);
-  addHistogram(h_res_invpT);
+  m_h_res_eta   = new TH1D(std::string(mname+"-Res-eta").c_str(), std::string(mname+" eta resolution").c_str(), 50, -0.05, 0.05);
+  m_h_res_phi   = new TH1D(std::string(mname+"-Res-phi").c_str(), std::string(mname+" phi resolution").c_str(), 50, -0.05, 0.05);
+  m_h_res_z0    = new TH1D(std::string(mname+"-Res-z0").c_str(),  std::string(mname+" z0 resolution").c_str(), 50, -3.0, 3.0);
+  m_h_res_d0    = new TH1D(std::string(mname+"-Res-d0").c_str(),  std::string(mname+" d0 resolution").c_str(), 50, -3.0, 3.0);
+  m_h_res_invpT = new TH1D(std::string(mname+"-Res-pT").c_str(),  std::string(mname+" inv-pT resolution").c_str(), 100, -0.0004, 0.0004);
+  addHistogram(m_h_res_eta);
+  addHistogram(m_h_res_phi);
+  addHistogram(m_h_res_z0);
+  addHistogram(m_h_res_d0);
+  addHistogram(m_h_res_invpT);
   
   // Create pull histograms
-  h_pull_eta   = new TH1D(std::string(mname+"-Pull-eta").c_str(), std::string(mname+" eta pull").c_str(), 50, -20.0, 20.0);
-  h_pull_phi   = new TH1D(std::string(mname+"-Pull-phi").c_str(), std::string(mname+" phi pull").c_str(), 50, -20.0, 20.0);
-  h_pull_z0    = new TH1D(std::string(mname+"-Pull-z0").c_str(),  std::string(mname+" z0 pull").c_str(), 50, -20.0, 20.0);
-  h_pull_d0    = new TH1D(std::string(mname+"-Pull-d0").c_str(),  std::string(mname+" d0 pull").c_str(), 50, -20.0, 20.0);
-  h_pull_invpT = new TH1D(std::string(mname+"-Pull-pT").c_str(),  std::string(mname+" inv-pT pull").c_str(), 50, -20.0, 20.0);
-  addHistogram(h_pull_eta);
-  addHistogram(h_pull_phi);
-  addHistogram(h_pull_z0);
-  addHistogram(h_pull_d0);
-  addHistogram(h_pull_invpT);
+  m_h_pull_eta   = new TH1D(std::string(mname+"-Pull-eta").c_str(), std::string(mname+" eta pull").c_str(), 50, -20.0, 20.0);
+  m_h_pull_phi   = new TH1D(std::string(mname+"-Pull-phi").c_str(), std::string(mname+" phi pull").c_str(), 50, -20.0, 20.0);
+  m_h_pull_z0    = new TH1D(std::string(mname+"-Pull-z0").c_str(),  std::string(mname+" z0 pull").c_str(), 50, -20.0, 20.0);
+  m_h_pull_d0    = new TH1D(std::string(mname+"-Pull-d0").c_str(),  std::string(mname+" d0 pull").c_str(), 50, -20.0, 20.0);
+  m_h_pull_invpT = new TH1D(std::string(mname+"-Pull-pT").c_str(),  std::string(mname+" inv-pT pull").c_str(), 50, -20.0, 20.0);
+  addHistogram(m_h_pull_eta);
+  addHistogram(m_h_pull_phi);
+  addHistogram(m_h_pull_z0);
+  addHistogram(m_h_pull_d0);
+  addHistogram(m_h_pull_invpT);
 
 }
 
@@ -82,18 +82,18 @@ void Analysis_ResolutionCosmics::execute(const std::vector<TIDA::Track*>& refere
       double einvpT = sqrt( test->dpT() *test->dpT()  + (*reference)->dpT() *(*reference)->dpT() );
       
       // Fill resolution plots
-      h_res_eta->Fill(fabs(referenceEta)-fabs(testEta));
-      h_res_phi->Fill(phi(referencePhi-testPhi));
-      h_res_z0->Fill(fabs(referenceZ0)-fabs(testZ0));
-      h_res_d0->Fill(fabs(referenceD0)-fabs(testD0));
-      h_res_invpT->Fill(fabs(1.0/referencePT)-fabs(1.0/testPT));
+      m_h_res_eta->Fill(fabs(referenceEta)-fabs(testEta));
+      m_h_res_phi->Fill(phi(referencePhi-testPhi));
+      m_h_res_z0->Fill(fabs(referenceZ0)-fabs(testZ0));
+      m_h_res_d0->Fill(fabs(referenceD0)-fabs(testD0));
+      m_h_res_invpT->Fill(fabs(1.0/referencePT)-fabs(1.0/testPT));
       
       // Fill pull plots
-      if(eeta!=0)   h_pull_eta->Fill((fabs(referenceEta)-fabs(testEta))/eeta);           else h_pull_eta->Fill(-1000.0);
-      if(ephi!=0)   h_pull_phi->Fill((phi(referencePhi-testPhi))/ephi);                  else h_pull_phi->Fill(-1000.0);
-      if(ez0!=0)    h_pull_z0->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0);               else h_pull_z0->Fill(-1000.0);
-      if(ed0!=0)    h_pull_d0->Fill((fabs(referenceD0)-fabs(testD0))/ed0);               else h_pull_d0->Fill(-1000.0);
-      if(einvpT!=0) h_pull_invpT->Fill((fabs(1.0/referencePT)-fabs(1.0/testPT))/einvpT); else h_pull_invpT->Fill(-1000.0);
+      if(eeta!=0)   m_h_pull_eta->Fill((fabs(referenceEta)-fabs(testEta))/eeta);           else m_h_pull_eta->Fill(-1000.0);
+      if(ephi!=0)   m_h_pull_phi->Fill((phi(referencePhi-testPhi))/ephi);                  else m_h_pull_phi->Fill(-1000.0);
+      if(ez0!=0)    m_h_pull_z0->Fill((fabs(referenceZ0)-fabs(testZ0))/ez0);               else m_h_pull_z0->Fill(-1000.0);
+      if(ed0!=0)    m_h_pull_d0->Fill((fabs(referenceD0)-fabs(testD0))/ed0);               else m_h_pull_d0->Fill(-1000.0);
+      if(einvpT!=0) m_h_pull_invpT->Fill((fabs(1.0/referencePT)-fabs(1.0/testPT))/einvpT); else m_h_pull_invpT->Fill(-1000.0);
 
     }
   }
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx
index 8d349ca06f2b45a6e7a0ac29d2384864f05c554f..a20c8b2ce9c42746251a9e5fbd15c75d6eeaf187 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx
@@ -36,17 +36,17 @@ void Analysis_Tier0::initialise() {
 
   m_debug = false;
 
-  h_chain = new TH1F( "Chain", cname.c_str(), 5, 0, 5 );
-  h_chain->GetXaxis()->SetBinLabel(1, "Nrois" );
-  h_chain->GetXaxis()->SetBinLabel(2, "Nevents" );
-  h_chain->GetXaxis()->SetBinLabel(3, "N ref tracks" );
-  h_chain->GetXaxis()->SetBinLabel(4, "N matched tracks" );
-  h_chain->GetXaxis()->SetBinLabel(5, "" ); //  spare
+  m_h_chain = new TH1F( "Chain", cname.c_str(), 5, 0, 5 );
+  m_h_chain->GetXaxis()->SetBinLabel(1, "Nrois" );
+  m_h_chain->GetXaxis()->SetBinLabel(2, "Nevents" );
+  m_h_chain->GetXaxis()->SetBinLabel(3, "N ref tracks" );
+  m_h_chain->GetXaxis()->SetBinLabel(4, "N matched tracks" );
+  m_h_chain->GetXaxis()->SetBinLabel(5, "" ); //  spare
 
  
   /// archive the chain name
 
-  addHistogram(h_chain);
+  addHistogram(m_h_chain);
 
   /// variable width bins for track occupancy
   
@@ -76,9 +76,9 @@ void Analysis_Tier0::initialise() {
 
 
 
-  h_ntrk = new TH1F( "reftrk_N", "Reference tracks", 80, vnbins );
+  m_h_ntrk = new TH1F( "reftrk_N", "Reference tracks", 80, vnbins );
 
-  addHistogram(h_ntrk);
+  addHistogram(m_h_ntrk);
 
   /// reference track distributions
 
@@ -95,58 +95,58 @@ void Analysis_Tier0::initialise() {
 
   }
 
-  //  h_trkpT  = new TH1F("reftrk_pT" , "Reference track pT",  50,    0.,    100.);
-  h_trkpT  = new TH1F("reftrk_pT" , "Reference track pT",  25,   &ptbins[0]   );
-  h_trkphi = new TH1F("reftrk_phi", "Reference track Phi", 25,   -M_PI,   M_PI);
-  h_trketa = new TH1F("reftrk_eta", "Reference track Eta", 25,   -2.5,     2.5) ;
-  h_trkd0  = new TH1F("reftrk_d0" , "Reference track d0", 101,   -5.0,     5.0 );
-  h_trkz0  = new TH1F("reftrk_z0" , "Reference track z0",  50,   -225.,    225.);
+  //  m_h_trkpT  = new TH1F("reftrk_pT" , "Reference track pT",  50,    0.,    100.);
+  m_h_trkpT  = new TH1F("reftrk_pT" , "Reference track pT",  25,   &ptbins[0]   );
+  m_h_trkphi = new TH1F("reftrk_phi", "Reference track Phi", 25,   -M_PI,   M_PI);
+  m_h_trketa = new TH1F("reftrk_eta", "Reference track Eta", 25,   -2.5,     2.5) ;
+  m_h_trkd0  = new TH1F("reftrk_d0" , "Reference track d0", 101,   -5.0,     5.0 );
+  m_h_trkz0  = new TH1F("reftrk_z0" , "Reference track z0",  50,   -225.,    225.);
 
-  h_trkdd0  = new TH1F("reftrk_dd0" , "Reference track sigma(d0)", 101,   -0.5,     0.5);
-  h_trkdz0  = new TH1F("reftrk_dz0" , "Reference track sigma(z0)", 101,   -2.5,     2.5);
+  m_h_trkdd0  = new TH1F("reftrk_dd0" , "Reference track sigma(d0)", 101,   -0.5,     0.5);
+  m_h_trkdz0  = new TH1F("reftrk_dz0" , "Reference track sigma(z0)", 101,   -2.5,     2.5);
 
-  h_trkd0sig = new TH1F("reftrk_d0sig" , "Reference track d0 significance", 101,   -5.,     5.);
+  m_h_trkd0sig = new TH1F("reftrk_d0sig" , "Reference track d0 significance", 101,   -5.,     5.);
 
-  addHistogram(h_trkpT);
-  addHistogram(h_trkphi);
-  addHistogram(h_trketa);
-  addHistogram(h_trkd0);
-  addHistogram(h_trkz0);
+  addHistogram(m_h_trkpT);
+  addHistogram(m_h_trkphi);
+  addHistogram(m_h_trketa);
+  addHistogram(m_h_trkd0);
+  addHistogram(m_h_trkz0);
 
-  addHistogram(h_trkdd0);
-  addHistogram(h_trkdz0);
+  addHistogram(m_h_trkdd0);
+  addHistogram(m_h_trkdz0);
 
-  addHistogram(h_trkd0sig);
+  addHistogram(m_h_trkd0sig);
 
   /// test track distributions
 
-  h_ntrk_rec = new TH1F( "testtrk_N", "Test tracks", 80, vnbins );
+  m_h_ntrk_rec = new TH1F( "testtrk_N", "Test tracks", 80, vnbins );
 
-  addHistogram(h_ntrk_rec);
+  addHistogram(m_h_ntrk_rec);
 
-  //  h_trkpT_rec  = new TH1F("testtrk_pT" , "Test track pT",  25,    0.,   100.);
-  h_trkpT_rec  = new TH1F("testtrk_pT" , "Test track pT",  25,   &ptbins[0]   );
-  h_trkphi_rec = new TH1F("testtrk_phi", "Test track Phi", 25,   -M_PI,  M_PI);
-  h_trketa_rec = new TH1F("testtrk_eta", "Test track Eta", 25,   -2.5,    2.5) ;
-  h_trkd0_rec  = new TH1F("testtrk_d0" , "Test track d0", 101,   -5.0,    5.0 );
-  h_trkz0_rec  = new TH1F("testtrk_z0" , "Test track z0",  50,   -225.,   225.);
+  //  m_h_trkpT_rec  = new TH1F("testtrk_pT" , "Test track pT",  25,    0.,   100.);
+  m_h_trkpT_rec  = new TH1F("testtrk_pT" , "Test track pT",  25,   &ptbins[0]   );
+  m_h_trkphi_rec = new TH1F("testtrk_phi", "Test track Phi", 25,   -M_PI,  M_PI);
+  m_h_trketa_rec = new TH1F("testtrk_eta", "Test track Eta", 25,   -2.5,    2.5) ;
+  m_h_trkd0_rec  = new TH1F("testtrk_d0" , "Test track d0", 101,   -5.0,    5.0 );
+  m_h_trkz0_rec  = new TH1F("testtrk_z0" , "Test track z0",  50,   -225.,   225.);
 
-  h_trkdd0_rec  = new TH1F("testtrk_dd0" , "Test track sigma(d0)", 101,   -0.5,     0.5);
-  h_trkdz0_rec  = new TH1F("testtrk_dz0" , "Test track sigma(z0)", 101,   -2.5,     2.5);
+  m_h_trkdd0_rec  = new TH1F("testtrk_dd0" , "Test track sigma(d0)", 101,   -0.5,     0.5);
+  m_h_trkdz0_rec  = new TH1F("testtrk_dz0" , "Test track sigma(z0)", 101,   -2.5,     2.5);
 
-  h_trkd0sig_rec = new TH1F("testtrk_d0sig" , "Test track d0 significance", 101,   -5.0,     5.0);
+  m_h_trkd0sig_rec = new TH1F("testtrk_d0sig" , "Test track d0 significance", 101,   -5.0,     5.0);
 
 
-  addHistogram(h_trkpT_rec);
-  addHistogram(h_trkphi_rec);
-  addHistogram(h_trketa_rec);
-  addHistogram(h_trkd0_rec);
-  addHistogram(h_trkz0_rec);
+  addHistogram(m_h_trkpT_rec);
+  addHistogram(m_h_trkphi_rec);
+  addHistogram(m_h_trketa_rec);
+  addHistogram(m_h_trkd0_rec);
+  addHistogram(m_h_trkz0_rec);
 
-  addHistogram(h_trkdd0_rec);
-  addHistogram(h_trkdz0_rec);
+  addHistogram(m_h_trkdd0_rec);
+  addHistogram(m_h_trkdz0_rec);
   
-  addHistogram(h_trkd0sig_rec);
+  addHistogram(m_h_trkd0sig_rec);
 
   /// trigger tracking efficiencies
 
@@ -159,176 +159,176 @@ void Analysis_Tier0::initialise() {
 
 
 
-  h_total_efficiency = new TProfile ("Eff_overall",  "total efficiency",  1, 0., 1.);
+  m_h_total_efficiency = new TProfile ("Eff_overall",  "total efficiency",  1, 0., 1.);
 
-  // h_pTeff = new TProfile( "Eff_pT",     "pT efficiency",     25,    0.,  100.   );
-  h_pTeff    = new TProfile( "Eff_pT",     "pT efficiency",     25,   &ptbins[0]   );
-  h_etaeff   = new TProfile( "Eff_Eta",    "eta efficiency",    25,   -2.5,   2.5  );
-  h_phieff   = new TProfile( "Eff_Phi",    "phi  efficiency",   25,   -M_PI, M_PI  );
-  h_d0eff    = new TProfile( "Eff_d0",     "d0 efficiency",     39,   d0bins    );
-  h_z0eff    = new TProfile( "Eff_z0",     "z0 efficiency",     50, -225.,  225.   );
-  h_nVtxeff  = new TProfile( "Eff_nVtx",   "nVtx efficiency",   71,   -0.5,  70.5  );
+  // m_h_pTeff = new TProfile( "Eff_pT",     "pT efficiency",     25,    0.,  100.   );
+  m_h_pTeff    = new TProfile( "Eff_pT",     "pT efficiency",     25,   &ptbins[0]   );
+  m_h_etaeff   = new TProfile( "Eff_Eta",    "eta efficiency",    25,   -2.5,   2.5  );
+  m_h_phieff   = new TProfile( "Eff_Phi",    "phi  efficiency",   25,   -M_PI, M_PI  );
+  m_h_d0eff    = new TProfile( "Eff_d0",     "d0 efficiency",     39,   d0bins    );
+  m_h_z0eff    = new TProfile( "Eff_z0",     "z0 efficiency",     50, -225.,  225.   );
+  m_h_nVtxeff  = new TProfile( "Eff_nVtx",   "nVtx efficiency",   71,   -0.5,  70.5  );
 
-  h_lbeff = new TProfile( "Eff_lb", "efficinecy vs lumiblock", 301, -0.5, 3009.5 );
+  m_h_lbeff = new TProfile( "Eff_lb", "efficinecy vs lumiblock", 301, -0.5, 3009.5 );
 
-  addHistogram( h_lbeff );
+  addHistogram( m_h_lbeff );
 
-  h_trkvtx_x_lb = new TProfile( "trkvtx_x_vs_lb", "track vertex x vs lumiblock", 301, -0.5, 3009.5 );
-  h_trkvtx_y_lb = new TProfile( "trkvtx_y_vs_lb", "track vertex y vs lumiblock", 301, -0.5, 3009.5 );
-  h_trkvtx_z_lb = new TProfile( "trkvtx_z_vs_lb", "track vertex z vs lumiblock", 301, -0.5, 3009.5 );
+  m_h_trkvtx_x_lb = new TProfile( "trkvtx_x_vs_lb", "track vertex x vs lumiblock", 301, -0.5, 3009.5 );
+  m_h_trkvtx_y_lb = new TProfile( "trkvtx_y_vs_lb", "track vertex y vs lumiblock", 301, -0.5, 3009.5 );
+  m_h_trkvtx_z_lb = new TProfile( "trkvtx_z_vs_lb", "track vertex z vs lumiblock", 301, -0.5, 3009.5 );
 
-  addHistogram( h_trkvtx_x_lb );
-  addHistogram( h_trkvtx_y_lb );
-  addHistogram( h_trkvtx_z_lb );
+  addHistogram( m_h_trkvtx_x_lb );
+  addHistogram( m_h_trkvtx_y_lb );
+  addHistogram( m_h_trkvtx_z_lb );
 
   /// han config too stufid to deal with spaces in histogram names
-  h_npixvseta     = new TProfile("npix_vs_eta",      "offline npix vs eta;offline #eta;# mean number of offline pixel hits", 30,   -2.5,  2.5);
-  h_npixvseta_rec = new TProfile("npix_vs_eta_rec",  "trigger npix vs eta;trigger #eta;# mean number of trigger pixel hits", 30,   -2.5,  2.5);
+  m_h_npixvseta     = new TProfile("npix_vs_eta",      "offline npix vs eta;offline #eta;# mean number of offline pixel hits", 30,   -2.5,  2.5);
+  m_h_npixvseta_rec = new TProfile("npix_vs_eta_rec",  "trigger npix vs eta;trigger #eta;# mean number of trigger pixel hits", 30,   -2.5,  2.5);
 
-  h_nsctvseta     = new TProfile("nsct_vs_eta",      "offline nsct vs eta;offline #eta;# mean number of offline sct hits", 30,   -2.5,  2.5);
-  h_nsctvseta_rec = new TProfile("nsct_vs_eta_rec",  "trigger nsct vs eta;trigger #eta;# mean number of trigger sct hits", 30,   -2.5,  2.5);
+  m_h_nsctvseta     = new TProfile("nsct_vs_eta",      "offline nsct vs eta;offline #eta;# mean number of offline sct hits", 30,   -2.5,  2.5);
+  m_h_nsctvseta_rec = new TProfile("nsct_vs_eta_rec",  "trigger nsct vs eta;trigger #eta;# mean number of trigger sct hits", 30,   -2.5,  2.5);
 
-  h_ntrtvseta     = new TProfile("ntrt_vs_eta",      "offline ntrt vs eta;offline #eta;# mean number of offline trt hits", 30,   -2.5, 2.5 );
-  h_ntrtvseta_rec = new TProfile("ntrt_vs_eta_rec",  "trigger ntrt vs eta;trigger #eta;# mean number of trigger trt hits", 30,   -2.5, 2.5 );
+  m_h_ntrtvseta     = new TProfile("ntrt_vs_eta",      "offline ntrt vs eta;offline #eta;# mean number of offline trt hits", 30,   -2.5, 2.5 );
+  m_h_ntrtvseta_rec = new TProfile("ntrt_vs_eta_rec",  "trigger ntrt vs eta;trigger #eta;# mean number of trigger trt hits", 30,   -2.5, 2.5 );
 
-  h_npixvsphi     = new TProfile("npix_vs_phi",      "offline npix vs phi;offline #phi;# mean number of offline pixel hits", 30,   -M_PI,  M_PI);
-  h_npixvsphi_rec = new TProfile("npix_vs_phi_rec",  "trigger npix vs phi;trigger #phi;# mean number of trigger pixel hits", 30,   -M_PI,  M_PI);
+  m_h_npixvsphi     = new TProfile("npix_vs_phi",      "offline npix vs phi;offline #phi;# mean number of offline pixel hits", 30,   -M_PI,  M_PI);
+  m_h_npixvsphi_rec = new TProfile("npix_vs_phi_rec",  "trigger npix vs phi;trigger #phi;# mean number of trigger pixel hits", 30,   -M_PI,  M_PI);
 
-  h_nsctvsphi     = new TProfile("nsct_vs_phi",      "offline nsct vs phi;offline #phi;# mean number of offline sct hits", 30,   -M_PI,  M_PI);
-  h_nsctvsphi_rec = new TProfile("nsct_vs_phi_rec",  "trigger nsct vs phi;trigger #phi;# mean number of trigger sct hits", 30,   -M_PI,  M_PI);
+  m_h_nsctvsphi     = new TProfile("nsct_vs_phi",      "offline nsct vs phi;offline #phi;# mean number of offline sct hits", 30,   -M_PI,  M_PI);
+  m_h_nsctvsphi_rec = new TProfile("nsct_vs_phi_rec",  "trigger nsct vs phi;trigger #phi;# mean number of trigger sct hits", 30,   -M_PI,  M_PI);
 
-  h_ntrtvsphi     = new TProfile("ntrt_vs_phi",      "offline ntrt vs phi;offline #phi;# mean number of offline trt hits", 30,   -M_PI, M_PI );
-  h_ntrtvsphi_rec = new TProfile("ntrt_vs_phi_rec",  "trigger ntrt vs phi;trigger #phi;# mean number of trigger trt hits", 30,   -M_PI, M_PI );
+  m_h_ntrtvsphi     = new TProfile("ntrt_vs_phi",      "offline ntrt vs phi;offline #phi;# mean number of offline trt hits", 30,   -M_PI, M_PI );
+  m_h_ntrtvsphi_rec = new TProfile("ntrt_vs_phi_rec",  "trigger ntrt vs phi;trigger #phi;# mean number of trigger trt hits", 30,   -M_PI, M_PI );
 
-  h_npixvsd0     = new TProfile("npix_vs_d0",      "offline npix vs d0;offline #d0;# mean number of offline pixel hits", 39,  d0bins );
-  h_npixvsd0_rec = new TProfile("npix_vs_d0_rec",  "trigger npix vs d0;trigger #d0;# mean number of trigger pixel hits", 39,  d0bins );
+  m_h_npixvsd0     = new TProfile("npix_vs_d0",      "offline npix vs d0;offline #d0;# mean number of offline pixel hits", 39,  d0bins );
+  m_h_npixvsd0_rec = new TProfile("npix_vs_d0_rec",  "trigger npix vs d0;trigger #d0;# mean number of trigger pixel hits", 39,  d0bins );
 
-  h_nsctvsd0     = new TProfile("nsct_vs_d0",      "offline nsct vs d0;offline #d0;# mean number of offline sct hits", 39,   d0bins );
-  h_nsctvsd0_rec = new TProfile("nsct_vs_d0_rec",  "trigger nsct vs d0;trigger #d0;# mean number of trigger sct hits", 39,   d0bins );
+  m_h_nsctvsd0     = new TProfile("nsct_vs_d0",      "offline nsct vs d0;offline #d0;# mean number of offline sct hits", 39,   d0bins );
+  m_h_nsctvsd0_rec = new TProfile("nsct_vs_d0_rec",  "trigger nsct vs d0;trigger #d0;# mean number of trigger sct hits", 39,   d0bins );
 
 
 
-  h_nsihits_lb     = new TProfile( "nsihits_lb",     "offline n sihits vs lumiblock", 301, -0.5, 3009.5 );
-  h_nsihits_lb_rec = new TProfile( "nsihits_lb_rec", "trigger n sihits vs lumiblock", 301, -0.5, 3009.5 );
+  m_h_nsihits_lb     = new TProfile( "nsihits_lb",     "offline n sihits vs lumiblock", 301, -0.5, 3009.5 );
+  m_h_nsihits_lb_rec = new TProfile( "nsihits_lb_rec", "trigger n sihits vs lumiblock", 301, -0.5, 3009.5 );
 
-  addHistogram( h_nsihits_lb );
-  addHistogram( h_nsihits_lb_rec );
+  addHistogram( m_h_nsihits_lb );
+  addHistogram( m_h_nsihits_lb_rec );
 
 
 
 
 
-  addHistogram(h_total_efficiency);
-  addHistogram(h_pTeff);
-  addHistogram(h_etaeff);
-  addHistogram(h_phieff);
-  addHistogram(h_z0eff);
-  addHistogram(h_d0eff);
-  addHistogram(h_nVtxeff);
+  addHistogram(m_h_total_efficiency);
+  addHistogram(m_h_pTeff);
+  addHistogram(m_h_etaeff);
+  addHistogram(m_h_phieff);
+  addHistogram(m_h_z0eff);
+  addHistogram(m_h_d0eff);
+  addHistogram(m_h_nVtxeff);
 
-  addHistogram( h_npixvseta ); 
-  addHistogram( h_npixvseta_rec ); 
+  addHistogram( m_h_npixvseta ); 
+  addHistogram( m_h_npixvseta_rec ); 
 
-  addHistogram( h_nsctvseta ); 
-  addHistogram( h_nsctvseta_rec ); 
+  addHistogram( m_h_nsctvseta ); 
+  addHistogram( m_h_nsctvseta_rec ); 
 
-  addHistogram( h_ntrtvseta ); 
-  addHistogram( h_ntrtvseta_rec ); 
+  addHistogram( m_h_ntrtvseta ); 
+  addHistogram( m_h_ntrtvseta_rec ); 
 
-  addHistogram( h_npixvsphi ); 
-  addHistogram( h_npixvsphi_rec ); 
+  addHistogram( m_h_npixvsphi ); 
+  addHistogram( m_h_npixvsphi_rec ); 
 
-  addHistogram( h_nsctvsphi ); 
-  addHistogram( h_nsctvsphi_rec ); 
+  addHistogram( m_h_nsctvsphi ); 
+  addHistogram( m_h_nsctvsphi_rec ); 
 
-  addHistogram( h_ntrtvsphi ); 
-  addHistogram( h_ntrtvsphi_rec ); 
+  addHistogram( m_h_ntrtvsphi ); 
+  addHistogram( m_h_ntrtvsphi_rec ); 
 
-  addHistogram( h_npixvsd0 ); 
-  addHistogram( h_npixvsd0_rec ); 
+  addHistogram( m_h_npixvsd0 ); 
+  addHistogram( m_h_npixvsd0_rec ); 
 
-  addHistogram( h_nsctvsd0 ); 
-  addHistogram( h_nsctvsd0_rec ); 
+  addHistogram( m_h_nsctvsd0 ); 
+  addHistogram( m_h_nsctvsd0_rec ); 
 
   /// trigger tracking differential resolutions
 
   /// change all these residiuals to be vs eta, rather than vs themselves
 
-  //  h_pTres  = new TProfile("Res_pT", "pT residual;pT [Gev];pT_{trig}-pT_{ref} [GeV]",   25,    0.,   100.);
-  // h_pTres  = new TProfile("Res_pT", "pT residual;pT [Gev];pT_{trig}-pT_{ref} [GeV]",      25,   &ptbins[0]   );
-  // h_ipTres = new TProfile("Res_ipT", "ipT residual;pT^{-1} [Gev^{-1}];1/pT_{trig}-1/pT_{ref} [GeV^{-1}]", 55, -5, 5   );
+  //  m_h_pTres  = new TProfile("Res_pT", "pT residual;pT [Gev];pT_{trig}-pT_{ref} [GeV]",   25,    0.,   100.);
+  // m_h_pTres  = new TProfile("Res_pT", "pT residual;pT [Gev];pT_{trig}-pT_{ref} [GeV]",      25,   &ptbins[0]   );
+  // m_h_ipTres = new TProfile("Res_ipT", "ipT residual;pT^{-1} [Gev^{-1}];1/pT_{trig}-1/pT_{ref} [GeV^{-1}]", 55, -5, 5   );
   // h_etares = new TProfile("Res_eta", "Eta residual;#eta;#eta_{trig}-#eta_{ref}", 25,   -2.5,    2.5);
-  // h_phires = new TProfile("Res_phi", "Phi residual;#phi;#phi_{trig}-#phi_{ref}", 25,   -M_PI, M_PI);
-  // h_d0res  = new TProfile("Res_d0", "d0 residual;d0 [mm];d0_{trig}-d0_{ref} [mm]",   50,  -10.,    10.);
-  // h_z0res  = new TProfile("Res_z0", "z0 residual;z0 [mm];z0_{trig}-z0_{ref} [mm]",   50, -225.,   225.);
-
-  h_pTres  = new TProfile("Res_pT",  "pT residual;#eta_{ref};#Delta pT [Gev]",  25,   -2.5,  2.5   );
-  h_ipTres = new TProfile("Res_ipT", "ipT residual;#eta_{ref};#Delta pT^{-1} [Gev^{-1}]", 25, -2.5, 2.5); 
-  h_etares = new TProfile("Res_eta", "Eta residual;#eta_{ref};#Delta #eta",     25,   -2.5,  2.5);
-  h_phires = new TProfile("Res_phi", "Phi residual;#eta_{ref};#Delta #phi",     25,   -2.5,  2.5);
-  h_d0res  = new TProfile("Res_d0",  "d0 residual;#eta_{ref};#Delta d0 [mm]",   25,   -2.5,  2.5);
-  h_z0res  = new TProfile("Res_z0",  "z0 residual;#eta_{ref};#Delta z0 [mm]",   25,   -2.5,  2.5);
-
-  addHistogram(h_pTres);
-  addHistogram(h_ipTres);
-  addHistogram(h_etares);
-  addHistogram(h_phires);
-  addHistogram(h_d0res);
-  addHistogram(h_z0res);
+  // m_h_phires = new TProfile("Res_phi", "Phi residual;#phi;#phi_{trig}-#phi_{ref}", 25,   -M_PI, M_PI);
+  // m_h_d0res  = new TProfile("Res_d0", "d0 residual;d0 [mm];d0_{trig}-d0_{ref} [mm]",   50,  -10.,    10.);
+  // m_h_z0res  = new TProfile("Res_z0", "z0 residual;z0 [mm];z0_{trig}-z0_{ref} [mm]",   50, -225.,   225.);
+
+  m_h_pTres  = new TProfile("Res_pT",  "pT residual;#eta_{ref};#Delta pT [Gev]",  25,   -2.5,  2.5   );
+  m_h_ipTres = new TProfile("Res_ipT", "ipT residual;#eta_{ref};#Delta pT^{-1} [Gev^{-1}]", 25, -2.5, 2.5); 
+  m_h_etares = new TProfile("Res_eta", "Eta residual;#eta_{ref};#Delta #eta",     25,   -2.5,  2.5);
+  m_h_phires = new TProfile("Res_phi", "Phi residual;#eta_{ref};#Delta #phi",     25,   -2.5,  2.5);
+  m_h_d0res  = new TProfile("Res_d0",  "d0 residual;#eta_{ref};#Delta d0 [mm]",   25,   -2.5,  2.5);
+  m_h_z0res  = new TProfile("Res_z0",  "z0 residual;#eta_{ref};#Delta z0 [mm]",   25,   -2.5,  2.5);
+
+  addHistogram(m_h_pTres);
+  addHistogram(m_h_ipTres);
+  addHistogram(m_h_etares);
+  addHistogram(m_h_phires);
+  addHistogram(m_h_d0res);
+  addHistogram(m_h_z0res);
 
   /// residuals
 
-  h_trkpT_residual  = new TH1F("residual_pT" , "track pT residual",  201, -100.0,    100.0  );
-  h_trkipT_residual = new TH1F("residual_ipT", "track ipT residual",  55,   -5.5,      5.5  );
-  h_trkphi_residual = new TH1F("residual_phi", "track Phi residual",  50,   -0.02,     0.02 );
-  h_trketa_residual = new TH1F("residual_eta", "track Eta residual",  50,   -0.02,     0.02 );
-  h_trkd0_residual  = new TH1F("residual_d0" , "track d0 residual ", 251,   -2.5,      2.5  );
-  h_trkz0_residual  = new TH1F("residual_z0" , "track z0 residual",  401,  -20.0,     20.0  );
+  m_h_trkpT_residual  = new TH1F("residual_pT" , "track pT residual",  201, -100.0,    100.0  );
+  m_h_trkipT_residual = new TH1F("residual_ipT", "track ipT residual",  55,   -5.5,      5.5  );
+  m_h_trkphi_residual = new TH1F("residual_phi", "track Phi residual",  50,   -0.02,     0.02 );
+  m_h_trketa_residual = new TH1F("residual_eta", "track Eta residual",  50,   -0.02,     0.02 );
+  m_h_trkd0_residual  = new TH1F("residual_d0" , "track d0 residual ", 251,   -2.5,      2.5  );
+  m_h_trkz0_residual  = new TH1F("residual_z0" , "track z0 residual",  401,  -20.0,     20.0  );
 
-  h_trkdd0_residual  = new TH1F("residual_dd0" , "track sigma d0 residual ", 251,   -0.5,     0.5  );
-  h_trkdz0_residual  = new TH1F("residual_dz0" , "track sigma z0 residual",  401,   -1.0,     1.0  );
+  m_h_trkdd0_residual  = new TH1F("residual_dd0" , "track sigma d0 residual ", 251,   -0.5,     0.5  );
+  m_h_trkdz0_residual  = new TH1F("residual_dz0" , "track sigma z0 residual",  401,   -1.0,     1.0  );
 
-  addHistogram(h_trkpT_residual);
-  addHistogram(h_trkipT_residual);
-  addHistogram(h_trkphi_residual);
-  addHistogram(h_trketa_residual);
-  addHistogram(h_trkd0_residual);
-  addHistogram(h_trkz0_residual);
+  addHistogram(m_h_trkpT_residual);
+  addHistogram(m_h_trkipT_residual);
+  addHistogram(m_h_trkphi_residual);
+  addHistogram(m_h_trketa_residual);
+  addHistogram(m_h_trkd0_residual);
+  addHistogram(m_h_trkz0_residual);
 
-  addHistogram(h_trkdd0_residual);
-  addHistogram(h_trkdz0_residual);
+  addHistogram(m_h_trkdd0_residual);
+  addHistogram(m_h_trkdz0_residual);
 
-  h_npix     = new TH1F("npix",     "npix",     26,  -0.5,     25.5  );
-  h_npix_rec = new TH1F("npix_rec", "npix_rec", 26,  -0.5,     25.5  );
+  m_h_npix     = new TH1F("npix",     "npix",     26,  -0.5,     25.5  );
+  m_h_npix_rec = new TH1F("npix_rec", "npix_rec", 26,  -0.5,     25.5  );
 
-  h_nsct     = new TH1F("nsct",     "nsct",     31,  -0.5,     30.5  );
-  h_nsct_rec = new TH1F("nsct_rec", "nsct_rec", 31,  -0.5,     30.5  );
+  m_h_nsct     = new TH1F("nsct",     "nsct",     31,  -0.5,     30.5  );
+  m_h_nsct_rec = new TH1F("nsct_rec", "nsct_rec", 31,  -0.5,     30.5  );
 
-  h_nsihits     = new TH1F("nsiHits",     "nsiHits",     41,  -0.5,     40.5  );
-  h_nsihits_rec = new TH1F("nsiHits_rec", "nsiHits_rec", 41,  -0.5,     40.5  );
+  m_h_nsihits     = new TH1F("nsiHits",     "nsiHits",     41,  -0.5,     40.5  );
+  m_h_nsihits_rec = new TH1F("nsiHits_rec", "nsiHits_rec", 41,  -0.5,     40.5  );
 
-  h_ntrt     = new TH1F("ntrt",     "ntrt",      91,  -0.5,     91.5  );
-  h_ntrt_rec = new TH1F("ntrt_rec", "ntrt_rec",  91,  -0.5,     91.5  );
+  m_h_ntrt     = new TH1F("ntrt",     "ntrt",      91,  -0.5,     91.5  );
+  m_h_ntrt_rec = new TH1F("ntrt_rec", "ntrt_rec",  91,  -0.5,     91.5  );
 
-  addHistogram( h_npix );
-  addHistogram( h_nsct );
-  addHistogram( h_nsihits );
-  addHistogram( h_ntrt );
+  addHistogram( m_h_npix );
+  addHistogram( m_h_nsct );
+  addHistogram( m_h_nsihits );
+  addHistogram( m_h_ntrt );
 
-  addHistogram( h_npix_rec );
-  addHistogram( h_nsct_rec );
-  addHistogram( h_nsihits_rec );
-  addHistogram( h_ntrt_rec );
+  addHistogram( m_h_npix_rec );
+  addHistogram( m_h_nsct_rec );
+  addHistogram( m_h_nsihits_rec );
+  addHistogram( m_h_ntrt_rec );
 
   /// miscelaneous histograms
 
-  h_d0vsphi       = new TProfile( "d0_vs_phi_prof", "d0 vs phi_prof",  25, -M_PI, M_PI );
-  h2d_d0vsphi     = 0; // new     TH2D( "d0_vs_phi",      "d0 vs phi",       25, -M_PI, M_PI, 50, -2.6, 2.6 );
-  h2d_d0vsphi_rec = 0; // new     TH2D( "d0_vs_phi_rec",  "d0 vs phi rec",   25, -M_PI, M_PI, 50, -2.6, 2.6 );
+  m_h_d0vsphi       = new TProfile( "d0_vs_phi_prof", "d0 vs phi_prof",  25, -M_PI, M_PI );
+  m_h2d_d0vsphi     = 0; // new     TH2D( "d0_vs_phi",      "d0 vs phi",       25, -M_PI, M_PI, 50, -2.6, 2.6 );
+  m_h2d_d0vsphi_rec = 0; // new     TH2D( "d0_vs_phi_rec",  "d0 vs phi rec",   25, -M_PI, M_PI, 50, -2.6, 2.6 );
 
-  addHistogram( h_d0vsphi ); 
-  //  addHistogram( h2d_d0vsphi ); 
-  //  addHistogram( h2d_d0vsphi_rec ); 
+  addHistogram( m_h_d0vsphi ); 
+  //  addHistogram( m_h2d_d0vsphi ); 
+  //  addHistogram( m_h2d_d0vsphi_rec ); 
 
   m_vtxanal = 0;
 
@@ -372,17 +372,17 @@ void Analysis_Tier0::execute(const std::vector<TIDA::Track*>& referenceTracks,
 
   /// fill number of times this analysis was called - presumably 
   /// the number of passed RoIs for this chain 
-  h_chain->Fill( 0.5 );
+  m_h_chain->Fill( 0.5 );
 
   if ( m_eventid != event()->event_number() ) { 
     /// if the event number has changed, this is a new event
     /// so update the event counts
     m_eventid = event()->event_number(); 
-    h_chain->Fill( 1.5 );
+    m_h_chain->Fill( 1.5 );
   }
 
-  h_ntrk->Fill( referenceTracks.size() );
-  h_ntrk_rec->Fill( testTracks.size() );
+  m_h_ntrk->Fill( referenceTracks.size() );
+  m_h_ntrk_rec->Fill( testTracks.size() );
 
   for( ; reference!=referenceEnd ; reference++ ) {
     
@@ -402,141 +402,141 @@ void Analysis_Tier0::execute(const std::vector<TIDA::Track*>& referenceTracks,
     double    eff_weight = 0;
     if (test) eff_weight = 1;
 
-    h_total_efficiency->Fill(0.5, eff_weight );
+    m_h_total_efficiency->Fill(0.5, eff_weight );
 
-    h_pTeff->Fill( std::fabs(referencePT)*0.001, eff_weight );
-    h_z0eff->Fill( referenceZ0, eff_weight );
-    h_d0eff->Fill( referenceD0, eff_weight );
-    h_etaeff->Fill( referenceEta, eff_weight );
-    h_phieff->Fill( referencePhi, eff_weight );
-    h_nVtxeff->Fill( m_nVtx, eff_weight );
+    m_h_pTeff->Fill( std::fabs(referencePT)*0.001, eff_weight );
+    m_h_z0eff->Fill( referenceZ0, eff_weight );
+    m_h_d0eff->Fill( referenceD0, eff_weight );
+    m_h_etaeff->Fill( referenceEta, eff_weight );
+    m_h_phieff->Fill( referencePhi, eff_weight );
+    m_h_nVtxeff->Fill( m_nVtx, eff_weight );
 
-    h_lbeff->Fill( event()->lumi_block(), eff_weight );
+    m_h_lbeff->Fill( event()->lumi_block(), eff_weight );
 
-    h_trkpT->Fill( std::fabs(referencePT)*0.001 );
-    h_trketa->Fill( referenceEta );
-    h_trkphi->Fill( referencePhi );
-    h_trkd0->Fill( referenceD0 );
-    h_trkz0->Fill( referenceZ0 );
+    m_h_trkpT->Fill( std::fabs(referencePT)*0.001 );
+    m_h_trketa->Fill( referenceEta );
+    m_h_trkphi->Fill( referencePhi );
+    m_h_trkd0->Fill( referenceD0 );
+    m_h_trkz0->Fill( referenceZ0 );
 
-    h_trkdd0->Fill( referenceDD0 );
-    h_trkdz0->Fill( referenceDZ0 );
+    m_h_trkdd0->Fill( referenceDD0 );
+    m_h_trkdz0->Fill( referenceDZ0 );
 
-    if ( referenceDD0!=0 )  h_trkd0sig->Fill( referenceD0/referenceDD0 );
+    if ( referenceDD0!=0 )  m_h_trkd0sig->Fill( referenceD0/referenceDD0 );
 
-    h_npixvseta->Fill( referenceEta,  int(((*reference)->pixelHits()+0.5)*0.5) ); 
-    h_nsctvseta->Fill( referenceEta,  (*reference)->sctHits() ); 
-    h_ntrtvseta->Fill( referenceEta,  (*reference)->strawHits() ); 
+    m_h_npixvseta->Fill( referenceEta,  int(((*reference)->pixelHits()+0.5)*0.5) ); 
+    m_h_nsctvseta->Fill( referenceEta,  (*reference)->sctHits() ); 
+    m_h_ntrtvseta->Fill( referenceEta,  (*reference)->strawHits() ); 
 
 
-    h_npixvsphi->Fill( referencePhi,  int(((*reference)->pixelHits()+0.5)*0.5) ); 
-    h_nsctvsphi->Fill( referencePhi,  (*reference)->sctHits() ); 
-    h_ntrtvsphi->Fill( referencePhi,  (*reference)->strawHits() ); 
+    m_h_npixvsphi->Fill( referencePhi,  int(((*reference)->pixelHits()+0.5)*0.5) ); 
+    m_h_nsctvsphi->Fill( referencePhi,  (*reference)->sctHits() ); 
+    m_h_ntrtvsphi->Fill( referencePhi,  (*reference)->strawHits() ); 
 
-    h_npixvsd0->Fill( referenceD0,  int(((*reference)->pixelHits()+0.5)*0.5) ); 
-    h_nsctvsd0->Fill( referenceD0,  (*reference)->sctHits() ); 
+    m_h_npixvsd0->Fill( referenceD0,  int(((*reference)->pixelHits()+0.5)*0.5) ); 
+    m_h_nsctvsd0->Fill( referenceD0,  (*reference)->sctHits() ); 
 
 
-    h_npix->Fill(  int(((*reference)->pixelHits()+0.5)*0.5) ); 
-    h_nsct->Fill(  (*reference)->sctHits() ); 
-    h_nsihits->Fill(  (*reference)->siHits() ); 
-    h_ntrt->Fill(  (*reference)->strawHits() ); 
+    m_h_npix->Fill(  int(((*reference)->pixelHits()+0.5)*0.5) ); 
+    m_h_nsct->Fill(  (*reference)->sctHits() ); 
+    m_h_nsihits->Fill(  (*reference)->siHits() ); 
+    m_h_ntrt->Fill(  (*reference)->strawHits() ); 
    
 
-    h_nsihits_lb->Fill( event()->lumi_block(), (*reference)->siHits() ); 
+    m_h_nsihits_lb->Fill( event()->lumi_block(), (*reference)->siHits() ); 
  
-    h_d0vsphi->Fill(referencePhi, referenceD0 );
-    //   h2d_d0vsphi->Fill(referencePhi, referenceD0 );
+    m_h_d0vsphi->Fill(referencePhi, referenceD0 );
+    //   m_h2d_d0vsphi->Fill(referencePhi, referenceD0 );
 
-    h_chain->Fill(2.5);
+    m_h_chain->Fill(2.5);
 
 
     if(test){
 
-      h_chain->Fill(3.5);
+      m_h_chain->Fill(3.5);
 
       /// NB: do we want to fill the actual *trigger* quantities, or the 
       /// offline quantities for the *matched* tracks?
 
       /// residual profiles vs the reference variable      
-      // h_pTres->Fill( referencePT*0.001, (test->pT() - referencePT)*0.001 );
-      // h_ipTres->Fill( 1000/referencePT, (1000/test->pT() - 1000/referencePT) );
-      // h_etares->Fill( referenceEta, test->eta() - referenceEta );
-      // h_phires->Fill( referencePhi, phi(test->phi() - referencePhi) );
-      // h_d0res->Fill( referenceD0, test->a0() - referenceD0 );
-      // h_z0res->Fill( referenceZ0, test->z0() - referenceZ0  );
+      // m_h_pTres->Fill( referencePT*0.001, (test->pT() - referencePT)*0.001 );
+      // m_h_ipTres->Fill( 1000/referencePT, (1000/test->pT() - 1000/referencePT) );
+      // m_h_etares->Fill( referenceEta, test->eta() - referenceEta );
+      // m_h_phires->Fill( referencePhi, phi(test->phi() - referencePhi) );
+      // m_h_d0res->Fill( referenceD0, test->a0() - referenceD0 );
+      // m_h_z0res->Fill( referenceZ0, test->z0() - referenceZ0  );
 
       /// residual profiles vs eta - the more easy to understand
-      h_pTres->Fill( referenceEta, (test->pT() - referencePT)*0.001 );
-      h_ipTres->Fill( referenceEta, (1000/test->pT() - 1000/referencePT) );
-      h_etares->Fill( referenceEta, test->eta() - referenceEta );
-      h_phires->Fill( referenceEta, phi(test->phi() - referencePhi) );
-      h_d0res->Fill( referenceEta, test->a0() - referenceD0 );
-      h_z0res->Fill( referenceEta, test->z0() - referenceZ0  );
+      m_h_pTres->Fill( referenceEta, (test->pT() - referencePT)*0.001 );
+      m_h_ipTres->Fill( referenceEta, (1000/test->pT() - 1000/referencePT) );
+      m_h_etares->Fill( referenceEta, test->eta() - referenceEta );
+      m_h_phires->Fill( referenceEta, phi(test->phi() - referencePhi) );
+      m_h_d0res->Fill( referenceEta, test->a0() - referenceD0 );
+      m_h_z0res->Fill( referenceEta, test->z0() - referenceZ0  );
 
-      h_trkvtx_x_lb->Fill( event()->lumi_block(), beamTestx() );
-      h_trkvtx_y_lb->Fill( event()->lumi_block(), beamTesty() );
-      h_trkvtx_z_lb->Fill( event()->lumi_block(), beamTestz() );
+      m_h_trkvtx_x_lb->Fill( event()->lumi_block(), beamTestx() );
+      m_h_trkvtx_y_lb->Fill( event()->lumi_block(), beamTesty() );
+      m_h_trkvtx_z_lb->Fill( event()->lumi_block(), beamTestz() );
 
       //      std::cout << "SUTT beam x " << beamTestx() << " " << "\tx " << beamTesty() << " " <<  "\ty " << beamTestz() << std::endl;
 
 #if 0
       /// reference tracks values for tracks with a reference track match (not test track values) 
-      h_trkpT_rec->Fill( referencePT*0.001 );
-      h_trketa_rec->Fill( referenceEta );
-      h_trkphi_rec->Fill( referencePhi );
-      h_trkd0_rec->Fill( referenceD0 );
-      h_trkz0_rec->Fill( referenceZ0 );
+      m_h_trkpT_rec->Fill( referencePT*0.001 );
+      m_h_trketa_rec->Fill( referenceEta );
+      m_h_trkphi_rec->Fill( referencePhi );
+      m_h_trkd0_rec->Fill( referenceD0 );
+      m_h_trkz0_rec->Fill( referenceZ0 );
      
 #endif
 
       /// test track distributions for test tracks with a reference track match 
-      h_trkpT_rec->Fill( std::fabs(test->pT())*0.001 );
-      h_trketa_rec->Fill( test->eta() );
-      h_trkphi_rec->Fill( test->phi() );
-      h_trkd0_rec->Fill( test->a0() );
-      h_trkz0_rec->Fill( test->z0() );
+      m_h_trkpT_rec->Fill( std::fabs(test->pT())*0.001 );
+      m_h_trketa_rec->Fill( test->eta() );
+      m_h_trkphi_rec->Fill( test->phi() );
+      m_h_trkd0_rec->Fill( test->a0() );
+      m_h_trkz0_rec->Fill( test->z0() );
 
-      h_trkdd0_rec->Fill( test->da0() );
-      h_trkdz0_rec->Fill( test->dz0() );
+      m_h_trkdd0_rec->Fill( test->da0() );
+      m_h_trkdz0_rec->Fill( test->dz0() );
 
-      if ( test->da0()!=0 )  h_trkd0sig_rec->Fill( test->da0()/test->a0() );
+      if ( test->da0()!=0 )  m_h_trkd0sig_rec->Fill( test->da0()/test->a0() );
 
 
       /// 1d residual distributions 
-      h_trkpT_residual->Fill( (test->pT() - referencePT)*0.001 );
-      h_trkipT_residual->Fill( (1000/test->pT() - 1000/referencePT) );
-      h_trketa_residual->Fill( test->eta() - referenceEta );
-      h_trkphi_residual->Fill( phi(test->phi() - referencePhi) );
+      m_h_trkpT_residual->Fill( (test->pT() - referencePT)*0.001 );
+      m_h_trkipT_residual->Fill( (1000/test->pT() - 1000/referencePT) );
+      m_h_trketa_residual->Fill( test->eta() - referenceEta );
+      m_h_trkphi_residual->Fill( phi(test->phi() - referencePhi) );
 
-      h_trkd0_residual->Fill(  test->a0() - referenceD0 );
-      h_trkz0_residual->Fill( test->z0() - referenceZ0  );
+      m_h_trkd0_residual->Fill(  test->a0() - referenceD0 );
+      m_h_trkz0_residual->Fill( test->z0() - referenceZ0  );
 
-      h_trkdd0_residual->Fill( test->da0() - referenceDD0 );
-      h_trkdz0_residual->Fill( test->dz0() - referenceDZ0  );
+      m_h_trkdd0_residual->Fill( test->da0() - referenceDD0 );
+      m_h_trkdz0_residual->Fill( test->dz0() - referenceDZ0  );
 
-      //      h2d_d0vsphi_rec->Fill( test->phi(), test->a0() );
+      //      m_h2d_d0vsphi_rec->Fill( test->phi(), test->a0() );
 
-      h_npixvseta_rec->Fill( referenceEta, int((test->pixelHits()+0.5)*0.5) ); 
-      h_nsctvseta_rec->Fill( referenceEta, test->sctHits() ); 
+      m_h_npixvseta_rec->Fill( referenceEta, int((test->pixelHits()+0.5)*0.5) ); 
+      m_h_nsctvseta_rec->Fill( referenceEta, test->sctHits() ); 
 
-      h_npixvsphi_rec->Fill( referencePhi, int((test->pixelHits()+0.5)*0.5) ); 
-      h_nsctvsphi_rec->Fill( referencePhi, test->sctHits() ); 
+      m_h_npixvsphi_rec->Fill( referencePhi, int((test->pixelHits()+0.5)*0.5) ); 
+      m_h_nsctvsphi_rec->Fill( referencePhi, test->sctHits() ); 
 
-      h_npixvsd0_rec->Fill( referenceD0, int((test->pixelHits()+0.5)*0.5) ); 
-      h_nsctvsd0_rec->Fill( referenceD0, test->sctHits() ); 
+      m_h_npixvsd0_rec->Fill( referenceD0, int((test->pixelHits()+0.5)*0.5) ); 
+      m_h_nsctvsd0_rec->Fill( referenceD0, test->sctHits() ); 
 
-      h_npix_rec->Fill(  int((test->pixelHits()+0.5)*0.5) ); 
-      h_nsct_rec->Fill(  test->sctHits() ); 
-      h_nsihits_rec->Fill(  test->siHits() ); 
+      m_h_npix_rec->Fill(  int((test->pixelHits()+0.5)*0.5) ); 
+      m_h_nsct_rec->Fill(  test->sctHits() ); 
+      m_h_nsihits_rec->Fill(  test->siHits() ); 
 
-      h_nsihits_lb_rec->Fill( event()->lumi_block(), test->siHits() ); 
+      m_h_nsihits_lb_rec->Fill( event()->lumi_block(), test->siHits() ); 
     
  
-      h_ntrt_rec->Fill(  test->strawHits() ); 
+      m_h_ntrt_rec->Fill(  test->strawHits() ); 
 
-      h_ntrtvseta_rec->Fill( referenceEta, test->strawHits() ); 
-      h_ntrtvsphi_rec->Fill( referencePhi, test->strawHits() ); 
+      m_h_ntrtvseta_rec->Fill( referenceEta, test->strawHits() ); 
+      m_h_ntrtvsphi_rec->Fill( referencePhi, test->strawHits() ); 
 
     }
     //    else { 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/ChainString.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/ChainString.cxx
index b6c92824c6e17f15c22fff4c6ae6fffbc9a0d1cc..de6ffb6820adaae857519bf5e323feb0fbca05ad 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/ChainString.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/ChainString.cxx
@@ -14,20 +14,20 @@
 
 
 ChainString::ChainString(const std::string& s) : 
-  std::string(s), mpassed(true) {
+  std::string(s), m_passed(true) {
   parse(); 
 }
 
 
 ChainString::ChainString(const ChainString& s) :
   std::string(s), 
-  mhead(s.mhead), mtail(s.mtail), mextra(s.mextra),
-  melement(s.melement), mroi(s.mroi), 
-  mvtx(s.mvtx),
-  mpassed(s.mpassed),
-  mkeys(s.mkeys),
-  mvalues(s.mvalues),
-  mraw(s.mraw) {  
+  m_head(s.m_head), m_tail(s.m_tail), m_extra(s.m_extra),
+  m_element(s.m_element), m_roi(s.m_roi), 
+  m_vtx(s.m_vtx),
+  m_passed(s.m_passed),
+  m_keys(s.m_keys),
+  m_values(s.m_values),
+  m_raw(s.m_raw) {  
 
 }
 
@@ -35,42 +35,42 @@ ChainString::ChainString(const ChainString& s) :
 /// parse the full specification string
 void ChainString::parse() { 
 
-    std::string _s = *this;
+    std::string s = *this;
     
     std::vector<std::string> fields;
 
-    //    std::cout << "\nChainString::parse() [" << _s << "]" << std::endl;
+    //    std::cout << "\nChainString::parse() [" << s << "]" << std::endl;
     
-    std::string pass = chomp(_s,";");
-    if ( pass!="" ) mpassed = ( pass=="DTE" ? false : true );    
+    std::string pass = chomp(s,";");
+    if ( pass!="" ) m_passed = ( pass=="DTE" ? false : true );    
 
-    std::string::size_type pos = _s.find(":");
+    std::string::size_type pos = s.find(":");
 
     while ( pos!=std::string::npos ) { 
-      fields.push_back( chop( _s, ":" ) ); 
-      pos = _s.find(":");
+      fields.push_back( chop( s, ":" ) ); 
+      pos = s.find(":");
     }
     
-    fields.push_back(_s);
+    fields.push_back(s);
 
     for ( unsigned i=fields.size() ; i-- ; ) { 
       if ( fields[i].find("=")!=std::string::npos ) { 
-	std::string _field = fields[i];
-	mkeys.push_back( chop( _field, "=" ) );
-	mvalues.push_back( _field );
+	std::string field = fields[i];
+	m_keys.push_back( chop( field, "=" ) );
+	m_values.push_back( field );
       }
     }
 
     bool usetags   = false;
     //  bool useroitag = false;
     
-    mhead = fields[0]; 
+    m_head = fields[0]; 
 
     std::string tags[5]   = { "collection=", "index=", "roi=", "vtx=", "te=" };
     std::string alt[5]    = { "key=",        "ind=",   "",    "",     ""     };
     bool        tagged[5] = {  false,         false,    false, false, false  };    
  
-    std::string* _values[5] = { &mtail, &mextra, &mroi, &mvtx, &melement };
+    std::string* values[5] = { &m_tail, &m_extra, &m_roi, &m_vtx, &m_element };
 
     
     /// get collection, index and roi if not tagged with a label
@@ -78,7 +78,7 @@ void ChainString::parse() {
     unsigned first_tag = 1;
     for ( unsigned i=1 ; i<fields.size() && i<4 ; i++ ) {
       if ( fields[i].find("=")==std::string::npos ) {
-	*_values[i-1] = fields[i];
+	*values[i-1] = fields[i];
 	first_tag = i+1;
 	tagged[i-1] = true;
       }
@@ -103,7 +103,7 @@ void ChainString::parse() {
 
 	if ( tagged[itag] ) { 
 	  if ( lowfield.find(tags[itag])==0 || ( alt[itag]!="" && lowfield.find(alt[itag])==0 ) ) { 
-	    std::cerr << "tag already allocated : " << fields[i] << " with value " << *_values[itag] << std::endl;
+	    std::cerr << "tag already allocated : " << fields[i] << " with value " << *values[itag] << std::endl;
 	  }
 	  continue;
 	}
@@ -112,7 +112,7 @@ void ChainString::parse() {
 	if ( lowfield.find(tags[itag])==0 ) { 
 	  tagged[itag] = true;
 	  fields[i].erase( 0, tags[itag].size() );
-	  *_values[itag] = fields[i];
+	  *values[itag] = fields[i];
 	  //	  if ( itag<2 ) usetags   = true;
 	  //  else           useroitag = true; 
 	  break;
@@ -120,7 +120,7 @@ void ChainString::parse() {
 	else if ( alt[itag]!="" && lowfield.find(alt[itag])==0 ) {  
 	  tagged[itag] = true;
 	  fields[i].erase( 0, alt[itag].size() );
-	  *_values[itag] = fields[i];
+	  *values[itag] = fields[i];
 	  //  if ( itag<2 ) usetags   = true;
 	  //  else           useroitag = true; 
 	  break;
@@ -136,29 +136,29 @@ void ChainString::parse() {
     if ( !usetags ) { 
       //      std::cout << "fields.size() " << fields.size() << std::endl;
       for ( unsigned i=first_tag ; i<5 ; i++ ) {
-	if ( (i+1)<fields.size() ) *_values[i] = fields[i+1];
+	if ( (i+1)<fields.size() ) *values[i] = fields[i+1];
       }
     }      
 
 #if 0
-    std::cout << "head:  " << mhead    << std::endl;
-    std::cout << "key:   " << mtail    << std::endl;
-    std::cout << "ind:   " << mextra   << std::endl;
-    std::cout << "te:    " << melement << std::endl;
-    std::cout << "roi:   " << mroi     << std::endl;
-    std::cout << "vtx:   " << mvtx     << std::endl;
-    std::cout << "pass:  " << mpassed  << std::endl;
+    std::cout << "head:  " << m_head    << std::endl;
+    std::cout << "key:   " << m_tail    << std::endl;
+    std::cout << "ind:   " << m_extra   << std::endl;
+    std::cout << "te:    " << m_element << std::endl;
+    std::cout << "roi:   " << m_roi     << std::endl;
+    std::cout << "vtx:   " << m_vtx     << std::endl;
+    std::cout << "pass:  " << m_passed  << std::endl;
 #endif   
     
     /// replace the string by a parsed basic string that can be converted
     /// to a root directory name etc
     
-    std::string raw = mhead;
-    for ( int i=0 ; i<5 ; i++ ) if ( *_values[i]!="" ) raw += ":" + *_values[i];
-    if ( !mpassed ) raw += ";DTE";
+    std::string raw = m_head;
+    for ( int i=0 ; i<5 ; i++ ) if ( *values[i]!="" ) raw += ":" + *values[i];
+    if ( !m_passed ) raw += ";DTE";
   
     /// save the original string
-    mraw = *this;
+    m_raw = *this;
 
     /// overwrite with the parsed string 
     *(std::string*)(this) = raw;
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/SigAnalysis.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/SigAnalysis.cxx
index 1de8ed4cd9ab129b412047d2f81187ebb47d06e9..6583afeb8c4c56941bfc8519825beda5996716c5 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/SigAnalysis.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/SigAnalysis.cxx
@@ -99,15 +99,15 @@ void SigAnalysis::initialise() {
   heff[6]    = new Efficiency( find("pT"), "pTm_eff" );
   heff[7]    = new Efficiency( find("pT"), "pTp_eff" );
 
-  eff_pt  = heff[0];
-  eff_eta = heff[1];
-  eff_phi = heff[2];
-  eff_z0  = heff[3];
-  eff_d0  = heff[4];
-  eff_a0  = heff[5];
-
-  eff_ptm = heff[6];
-  eff_ptp = heff[7];
+  m_eff_pt  = heff[0];
+  m_eff_eta = heff[1];
+  m_eff_phi = heff[2];
+  m_eff_z0  = heff[3];
+  m_eff_d0  = heff[4];
+  m_eff_a0  = heff[5];
+
+  m_eff_ptm = heff[6];
+  m_eff_ptp = heff[7];
   
   hpurity[0] = new Efficiency( find("pT"),  "pT_pur"  );
   hpurity[1] = new Efficiency( find("eta"), "eta_pur" );
@@ -116,12 +116,12 @@ void SigAnalysis::initialise() {
   hpurity[4] = new Efficiency( find("d0"),  "d0_pur"  );
   hpurity[5] = new Efficiency( find("a0"),  "a0_pur"  );
 
-  purity_pt  = hpurity[0];
-  purity_eta = hpurity[1];
-  purity_phi = hpurity[2];
-  purity_z0  = hpurity[3];
-  purity_d0  = hpurity[4];
-  purity_a0  = hpurity[5];
+  m_purity_pt  = hpurity[0];
+  m_purity_eta = hpurity[1];
+  m_purity_phi = hpurity[2];
+  m_purity_z0  = hpurity[3];
+  m_purity_d0  = hpurity[4];
+  m_purity_a0  = hpurity[5];
 
   // "test" quantities
   addHistogram(    new TH1F(  "pT_rec",   "pT_rec",   ptnbins,    ptbinlims ) );
@@ -161,9 +161,9 @@ void SigAnalysis::initialise() {
   
 
   // beam offset fitting histos
-  h2  = new TH2F( "d0vphi",       "d0vphi",        phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );  
-  h2r = new TH2F( "d0vphi_rec",   "d0vphi_rec",    phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );  
-  h2m = new TH2F( "d0vphi_match", "d0vphi_match",  phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );  
+  m_h2  = new TH2F( "d0vphi",       "d0vphi",        phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );  
+  m_h2r = new TH2F( "d0vphi_rec",   "d0vphi_rec",    phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );  
+  m_h2m = new TH2F( "d0vphi_match", "d0vphi_match",  phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );  
 
   m_dir->pop();
 
@@ -176,9 +176,9 @@ void SigAnalysis::initialise() {
 
 
 void SigAnalysis::finalise() { 
-  std::cout << "SigAnalysis::finalise() " << name() << "\tNreco " << Nreco << " tracks" << std::endl;
+  std::cout << "SigAnalysis::finalise() " << name() << "\tNreco " << m_Nreco << " tracks" << std::endl;
 
-  //  if ( Nreco==0 ) return;
+  //  if ( m_Nreco==0 ) return;
 
   m_dir->push();
 
@@ -188,14 +188,14 @@ void SigAnalysis::finalise() {
   //  std::map<std::string, TH1F*>::iterator hend=m_histos.end();
   //  for ( ; hitr!=hend ; hitr++ ) hitr->second->Write();     
 
-  //  std::cout << "DBG >" << eff_pt->Hist()->GetName() << "< DBG" << std::endl;
+  //  std::cout << "DBG >" << m_eff_pt->Hist()->GetName() << "< DBG" << std::endl;
 
-  Efficiency* heff[8] = { eff_pt, eff_eta, eff_phi, eff_z0, eff_d0, eff_a0, eff_ptm, eff_ptp };
+  Efficiency* heff[8] = { m_eff_pt, m_eff_eta, m_eff_phi, m_eff_z0, m_eff_d0, m_eff_a0, m_eff_ptm, m_eff_ptp };
   for ( int i=8 ; i-- ; ) { heff[i]->finalise();  } // heff[i]->Hist()->Write(); } 
 
-  //  std::cout << "DBG >" << purity_pt->Hist()->GetName() << "< DBG" << std::endl;
+  //  std::cout << "DBG >" << m_purity_pt->Hist()->GetName() << "< DBG" << std::endl;
 
-  Efficiency* hpurity[6] = { purity_pt, purity_eta, purity_phi, purity_z0, purity_d0, purity_a0 };
+  Efficiency* hpurity[6] = { m_purity_pt, m_purity_eta, m_purity_phi, m_purity_z0, m_purity_d0, m_purity_a0 };
   for ( int i=6 ; i-- ; ) { hpurity[i]->finalise();  } //  hpurity[i]->Hist()->Write(); } 
 
   m_dir->pop();
@@ -247,9 +247,9 @@ void SigAnalysis::execute(const std::vector<TIDA::Track*>& reftracks,
     double ntrtt   = reftracks[i]->trHits(); 
     double nstrawt = reftracks[i]->strawHits(); 
 
-    //    std::cout << "Fill h2 " << " " << h2m << " " << *reftracks[i] << std::endl; 
+    //    std::cout << "Fill m_h2 " << " " << m_h2m << " " << *reftracks[i] << std::endl; 
 
-    h2->Fill( phit, d0t );
+    m_h2->Fill( phit, d0t );
 
     const TIDA::Track* matchedreco = matcher->matched(reftracks[i]); 
     
@@ -271,16 +271,16 @@ void SigAnalysis::execute(const std::vector<TIDA::Track*>& reftracks,
     if ( matchedreco )  {
        
        // efficiency histos
-       eff_pt->Fill(std::fabs(pTt));
-       eff_z0->Fill(z0t);
-       eff_eta->Fill(etat);
-       eff_phi->Fill(phit);
-       eff_d0->Fill(d0t);
-       eff_a0->Fill(a0t);
+       m_eff_pt->Fill(std::fabs(pTt));
+       m_eff_z0->Fill(z0t);
+       m_eff_eta->Fill(etat);
+       m_eff_phi->Fill(phit);
+       m_eff_d0->Fill(d0t);
+       m_eff_a0->Fill(a0t);
        
        // signed pT
-       if ( pTt<0 ) eff_ptm->Fill(std::fabs(pTt));
-       else         eff_ptp->Fill(std::fabs(pTt));
+       if ( pTt<0 ) m_eff_ptm->Fill(std::fabs(pTt));
+       else         m_eff_ptp->Fill(std::fabs(pTt));
        
        // residual histos
        double pTr  = matchedreco->pT();  
@@ -290,7 +290,7 @@ void SigAnalysis::execute(const std::vector<TIDA::Track*>& reftracks,
        double d0r  = matchedreco->a0(); 
        double a0r  = matchedreco->a0() + sin(phir)*m_xBeamTest - cos(phir)*m_yBeamTest; // this will be changed when we know the beam spot position
 
-       if ( h2m ) h2m->Fill( phit, d0t );
+       if ( m_h2m ) m_h2m->Fill( phit, d0t );
       
        //       if ( m_print ) std::cout << "SigAnalysis::execute() \t " << name() << "\t" << i << " " 
        if ( m_print ) std::cout << "SigAnalysis::execute() \t\t" << i << " " 
@@ -310,16 +310,16 @@ void SigAnalysis::execute(const std::vector<TIDA::Track*>& reftracks,
      else { 
        // fill efficiencies with unmatched histos
        //       std::cout << "NULL" << std::endl;
-       eff_pt->FillDenom(std::fabs(pTt));
-       eff_z0->FillDenom(z0t);
-       eff_eta->FillDenom(etat);
-       eff_phi->FillDenom(phit);
-       eff_d0->FillDenom(d0t);
-       eff_a0->FillDenom(a0t);
+       m_eff_pt->FillDenom(std::fabs(pTt));
+       m_eff_z0->FillDenom(z0t);
+       m_eff_eta->FillDenom(etat);
+       m_eff_phi->FillDenom(phit);
+       m_eff_d0->FillDenom(d0t);
+       m_eff_a0->FillDenom(a0t);
 
        // signed pT
-       if ( pTt<0 ) eff_ptm->FillDenom(std::fabs(pTt));
-       else         eff_ptp->FillDenom(std::fabs(pTt));
+       if ( pTt<0 ) m_eff_ptm->FillDenom(std::fabs(pTt));
+       else         m_eff_ptp->FillDenom(std::fabs(pTt));
 
        if ( std::fabs(pTt)>4000 ) dump = true; 
      }
@@ -333,13 +333,13 @@ void SigAnalysis::execute(const std::vector<TIDA::Track*>& reftracks,
 
   static int icount = 0;
 
-  //  if ( icount%1000 ) std::cout << "chain " << name() << "\t " << Nreco << " tracks" << std::endl;  
+  //  if ( icount%1000 ) std::cout << "chain " << name() << "\t " << m_Nreco << " tracks" << std::endl;  
   // if ( icount%1000 ) 
-  if ( m_print ) std::cout << "SigAnalysis::execute() \t " << name() << "\t " << icount << " events\t " << testtracks.size() << " tracks (" << Nreco << ")" << "\n---------------" << std::endl;  
+  if ( m_print ) std::cout << "SigAnalysis::execute() \t " << name() << "\t " << icount << " events\t " << testtracks.size() << " tracks (" << m_Nreco << ")" << "\n---------------" << std::endl;  
 
   icount++;
   
-  Nreco += testtracks.size();
+  m_Nreco += testtracks.size();
 
   for ( int i=testtracks.size() ; i-- ; ) { 
      
@@ -362,7 +362,7 @@ void SigAnalysis::execute(const std::vector<TIDA::Track*>& reftracks,
     double ntrtr   = testtracks[i]->trHits(); 
     double nstrawr = testtracks[i]->strawHits(); 
 
-    if ( h2r ) h2r->Fill( phir, d0r );
+    if ( m_h2r ) m_h2r->Fill( phir, d0r );
 
     const TIDA::Track* matchedref = matcher->revmatched(testtracks[i]); 
 
@@ -386,22 +386,22 @@ void SigAnalysis::execute(const std::vector<TIDA::Track*>& reftracks,
 
       //       std::cout << *matchedref << std::endl;
        
-       purity_pt->Fill(std::fabs(pTr));
-       purity_z0->Fill(z0r);
-       purity_eta->Fill(etar);
-       purity_phi->Fill(phir);
-       purity_d0->Fill(d0r);
-       purity_a0->Fill(a0r);
+       m_purity_pt->Fill(std::fabs(pTr));
+       m_purity_z0->Fill(z0r);
+       m_purity_eta->Fill(etar);
+       m_purity_phi->Fill(phir);
+       m_purity_d0->Fill(d0r);
+       m_purity_a0->Fill(a0r);
        
     }
     else { 
       //       std::cout << "NULL" << std::endl;
-       purity_pt->FillDenom(std::fabs(pTr));
-       purity_z0->FillDenom(z0r);
-       purity_eta->FillDenom(etar);
-       purity_phi->FillDenom(phir);
-       purity_d0->FillDenom(d0r);
-       purity_a0->FillDenom(a0r);
+       m_purity_pt->FillDenom(std::fabs(pTr));
+       m_purity_z0->FillDenom(z0r);
+       m_purity_eta->FillDenom(etar);
+       m_purity_phi->FillDenom(phir);
+       m_purity_d0->FillDenom(d0r);
+       m_purity_a0->FillDenom(a0r);
      }
 
   }
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrackEfficiency.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrackEfficiency.cxx
index a8f0d3a16e9a6ab4a0b2f5b98b9852f3b9fe379c..dfb0e2791fdbb577f36f1fb9b4da48c95bddfdaa 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrackEfficiency.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrackEfficiency.cxx
@@ -38,12 +38,10 @@ void TrackEfficiency::initialise() {
 			 20000, 30000, 40000, 60000, 100000 };
 #endif
 
-  double _limits[18] = { 0,     1000,  2000,  3000,  5000,  7000, 
-			 8000,  9000, 10000, 11000, 12000, 13000, 
-			 14000, 20000, 30000, 40000, 60000, 100000 };
-
-  std::vector<double> limits;
-  for ( int i=0 ; i<18 ; i++ ) limits.push_back(_limits[i]);
+  std::vector<double> limits (
+   { 0,     1000,  2000,  3000,  5000,  7000, 
+       8000,  9000, 10000, 11000, 12000, 13000, 
+       14000, 20000, 30000, 40000, 60000, 100000 } );
 
 #if 0
   // efficiencies
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestBase.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestBase.cxx
index 3596744f1199487bece4027edc61c158e1e7fb00..41c39e2685c24bde4f0c8e1af61560a64b9168ae 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestBase.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestBase.cxx
@@ -421,11 +421,11 @@ StatusCode TrigTestBase::fill() {
   int passed_count = 0;
 
   /// print out all the configured chains is need be
-  static bool _first = true;
+  static bool first = true;
   for ( unsigned i=0 ; i<selectChains.size() ; i++ ) {
-    if ( _first ) ATH_MSG_DEBUG( "\tchain " << selectChains[i] << " from TDT" );
+    if ( first ) ATH_MSG_DEBUG( "\tchain " << selectChains[i] << " from TDT" );
   }
-  _first = false;
+  first = false;
 
 
   for ( unsigned i=0 ; i<selectChains.size() ; i++ ) {
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestMonToolAC.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestMonToolAC.cxx
index 227cc9e92ae85e003b32d496814bd38b9cb0897d..94c49998ce080f632cc6adff06fa441270b499a8 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestMonToolAC.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/TrigTestMonToolAC.cxx
@@ -161,17 +161,17 @@ StatusCode TrigTestMonToolAC::book(bool newEventsBlock, bool newLumiBlock, bool
 
   msg(MSG::DEBUG) << "TrigTestMonToolAC::book() SUTT buildNtuple " << m_buildNtuple 
 		  << "\tNewEventBlock " << newEventsBlock 
-		  << "\tNewLumiBlock "  << newLumiBlock 
+		  << "\tNewLumiBlock "  << newLumiBlock
 		  << "\tNewRun "        << newRun  <<  std::endl;
 
 
   /// create sequences if need be ...
 
-  static bool _first = true;
+  static bool first = true;
 
-  if ( _first ) { 
+  if ( first ) { 
 
-    _first = false;
+    first = false;
 
     // track filters 
     // reference (offline) tracks...
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/VtxAnalysis.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/VtxAnalysis.cxx
index 5b9df8c66930da7495fe94aed37d4c89d8ad4647..47fd6bed1c01531e3ee82f292d8cda0c77fa716a 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/VtxAnalysis.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/VtxAnalysis.cxx
@@ -14,7 +14,7 @@
 #include "TrigInDetAnalysisUtils/VertexMatcher.h"
 
 
-VtxAnalysis::VtxAnalysis( const std::string& n ) : VertexAnalysis( n ), m_initialised(false), mdir(0) { } 
+VtxAnalysis::VtxAnalysis( const std::string& n ) : VertexAnalysis( n ), m_initialised(false), m_dir(0) { } 
 
 
 void VtxAnalysis::initialise() { 
@@ -24,8 +24,8 @@ void VtxAnalysis::initialise() {
   //  std::cout << "VtxAnalysis::initialise() " << name() << std::endl;
 
 
-  mdir = new TIDDirectory(name());
-  mdir->push();
+  m_dir = new TIDDirectory(name());
+  m_dir->push();
 
 
   double vnbins[81] = {
@@ -55,50 +55,50 @@ void VtxAnalysis::initialise() {
 
 
 
-  hnvtx   = new TH1F( "vx_nvtx", ";number of vertices",   100, -0.5,  100.5   );
-  hzed    = new TH1F( "vx_zed",   ";vtx z [mm]",          100, -250,   250   );
-  hntrax  = new TH1F( "vx_ntrax", ";number of tracks",    100,   0.5, 200.5 );
+  m_hnvtx   = new TH1F( "vx_nvtx", ";number of vertices",   100, -0.5,  100.5   );
+  m_hzed    = new TH1F( "vx_zed",   ";vtx z [mm]",          100, -250,   250   );
+  m_hntrax  = new TH1F( "vx_ntrax", ";number of tracks",    100,   0.5, 200.5 );
 
-  addHistogram( hnvtx );
-  addHistogram( hzed );
-  addHistogram( hntrax );
+  addHistogram( m_hnvtx );
+  addHistogram( m_hzed );
+  addHistogram( m_hntrax );
 
 
-  hnvtx_rec  = new TH1F( "vx_nvtx_rec",  ";number of vertices",   100, -0.5,  100.5   );
-  hzed_rec   = new TH1F( "vx_zed_rec",   ";vtx z [mm]",           100, -250,   250   );
-  hntrax_rec = new TH1F( "vx_ntrax_rec", ";number of tracks",     100,   0.5, 200.5 );
+  m_hnvtx_rec  = new TH1F( "vx_nvtx_rec",  ";number of vertices",   100, -0.5,  100.5   );
+  m_hzed_rec   = new TH1F( "vx_zed_rec",   ";vtx z [mm]",           100, -250,   250   );
+  m_hntrax_rec = new TH1F( "vx_ntrax_rec", ";number of tracks",     100,   0.5, 200.5 );
 
-  addHistogram( hnvtx_rec );
-  addHistogram( hzed_rec );
-  addHistogram( hntrax_rec );
+  addHistogram( m_hnvtx_rec );
+  addHistogram( m_hzed_rec );
+  addHistogram( m_hntrax_rec );
 
-  hzed_res = new TH1F( "vx_zed_res", "Delta z [mm]", 400, -10, 10 );
+  m_hzed_res = new TH1F( "vx_zed_res", "Delta z [mm]", 400, -10, 10 );
 
-  addHistogram( hzed_res );
+  addHistogram( m_hzed_res );
 
-  rdz_vs_zed    = new TProfile( "vx_rdz_vs_zed",   "rdz_vs_zed; vtx z [mm];z residual [mm]",           100, -250,   250 ); 
-  rdz_vs_ntrax  = new TProfile( "vx_rdz_vs_ntrax", "rdz_vs_ntrax;number of tracks;z residual [mm]",     80, vnbins );
-  rdz_vs_nvtx   = new TProfile( "vx_rdz_vs_nvtx",  "rdz_vs_nvtx;number of vertices;z residual [mm]",    51, -0.125, 50.125 );
+  m_rdz_vs_zed    = new TProfile( "vx_rdz_vs_zed",   "m_rdz_vs_zed; vtx z [mm];z residual [mm]",           100, -250,   250 ); 
+  m_rdz_vs_ntrax  = new TProfile( "vx_rdz_vs_ntrax", "m_rdz_vs_ntrax;number of tracks;z residual [mm]",     80, vnbins );
+  m_rdz_vs_nvtx   = new TProfile( "vx_rdz_vs_nvtx",  "m_rdz_vs_nvtx;number of vertices;z residual [mm]",    51, -0.125, 50.125 );
 
-  addHistogram( rdz_vs_zed );
-  addHistogram( rdz_vs_ntrax );
-  addHistogram( rdz_vs_nvtx );
+  addHistogram( m_rdz_vs_zed );
+  addHistogram( m_rdz_vs_ntrax );
+  addHistogram( m_rdz_vs_nvtx );
  
   //  rdz_vs_mu     = new TProfile( "rdz_vs_mu",    30,     0,    30,    400, -20, 20 ); 
 
-  eff_zed   = new TProfile( "vx_zed_eff", "zed_eff;efficiency;offline vtx z [mm]",       50, -250,  250   );
-  eff_ntrax = new TProfile( "vx_ntrax_eff", "ntrax_eff;number of tracks;efficiency",    80, vnbins );
-  eff_nvtx  = new TProfile( "vx_nvtx_eff",  "nvtx_eff;number of vertices;efficiency",  100, -0.5,  100.5   );
-  eff_mu    = new TProfile( "vx_mu_eff",     "lb_eff;<#mu>;efficiency",                 61, -0.5,  60.5   );
-  eff_lb    = new TProfile( "vx_lb_eff",     "lb_eff;lumi block;efficiency",           151, -0.5,  3019.5   );
+  m_eff_zed   = new TProfile( "vx_zed_eff", "zed_eff;efficiency;offline vtx z [mm]",       50, -250,  250   );
+  m_eff_ntrax = new TProfile( "vx_ntrax_eff", "ntrax_eff;number of tracks;efficiency",    80, vnbins );
+  m_eff_nvtx  = new TProfile( "vx_nvtx_eff",  "nvtx_eff;number of vertices;efficiency",  100, -0.5,  100.5   );
+  m_eff_mu    = new TProfile( "vx_mu_eff",     "lb_eff;<#mu>;efficiency",                 61, -0.5,  60.5   );
+  m_eff_lb    = new TProfile( "vx_lb_eff",     "lb_eff;lumi block;efficiency",           151, -0.5,  3019.5   );
  
-  addHistogram( eff_zed );
-  addHistogram( eff_ntrax );
-  addHistogram( eff_nvtx );
-  addHistogram( eff_mu );
-  addHistogram( eff_lb );
+  addHistogram( m_eff_zed );
+  addHistogram( m_eff_ntrax );
+  addHistogram( m_eff_nvtx );
+  addHistogram( m_eff_mu );
+  addHistogram( m_eff_lb );
 
-  mdir->pop();
+  m_dir->pop();
 
 }
 
@@ -125,8 +125,8 @@ void VtxAnalysis::execute( const std::vector<TIDA::Vertex*>& vtx0,
 
     m.match( vtx0, vtx1 );
 
-    hnvtx->Fill( vtx0.size() );
-    hnvtx_rec->Fill( vtx1.size() );
+    m_hnvtx->Fill( vtx0.size() );
+    m_hnvtx_rec->Fill( vtx1.size() );
     
     //    for ( unsigned i=0 ; i<vtx0.size() ; i++ ) { 
     for ( unsigned i=0 ; i<vtx0.size() ; i++ ) { 
@@ -135,8 +135,8 @@ void VtxAnalysis::execute( const std::vector<TIDA::Vertex*>& vtx0,
 
       //      std::cout << i << "\tref z " << vtx0[i]->z();
 
-      hzed->Fill( vtx0[i]->z() );
-      hntrax->Fill( vtx0[i]->Ntracks() );
+      m_hzed->Fill( vtx0[i]->z() );
+      m_hntrax->Fill( vtx0[i]->Ntracks() );
 
       const TIDA::Vertex* mv = m.matched( vtx0[i] ); 
 
@@ -147,32 +147,32 @@ void VtxAnalysis::execute( const std::vector<TIDA::Vertex*>& vtx0,
 	/// ah ha ! can fill some silly old histograms here 
 	/// ...
 	
-	hzed_rec->Fill( mv->z() );
-	hntrax_rec->Fill( mv->Ntracks() );
+	m_hzed_rec->Fill( mv->z() );
+	m_hntrax_rec->Fill( mv->Ntracks() );
 
-	hzed_res->Fill( mv->z() - vtx0[i]->z() );
+	m_hzed_res->Fill( mv->z() - vtx0[i]->z() );
        
-	rdz_vs_zed->Fill(   vtx0[i]->z(),       mv->z() - vtx0[i]->z() );
-	rdz_vs_ntrax->Fill( vtx0[i]->Ntracks(), mv->z() - vtx0[i]->z() );
-	rdz_vs_nvtx->Fill( vtx0.size(),  mv->z() - vtx0[i]->z() ); /// this isn't really legitimate
+	m_rdz_vs_zed->Fill(   vtx0[i]->z(),       mv->z() - vtx0[i]->z() );
+	m_rdz_vs_ntrax->Fill( vtx0[i]->Ntracks(), mv->z() - vtx0[i]->z() );
+	m_rdz_vs_nvtx->Fill( vtx0.size(),  mv->z() - vtx0[i]->z() ); /// this isn't really legitimate
 
-	eff_zed->Fill( vtx0[i]->z(), 1 );
-	eff_ntrax->Fill( vtx0[i]->Ntracks(), 1 );
-	eff_nvtx->Fill( vtx0.size(), 1 );
+	m_eff_zed->Fill( vtx0[i]->z(), 1 );
+	m_eff_ntrax->Fill( vtx0[i]->Ntracks(), 1 );
+	m_eff_nvtx->Fill( vtx0.size(), 1 );
 
-	eff_mu->Fill( tevt->mu(), 1 );
-	eff_lb->Fill( tevt->lumi_block(), 1 );
+	m_eff_mu->Fill( tevt->mu(), 1 );
+	m_eff_lb->Fill( tevt->lumi_block(), 1 );
 
       }
       else {
 	//	std::cout << "\t" << "------" << std::endl;
  
-	eff_zed->Fill( vtx0[i]->z(), 0 );
-	eff_ntrax->Fill( vtx0[i]->Ntracks(), 0 );
-	eff_nvtx->Fill( vtx0.size(), 0 );
+	m_eff_zed->Fill( vtx0[i]->z(), 0 );
+	m_eff_ntrax->Fill( vtx0[i]->Ntracks(), 0 );
+	m_eff_nvtx->Fill( vtx0.size(), 0 );
 	
-	eff_mu->Fill( tevt->mu(), 0 );
-	eff_lb->Fill( tevt->lumi_block(), 0 );
+	m_eff_mu->Fill( tevt->mu(), 0 );
+	m_eff_lb->Fill( tevt->lumi_block(), 0 );
       }
       
     }
diff --git a/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack.cxx b/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack.cxx
index 02b5bd2c800f8b43221f438892c0a89b40758f53..9ba3aebcf8b1dcbaa8bdfb9ec0842a4b5086fed9 100644
--- a/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack.cxx
+++ b/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack.cxx
@@ -10,23 +10,27 @@ using namespace std;
 #include <TMath.h>
 
 FTKAthTrack::FTKAthTrack() :
-   m_bankID(-1), m_roadID(-1), m_sectorID(-1), m_trackID(-1),
+   m_bankID(-1), m_roadID(-1),
+   m_patternID(0),
+   m_sectorID(-1), m_trackID(-1),
    m_invpt(0), m_d0(0), m_phi(0), m_z0(0),
    m_ctheta(0), m_chi2(0), m_origchi2(0), m_nmissing(0), 
    m_typemask(0), m_bitmask(0), m_ncoords(0), m_coord(0),
    m_HF_rejected(0),m_HW_rejected(0),m_HW_track(-1),
-   m_eventindex(-1), m_barcode(-1), m_barcode_frac(0.), m_patternID(0)
+   m_eventindex(-1), m_barcode(-1), m_barcode_frac(0.)
 {
    // nothing to do
 }
 
 FTKAthTrack::FTKAthTrack(int ncoords) :
-   m_bankID(-1), m_roadID(-1), m_sectorID(-1), m_trackID(-1),
+   m_bankID(-1), m_roadID(-1),
+   m_patternID(0),
+   m_sectorID(-1), m_trackID(-1),
    m_invpt(0), m_d0(0), m_phi(0), m_z0(0),
    m_ctheta(0), m_chi2(0), m_origchi2(0), m_nmissing(0), 
    m_typemask(0), m_bitmask(0), m_ncoords(ncoords),
    m_HF_rejected(0),m_HW_rejected(0),m_HW_track(-1),
-   m_eventindex(-1), m_barcode(-1), m_barcode_frac(0.), m_patternID(0)
+   m_eventindex(-1), m_barcode(-1), m_barcode_frac(0.)
 {
   m_coord = new float[m_ncoords];
   for (int ix=0;ix!=m_ncoords;++ix) m_coord[ix] = 0.f;
diff --git a/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrackContainerCnv.cxx b/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrackContainerCnv.cxx
index 7b4a965d3f501c1fbce4e53481eceb583f103267..1ff59b49bf6fe08db85d57fbbcb1f0d88131e92c 100644
--- a/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrackContainerCnv.cxx
+++ b/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrackContainerCnv.cxx
@@ -5,7 +5,7 @@
 #include "FTKAthTrackContainerCnv.h"
 
 FTKAthTrackContainer_p1* FTKAthTrackContainerCnv::createPersistent(FTKAthTrackContainer *transObj) {
-  MsgStream log(messageService(),"FTKAthTrackContainerCnv");
+  MsgStream log(msgSvc(),"FTKAthTrackContainerCnv");
   FTKAthTrackContainer_p1 *persObj = m_TPconverter.createPersistent(transObj,log);
   return persObj;
 }
@@ -16,7 +16,7 @@ FTKAthTrackContainer* FTKAthTrackContainerCnv::createTransient() {
   static pool::Guid p1_guid("94372D90-D05F-44B0-8E12-2E795342EAFC");
 
   if (compareClassGuid(p1_guid)) {
-    MsgStream log(messageService(),"FTKAthTrackContainerCnv");
+    MsgStream log(msgSvc(),"FTKAthTrackContainerCnv");
     std::auto_ptr<FTKAthTrackContainer_p1> cont_p1(this->poolReadObject<FTKAthTrackContainer_p1>());
     return m_TPconverter.createTransient(cont_p1.get(),log);
   }
diff --git a/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack_p1.cxx b/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack_p1.cxx
index 617ae07ee70a442f954ebc7a06bb8d11421a4152..73d67fc3ae9d098fd11f3da19bd8854fd6a22667 100644
--- a/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack_p1.cxx
+++ b/Trigger/TrigFTK/TrigFTKPool/src/FTKAthTrack_p1.cxx
@@ -7,12 +7,13 @@
 
 
 FTKAthTrack_p1::FTKAthTrack_p1() :
-   m_bankID(-1), m_roadID(-1), m_sectorID(-1), m_trackID(-1),
+   m_bankID(-1), m_roadID(-1),
+   m_patternID(0),
+   m_sectorID(-1), m_trackID(-1),
    m_invpt(0), m_d0(0), m_phi(0), m_z0(0),
    m_ctheta(0), m_chi2(0), m_origchi2(0), m_nmissing(0), 
    m_typemask(0), m_bitmask(0), 
    m_HF_rejected(0),m_HW_rejected(0),m_HW_track(-1),
-   m_eventindex(-1), m_barcode(-1), m_barcode_frac(0.), m_patternID(0)
-
+   m_eventindex(-1), m_barcode(-1), m_barcode_frac(0.)
 {
 }
diff --git a/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStatsCnv.cxx b/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStatsCnv.cxx
index 70858006ad39e337c50d72cdbe8db1c1e4b4b016..c2d4fd53705883f43bbb518ced25e2faece4e077 100644
--- a/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStatsCnv.cxx
+++ b/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStatsCnv.cxx
@@ -5,7 +5,7 @@
 #include "FTKTrackFitterStatsCnv.h"
 
 FTKTrackFitterStats_p1* FTKTrackFitterStatsCnv::createPersistent(FTKTrackFitterStats *transObj) {
-  MsgStream log(messageService(),"FTKTrackFitterStatsCnv");
+  MsgStream log(msgSvc(),"FTKTrackFitterStatsCnv");
   FTKTrackFitterStats_p1 *persObj = m_TPconverter.createPersistent(transObj,log);
   return persObj;
 }
@@ -16,7 +16,7 @@ FTKTrackFitterStats* FTKTrackFitterStatsCnv::createTransient() {
   static pool::Guid p1_guid("09056832-AA09-9426-A2A8-7FC5ED7BFAA7");
 
   if (compareClassGuid(p1_guid)) {
-    MsgStream log(messageService(),"FTKTrackFitterStatsCnv");
+    MsgStream log(msgSvc(),"FTKTrackFitterStatsCnv");
     std::auto_ptr<FTKTrackFitterStats_p1> cont_p1(this->poolReadObject<FTKTrackFitterStats_p1>());
     return m_TPconverter.createTransient(cont_p1.get(),log);
   }
diff --git a/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStats_p1.cxx b/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStats_p1.cxx
index beaaeb04a57affa27bfdeb3effe8f09853d27580..0ce7ef1e4550b53b99e8f6cdc8319f195f1233dd 100644
--- a/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStats_p1.cxx
+++ b/Trigger/TrigFTK/TrigFTKPool/src/FTKTrackFitterStats_p1.cxx
@@ -5,6 +5,9 @@
 #include "TrigFTKPool/FTKTrackFitterStats_p1.h"
 
 FTKTrackFitterStats_p1::FTKTrackFitterStats_p1() :
-  m_ncombs(0), m_nfits(0), m_nfits_maj(0), m_nfits_maj_SCT(0), m_nfits_maj_pix(0), m_nfits_rec(0), m_nfits_addrec(0),
+  m_ncombs(0), m_nfits(0), m_nfits_maj(0),
+  m_nfits_maj_pix(0),
+  m_nfits_maj_SCT(0),
+  m_nfits_rec(0), m_nfits_addrec(0),
   m_nfits_bad(0), m_nfits_rej(0), m_nfits_badmaj(0), m_nfits_rejmaj(0)
 {}
diff --git a/Trigger/TrigHypothesis/TrigBphysHypo/src/TrigEFBMuMuXFex.cxx b/Trigger/TrigHypothesis/TrigBphysHypo/src/TrigEFBMuMuXFex.cxx
index 57211883a08aa7734450683615714bfd4e80f881..cc5e835a433d872bff46a58b6a142fb94b7028dc 100644
--- a/Trigger/TrigHypothesis/TrigBphysHypo/src/TrigEFBMuMuXFex.cxx
+++ b/Trigger/TrigHypothesis/TrigBphysHypo/src/TrigEFBMuMuXFex.cxx
@@ -2660,25 +2660,25 @@ HLT::ErrorCode TrigEFBMuMuXFex::hltExecute(HLT::TEConstVec& inputTE, HLT::Trigge
                                                     else {
                                                       m_TrigBphysColl_b->push_back( trigPartBcMuMuDplus );
                                                       m_TrigBphysColl_X->push_back( trigPartDplus );
-                                                    }
 
-                                                    m_bphysHelperTool->setBeamlineDisplacement(trigPartBcMuMuDplus,
-                                                                                               {*trkIt1,*trkIt2,*trkIt3,*trackELmu1,*trackELmu2});
-                                                    m_bphysHelperTool->setBeamlineDisplacement(trigPartDplus,
-                                                                                               {*trkIt1,*trkIt2,*trkIt3});
-                                                    trigPartDplus->addParticleLink(ItrackEL3);
-                                                    trigPartDplus->addParticleLink(ItrackEL4);
-                                                    trigPartDplus->addParticleLink(ItrackEL5);
-                                                   
-                                                    int iDplus = m_TrigBphysColl_X->size() - 1;
-                                                    ElementLink<xAOD::TrigBphysContainer> trigPartXEL(*m_TrigBphysColl_X,iDplus);
+                                                      m_bphysHelperTool->setBeamlineDisplacement(trigPartBcMuMuDplus,
+                                                                                                {*trkIt1,*trkIt2,*trkIt3,*trackELmu1,*trackELmu2});
+                                                      m_bphysHelperTool->setBeamlineDisplacement(trigPartDplus,
+                                                                                                {*trkIt1,*trkIt2,*trkIt3});
+                                                      trigPartDplus->addParticleLink(ItrackEL3);
+                                                      trigPartDplus->addParticleLink(ItrackEL4);
+                                                      trigPartDplus->addParticleLink(ItrackEL5);
                                                     
-                                                    trigPartBcMuMuDplus->addParticleLink(ItrackEL3);
-                                                    trigPartBcMuMuDplus->addParticleLink(ItrackEL4);
-                                                    trigPartBcMuMuDplus->addParticleLink(ItrackEL5);
-                                                    if(Found1Track) trigPartBcMuMuDplus->addParticleLink(ELmu1);
-                                                    if(Found2Track) trigPartBcMuMuDplus->addParticleLink(ELmu2);
-                                                    trigPartBcMuMuDplus->setSecondaryDecayLink(trigPartXEL);
+                                                      int iDplus = m_TrigBphysColl_X->size() - 1;
+                                                      ElementLink<xAOD::TrigBphysContainer> trigPartXEL(*m_TrigBphysColl_X,iDplus);
+                                                      
+                                                      trigPartBcMuMuDplus->addParticleLink(ItrackEL3);
+                                                      trigPartBcMuMuDplus->addParticleLink(ItrackEL4);
+                                                      trigPartBcMuMuDplus->addParticleLink(ItrackEL5);
+                                                      if(Found1Track) trigPartBcMuMuDplus->addParticleLink(ELmu1);
+                                                      if(Found2Track) trigPartBcMuMuDplus->addParticleLink(ELmu2);
+                                                      trigPartBcMuMuDplus->setSecondaryDecayLink(trigPartXEL);
+                                                    }
                                                     
                                                     result=true;
                                                     m_mon_BcMuMuDplus_n++;
@@ -2819,25 +2819,25 @@ HLT::ErrorCode TrigEFBMuMuXFex::hltExecute(HLT::TEConstVec& inputTE, HLT::Trigge
                                                     else {
                                                       m_TrigBphysColl_b->push_back( trigPartBcMuMuDstar );
                                                       m_TrigBphysColl_X->push_back( trigPartDstar );
-                                                    }
 
-                                                    m_bphysHelperTool->setBeamlineDisplacement(trigPartBcMuMuDstar,
-                                                                                               {*trkIt1,*trkIt2,*trkIt3,*trackELmu1,*trackELmu2});
-                                                    m_bphysHelperTool->setBeamlineDisplacement(trigPartDstar,
-                                                                                               {*trkIt1,*trkIt2,*trkIt3});
-                                                    trigPartDstar->addParticleLink(ItrackEL3);
-                                                    trigPartDstar->addParticleLink(ItrackEL4);
-                                                    trigPartDstar->addParticleLink(ItrackEL5);
-                                                   
-                                                    int iDstar = m_TrigBphysColl_X->size() - 1;
-                                                    ElementLink<xAOD::TrigBphysContainer> trigPartXEL(*m_TrigBphysColl_X,iDstar);
+                                                      m_bphysHelperTool->setBeamlineDisplacement(trigPartBcMuMuDstar,
+                                                                                                {*trkIt1,*trkIt2,*trkIt3,*trackELmu1,*trackELmu2});
+                                                      m_bphysHelperTool->setBeamlineDisplacement(trigPartDstar,
+                                                                                                {*trkIt1,*trkIt2,*trkIt3});
+                                                      trigPartDstar->addParticleLink(ItrackEL3);
+                                                      trigPartDstar->addParticleLink(ItrackEL4);
+                                                      trigPartDstar->addParticleLink(ItrackEL5);
                                                     
-                                                    trigPartBcMuMuDstar->addParticleLink(ItrackEL3);
-                                                    trigPartBcMuMuDstar->addParticleLink(ItrackEL4);
-                                                    trigPartBcMuMuDstar->addParticleLink(ItrackEL5);
-                                                    if(Found1Track) trigPartBcMuMuDstar->addParticleLink(ELmu1);
-                                                    if(Found2Track) trigPartBcMuMuDstar->addParticleLink(ELmu2);
-                                                    trigPartBcMuMuDstar->setSecondaryDecayLink(trigPartXEL);
+                                                      int iDstar = m_TrigBphysColl_X->size() - 1;
+                                                      ElementLink<xAOD::TrigBphysContainer> trigPartXEL(*m_TrigBphysColl_X,iDstar);
+                                                      
+                                                      trigPartBcMuMuDstar->addParticleLink(ItrackEL3);
+                                                      trigPartBcMuMuDstar->addParticleLink(ItrackEL4);
+                                                      trigPartBcMuMuDstar->addParticleLink(ItrackEL5);
+                                                      if(Found1Track) trigPartBcMuMuDstar->addParticleLink(ELmu1);
+                                                      if(Found2Track) trigPartBcMuMuDstar->addParticleLink(ELmu2);
+                                                      trigPartBcMuMuDstar->setSecondaryDecayLink(trigPartXEL);
+                                                    }
                                                     
                                                     result=true;
                                                     m_mon_BcMuMuDstar_n++;
@@ -2919,23 +2919,23 @@ HLT::ErrorCode TrigEFBMuMuXFex::hltExecute(HLT::TEConstVec& inputTE, HLT::Trigge
                                                     else {
                                                       m_TrigBphysColl_b->push_back( trigPartBcMuMuD0 );
                                                       m_TrigBphysColl_X->push_back( trigPartD0 );
-                                                    }
 
-                                                    m_bphysHelperTool->setBeamlineDisplacement(trigPartBcMuMuD0,
-                                                                                               {*trkIt1,*trkIt2,*trackELmu1,*trackELmu2});
-                                                    m_bphysHelperTool->setBeamlineDisplacement(trigPartD0,
-                                                                                               {*trkIt1,*trkIt2});
-                                                    trigPartD0->addParticleLink(ItrackEL3);
-                                                    trigPartD0->addParticleLink(ItrackEL4);
-                                                   
-                                                    int iD0 = m_TrigBphysColl_X->size() - 1;
-                                                    ElementLink<xAOD::TrigBphysContainer> trigPartXEL(*m_TrigBphysColl_X,iD0);
+                                                      m_bphysHelperTool->setBeamlineDisplacement(trigPartBcMuMuD0,
+                                                                                                {*trkIt1,*trkIt2,*trackELmu1,*trackELmu2});
+                                                      m_bphysHelperTool->setBeamlineDisplacement(trigPartD0,
+                                                                                                {*trkIt1,*trkIt2});
+                                                      trigPartD0->addParticleLink(ItrackEL3);
+                                                      trigPartD0->addParticleLink(ItrackEL4);
                                                     
-                                                    trigPartBcMuMuD0->addParticleLink(ItrackEL3);
-                                                    trigPartBcMuMuD0->addParticleLink(ItrackEL4);
-                                                    if(Found1Track) trigPartBcMuMuD0->addParticleLink(ELmu1);
-                                                    if(Found2Track) trigPartBcMuMuD0->addParticleLink(ELmu2);
-                                                    trigPartBcMuMuD0->setSecondaryDecayLink(trigPartXEL);
+                                                      int iD0 = m_TrigBphysColl_X->size() - 1;
+                                                      ElementLink<xAOD::TrigBphysContainer> trigPartXEL(*m_TrigBphysColl_X,iD0);
+                                                      
+                                                      trigPartBcMuMuD0->addParticleLink(ItrackEL3);
+                                                      trigPartBcMuMuD0->addParticleLink(ItrackEL4);
+                                                      if(Found1Track) trigPartBcMuMuD0->addParticleLink(ELmu1);
+                                                      if(Found2Track) trigPartBcMuMuD0->addParticleLink(ELmu2);
+                                                      trigPartBcMuMuD0->setSecondaryDecayLink(trigPartXEL);
+                                                    }
                                                     
                                                     result=true;
                                                     m_mon_BcMuMuD0_n++;
diff --git a/Trigger/TrigMonitoring/TrigBphysMonitoring/src/HLTXAODBphysMonTool.cxx b/Trigger/TrigMonitoring/TrigBphysMonitoring/src/HLTXAODBphysMonTool.cxx
index cb2d83819936779a5169bed11719b070ac0ad14d..6a2105a32740e082fc07cdf3200f8f4c1a268bdf 100755
--- a/Trigger/TrigMonitoring/TrigBphysMonitoring/src/HLTXAODBphysMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigBphysMonitoring/src/HLTXAODBphysMonTool.cxx
@@ -956,15 +956,12 @@ StatusCode HLTXAODBphysMonTool::fillJpsiFinder(){
         //double error     = invariantMassError(jpsiCandidate, std::vector<double>(2, m_muonMass));  // invariant mass error
         double rapidity  = ref_onia.Rapidity();
         double abs_rapidity = fabs(rapidity);
-        double phi       = ref_onia.Phi();
 
         float phiTrk1 = refTrk1.Phi();
         float etaTrk1 = refTrk1.Eta();
-        float ptTrk1  = refTrk1.Pt();
 
         float phiTrk2 = refTrk2.Phi();
         float etaTrk2 = refTrk2.Eta();
-        float ptTrk2  = refTrk2.Pt();
 
         float sumCharges(0.);
         for (auto tpel: jpsiCandidate->trackParticleLinks()) {
@@ -1011,21 +1008,13 @@ StatusCode HLTXAODBphysMonTool::fillJpsiFinder(){
         }
 
         float aLxy_bs      = (hasAccessorVariables ? acc_Lxy_bs(*jpsiCandidate) : 0.);
-        float aLxyError_bs = (hasAccessorVariables ? acc_LxyError_bs(*jpsiCandidate) : 0.);
         float aTau_bs      = (hasAccessorVariables ? acc_Tau_bs(*jpsiCandidate) : 0.);
-        float aTauError_bs = (hasAccessorVariables ? acc_TauError_bs(*jpsiCandidate) : 0.);
         
-        float aLxy_pv      = (hasAccessorVariables ? acc_Lxy_pv(*jpsiCandidate) : 0.);
-        float aLxyError_pv = (hasAccessorVariables ? acc_LxyError_pv(*jpsiCandidate) : 0.);
-        float aTau_pv      = (hasAccessorVariables ? acc_Tau_pv(*jpsiCandidate) : 0.);
-        float aTauError_pv = (hasAccessorVariables ? acc_TauError_pv(*jpsiCandidate) : 0.);
         
         float apT          = (hasAccessorVariables ? acc_pT(*jpsiCandidate) : 0.);
-        float apTError     = (hasAccessorVariables ? acc_pTError(*jpsiCandidate) : 0.);
         float aphiStar     = (hasAccessorVariables ? acc_phiStar(*jpsiCandidate) : 0.);
         float acosThetaStar= (hasAccessorVariables ? acc_cosThetaStar(*jpsiCandidate) : 0.);
         float amass        = (hasAccessorVariables ? acc_mass(*jpsiCandidate) : 0.);
-        float amassError   = (hasAccessorVariables ? acc_massError(*jpsiCandidate) : 0.);
 
         //ATH_MSG_INFO("old phiStar: " << phiStar);
         //ATH_MSG_INFO("new phiStar: " << aphiStar);
diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h b/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h
index 533cdf4ebad57733ef9d37dcbe5da500ba33ba7b..59da5f8a61bcf44ae87a061c935dbd8d7fcc02db 100755
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/TrigMETMonitoring/HLTMETMonTool.h
@@ -119,10 +119,10 @@ private:
 
   // for the efficiencies                                                                                                    
   std::string m_denominator_trigger;
-  TH1F *h_denominator = 0;
+  //TH1F *h_denominator = 0;
 
   std::string m_numerator_trigger[4]; // = {"HLT_xe80", "HLT_xe100"};                                                        
-  TH1F *trig_eff_num[4] = {0};
+  //TH1F *trig_eff_num[4] = {0};
 
   // for MET significance
   float m_sigOffset;
diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx b/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx
index 160f1ad4993609a912bb0f8c2bbd87bb05075fb1..f8f17e5bfd79acb69ba5d7db79ddb4d81241ec43 100755
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/src/HLTMETMonTool.cxx
@@ -247,9 +247,9 @@ StatusCode HLTMETMonTool::book() {
   /// Alternative algorithms: tc_lcw, tc_em, pueta, pufit, mht, feb, fex
   for (std::vector<std::string>::iterator it2 = m_monitoring_alg.begin(); it2 != m_monitoring_alg.end(); it2++) {
 
-    std::string m_shifter_path_alg = mongroupName + "/" + *it2;
-    addMonGroup(new MonGroup(this, m_shifter_path_alg, run));
-    setCurrentMonGroup(m_shifter_path_alg);
+    std::string shifter_path_alg = mongroupName + "/" + *it2;
+    addMonGroup(new MonGroup(this, shifter_path_alg, run));
+    setCurrentMonGroup(shifter_path_alg);
 
     addHistogram(new TH1F("HLT_MEx", "HLT Missing E_{x};E_{x} (GeV)", 199, -298.5,  298.5));
     addHistogram(new TH1F("HLT_MEy", "HLT Missing E_{y};E_{y} (GeV)", 199, -298.5,  298.5));
@@ -297,11 +297,11 @@ StatusCode HLTMETMonTool::book() {
   /// With trigger rquirement:  L1_XE50 etc.
   for (it = m_l1_met_signatures_tolook.begin(); it != m_l1_met_signatures_tolook.end(); it++) {
 
-    std::string m_trigger_path = monGroupName + "/" + it->first;
+    std::string trigger_path = monGroupName + "/" + it->first;
 
     //declare a group of histograms
-    addMonGroup(new MonGroup(this, m_trigger_path, run));
-    setCurrentMonGroup(m_trigger_path);
+    addMonGroup(new MonGroup(this, trigger_path, run));
+    setCurrentMonGroup(trigger_path);
 
     addHistogram(new TH1F("L1_MET", "L1 MET (GeV);MET (GeV)", m_et_bins, m_et_min, m_et_max));
     addHistogram(new TH1F("L1_METx", "L1 Missing E_{x};E_{x} (GeV)", 199, -298.5,  298.5));
@@ -335,9 +335,9 @@ StatusCode HLTMETMonTool::book() {
   /// With trigger requiriment: xe35, xe80, xe100 etc.
   for (it = m_hlt_met_signatures_tolook.begin(); it != m_hlt_met_signatures_tolook.end(); it++) {
 
-    std::string m_expert_path_trigger = monGroupName + "/" + it->first;
-    addMonGroup(new MonGroup(this, m_expert_path_trigger, run));
-    setCurrentMonGroup(m_expert_path_trigger);
+    std::string expert_path_trigger = monGroupName + "/" + it->first;
+    addMonGroup(new MonGroup(this, expert_path_trigger, run));
+    setCurrentMonGroup(expert_path_trigger);
 
     addHistogram(new TH1F("HLT_MEx", "HLT Missing E_{x};E_{x} (GeV)", 199, -298.5,  298.5));
     addHistogram(new TH1F("HLT_MEy", "HLT Missing E_{y};E_{y} (GeV)", 199, -298.5,  298.5));
@@ -604,14 +604,14 @@ void HLTMETMonTool::addL1vsOffHistograms() {
 //___________________________________________________________________________________________________________
 void HLTMETMonTool::trigger_decision() {
 
-  std::vector<std::map<std::string,int>> m_met_signatures_tolook;
-  m_met_signatures_tolook.push_back(m_l1_met_signatures_tolook);
-  m_met_signatures_tolook.push_back(m_hlt_met_signatures_tolook);
+  std::vector<std::map<std::string,int>> met_signatures_tolook;
+  met_signatures_tolook.push_back(m_l1_met_signatures_tolook);
+  met_signatures_tolook.push_back(m_hlt_met_signatures_tolook);
 
   if (m_print_met_trig_stats) {
     std::map<std::string,int>::iterator iter;
-    for (unsigned int i = 0; i<m_met_signatures_tolook.size(); i++) {
-      for (iter = m_met_signatures_tolook[i].begin(); iter != m_met_signatures_tolook[i].end(); ++iter) {
+    for (unsigned int i = 0; i<met_signatures_tolook.size(); i++) {
+      for (iter = met_signatures_tolook[i].begin(); iter != met_signatures_tolook[i].end(); ++iter) {
         std::string name = iter->first;
         if (getTDT()->isPassed(name, TrigDefs::eventAccepted)) {
           iter->second +=1;
@@ -637,135 +637,135 @@ StatusCode HLTMETMonTool::fillMETHist() {
 
 
  // retrieve xAOD L1 ROI 
-  const xAOD::EnergySumRoI *m_l1_roi_cont = 0;
-  sc = m_storeGate->retrieve(m_l1_roi_cont, m_lvl1_roi_key);
-  if(sc.isFailure() || !m_l1_roi_cont) {
+  const xAOD::EnergySumRoI *l1_roi_cont = 0;
+  sc = m_storeGate->retrieve(l1_roi_cont, m_lvl1_roi_key);
+  if(sc.isFailure() || !l1_roi_cont) {
     ATH_MSG_WARNING("Could not retrieve LVL1_RoIs with key \"" << m_lvl1_roi_key << "\" from TDS"  );
   }
 
   // retrieve HLT containers
   // Get HLT (CELL) container
-  const xAOD::TrigMissingETContainer *m_hlt_cell_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_cell_met_cont, m_hlt_cell_met_key);
-  if (sc.isFailure() || !m_hlt_cell_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_cell_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_cell_met_cont, m_hlt_cell_met_key);
+  if (sc.isFailure() || !hlt_cell_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_cell_met_key << " from TDS");
   }
   else 
-    ATH_MSG_DEBUG("Accessing met (cell) with " << m_hlt_cell_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met (cell) with " << hlt_cell_met_cont->size() << " elements");
 
   // Get HLT mht container
-  const xAOD::TrigMissingETContainer *m_hlt_mht_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_mht_met_cont, m_hlt_mht_met_key);
-  if (sc.isFailure() || !m_hlt_mht_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_mht_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_mht_met_cont, m_hlt_mht_met_key);
+  if (sc.isFailure() || !hlt_mht_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_mht_met_key << " from TDS");
   }
   else {
-    ATH_MSG_DEBUG("Accessing met(mht) with " << m_hlt_mht_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(mht) with " << hlt_mht_met_cont->size() << " elements");
     //std::cout << "Found mht = " << m_hlt_mht_met_key << std::endl;
   }
 
   // Get HLT mhtem container
-  const xAOD::TrigMissingETContainer *m_hlt_mhtem_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_mhtem_met_cont, m_hlt_mhtem_met_key);
-  if (sc.isFailure() || !m_hlt_mhtem_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_mhtem_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_mhtem_met_cont, m_hlt_mhtem_met_key);
+  if (sc.isFailure() || !hlt_mhtem_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_mhtem_met_key << " from TDS");
   }
   else {
-    ATH_MSG_DEBUG("Accessing met(mhtem) with " << m_hlt_mhtem_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(mhtem) with " << hlt_mhtem_met_cont->size() << " elements");
     //std::cout << "Found mhtem = " << m_hlt_mhtem_met_key << std::endl;
   }
 
   // Get HLT trkmht container
-  const xAOD::TrigMissingETContainer *m_hlt_trkmht_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_trkmht_met_cont, m_hlt_trkmht_met_key);
-  if (sc.isFailure() || !m_hlt_trkmht_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_trkmht_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_trkmht_met_cont, m_hlt_trkmht_met_key);
+  if (sc.isFailure() || !hlt_trkmht_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_trkmht_met_key << " from TDS");
   }
   else {
-    ATH_MSG_DEBUG("Accessing met(trkmht) with " << m_hlt_trkmht_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(trkmht) with " << hlt_trkmht_met_cont->size() << " elements");
     //std::cout << "Found trkmht = " << m_hlt_trkmht_met_key << std::endl;
   }
 
   // Get HLT trkmhtFTK container
-  const xAOD::TrigMissingETContainer *m_hlt_trkmhtFTK_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_trkmhtFTK_met_cont, m_hlt_trkmhtFTK_met_key);
-  if (sc.isFailure() || !m_hlt_trkmhtFTK_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_trkmhtFTK_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_trkmhtFTK_met_cont, m_hlt_trkmhtFTK_met_key);
+  if (sc.isFailure() || !hlt_trkmhtFTK_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_trkmhtFTK_met_key << " from TDS");
   }
   else {
-    ATH_MSG_DEBUG("Accessing met(trkmhtFTK) with " << m_hlt_trkmhtFTK_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(trkmhtFTK) with " << hlt_trkmhtFTK_met_cont->size() << " elements");
     //std::cout << "Found trkmhtFTK = " << m_hlt_trkmhtFTK_met_key << std::endl;
   }
 
   // Get HLT topocl container
-  const xAOD::TrigMissingETContainer *m_hlt_topocl_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_topocl_met_cont, m_hlt_topocl_met_key);
-  if (sc.isFailure() || !m_hlt_topocl_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_topocl_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_topocl_met_cont, m_hlt_topocl_met_key);
+  if (sc.isFailure() || !hlt_topocl_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_topocl_met_key << " from TDS");
   }
   else 
-    ATH_MSG_DEBUG("Accessing met(topcl) with " << m_hlt_topocl_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(topcl) with " << hlt_topocl_met_cont->size() << " elements");
 
   // Get HLT topocl_PS container
-  const xAOD::TrigMissingETContainer *m_hlt_topocl_PS_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_topocl_PS_met_cont, m_hlt_topocl_PS_met_key);
-  if (sc.isFailure() || !m_hlt_topocl_PS_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_topocl_PS_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_topocl_PS_met_cont, m_hlt_topocl_PS_met_key);
+  if (sc.isFailure() || !hlt_topocl_PS_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_topocl_PS_met_key << " from TDS");
   }
   else 
-    ATH_MSG_DEBUG("Accessing met(topocl_PS) with " << m_hlt_topocl_PS_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(topocl_PS) with " << hlt_topocl_PS_met_cont->size() << " elements");
 
   // Get HLT topocl_PUC container
-  const xAOD::TrigMissingETContainer *m_hlt_topocl_PUC_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_topocl_PUC_met_cont, m_hlt_topocl_PUC_met_key);
-  if (sc.isFailure() || !m_hlt_topocl_PUC_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_topocl_PUC_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_topocl_PUC_met_cont, m_hlt_topocl_PUC_met_key);
+  if (sc.isFailure() || !hlt_topocl_PUC_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_topocl_PUC_met_key << " from TDS");
   }
   else 
-    ATH_MSG_DEBUG("Accessing met(topocl_PUC) with " << m_hlt_topocl_PUC_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(topocl_PUC) with " << hlt_topocl_PUC_met_cont->size() << " elements");
 
   // Get HLT FEB container
-  const xAOD::TrigMissingETContainer *m_hlt_FEB_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_FEB_met_cont, m_hlt_FEB_met_key);
-  if (sc.isFailure() || !m_hlt_FEB_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_FEB_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_FEB_met_cont, m_hlt_FEB_met_key);
+  if (sc.isFailure() || !hlt_FEB_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_FEB_met_key << " from TDS");
   }
   else 
-    ATH_MSG_DEBUG("Accessing met(FEB) with " << m_hlt_FEB_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(FEB) with " << hlt_FEB_met_cont->size() << " elements");
 
   // Get HLT Fex container
-  const xAOD::TrigMissingETContainer *m_hlt_Fex_met_cont = 0;
-  sc = m_storeGate->retrieve(m_hlt_Fex_met_cont, m_hlt_Fex_met_key);
-  if (sc.isFailure() || !m_hlt_Fex_met_cont) {
+  const xAOD::TrigMissingETContainer *hlt_Fex_met_cont = 0;
+  sc = m_storeGate->retrieve(hlt_Fex_met_cont, m_hlt_Fex_met_key);
+  if (sc.isFailure() || !hlt_Fex_met_cont) {
     ATH_MSG_WARNING("Could not retrieve TrigMissingETContainer with key " << m_hlt_Fex_met_key << " from TDS");
   }
   else 
-    ATH_MSG_DEBUG("Accessing met(Fex) with " << m_hlt_Fex_met_cont->size() << " elements");
+    ATH_MSG_DEBUG("Accessing met(Fex) with " << hlt_Fex_met_cont->size() << " elements");
 
   // Get EF muon and EF egamma containers for signal-like selection
   // retrieve EF muon container
-  const xAOD::MuonContainer *m_hlt_muonEFcontainer = 0;
-  sc = m_storeGate->retrieve(m_hlt_muonEFcontainer, m_muon_key);
-  if (sc.isFailure() || !m_hlt_muonEFcontainer) {
+  const xAOD::MuonContainer *hlt_muonEFcontainer = 0;
+  sc = m_storeGate->retrieve(hlt_muonEFcontainer, m_muon_key);
+  if (sc.isFailure() || !hlt_muonEFcontainer) {
     ATH_MSG_WARNING("Could not retrieve muon container with key " << m_muon_key << " from TDS"); 
   }
   else
-    ATH_MSG_DEBUG("Accessing EF muons container with " << m_hlt_muonEFcontainer->size() << " elements");
+    ATH_MSG_DEBUG("Accessing EF muons container with " << hlt_muonEFcontainer->size() << " elements");
 
   // retrieve EF electron container
-  const xAOD::ElectronContainer *m_hlt_electronEFcontainer = 0;
-  sc = m_storeGate->retrieve(m_hlt_electronEFcontainer, m_electron_key);
-  if (sc.isFailure() || !m_hlt_electronEFcontainer) {
+  const xAOD::ElectronContainer *hlt_electronEFcontainer = 0;
+  sc = m_storeGate->retrieve(hlt_electronEFcontainer, m_electron_key);
+  if (sc.isFailure() || !hlt_electronEFcontainer) {
     ATH_MSG_WARNING("Could not retrieve electron container with key " << m_electron_key << " from TDS");
   }
   else
-    ATH_MSG_DEBUG("Accessing EF electrons container with " << m_hlt_electronEFcontainer->size() << " elements");
+    ATH_MSG_DEBUG("Accessing EF electrons container with " << hlt_electronEFcontainer->size() << " elements");
 
   // Get Offline MET container
-  const xAOD::MissingETContainer *m_off_met_cont = 0;
-  sc = m_storeGate->retrieve(m_off_met_cont, m_off_met_key);
-  if (sc.isFailure() || !m_off_met_cont) {
-    ATH_MSG_DEBUG("Could not retrieve Reconstructed MET term with Key " << m_off_met_key << " : m_off_met_cont = 0");
+  const xAOD::MissingETContainer *off_met_cont = 0;
+  sc = m_storeGate->retrieve(off_met_cont, m_off_met_key);
+  if (sc.isFailure() || !off_met_cont) {
+    ATH_MSG_DEBUG("Could not retrieve Reconstructed MET term with Key " << m_off_met_key << " : off_met_cont = 0");
   }
   else if (m_debuglevel) {
     ATH_MSG_DEBUG("Got Reconstructed MET term with key " << m_off_met_key);
@@ -778,8 +778,8 @@ StatusCode HLTMETMonTool::fillMETHist() {
   //####################
   //-- Get met values
   //####################
-  const xAOD::TrigMissingET *m_hlt_met = 0;
-  const xAOD::MissingET     *m_off_met = 0;
+  const xAOD::TrigMissingET *hlt_met_obj = 0;
+  const xAOD::MissingET     *off_met_obj = 0;
  
   //***********
   /// L1 MET
@@ -797,13 +797,13 @@ StatusCode HLTMETMonTool::fillMETHist() {
   float l1_met_log = -9e9;
   float l1_sumet_log = -9e9;
 
-  if (m_l1_roi_cont) {
-    if ((m_l1_roi_cont->energyX())>-9e12 && (m_l1_roi_cont->energyX())<9e12 && (m_l1_roi_cont->energyY())>-9e12 && (m_l1_roi_cont->energyY())<9e12) { 
-      l1_mex = - (m_l1_roi_cont->energyX())/CLHEP::GeV;
-      l1_mey = - (m_l1_roi_cont->energyY())/CLHEP::GeV;
+  if (l1_roi_cont) {
+    if ((l1_roi_cont->energyX())>-9e12 && (l1_roi_cont->energyX())<9e12 && (l1_roi_cont->energyY())>-9e12 && (l1_roi_cont->energyY())<9e12) { 
+      l1_mex = - (l1_roi_cont->energyX())/CLHEP::GeV;
+      l1_mey = - (l1_roi_cont->energyY())/CLHEP::GeV;
       l1_met = sqrt(l1_mex*l1_mex + l1_mey*l1_mey);
       l1_phi = atan2f(l1_mey,l1_mex);
-      l1_sumet = (m_l1_roi_cont->energyT())/CLHEP::GeV; 
+      l1_sumet = (l1_roi_cont->energyT())/CLHEP::GeV; 
       
       l1_mex_log = signed_log(l1_mex, epsilon);
       l1_mey_log = signed_log(l1_mey, epsilon);
@@ -837,20 +837,20 @@ StatusCode HLTMETMonTool::fillMETHist() {
   //######################################################
   //##### Set main trigger Algorithm  ####################
   //######################################################
-  //if (m_hlt_cell_met_cont && m_hlt_cell_met_cont->size()) {  
-  //m_hlt_met = m_hlt_cell_met_cont->at(0);
-  //if (m_hlt_topocl_met_cont && m_hlt_topocl_met_cont->size()) {  
-  //m_hlt_met = m_hlt_topocl_met_cont->at(0);
-  if (m_hlt_mht_met_cont && m_hlt_mht_met_cont->size()) {  
-    m_hlt_met = m_hlt_mht_met_cont->at(0);
+  //if (hlt_cell_met_cont && hlt_cell_met_cont->size()) {  
+  //hlt_met_obj = hlt_cell_met_cont->at(0);
+  //if (hlt_topocl_met_cont && hlt_topocl_met_cont->size()) {  
+  //hlt_met_obj = hlt_topocl_met_cont->at(0);
+  if (hlt_mht_met_cont && hlt_mht_met_cont->size()) {  
+    hlt_met_obj = hlt_mht_met_cont->at(0);
     
-    hlt_ex = m_hlt_met->ex()/CLHEP::GeV; 
-    hlt_ey = m_hlt_met->ey()/CLHEP::GeV; 
-    hlt_ez = m_hlt_met->ez()/CLHEP::GeV;
+    hlt_ex = hlt_met_obj->ex()/CLHEP::GeV; 
+    hlt_ey = hlt_met_obj->ey()/CLHEP::GeV; 
+    hlt_ez = hlt_met_obj->ez()/CLHEP::GeV;
     hlt_met = sqrt(hlt_ex*hlt_ex+hlt_ey*hlt_ey); 
     //hlt_me  = sqrt(hlt_ex*hlt_ex+hlt_ey*hlt_ey+hlt_ez*hlt_ez);
-    hlt_sumet = m_hlt_met->sumEt()/CLHEP::GeV;
-    hlt_sume  = m_hlt_met->sumE()/CLHEP::GeV; 
+    hlt_sumet = hlt_met_obj->sumEt()/CLHEP::GeV;
+    hlt_sume  = hlt_met_obj->sumE()/CLHEP::GeV; 
 
     CLHEP::Hep3Vector v(hlt_ex, hlt_ey, hlt_ez);
     hlt_eta = v.eta();
@@ -881,14 +881,14 @@ StatusCode HLTMETMonTool::fillMETHist() {
   float off_met = -9e9;
   float off_sumet = -9e9;
   float off_phi = -9e9;
-  if (m_off_met_cont) {
-    if (m_off_met_cont->size()) {
-      m_off_met = (*m_off_met_cont)["FinalClus"];
+  if (off_met_cont) {
+    if (off_met_cont->size()) {
+      off_met_obj = (*off_met_cont)["FinalClus"];
       
-      off_ex = ((*m_off_met_cont)["FinalClus"]->mpx())/CLHEP::GeV;
-      off_ey = ((*m_off_met_cont)["FinalClus"]->mpy())/CLHEP::GeV;
+      off_ex = ((*off_met_cont)["FinalClus"]->mpx())/CLHEP::GeV;
+      off_ey = ((*off_met_cont)["FinalClus"]->mpy())/CLHEP::GeV;
       off_met = sqrt(off_ex*off_ex+off_ey*off_ey);
-      off_sumet = ((*m_off_met_cont)["FinalClus"]->sumet())/CLHEP::GeV;
+      off_sumet = ((*off_met_cont)["FinalClus"]->sumet())/CLHEP::GeV;
       off_phi = atan2(off_ey, off_ex);
     }
   }
@@ -974,10 +974,10 @@ StatusCode HLTMETMonTool::fillMETHist() {
   ATH_MSG_DEBUG("Going to iterate through muon container");
   bool METMuonFilled = false; // flag is set to true if event satisfies signal-like requirement 
   bool muonContEmpty = true;
-  if (m_hlt_muonEFcontainer && m_hlt_muonEFcontainer->size()>0) {
+  if (hlt_muonEFcontainer && hlt_muonEFcontainer->size()>0) {
     ATH_MSG_DEBUG("HLT EF Muon container exists and is not empty. Going to loop over container.");
     muonContEmpty = false;
-    for (auto muon : *m_hlt_muonEFcontainer) {
+    for (auto muon : *hlt_muonEFcontainer) {
       // If a muon in this event satifies the requirements, we will fill in MET for this event.
       if(muon->muonType() == xAOD::Muon::Combined && (muon->pt()/CLHEP::GeV > m_muon_pt_thresh)) {
 	    METMuonFilled = true;
@@ -1019,11 +1019,11 @@ StatusCode HLTMETMonTool::fillMETHist() {
   bool METElectronFilled = false;
   bool electronEtaReq = false;
   bool electronContEmpty = true;
-  if (m_hlt_electronEFcontainer && m_hlt_electronEFcontainer->size()>0) {
+  if (hlt_electronEFcontainer && hlt_electronEFcontainer->size()>0) {
     ATH_MSG_DEBUG("HLT EF electron container exists and is not empty. Going to loop over container.");
     //ATH_MSG_INFO("HLT EF electron container exists and is not empty. Going to loop over container.");
     electronContEmpty = false;
-    for (auto eg : *m_hlt_electronEFcontainer) {
+    for (auto eg : *hlt_electronEFcontainer) {
 	  //ATH_MSG_INFO("--------------");
 	  //ATH_MSG_INFO("electron found in electronEFContainer");
 	  
@@ -1088,68 +1088,68 @@ StatusCode HLTMETMonTool::fillMETHist() {
     std::string algo = get_trigger_algo(name);
     //std::cout << "algo = " << algo << std::endl;
     ATH_MSG_DEBUG("Alternative Selected Alg : " << algo);
-    if (algo == "cell" && m_hlt_cell_met_cont && m_hlt_cell_met_cont->size()>0) {
+    if (algo == "cell" && hlt_cell_met_cont && hlt_cell_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : Cell");
-      m_hlt_met = m_hlt_cell_met_cont->at(0);
-    } else if (algo == "mht" && m_hlt_mht_met_cont && m_hlt_mht_met_cont->size()>0) {
+      hlt_met_obj = hlt_cell_met_cont->at(0);
+    } else if (algo == "mht" && hlt_mht_met_cont && hlt_mht_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : MHT");
-      m_hlt_met = m_hlt_mht_met_cont->at(0);
-    } else if (algo == "mhtem" && m_hlt_mhtem_met_cont && m_hlt_mhtem_met_cont->size()>0) {
+      hlt_met_obj = hlt_mht_met_cont->at(0);
+    } else if (algo == "mhtem" && hlt_mhtem_met_cont && hlt_mhtem_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : mht_em");
-     m_hlt_met = m_hlt_mhtem_met_cont->at(0);
-    } else if (algo == "trkmht" && m_hlt_trkmht_met_cont && m_hlt_trkmht_met_cont->size()>0) {
+     hlt_met_obj = hlt_mhtem_met_cont->at(0);
+    } else if (algo == "trkmht" && hlt_trkmht_met_cont && hlt_trkmht_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : trkmht");
-      m_hlt_met = m_hlt_trkmht_met_cont->at(0);
-    } else if (algo == "trkmhtFTK" && m_hlt_trkmhtFTK_met_cont && m_hlt_trkmhtFTK_met_cont->size()>0) {
+      hlt_met_obj = hlt_trkmht_met_cont->at(0);
+    } else if (algo == "trkmhtFTK" && hlt_trkmhtFTK_met_cont && hlt_trkmhtFTK_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : trkmhtFTK");
-      m_hlt_met = m_hlt_trkmhtFTK_met_cont->at(0);
-    } else if (algo == "topocl" && m_hlt_topocl_met_cont && m_hlt_topocl_met_cont->size()>0) {
+      hlt_met_obj = hlt_trkmhtFTK_met_cont->at(0);
+    } else if (algo == "topocl" && hlt_topocl_met_cont && hlt_topocl_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : TopoCL");
-      m_hlt_met = m_hlt_topocl_met_cont->at(0);
-    } else if (algo == "topocl_PS" && m_hlt_topocl_PS_met_cont && m_hlt_topocl_PS_met_cont->size()>0) {
+      hlt_met_obj = hlt_topocl_met_cont->at(0);
+    } else if (algo == "topocl_PS" && hlt_topocl_PS_met_cont && hlt_topocl_PS_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : TopoCL_PS");
-      m_hlt_met = m_hlt_topocl_PS_met_cont->at(0);
-    } else if (algo == "topocl_PUC" && m_hlt_topocl_PUC_met_cont && m_hlt_topocl_PUC_met_cont->size()>0) {
+      hlt_met_obj = hlt_topocl_PS_met_cont->at(0);
+    } else if (algo == "topocl_PUC" && hlt_topocl_PUC_met_cont && hlt_topocl_PUC_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : TopoCL_PUC");
-      m_hlt_met = m_hlt_topocl_PUC_met_cont->at(0);
-    } else if (algo == "FEB" && m_hlt_FEB_met_cont && m_hlt_FEB_met_cont->size()>0) {
+      hlt_met_obj = hlt_topocl_PUC_met_cont->at(0);
+    } else if (algo == "FEB" && hlt_FEB_met_cont && hlt_FEB_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : FEB");
-      m_hlt_met = m_hlt_FEB_met_cont->at(0);
-    } else if (algo == "Fex" && m_hlt_Fex_met_cont && m_hlt_Fex_met_cont->size()>0) {
+      hlt_met_obj = hlt_FEB_met_cont->at(0);
+    } else if (algo == "Fex" && hlt_Fex_met_cont && hlt_Fex_met_cont->size()>0) {
       ATH_MSG_DEBUG("Alternative Alg : FEX");
-      m_hlt_met = m_hlt_Fex_met_cont->at(0);
+      hlt_met_obj = hlt_Fex_met_cont->at(0);
     } else {
       ATH_MSG_DEBUG("Alternative Alg : NONE");
-      m_hlt_met = 0;
+      hlt_met_obj = 0;
     }
-    ATH_MSG_DEBUG("m_hlt_met = " << m_hlt_met);
-    if (m_hlt_cell_met_cont && m_hlt_cell_met_cont->size()) {
-      ATH_MSG_DEBUG("m_hlt_met cell = " << m_hlt_cell_met_cont->at(0));
-      ATH_MSG_DEBUG("CELL MET Ex = " << m_hlt_cell_met_cont->at(0)->ex()/CLHEP::GeV);
+    ATH_MSG_DEBUG("hlt_met_obj = " << hlt_met_obj);
+    if (hlt_cell_met_cont && hlt_cell_met_cont->size()) {
+      ATH_MSG_DEBUG("hlt_met_obj cell = " << hlt_cell_met_cont->at(0));
+      ATH_MSG_DEBUG("CELL MET Ex = " << hlt_cell_met_cont->at(0)->ex()/CLHEP::GeV);
     }
-    if (m_hlt_mht_met_cont && m_hlt_mht_met_cont->size()) {
-      ATH_MSG_DEBUG("MHT  MET Ex = " << m_hlt_mht_met_cont->at(0)->ex()/CLHEP::GeV);
+    if (hlt_mht_met_cont && hlt_mht_met_cont->size()) {
+      ATH_MSG_DEBUG("MHT  MET Ex = " << hlt_mht_met_cont->at(0)->ex()/CLHEP::GeV);
     }
-    if (m_hlt_topocl_met_cont && m_hlt_topocl_met_cont->size()) {
-      ATH_MSG_DEBUG("CL   MET Ex = " << m_hlt_topocl_met_cont->at(0)->ex()/CLHEP::GeV);
+    if (hlt_topocl_met_cont && hlt_topocl_met_cont->size()) {
+      ATH_MSG_DEBUG("CL   MET Ex = " << hlt_topocl_met_cont->at(0)->ex()/CLHEP::GeV);
     }
-    if (m_hlt_topocl_PS_met_cont && m_hlt_topocl_PS_met_cont->size()) {
-      ATH_MSG_DEBUG("PS   MET Ex = " << m_hlt_topocl_PS_met_cont->at(0)->ex()/CLHEP::GeV);
+    if (hlt_topocl_PS_met_cont && hlt_topocl_PS_met_cont->size()) {
+      ATH_MSG_DEBUG("PS   MET Ex = " << hlt_topocl_PS_met_cont->at(0)->ex()/CLHEP::GeV);
     }
-    if (m_hlt_topocl_PUC_met_cont && m_hlt_topocl_PUC_met_cont->size()) {
-      ATH_MSG_DEBUG("PUC  MET Ex = " << m_hlt_topocl_PUC_met_cont->at(0)->ex()/CLHEP::GeV);
+    if (hlt_topocl_PUC_met_cont && hlt_topocl_PUC_met_cont->size()) {
+      ATH_MSG_DEBUG("PUC  MET Ex = " << hlt_topocl_PUC_met_cont->at(0)->ex()/CLHEP::GeV);
     }
-    if (m_hlt_FEB_met_cont && m_hlt_FEB_met_cont->size()) {
-      ATH_MSG_DEBUG("FEB  MET Ex = " << m_hlt_FEB_met_cont->at(0)->ex()/CLHEP::GeV);
+    if (hlt_FEB_met_cont && hlt_FEB_met_cont->size()) {
+      ATH_MSG_DEBUG("FEB  MET Ex = " << hlt_FEB_met_cont->at(0)->ex()/CLHEP::GeV);
     }
     
-    if (m_hlt_met) {  
-      float tmp_hlt_ex = m_hlt_met->ex()/CLHEP::GeV; 
-      float tmp_hlt_ey = m_hlt_met->ey()/CLHEP::GeV; 
-      float tmp_hlt_ez = m_hlt_met->ez()/CLHEP::GeV;
+    if (hlt_met_obj) {  
+      float tmp_hlt_ex = hlt_met_obj->ex()/CLHEP::GeV; 
+      float tmp_hlt_ey = hlt_met_obj->ey()/CLHEP::GeV; 
+      float tmp_hlt_ez = hlt_met_obj->ez()/CLHEP::GeV;
       float tmp_hlt_met = sqrt(tmp_hlt_ex*tmp_hlt_ex+tmp_hlt_ey*tmp_hlt_ey); 
-      float tmp_hlt_sumet = m_hlt_met->sumEt()/CLHEP::GeV;
-      float tmp_hlt_sume  = m_hlt_met->sumE()/CLHEP::GeV; 
+      float tmp_hlt_sumet = hlt_met_obj->sumEt()/CLHEP::GeV;
+      float tmp_hlt_sume  = hlt_met_obj->sumE()/CLHEP::GeV; 
       ATH_MSG_DEBUG("Alternative Ex = " << tmp_hlt_ex);
       ATH_MSG_DEBUG("Alternative Ey = " << tmp_hlt_ey);
       ATH_MSG_DEBUG("Alternative MET = " << tmp_hlt_met);
@@ -1263,7 +1263,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   //////////////////////////
   // fill HLT histograms without trigger requirement
   setCurrentMonGroup(m_expert_path+"/HLT");
-  if (m_hlt_met) {
+  if (hlt_met_obj) {
     if ((h = hist("HLT_MEx_log"))) h->Fill(hlt_ex_log);
     if ((h = hist("HLT_MEy_log"))) h->Fill(hlt_ey_log);
     if ((h = hist("HLT_MET_lin1"))) h->Fill(hlt_met);
@@ -1278,21 +1278,21 @@ StatusCode HLTMETMonTool::fillMETHist() {
   // Available only for cell based MET  ///////////////////////////////////////
   const xAOD::TrigMissingET *missETEF = 0;
 
-  if (m_hlt_cell_met_cont && m_hlt_cell_met_cont->size()) {
-    missETEF = *(m_hlt_cell_met_cont->begin()); // cell based
+  if (hlt_cell_met_cont && hlt_cell_met_cont->size()) {
+    missETEF = *(hlt_cell_met_cont->begin()); // cell based
 
       //////////////////////////
       // status histogram
       TH1F *h1i(0);
-      bool m_fill_stat = false;
-      if((h1i = (TH1F *) hist("HLT_MET_status"))) m_fill_stat = true;
+      bool fill_stat = false;
+      if((h1i = (TH1F *) hist("HLT_MET_status"))) fill_stat = true;
       for (int i=0; i<32; ++i) {
           unsigned mask = (1<<i);
           if (missETEF->flag() & mask) {
-              if(m_fill_stat && h1i) h1i->Fill(i,1.);
+              if(fill_stat && h1i) h1i->Fill(i,1.);
               //m_status_flag[i] = 1;
           } else {
-              if(m_fill_stat && h1i) h1i->Fill(i,0);
+              if(fill_stat && h1i) h1i->Fill(i,0);
               //m_status_flag[i] = 0;
           }
       }
@@ -1312,65 +1312,65 @@ StatusCode HLTMETMonTool::fillMETHist() {
            float sumE =              missETEF->sumEComponent(i)/CLHEP::GeV;
            float sumEt =             missETEF->sumEtComponent(i)/CLHEP::GeV;
 
-           float m_comp_ex_log = -9e9;
-           float m_comp_ey_log = -9e9;
-           float m_comp_ez_log = -9e9;
-           float m_comp_et_log = -9e9;
-           float m_comp_sum_et_log = -9e9;
-           float m_comp_sum_e_log = -9e9;
-           float m_comp_sum_et_lin = -9e9;
-           float m_comp_sum_e_lin = -9e9;
-           float m_comp_et_lin = -9e9;
+           float comp_ex_log = -9e9;
+           float comp_ey_log = -9e9;
+           float comp_ez_log = -9e9;
+           float comp_et_log = -9e9;
+           float comp_sum_et_log = -9e9;
+           float comp_sum_e_log = -9e9;
+           float comp_sum_et_lin = -9e9;
+           float comp_sum_e_lin = -9e9;
+           float comp_et_lin = -9e9;
 
            if (fabsf(ex)>epsilon)
-             m_comp_ex_log = copysign(log10f(fabsf(ex)), ex);
+             comp_ex_log = copysign(log10f(fabsf(ex)), ex);
            else
-             m_comp_ex_log = 0.01;
+             comp_ex_log = 0.01;
 
            if (fabsf(ey)>epsilon)
-             m_comp_ey_log = copysign(log10f(fabsf(ey)), ey);
+             comp_ey_log = copysign(log10f(fabsf(ey)), ey);
            else
-             m_comp_ey_log = 0.01;
+             comp_ey_log = 0.01;
 
            if (fabsf(ez)>epsilon)
-             m_comp_ez_log = copysign(log10f(fabsf(ez)), ez);
+             comp_ez_log = copysign(log10f(fabsf(ez)), ez);
            else
-             m_comp_ez_log = 0.01;
+             comp_ez_log = 0.01;
 
-           m_comp_et_lin = et;
+           comp_et_lin = et;
            if (et>1e-6) // i.e. et > 0
-             m_comp_et_log = log10f(et);
+             comp_et_log = log10f(et);
            else
-             m_comp_et_log = -100; // underflow
+             comp_et_log = -100; // underflow
 
-           m_comp_sum_et_lin = sumEt;
-           m_comp_sum_e_lin = sumE;
+           comp_sum_et_lin = sumEt;
+           comp_sum_e_lin = sumE;
           
            if (fabsf(sumEt)>epsilon)
-             m_comp_sum_et_log = copysign(log10f(fabsf(sumEt)), sumEt);
+             comp_sum_et_log = copysign(log10f(fabsf(sumEt)), sumEt);
            else
-             m_comp_sum_et_log = 0.01;
+             comp_sum_et_log = 0.01;
            if (fabsf(sumE)>epsilon)
-             m_comp_sum_e_log = copysign(log10f(fabsf(sumE)), sumE);
+             comp_sum_e_log = copysign(log10f(fabsf(sumE)), sumE);
            else
-             m_comp_sum_e_log = 0.01;
-
-           if((h2 = hist2("compN_compEx")))      h2->Fill(i,m_comp_ex_log);
-           if((h2 = hist2("compN_compEy")))      h2->Fill(i,m_comp_ey_log);
-           if((h2 = hist2("compN_compEz")))      h2->Fill(i,m_comp_ez_log);
-           if((h2 = hist2("compN_compEt")))      h2->Fill(i,m_comp_et_log);
-           if((h2 = hist2("compN_compSumEt")))      h2->Fill(i,m_comp_sum_et_log);
-           if((h2 = hist2("compN_compSumE")))      h2->Fill(i,m_comp_sum_e_log);
-           if((h2 = hist2("compN_compEt_lin")))      h2->Fill(i,m_comp_et_lin);
-           if((h2 = hist2("compN_compSumEt_lin")))      h2->Fill(i,m_comp_sum_et_lin);
+             comp_sum_e_log = 0.01;
+
+           if((h2 = hist2("compN_compEx")))      h2->Fill(i,comp_ex_log);
+           if((h2 = hist2("compN_compEy")))      h2->Fill(i,comp_ey_log);
+           if((h2 = hist2("compN_compEz")))      h2->Fill(i,comp_ez_log);
+           if((h2 = hist2("compN_compEt")))      h2->Fill(i,comp_et_log);
+           if((h2 = hist2("compN_compSumEt")))      h2->Fill(i,comp_sum_et_log);
+           if((h2 = hist2("compN_compSumE")))      h2->Fill(i,comp_sum_e_log);
+           if((h2 = hist2("compN_compEt_lin")))      h2->Fill(i,comp_et_lin);
+           if((h2 = hist2("compN_compSumEt_lin")))      h2->Fill(i,comp_sum_et_lin);
           
-           bool m_fill_stat = false;
-           if((h2 = hist2("compN_HLT_MET_status"))) m_fill_stat = true;
+           bool fill_stat = false;
+           if((h2 = hist2("compN_HLT_MET_status"))) fill_stat = true;
            // loop over status flags
            for (int j=0; j<32; ++j) {
              unsigned mask = (1<<j);
              if (missETEF->statusComponent(i) & mask) {
-               if(m_fill_stat && h2) h2->Fill(i,j);
+               if(fill_stat && h2) h2->Fill(i,j);
              }
            }
          
@@ -1384,9 +1384,9 @@ StatusCode HLTMETMonTool::fillMETHist() {
            double phi = v.phi();
 
            if((h2 = hist2(Form("compN_EtaPhi_%02d", i))))      h2->Fill(eta, phi);
-           if((h2 = hist2(Form("compEt_lin_EtaPhi_%02d", i))))      h2->Fill(eta, phi, m_comp_et_lin);
-           if((h2 = hist2(Form("compSumEt_lin_EtaPhi_%02d", i))))      h2->Fill(eta, phi, m_comp_sum_et_lin);
-           if((h2 = hist2(Form("compSumE_lin_EtaPhi_%02d", i))))      h2->Fill(eta, phi, m_comp_sum_e_lin);
+           if((h2 = hist2(Form("compEt_lin_EtaPhi_%02d", i))))      h2->Fill(eta, phi, comp_et_lin);
+           if((h2 = hist2(Form("compSumEt_lin_EtaPhi_%02d", i))))      h2->Fill(eta, phi, comp_sum_et_lin);
+           if((h2 = hist2(Form("compSumE_lin_EtaPhi_%02d", i))))      h2->Fill(eta, phi, comp_sum_e_lin);
         }
       }
   }
@@ -1431,7 +1431,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   //////////////////////////
   // Offline MET
   setCurrentMonGroup(m_expert_path+"/Offline");
-  if (m_off_met) {
+  if (off_met_obj) {
     if ((h = hist("Offline_MET")))    h->Fill(off_met);
     if ((h = hist("Offline_METx")))   h->Fill(off_ex);
     if ((h = hist("Offline_METy")))   h->Fill(off_ey);
@@ -1442,7 +1442,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   // fill correlation histograms -- L1 vs HLT
   //ATH_MSG_INFO("Aqui: " << name);
   setCurrentMonGroup(m_expert_path+"/L1_vs_HLT");
-  if (m_l1_roi_cont) {
+  if (l1_roi_cont) {
     if ((h2 = hist2("L1_HLT_EtCor")))     h2->Fill(hlt_met, l1_met);
     if ((h2 = hist2("L1_HLT_SumEtCor")))  h2->Fill(hlt_sumet, l1_sumet);
     if ((h2 = hist2("L1_HLT_PhiCor")) && hlt_met>0)    h2->Fill(hlt_phi, l1_phi);
@@ -1456,7 +1456,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   
   // fill correlation histograms -- HLT vs Off
   setCurrentMonGroup(m_expert_path+"/HLT_vs_Offline");
-  if (m_off_met) {
+  if (off_met_obj) {
     if ((h2 = hist2("HLT_Off_EtCor")))    h2->Fill(off_met, hlt_met);
     if ((h2 = hist2("HLT_Off_SumEtCor"))) h2->Fill(off_sumet, hlt_sumet);
     if ((h2 = hist2("HLT_Off_PhiCor")) && hlt_met>0)   h2->Fill(off_phi, hlt_phi);
@@ -1470,7 +1470,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   
   // fill correlation histograms -- L1 vs Off
   setCurrentMonGroup(m_expert_path+"/L1_vs_Offline");
-  if (m_off_met) {
+  if (off_met_obj) {
     if ((h2 = hist2("L1_Off_EtCor")))    h2->Fill(off_met, l1_met);
     if ((h2 = hist2("L1_Off_SumEtCor"))) h2->Fill(off_sumet, l1_sumet);
     if ((h2 = hist2("L1_Off_PhiCor")) && l1_met>0)   h2->Fill(off_phi, l1_phi);
@@ -1488,7 +1488,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   setCurrentMonGroup(m_expert_path+"/ElMu");
   int muonMult = 0;
   if (muonContEmpty == false) {
-    for (auto muon : *m_hlt_muonEFcontainer) {
+    for (auto muon : *hlt_muonEFcontainer) {
       if(muon->muonType() == xAOD::Muon::Combined) {
         if((h = hist("HLT_muonpt") )) h->Fill(muon->pt()/CLHEP::GeV);
         muonMult += 1;
@@ -1499,7 +1499,7 @@ StatusCode HLTMETMonTool::fillMETHist() {
   }
   int electronMult = 0;
   if (electronContEmpty == false) {
-    for (auto eg : *m_hlt_electronEFcontainer) {
+    for (auto eg : *hlt_electronEFcontainer) {
       //if (eg->trackParticle()) {
       if((h = hist("HLT_electronpt") )) h->Fill(eg->pt()/CLHEP::GeV);
       electronMult += 1;
@@ -1548,7 +1548,7 @@ std::string HLTMETMonTool::get_trigger_algo(std::string item)
   return algo;
 }
 
-void HLTMETMonTool::check_triggers(std::vector<std::string>& m_triggers, std::map<std::string,int> &m_signatures) {
+void HLTMETMonTool::check_triggers(std::vector<std::string>& triggers, std::map<std::string,int> &signatures) {
 
   const std::vector<std::string> trig_L1_items  = getTDT()->getListOfTriggers("L1_.*");
   const std::vector<std::string> trig_EF_items  = getTDT()->getListOfTriggers("EF_.*");
@@ -1556,9 +1556,9 @@ void HLTMETMonTool::check_triggers(std::vector<std::string>& m_triggers, std::ma
 
   std::vector<std::string>::const_iterator iter;
 
-  for (unsigned int it = 0; it < m_triggers.size(); ++it) { // Loop over trigger items
+  for (unsigned int it = 0; it < triggers.size(); ++it) { // Loop over trigger items
 
-    std::string item = m_triggers[it];
+    std::string item = triggers[it];
     std::string trig_level = get_trigger_level(item); //item.substr(0,3);
 
     if (m_debuglevel)
@@ -1571,7 +1571,7 @@ void HLTMETMonTool::check_triggers(std::vector<std::string>& m_triggers, std::ma
         std::string L1name = *iter;
         if (L1name == item) {
           triggerFound = true;
-          m_signatures.insert(std::map<std::string,int>::value_type(item, 0));
+          signatures.insert(std::map<std::string,int>::value_type(item, 0));
         }
       }
       if (!triggerFound) {
@@ -1583,7 +1583,7 @@ void HLTMETMonTool::check_triggers(std::vector<std::string>& m_triggers, std::ma
         std::string EFname = *iter;
         if (EFname == item) {
           triggerFound = true;
-          m_signatures.insert(std::map<std::string,int>::value_type(item, 0));
+          signatures.insert(std::map<std::string,int>::value_type(item, 0));
         }
       }
       if (!triggerFound)
@@ -1594,7 +1594,7 @@ void HLTMETMonTool::check_triggers(std::vector<std::string>& m_triggers, std::ma
         std::string HLTname = *iter;
         if (HLTname == item) {
           triggerFound = true;
-          m_signatures.insert(std::map<std::string,int>::value_type(item, 0));
+          signatures.insert(std::map<std::string,int>::value_type(item, 0));
         }
       }
       if (!triggerFound)
diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/TrigMinBiasMonitoring/HLTMinBiasMonTool.h b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/TrigMinBiasMonitoring/HLTMinBiasMonTool.h
index ef5f967f3b2029defa457e5ddedf819f8f7a43a0..e6be9b00391b86d9c6e9e7fc087d5050eb897989 100755
--- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/TrigMinBiasMonitoring/HLTMinBiasMonTool.h
+++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/TrigMinBiasMonitoring/HLTMinBiasMonTool.h
@@ -196,12 +196,12 @@ private:
 	float m_timeCut; // Controls the simulated trigger decision
 
 	// ID L2
-	int pixSpBarr;
-	int pixSpECA;
-	int pixSpECC;
-	int sctSpBarr;
-	int sctSpECA;
-	int sctSpECC;
+	int m_pixSpBarr;
+	int m_pixSpECA;
+	int m_pixSpECC;
+	int m_sctSpBarr;
+	int m_sctSpECA;
+	int m_sctSpECC;
 
 	/** Cut made on time overthreshold before any multiplicities are calculated for Pixel and SCT. */
 	float m_timeOverThresholdCut;
@@ -223,9 +223,9 @@ private:
 	float m_max_z0;
 	float m_min_pt;
 
-	int mbTracks;
-	int totpix_spEF;
-	int totsct_spEF;
+	int m_mbTracks;
+	int m_totpix_spEF;
+	int m_totsct_spEF;
 	
 	ToolHandle< InDet::IInDetTrackSelectionTool >  m_mbtsEffSelTool;
 	ToolHandle< InDet::IInDetTrackSelectionTool >  m_sptrkEffSelTool;
diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx
index ada9d1219e5121f0ccb8607f98cd4708b2b184cf..39676f7bb04063198575b0da4906312fe62b43c4 100755
--- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx
@@ -212,15 +212,15 @@ HLTMinBiasMonTool::HLTMinBiasMonTool(const std::string & type, const std::string
 	m_detStore = 0;
 	m_ZdcID = 0;
 	declareProperty("MBTS_countsBothSides", m_mbtsCountsBothSides);
-	declareProperty("pixSpBarr",	pixSpBarr = 0);
-	declareProperty("pixSpECA", 	pixSpECA = 0);
-	declareProperty("pixSpECC", 	pixSpECC = 0);
-	declareProperty("sctSpBarr",	sctSpBarr = 0);
-	declareProperty("sctSpECA", 	sctSpECA = 0);
-	declareProperty("sctSpECC", 	sctSpECC = 0);
-	declareProperty("mbTracks", 	mbTracks = 0);
-	declareProperty("totpix_spEF",	totpix_spEF = 0);
-	declareProperty("totsct_spEF",	totsct_spEF = 0);
+	declareProperty("pixSpBarr",	m_pixSpBarr = 0);
+	declareProperty("pixSpECA", 	m_pixSpECA = 0);
+	declareProperty("pixSpECC", 	m_pixSpECC = 0);
+	declareProperty("sctSpBarr",	m_sctSpBarr = 0);
+	declareProperty("sctSpECA", 	m_sctSpECA = 0);
+	declareProperty("sctSpECC", 	m_sctSpECC = 0);
+	declareProperty("mbTracks", 	m_mbTracks = 0);
+	declareProperty("totpix_spEF",	m_totpix_spEF = 0);
+	declareProperty("totsct_spEF",	m_totsct_spEF = 0);
 }
 
 StatusCode HLTMinBiasMonTool::init()
@@ -1082,16 +1082,16 @@ StatusCode HLTMinBiasMonTool::fillLUCIDInfo()
 {
 	StatusCode sc = StatusCode::SUCCESS;
 	
-	const int m_nLucidTubes = 40;
+	const int nLucidTubes = 40;
 	
 	int hitsA       = 0, hitsC      = 0;
 	int hitsAp      = 0, hitsCp     = 0;
 	int hitsAn      = 0, hitsCn     = 0;
         
-	const LUCID_RawDataContainer* m_LUCID_RawDataContainer;
-	sc = m_storeGate->retrieve(m_LUCID_RawDataContainer, m_LUCID_RawDataContainerName);
+	const LUCID_RawDataContainer* LUCID_RawDataContainer;
+	sc = m_storeGate->retrieve(LUCID_RawDataContainer, m_LUCID_RawDataContainerName);
 
-	if (sc.isFailure() || m_LUCID_RawDataContainer->empty()) {
+	if (sc.isFailure() || LUCID_RawDataContainer->empty()) {
 		if (sc.isFailure())
 			(*m_log) << MSG::WARNING << "Failed to retrieve LucidMinBiasMonTool for  LUCID_RawDataContainer" << endmsg;
 		else
@@ -1100,8 +1100,8 @@ StatusCode HLTMinBiasMonTool::fillLUCIDInfo()
 	} else {
 		(*m_log) << (MSG::DEBUG) << " LUCID_RawDataContainer is retrived from StoreGate " << endmsg;
 
-		LUCID_RawDataContainer::const_iterator LUCID_RawData_itr = m_LUCID_RawDataContainer->begin();
-		LUCID_RawDataContainer::const_iterator LUCID_RawData_end = m_LUCID_RawDataContainer->end();
+		LUCID_RawDataContainer::const_iterator LUCID_RawData_itr = LUCID_RawDataContainer->begin();
+		LUCID_RawDataContainer::const_iterator LUCID_RawData_end = LUCID_RawDataContainer->end();
 
 		for (; LUCID_RawData_itr != LUCID_RawData_end; LUCID_RawData_itr++) {
 
@@ -1115,17 +1115,17 @@ StatusCode HLTMinBiasMonTool::fillLUCIDInfo()
 					<< (*LUCID_RawData_itr)->getWord2n() << endmsg << " word4n : " << (*LUCID_RawData_itr)->getWord3n() << endmsg
 					<< " status: " << (*LUCID_RawData_itr)->getStatus() << endmsg;
 
-			for (int tub = 0; tub < m_nLucidTubes; tub++)
+			for (int tub = 0; tub < nLucidTubes; tub++)
 				if ((*LUCID_RawData_itr)->isTubeFired(tub, 0))
 					hist("lucidChannels")->Fill(tub);
 
 			//previous BX
-			for (int tub = 0; tub < m_nLucidTubes; tub++)
+			for (int tub = 0; tub < nLucidTubes; tub++)
 				if ((*LUCID_RawData_itr)->isTubeFired(tub, 1))
 					hist("lucidChannels_pBX")->Fill(tub);
 
 			//next BX
-			for (int tub = 0; tub < m_nLucidTubes; tub++)
+			for (int tub = 0; tub < nLucidTubes; tub++)
 				if ((*LUCID_RawData_itr)->isTubeFired(tub, 2))
 					hist("lucidChannels_nBX")->Fill(tub);
 
@@ -1736,12 +1736,12 @@ StatusCode HLTMinBiasMonTool::fillSpacePointInfo(const std::string &item)
 {
 	StatusCode sc = StatusCode::SUCCESS;
 	
-	pixSpBarr = 0;
-	pixSpECA = 0;
-	pixSpECC = 0;
-	sctSpBarr = 0;
-	sctSpECA = 0;
-	sctSpECC = 0;
+	m_pixSpBarr = 0;
+	m_pixSpECA = 0;
+	m_pixSpECC = 0;
+	m_sctSpBarr = 0;
+	m_sctSpECA = 0;
+	m_sctSpECC = 0;
 
 	const xAOD::TrigSpacePointCountsContainer* mbSPcont = 0;
 	StatusCode sc_mbsp = m_storeGate->retrieve(mbSPcont, m_spContainerName);
@@ -1764,29 +1764,29 @@ StatusCode HLTMinBiasMonTool::fillSpacePointInfo(const std::string &item)
 			xAOD::TrigSpacePointCounts *id_mbFeature = (*mbSP_coll_itr);
 			unsigned totBins = id_mbFeature->pixelClusTotBins();
 			if ( totBins > 0){
-				pixSpBarr = (int) id_mbFeature->pixelClusBarrelSumEntries(m_timeOverThresholdCut, 0., xAOD::TrigHistoCutType::ABOVE_X_ABOVE_Y);
-				hist("PixBarr_SP")->Fill(pixSpBarr);
+				m_pixSpBarr = (int) id_mbFeature->pixelClusBarrelSumEntries(m_timeOverThresholdCut, 0., xAOD::TrigHistoCutType::ABOVE_X_ABOVE_Y);
+				hist("PixBarr_SP")->Fill(m_pixSpBarr);
 				
-				pixSpECA = (int) id_mbFeature->pixelClusEndcapASumEntries(m_timeOverThresholdCut, 0., xAOD::TrigHistoCutType::ABOVE_X_ABOVE_Y);
-				hist("PixECA_SP")->Fill(pixSpECA);
+				m_pixSpECA = (int) id_mbFeature->pixelClusEndcapASumEntries(m_timeOverThresholdCut, 0., xAOD::TrigHistoCutType::ABOVE_X_ABOVE_Y);
+				hist("PixECA_SP")->Fill(m_pixSpECA);
 				
-				pixSpECC = (int) id_mbFeature->pixelClusEndcapCSumEntries(m_timeOverThresholdCut, 0., xAOD::TrigHistoCutType::ABOVE_X_ABOVE_Y);
-				hist("PixECC_SP")->Fill(pixSpECC);
+				m_pixSpECC = (int) id_mbFeature->pixelClusEndcapCSumEntries(m_timeOverThresholdCut, 0., xAOD::TrigHistoCutType::ABOVE_X_ABOVE_Y);
+				hist("PixECC_SP")->Fill(m_pixSpECC);
 				
 			} else {
 				(*m_log) << MSG::WARNING << "SpacePointCounts is not initialized properly; it has 0 bins in X or Y: "	<< totBins << endmsg;
 			}
                         
-			sctSpBarr = (int) id_mbFeature->sctSpBarrel();
-			sctSpECA = (int) id_mbFeature->sctSpEndcapA();
-			sctSpECC = (int) id_mbFeature->sctSpEndcapC();
+			m_sctSpBarr = (int) id_mbFeature->sctSpBarrel();
+			m_sctSpECA = (int) id_mbFeature->sctSpEndcapA();
+			m_sctSpECC = (int) id_mbFeature->sctSpEndcapC();
 			
-			hist("SctBarr_SP")->Fill(sctSpBarr);
-			hist("SctECA_SP")->Fill(sctSpECA);
-			hist("SctECC_SP")->Fill(sctSpECC);
+			hist("SctBarr_SP")->Fill(m_sctSpBarr);
+			hist("SctECA_SP")->Fill(m_sctSpECA);
+			hist("SctECC_SP")->Fill(m_sctSpECC);
                         
-			hist("PixTot")->Fill(pixSpBarr + pixSpECA + pixSpECC);
-			hist("SctTot")->Fill(sctSpBarr + sctSpECA + sctSpECC); //has overflows -> deeper investigation needed
+			hist("PixTot")->Fill(m_pixSpBarr + m_pixSpECA + m_pixSpECC);
+			hist("SctTot")->Fill(m_sctSpBarr + m_sctSpECA + m_sctSpECC); //has overflows -> deeper investigation needed
 		}
 
 	} // end TrigSpacePointCounts
@@ -1795,9 +1795,9 @@ StatusCode HLTMinBiasMonTool::fillSpacePointInfo(const std::string &item)
         
         bool sim = false;
 	if (m_triggerTypeAND) {
-                sim = ((pixSpBarr + pixSpECC + pixSpECA) > m_totalPixelClus_cut) && ((sctSpBarr + sctSpECA + sctSpECC) > m_totalSctSp_cut);
+                sim = ((m_pixSpBarr + m_pixSpECC + m_pixSpECA) > m_totalPixelClus_cut) && ((m_sctSpBarr + m_sctSpECA + m_sctSpECC) > m_totalSctSp_cut);
 	} else {
-		sim  = ((pixSpBarr + pixSpECC + pixSpECA) > m_totalPixelClus_cut) || ((sctSpBarr + sctSpECA + sctSpECC) > m_totalSctSp_cut);
+		sim  = ((m_pixSpBarr + m_pixSpECC + m_pixSpECA) > m_totalPixelClus_cut) || ((m_sctSpBarr + m_sctSpECA + m_sctSpECC) > m_totalSctSp_cut);
 	}
          
 	if (!sim) { //Trigger mismatch; error
@@ -1826,9 +1826,9 @@ StatusCode HLTMinBiasMonTool::fillTrackingInfo()
 	} else {
 		(*m_log) << MSG::DEBUG << " ====== START HLTMinBias MonTool for xAOD::TrigTrackCountsContainer ====== " << endmsg;
 
-		mbTracks = 0;
-		totpix_spEF = 0;
-		totsct_spEF = 0;
+		m_mbTracks = 0;
+		m_totpix_spEF = 0;
+		m_totsct_spEF = 0;
 
 		// Loop over EF TrigMinBias objects
 		xAOD::TrigTrackCountsContainer::const_iterator mbTT_coll_itr = mbTTcont->begin();
@@ -1836,8 +1836,8 @@ StatusCode HLTMinBiasMonTool::fillTrackingInfo()
 			xAOD::TrigTrackCounts *mbTT = (*mbTT_coll_itr);
 
 			if (mbTT->z0Bins() > 0) {
-				mbTracks = (int) (mbTT->z0_ptSumEntries(m_max_z0, m_min_pt, xAOD::TrigHistoCutType::BELOW_X_ABOVE_Y));
-				hist("MinbiasTracks")->Fill(mbTracks);
+				m_mbTracks = (int) (mbTT->z0_ptSumEntries(m_max_z0, m_min_pt, xAOD::TrigHistoCutType::BELOW_X_ABOVE_Y));
+				hist("MinbiasTracks")->Fill(m_mbTracks);
 			} else {
 				(*m_log) << MSG::WARNING << "The trigger histogram z0_pt is not initialized properly; it has 0 bins in X or Y: " << mbTT->z0Bins()	<< endmsg;
 			}
diff --git a/Trigger/TrigSteer/ViewAlgs/ViewAlgs/HypoDecision.h b/Trigger/TrigSteer/ViewAlgs/ViewAlgs/HypoDecision.h
deleted file mode 100644
index ad454cb9fbba9b6c183169f8892995ad6e9e52ad..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/ViewAlgs/HypoDecision.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_HypoDecision_h
-#define ViewAlgs_HypoDecision_h
-#include <set>
-#include "xAODTrigger/TrigComposite.h"
-
-class HypoDecision {
- public:
-  /// constructs HypoDecision aux class rom the TrigComposite (encoding of the decision hidden here)
-  HypoDecision(){}
-  HypoDecision( const xAOD::TrigComposite& src );
-  static bool containsDecision( const xAOD::TrigComposite& src );
-
-  // attaches the decision information to the TrigComposite
-  void store( xAOD::TrigComposite& destination ) const;
-
-  /// added info about the decision taken by an algo/tool given its instance name
-  void addDecision( const std::string& hypo_name, bool decision );
-  /// added info about the decision taken by an algo/tool given its hashed ID
-  void addDecision( unsigned hypo_id, bool decision );
-
-  /// return true if the decision of a hypo given by the ID was ever recorded in this object
-  bool known( unsigned hypo_id ) const { 
-    return failed(hypo_id) or passed(hypo_id); 
-  }
-
-  /// return true if the hypo decision was positive ( use like this: known(id) and passing(id) ) 
-  bool passed( unsigned hypo_id ) const {  
-    if (find(m_passed.begin(), m_passed.end(), hypo_id) != m_passed.end()) {
-      return true; 
-    }
-    return false;
-  }
-  /// return true if the hypo decision was negative
-  bool failed( unsigned hypo_id ) const { 
-    if (find(m_failed.begin(), m_failed.end(), hypo_id) != m_failed.end()) {
-      return true; 
-    }
-    return false;
-  }
-  const std::vector<unsigned>& passed() const { return m_passed; }
-  const std::vector<unsigned>& failed() const { return m_failed; }
-
- private:
-  std::vector<unsigned> m_passed;
-  std::vector<unsigned> m_failed;
-};
-
-
-#endif
diff --git a/Trigger/TrigSteer/ViewAlgs/src/CopyPassing.cxx b/Trigger/TrigSteer/ViewAlgs/src/CopyPassing.cxx
deleted file mode 100644
index c75220d3e6050f150444e395aeef468005158c95..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/CopyPassing.cxx
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "CxxUtils/make_unique.h"
-
-#include "./CopyPassing.h"
-
-
-
-CopyPassing::CopyPassing(const std::string& name, ISvcLocator* pSvcLocator) 
-  : AthAlgorithm(name, pSvcLocator),
-    m_all("AllHasToBeSet"),
-    m_passing("PassingHasToBeSet"),
-    m_output("OutputHasToBeSet")//,
-    //    m_outputAux("OutputHasToBeSetAux.")
-{
-  declareProperty("CollectionBeforeMenu", m_all, "Handle of the TrigComposites before menu selection");
-  declareProperty("CollectionAfterMenu", m_passing, "Handle of the TrigComposites after menu selection");
-  declareProperty("Output", m_output, "Handle of the TrigComposites copied from the all objects, but only these passing the menu selection");
-  //  declareProperty("OutputAux", m_outputAux, "Handle of the TrigComposites Aux store fro OutputObjects");  
-}
-StatusCode CopyPassing::initialize() {
-  CHECK( m_output.initialize() );  
-  return StatusCode::SUCCESS;
-}
-
-StatusCode CopyPassing::execute() {
-  // prepare output
-  if ( not m_all.isValid() ) {
-    ATH_MSG_ERROR("Can not pull container wihth object before the decision");
-    return StatusCode::FAILURE;
-  }
-
-  if ( not m_passing.isValid() ) {
-    ATH_MSG_ERROR("Can not pull container wihth object after the decision");
-    return StatusCode::FAILURE;
-  }
-
-
-
-  ATH_MSG_DEBUG("all->size()="<<m_all->size()<<" pass->size()="<<m_passing->size());
-
-  auto output = CxxUtils::make_unique< ConstDataVector<xAOD::TrigCompositeContainer> >();
-  output->clear(SG::VIEW_ELEMENTS);
-  //  m_output = CxxUtils::make_unique< xAOD::TrigCompositeContainer >();
-  //  m_outputAux = CxxUtils::make_unique< xAOD::TrigCompositeAuxContainer >();
-  //  m_output->setStore(m_outputAux.ptr());
-  
-  const std::set<const xAOD::TrigComposite*> allSet( m_all.cptr()->begin(), m_all.cptr()->end() );
-  for ( auto ptr: allSet) 
-    ATH_MSG_DEBUG("In the set " << ptr);
-  
-  
-
-  for ( size_t i=0; i < m_passing->size(); i++ ) {    
-    const xAOD::TrigComposite* tcSeed = m_passing->at(i)->object<xAOD::TrigComposite>("seed"); 
-    
-    //    const xAOD::TrigComposite* tcSeed = tcSeedZero->object<xAOD::TrigComposite>("seed"); 
-    ATH_MSG_DEBUG("Obtained seed " << tcSeed);
-    if ( allSet.find(tcSeed) != allSet.end() ) {
-      output->push_back(tcSeed);
-      //xAOD::TrigComposite * refToPassing  = new xAOD::TrigComposite();
-      //    m_output->push_back(refToPassing);
-      //m_output->push_back(refToPassing);
-      //  refToPassing
-      ATH_MSG_DEBUG("copying object");      
-    } else {
-      ATH_MSG_DEBUG("skipping object");
-    }
-  }
-
-  ATH_MSG_DEBUG("output has " << output->size()<<" elements");
-  SG::WriteHandle<ConstDataVector<xAOD::TrigCompositeContainer> > handle( m_output );
-  CHECK(handle.record( std::move(output) ));
-
-  return StatusCode::SUCCESS;
-}
diff --git a/Trigger/TrigSteer/ViewAlgs/src/CopyPassing.h b/Trigger/TrigSteer/ViewAlgs/src/CopyPassing.h
deleted file mode 100644
index 8b0131cacba1923e08b43ad08ebd09833f4d5769..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/CopyPassing.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_CopyPassing_h
-#define ViewAlgs_CopyPassing_h
-#include <string>
-#include <set>
-#include "AthenaBaseComps/AthAlgorithm.h"
-
-#include "AthContainers/ConstDataVector.h"
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-
-
-
-
-class CopyPassing : public AthAlgorithm {
- public:
-  CopyPassing(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-
- private:
-  SG::ReadHandle<xAOD::TrigCompositeContainer> m_all;
-  SG::ReadHandle<xAOD::TrigCompositeContainer> m_passing;
-
-  SG::WriteHandleKey< ConstDataVector<xAOD::TrigCompositeContainer> > m_output;
-  /* SG::WriteHandle< xAOD::TrigCompositeContainer > m_output; */
-  /* SG::WriteHandle< xAOD::TrigCompositeAuxContainer > m_outputAux; */
-};
-
-
-#endif 
diff --git a/Trigger/TrigSteer/ViewAlgs/src/DecisionAlg.cxx b/Trigger/TrigSteer/ViewAlgs/src/DecisionAlg.cxx
deleted file mode 100644
index 0560e157f90da6905c8430ffb6ad267b3a5f5708..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/DecisionAlg.cxx
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include <sstream>
-#include "CxxUtils/make_unique.h"
-#include "L1Decoder/TrigIdentifiers.h"
-#include "ViewAlgs/HypoDecision.h"
-#include "./DecisionAlg.h"
-
-using namespace TrigConf;
-
-
-DecisionAlg::DecisionAlg(const std::string& name, ISvcLocator* pSvcLocator) 
-//  : AthAlgorithm(name, pSvcLocator), 
-  :AthFilterAlgorithm(name, pSvcLocator), 
-    //    m_inputChainDecisions({"MenuInput"}), 
-    m_outputChainDecisions("MenuOutput"), 
-    m_outputChainDecisionsAux("MenuOutputAux."),
-
-    //    m_inputPartialDecisions({"ProxyInput"}),    
-    m_outputHypoDecisions("HypoOutput"), 
-    m_outputHypoDecisionsAux("HypoOutputAux.") 
-{
-  declareProperty("InputChainDecisions", m_inputChainDecisions, "Name of the decisions object of previous stages of the chains");
-  declareProperty("InputHypoDecisions", m_inputHypoDecisions, "Name of the decisions object which contains decisions of hypo algorithms");
-
-  declareProperty("OutputChainDecisions", m_outputChainDecisions, "Name of the decisions object which contains decisions for chains");
-  declareProperty("OutputChainDecisionsAux", m_outputChainDecisionsAux, "Aux");
-  declareProperty("OutputHypoDecisions", m_outputHypoDecisions, "Name of the decisions object which are to be produced");
-  declareProperty("OutputHypoDecisionsAux", m_outputHypoDecisionsAux, "Aux");
-  declareProperty("Required", m_requiredConf, "List of required signatures, each specified by: chain_name = hypo_name x multiplicity, hypo_name x multiplicity" );
-}
-
-StatusCode DecisionAlg::initialize() { 
-  //decode property
-  std::istringstream input;
-  // decode format HLT_em25 = L2_em20_calo x 1, L2_em15_calo x 1
-  for ( auto requirement : m_requiredConf ) {
-    input.clear();
-    input.str(requirement);
-    std::string chain;
-    std::string eqSign;
-    input >> chain >> eqSign;
-    ChainID chID = HLTUtils::string2hash(chain);
-    if ( eqSign != "=" ) {
-      ATH_MSG_ERROR("Unable to decode " << requirement <<  " expected \"=\" after chain name"   );
-      return StatusCode::FAILURE;
-    }
-    ATH_MSG_DEBUG("Decoded chain" << chain);
-    
-    while (true) {
-      std::string hypo;
-      std::string xChar;
-      size_t multiplicity;
-      input >> hypo >> xChar >> multiplicity;    
-      if ( xChar != "x"  ) {
-	ATH_MSG_ERROR("Unable to decode " << requirement <<  " expected \"x\" after hypo name, decoded hypo " << hypo << " mult " << multiplicity   );
-	return StatusCode::FAILURE;
-      }
-      ATH_MSG_DEBUG( "Will require " << hypo << " x " << multiplicity << " for the chain: " << chain);
-      m_required[chID].push_back({HLTUtils::string2hash(hypo), multiplicity});    
-      if ( input.peek() == ',' ) {
-	ATH_MSG_DEBUG("Extracing more requirements");
-	input.get();
-      } else {
-	ATH_MSG_DEBUG("No more requirements");
-	break;
-      }
-
-    }
-  }
-
-  ATH_CHECK ( m_inputHypoDecisions.initialize() );
-  ATH_CHECK ( m_inputChainDecisions.initialize() );
-
-  return StatusCode::SUCCESS;
-}
-
-
-
-
-
-StatusCode DecisionAlg::execute() {
-
-  this->setFilterPassed(false);
-  // harvest all the hypo decisions
-
-  auto inputHypoDecisions = m_inputHypoDecisions.makeHandles();
-  std::map<HLTHash, size_t> hypoPassedObjectsMultiplicity;
-  {
-    // there is a three level nesting here,
-    // several input collections from several hypos
-    // in each hypo collection there is a decision per RoI
-    // in each RoI there is a decision ffrom several Hypo tools
-
-    for ( auto fromOneHypoAlg:  inputHypoDecisions) {
-      if ( not fromOneHypoAlg.isValid()  ) 
-	return StatusCode::FAILURE;
-      ATH_MSG_VERBOSE("Hypo decisions collection available");
-      for ( auto forOneRoI:  *fromOneHypoAlg ) {
-	ATH_MSG_VERBOSE("Hypo decisions collection available for RoI");
-
-	if ( not HypoDecision::containsDecision(*forOneRoI) ) {
-	  ATH_MSG_WARNING("Hypo information not delivered");
-	  continue;
-	}
-	HypoDecision decisions(*forOneRoI);
-
-	for ( auto id: decisions.passed() ) {
-	  hypoPassedObjectsMultiplicity[HLTHash(id)] += 1;
-	  ATH_MSG_DEBUG("Hypo " << HLTUtils::hash2string(id) << " passed in " << hypoPassedObjectsMultiplicity[HLTHash(id)] << " RoIs in this event ");
-	} 
-      }
-    }
-  }
-
-
-  std::set<HLTHash> chainsSurvivingPreviousStage;
-  {
-
-    // for ( const auto chain: *m_inputChainDecisions.cptr() ) {
-    //   int id = 0;
-    //   int decision = 0;
-    //   chain->getDetail("ID", id);
-    //   chain->getDetail("Decision", decision);
-    //   ATH_MSG_VERBOSE("Input chain " << HLTUtils::hash2string(HLTHash(id), "chain") << " decision ="<<decision);
-    // }
-
-    //neeed to filter out chains not requiring this decisionAlgo (stored in m_required)!!
-    std::vector<int> passedChainIDs;
-    
-    auto inputChainDecisions = m_inputChainDecisions.makeHandles();
-    for ( auto fromOnePredecesor: inputChainDecisions ) {
-
-      for ( const auto chainComposite : *fromOnePredecesor ) {
-	int id = 0;
-	chainComposite->getDetail("ID", id);
-	if ( m_required.find(HLTHash(id)) == m_required.end() ){
-	  ATH_MSG_VERBOSE("Noticied that the chain " << HLTUtils::hash2string(HLTHash(id), "chain") << " is not required in this decision");
-	  continue; // we are not deciding on this chain
-	}
-	int decision = 0;
-	chainComposite->getDetail("Decision", decision);
-	if ( decision != 0 ) {
-	  chainsSurvivingPreviousStage.insert(HLTHash(id));      
-	  ATH_MSG_VERBOSE("Noticied that the chain " << HLTUtils::hash2string(HLTHash(id), "chain") << " passed at the previous stage");
-	} else {
-	  ATH_MSG_VERBOSE("Noticied that the chain " << HLTUtils::hash2string(HLTHash(id), "chain") << " rejected at the previous stage ");
-	}
-      }
-    }
-  }
-  
-  
-  m_outputChainDecisions = CxxUtils::make_unique< xAOD::TrigCompositeContainer >();
-  m_outputChainDecisionsAux = CxxUtils::make_unique< xAOD::TrigCompositeAuxContainer>();  
-  m_outputChainDecisions->setStore(m_outputChainDecisionsAux.ptr());
-
-  ATH_MSG_DEBUG("Checking menu, got " << m_required.size() 
-		<< " chains to decide on, previous stage passed " << chainsSurvivingPreviousStage.size() 
-		<< " chains, hypos passed " << hypoPassedObjectsMultiplicity.size()  );
-
-  std::set<HLTHash> tesOfPassingChains;
-  size_t passingChainsCount = 0;
-
-  // loop over the requirements
-  for ( const auto req: m_required ) {
-    // check if the chain was not already rejected, if so simply ignore it in further consideration
-    if ( chainsSurvivingPreviousStage.count(req.first) != 1  ) {
-      ATH_MSG_DEBUG("Chain rejected at the previous stage "<< HLTUtils::hash2string(req.first, "chain"));
-      continue;
-    }
-    
-    // irrespecively of the decision we store the information for chains 
-    // which riched taht step
-    xAOD::TrigComposite * chainDecision  = new xAOD::TrigComposite();
-    m_outputChainDecisions->push_back(chainDecision);
-    chainDecision->setDetail("ID", ChainID(req.first));
-
-    bool satisfied = true;
-    for ( auto partialReq : req.second ) {
-      if (  hypoPassedObjectsMultiplicity[partialReq.hypo] < partialReq.multiplicity ) 
-	satisfied = false;
-    }
-    ATH_MSG_DEBUG("Chain ID:" << req.first << " " << HLTUtils::hash2string(req.first, "chain") << "  decision " << satisfied);
-    chainDecision->setDetail("Decision", satisfied);
-    if ( satisfied ) {
-      for ( auto partialReq : req.second ) {
-	tesOfPassingChains.insert(partialReq.hypo);
-      }
-      passingChainsCount += satisfied;
-    }
-  }
-  
-  // iterate over hypo decisions and create decision object for those which are interested from the menu standpoint
-
-  m_outputHypoDecisions = CxxUtils::make_unique< xAOD::TrigCompositeContainer >();
-  m_outputHypoDecisionsAux = CxxUtils::make_unique< xAOD::TrigCompositeAuxContainer>();  
-  m_outputHypoDecisions->setStore(m_outputHypoDecisionsAux.ptr());
-    
-  if ( passingChainsCount <= 0) {
-    ATH_MSG_DEBUG("DecisionAlgEvent rejected in this stage");
-    return StatusCode::SUCCESS;
-  }
-
-
-  for ( auto fromOneHypoAlg:  inputHypoDecisions) {
-    size_t nRoI=0;
-    for ( const auto roi: *fromOneHypoAlg ) {
-      if ( hasTE( roi,  tesOfPassingChains) ) {
-	xAOD::TrigComposite * teDecision  = new xAOD::TrigComposite();
-	m_outputHypoDecisions->push_back(teDecision);
-	teDecision->setObjectLink("seed", ElementLink<xAOD::TrigCompositeContainer>(fromOneHypoAlg.name(), nRoI) );
-      }
-      nRoI ++;
-    }
-  }
-  ATH_MSG_DEBUG("DecisionAlgEvent accepted a this stage");
-  setFilterPassed(true);
-  
-  return StatusCode::SUCCESS;
-}
-
-
-bool DecisionAlg::hasTE(const xAOD::TrigComposite* c, const std::set<HLTHash>& passing) const {
-  std::vector<TriggerElementID> passedHypoIDs;
-  c->getDetail("Passed", passedHypoIDs);
-  for ( auto id: passedHypoIDs ) {
-    if ( passing.count(HLTHash(id)) == 1 )
-      return true;
-  } 
-  return false;
-}
diff --git a/Trigger/TrigSteer/ViewAlgs/src/DecisionAlg.h b/Trigger/TrigSteer/ViewAlgs/src/DecisionAlg.h
deleted file mode 100644
index 485d85d5ace90cd4969d9207fedfe25109253777..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/DecisionAlg.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_DecisionAlg_h
-#define ViewAlgs_DecisionAlg_h
-#include <string>
-#include <set>
-#include "AthenaBaseComps/AthAlgorithm.h"
-
-#include "StoreGate/ReadHandleKeyArray.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-//#include "AthViews/View.h"
-
-#include "TrigConfHLTData/HLTUtils.h"
-
-#include "AthenaBaseComps/AthFilterAlgorithm.h"
-class DecisionAlg : public AthFilterAlgorithm {
-//class DecisionAlg : public AthAlgorithm {
- public:
-  DecisionAlg(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-
-  typedef TrigConf::HLTHash ChainID_type;
-  struct Requirement {
-    TrigConf::HLTHash hypo; 
-    size_t multiplicity;
-  };
-
-
- private:
-  std::vector<std::string> m_requiredConf;
-  std::map<ChainID_type, std::vector<Requirement> > m_required;
-
-  SG::ReadHandleKeyArray<xAOD::TrigCompositeContainer> m_inputChainDecisions;
-  SG::WriteHandle< xAOD::TrigCompositeContainer >      m_outputChainDecisions;
-  SG::WriteHandle< xAOD::TrigCompositeAuxContainer >   m_outputChainDecisionsAux;
-
-  SG::ReadHandleKeyArray<xAOD::TrigCompositeContainer> m_inputHypoDecisions;
-  SG::WriteHandle< xAOD::TrigCompositeContainer >      m_outputHypoDecisions;
-  SG::WriteHandle< xAOD::TrigCompositeAuxContainer >   m_outputHypoDecisionsAux;
-
-
-  bool hasTE(const xAOD::TrigComposite*, const std::set<TrigConf::HLTHash>&) const;
-
-
-
-};
-
-
-#endif 
diff --git a/Trigger/TrigSteer/ViewAlgs/src/DumpDecisions.cxx b/Trigger/TrigSteer/ViewAlgs/src/DumpDecisions.cxx
deleted file mode 100644
index 671a75392c198caca1e6169ec0cee4fe28bf705d..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/DumpDecisions.cxx
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
-#include "ViewAlgs/TrigCompositeTraversal.h"
-#include "TrigConfHLTData/HLTUtils.h"
-
-#include "./DumpDecisions.h"
-DumpDecisions::DumpDecisions(const std::string& name, ISvcLocator* pSvcLocator) 
-  : AthAlgorithm(name, pSvcLocator), 
-    m_decisions("OutputDecisions") {
-  declareProperty("OutputDecisions", m_decisions, "Name of the decisions object which needs to be dumped");
-}
-
-
-
-StatusCode DumpDecisions::initialize() {
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode DumpDecisions::execute() {
-  if ( not m_decisions.isValid() ) {
-    ATH_MSG_WARNING("No decisions object " <<  m_decisions.name());
-    return StatusCode::RECOVERABLE;
-  }
-
-  const std::string decSource("Passed");
-  for (const auto decision: *m_decisions.cptr() ) {
-    
-    if ( decision->hasDetail<std::vector<int>>(decSource) ) {
-        std::vector<int> passedIdentifiers;
-
-	decision->getDetail(decSource, passedIdentifiers);	
-	std::vector<std::string> passedIdentifiersNames( passedIdentifiers.size() );
-        std::vector<TrigConf::HLTHash> passedIdentifiersHash( passedIdentifiers.size() );
-	std::transform(passedIdentifiers.begin(), passedIdentifiers.end(), passedIdentifiersNames.begin(), 
-		       [](int id) { return TrigConf::HLTUtils::hash2string(id, "TE"); } );
-
-	std::transform(passedIdentifiers.begin(), passedIdentifiers.end(), passedIdentifiersHash.begin(), 
-		       [](int id) { return TrigConf::HLTHash(id); } );	
-
-	ATH_MSG_DEBUG("Passed IDs   : " << passedIdentifiersHash);
-	ATH_MSG_DEBUG("Passed Names : " << passedIdentifiersNames);
-      } else {
-	ATH_MSG_WARNING("Decision object has no information about \""+decSource+"\" identifiers");
-      }
-    // try to dive deeper for the RoI objects 
-    auto withRoI = ViewAlgs::find( decision,  ViewAlgs::HasObject("initialRoI") );
-    if ( withRoI ) {
-      auto roi = withRoI->objectLink<TrigRoiDescriptorCollection>("initialRoI");      
-      ATH_MSG_DEBUG("RoI Eta: " << (*roi)->eta() << " Phi: " << (*roi)->phi() << " RoIWord: " << (*roi)->roiWord());
-    }
-  }   
-  return StatusCode::SUCCESS;
-}
-
diff --git a/Trigger/TrigSteer/ViewAlgs/src/DumpDecisions.h b/Trigger/TrigSteer/ViewAlgs/src/DumpDecisions.h
deleted file mode 100644
index 0825f3b53121d35418548e9bb1c8207f7f7c4e85..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/DumpDecisions.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_DumpDecisions_h
-#define ViewAlgs_DumpDecisions_h
-
-#include "AthenaBaseComps/AthAlgorithm.h"
-
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-//#include "AthViews/View.h"
-
-class DumpDecisions : public AthAlgorithm {
-public:
-  DumpDecisions(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-
-private:
-  SG::ReadHandle< xAOD::TrigCompositeContainer > m_decisions;
-};
-
-
-#endif // re-include protection
diff --git a/Trigger/TrigSteer/ViewAlgs/src/HypoDecision.cxx b/Trigger/TrigSteer/ViewAlgs/src/HypoDecision.cxx
deleted file mode 100644
index 6ee2dd4c697626767f392d4c37a0164e584ac8bd..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/HypoDecision.cxx
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrigConfHLTData/HLTUtils.h"
-#include "ViewAlgs/HypoDecision.h"
-
-
-
-bool HypoDecision::containsDecision( const xAOD::TrigComposite& src ) {
-  return src.hasDetail<std::vector<unsigned>>("Passed");
-}
-
-HypoDecision::HypoDecision( const xAOD::TrigComposite& src ) {
-  src.getDetail( "Passed", m_passed );
-  src.getDetail( "Failed", m_failed ); // this may be missing
-}
-
-void HypoDecision::store( xAOD::TrigComposite& destination ) const {
-
-  std::vector<unsigned> temp_passed( m_passed.begin(), m_passed.end() );
-  destination.setDetail( "Passed", temp_passed );
-
-  std::vector<unsigned> temp_failed( m_failed.begin(), m_failed.end() );
-  destination.setDetail( "Failed", temp_failed );
-}
-
-
-void HypoDecision::addDecision( const std::string& hypo_name, bool decision ) {
-  unsigned hypo_id = TrigConf::HLTUtils::string2hash(hypo_name, "TE");
-  addDecision(hypo_id, decision);
-}
-
-void HypoDecision::addDecision( unsigned hypo_id, bool decision ) {
-  if ( decision ) 
-    m_passed.push_back(hypo_id);
-  else
-    m_failed.push_back(hypo_id);
-}
-
diff --git a/Trigger/TrigSteer/ViewAlgs/src/PrescaleDecision.cxx b/Trigger/TrigSteer/ViewAlgs/src/PrescaleDecision.cxx
deleted file mode 100644
index 1fb38e5dea0c5df49c7856a75407c6a12806e6e0..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/PrescaleDecision.cxx
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include <cstdlib>
-#include "CxxUtils/make_unique.h"
-#include "L1Decoder/TrigIdentifiers.h"
-#include "./PrescaleDecision.h"
-
-using namespace TrigConf;
-
-PrescaleDecision::PrescaleDecision(const std::string& name, ISvcLocator* pSvcLocator) 
- : AthAlgorithm(name, pSvcLocator), 
-   m_inputChainDecisions("MenuInput"), 
-   m_outputChainDecisions("PrescaledChains"), 
-   m_outputChainDecisionsAux("PrescaledChainsAux.")
-{
-  declareProperty("InputChainDecisions", m_inputChainDecisions, "Name of the decisions object which contains decisions of previous stages of the chains");
-  declareProperty("OutputChainDecisions", m_outputChainDecisions, "Name of the decisions object which contains decisions for chains");
-  declareProperty("OutputChainDecisionsAux", m_outputChainDecisionsAux, "Aux");
-  declareProperty("Prescales", m_psValuesConf, "Prescales vector in the form \"HLT_XYZ 6\", \"HLT_ABC 5\"");
-}
-
-StatusCode PrescaleDecision::initialize() {  
-  std::istringstream input;
-  // decode format HLT_em25 = L2_em20_calo x 1
-  for ( auto requirement : m_psValuesConf ) {
-    input.clear();
-    input.str(requirement);
-    std::string chain;
-    double psVal;
-    input >> chain >> psVal;
-    TrigConf::HLTHash chainHash = HLTUtils::string2hash(chain, "chain");
-    if ( m_prescales.find(chainHash) != m_prescales.end()) {
-      ATH_MSG_ERROR( "Configuring twice the PS for the chain: " << chain);
-      return StatusCode::FAILURE;
-    } 
-    m_prescales[chainHash] = psVal;
-    ATH_MSG_DEBUG( "Prescale " << psVal  << " configured for chain " <<  chain);
-  }
-  return StatusCode::SUCCESS;
-}
-
-StatusCode PrescaleDecision::execute() {
-
-  if ( not m_inputChainDecisions.isValid() ) {
-    ATH_MSG_ERROR("No decisions object prom previous stage");
-    return StatusCode::FAILURE;
-  }
-
-  m_outputChainDecisions = CxxUtils::make_unique< xAOD::TrigCompositeContainer >();
-  m_outputChainDecisionsAux = CxxUtils::make_unique< xAOD::TrigCompositeAuxContainer>();  
-  m_outputChainDecisions->setStore(m_outputChainDecisionsAux.ptr());
-  
-  for ( const auto chain: *m_inputChainDecisions.cptr() ) {
-
-    int id = 0;
-    chain->getDetail("ID", id);
-    auto toBePrescaled = m_prescales.find(HLTHash(id));
-
-    xAOD::TrigComposite * chainDecision  = new xAOD::TrigComposite();
-    m_outputChainDecisions->push_back(chainDecision);
-    chainDecision->setDetail("ID", id);
-    
-    if ( toBePrescaled == m_prescales.end() ) {// no prescaling directive 
-      chainDecision->setDetail("Decision", 1);
-      ATH_MSG_DEBUG("Just passing chain " << HLTUtils::hash2string(HLTHash(id), "chain") << " no prescaling configured for it ");
-    } else {
-      // here tricky RNG has to be placed to assure randomness and reproducibility
-      // and be reentrant
-      // will come
-      std::srand(id); // + event into time
-      //      const int d = double(std::rand())/RAND_MAX < 1./toBePrescaled->second ? 1 : 0;      
-      const int d = 1;
-      chainDecision->setDetail("Decision", d);
-      ATH_MSG_DEBUG("Chain " << HLTUtils::hash2string(HLTHash(id), "chain") << " PS decision " << d);
-    }
-
-  }
-  return StatusCode::SUCCESS;
-}
-
diff --git a/Trigger/TrigSteer/ViewAlgs/src/PrescaleDecision.h b/Trigger/TrigSteer/ViewAlgs/src/PrescaleDecision.h
deleted file mode 100644
index 279767d1da9d3d2c07fc1057b6fc95e45c867d40..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgs/src/PrescaleDecision.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_PrescaleDecision_h
-#define ViewAlgs_PrescaleDecision_h
-
-#include <string>
-#include <map>
-#include "AthenaBaseComps/AthAlgorithm.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-//#include "AthViews/View.h"
-
-#include "TrigConfHLTData/HLTUtils.h"
-
-
-class PrescaleDecision : public AthAlgorithm {
-public:
-  PrescaleDecision(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-  
-  typedef double PSValue;
-
-  
-private:
-  std::vector<std::string> m_psValuesConf;
-  std::map<TrigConf::HLTHash, PSValue> m_prescales;
-
-
-  SG::ReadHandle< xAOD::TrigCompositeContainer > m_inputChainDecisions;
-  SG::WriteHandle< xAOD::TrigCompositeContainer > m_outputChainDecisions;
-  SG::WriteHandle< xAOD::TrigCompositeAuxContainer > m_outputChainDecisionsAux;
-  
-
-};
-
-#endif
diff --git a/Trigger/TrigSteer/ViewAlgs/src/components/ViewAlgs_entries.cxx b/Trigger/TrigSteer/ViewAlgs/src/components/ViewAlgs_entries.cxx
index f8254249c5cc7f52cb57f136adecb4b392e6119e..5cb2b25addbbb82bd38dbda75f2cfca924160699 100644
--- a/Trigger/TrigSteer/ViewAlgs/src/components/ViewAlgs_entries.cxx
+++ b/Trigger/TrigSteer/ViewAlgs/src/components/ViewAlgs_entries.cxx
@@ -1,26 +1,14 @@
 
 #include "GaudiKernel/DeclareFactoryEntries.h"
 
-#include "../DumpDecisions.h"
-#include "../PrescaleDecision.h"
-#include "../DecisionAlg.h"
 #include "../MenuAlgView.h"
-#include "../CopyPassing.h"
 
 
-DECLARE_ALGORITHM_FACTORY( DumpDecisions )
-DECLARE_ALGORITHM_FACTORY( PrescaleDecision )
-DECLARE_ALGORITHM_FACTORY( DecisionAlg )
-DECLARE_ALGORITHM_FACTORY( CopyPassing )
-
 DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews,MenuAlgView )
 
 DECLARE_FACTORY_ENTRIES( ViewAlgs )
 {
-  DECLARE_ALGORITHM( DumpDecisions )
-  DECLARE_ALGORITHM( PrescaleDecision )
-  DECLARE_ALGORITHM( DecisionAlg )
-  DECLARE_ALGORITHM( CopyPassing )
+
   DECLARE_NAMESPACE_ALGORITHM( AthViews, MenuAlgView )
 }
 
diff --git a/Trigger/TrigSteer/ViewAlgsTest/CMakeLists.txt b/Trigger/TrigSteer/ViewAlgsTest/CMakeLists.txt
index d72dfd72502092d5de562ac63afe4097a55096e6..89b10b2fae4610c003a5912a721c6bcafbbee030 100644
--- a/Trigger/TrigSteer/ViewAlgsTest/CMakeLists.txt
+++ b/Trigger/TrigSteer/ViewAlgsTest/CMakeLists.txt
@@ -30,8 +30,8 @@ atlas_add_component( ViewAlgsTest
                      src/components/*.cxx
                      LINK_LIBRARIES GaudiKernel AthenaBaseComps CxxUtils xAODTrigger xAODTracking TrigConfHLTData TrigSteeringEvent ViewAlgsLib AthContainers FourMomUtils)
 atlas_install_joboptions( share/*.py )
-atlas_install_runtime( share/caloRoIData.dat share/menuData.dat share/muonRoIData.dat )
 
 atlas_install_python_modules( python/*.py )
 atlas_install_xmls( data/*.xml )
 
+atlas_add_test( creatingEVTest SCRIPT scripts/creatingEVTest.sh )
diff --git a/Trigger/TrigSteer/ViewAlgsTest/scripts/creatingEVTest.sh b/Trigger/TrigSteer/ViewAlgsTest/scripts/creatingEVTest.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6470381ddca262c4ffbe2abd2508ac341dd363a9
--- /dev/null
+++ b/Trigger/TrigSteer/ViewAlgsTest/scripts/creatingEVTest.sh
@@ -0,0 +1 @@
+athena --threads=1 ViewAlgsTest/creatingEVTest.py
diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/BasicMTTrackingTrigger.py b/Trigger/TrigSteer/ViewAlgsTest/share/BasicMTTrackingTrigger.py
index 031e5daaceab63356559752c9693eaccfd57010e..7e3f86ab7f309c707f7b21151c42bae4de2b7878 100644
--- a/Trigger/TrigSteer/ViewAlgsTest/share/BasicMTTrackingTrigger.py
+++ b/Trigger/TrigSteer/ViewAlgsTest/share/BasicMTTrackingTrigger.py
@@ -64,17 +64,17 @@ def getOutput(obj, prop):
         return obj.getDefaultProperty(prop)
     raise "Error in reading property " + prop + " from " + obj
  
-def genMenuAlg(name, inputHypos, inputChains):
-    assert inputHypos != None, 'Alg to take hypo putput from is missing'
-    assert inputChains != None, 'Alg to take chain decisions from is missing'
-    log.info(inputChains, inputHypos)
-    from ViewAlgs.ViewAlgsConf import MenuAlg
-    menuAlg = MenuAlg(name)
-    menuAlg.HypoDecisions = getOutput(inputHypos, "OutputDecisions")
-    menuAlg.InputChainDecisions = getOutput(inputChains,"OutputChainDecisions")
-    setOutput(menuAlg, "OutputDecisions", name+"RoIs")
-    setOutput(menuAlg, "OutputChainDecisions", name+"Chains")
-    return menuAlg
+# def genMenuAlg(name, inputHypos, inputChains):
+#     assert inputHypos != None, 'Alg to take hypo putput from is missing'
+#     assert inputChains != None, 'Alg to take chain decisions from is missing'
+#     log.info(inputChains, inputHypos)
+#     from ViewAlgs.ViewAlgsConf import MenuAlg
+#     menuAlg = MenuAlg(name)
+#     menuAlg.HypoDecisions = getOutput(inputHypos, "OutputDecisions")
+#     menuAlg.InputChainDecisions = getOutput(inputChains,"OutputChainDecisions")
+#     setOutput(menuAlg, "OutputDecisions", name+"RoIs")
+#     setOutput(menuAlg, "OutputChainDecisions", name+"Chains")
+#     return menuAlg
 
 
 
@@ -136,13 +136,28 @@ for i in topSequence:
 
 
 #Run Fake RoI
-from L1Decoder.L1DecoderConf import FakeRoI
-fakeRoI = FakeRoI("fakeRoI")
-fakeRoI.InputFilename="caloRoIData.dat"
-setOutput(fakeRoI, "OutputDecisions", "OutputRoIs")
-fakeRoI.OutputLevel=DEBUG
+# from L1Decoder.L1DecoderConf import FakeRoI
+# fakeRoI = FakeRoI("fakeRoI")
+# fakeRoI.InputFilename="caloRoIData.dat"
+# setOutput(fakeRoI, "OutputDecisions", "OutputRoIs")
+# fakeRoI.OutputLevel=DEBUG
+
+# topSequence += fakeRoI
+
+# once L1 re-simulation works this has to change from emulation to real unpacking
+include("TrigUpgradeTest/L1CF.py")
+
+data['l1emroi'] = ['1.3,2.9,2704088841,EM3,EM7,EM10,EM20;',
+                   '1.2,3.1,2972524297,EM3,EM7,EM10,EM20;']
+
+data['l1muroi'] = [';',
+                   ';'] # required by L1CF
+
+data['ctp'] = ['HLT_e20',
+               'HLT_e20']
+from TrigUpgradeTest.TestUtils import writeEmulationFiles
+writeEmulationFiles(data)
 
-topSequence += fakeRoI
 
 theApp.EvtMax = 10
 svcMgr.DetectorStore.Dump=True
@@ -181,7 +196,7 @@ InDetPixelClusterization = InDet__PixelClusterization(name                    =
                                                       DataObjectName          = InDetKeys.PixelRDOs(),
                                                       ClustersName            = InDetKeys.PixelClusters(),
                                                       isRoI_Seeded = True,
-                                                      RoIs = "OutputRoIs",
+                                                      RoIs = "L1EMRoIs",
                                                       )
 topSequence += InDetPixelClusterization
 
@@ -207,7 +222,7 @@ InDetSCT_Clusterization = InDet__SCT_Clusterization(name                    = "I
                                                     conditionsService       = InDetSCT_ConditionsSummarySvc,
                                                     FlaggedConditionService = InDetSCT_FlaggedConditionSvc,
                                                     isRoI_Seeded = True,
-                                                    RoIs = "OutputRoIs",
+                                                    RoIs = "L1EMRoIs",
                                                     )
 topSequence += InDetSCT_Clusterization
 
@@ -231,6 +246,7 @@ topSequence += InDetSiTrackerSpacePointFinder
 
 from TrigFastTrackFinder.TrigFastTrackFinderMT_Config import TrigFastTrackFinderMT_eGamma
 theFTFMT = TrigFastTrackFinderMT_eGamma()
+theFTFMT.RoIs="L1EMRoIs"
 
 topSequence += theFTFMT
 log.info(theFTFMT)
diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/caloRoIData.dat b/Trigger/TrigSteer/ViewAlgsTest/share/caloRoIData.dat
deleted file mode 100644
index 5ddb68f362b8796f38e4ee2d8e3d4c7550e94975..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/share/caloRoIData.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-1.3,2.9,2704088841,EM3,EM7
-1.2,3.1,2972524297,EM3,EM7,EM10 
diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/creatingEVTest.py b/Trigger/TrigSteer/ViewAlgsTest/share/creatingEVTest.py
new file mode 100644
index 0000000000000000000000000000000000000000..87c743ba73456b8079c72ebf2c107b22e773585a
--- /dev/null
+++ b/Trigger/TrigSteer/ViewAlgsTest/share/creatingEVTest.py
@@ -0,0 +1,127 @@
+# Configure the scheduler
+from GaudiHive.GaudiHiveConf import ForwardSchedulerSvc
+svcMgr += ForwardSchedulerSvc()
+svcMgr.ForwardSchedulerSvc.ShowDataFlow=True
+svcMgr.ForwardSchedulerSvc.ShowControlFlow=True
+
+# Event-level algorithm sequence
+from AthenaCommon.AlgSequence import AlgSequence, AthSequencer
+topSequence = AlgSequence()
+
+# the job purpose is to illustrate the creation of the views from RoIs
+# the input is fully emulated in an identical form as in the TrigUpgradeTest
+data ={'rois':[
+    '-0.6,0.2,1,EM3,EM7,EM15,EM20,EM50,EM100; 1,-1.1,1,EM3,EM7,EM15,EM20,EM50',
+    ';', #no RoIs
+    '-0.6,1.5,2,EM3,EM7',
+    '-1,-1,3,EM3,EM7,EM15,EM20,EM50,EM100;'] }
+
+# actually the HLT chains are here to always make the RoIs as in the first list, thus are not relevant
+data['ctp'] = ['HLT_e8',  
+               'HLT_e20 HLT_e8',
+               'HLT_e8',
+               'HLT_e20' ]
+
+from TrigUpgradeTest.TestUtils import writeEmulationFiles
+writeEmulationFiles(data)
+
+from TrigUpgradeTest.CFElements import *
+TopHLTSeq = seqAND("TopHLTSeq")
+topSequence += TopHLTSeq
+
+L1UnpackingSeq = parOR("L1UnpackingSeq")
+from L1Decoder.L1DecoderConf import CTPUnpackingEmulationTool, RoIsUnpackingEmulationTool, L1Decoder
+l1Decoder = L1Decoder( OutputLevel=DEBUG, RoIBResult="" )
+
+ctpUnpacker = CTPUnpackingEmulationTool( OutputLevel =  DEBUG, ForceEnableAllChains=False , InputFilename="ctp.dat" )
+#ctpUnpacker.CTPToChainMapping = [ "0:HLT_g100",  "1:HLT_e20", "2:HLT_mu20", "3:HLT_2mu8", "3:HLT_mu8", "33:HLT_2mu8", "15:HLT_mu8_e8" ]
+l1Decoder.ctpUnpacker = ctpUnpacker
+
+emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", OutputLevel=DEBUG, InputFilename="rois.dat", OutputTrigRoIs="L1EMRoIs", Decisions="L1EM" )
+emUnpacker.ThresholdToChainMapping = ["EM7 : HLT_e8", "EM7 : HLT_mu8_e8", "EM20 : HLT_e20", "EM50 : HLT_2g50",   "EM100 : HLT_g100" ]
+
+l1Decoder.roiUnpackers = [emUnpacker]
+L1UnpackingSeq += l1Decoder
+TopHLTSeq += L1UnpackingSeq
+
+include( "TrigUpgradeTest/HLTCF.py" )
+
+
+# definition of a hide corner for view algs
+viewAlgsContainer = seqAND( "ViewAlgsContainer" )
+alwaysFail = CfgMgr.AthPrescaler( "alwaysFail" )
+alwaysFail.PercentPass = 0.0
+viewAlgsContainer += alwaysFail
+alwaysPass = CfgMgr.AthPrescaler( "alwaysPass" )
+alwaysPass.PercentPass = 100.0
+TopHLTSeq += parOR( "viewAlgsHide", [alwaysPass, viewAlgsContainer])
+
+
+steps = [ parOR("step0Filtering"), parOR("step1InViewReco") ]
+steps[0] += seqFilter( "Step0EM", Inputs=["L1EM"], Outputs=["step0EM"],
+                      Chains=[ x.split(':')[-1].strip() for x in emUnpacker.ThresholdToChainMapping ] ) # all chains
+
+
+
+# this is a piece which is intended to be eliminated hopefully
+from GaudiHive.GaudiHiveConf import AlgResourcePool
+svcMgr += AlgResourcePool( "ViewAlgPool" )
+
+from AthenaCommon.AlgSequence import AlgSequence, AthSequencer
+allViewAlgs = AlgSequence( "allViewAlgs" )
+allViewAlgs += seqFilter( "NoExec" )
+#allViewAlgs += CfgMgr.AthPrescaler( "alwaysFail" )
+#allViewAlgs.alwaysFail.PercentPass = 0.0
+
+
+from ViewAlgsTest.ViewAlgsTestConf import SchedulerProxyAlg
+viewAlg = SchedulerProxyAlg( "algInView", OutputLevel = DEBUG, RoIsContainer = "InViewRoI", OutputClusterContainer="ViewClusters")
+
+#allViewAlgs += viewAlg
+viewAlgsContainer += viewAlg
+svcMgr.ViewAlgPool.TopAlg += [ viewAlg.getFullName() ]
+#topSequence += allViewAlgs
+
+
+from ViewAlgsTest.ViewAlgsTestConf import TestViewDriver
+EMViewsMaker = TestViewDriver( "EMViewsMaker", OutputLevel = DEBUG, RoIsContainer = 'L1EMRoIs', RoIsViewOutput="InViewRoI", ClustersViewInput="ViewClusters", ViewAlgorithmNames = [ viewAlg.name() ] )
+
+
+
+# if True:
+#   from AthenaCommon.AlgSequence import AthSequencer
+#   allViewAlgorithms = AthSequencer( "allViewAlgorithms" )
+#   allViewAlgorithms += CfgMgr.AthPrescaler( "alwaysFail" )
+#   allViewAlgorithms.alwaysFail.PercentPass = 0.0
+
+#   # The algorithm to run inside the views
+#   from ViewAlgsTest.ViewAlgsTestConf import SchedulerProxyAlg
+#   viewAlgName = "algInView"
+#   viewAlg = SchedulerProxyAlg( viewAlgName )
+#   viewAlg.RoIsContainer = "InViewRoI"
+#   allViewAlgorithms += viewAlg
+
+#   # The pool to retrieve the view algorithm from
+#   from GaudiHive.GaudiHiveConf import AlgResourcePool
+#   viewAlgPoolName = "ViewAlgPool"
+#   svcMgr += AlgResourcePool( viewAlgPoolName )
+#   print svcMgr.ViewAlgPool
+#   svcMgr.ViewAlgPool.TopAlg = [ 'SchedulerProxyAlg/algInView' ]
+
+#   # The algorithm to launch the views
+#   from ViewAlgsTest.ViewAlgsTestConf import TestViewDriver
+#   EMViewsMaker = TestViewDriver( "EMViewsMaker" )
+#   EMViewsMaker.RoIsContainer = 'L1EMRoIs'
+#   EMViewsMaker.OutputLevel = DEBUG
+#   EMViewsMaker.ViewAlgorithmNames = [ viewAlgName ]
+#   topSequence += EMViewsMaker
+#   topSequence += allViewAlgorithms
+
+from ViewAlgsTest.ViewAlgsTestConf import TestViewDriver
+
+
+steps[1] += stepSeq("emViewReco", useExisting( "Step0EM" ), [ EMViewsMaker ] ) 
+
+TopHLTSeq += addSteps( steps )
+
+theApp.EvtMax = 4
diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/menuData.dat b/Trigger/TrigSteer/ViewAlgsTest/share/menuData.dat
deleted file mode 100644
index 6e9a649f060a7f36e5a3d6555a596c165b760f2c..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/share/menuData.dat
+++ /dev/null
@@ -1 +0,0 @@
-HLT_e3 HLT_2e3 HLT_e7 HLT_e3merged HLT_e7merged HLT_e7mu6_merged 
diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/menuRun.py b/Trigger/TrigSteer/ViewAlgsTest/share/menuRun.py
index 72f7c062a108e10e8d02c9372c548769c23c4c28..71bef317eddbf2b0e7b6b165b6185a05e234fc64 100755
--- a/Trigger/TrigSteer/ViewAlgsTest/share/menuRun.py
+++ b/Trigger/TrigSteer/ViewAlgsTest/share/menuRun.py
@@ -121,363 +121,363 @@ if ( testViewAlgorithm ):
   topSequence += allViewAlgorithms
 
 
-muonFakeRoI = FakeRoI("muonFakeRoI")
-muonFakeRoI.InputFilename="muonRoIData.dat"
-setOutput(muonFakeRoI, "OutputDecisions", "MuonRoIs")
-setOutput(muonFakeRoI, "OutputRoIs", "MuonTrigRoIs")
-setOutput(muonFakeRoI, "OutputRecEMTauRoIs", "MuonRecRoIs")
-muonFakeRoI.OutputLevel=DEBUG
-topSequence += muonFakeRoI
-
-from L1Decoder.L1DecoderConf import FakeCTP
-fakeCTP = FakeCTP()
-fakeCTP.OutputLevel=VERBOSE
-fakeCTP.InputFilename="menuData.dat"
-fakeCTP.OutputLevel=VERBOSE
-topSequence += fakeCTP
-
-from ViewAlgs.ViewAlgsConf import PrescaleDecision
-ps = PrescaleDecision("HLTChainsPrescaling")
-connectAlgorithmsIO(consumer=(ps, "InputChainDecisions"), producer=(fakeCTP, "OutputDecisions"))
-#ps.InputChainDecisions = getOutput(fakeCTP, "OutputDecisions")
-setOutput(ps, "OutputChainDecisions", "ChainsPassingAfterPS")
-ps.OutputLevel=DEBUG
-topSequence += ps
-
-from ViewAlgs.ViewAlgsConf import DecisionAlg, CopyPassing
-activeRoIsAfterPrescaling = genDecisionAlg("menuStep0")
-connectAlgorithmsIO(consumer=(activeRoIsAfterPrescaling, "InputChainDecisions"), producer=(ps, "OutputChainDecisions"))
-connectHypoToMenu(consumer=activeRoIsAfterPrescaling, producer=(caloFakeRoI, "OutputDecisions"))
-connectHypoToMenu(consumer=activeRoIsAfterPrescaling, producer=(muonFakeRoI, "OutputDecisions"))
-topSequence += activeRoIsAfterPrescaling
-
-caloRoIsAfterPrescaling = CopyPassing("copyCaloRoIsPassingPrecaling")
-connectAlgorithmsIO( consumer=(caloRoIsAfterPrescaling, "CollectionBeforeMenu"), producer=(caloFakeRoI, "OutputDecisions"))
-connectAlgorithmsIO( consumer=(caloRoIsAfterPrescaling, "CollectionAfterMenu"),  producer=(activeRoIsAfterPrescaling, "OutputHypoDecisions") )
-setOutput(caloRoIsAfterPrescaling, "Output", "CaloRoIsAfterPrescaling" )
-caloRoIsAfterPrescaling.OutputLevel=DEBUG
-topSequence +=  caloRoIsAfterPrescaling
-
-#caloRoIsAfterPrescaling = activeRoIsAfterPrescaling
-muonRoIsAfterPrescaling = CopyPassing("copyMuonRoIsPassingPrecaling")
-connectAlgorithmsIO( consumer=(muonRoIsAfterPrescaling, "CollectionBeforeMenu"), producer=(muonFakeRoI, "OutputDecisions"))
-connectAlgorithmsIO( consumer=(muonRoIsAfterPrescaling, "CollectionAfterMenu"),  producer=(activeRoIsAfterPrescaling, "OutputHypoDecisions") )
-setOutput(muonRoIsAfterPrescaling, "Output", "MuonRoIsAfterPrescaling" )
-muonRoIsAfterPrescaling.OutputLevel=DEBUG
-topSequence +=  muonRoIsAfterPrescaling
-#muonRoIsAfterPrescaling = activeRoIsAfterPrescaling
-
-
-
-# caloRoIsAfterPrescaling = genDecisionAlg("caloRoIsAfterPrescaling")
-# connectAlgorithmsIO(consumer=(caloRoIsAfterPrescaling, "InputChainDecisions"), producer=(ps, "OutputChainDecisions"))
-# connectHypoToMenu(consumer=caloRoIsAfterPrescaling, producer=(caloFakeRoI, "OutputDecisions"))
-# topSequence += caloRoIsAfterPrescaling
-
-
-# muonRoIsAfterPrescaling = genDecisionAlg("muonRoIsAfterPrescaling")
-# caloRoIsAfterPrescaling
-# connectAlgorithmsIO(consumer=(muonRoIsAfterPrescaling, "InputChainDecisions"), producer=(ps, "OutputChainDecisions"))
-# connectHypoToMenu(consumer=muonRoIsAfterPrescaling, producer=(muonFakeRoI, "OutputDecisions"))
-# topSequence += muonRoIsAfterPrescaling
-
-# Start L2
-
-# calo L2 algorithm ------------
-from ViewAlgsTest.ViewAlgsTestConf import TestFEXAlg
-l2CaloReco = TestFEXAlg("L2CaloReco")
-connectAlgorithmsIO(consumer=(l2CaloReco, "RoIsContainer"), producer=(caloRoIsAfterPrescaling, "Output"))
-#l2CaloReco.RoIsContainer = getOutput(dropPrescaled, "OutputDecisions")
-setOutput(l2CaloReco, "OutputClusterContainer", "L2CaloFex")
-setOutput(l2CaloReco, "OutputProxyContainer", "L2CaloFexProxy")
-l2CaloReco.OutputLevel=DEBUG
-topSequence += l2CaloReco
-
-from ViewAlgsTest.ViewAlgsTestConf import TestHypoAlg, TestHypoTool
-l2CaloHypo = TestHypoAlg("L2CaloHypo")
-l2CaloHypo.OutputLevel=DEBUG
-connectAlgorithmsIO(consumer=(l2CaloHypo, "InputProxyContainer"), producer=(l2CaloReco, "OutputProxyContainer"))
-#l2CaloHypo.InputProxyContainer = getOutput(l2CaloReco,"OutputProxyContainer")
-setOutput(l2CaloHypo, "OutputDecisions",l2CaloHypo.name()+"Decisions")
-
-l2cut3 = TestHypoTool("L2_3GeVCaloEtCut", EtThreshold=3.3)
-l2cut7 = TestHypoTool("L2_7GeVCaloEtCut", EtThreshold=7.2)
-l2cut10 = TestHypoTool("L2_10GeVCaloEtCut", EtThreshold=10.4)
-l2cut12 = TestHypoTool("L2_12GeVCaloEtCut", EtThreshold=12.2)
-# cuts 
-l2CaloHypo += l2cut3
-l2CaloHypo += l2cut7
-l2CaloHypo += l2cut10
-l2CaloHypo += l2cut12
-l2CaloHypo.Hypotheses = [l2cut3, l2cut7, l2cut10, l2cut12]
-topSequence += l2CaloHypo
-
-
-from ViewAlgs.ViewAlgsConf import DecisionAlg
-
-l2CaloStep = genDecisionAlg("MenuL2CaloStep") #, [l2CaloHypo], [caloRoIsAfterPrescaling])
-connectAlgorithmsIO(consumer=(l2CaloStep, "InputChainDecisions"), producer=(caloRoIsAfterPrescaling, "Output"))
-connectHypoToMenu(consumer=l2CaloStep, producer=(l2CaloHypo, "OutputDecisions"))
-l2CaloStep.OutputLevel=VERBOSE
-topSequence += l2CaloStep
-
-#Dumper
-from ViewAlgs.ViewAlgsConf import DumpDecisions
-l2Dumper = DumpDecisions("L2CaloRoIsDumper")
-l2Dumper.OutputLevel=VERBOSE
-connectAlgorithmsIO(consumer=(l2Dumper, "OutputDecisions"), producer=(l2CaloHypo, "OutputDecisions"))
-#l2Dumper.OutputDecisions=getOutput(l2CaloHypo, "OutputDecisions")
-topSequence += l2Dumper
-
-
-
-# muon L2 Algorithm -------------------------
-l2MuonReco = TestFEXAlg("L2MuonReco")
-connectAlgorithmsIO(consumer=(l2MuonReco, "RoIsContainer"), producer=(muonRoIsAfterPrescaling, "Output"))
-#l2MuonReco.RoIsContainer = getOutput(dropPrescaled, "OutputDecisions")
-setOutput(l2MuonReco, "OutputClusterContainer", "L2MuonFex")
-setOutput(l2MuonReco, "OutputProxyContainer", "L2MuonFexProxy")
-l2MuonReco.OutputLevel=DEBUG
-topSequence += l2MuonReco
-
-
-l2MuonHypo = TestHypoAlg("L2MuonHypo")
-l2MuonHypo.OutputLevel=DEBUG
-connectAlgorithmsIO(consumer=(l2MuonHypo, "InputProxyContainer"), producer=(l2MuonReco, "OutputProxyContainer"))
-#l2MuonHypo.InputProxyContainer = getOutput(l2MuonReco,"OutputProxyContainer")
-setOutput(l2MuonHypo, "OutputDecisions",l2MuonHypo.name()+"Decisions")
-
-l2cut6mu = TestHypoTool("L2_6GeVMuonCut", EtThreshold=6.0)
-
-# cuts 
-l2MuonHypo += l2cut6mu
-l2MuonHypo.Hypotheses = [l2cut6mu]
-topSequence += l2MuonHypo
-
-l2MuonStep = genDecisionAlg("MenuL2MuonStep") #, [l2MuonHypo], [muonRoIsAfterPrescaling])
-connectAlgorithmsIO(consumer=(l2MuonStep, "InputChainDecisions"), producer=(activeRoIsAfterPrescaling, "OutputChainDecisions"))
-connectHypoToMenu(consumer=l2MuonStep, producer=(l2MuonHypo, "OutputDecisions"))
-l2MuonStep.OutputLevel=VERBOSE
-topSequence += l2MuonStep
-
-
-l2ComboStep = genDecisionAlg("MenuStepL2Combo")
-connectAlgorithmsIO(consumer=(l2ComboStep, "InputChainDecisions"), producer=(activeRoIsAfterPrescaling, "OutputChainDecisions"))
-connectAlgorithmsIO(consumer=(l2ComboStep, "InputChainDecisions"), producer=(activeRoIsAfterPrescaling, "OutputChainDecisions"))
-connectHypoToMenu(consumer=l2ComboStep, producer=(l2MuonHypo, "OutputDecisions"))
-connectHypoToMenu(consumer=l2ComboStep, producer=(l2CaloHypo, "OutputDecisions"))
-topSequence += l2ComboStep
-
-# next step - better calo
-efCaloReco = TestFEXAlg("EFCaloReco")
-# without merging:
-connectAlgorithmsIO(consumer=(efCaloReco, "RoIsContainer"), producer=(l2CaloStep, "OutputHypoDecisions"))
-#efCaloReco.RoIsContainer = getOutput(l2CaloStep, "OutputDecisions")
-#efCaloReco.RoIsContainer = getOutput(mergeAlgo, "MergedProxyContainer")
-setOutput(efCaloReco, "OutputClusterContainer", "EFCaloFex")
-setOutput(efCaloReco, "OutputProxyContainer", "EFCaloFexProxy")
-efCaloReco.OutputLevel=DEBUG
-topSequence += efCaloReco
-
-
-efCaloHypo = TestHypoAlg("EFCaloHypo")
-efCaloHypo.OutputLevel=DEBUG
-connectAlgorithmsIO(consumer=(efCaloHypo, "InputProxyContainer"), producer=(efCaloReco, "OutputProxyContainer"))
-#efCaloHypo.InputProxyContainer = getOutput(efCaloReco,"OutputProxyContainer")
-setOutput(efCaloHypo, "OutputDecisions",efCaloHypo.name()+"Decisions")
-
-# cuts 
-efcut3 = TestHypoTool("EF_3GeVCaloEtCut", EtThreshold=3.3)
-efcut7 = TestHypoTool("EF_7GeVCaloEtCut", EtThreshold=7.2)
-efcut10 = TestHypoTool("EF_10GeVCaloEtCut", EtThreshold=10.4)
-efcut12 = TestHypoTool("EF_12GeVCaloEtCut", EtThreshold=12.2)
-efCaloHypo += efcut3
-efCaloHypo += efcut7
-efCaloHypo += efcut10
-efCaloHypo += efcut12
-efCaloHypo.Hypotheses = [efcut3, efcut7, efcut10, efcut12]
-topSequence += efCaloHypo
-
-
-efCaloStep = genDecisionAlg("MenuEFCaloStep")#, [efCaloHypo], [l2CaloStep])
-connectAlgorithmsIO(consumer=(efCaloStep, "InputChainDecisions"), producer=(l2CaloStep, "OutputChainDecisions"))
-connectHypoToMenu(consumer=efCaloStep, producer=(efCaloHypo, "OutputDecisions"))
-efCaloStep.OutputLevel=VERBOSE
-topSequence += efCaloStep
-
-from ViewAlgs.ViewAlgsConf import DumpDecisions
-efDumper = DumpDecisions("EFCaloRoIsDumper")
-efDumper.OutputLevel=VERBOSE
-connectAlgorithmsIO(consumer=(efDumper, "OutputDecisions"), producer=(efCaloHypo, "OutputDecisions"))
-topSequence += efDumper
-
-
-# here we can have fake tracking
-# we ought to import merge RoIs alg which is fed by 
-# MuonRoIs produced by the muonFakeRoIs 
-# CaloRoIs produced by upstream alg l2CaloHypo (reduced set for a change)
-# result of it is merged/super RoIs set
-#
-# then we run tracking 
-#
-# and RoI splitter 
-
-##--------------------------
-# test merging/splitting
-##--------------------------
-#  merge of Calo RoIs
-from ViewAlgsTest.ViewAlgsTestConf import TestMergeAlg
-mergeAlgo = TestMergeAlg("MergeAllRoIs")
-connectAlgorithmsIO(consumer=(mergeAlgo, "InpuCollections"), producer=(l2CaloStep, "OutputHypoContainer"), propset=False)
-connectAlgorithmsIO(consumer=(mergeAlgo, "InpuCollections"), producer=(l2MuonStep, "OutputHypoContainer"), propset=False)
-setOutput(mergeAlgo, "MergedProxyContainer", "MergedRoIs")
-mergeAlgo.OutputLevel=DEBUG
-topSequence += mergeAlgo
-
-# next step - add here tracking on the merged Container (one RoI)
-# fake tracking now
-MergedTrackReco = TestFEXAlg("MergedTracking")
-connectAlgorithmsIO(consumer=(MergedTrackReco, "RoIsContainer"), producer=(mergeAlgo, "MergedProxyContainer"))
-#MergedTrackReco.RoIsContainer = getOutput(mergeAlgo, "MergedProxyContainer")
-setOutput(MergedTrackReco, "OutputClusterContainer", "MergedTrackCollection") 
-setOutput(MergedTrackReco, "OutputProxyContainer", "MergedTrackFexProxy")
-MergedTrackReco.OutputLevel=DEBUG
-topSequence += MergedTrackReco
-
-# then splitting again....
-# retrieve Calo RoIs
-from ViewAlgsTest.ViewAlgsTestConf import TestSplitAlg
-splitCaloAlgo = TestSplitAlg("SplitCaloRoIs")
-connectAlgorithmsIO(consumer=(splitCaloAlgo, "InputProxyContainer"), producer=(MergedTrackReco, "OutputProxyContainer"))
-#splitCaloAlgo.InputProxyContainer = getOutput(MergedTrackReco, "OutputProxyContainer")
-connectAlgorithmsIO(consumer=(splitCaloAlgo, "ReferenceProxyContainer"), producer=(l2CaloStep, "OutputHypoDecisions"))
-#splitCaloAlgo.ReferenceProxyContainer = getOutput(l2CaloStep, "OutputDecisions")
-setOutput(splitCaloAlgo, "SplitProxyContainer", "SplitCaloRoIs")
-splitCaloAlgo.OutputLevel=DEBUG
-topSequence += splitCaloAlgo
-
-# retrieve Muon RoIs
-splitMuonAlgo = TestSplitAlg("SplitMuonRoIs")
-connectAlgorithmsIO(consumer=(splitMuonAlgo, "InputProxyContainer"), producer=(MergedTrackReco, "OutputProxyContainer"))
-#splitMuonAlgo.InputProxyContainer = getOutput(MergedTrackReco, "OutputProxyContainer")
-connectAlgorithmsIO(consumer=(splitMuonAlgo, "ReferenceProxyContainer"), producer=(l2MuonStep, "OutputHypoDecisions"))
-#splitMuonAlgo.ReferenceProxyContainer = getOutput(l2MuonStep, "OutputDecisions")
-setOutput(splitMuonAlgo, "SplitProxyContainer", "SplitMuonRoIs")
-splitMuonAlgo.OutputLevel=DEBUG
-topSequence += splitMuonAlgo
-
-# do track-cluster match
-CaloMatchingFex = TestFEXAlg("CaloMatchingFex")
-connectAlgorithmsIO(consumer=(CaloMatchingFex, "RoIsContainer"), producer=(splitCaloAlgo, "SplitProxyContainer"))
-#CaloMatchingFex.RoIsContainer = getOutput(splitCaloAlgo, "SplitProxyContainer")
-# need to add link to track collection
-setOutput(CaloMatchingFex, "OutputClusterContainer", "CaloMatchingCollection") 
-setOutput(CaloMatchingFex, "OutputProxyContainer", "CaloMatchingFexProxy")
-CaloMatchingFex.OutputLevel=DEBUG
-topSequence += CaloMatchingFex
-
-# calo-mathcing hypo
-CaloMatchingHypo = TestHypoAlg("CaloMatchingHypo")
-CaloMatchingHypo.OutputLevel=DEBUG
-connectAlgorithmsIO(consumer=(CaloMatchingHypo, "InputProxyContainer"), producer=(CaloMatchingFex, "OutputProxyContainer"))
-#CaloMatchingHypo.InputProxyContainer = getOutput(CaloMatchingFex,"OutputProxyContainer")
-setOutput(CaloMatchingHypo, "OutputDecisions",CaloMatchingHypo.name()+"Decisions")
-
-# cuts 
-CaloMatchingHypo += efcut3
-CaloMatchingHypo += efcut7
-CaloMatchingHypo += efcut10
-CaloMatchingHypo += efcut12
-CaloMatchingHypo.Hypotheses = [efcut3, efcut7, efcut10, efcut12]
-topSequence += CaloMatchingHypo
-
-
-# menu Algo for calo-tracking match
-caloTrackingStep = genDecisionAlg("MenuCaloTrackingStep")#, [CaloMatchingHypo], [l2CaloStep]) 
-connectAlgorithmsIO(consumer=(caloTrackingStep, "InputChainDecisions"), producer=(efCaloStep, "OutputChainDecisions"))
-connectHypoToMenu(consumer=caloTrackingStep, producer=(CaloMatchingHypo, "OutputDecisions"))
-caloTrackingStep.OutputLevel=VERBOSE
-topSequence += caloTrackingStep
-
-
-CaloTrackingDumper = DumpDecisions("CaloTrackingDumper")
-CaloTrackingDumper.OutputLevel=VERBOSE
-connectAlgorithmsIO(consumer=(CaloTrackingDumper, "OutputDecisions"), producer=(CaloMatchingHypo, "OutputDecisions"))
-#CaloTrackingDumper.OutputDecisions=getOutput(CaloMatchingHypo, "OutputDecisions")
-topSequence += CaloTrackingDumper
-
-
-
-
-
-
-##--------------------------
-# Make the chains
-##--------------------------
-
-# chains = ChainsList()
-# chains + Chain("HLT_e3", "L1_EM3", 20.99, {"caloRoIsAfterPrescaling": "EM3 x 1", 
-#                                            "MenuL2CaloStep": "L2_3GeVCaloEtCut x 1", 
-#                                            "MenuEFCaloStep": "EF_3GeVCaloEtCut x 1"}) 
-# chains + Chain("HLT_2e3", "L1_2EM3", 1, {"caloRoIsAfterPrescaling": "EM3 x 2", 
-#                                           "MenuL2CaloStep": "L2_3GeVCaloEtCut x 2",
-#                                           "MenuEFCaloStep": "EF_3GeVCaloEtCut x 2"})
-
-# chains + Chain("HLT_e3e7", "L1_2EM3", 1, {"caloRoIsAfterPrescaling": "EM3 x 1, EM7 x 1", 
-#                                           "MenuL2CaloStep": "L2_3GeVCaloEtCut x 1, L2_7GeVCaloEtCut x 1",
-#                                           "MenuEFCaloStep": "EF_3GeVCaloEtCut x 1, EF_7GeVCaloEtCut x 1"})
-
-# chains + Chain("HLT_e7", "L1_EM7", 1, {"caloRoIsAfterPrescaling": "EM7 x 1", 
-#                                         "MenuL2CaloStep": "L2_7GeVCaloEtCut x 1",
-#                                         "MenuEFCaloStep": "EF_7GeVCaloEtCut x 1"})
-# chains + Chain("HLT_e10", "L1_EM10", 1, {"caloRoIsAfterPrescaling": "EM10 x 1", 
-#                                           "MenuL2CaloStep": "L2_10GeVCaloEtCut x 1",
-#                                           "MenuEFCaloStep": "EF_10GeVCaloEtCut x 1"})
-# chains + Chain("HLT_mu6", "L1_MU6", 1, {"muonRoIsAfterPrescaling": "MU6 x 1", 
-#                                           "MenuL2MuonStep": "L2_6GeVMuonCut x 1"})
-
-# chains + Chain("HLT_mu6e3", "L1_EM3MU6", 1, {"caloRoIsAfterPrescaling": "EM3 x 1", 
-#                                              "muonRoIsAfterPrescaling": "MU6 x 1",
-#                                              "MenuStepL2Combo": "L2_3GeVCaloEtCut x 1, L2_6GeVMuonCut x 1"} )
-
-# chains + Chain("HLT_e3merged", "L1_EM3", 20.99, {"caloRoIsAfterPrescaling": "EM3 x 1", 
-#                                            "MenuL2CaloStep": "L2_3GeVCaloEtCut x 1", 
-#                                            "MenuCaloTrackingStep": "EF_3GeVCaloEtCut x 1"}) 
-
-# chains + Chain("HLT_e7merged", "L1_EM7", 1, {"caloRoIsAfterPrescaling": "EM7 x 1", 
-#                                         "MenuL2CaloStep": "L2_7GeVCaloEtCut x 1",
-#                                         "MenuCaloTrackingStep": "EF_7GeVCaloEtCut x 1"})
-
-# chains + Chain("HLT_e7mu6_merged", "L1_EM7,L1_MU6", 1, {"caloRoIsAfterPrescaling": "EM7 x 1, MU6 x 1", 
-#                                         "MenuL2CaloStep": "L2_7GeVCaloEtCut x 1",
-#                                         "MenuL2MuonStep": "L2_6GeVMuonCut x 1",
-#                                         "MenuCaloTrackingStep": "EF_7GeVCaloEtCut x 1"})
+# muonFakeRoI = FakeRoI("muonFakeRoI")
+# muonFakeRoI.InputFilename="muonRoIData.dat"
+# setOutput(muonFakeRoI, "OutputDecisions", "MuonRoIs")
+# setOutput(muonFakeRoI, "OutputRoIs", "MuonTrigRoIs")
+# setOutput(muonFakeRoI, "OutputRecEMTauRoIs", "MuonRecRoIs")
+# muonFakeRoI.OutputLevel=DEBUG
+# topSequence += muonFakeRoI
+
+# from L1Decoder.L1DecoderConf import FakeCTP
+# fakeCTP = FakeCTP()
+# fakeCTP.OutputLevel=VERBOSE
+# fakeCTP.InputFilename="menuData.dat"
+# fakeCTP.OutputLevel=VERBOSE
+# topSequence += fakeCTP
+
+# from ViewAlgs.ViewAlgsConf import PrescaleDecision
+# ps = PrescaleDecision("HLTChainsPrescaling")
+# connectAlgorithmsIO(consumer=(ps, "InputChainDecisions"), producer=(fakeCTP, "OutputDecisions"))
+# #ps.InputChainDecisions = getOutput(fakeCTP, "OutputDecisions")
+# setOutput(ps, "OutputChainDecisions", "ChainsPassingAfterPS")
+# ps.OutputLevel=DEBUG
+# topSequence += ps
+
+# from ViewAlgs.ViewAlgsConf import DecisionAlg, CopyPassing
+# activeRoIsAfterPrescaling = genDecisionAlg("menuStep0")
+# connectAlgorithmsIO(consumer=(activeRoIsAfterPrescaling, "InputChainDecisions"), producer=(ps, "OutputChainDecisions"))
+# connectHypoToMenu(consumer=activeRoIsAfterPrescaling, producer=(caloFakeRoI, "OutputDecisions"))
+# connectHypoToMenu(consumer=activeRoIsAfterPrescaling, producer=(muonFakeRoI, "OutputDecisions"))
+# topSequence += activeRoIsAfterPrescaling
+
+# caloRoIsAfterPrescaling = CopyPassing("copyCaloRoIsPassingPrecaling")
+# connectAlgorithmsIO( consumer=(caloRoIsAfterPrescaling, "CollectionBeforeMenu"), producer=(caloFakeRoI, "OutputDecisions"))
+# connectAlgorithmsIO( consumer=(caloRoIsAfterPrescaling, "CollectionAfterMenu"),  producer=(activeRoIsAfterPrescaling, "OutputHypoDecisions") )
+# setOutput(caloRoIsAfterPrescaling, "Output", "CaloRoIsAfterPrescaling" )
+# caloRoIsAfterPrescaling.OutputLevel=DEBUG
+# topSequence +=  caloRoIsAfterPrescaling
+
+# #caloRoIsAfterPrescaling = activeRoIsAfterPrescaling
+# muonRoIsAfterPrescaling = CopyPassing("copyMuonRoIsPassingPrecaling")
+# connectAlgorithmsIO( consumer=(muonRoIsAfterPrescaling, "CollectionBeforeMenu"), producer=(muonFakeRoI, "OutputDecisions"))
+# connectAlgorithmsIO( consumer=(muonRoIsAfterPrescaling, "CollectionAfterMenu"),  producer=(activeRoIsAfterPrescaling, "OutputHypoDecisions") )
+# setOutput(muonRoIsAfterPrescaling, "Output", "MuonRoIsAfterPrescaling" )
+# muonRoIsAfterPrescaling.OutputLevel=DEBUG
+# topSequence +=  muonRoIsAfterPrescaling
+# #muonRoIsAfterPrescaling = activeRoIsAfterPrescaling
+
+
+
+# # caloRoIsAfterPrescaling = genDecisionAlg("caloRoIsAfterPrescaling")
+# # connectAlgorithmsIO(consumer=(caloRoIsAfterPrescaling, "InputChainDecisions"), producer=(ps, "OutputChainDecisions"))
+# # connectHypoToMenu(consumer=caloRoIsAfterPrescaling, producer=(caloFakeRoI, "OutputDecisions"))
+# # topSequence += caloRoIsAfterPrescaling
+
+
+# # muonRoIsAfterPrescaling = genDecisionAlg("muonRoIsAfterPrescaling")
+# # caloRoIsAfterPrescaling
+# # connectAlgorithmsIO(consumer=(muonRoIsAfterPrescaling, "InputChainDecisions"), producer=(ps, "OutputChainDecisions"))
+# # connectHypoToMenu(consumer=muonRoIsAfterPrescaling, producer=(muonFakeRoI, "OutputDecisions"))
+# # topSequence += muonRoIsAfterPrescaling
+
+# # Start L2
+
+# # calo L2 algorithm ------------
+# from ViewAlgsTest.ViewAlgsTestConf import TestFEXAlg
+# l2CaloReco = TestFEXAlg("L2CaloReco")
+# connectAlgorithmsIO(consumer=(l2CaloReco, "RoIsContainer"), producer=(caloRoIsAfterPrescaling, "Output"))
+# #l2CaloReco.RoIsContainer = getOutput(dropPrescaled, "OutputDecisions")
+# setOutput(l2CaloReco, "OutputClusterContainer", "L2CaloFex")
+# setOutput(l2CaloReco, "OutputProxyContainer", "L2CaloFexProxy")
+# l2CaloReco.OutputLevel=DEBUG
+# topSequence += l2CaloReco
+
+# from ViewAlgsTest.ViewAlgsTestConf import TestHypoAlg, TestHypoTool
+# l2CaloHypo = TestHypoAlg("L2CaloHypo")
+# l2CaloHypo.OutputLevel=DEBUG
+# connectAlgorithmsIO(consumer=(l2CaloHypo, "InputProxyContainer"), producer=(l2CaloReco, "OutputProxyContainer"))
+# #l2CaloHypo.InputProxyContainer = getOutput(l2CaloReco,"OutputProxyContainer")
+# setOutput(l2CaloHypo, "OutputDecisions",l2CaloHypo.name()+"Decisions")
+
+# l2cut3 = TestHypoTool("L2_3GeVCaloEtCut", EtThreshold=3.3)
+# l2cut7 = TestHypoTool("L2_7GeVCaloEtCut", EtThreshold=7.2)
+# l2cut10 = TestHypoTool("L2_10GeVCaloEtCut", EtThreshold=10.4)
+# l2cut12 = TestHypoTool("L2_12GeVCaloEtCut", EtThreshold=12.2)
+# # cuts 
+# l2CaloHypo += l2cut3
+# l2CaloHypo += l2cut7
+# l2CaloHypo += l2cut10
+# l2CaloHypo += l2cut12
+# l2CaloHypo.Hypotheses = [l2cut3, l2cut7, l2cut10, l2cut12]
+# topSequence += l2CaloHypo
+
+
+# from ViewAlgs.ViewAlgsConf import DecisionAlg
+
+# l2CaloStep = genDecisionAlg("MenuL2CaloStep") #, [l2CaloHypo], [caloRoIsAfterPrescaling])
+# connectAlgorithmsIO(consumer=(l2CaloStep, "InputChainDecisions"), producer=(caloRoIsAfterPrescaling, "Output"))
+# connectHypoToMenu(consumer=l2CaloStep, producer=(l2CaloHypo, "OutputDecisions"))
+# l2CaloStep.OutputLevel=VERBOSE
+# topSequence += l2CaloStep
+
+# #Dumper
+# from ViewAlgs.ViewAlgsConf import DumpDecisions
+# l2Dumper = DumpDecisions("L2CaloRoIsDumper")
+# l2Dumper.OutputLevel=VERBOSE
+# connectAlgorithmsIO(consumer=(l2Dumper, "OutputDecisions"), producer=(l2CaloHypo, "OutputDecisions"))
+# #l2Dumper.OutputDecisions=getOutput(l2CaloHypo, "OutputDecisions")
+# topSequence += l2Dumper
+
+
+
+# # muon L2 Algorithm -------------------------
+# l2MuonReco = TestFEXAlg("L2MuonReco")
+# connectAlgorithmsIO(consumer=(l2MuonReco, "RoIsContainer"), producer=(muonRoIsAfterPrescaling, "Output"))
+# #l2MuonReco.RoIsContainer = getOutput(dropPrescaled, "OutputDecisions")
+# setOutput(l2MuonReco, "OutputClusterContainer", "L2MuonFex")
+# setOutput(l2MuonReco, "OutputProxyContainer", "L2MuonFexProxy")
+# l2MuonReco.OutputLevel=DEBUG
+# topSequence += l2MuonReco
+
+
+# l2MuonHypo = TestHypoAlg("L2MuonHypo")
+# l2MuonHypo.OutputLevel=DEBUG
+# connectAlgorithmsIO(consumer=(l2MuonHypo, "InputProxyContainer"), producer=(l2MuonReco, "OutputProxyContainer"))
+# #l2MuonHypo.InputProxyContainer = getOutput(l2MuonReco,"OutputProxyContainer")
+# setOutput(l2MuonHypo, "OutputDecisions",l2MuonHypo.name()+"Decisions")
+
+# l2cut6mu = TestHypoTool("L2_6GeVMuonCut", EtThreshold=6.0)
+
+# # cuts 
+# l2MuonHypo += l2cut6mu
+# l2MuonHypo.Hypotheses = [l2cut6mu]
+# topSequence += l2MuonHypo
+
+# l2MuonStep = genDecisionAlg("MenuL2MuonStep") #, [l2MuonHypo], [muonRoIsAfterPrescaling])
+# connectAlgorithmsIO(consumer=(l2MuonStep, "InputChainDecisions"), producer=(activeRoIsAfterPrescaling, "OutputChainDecisions"))
+# connectHypoToMenu(consumer=l2MuonStep, producer=(l2MuonHypo, "OutputDecisions"))
+# l2MuonStep.OutputLevel=VERBOSE
+# topSequence += l2MuonStep
+
+
+# l2ComboStep = genDecisionAlg("MenuStepL2Combo")
+# connectAlgorithmsIO(consumer=(l2ComboStep, "InputChainDecisions"), producer=(activeRoIsAfterPrescaling, "OutputChainDecisions"))
+# connectAlgorithmsIO(consumer=(l2ComboStep, "InputChainDecisions"), producer=(activeRoIsAfterPrescaling, "OutputChainDecisions"))
+# connectHypoToMenu(consumer=l2ComboStep, producer=(l2MuonHypo, "OutputDecisions"))
+# connectHypoToMenu(consumer=l2ComboStep, producer=(l2CaloHypo, "OutputDecisions"))
+# topSequence += l2ComboStep
+
+# # next step - better calo
+# efCaloReco = TestFEXAlg("EFCaloReco")
+# # without merging:
+# connectAlgorithmsIO(consumer=(efCaloReco, "RoIsContainer"), producer=(l2CaloStep, "OutputHypoDecisions"))
+# #efCaloReco.RoIsContainer = getOutput(l2CaloStep, "OutputDecisions")
+# #efCaloReco.RoIsContainer = getOutput(mergeAlgo, "MergedProxyContainer")
+# setOutput(efCaloReco, "OutputClusterContainer", "EFCaloFex")
+# setOutput(efCaloReco, "OutputProxyContainer", "EFCaloFexProxy")
+# efCaloReco.OutputLevel=DEBUG
+# topSequence += efCaloReco
+
+
+# efCaloHypo = TestHypoAlg("EFCaloHypo")
+# efCaloHypo.OutputLevel=DEBUG
+# connectAlgorithmsIO(consumer=(efCaloHypo, "InputProxyContainer"), producer=(efCaloReco, "OutputProxyContainer"))
+# #efCaloHypo.InputProxyContainer = getOutput(efCaloReco,"OutputProxyContainer")
+# setOutput(efCaloHypo, "OutputDecisions",efCaloHypo.name()+"Decisions")
+
+# # cuts 
+# efcut3 = TestHypoTool("EF_3GeVCaloEtCut", EtThreshold=3.3)
+# efcut7 = TestHypoTool("EF_7GeVCaloEtCut", EtThreshold=7.2)
+# efcut10 = TestHypoTool("EF_10GeVCaloEtCut", EtThreshold=10.4)
+# efcut12 = TestHypoTool("EF_12GeVCaloEtCut", EtThreshold=12.2)
+# efCaloHypo += efcut3
+# efCaloHypo += efcut7
+# efCaloHypo += efcut10
+# efCaloHypo += efcut12
+# efCaloHypo.Hypotheses = [efcut3, efcut7, efcut10, efcut12]
+# topSequence += efCaloHypo
+
+
+# efCaloStep = genDecisionAlg("MenuEFCaloStep")#, [efCaloHypo], [l2CaloStep])
+# connectAlgorithmsIO(consumer=(efCaloStep, "InputChainDecisions"), producer=(l2CaloStep, "OutputChainDecisions"))
+# connectHypoToMenu(consumer=efCaloStep, producer=(efCaloHypo, "OutputDecisions"))
+# efCaloStep.OutputLevel=VERBOSE
+# topSequence += efCaloStep
+
+# from ViewAlgs.ViewAlgsConf import DumpDecisions
+# efDumper = DumpDecisions("EFCaloRoIsDumper")
+# efDumper.OutputLevel=VERBOSE
+# connectAlgorithmsIO(consumer=(efDumper, "OutputDecisions"), producer=(efCaloHypo, "OutputDecisions"))
+# topSequence += efDumper
+
+
+# # here we can have fake tracking
+# # we ought to import merge RoIs alg which is fed by 
+# # MuonRoIs produced by the muonFakeRoIs 
+# # CaloRoIs produced by upstream alg l2CaloHypo (reduced set for a change)
+# # result of it is merged/super RoIs set
+# #
+# # then we run tracking 
+# #
+# # and RoI splitter 
+
+# ##--------------------------
+# # test merging/splitting
+# ##--------------------------
+# #  merge of Calo RoIs
+# from ViewAlgsTest.ViewAlgsTestConf import TestMergeAlg
+# mergeAlgo = TestMergeAlg("MergeAllRoIs")
+# connectAlgorithmsIO(consumer=(mergeAlgo, "InpuCollections"), producer=(l2CaloStep, "OutputHypoContainer"), propset=False)
+# connectAlgorithmsIO(consumer=(mergeAlgo, "InpuCollections"), producer=(l2MuonStep, "OutputHypoContainer"), propset=False)
+# setOutput(mergeAlgo, "MergedProxyContainer", "MergedRoIs")
+# mergeAlgo.OutputLevel=DEBUG
+# topSequence += mergeAlgo
+
+# # next step - add here tracking on the merged Container (one RoI)
+# # fake tracking now
+# MergedTrackReco = TestFEXAlg("MergedTracking")
+# connectAlgorithmsIO(consumer=(MergedTrackReco, "RoIsContainer"), producer=(mergeAlgo, "MergedProxyContainer"))
+# #MergedTrackReco.RoIsContainer = getOutput(mergeAlgo, "MergedProxyContainer")
+# setOutput(MergedTrackReco, "OutputClusterContainer", "MergedTrackCollection") 
+# setOutput(MergedTrackReco, "OutputProxyContainer", "MergedTrackFexProxy")
+# MergedTrackReco.OutputLevel=DEBUG
+# topSequence += MergedTrackReco
+
+# # then splitting again....
+# # retrieve Calo RoIs
+# from ViewAlgsTest.ViewAlgsTestConf import TestSplitAlg
+# splitCaloAlgo = TestSplitAlg("SplitCaloRoIs")
+# connectAlgorithmsIO(consumer=(splitCaloAlgo, "InputProxyContainer"), producer=(MergedTrackReco, "OutputProxyContainer"))
+# #splitCaloAlgo.InputProxyContainer = getOutput(MergedTrackReco, "OutputProxyContainer")
+# connectAlgorithmsIO(consumer=(splitCaloAlgo, "ReferenceProxyContainer"), producer=(l2CaloStep, "OutputHypoDecisions"))
+# #splitCaloAlgo.ReferenceProxyContainer = getOutput(l2CaloStep, "OutputDecisions")
+# setOutput(splitCaloAlgo, "SplitProxyContainer", "SplitCaloRoIs")
+# splitCaloAlgo.OutputLevel=DEBUG
+# topSequence += splitCaloAlgo
+
+# # retrieve Muon RoIs
+# splitMuonAlgo = TestSplitAlg("SplitMuonRoIs")
+# connectAlgorithmsIO(consumer=(splitMuonAlgo, "InputProxyContainer"), producer=(MergedTrackReco, "OutputProxyContainer"))
+# #splitMuonAlgo.InputProxyContainer = getOutput(MergedTrackReco, "OutputProxyContainer")
+# connectAlgorithmsIO(consumer=(splitMuonAlgo, "ReferenceProxyContainer"), producer=(l2MuonStep, "OutputHypoDecisions"))
+# #splitMuonAlgo.ReferenceProxyContainer = getOutput(l2MuonStep, "OutputDecisions")
+# setOutput(splitMuonAlgo, "SplitProxyContainer", "SplitMuonRoIs")
+# splitMuonAlgo.OutputLevel=DEBUG
+# topSequence += splitMuonAlgo
+
+# # do track-cluster match
+# CaloMatchingFex = TestFEXAlg("CaloMatchingFex")
+# connectAlgorithmsIO(consumer=(CaloMatchingFex, "RoIsContainer"), producer=(splitCaloAlgo, "SplitProxyContainer"))
+# #CaloMatchingFex.RoIsContainer = getOutput(splitCaloAlgo, "SplitProxyContainer")
+# # need to add link to track collection
+# setOutput(CaloMatchingFex, "OutputClusterContainer", "CaloMatchingCollection") 
+# setOutput(CaloMatchingFex, "OutputProxyContainer", "CaloMatchingFexProxy")
+# CaloMatchingFex.OutputLevel=DEBUG
+# topSequence += CaloMatchingFex
+
+# # calo-mathcing hypo
+# CaloMatchingHypo = TestHypoAlg("CaloMatchingHypo")
+# CaloMatchingHypo.OutputLevel=DEBUG
+# connectAlgorithmsIO(consumer=(CaloMatchingHypo, "InputProxyContainer"), producer=(CaloMatchingFex, "OutputProxyContainer"))
+# #CaloMatchingHypo.InputProxyContainer = getOutput(CaloMatchingFex,"OutputProxyContainer")
+# setOutput(CaloMatchingHypo, "OutputDecisions",CaloMatchingHypo.name()+"Decisions")
+
+# # cuts 
+# CaloMatchingHypo += efcut3
+# CaloMatchingHypo += efcut7
+# CaloMatchingHypo += efcut10
+# CaloMatchingHypo += efcut12
+# CaloMatchingHypo.Hypotheses = [efcut3, efcut7, efcut10, efcut12]
+# topSequence += CaloMatchingHypo
+
+
+# # menu Algo for calo-tracking match
+# caloTrackingStep = genDecisionAlg("MenuCaloTrackingStep")#, [CaloMatchingHypo], [l2CaloStep]) 
+# connectAlgorithmsIO(consumer=(caloTrackingStep, "InputChainDecisions"), producer=(efCaloStep, "OutputChainDecisions"))
+# connectHypoToMenu(consumer=caloTrackingStep, producer=(CaloMatchingHypo, "OutputDecisions"))
+# caloTrackingStep.OutputLevel=VERBOSE
+# topSequence += caloTrackingStep
+
+
+# CaloTrackingDumper = DumpDecisions("CaloTrackingDumper")
+# CaloTrackingDumper.OutputLevel=VERBOSE
+# connectAlgorithmsIO(consumer=(CaloTrackingDumper, "OutputDecisions"), producer=(CaloMatchingHypo, "OutputDecisions"))
+# #CaloTrackingDumper.OutputDecisions=getOutput(CaloMatchingHypo, "OutputDecisions")
+# topSequence += CaloTrackingDumper
+
+
+
+
+
+
+# ##--------------------------
+# # Make the chains
+# ##--------------------------
+
+# # chains = ChainsList()
+# # chains + Chain("HLT_e3", "L1_EM3", 20.99, {"caloRoIsAfterPrescaling": "EM3 x 1", 
+# #                                            "MenuL2CaloStep": "L2_3GeVCaloEtCut x 1", 
+# #                                            "MenuEFCaloStep": "EF_3GeVCaloEtCut x 1"}) 
+# # chains + Chain("HLT_2e3", "L1_2EM3", 1, {"caloRoIsAfterPrescaling": "EM3 x 2", 
+# #                                           "MenuL2CaloStep": "L2_3GeVCaloEtCut x 2",
+# #                                           "MenuEFCaloStep": "EF_3GeVCaloEtCut x 2"})
+
+# # chains + Chain("HLT_e3e7", "L1_2EM3", 1, {"caloRoIsAfterPrescaling": "EM3 x 1, EM7 x 1", 
+# #                                           "MenuL2CaloStep": "L2_3GeVCaloEtCut x 1, L2_7GeVCaloEtCut x 1",
+# #                                           "MenuEFCaloStep": "EF_3GeVCaloEtCut x 1, EF_7GeVCaloEtCut x 1"})
+
+# # chains + Chain("HLT_e7", "L1_EM7", 1, {"caloRoIsAfterPrescaling": "EM7 x 1", 
+# #                                         "MenuL2CaloStep": "L2_7GeVCaloEtCut x 1",
+# #                                         "MenuEFCaloStep": "EF_7GeVCaloEtCut x 1"})
+# # chains + Chain("HLT_e10", "L1_EM10", 1, {"caloRoIsAfterPrescaling": "EM10 x 1", 
+# #                                           "MenuL2CaloStep": "L2_10GeVCaloEtCut x 1",
+# #                                           "MenuEFCaloStep": "EF_10GeVCaloEtCut x 1"})
+# # chains + Chain("HLT_mu6", "L1_MU6", 1, {"muonRoIsAfterPrescaling": "MU6 x 1", 
+# #                                           "MenuL2MuonStep": "L2_6GeVMuonCut x 1"})
+
+# # chains + Chain("HLT_mu6e3", "L1_EM3MU6", 1, {"caloRoIsAfterPrescaling": "EM3 x 1", 
+# #                                              "muonRoIsAfterPrescaling": "MU6 x 1",
+# #                                              "MenuStepL2Combo": "L2_3GeVCaloEtCut x 1, L2_6GeVMuonCut x 1"} )
+
+# # chains + Chain("HLT_e3merged", "L1_EM3", 20.99, {"caloRoIsAfterPrescaling": "EM3 x 1", 
+# #                                            "MenuL2CaloStep": "L2_3GeVCaloEtCut x 1", 
+# #                                            "MenuCaloTrackingStep": "EF_3GeVCaloEtCut x 1"}) 
+
+# # chains + Chain("HLT_e7merged", "L1_EM7", 1, {"caloRoIsAfterPrescaling": "EM7 x 1", 
+# #                                         "MenuL2CaloStep": "L2_7GeVCaloEtCut x 1",
+# #                                         "MenuCaloTrackingStep": "EF_7GeVCaloEtCut x 1"})
+
+# # chains + Chain("HLT_e7mu6_merged", "L1_EM7,L1_MU6", 1, {"caloRoIsAfterPrescaling": "EM7 x 1, MU6 x 1", 
+# #                                         "MenuL2CaloStep": "L2_7GeVCaloEtCut x 1",
+# #                                         "MenuL2MuonStep": "L2_6GeVMuonCut x 1",
+# #                                         "MenuCaloTrackingStep": "EF_7GeVCaloEtCut x 1"})
  
 
-# configureMenu(chains, topSequence)
+# # configureMenu(chains, topSequence)
 
-# this is not yet working allright
-from ViewAlgsTest.Menu import menu_ingredients
-configureFromXML( "HLTTestMenu.xml", menu_ingredients, topSequence)
+# # this is not yet working allright
+# from ViewAlgsTest.Menu import menu_ingredients
+# configureFromXML( "HLTTestMenu.xml", menu_ingredients, topSequence)
 
 
-#--------------------------------------------------------------
-# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL)
-#--------------------------------------------------------------
-svcMgr.MessageSvc.OutputLevel = DEBUG
-svcMgr.MessageSvc.Format = "% F%42W%S%7W%R%T %0W%M"
-svcMgr.MessageSvc.verboseLimit = 0
-svcMgr.StoreGateSvc.OutputLevel = INFO
-svcMgr.StoreGateSvc.Dump=True
-#print svcMgr
-MessageSvc.debugLimit=1000000
+# #--------------------------------------------------------------
+# # Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL)
+# #--------------------------------------------------------------
+# svcMgr.MessageSvc.OutputLevel = DEBUG
+# svcMgr.MessageSvc.Format = "% F%42W%S%7W%R%T %0W%M"
+# svcMgr.MessageSvc.verboseLimit = 0
+# svcMgr.StoreGateSvc.OutputLevel = INFO
+# svcMgr.StoreGateSvc.Dump=True
+# #print svcMgr
+# MessageSvc.debugLimit=1000000
 theApp.EvtMax = 4
-theApp.SkipEvents=3
+# theApp.SkipEvents=3
 
-print "topSequence dump:", topSequence
-#
-# End of job options file
-#
-###############################################################
+# print "topSequence dump:", topSequence
+# #
+# # End of job options file
+# #
+# ###############################################################
 
-graph_generator.saveGraph('menuRun dependencies graph', 'graph.dot')
+# graph_generator.saveGraph('menuRun dependencies graph', 'graph.dot')
diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/muonRoIData.dat b/Trigger/TrigSteer/ViewAlgsTest/share/muonRoIData.dat
deleted file mode 100644
index bc2fca4143f71efe541df93aef020ce84a3e2d62..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/share/muonRoIData.dat
+++ /dev/null
@@ -1,5 +0,0 @@
--3.2,-2.0,3103727387,MU0,MU4,MU6,MU8
-1.2,1.9,2733969453,MU0,MU4,MU6,MU8,MU10;2.2,1.0,2733969453,MU0,MU4,MU6
--3.2,3.0,2704088841,MU0,MU4,MU6,MU8;3.0,1.6,2972524297,MU0,MU4
-1.3,1.9,3103727387,MU0,MU10;1.2,2.6,2733969453,MU6;-1.1,2.6,2972524297,MU6; -1.2,2.6,2704088842,MU20;
-
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/FilterTracksInRoIs.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/FilterTracksInRoIs.cxx
deleted file mode 100644
index 3b9559bbdffbeac424148ba0a4258ecb4d7c06be..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/FilterTracksInRoIs.cxx
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include <sstream>
-#include <algorithm>
-#include "CxxUtils/make_unique.h"
-#include "L1Decoder/TrigIdentifiers.h"
-#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
-#include "ViewAlgs/TrigCompositeTraversal.h"
-
-#include "./FilterTracksInRoIs.h"
-
-FilterTracksInRoIs::FilterTracksInRoIs(const std::string& name, ISvcLocator* pSvcLocator) 
-  : AthAlgorithm(name, pSvcLocator),
-    m_assocTool(this),
-    m_compContainer("MenuDecisions") {      
-  declareProperty("CompContainer", m_compContainer, "Composites with links to RoIs");
-  declareProperty("OutputTracksContainer", m_outputTracks, "Filtered output tracks container");
-}
-
-StatusCode FilterTracksInRoIs::initialize() {
-  CHECK( m_compContainer.initialize() );
-  CHECK( m_outputTracks.initialize() );  
-  CHECK( m_assocTool.retrieve() );
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode FilterTracksInRoIs::execute() {
-
-  SG::ReadHandle< xAOD::TrigCompositeContainer > comps( m_compContainer );
-  if ( not comps.isValid() ) {
-    ATH_MSG_ERROR("No decisions object from previous stage");
-    return StatusCode::FAILURE;
-  }
-
-  auto tracks = CxxUtils::make_unique< ConstDataVector<TrackCollection>>();
-  tracks->clear(SG::VIEW_ELEMENTS);
-
-  ATH_MSG_DEBUG("Got comps");
-
-  // since there are links to tracks in the composites we do not need the source tracks at all, just links are enough
-  for ( const auto comp: *comps.cptr() ) {
-    const xAOD::TrigComposite* prev = comp->object<xAOD::TrigComposite>("seed");
-
-    ATH_MSG_DEBUG("Got comp");
-    ElementLinkVector<TrackCollection> elvec;
-    if ( m_assocTool->getTrackLinks(prev, elvec).isFailure() )
-      return StatusCode::FAILURE;
-    ATH_MSG_DEBUG("Links to tracks size : " << elvec.size() );
-    for ( auto el: elvec ) {
-      const Trk::Track* tp = *el;
-
-      ATH_MSG_DEBUG("Track in passing RoI : " <<  tp->info().dumpInfo() );
-      tracks->push_back(tp);
-    }
-  }
-  SG::WriteHandle<ConstDataVector<TrackCollection> > tracksHandle( m_outputTracks );
-  tracksHandle.record( std::move(tracks) );
-  return StatusCode::SUCCESS;
-}
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/FilterTracksInRoIs.h b/Trigger/TrigSteer/ViewAlgsTest/src/FilterTracksInRoIs.h
deleted file mode 100644
index 49c3af1d16a88ff85da209181df1034fdd7c0889..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/FilterTracksInRoIs.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_FilterTracksInRoIs_h
-#define ViewAlgs_FilterTracksInRoIs_h
-
-#include <string>
-#include "AthenaBaseComps/AthAlgorithm.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-#include "AthContainers/ConstDataVector.h"
-#include "TrkTrack/TrackCollection.h"
-
-//#include "AthViews/View.h"
-#include "./TrackRoIAssocTool.h"
-
-
-class FilterTracksInRoIs : public AthAlgorithm {
-public:
-  FilterTracksInRoIs(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-
-private:
-  ToolHandle <TrackRoIAssocTool> m_assocTool;
-
-  SG::ReadHandleKey< xAOD::TrigCompositeContainer > m_compContainer;
-  SG::WriteHandleKey< ConstDataVector<TrackCollection> > m_outputTracks;
-
-};
-#endif
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx
index ea196b8e330ef6fe3e365522fb688fb3c3885a45..fed72991d10f95e25b4639784c49454bb7c82e64 100644
--- a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx
+++ b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx
@@ -4,64 +4,59 @@
 
 #include <iostream>
 #include "CxxUtils/make_unique.h"
-
+#include "AthViews/View.h"
 #include "./SchedulerProxyAlg.h"
 
 SchedulerProxyAlg::SchedulerProxyAlg(const std::string& name, ISvcLocator* pSvcLocator) 
   : AthAlgorithm(name, pSvcLocator),
     m_roisContainer("RegionOfReco"), 
-    m_outputClusterContainer("Clusters"), 
-    m_outputClusterContainerAux("ClustersAux.")
+    m_outputClusterContainer("Clusters")
 {  
   declareProperty("RoIsContainer", m_roisContainer, "RegionOfReco");
   declareProperty("OutputClusterContainer", m_outputClusterContainer, "Clusters");
-  declareProperty("OutputClusterContainerAux", m_outputClusterContainerAux, "ClustersAux.");
+
 }
 
 StatusCode SchedulerProxyAlg::initialize()
 {
   CHECK( m_roisContainer.initialize() );
   CHECK( m_outputClusterContainer.initialize() );
-  CHECK( m_outputClusterContainerAux.initialize() );
   return StatusCode::SUCCESS;
 }
 
-StatusCode SchedulerProxyAlg::execute()
-{
-#ifdef GAUDI_SYSEXECUTE_WITHCONTEXT
-  const EventContext& ctx = getContext();
-#else
-  const EventContext& ctx = *getContext();
-#endif  
+StatusCode SchedulerProxyAlg::execute() {
+  
+  auto proxyPtr = getContext().proxy();
+  auto viewPtr = dynamic_cast<SG::View*>(proxyPtr);
+  if ( viewPtr != nullptr ) {
+    ATH_MSG_DEBUG( ".. The alg operates on the view " << viewPtr->impl()->name() );
+  }
 
-  SG::ReadHandle< ConstDataVector< TrigRoiDescriptorCollection > > inputHandle( m_roisContainer, ctx );
-  if ( not inputHandle.isValid() )
-  {
-    ATH_MSG_ERROR("No decisions object from previous stage");
+  auto inputHandle = SG::makeHandle( m_roisContainer );
+  if ( not inputHandle.isValid() )  {
+    ATH_MSG_ERROR(".. Input handle " << m_roisContainer.key()  << " is invalid");
     return StatusCode::FAILURE;
   }
-
-  SG::WriteHandle< TestClusterContainer > outputHandle( m_outputClusterContainer, ctx );
-  outputHandle = CxxUtils::make_unique<TestClusterContainer >();
-  ATH_CHECK( outputHandle.commit() );
-
-  SG::WriteHandle< TestClusterAuxContainer > outputHandleAux( m_outputClusterContainerAux, ctx );
-  outputHandleAux = CxxUtils::make_unique<TestClusterAuxContainer>();
-  ATH_CHECK( outputHandleAux.commit() );
-  outputHandle->setStore( outputHandleAux.ptr() );
-
-  ATH_MSG_INFO( "Launching processing for View with RoIs" );
+    
+  auto outputClusters = std::make_unique<TestClusterContainer>();
+  auto outputClustersAux = std::make_unique<TestClusterAuxContainer>();
+  outputClusters->setStore( outputClustersAux.get() );
+  
+  ATH_MSG_INFO( ".. Launching processing for View with RoIs" );
   for ( const auto roi: *inputHandle.cptr() )
   {
-    ATH_MSG_INFO( " ... " << *roi );
+
     TestCluster * cl = new TestCluster();
-    outputHandle->push_back(cl);
-    TestEDM::setClusterEt (cl, roi->eta()*10.0); // whatever values
-    TestEDM::setClusterEta(cl, roi->eta()+0.01);
-    TestEDM::setClusterPhi(cl, roi->phi()-0.05);
+    outputClusters->push_back( cl );
+    TestEDM::setClusterEt (cl, ( roi->eta() + roi->phi() )*10.0); // whatever values
+    TestEDM::setClusterEta(cl, roi->eta() + 0.01);
+    TestEDM::setClusterPhi(cl, roi->phi() - 0.05);
+    ATH_MSG_DEBUG( " ... " << *roi << " added a cluster at slightly varried position compared to RoI and fake Et: " << TestEDM::getClusterEt(cl) );
   }
 
-  ATH_MSG_INFO( "finished processing views" );
+  auto outputHandle = SG::makeHandle( m_outputClusterContainer );
+  CHECK( outputHandle.record( std::move( outputClusters ), std::move( outputClustersAux ) ) );
+  ATH_MSG_INFO( ".. finished processing view" );
   return StatusCode::SUCCESS;
 }
 
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.h b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.h
index 8dd2f6baa16bd55f5b9a494cf7d52dbdd27be7d1..8759dec87386827f6bbf5f6c094ad7834ec46886 100644
--- a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.h
+++ b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.h
@@ -22,9 +22,9 @@ public:
   StatusCode execute();
 
 private:
-  SG::ReadHandleKey<ConstDataVector<TrigRoiDescriptorCollection> > m_roisContainer;
+  SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roisContainer;
   SG::WriteHandleKey< TestClusterContainer > m_outputClusterContainer;
-  SG::WriteHandleKey< TestClusterAuxContainer > m_outputClusterContainerAux;
+
 
 };
 
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlg.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlg.cxx
deleted file mode 100644
index ea00c320ecd3f893f33c7ca79d5ff2921ae8600e..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlg.cxx
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "CxxUtils/make_unique.h"
-#include "TrigConfHLTData/HLTUtils.h"
-#include "L1Decoder/TrigIdentifiers.h"
-#include "ViewAlgs/TrigCompositeTraversal.h"
-#include "ViewAlgs/HypoDecision.h"
-#include "./TestHypoAlg.h"
-
-TestHypoAlg::TestHypoAlg(const std::string& name, ISvcLocator* pSvcLocator) 
-  : AthAlgorithm(name, pSvcLocator),
-    m_hypos(this),
-    m_inputProxyContainer("InputProxyContainer"), 
-    m_output("Output"), 
-    m_outputAux("OutputAux.") 
-{
-  declareProperty("Hypotheses", m_hypos, "");
-  declareProperty("InputProxyContainer", m_inputProxyContainer, "Input ProxyContainer name");
-  declareProperty("OutputDecisions", m_output, "Output collection");
-  declareProperty("OutputDecisionsAux", m_outputAux, "");
-}
-
-StatusCode TestHypoAlg::initialize() {
-  CHECK(m_hypos.retrieve());
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TestHypoAlg::execute() {
-  if ( not m_inputProxyContainer.isValid() ) {
-    ATH_MSG_ERROR("Missing Inputs");
-    return StatusCode::FAILURE;    
-  }
-  m_output = CxxUtils::make_unique< xAOD::TrigCompositeContainer >();
-  m_outputAux = CxxUtils::make_unique< xAOD::TrigCompositeAuxContainer >();  
-  m_output->setStore(m_outputAux.ptr());
-
-  size_t nRoI = 0;
-  ATH_MSG_DEBUG("Iterating over the input of size: " << m_inputProxyContainer.cptr()->size());
-  for ( const auto proxy : *m_inputProxyContainer.cptr() ) {
-    xAOD::TrigComposite * decisionStorage  = new xAOD::TrigComposite();          
-    m_output->push_back(decisionStorage);   
-    decisionStorage->setObjectLink("seed", ElementLink<xAOD::TrigCompositeContainer>(m_inputProxyContainer.name(), nRoI) ); // set ref. back to the input proxy on which the decision was made
-    
-    
-    auto objWithCluster = ViewAlgs::find(proxy, ViewAlgs::HasObject("cluster"));
-    if ( ! objWithCluster ) {
-      ATH_MSG_ERROR("Missing Cluster in this Proxy");
-      continue;
-    }
-    auto cluster = objWithCluster->objectLink<TestClusterContainer>("cluster");      
-    
-    HypoDecision hypoResults;
-    //std::vector<TriggerElementID> passedHypoIDs;
-    for ( const auto& hypoTool : m_hypos ) {
-      auto d = hypoTool->decision(*cluster);
-      CHECK( d.sc() );	
-      ATH_MSG_DEBUG("Hypo Tool " << hypoTool->name() << " decided " << d.content() 
-		    << " on cluster Et:" << TestEDM::getClusterEt(*cluster) 
-		    << " eta: " << TestEDM::getClusterEta(*cluster) 
-		    << " phi: " << TestEDM::getClusterPhi(*cluster));
-      
-      hypoResults.addDecision(hypoTool.name(), d.content() );
-      //	if ( d.content() ) 
-      //	  passedHypoIDs.push_back(TrigConf::HLTUtils::string2hash(hypoTool.name(), "TE")); // hypo name is the tag	
-    }
-    //decision->setDetail("Passed", passedHypoIDs);
-    hypoResults.store(*decisionStorage);
-    nRoI++;
-  }
-  return StatusCode::SUCCESS;
-}
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlg.h b/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlg.h
deleted file mode 100644
index 7f08423e6415e25aaf3a44b8647f6b007bcc06bd..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlg.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_TestHypoAlg_h
-#define ViewAlgs_TestHypoAlg_h
-
-#include <string>
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-//#include "AthViews/View.h"
-#include "./TestHypoTool.h"
-
-
-class TestHypoAlg : public AthAlgorithm {
-public:
-  TestHypoAlg(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-
-private:
-  ToolHandleArray<TestHypoTool> m_hypos;
-  
-  SG::ReadHandle< xAOD::TrigCompositeContainer >     m_inputProxyContainer;
-  SG::WriteHandle< xAOD::TrigCompositeContainer >    m_output;
-  SG::WriteHandle< xAOD::TrigCompositeAuxContainer > m_outputAux;
-};
-
-
-
-#endif
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlgView.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlgView.cxx
deleted file mode 100644
index 00150b11eb0b867817fcc6c1ff262506d61e7dd0..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlgView.cxx
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "CxxUtils/make_unique.h"
-#include "TrigConfHLTData/HLTUtils.h"
-#include "L1Decoder/TrigIdentifiers.h"
-#include "ViewAlgs/TrigCompositeTraversal.h"
-#include "TestHypoAlgView.h"
-
-namespace AthViews {
-TestHypoAlgView::TestHypoAlgView(const std::string& name, ISvcLocator* pSvcLocator) 
-  : AthViewAlgorithm(name, pSvcLocator),
-    m_hypos(this),
-    m_inputProxyContainer("InputProxyContainer"), 
-    m_output("Output"), 
-    m_outputAux("OutputAux.") 
-{
-  declareProperty("Hypotheses", m_hypos, "");
-  declareProperty("InputProxyContainer", m_inputProxyContainer, "Input ProxyContainer name");
-  declareProperty("OutputDecisions", m_output, "Output collection");
-  declareProperty("OutputDecisionsAux", m_outputAux, "");
-}
-
-StatusCode TestHypoAlgView::initialize() {
-  CHECK(m_hypos.retrieve());
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TestHypoAlgView::execute() {
-
-  if ( not m_inputProxyContainer.isValid() ) {
-    ATH_MSG_ERROR("Missing Inputs");
-    return StatusCode::FAILURE;    
-  }
-  m_output = CxxUtils::make_unique< xAOD::TrigCompositeContainer >();
-  m_outputAux = CxxUtils::make_unique< xAOD::TrigCompositeAuxContainer >();  
-  m_output->setStore(m_outputAux.ptr());
-
-#ifndef GAUDI_SYSEXECUTE_WITHCONTEXT 
-  const EventContext& ctx = *getContext();
-#endif
-
-  size_t nRoI = 0;
-  for ( const auto proxy : *m_inputProxyContainer.cptr() ) {
-    xAOD::TrigComposite * decision  = new xAOD::TrigComposite();          
-    m_output->push_back(decision);   
-#ifdef GAUDI_SYSEXECUTE_WITHCONTEXT 
-    decision->setObjectLink("seed", ElementLink<xAOD::TrigCompositeContainer>(m_inputProxyContainer.name(), nRoI,eventView(getContext())) ); // set ref. back to the input proxy on which the decision was made
-#else
-    decision->setObjectLink("seed", ElementLink<xAOD::TrigCompositeContainer>(m_inputProxyContainer.name(), nRoI,eventView(ctx)) ); // set ref. back to the input proxy on which the decision was made
-#endif
-    
-      
-      auto objWithCluster = ViewAlgs::find(proxy, ViewAlgs::HasObject("cluster"));
-       if ( ! objWithCluster ) {
-	ATH_MSG_ERROR("Missing Cluster in this Proxy");
-	continue;
-      }
-      auto cluster = objWithCluster->objectLink<TestClusterContainer>("cluster");      
-
-      std::vector<TriggerElementID> passedHypoIDs;
-      for ( const auto& hypoTool : m_hypos ) {
-	auto d = hypoTool->decision(*cluster);
-	CHECK( d.sc() );	
-	ATH_MSG_DEBUG("Hypo Tool " << hypoTool->name() << " decided " << d.content() 
-		      << " on cluster Et:" << TestEDM::getClusterEt(*cluster) 
-		      << " eta: " << TestEDM::getClusterEta(*cluster) 
-		      << " phi: " << TestEDM::getClusterPhi(*cluster));
-
-	if ( d.content() ) 
-	  passedHypoIDs.push_back(TrigConf::HLTUtils::string2hash(hypoTool.name(), "TE")); // hypo name is the tag	
-      }
-      decision->setDetail("Passed", passedHypoIDs);
-      nRoI++;
-    }
-
-
-
-
-  return StatusCode::SUCCESS;
-}
-
-}
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlgView.h b/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlgView.h
deleted file mode 100644
index 72ac09581ace478a3719d1f3d1414db2699e2ad5..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TestHypoAlgView.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_TestHypoAlgView_h
-#define ViewAlgs_TestHypoAlgView_h
-
-#include <string>
-#include "AthViews/AthViewAlgorithm.h"
-//#include "AthenaBaseComps/AthAlgorithm.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-#include "AthViews/View.h"
-#include "./TestHypoTool.h"
-
-namespace AthViews {
-
-class TestHypoAlgView : public ::AthViewAlgorithm {
-public:
-  TestHypoAlgView(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-
-private:
-  ToolHandleArray<TestHypoTool> m_hypos;
-  
-  SG::ReadHandle< xAOD::TrigCompositeContainer >     m_inputProxyContainer;
-  SG::WriteHandle< xAOD::TrigCompositeContainer >    m_output;
-  SG::WriteHandle< xAOD::TrigCompositeAuxContainer > m_outputAux;
-};
-
-}
-
-#endif
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx
index 6571db36be29dca2375bedd04b5bc32d96b3d7f1..6845e39c34da9c19a6f322f9ed12d789ab44f0a7 100644
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx
+++ b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright ( C ) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 #include <sstream>
@@ -15,109 +15,96 @@
 
 enum RoIsInView { BareRoIDescriptor = 0, CollectionWithOneElement = 1, CollectionWithAllElements = 2, SuperRoI=3 };
 
-TestViewDriver::TestViewDriver(const std::string& name, ISvcLocator* pSvcLocator)
-  : AthAlgorithm(name, pSvcLocator),
-    m_roisContainer("RoIsContainer"),
-    m_views("Views"), 
-    // will use them in future to copy the output
-    m_outputClusterContainer("OutputClusters"),
-    m_outputClusterContainerAux("OutputClusterAux."),
-    //m_outputProxyContainer("Output"),
-    //m_outputProxyContainerAux("OutputAux.")
-    m_viewAlgorithmNames(std::vector<std::string>())
-{
+TestViewDriver::TestViewDriver( const std::string& name, ISvcLocator* pSvcLocator )
+  : AthAlgorithm( name, pSvcLocator ),
+    m_roisContainer( "RoIsContainer" ),
+    m_roisViewOutput( "RoIsViewOutput" ),
+    m_clustersViewInput( "ClustersViewInput" ),
+    m_views( "Views" ),
+    //    m_outputClusterContainer( "OutputClusters" ),
+    m_viewAlgorithmsPool( "AlgResourcePool/ViewAlgPool", name ) {
    
-  declareProperty("RoIsContainer", m_roisContainer, "Input RoIs");
-  declareProperty("Views", m_views, "Name of the generated view" );
-  declareProperty("RoITypeInViews", m_roITypeInViews = 1, "0 - place TrigRoiDesciptor in views, 1 - place Collections wiht single RoI, 2 - place entrie collection in the view, 3 - place SuperRoI in single view ");
-  declareProperty("RoIKeyInViews", m_roIKeyInViews="ANewBeginning", "A key under which the roi descriptors appear in the view");
-  declareProperty("OutputClusterContainer", m_outputClusterContainer, "Output collection for clusters");
-  declareProperty("OutputClusterContainerAux", m_outputClusterContainerAux, "");
-  // declareProperty("OutputProxyContainer", m_outputProxyContainer, "Output proxies - this is returned by each fex and can be used to access actual objects");
-  // declareProperty("OutputProxyContainerAux", m_outputProxyContainerAux, "");
-
+  declareProperty( "RoIsContainer", m_roisContainer, "Input RoIs" );
+  declareProperty( "RoIsViewOutput", m_roisViewOutput, "Name of the collection that will be placed in each view" );
+  declareProperty( "ClustersViewInput", m_clustersViewInput );
+  declareProperty( "Views", m_views, "Name of the generated view" );
+  //  declareProperty( "OutputClusterContainer", m_outputClusterContainer, "Output collection for clusters" );
+  declareProperty( "ViewAlgorithmsPool", m_viewAlgorithmsPool );
   declareProperty( "ViewAlgorithmNames", m_viewAlgorithmNames, "Names of algorithms to run in the views" );
+  declareProperty( "RoITypeInViews", m_roITypeInViews = 1, "0 - place TrigRoiDesciptor in views, 1 - place Collections wiht single RoI, 2 - place entrie collection in the view, 3 - place SuperRoI in single view " );
 }
 
-StatusCode TestViewDriver::initialize() {
+StatusCode TestViewDriver::initialize( ) {
+  CHECK( m_viewAlgorithmsPool.retrieve( ) );
+  CHECK( m_roisContainer.initialize( ) );
+  CHECK( m_roisViewOutput.initialize( ) );
+  m_clustersViewInputHandle.assign( m_clustersViewInput );
+  CHECK( m_clustersViewInputHandle.initialize( ) );
+  CHECK( m_views.initialize( ) );
+  //  CHECK( m_outputClusterContainer.initialize( ) );
   return StatusCode::SUCCESS;
 }
 
-StatusCode TestViewDriver::execute() {
-
-  if ( not m_roisContainer.isValid() ) {
-    ATH_MSG_ERROR("No RoIs previous stage");
-    return StatusCode::FAILURE;
-  }
-  ATH_MSG_DEBUG("Running on " << m_roisContainer->size() << " RoIs");
+StatusCode TestViewDriver::execute( ) {
+  auto roisContainer = SG::makeHandle( m_roisContainer );
 
-  
-  //  
-  std::vector<SG::View*> viewVector;
+  //  this code is to be replaced by set of tools which can customize what is placed in the view
+  auto contexts = std::vector<EventContext>( );
+  auto viewVector = std::make_unique<std::vector<SG::View*>>( );
   unsigned int viewCounter = 0;
-  for ( const auto roi: *m_roisContainer.cptr() ) {
-    viewVector.push_back( ViewHelper::makeView(name()+"_view", viewCounter++) );
-
-    // Divide the RoIs into a vector of single-element collections, one for each view
-    if ( m_roITypeInViews == CollectionWithOneElement ) {
-      
-      auto oneRoIColl = new ConstDataVector<TrigRoiDescriptorCollection>;
-      oneRoIColl->clear(SG::VIEW_ELEMENTS); //Don't delete the RoIs
-      oneRoIColl->push_back( roi );
-      CHECK( ViewHelper::addToView(viewVector.back(), m_roIKeyInViews, oneRoIColl ) );
-      ATH_MSG_DEBUG("Placed RoICollection with a single RoI in the view");
-      // just an RoI descriptor in the view
-    } else if ( m_roITypeInViews == BareRoIDescriptor ) {
-      
-      CHECK( ViewHelper::addToView(viewVector.back(), m_roIKeyInViews, new TrigRoiDescriptor(*roi) ) );
-      
-    }
-  }
-  if ( m_roITypeInViews == CollectionWithAllElements ) {
-    viewVector.push_back( ViewHelper::makeView(name()+"_view") );
-    CHECK( ViewHelper::addViewCollectionToView( viewVector.back(), m_roIKeyInViews, m_roisContainer.cptr() ) );    
-  }
-  // missing is super RoI, and not covering the case when this alg can actually comsume more than on RoIs input collections
+  for ( const auto roi: *roisContainer.cptr( ) ) {
+
+    contexts.push_back( getContext( ) );    
+    viewVector->push_back( ViewHelper::makeView( name( )+"_view", viewCounter++ ) );
+    contexts.back( ).setProxy( viewVector->back( ) );
+
+    
+    auto oneRoIColl = std::make_unique< ConstDataVector<TrigRoiDescriptorCollection> >( );    
+    oneRoIColl->clear( SG::VIEW_ELEMENTS ); //Don't delete the RoIs
+    oneRoIColl->push_back( roi );
+    auto handle = SG::makeHandle( m_roisViewOutput, contexts.back( ) );
+    handle.setProxyDict( viewVector->back( ) );
+    CHECK( handle.record( std::move( oneRoIColl ) ) );
+    ATH_MSG_DEBUG( "Placed RoICollection with a single RoI " <<  *roi << " in the view " << viewVector->back( )->impl( )->name( ) );
+  } 
+
 
   // Run the views
-  CHECK( ViewHelper::RunViews( viewVector,				// Vector to store views
-			m_viewAlgorithmNames,				// Algorithms to run in each view
-			Gaudi::Hive::currentContext(),			// Context to attach the views to
-			serviceLocator()->service( "ViewAlgPool" ) ) );	// Service to retrieve algorithms by name (should make the service name configurable)
+  CHECK( ViewHelper::runInViews( contexts,
+				 m_viewAlgorithmNames,				  // Algorithms to run in each view
+				 serviceLocator( )->service( "ViewAlgPool" ) ) );  //FIXME this should realy be service handle, else we do costly retrival each execution, needs api change of ViewHelper
 
+  ATH_MSG_DEBUG( "Execution in " << viewVector->size( ) << " Views performed" );
+  
   // Harvest the results into a merged collection - currently impossible due to issue with TrigComposite
-  m_outputClusterContainer = CxxUtils::make_unique< TestClusterContainer >();
-  m_outputClusterContainerAux = CxxUtils::make_unique< TestClusterAuxContainer>();
-  m_outputClusterContainer->setStore(m_outputClusterContainerAux.ptr());
-  /*CHECK( ViewHelper::MergeViewCollection( viewVector,
-				viewClusters,
-				*m_outputClusterContainer ) );*/
-
-  for ( auto view : viewVector ) {
-    const TestClusterContainer* viewClusters = ViewHelper::getFromView<TestClusterContainer>(view, "Clusters");
-    
-    for ( auto cl: *viewClusters ) {
-      ATH_MSG_DEBUG("Pulling cluster from the view of Et " << TestEDM::getClusterEt(cl) );
-    }
+  //  auto outputClusterContainer = std::make_unique< TestClusterContainer >( );
+  //  auto outputClusterContainerAux = std::make_unique< TestClusterAuxContainer>( );
+  //  outputClusterContainer->setStore( outputClusterContainerAux.get( ) );
 
-    // how to copy the objects to the output?
-    // in principle the container from the view should become a view of what is moved to the per-event container
-    // the code below shoudl be working .... however it fails because of constnes issue    
-    
-    //    const size_t sizeSoFar = m_outputClusterContainer->size();
-    //    m_outputClusterContainer->resize( sizeSoFar + r.cptr()->size() );
-    //    swap(r.ptr()->begin(), r.ptr()->end(), m_outputClusterContainer->begin()+ sizeSoFar);
-    
-    //for ( auto el: *r.cptr() ) 
-    //      m_outputClusterContainer.cptr()->push_back(el);
-  }
 
-  for ( auto cluster: *m_outputClusterContainer.cptr() ) {
-    ATH_MSG_DEBUG("Cluster of ET " << TestEDM::getClusterEt(cluster) );
+  for ( auto& viewCtx: contexts ) {
+    auto handle = SG::makeHandle( m_clustersViewInputHandle, viewCtx );
+    if ( not handle.isValid( ) ) {
+      ATH_MSG_ERROR( "Can not bind handle to a view context" );
+      return StatusCode::FAILURE;
+    }
+    for ( auto cluster: *handle.get( ) ) {
+      ATH_MSG_DEBUG( "Cluster of ET " << TestEDM::getClusterEt( cluster ) );
+      //outputClusterContainer->push_back(cluster);  // FIXME this is not as simple, we need some trick to do copy
+    }
+    
   }
 
+  // for now we are not outputting
+  //  {
+  //    auto handle = SG::makeHandle( m_outputClusterContainer );
+  //    CHECK( handle.record( std::move( outputClusterContainer ), std::move( outputClusterContainerAux ) ) );
+  //  }
   // Store the views for re-use/book-keeping
-  m_views = CxxUtils::make_unique< std::vector<SG::View*>>( viewVector );
+  {
+    auto handle = SG::makeHandle( m_views );
+    CHECK( handle.record( std::move( viewVector ) ) );
+  }
 
   return StatusCode::SUCCESS;
 }
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.h b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.h
index bc3737c7f7d90e79f36642705341d0ba185df51d..8e976ee869db8f43360253f3a3b8a6d15142a670 100644
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.h
+++ b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.h
@@ -9,6 +9,7 @@
 
 #include <vector>
 #include <string>
+#include "GaudiKernel/IAlgResourcePool.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "AthContainers/ConstDataVector.h"
 //#include "xAODTrigger/TrigCompositeContainer.h"
@@ -25,17 +26,22 @@ public:
   StatusCode execute();
 
 private:
-  SG::ReadHandle< TrigRoiDescriptorCollection > m_roisContainer;
-  SG::WriteHandle< std::vector<SG::View*> > m_views;
+  SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roisContainer;
 
-  SG::WriteHandle< TestClusterContainer > m_outputClusterContainer;
-  SG::WriteHandle< TestClusterAuxContainer > m_outputClusterContainerAux;
-  //  SG::WriteHandle< xAOD::TrigCompositeContainer > m_outputProxyContainer;
-  //  SG::WriteHandle< xAOD::TrigCompositeAuxContainer > m_outputProxyContainerAux;
+  SG::WriteHandleKey< ConstDataVector<TrigRoiDescriptorCollection> > m_roisViewOutput;
+  // this is problematic and we need to use plain string for the moment
+  SG::ReadHandleKey< TestClusterContainer > m_clustersViewInputHandle;
+  std::string m_clustersViewInput;
 
+  SG::WriteHandleKey< std::vector<SG::View*> > m_views;
+  //  SG::WriteHandleKey< TestClusterContainer > m_outputClusterContainer;
+
+
+  
+  ServiceHandle<IAlgResourcePool> m_viewAlgorithmsPool;
   std::vector<std::string> m_viewAlgorithmNames;
   int m_roITypeInViews;
-  std::string m_roIKeyInViews;
+  
 };
 
 #endif
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoAlg.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoAlg.cxx
deleted file mode 100644
index 391bb1e1e0aae7e01c22e29f8d516e67cef99c97..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoAlg.cxx
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "CxxUtils/make_unique.h"
-#include "TrigConfHLTData/HLTUtils.h"
-#include "L1Decoder/TrigIdentifiers.h"
-#include "ViewAlgs/TrigCompositeTraversal.h"
-#include "AthLinks/ElementLinkVector.h"
-#include "./TrackHypoAlg.h"
-
-TrackHypoAlg::TrackHypoAlg(const std::string& name, ISvcLocator* pSvcLocator) 
-:   AthAlgorithm(name, pSvcLocator),
-    m_hypos(this),
-    m_assocTool(this),
-    m_inputTracks("SiSPSeededTracks"), 
-    m_inputRoIs("OutputRoIs"),
-    m_output("Output"), 
-    m_outputAux("OutputAux.") 
-{
-  declareProperty("Hypotheses", m_hypos, "");
-  declareProperty("TrackRoIAssociationTool", m_assocTool, "");
-  declareProperty("TrackCollection", m_inputTracks, "Input tracks colleciton");
-  declareProperty("RoiCollection",  m_inputRoIs, "Input RoIs colleciton");
-  declareProperty("OutputDecisions", m_output, "Output collection");
-  declareProperty("OutputDecisionsAux", m_outputAux, "");
-}
-
-StatusCode TrackHypoAlg::initialize() {
-  CHECK(m_hypos.retrieve());
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackHypoAlg::execute() {
-  if ( not m_inputTracks.isValid() ) {
-    ATH_MSG_ERROR("Missing Input tracks");
-    return StatusCode::FAILURE;    
-  }
-
-  if ( not m_inputRoIs.isValid() ) {
-    ATH_MSG_ERROR("Missing Input RoIs");
-    return StatusCode::FAILURE;    
-  }
-
-
-  m_output = CxxUtils::make_unique< xAOD::TrigCompositeContainer >();
-  m_outputAux = CxxUtils::make_unique< xAOD::TrigCompositeAuxContainer >();  
-  m_output->setStore(m_outputAux.ptr());
-
-
-  if (m_inputTracks->size()==0)  return StatusCode::SUCCESS;
-
-  // associate Tracks to RoIs into TCs
-  m_assocTool->associate(m_inputTracks , m_inputRoIs , m_output);
-
-  // here apply the hypos
-  int nTC=0;
-  for ( auto proxy : *m_output.cptr() ) {
-
-    //get RoI
-    double roi_eta;
-    double roi_phi;
-    auto objWithLinkToRoI = ViewAlgs::find(proxy, ViewAlgs::HasObject("initialRoI")); 
-    if ( objWithLinkToRoI ) {
-      auto roi = objWithLinkToRoI->objectLink<TrigRoiDescriptorCollection>("initialRoI");     
-      roi_eta = (*roi)->eta();
-      roi_phi = (*roi)->phi();
-      ATH_MSG_DEBUG("TC "<<nTC<<" from collection "<< m_output.key()<<" has link to this RoI: eta="<<roi_eta<<" phi="<<roi_phi);
-    }
-    else{
-      ATH_MSG_ERROR("TC "<<nTC<<" from collection "<< m_output.key()<<" has no link to any RoI");
-      continue;
-    }
-
-    //get tracks
-    ElementLinkVector<TrackCollection> linkVector;
-    m_assocTool->getTrackLinks(proxy,  linkVector);
-
-    // can apply hypo to singel track or to all tracks (multiplicity)
-
-    //loop over tracks
-    // for (auto link:linkVector ){
-
-    //   float trackPerigeeTheta = (*link)->perigeeParameters()->parameters()[Trk::theta];
-    //   float trackPerigeeEta = -log(tan(0.5*trackPerigeeTheta));
-    //   double eta = trackPerigeeEta ;
-    //   double phi = (*link)->perigeeParameters()->parameters()[Trk::phi]; 
-    //   double zed = (*link)->perigeeParameters()->parameters()[Trk::z0] ;
-    //   double pT  = fabs(1./((*link)->perigeeParameters()->parameters()[Trk::qOverP]* 1000.)) ;
-    //   //doing something...
-    // }
-
-    ATH_MSG_DEBUG("Now running the hypos on TC "<<nTC);
-    //hypo on track multiplicity
-    std::vector<TriggerElementID> passedHypoIDs;
-    for ( const auto& hypoTool : m_hypos ) {
-      auto d = hypoTool->decision(linkVector);
-      CHECK( d.sc() );  
-      ATH_MSG_DEBUG("Hypo Tool " << hypoTool->name() << " decided " << d.content() 
-        << " on RoI: " << roi_eta <<" "<<roi_phi);
-
-      if ( d.content() ) {
-        passedHypoIDs.push_back(TrigConf::HLTUtils::string2hash(hypoTool.name(), "TE")); // hypo name is the tag  
-      }
-    }
-    proxy->setDetail("Passed", passedHypoIDs);
-    nTC++;
-  }
-
-  return StatusCode::SUCCESS;
-}
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoAlg.h b/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoAlg.h
deleted file mode 100644
index e94a611b3ded855d9972e352a21a34ec84e98ee8..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoAlg.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_TrackHypoAlg_h
-#define ViewAlgs_TrackHypoAlg_h
-
-#include <string>
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-#include "TrkTrack/TrackCollection.h"
-#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
-
-
-//#include "AthViews/View.h"
-#include "./TrackHypoTool.h"
-#include "./TrackRoIAssocTool.h"
-
-
-class TrackHypoAlg : public AthAlgorithm {
-public:
-  TrackHypoAlg(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-
-private:
-  ToolHandleArray<TrackHypoTool> m_hypos;
-  ToolHandle <TrackRoIAssocTool> m_assocTool;
-  
-
-  SG::ReadHandle< TrackCollection >     m_inputTracks;
-  SG::ReadHandle< TrigRoiDescriptorCollection> m_inputRoIs;
-
-
-  SG::WriteHandle< xAOD::TrigCompositeContainer >    m_output;
-  SG::WriteHandle< xAOD::TrigCompositeAuxContainer > m_outputAux;
-};
-
-
-
-#endif
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoTool.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoTool.cxx
deleted file mode 100644
index 37edf9cd6ed25cbc5b4f76991131e5524e65216c..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoTool.cxx
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "./TrackHypoTool.h"
-
-
-TrackHypoTool::TrackHypoTool(const std::string& type, const std::string& name,  const IInterface* parent) 
-  : AthAlgTool(type, name, parent),
-    m_trackMultiplicity(0){  
-  declareInterface<TrackHypoTool>( this );
-  declareProperty("TrackMultiplicity", m_trackMultiplicity);
-}
-
-StatusCode TrackHypoTool::initialize() {
-  return StatusCode::SUCCESS;
-}
-DecoratedStatusCode<bool> TrackHypoTool::decision(ElementLinkVector<TrackCollection> links) const {
-  size_t size=links.size();
-  ATH_MSG_DEBUG("N.tracks " << size << " threshold " << m_trackMultiplicity);
-  return DecoratedStatusCode<bool>(StatusCode::SUCCESS, size > m_trackMultiplicity);
-}
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoTool.h b/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoTool.h
deleted file mode 100644
index 8be807e2160496c77b9b824d8e99d06ab6938800..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TrackHypoTool.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//-*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_TrackHypoTool_h
-#define ViewAlgs_TrackHypoTool_h
-
-#include <string>
-#include "AthenaBaseComps/AthAlgTool.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-#include "TrkTrack/TrackCollection.h"
-#include "AthLinks/ElementLinkVector.h"
-#include "TestEDM.h"
-
-static const InterfaceID IID_TrackHypoTool("TrackHypoTool", 1, 0);
-
-class TrackHypoTool : public AthAlgTool {
-public:
-  TrackHypoTool(const std::string& type, const std::string& name,  const IInterface* parent);
-
-  static const InterfaceID& interfaceID() {     
-    return IID_TrackHypoTool; 
-  }
-  
-  StatusCode initialize();
-  
-  DecoratedStatusCode<bool> decision(ElementLinkVector<TrackCollection> ) const;
-  
-private:
-  float m_trackMultiplicity;
-};
-
-
-#endif
-
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TrackRoIAssocTool.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TrackRoIAssocTool.cxx
deleted file mode 100644
index 52a2a00c6bfb3fefc2aadbf6e449e51d290157fa..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TrackRoIAssocTool.cxx
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "./TrackRoIAssocTool.h"
-
-
-TrackRoIAssocTool::TrackRoIAssocTool(const std::string& type, const std::string& name,  const IInterface* parent) : 
-  AthAlgTool(type, name, parent),
-  m_dR_size(0.4) {  
- declareInterface<TrackRoIAssocTool>( this );
- declareProperty("dRSize", m_dR_size,"Size of dR cone");     
-}
-
-StatusCode TrackRoIAssocTool::initialize() {
-  return StatusCode::SUCCESS;
-}
-
-
-
-StatusCode TrackRoIAssocTool::associate(SG::ReadHandle< TrackCollection > tracks , 
-                                        SG::ReadHandle< TrigRoiDescriptorCollection> RoIs, 
-                                        SG::WriteHandle< xAOD::TrigCompositeContainer > &  outputTCs) {
-
-  std::string trk_key_string  = tracks.key();
-  int trk_key  = ElementLink<TrackCollection>(tracks.name(),0).key();
-  int trk_clid = tracks.clid();//ClassID_traits< TrackCollection >::ID();
-  
-  ATH_MSG_DEBUG("tracks: key="<<trk_key<<" "<<trk_key_string<<" clid="<< trk_clid);
-  ATH_MSG_DEBUG("n.tracks="<<tracks->size()<<" n.rois="<<RoIs->size());
-  
-  size_t nRoI = 0;
-  for ( auto roi : *RoIs.cptr() ) {
-    xAOD::TrigComposite * decision  = new xAOD::TrigComposite();          
-    outputTCs->push_back(decision);   
-    //set roi link
-    //    ATH_MSG_DEBUG("Set RoI link into TC");
-    decision->setObjectLink("initialRoI", ElementLink<TrigRoiDescriptorCollection>(RoIs.name(), nRoI));
-
-
-    std::vector<int> trackLinks;
-    unsigned itrack=0;
-    //const Trk::Perigee* aMeasPer = 0;
-    for (auto track: *tracks.cptr()){
-      //ATH_MSG_DEBUG("RoI "<<nRoI<<" -> track "<<(*track));
-
-      auto tSOS = track->trackStateOnSurfaces()->begin();
-      if (tSOS!=track->trackStateOnSurfaces()->end()){//get the first only
-        const Trk::TrackParameters* trackPars = (*tSOS)->trackParameters();
-        if (trackPars){
-          float trackPerigeeTheta = trackPars->parameters()[Trk::theta];
-          float trackPerigeeEta = -log(tan(0.5*trackPerigeeTheta));
-          double deta = trackPerigeeEta - roi->eta(); 
-          double dphi = trackPars->parameters()[Trk::phi] - roi->phi();
-          //double dzed = trackPars->parameters()[Trk::z0] - roi->zed();
-          if ( dphi<-M_PI ) dphi +=2*M_PI;
-          if ( dphi>M_PI )  dphi -=2*M_PI;
-          float dR = std::sqrt(dphi*dphi + deta*deta);
-
-          if (dR<m_dR_size) {
-            ATH_MSG_DEBUG("RoI "<<nRoI<<" -> track "<<itrack<<" at surface has dR="<<dR);
-            //      ATH_MSG_DEBUG("RoI "<<nRoI<<" -> track at surface "<<itrack<<" deta="<<deta<<" dphi="<<dphi<<" dzed="<<dzed<<" dR="<<dR);
-            //track is in RoI
-            trackLinks.push_back(itrack);
-          }
-        }
-      }
-
-      // aMeasPer = track->perigeeParameters();
-      // if( aMeasPer != 0 ){
-      //  float trackPerigeeTheta = aMeasPer->parameters()[Trk::theta];
-      //  float trackPerigeeEta = -log(tan(0.5*trackPerigeeTheta));
-      //  double deta = trackPerigeeEta - roi->eta(); //track->trackParameters()->eta()
-      //  double dphi = aMeasPer->parameters()[Trk::phi] - roi->phi();
-      //  double dzed = aMeasPer->parameters()[Trk::z0] - roi->zed();
-      //  if ( dphi<-M_PI ) dphi +=2*M_PI;
-      //  if ( dphi>M_PI )  dphi -=2*M_PI;
-      //  float dR = std::sqrt(dphi*dphi + deta*deta);
-      //  ATH_MSG_DEBUG("RoI "<<nRoI<<" -> track "<<itrack<<" eta="<<deta<<" dphi="<<dphi<<" dzed="<<dzed);
-      //  if (dR<0.2) {
-      //    //track is in RoI
-      //    trackLinks.push_back(itrack);
-      //  }
-      // }
-      itrack++;
-    }
-
-    ATH_MSG_DEBUG("Found "<<trackLinks.size()<<" tracks in this roi "<<nRoI);
-    if (trackLinks.size() > 0){
-      decision->setDetail( "TrackKey", trk_key ) ;
-      decision->setDetail( "TrackCLID", trk_clid ) ;
-      decision->setDetail( "TrackIndices", trackLinks ) ;
-    }
-    nRoI++;
-  }
-
-  ATH_MSG_DEBUG("TC output collection has "<<outputTCs->size()<<" elements");
-
-
-  return StatusCode::SUCCESS;
-}
-
-
-
-StatusCode TrackRoIAssocTool::getTrackLinks(const xAOD::TrigComposite* inputTC,  ElementLinkVector<TrackCollection>& tracks){
-  int trk_key = 0;
-  int trk_clid = 0;
-  bool hasTracks = inputTC->getDetail("TrackKey",trk_key) &&  inputTC->getDetail("TrackCLID",trk_clid);
-  if (hasTracks){
-    std::vector<int> indices;
-    if (! ( inputTC->getDetail( "TrackIndices", indices))){
-      ATH_MSG_ERROR("TC has no tracks, but are expected");
-      return StatusCode::FAILURE;
-    }
-    // fill vectors of links to tracks
-    for (unsigned int index=0;index<indices.size();index++){
-      tracks.push_back(ElementLink<TrackCollection>(trk_key, index));
-    }
-  }
-
-  ATH_MSG_DEBUG("TC has "<<tracks.size()<<" tracks");
-
-  return StatusCode::SUCCESS;
-}
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TrackRoIAssocTool.h b/Trigger/TrigSteer/ViewAlgsTest/src/TrackRoIAssocTool.h
deleted file mode 100644
index c823f9fd52600272fd6e728dec2a87d358d71a88..0000000000000000000000000000000000000000
--- a/Trigger/TrigSteer/ViewAlgsTest/src/TrackRoIAssocTool.h
+++ /dev/null
@@ -1,45 +0,0 @@
-//-*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ViewAlgs_TrackRoIAssocTool_h
-#define ViewAlgs_TrackRoIAssocTool_h
-
-#include <string>
-#include "AthenaBaseComps/AthAlgTool.h"
-
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-#include "TrkTrack/TrackCollection.h"
-#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
-#include "AthLinks/ElementLinkVector.h"
-//#include "TestEDM.h"
-
-static const InterfaceID IID_TrackRoIAssocTool("TrackRoIAssocTool", 1, 0);
-
-class TrackRoIAssocTool : public AthAlgTool {
-public:
-  TrackRoIAssocTool(const std::string& type, const std::string& name,  const IInterface* parent);
-
-  static const InterfaceID& interfaceID() {     
-    return IID_TrackRoIAssocTool; 
-  }
-  
-  StatusCode initialize();
-  
-  StatusCode associate(SG::ReadHandle< TrackCollection > tracks , SG::ReadHandle< TrigRoiDescriptorCollection> RoIs, SG::WriteHandle< xAOD::TrigCompositeContainer >&   TCs); 
-  StatusCode getTrackLinks(const xAOD::TrigComposite* inputTC,  ElementLinkVector<TrackCollection>& tracks);
-  
-private:
-
-  double m_dR_size;
-
-    
-
-};
-
-
-#endif
-
diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/components/ViewAlgsTest_entries.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/components/ViewAlgsTest_entries.cxx
index 2bbc747ab7786b92782d1ab57a2c00dde25fbec1..b3c76bf451141ed1dec48d4ea35d96465c24c6ad 100644
--- a/Trigger/TrigSteer/ViewAlgsTest/src/components/ViewAlgsTest_entries.cxx
+++ b/Trigger/TrigSteer/ViewAlgsTest/src/components/ViewAlgsTest_entries.cxx
@@ -4,16 +4,9 @@
 
 #include "../TestFEXAlg.h"
 #include "../TestFEXAlgView.h"
-#include "../TestHypoAlg.h"
-#include "../TrackHypoAlg.h"
-#include "../TestHypoAlgView.h"
 #include "../TestMergeAlg.h"
 #include "../TestSplitAlg.h"
-#include "../TestHypoTool.h"
-#include "../TrackHypoTool.h"
-#include "../TrackRoIAssocTool.h"
 #include "../MergeRoIsAlg.h"
-#include "../FilterTracksInRoIs.h"
 #include "../TestViewDriver.h"
 #include "../EventViewCreatorAlgorithm.h"
 #include "../SchedulerProxyAlg.h"
@@ -23,14 +16,7 @@
 
 
 DECLARE_ALGORITHM_FACTORY( TestFEXAlg )
-DECLARE_ALGORITHM_FACTORY( FilterTracksInRoIs )
 DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, TestFEXAlgView )
-DECLARE_ALGORITHM_FACTORY( TestHypoAlg )
-DECLARE_ALGORITHM_FACTORY( TrackHypoAlg )
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( AthViews, TestHypoAlgView )
-DECLARE_TOOL_FACTORY( TestHypoTool )
-DECLARE_TOOL_FACTORY( TrackHypoTool )
-DECLARE_TOOL_FACTORY( TrackRoIAssocTool )
 DECLARE_ALGORITHM_FACTORY( TestMergeAlg )
 DECLARE_ALGORITHM_FACTORY( TestSplitAlg )
 DECLARE_ALGORITHM_FACTORY( MergeRoIsAlg )
@@ -42,11 +28,7 @@ DECLARE_ALGORITHM_FACTORY( TestCombiner )
 DECLARE_FACTORY_ENTRIES( ViewAlgsTest )
 {
   DECLARE_ALGORITHM( TestFEXAlg )
-  DECLARE_ALGORITHM( FilterTracksInRoIs )
   DECLARE_NAMESPACE_ALGORITHM( AthViews, TestFEXAlgView )
-  DECLARE_ALGORITHM( TestHypoAlg )
-  DECLARE_ALGORITHM( TrackHypoAlg )
-  DECLARE_NAMESPACE_ALGORITHM( AthViews, TestHypoAlgView )
   DECLARE_ALGORITHM( TestMergeAlg )
   DECLARE_ALGORITHM( TestSplitAlg )
   DECLARE_ALGORITHM( MergeRoIsAlg )
@@ -54,7 +36,4 @@ DECLARE_FACTORY_ENTRIES( ViewAlgsTest )
   DECLARE_ALGORITHM( EventViewCreatorAlgorithm )
   DECLARE_ALGORITHM( SchedulerProxyAlg )
   DECLARE_ALGORITHM( TestCombiner )
-  DECLARE_TOOL( TestHypoTool )
-  DECLARE_TOOL( TrackHypoTool )
-  DECLARE_TOOL( TrackRoIAssocTool )
 }
diff --git a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/ClusterTOBArray.cxx b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/ClusterTOBArray.cxx
index fcf3ba62f481c69ff76ec8453fe3cab2d2ac55cb..c4a6bda7237237cf4ede936ad765ea82d30e082b 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/ClusterTOBArray.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/ClusterTOBArray.cxx
@@ -8,7 +8,7 @@
 TCS::ClusterTOBArray::ClusterTOBArray(const std::string & name, unsigned int reserve) :
    InputTOBArray(name),
    DataArrayImpl<ClusterTOB>(reserve)
-{};
+{}
 
 void
 TCS::ClusterTOBArray::print(std::ostream &o) const {
diff --git a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/JetTOBArray.cxx b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/JetTOBArray.cxx
index 22d5e4699e25143313af0597a5ff7dfd82c888ef..0774889870e502e158e45b0c97d4b7e0fef93115 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/JetTOBArray.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/JetTOBArray.cxx
@@ -12,7 +12,7 @@
 TCS::JetTOBArray::JetTOBArray(const std::string & name, unsigned int reserve) :
    InputTOBArray(name),
    DataArrayImpl<JetTOB>(reserve)
-{};
+{}
 
 
 TCS::TOBArray
diff --git a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/LateMuonTOBArray.cxx b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/LateMuonTOBArray.cxx
index 5086ba37e82e3ebcc676537d6ba610bc014c28b0..b1b314f95372ea0e614d2187137635462153fe4d 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/LateMuonTOBArray.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/LateMuonTOBArray.cxx
@@ -8,7 +8,7 @@
 TCS::LateMuonTOBArray::LateMuonTOBArray(const std::string & name, unsigned int reserve) :
    InputTOBArray(name),
    DataArrayImpl<LateMuonTOB>(reserve)
-{};
+{}
 
 void
 TCS::LateMuonTOBArray::print(std::ostream &o) const {
diff --git a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MetTOBArray.cxx b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MetTOBArray.cxx
index 80aef7d5965337f151f06f2997b5b4a01474beb7..764892130b7fafee9d473036364c36e76447d2cb 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MetTOBArray.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MetTOBArray.cxx
@@ -8,7 +8,7 @@
 TCS::MetTOBArray::MetTOBArray(const std::string & name, unsigned int reserve) :
    InputTOBArray(name),
    DataArrayImpl<MetTOB>(reserve)
-{};
+{}
 
 void
 TCS::MetTOBArray::print(std::ostream &o) const {
diff --git a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonNextBCTOBArray.cxx b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonNextBCTOBArray.cxx
index ea7e9bd5c406dd5847846421be54d44b2391752d..0de6bf13850f7cc135371cc82159058f9544aa7c 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonNextBCTOBArray.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonNextBCTOBArray.cxx
@@ -8,7 +8,7 @@
 TCS::MuonNextBCTOBArray::MuonNextBCTOBArray(const std::string & name, unsigned int reserve) :
    InputTOBArray(name),
    DataArrayImpl<MuonNextBCTOB>(reserve)
-{};
+{}
 
 void
 TCS::MuonNextBCTOBArray::print(std::ostream &o) const {
diff --git a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonTOBArray.cxx b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonTOBArray.cxx
index 10fbf7eecad33ba4308d8e1eb4dcaad402422240..4dfd04211de6248358f4081323d417d9dfe91e8b 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonTOBArray.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoEvent/Root/MuonTOBArray.cxx
@@ -8,7 +8,7 @@
 TCS::MuonTOBArray::MuonTOBArray(const std::string & name, unsigned int reserve) :
    InputTOBArray(name),
    DataArrayImpl<MuonTOB>(reserve)
-{};
+{}
 
 void
 TCS::MuonTOBArray::print(std::ostream &o) const {
diff --git a/Trigger/TrigTools/TrigInDetConf/python/TrigInDetSequence.py b/Trigger/TrigTools/TrigInDetConf/python/TrigInDetSequence.py
index fc357dfaea9535f725f0a8a3064843057ce9384c..d3bf01890c8ee618fe5080b715220ca1f66d04ea 100644
--- a/Trigger/TrigTools/TrigInDetConf/python/TrigInDetSequence.py
+++ b/Trigger/TrigTools/TrigInDetConf/python/TrigInDetSequence.py
@@ -220,10 +220,6 @@ class TrigInDetSequence(TrigInDetSequenceBase):
           cnvname = "InDetTrigTrackingxAODCnv_%s_FTF";  cnv2name = "InDetTrigTrackingxAODCnv_%sIso_FTF";  
           roiupdater = "IDTrigRoiUpdater_%s_IDTrig";  roi2updater="IDTrigRoiUpdater_%sIso_IDTrig"
     
-    if self.__signature__=="bphysHighPt":
-      cnvname = "InDetTrigTrackingxAODCnv_Bphysics_FTF"
-      cnvptname = "InDetTrigTrackingxAODCnv_Bphysics_%s" % sequenceType
-
     if sequenceType=="IDTrig":
 
       algos = list()
diff --git a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/SCT_ClusterCacheTool.cxx b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/SCT_ClusterCacheTool.cxx
index fb252e2f48542aad151c309b55e9fc060b4f4e15..5f235bfcabcf67d5bd8d22b2609c925a8d07e4e9 100755
--- a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/SCT_ClusterCacheTool.cxx
+++ b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/SCT_ClusterCacheTool.cxx
@@ -331,10 +331,10 @@ StatusCode SCT_ClusterCacheTool::convertBStoClusters(std::vector<const ROBF*>& r
 
 	      StatusCode scRod = StatusCode::SUCCESS;
 	      if(!isFullScan) {
-		scRod=m_offlineDecoder->fillCollection(robFrag,m_rdoContainer,&reducedList);
+		scRod=m_offlineDecoder->fillCollection(*robFrag,*m_rdoContainer,nullptr,&reducedList);
 	      }
 	      else {
-		scRod=m_offlineDecoder->fillCollection(robFrag,m_rdoContainer,NULL);
+		scRod=m_offlineDecoder->fillCollection(*robFrag,*m_rdoContainer,nullptr,NULL);
 	      }
 	      if(scRod.isRecoverable())
 		{
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
index e54e627beb14070215fc82ae85a9685e6e2617a3..ac282e35d0cf2c0826073e7946961c588b3f8b6d 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
+++ b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
@@ -32,14 +32,15 @@ atlas_add_component( TrigUpgradeTest
 		     ${ROOT_LIBRARIES} GaudiKernel
 		     AthenaBaseComps TrigUpgradeTestLib )
 
-# for now this tests should not be run and be replaced
-# atlas_add_test( GraphView1 SCRIPT scripts/GraphView.sh
-#                 ENVIRONMENT THREADS=1     )
-# atlas_add_test( GraphView2 SCRIPT scripts/GraphView.sh
-#                 ENVIRONMENT THREADS=2     )
-# atlas_add_test( GraphView64 SCRIPT scripts/GraphView.sh
-#                 ENVIRONMENT THREADS=64              )
-# atlas_add_test( menuRun SCRIPT scripts/menuRun.sh)
+
+atlas_add_test( GraphView1 SCRIPT scripts/GraphView.sh
+                ENVIRONMENT THREADS=1     )
+atlas_add_test( GraphView2 SCRIPT scripts/GraphView.sh
+                ENVIRONMENT THREADS=2     )
+atlas_add_test( GraphView64 SCRIPT scripts/GraphView.sh
+                ENVIRONMENT THREADS=64              )
+
+atlas_add_test( creatingEVTest SCRIPT ../../TrigSteer/ViewAlgsTest/scripts/creatingEVTest.sh )
 
 atlas_add_test( mergeTest SCRIPT scripts/mergeTest.sh)
 
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index 9aec087f9cc034edf8125d75b6bef323f54bfe4f..6a67c41c3ac6df465cb33f3c52870728d4e8f801 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -362,6 +362,22 @@ class ESDEDMSet(JobProperty):
 
 _flags.append(ESDEDMSet)
 
+class OnlineCondTag(JobProperty):
+    """ Default (online) HLT conditions tag """
+    statusOn=True
+    allowedType=['str']
+    StoredValue='CONDBR2-HLTP-2016-01'
+
+_flags.append(OnlineCondTag)
+
+class OnlineGeoTag(JobProperty):
+    """ Default (online) HLT geometry tag """
+    statusOn=True
+    allowedType=['str']
+    StoredValue='ATLAS-R2-2015-04-00-00'
+    
+_flags.append(OnlineGeoTag)
+
 # =========
 #
 # trigger flags used by trigger configuration
diff --git a/Trigger/TriggerRelease/cmt/requirements b/Trigger/TriggerRelease/cmt/requirements
deleted file mode 100755
index 7d4214fc5bbaf15adf7585c665fdbd762c87723b..0000000000000000000000000000000000000000
--- a/Trigger/TriggerRelease/cmt/requirements
+++ /dev/null
@@ -1,11 +0,0 @@
-package TriggerRelease
-
-author John Baines <j.baines@rl.ac.uk>
-author Simon george <S.George@rhul.ac.uk>
-
-use AtlasPolicy AtlasPolicy-*
-
-apply_pattern declare_joboptions files="*.py"
-apply_pattern declare_python_modules files="*.py"
-
-
diff --git a/Trigger/TriggerRelease/share/runHLT_standalone.py b/Trigger/TriggerRelease/share/runHLT_standalone.py
index ed04e181e283bad8ad2fad9b25001269326afc39..c212057ca5d576b0964118b9b75229a741e6a456 100755
--- a/Trigger/TriggerRelease/share/runHLT_standalone.py
+++ b/Trigger/TriggerRelease/share/runHLT_standalone.py
@@ -120,7 +120,7 @@ menuMap={
          'PhysicsV1':       ('Physics_pp_v1',           'TriggerMenuXML/LVL1config_Physics_pp_v1.xml'),
          'MCV1':            ('MC_pp_v1',                'TriggerMenuXML/LVL1config_Physics_pp_v1.xml'),
          'CosmicPPV1':      ('Physics_pp_v1_cosmics_prescale','TriggerMenuXML/LVL1config_Physics_pp_v1.xml'),
-         }
+}
 
 # Useful in job options beyond our control to always run the latest menu via 'testCurrentMenu=True'
 menuMap['CurrentMenu'] = menuMap['PhysicsV6']
@@ -139,11 +139,11 @@ for name in menuMap:
                 # topo menu xml explicitly given
                 setL1TopoXML=menuMap[name][2]
                 
-            if not 'setupForMC' in dir():
+            if 'setupForMC' not in dir():
                 setupForMC=(key=='MC')
                 print 'Setting setupForMC = ',setupForMC
 
-if not 'setupForMC' in dir():
+if 'setupForMC' not in dir():
     setupForMC=False
 
 if newMenuSetup>1:
@@ -176,7 +176,7 @@ defaultOptions={
     'HLTOutputLevel'   : INFO,
     'EvtMax'           : -1,
     'SkipEvents'       :  0,
-    }
+}
 
 
 #-------------------------------------------------------------
@@ -204,8 +204,8 @@ if setupForMC:   # for MC
     defaultOptions['useCOMCONDDB']=False
 else:            # for data
     defaultOptions['useCOMCONDDB']=True
-    defaultOptions['setDetDescr']='ATLAS-R2-2016-01-00-01'
-    defaultOptions['setGlobalTag']='CONDBR2-HLTP-2017-01'
+    defaultOptions['setDetDescr']=TriggerFlags.OnlineGeoTag()
+    defaultOptions['setGlobalTag']=TriggerFlags.OnlineCondTag()
 
 # Setup list of modifiers
 defaultOptions['setModifiers']=[#Common modifiers for MC and data
@@ -222,7 +222,7 @@ defaultOptions['setModifiers']=[#Common modifiers for MC and data
                                 'openThresholdRPCCabling',
                                 #special streaming setup
                                 'enable7BitL1TTStreaming',
-                                ]
+]
 
 if setupForMC:  # MC modifiers
     defaultOptions['setModifiers']+=['BFieldFromDCS']
@@ -247,13 +247,13 @@ else:           # More data modifiers
                                 #Monitoring L1Topo at ROB level
                                 'L1TopoCheck',
                                 'forceTileRODMap',
-                              #for tests with data:
+                                #for tests with data:
                                 #'ignoreErrorStream', #nothing goes to debug stream
                                 #'inclusiveErrorStream', #errors go to both debug and physics streams
                                 #'ignoreL1Vetos',  #also run L2 prescaled and disabled L1 items
                                 #'disablePixels',
                                 #'disableSCTBarrel',
-                                ]
+    ]
 
 #make some more common trig cost operations easier to setup
 if 'enableCostD3PD' in dir() or 'enableRateD3PD' in dir():
@@ -294,7 +294,7 @@ for mod in dir(TriggerRelease.Modifiers):
     if not hasattr(getattr(TriggerRelease.Modifiers,mod),'preSetup'): continue
     if mod in dir():  #allow turning on and off modifiers by variable of same name
         if globals()[mod]:
-            if not mod in setModifiers:
+            if mod not in setModifiers:
                 setModifiers+=[mod]
         else:
             if mod in setModifiers: setModifiers.remove(mod)
@@ -438,8 +438,8 @@ if globalflags.InputFormat=='bytestream':
         _run_number = af.run_number[0]
     if _run_number>=276073:       #start of periodD1, 25ns bunch spacing 
         jobproperties.Beam.bunchSpacing=25
-        log.info('Bunch spacing set to %dns for a bytestream input. It can be overriden by BunchSpacing50ns=True' \
-                     % jobproperties.Beam.bunchSpacing()) 
+        log.info('Bunch spacing set to %dns for a bytestream input. It can be overriden by BunchSpacing50ns=True'
+                 % jobproperties.Beam.bunchSpacing())
 
 
 # RecEx flags
@@ -486,7 +486,7 @@ def enableDisableChains():
     # default signatures have been setup according to choice of menu
     for s in sliceList:
         slice=getattr(TriggerFlags,s)
-        if removeSignatures.has_key(s):
+        if s in removeSignatures:
             remove=removeSignatures[s]
             log.warn('Disabling '+str(remove)+' of '+s)
             if remove=='ALL':
@@ -494,7 +494,7 @@ def enableDisableChains():
                 slice.signatures.set_Value([])                 # Remove all chains
             else:
                 slice.disableSignatures(remove)
-        if addSignatures.has_key(s):
+        if s in addSignatures:
             add=addSignatures[s]            
             slice.enableSignatures([sig for sig in signatures_all if sig[0] in add])
             log.info('Enabled '+str(add)+' in '+s)