diff --git a/Simulation/Tools/HitAnalysis/share/AFPHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/AFPHitAnalysis_topOptions.py
index f22c3e8ac83892f18399764b7a53036eef2bd9c4..289e29f26d9c39d02e31d5881cfa728bd3cd075c 100755
--- a/Simulation/Tools/HitAnalysis/share/AFPHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/AFPHitAnalysis_topOptions.py
@@ -7,20 +7,25 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import AFPHitAnalysis
-topSequence += AFPHitAnalysis() 
+topSequence += AFPHitAnalysis()
 AFPHitAnalysis = AFPHitAnalysis()
-AFPHitAnalysis.NtupleFileName = '/AFPHitAnalysis/'
-AFPHitAnalysis.HistPath = '/AFPHitAnalysis/'
+AFPHitAnalysis.NtupleFileName = '/AFPHitAnalysis/ntuples/'
+AFPHitAnalysis.HistPath = '/AFPHitAnalysis/histos/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
 ServiceMgr += THistSvc()
diff --git a/Simulation/Tools/HitAnalysis/share/ALFAHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/ALFAHitAnalysis_topOptions.py
index 4065c4d2854ae79935020940bafa6c0941488215..703f02c0a154aa870e0b74cc5af44e05bec55f9e 100755
--- a/Simulation/Tools/HitAnalysis/share/ALFAHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/ALFAHitAnalysis_topOptions.py
@@ -4,22 +4,26 @@ import AthenaPoolCnvSvc.ReadAthenaPool
 
 from PartPropSvc.PartPropSvcConf import PartPropSvc
 
-include( "ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
-include( "EventAthenaPool/EventAthenaPool_joboptions.py" )
+include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
+include("EventAthenaPool/EventAthenaPool_joboptions.py" )
+
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
 
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import ALFAHitAnalysis
-topSequence += ALFAHitAnalysis() 
+topSequence += ALFAHitAnalysis()
 ALFAHitAnalysis = ALFAHitAnalysis()
-ALFAHitAnalysis.NtupleFileName = '/ALFAHitAnalysis/'
 ALFAHitAnalysis.HistPath = '/ALFAHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
diff --git a/Simulation/Tools/HitAnalysis/share/AllHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/AllHitAnalysis_topOptions.py
index e815ea4a872cf0b663c56543e70653ee72e37f88..b6323b351b3cf951f93f90e4136bead63f0a984a 100755
--- a/Simulation/Tools/HitAnalysis/share/AllHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/AllHitAnalysis_topOptions.py
@@ -2,15 +2,21 @@
 from AthenaCommon.AppMgr import ServiceMgr
 import AthenaPoolCnvSvc.ReadAthenaPool
 
+
 from PartPropSvc.PartPropSvcConf import PartPropSvc
 
-include( "ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
-include( "EventAthenaPool/EventAthenaPool_joboptions.py" )
+include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
+include("EventAthenaPool/EventAthenaPool_joboptions.py" )
+
+from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+GeoModelSvc = GeoModelSvc()
+GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
 
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+#athenaCommonFlags.FilesInput = glob( "/afs/cern.ch/work/a/ancuetog/HitsAreas/20.3.X.Y-VAL-r3/atlasG4_10ttbar_20.3.X.Y-VAL-r3-modtime.NoFrozenShower.DeadLAr.hits.pool.root" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput()
 
 from AthenaCommon.AlgSequence import AlgSequence
@@ -19,68 +25,62 @@ from HitAnalysis.HitAnalysisConf import *
 
 topSequence += SiHitAnalysis('PixelHitAnalysis')
 topSequence.PixelHitAnalysis.CollectionName='PixelHits'
-topSequence.PixelHitAnalysis.NtupleFileName='/HitAnalysis/Pixel/'
-topSequence.PixelHitAnalysis.HistPath='/HitAnalysis/Pixel/'
-
 topSequence += SiHitAnalysis('SCTHitAnalysis')
 topSequence.SCTHitAnalysis.CollectionName='SCT_Hits'
-topSequence.SCTHitAnalysis.NtupleFileName='/HitAnalysis/SCT/'
-topSequence.SCTHitAnalysis.HistPath='/HitAnalysis/SCT/'
-
 topSequence += SiHitAnalysis('BCMHitAnalysis')
 topSequence.BCMHitAnalysis.CollectionName='BCMHits'
-topSequence.BCMHitAnalysis.NtupleFileName='/HitAnalysis/BCM/'
-topSequence.BCMHitAnalysis.HistPath='/HitAnalysis/BCM/'
-
 topSequence += SiHitAnalysis('BLMHitAnalysis')
 topSequence.BLMHitAnalysis.CollectionName='BLMHits'
-topSequence.BLMHitAnalysis.NtupleFileName='/HitAnalysis/BLM/'
-topSequence.BLMHitAnalysis.HistPath='/HitAnalysis/BLM/'
-
 topSequence += TRTHitAnalysis('TRTHitAnalysis')
-topSequence.TRTHitAnalysis.NtupleFileName='/HitAnalysis/TRT/'
-topSequence.TRTHitAnalysis.HistPath='/HitAnalysis/TRT/'
-
 topSequence += RPCHitAnalysis('RPCHitAnalysis')
-topSequence.RPCHitAnalysis.NtupleFileName='/HitAnalysis/RPC/'
-topSequence.RPCHitAnalysis.HistPath='/HitAnalysis/RPC/'
-
 topSequence += MDTHitAnalysis('MDTHitAnalysis')
-topSequence.MDTHitAnalysis.NtupleFileName='/HitAnalysis/MDT/'
-topSequence.MDTHitAnalysis.HistPath='/HitAnalysis/MDT/'
-
 topSequence += CSCHitAnalysis('CSCHitAnalysis')
-topSequence.CSCHitAnalysis.NtupleFileName='/HitAnalysis/CSC/'
-topSequence.CSCHitAnalysis.HistPath='/HitAnalysis/CSC/'
-
 topSequence += TGCHitAnalysis('TGCHitAnalysis')
-topSequence.TGCHitAnalysis.NtupleFileName='/HitAnalysis/TGC/'
-topSequence.TGCHitAnalysis.HistPath='/HitAnalysis/TGC/'
-
 #topSequence += ALFAHitAnalysis('ALFAHitAnalysis')
-#topSequence.ALFAHitAnalysis.NtupleFileName='/HitAnalysis/ALFA/'
-#topSequence.ALFAHitAnalysis.HistPath='/HitAnalysis/ALFA/'
-
 #topSequence += LucidHitAnalysis('LucidHitAnalysis')
-#topSequence.LucidHitAnalysis.NtupleFileName='/HitAnalysis/Lucid/'
-#topSequence.LucidHitAnalysis.HistPath='/HitAnalysis/Lucid/'
-
 #topSequence += ZDCHitAnalysis('ZDCHitAnalysis')
-#topSequence.ZDCHitAnalysis.NtupleFileName='/HitAnalysis/ZDC/'
-#topSequence.ZDCHitAnalysis.HistPath='/HitAnalysis/ZDC/'
-
 topSequence += TrackRecordAnalysis('TrackRecordAnalysis')
-topSequence.TrackRecordAnalysis.NtupleFileName='/HitAnalysis/Track/'
-topSequence.TrackRecordAnalysis.HistPath='/HitAnalysis/Track/'
-
 topSequence += TruthHitAnalysis('TruthHitAnalysis')
-topSequence.TruthHitAnalysis.NtupleFileName = '/HitAnalysis/Truth/' 
-topSequence.TruthHitAnalysis.HistPath = '/HitAnalysis/Truth/'
-
 topSequence += CaloHitAnalysis('CaloHitAnalysis')
-topSequence.CaloHitAnalysis.NtupleFileName = '/HitAnalysis/Calo/' 
-topSequence.CaloHitAnalysis.HistPath = '/HitAnalysis/Calo/'
-
+topSequence += MMHitAnalysis('MMHitAnalysis')
+topSequence += sTGCHitAnalysis('sTGCHitAnalysis')
+
+
+
+topSequence.PixelHitAnalysis.HistPath='/HitAnalysis/Pixel/histos/'
+topSequence.SCTHitAnalysis.HistPath='/HitAnalysis/SCT/histos/'
+topSequence.BCMHitAnalysis.HistPath='/HitAnalysis/BCM/histos/'
+topSequence.BLMHitAnalysis.HistPath='/HitAnalysis/BLM/histos/'
+topSequence.TRTHitAnalysis.HistPath='/HitAnalysis/TRT/histos/'
+topSequence.RPCHitAnalysis.HistPath='/HitAnalysis/RPC/histos/'
+topSequence.MDTHitAnalysis.HistPath='/HitAnalysis/MDT/histos/'
+topSequence.CSCHitAnalysis.HistPath='/HitAnalysis/CSC/histos/'
+topSequence.TGCHitAnalysis.HistPath='/HitAnalysis/TGC/histos/'
+#topSequence.ALFAHitAnalysis.HistPath='/HitAnalysis/'
+#topSequence.LucidHitAnalysis.HistPath='/HitAnalysis/'
+#topSequence.ZDCHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.TrackRecordAnalysis.HistPath='/HitAnalysis/Track/histos/'
+topSequence.TruthHitAnalysis.HistPath = '/HitAnalysis/Truth/histos/'
+topSequence.CaloHitAnalysis.HistPath = '/HitAnalysis/Calo/histos/'
+topSequence.MMHitAnalysis.HistPath='/HitAnalysis/MM/histos/'
+topSequence.sTGCHitAnalysis.HistPath='/HitAnalysis/sTGC/histos/'
+topSequence.PixelHitAnalysis.NtupleFileName='/HitAnalysis/Pixel/ntuple/'
+topSequence.SCTHitAnalysis.NtupleFileName='/HitAnalysis/SCT/ntuple/'
+topSequence.BCMHitAnalysis.NtupleFileName='/HitAnalysis/BCM/ntuple/'
+topSequence.BLMHitAnalysis.NtupleFileName='/HitAnalysis/BLM/ntuple/'
+topSequence.TRTHitAnalysis.NtupleFileName='/HitAnalysis/TRT/ntuple/'
+topSequence.RPCHitAnalysis.NtupleFileName='/HitAnalysis/RPC/ntuple/'
+topSequence.MDTHitAnalysis.NtupleFileName='/HitAnalysis/MDT/ntuple/'
+topSequence.CSCHitAnalysis.NtupleFileName='/HitAnalysis/CSC/ntuple/'
+topSequence.TGCHitAnalysis.NtupleFileName='/HitAnalysis/TGC/ntuple/'
+#topSequence.ALFAHitAnalysis.NtupleFileName='/HitAnalysis/'
+#topSequence.LucidHitAnalysis.NtupleFileName='/HitAnalysis/'
+#topSequence.ZDCHitAnalysis.NtupleFileName='/HitAnalysis/'
+topSequence.TrackRecordAnalysis.NtupleFileName='/HitAnalysis/Track/ntuple/'
+topSequence.TruthHitAnalysis.NtupleFileName = '/HitAnalysis/Truth/ntuple/'
+topSequence.CaloHitAnalysis.NtupleFileName = '/HitAnalysis/Calo/ntuple/'
+topSequence.MMHitAnalysis.NtupleFileName='/HitAnalysis/MM/ntuple/'
+topSequence.sTGCHitAnalysis.NtupleFileName='/HitAnalysis/sTGC/ntuple/'
 
 #Add some more TH2 histograms
 
@@ -90,12 +90,13 @@ topSequence.SCTHitAnalysis.ExpertMode= "off"
 topSequence.BCMHitAnalysis.ExpertMode= "off"
 topSequence.BLMHitAnalysis.ExpertMode= "off"
 topSequence.CaloHitAnalysis.ExpertMode = "off"
-topSequence.CaloHitAnalysis.CalibHits = "off" 
+topSequence.CaloHitAnalysis.CalibHits = "off"
 
 from GaudiSvc.GaudiSvcConf import THistSvc
 ServiceMgr += THistSvc()
 ServiceMgr.THistSvc.Output += ["HitAnalysis DATAFILE='AllHitAnalysis.root' OPT='RECREATE'" ]
 
+
 ServiceMgr.MessageSvc.OutputLevel = INFO
 ServiceMgr.MessageSvc.defaultLimit = 9999999
 
@@ -110,5 +111,4 @@ AthenaPoolCnvSvc.UseDetailChronoStat = TRUE
 from RecExConfig.AutoConfiguration import *
 ConfigureFieldAndGeo() # Configure the settings for the geometry
 include("RecExCond/AllDet_detDescr.py") # Actually load the geometry
-#include( "TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
-
+#include("TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
diff --git a/Simulation/Tools/HitAnalysis/share/CSCHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/CSCHitAnalysis_topOptions.py
index dd817a4ea6ea792796d5315c6a1636c71619b204..0d77065a929110fbb7b9b1312f746971e07900c2 100755
--- a/Simulation/Tools/HitAnalysis/share/CSCHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/CSCHitAnalysis_topOptions.py
@@ -7,19 +7,23 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import CSCHitAnalysis
-topSequence += CSCHitAnalysis() 
+topSequence += CSCHitAnalysis()
 CSCHitAnalysis = CSCHitAnalysis()
-CSCHitAnalysis.NtupleFileName = '/CSCHitAnalysis/'
 CSCHitAnalysis.HistPath = '/CSCHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
diff --git a/Simulation/Tools/HitAnalysis/share/CaloHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/CaloHitAnalysis_topOptions.py
index d3b16e0b037577228c68ffbec3f70ce1745d4133..e8ae3d1cc6a4153237505774976c1c3062927d95 100755
--- a/Simulation/Tools/HitAnalysis/share/CaloHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/CaloHitAnalysis_topOptions.py
@@ -5,23 +5,27 @@ import AthenaPoolCnvSvc.ReadAthenaPool
 from PartPropSvc.PartPropSvcConf import PartPropSvc
 
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
-include("EventAthenaPool/EventAthenaPool_joboptions.py" )
+#include("EventAthenaPool/EventAthenaPool_joboptions.py" )
+
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
 
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import CaloHitAnalysis
-topSequence += CaloHitAnalysis()
 CaloHitAnalysis = CaloHitAnalysis()
-CaloHitAnalysis.NtupleFileName = '/CaloHitAnalysis/'
-CaloHitAnalysis.HistPath = '/CaloHitAnalysis/'
-
+topSequence += CaloHitAnalysis
+CaloHitAnalysis.HistPath = '/CaloHitAnalysis/histos/'
+CaloHitAnalysis.NtupleFileName = '/CaloHitAnalysis/ntuple/'
 #ExpertMode adds more histograms to the output. Default mode is off
 CaloHitAnalysis.ExpertMode = "off"
 #CalibHits adds Calibrated hits histograms to the output. Default mode is off
@@ -31,6 +35,7 @@ from GaudiSvc.GaudiSvcConf import THistSvc
 ServiceMgr += THistSvc()
 ServiceMgr.THistSvc.Output += ["CaloHitAnalysis DATAFILE='CaloHitAnalysis.root' OPT='RECREATE'" ]
 
+
 ServiceMgr.MessageSvc.OutputLevel = INFO
 ServiceMgr.MessageSvc.defaultLimit = 9999999
 
@@ -45,4 +50,4 @@ AthenaPoolCnvSvc.UseDetailChronoStat = TRUE
 from RecExConfig.AutoConfiguration import *
 ConfigureFieldAndGeo() # Configure the settings for the geometry
 include("RecExCond/AllDet_detDescr.py") # Actually load the geometry
-#include( "TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
+#include("TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
diff --git a/Simulation/Tools/HitAnalysis/share/HitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/HitAnalysis_topOptions.py
index ecece8910f816a82e74668a41431b8bd0c12dbc3..8bdd8445e84ed835a78863f831837759d467ea46 100755
--- a/Simulation/Tools/HitAnalysis/share/HitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/HitAnalysis_topOptions.py
@@ -1,72 +1,62 @@
 #from AthenaCommon.AppMgr import ToolSvc
-from AthenaCommon.AppMgr import ServiceMgr
-import AthenaPoolCnvSvc.ReadAthenaPool
+#from AthenaCommon.AppMgr import ServiceMgr
+#import AthenaPoolCnvSvc.ReadAthenaPool
 
 from PartPropSvc.PartPropSvcConf import PartPropSvc
 
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
-#import os
-#from glob import glob
-#from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-#athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
-#ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput()
+from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+GeoModelSvc = GeoModelSvc()
+GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
 
+import os
+from glob import glob
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
-
-
 from HitAnalysis.HitAnalysisConf import *
-topSequence += SiHitAnalysis('PixelHitAnalysis')
-topSequence.PixelHitAnalysis.CollectionName = 'PixelHits'
-topSequence.PixelHitAnalysis.HistPath = '/HitAnalysis/Pixel/'
 
+topSequence += SiHitAnalysis('PixelHitAnalysis')
+topSequence.PixelHitAnalysis.CollectionName='PixelHits'
 topSequence += SiHitAnalysis('SCTHitAnalysis')
-topSequence.SCTHitAnalysis.CollectionName = 'SCT_Hits'
-topSequence.SCTHitAnalysis.HistPath = '/HitAnalysis/SCT/'
-
+topSequence.SCTHitAnalysis.CollectionName='SCT_Hits'
 topSequence += SiHitAnalysis('BCMHitAnalysis')
-topSequence.BCMHitAnalysis.CollectionName = 'BCMHits'
-topSequence.BCMHitAnalysis.HistPath = '/HitAnalysis/BCM/'
-
+topSequence.BCMHitAnalysis.CollectionName='BCMHits'
 topSequence += SiHitAnalysis('BLMHitAnalysis')
-topSequence.BLMHitAnalysis.CollectionName = 'BLMHits'
-topSequence.BLMHitAnalysis.HistPath = '/HitAnalysis/BLM/'
-
+topSequence.BLMHitAnalysis.CollectionName='BLMHits'
 topSequence += TRTHitAnalysis('TRTHitAnalysis')
-topSequence.TRTHitAnalysis.HistPath = '/HitAnalysis/TRT/'
-
 topSequence += RPCHitAnalysis('RPCHitAnalysis')
-topSequence.RPCHitAnalysis.HistPath = '/HitAnalysis/RPC/'
-
 topSequence += MDTHitAnalysis('MDTHitAnalysis')
-topSequence.MDTHitAnalysis.HistPath = '/HitAnalysis/MDT/'
-
 topSequence += CSCHitAnalysis('CSCHitAnalysis')
-topSequence.CSCHitAnalysis.HistPath = '/HitAnalysis/CSC/'
-
 topSequence += TGCHitAnalysis('TGCHitAnalysis')
-topSequence.TGCHitAnalysis.HistPath = '/HitAnalysis/TGC/'
-
 #topSequence += ALFAHitAnalysis('ALFAHitAnalysis')
-#topSequence.ALFAHitAnalysis.HistPath = '/HitAnalysis/ALFA/'
-
 #topSequence += LucidHitAnalysis('LucidHitAnalysis')
-#topSequence.LucidHitAnalysis.HistPath = '/HitAnalysis/Lucid/'
-
 #topSequence += ZDCHitAnalysis('ZDCHitAnalysis')
-#topSequence.ZDCHitAnalysis.HistPath = '/HitAnalysis/ZDC/'
-
 topSequence += TrackRecordAnalysis('TrackRecordAnalysis')
-topSequence.TrackRecordAnalysis.HistPath = '/HitAnalysis/Track/'
-
 topSequence += TruthHitAnalysis('TruthHitAnalysis')
-topSequence.TruthHitAnalysis.HistPath = '/HitAnalysis/Truth/'
-
 topSequence += CaloHitAnalysis('CaloHitAnalysis')
-topSequence.CaloHitAnalysis.HistPath = '/HitAnalysis/Calo'           
-                                                                                                     
+topSequence += MMHitAnalysis('MMHitAnalysis')
+topSequence += sTGCHitAnalysis('sTGCHitAnalysis')
+
+
+topSequence.PixelHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.SCTHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.BCMHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.BLMHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.TRTHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.RPCHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.MDTHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.CSCHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.TGCHitAnalysis.HistPath='/HitAnalysis/'
+#topSequence.ALFAHitAnalysis.HistPath='/HitAnalysis/'
+#topSequence.LucidHitAnalysis.HistPath='/HitAnalysis/'
+#topSequence.ZDCHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.TrackRecordAnalysis.HistPath='/HitAnalysis/'
+topSequence.TruthHitAnalysis.HistPath = '/HitAnalysis/'
+topSequence.CaloHitAnalysis.HistPath = '/HitAnalysis/'
+topSequence.MMHitAnalysis.HistPath='/HitAnalysis/'
+topSequence.sTGCHitAnalysis.HistPath='/HitAnalysis/'
 #Add some more TH2 histograms
 
 
@@ -75,7 +65,11 @@ topSequence.SCTHitAnalysis.ExpertMode= "off"
 topSequence.BCMHitAnalysis.ExpertMode= "off"
 topSequence.BLMHitAnalysis.ExpertMode= "off"
 topSequence.CaloHitAnalysis.ExpertMode = "off"
-topSequence.CaloHitAnalysis.CalibHits = "off" 
+topSequence.CaloHitAnalysis.CalibHits = "off"
+
+#from GaudiSvc.GaudiSvcConf import THistSvc
+#ServiceMgr += THistSvc()
+#ServiceMgr.THistSvc.Output += ["CaloHitAnalysis DATAFILE='CaloHitAnalysis_v2.root' OPT='RECREATE'" ]
 
 
 ServiceMgr.MessageSvc.OutputLevel = INFO
@@ -92,4 +86,4 @@ AthenaPoolCnvSvc.UseDetailChronoStat = TRUE
 from RecExConfig.AutoConfiguration import *
 ConfigureFieldAndGeo() # Configure the settings for the geometry
 include("RecExCond/AllDet_detDescr.py") # Actually load the geometry
-#include( "TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
+#include("TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
diff --git a/Simulation/Tools/HitAnalysis/share/LucidHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/LucidHitAnalysis_topOptions.py
index 0255deadc37b0653458fecd968f2b08a6be9427c..d9203d2ee4701a2422efdcdef4d046e2b3b11472 100755
--- a/Simulation/Tools/HitAnalysis/share/LucidHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/LucidHitAnalysis_topOptions.py
@@ -7,19 +7,23 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import LucidHitAnalysis
-topSequence += LucidHitAnalysis() 
+topSequence += LucidHitAnalysis()
 LucidHitAnalysis = LucidHitAnalysis()
-LucidHitAnalysis.NtupleFileName = '/LucidHitAnalysis/'
 LucidHitAnalysis.HistPath = '/LucidHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
diff --git a/Simulation/Tools/HitAnalysis/share/MDTHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/MDTHitAnalysis_topOptions.py
index f29cb9b63d5d4867acf9e183c38e3ddcc776e38a..14ded9513575f1dab78096dee7a31b5547947127 100755
--- a/Simulation/Tools/HitAnalysis/share/MDTHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/MDTHitAnalysis_topOptions.py
@@ -7,20 +7,24 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import MDTHitAnalysis
-topSequence += MDTHitAnalysis() 
+topSequence += MDTHitAnalysis()
 MDTHitAnalysis = MDTHitAnalysis()
-MDTHitAnalysis.NtupleFileName = '/MDTHitAnalysis/'
-MDTHitAnalysis.HistPath = '/MDTHitAnalysis/'
+MDTHitAnalysis.NtupleFileName = 'MDTHitAnalysis'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
 ServiceMgr += THistSvc()
diff --git a/Simulation/Tools/HitAnalysis/share/MuonHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/MuonHitAnalysis_topOptions.py
index cc465ff0c4626c926e4070f85fb41c067b0b7a56..2bcac8140ca9b420c367f2e516c2b740c41ebea6 100755
--- a/Simulation/Tools/HitAnalysis/share/MuonHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/MuonHitAnalysis_topOptions.py
@@ -7,36 +7,32 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
-
 from HitAnalysis.HitAnalysisConf import RPCHitAnalysis
 topSequence += RPCHitAnalysis('RPCHitAnalysis')
-topSequence.RPCHitAnalysis.NtupleFileName = '/MuonHitAnalysis/RPC/'
-topSequence.RPCHitAnalysis.HistPath = '/MuonHitAnalysis/RPC/'
-
+topSequence.RPCHitAnalysis.HistPath = '/MuonHitAnalysis/'
 from HitAnalysis.HitAnalysisConf import MDTHitAnalysis
 topSequence += MDTHitAnalysis('MDTHitAnalysis')
-topSequence.MDTHitAnalysis.NtupleFileName = '/MuonHitAnalysis/MDT/'
-topSequence.MDTHitAnalysis.HistPath = '/MuonHitAnalysis/MDT/'
-
+topSequence.MDTHitAnalysis.HistPath = '/MuonHitAnalysis/'
 from HitAnalysis.HitAnalysisConf import CSCHitAnalysis
 topSequence += CSCHitAnalysis('CSCHitAnalysis')
-topSequence.CSCHitAnalysis.NtupleFileName = '/MuonHitAnalysis/CSC/'
-topSequence.CSCHitAnalysis.HistPath = '/MuonHitAnalysis/CSC/'
-
+topSequence.CSCHitAnalysis.HistPath = '/MuonHitAnalysis/'
 from HitAnalysis.HitAnalysisConf import TGCHitAnalysis
 topSequence += TGCHitAnalysis('TGCHitAnalysis')
-topSequence.TGCHitAnalysis.NtupleFileName = '/MuonHitAnalysis/TGC/'
-topSequence.TGCHitAnalysis.HistPath = '/MuonHitAnalysis/TGC/'
-
+topSequence.TGCHitAnalysis.HistPath = '/MuonHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
 ServiceMgr += THistSvc()
diff --git a/Simulation/Tools/HitAnalysis/share/RPCHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/RPCHitAnalysis_topOptions.py
index 3f5d19055403fc052bca9352ac94f1bda6202446..936a30ace4a25ca78a196ac24e4a362bb4732b42 100755
--- a/Simulation/Tools/HitAnalysis/share/RPCHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/RPCHitAnalysis_topOptions.py
@@ -7,20 +7,24 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import RPCHitAnalysis
-topSequence += RPCHitAnalysis() 
+topSequence += RPCHitAnalysis()
 RPCHitAnalysis = RPCHitAnalysis()
-RPCHitAnalysis.NtupleFileName = '/RPCHitAnalysis/'
-RPCHitAnalysis.HistPath = '/RPCHitAnalysis/'
+RPCHitAnalysis.NtupleFileName = 'RPCHitAnalysis'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
 ServiceMgr += THistSvc()
diff --git a/Simulation/Tools/HitAnalysis/share/SiHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/SiHitAnalysis_topOptions.py
index 0d71eb7c54700a66f9160c5734f171fb04fe3417..998e5b0274ae8ed73f8e512ff1bd6d9dcc568625 100755
--- a/Simulation/Tools/HitAnalysis/share/SiHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/SiHitAnalysis_topOptions.py
@@ -7,36 +7,39 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
-
 from HitAnalysis.HitAnalysisConf import SiHitAnalysis
-topSequence += SiHitAnalysis('PixelHitAnalysis') 
+topSequence += SiHitAnalysis('PixelHitAnalysis')
 topSequence.PixelHitAnalysis.CollectionName='PixelHits'
-topSequence.PixelHitAnalysis.NtupleFileName='/SiHitAnalysis/'
-topSequence.PixelHitAnalysis.HistPath='/SiHitAnalysis/'
-
 topSequence += SiHitAnalysis('SCTHitAnalysis')
 topSequence.SCTHitAnalysis.CollectionName='SCT_Hits'
-topSequence.SCTHitAnalysis.NtupleFileName='/SiHitAnalysis/'
-topSequence.SCTHitAnalysis.HistPath='/SiHitAnalysis/'
-
 topSequence += SiHitAnalysis('BCMHitAnalysis')
 topSequence.BCMHitAnalysis.CollectionName='BCMHits'
-topSequence.BCMHitAnalysis.NtupleFileName='/SiHitAnalysis/'
-topSequence.BCMHitAnalysis.HistPath='/SiHitAnalysis/'
-
 topSequence += SiHitAnalysis('BLMHitAnalysis')
 topSequence.BLMHitAnalysis.CollectionName='BLMHits'
-topSequence.BLMHitAnalysis.NtupleFileName='/SiHitAnalysis/'
-topSequence.BLMHitAnalysis.HistPath='/SiHitAnalysis/'
+
+topSequence.PixelHitAnalysis.HistPath='/SiHitAnalysis/histos/'
+topSequence.SCTHitAnalysis.HistPath='/SiHitAnalysis/histos/'
+topSequence.BCMHitAnalysis.HistPath='/SiHitAnalysis/histos/'
+topSequence.BLMHitAnalysis.HistPath='/SiHitAnalysis/histos/'
+
+topSequence.PixelHitAnalysis.NtupleFileName='/SiHitAnalysis/ntuples/'
+topSequence.SCTHitAnalysis.NtupleFileName='/SiHitAnalysis/ntuples/'
+topSequence.BCMHitAnalysis.NtupleFileName='/SiHitAnalysis/ntuples/'
+topSequence.BLMHitAnalysis.NtupleFileName='/SiHitAnalysis/ntuples/'
 
 
 #Add some more TH2 histograms
@@ -63,4 +66,4 @@ AthenaPoolCnvSvc.UseDetailChronoStat = TRUE
 from RecExConfig.AutoConfiguration import *
 ConfigureFieldAndGeo() # Configure the settings for the geometry
 include("RecExCond/AllDet_detDescr.py") # Actually load the geometry
-#include( "TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
+#include("TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
diff --git a/Simulation/Tools/HitAnalysis/share/TGCHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/TGCHitAnalysis_topOptions.py
index d5a7d70e879aa346d5533c752ec482c8bebab97c..a180fc146bd1c5d0c8079455aa615aa4b82c1717 100755
--- a/Simulation/Tools/HitAnalysis/share/TGCHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/TGCHitAnalysis_topOptions.py
@@ -7,19 +7,23 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import TGCHitAnalysis
-topSequence += TGCHitAnalysis() 
+topSequence += TGCHitAnalysis()
 TGCHitAnalysis = TGCHitAnalysis()
-TGCHitAnalysis.NtupleFileName = '/TGCHitAnalysis/'
 TGCHitAnalysis.HistPath = '/TGCHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
diff --git a/Simulation/Tools/HitAnalysis/share/TRTHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/TRTHitAnalysis_topOptions.py
index 157d3fc1c48251276050ed7b39cf256ee1d231f3..333514924f1e8e092b7e3b731fb1565b4389f1c3 100755
--- a/Simulation/Tools/HitAnalysis/share/TRTHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/TRTHitAnalysis_topOptions.py
@@ -7,19 +7,23 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import TRTHitAnalysis
-topSequence += TRTHitAnalysis() 
+topSequence += TRTHitAnalysis()
 TRTHitAnalysis = TRTHitAnalysis()
-TRTHitAnalysis.NtupleFileName = '/TRTHitAnalysis/'
 TRTHitAnalysis.HistPath = '/TRTHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
@@ -40,4 +44,4 @@ AthenaPoolCnvSvc.UseDetailChronoStat = TRUE
 from RecExConfig.AutoConfiguration import *
 ConfigureFieldAndGeo() # Configure the settings for the geometry
 include("RecExCond/AllDet_detDescr.py") # Actually load the geometry
-#include( "TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
+#include("TrkDetDescrSvc/AtlasTrackingGeometrySvc.py" ) # Tracking geometry, handy for ID work
diff --git a/Simulation/Tools/HitAnalysis/share/TrackRecordAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/TrackRecordAnalysis_topOptions.py
index d4deea7d5d31c393b0a9ec7c2f862bb5e0e8115d..10fd75347cc7e7519ef2c0ddc5446567688b3961 100755
--- a/Simulation/Tools/HitAnalysis/share/TrackRecordAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/TrackRecordAnalysis_topOptions.py
@@ -7,31 +7,31 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*.root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
-
 from HitAnalysis.HitAnalysisConf import TrackRecordAnalysis
-topSequence += TrackRecordAnalysis('TrackRecordCaloEntry') 
-topSequence.TrackRecordCaloEntry.CollectionName = 'CaloEntryLayer'
-topSequence.TrackRecordCaloEntry.NtupleFileName = '/TrackRecordAnalysis/'
-topSequence.TrackRecordCaloEntry.HistPath = '/TrackRecordAnalysis/'
-
-topSequence += TrackRecordAnalysis('TrackRecordMuonEntry') 
-topSequence.TrackRecordMuonEntry.CollectionName = 'MuonEntryLayer'
-topSequence.TrackRecordMuonEntry.NtupleFileName = '/TrackRecordAnalysis/'
-topSequence.TrackRecordMuonEntry.HistPath = '/TrackRecordAnalysis/'
-
-topSequence += TrackRecordAnalysis('TrackRecordMuonExit') 
-topSequence.TrackRecordMuonExit.CollectionName = 'MuonExitLayer'
-topSequence.TrackRecordMuonExit.NtupleFileName = '/TrackRecordAnalysis/'
-topSequence.TrackRecordMuonExit.HistPath = '/TrackRecordAnalysis/'
+topSequence += TrackRecordAnalysis('TrackRecordCaloEntry')
+topSequence.TrackRecordCaloEntry.CollectionName='CaloEntryLayer'
+topSequence.TrackRecordCaloEntry.HistPath='/TrackRecordAnalysis/'
+topSequence += TrackRecordAnalysis('TrackRecordMuonEntry')
+topSequence.TrackRecordMuonEntry.CollectionName='MuonEntryLayer'
+topSequence.TrackRecordMuonEntry.HistPath='/TrackRecordAnalysis/'
+topSequence += TrackRecordAnalysis('TrackRecordMuonExit')
+topSequence.TrackRecordMuonExit.CollectionName='MuonExitLayer'
+topSequence.TrackRecordMuonExit.HistPath='/TrackRecordAnalysis/'
+
 
 
 from GaudiSvc.GaudiSvcConf import THistSvc
diff --git a/Simulation/Tools/HitAnalysis/share/TruthHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/TruthHitAnalysis_topOptions.py
index 3299fb3dc509a2bea610cb1086efa076bee6205b..2a177cb68f1e35844be4e1c181e762aacac8fac4 100755
--- a/Simulation/Tools/HitAnalysis/share/TruthHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/TruthHitAnalysis_topOptions.py
@@ -7,19 +7,23 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" + "HITS*root*" )
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import TruthHitAnalysis
-topSequence += TruthHitAnalysis() 
+topSequence += TruthHitAnalysis()
 TruthHitAnalysis = TruthHitAnalysis()
-TruthHitAnalysis.NtupleFileName = '/TruthHitAnalysis/'
 TruthHitAnalysis.HistPath = '/TruthHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
diff --git a/Simulation/Tools/HitAnalysis/share/ZDCHitAnalysis_topOptions.py b/Simulation/Tools/HitAnalysis/share/ZDCHitAnalysis_topOptions.py
index 02da3c262fb44fcfc5f82b657ce623b71bdf074b..a0199baa5874cf83425f95c446dbc9718029946d 100755
--- a/Simulation/Tools/HitAnalysis/share/ZDCHitAnalysis_topOptions.py
+++ b/Simulation/Tools/HitAnalysis/share/ZDCHitAnalysis_topOptions.py
@@ -7,19 +7,23 @@ from PartPropSvc.PartPropSvcConf import PartPropSvc
 include("ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
 include("EventAthenaPool/EventAthenaPool_joboptions.py" )
 
+#Use these lines if the NSW is included in the simulation
+#from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+#GeoModelSvc = GeoModelSvc()
+#GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+
 import os
 from glob import glob
 from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-athenaCommonFlags.FilesInput = glob( "/tmp/" + os.environ['USER'] + "/" +"HITS*root*" ) 
+athenaCommonFlags.FilesInput = glob( "/tmp/"+os.environ['USER']+"/"+"HITS*root*" )
 ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from HitAnalysis.HitAnalysisConf import ZDCHitAnalysis
-topSequence += ZDCHitAnalysis() 
+topSequence += ZDCHitAnalysis()
 ZDCHitAnalysis = ZDCHitAnalysis()
-ZDCHitAnalysis.NtupleFileName = '/ZDCHitAnalysis/'
 ZDCHitAnalysis.HistPath = '/ZDCHitAnalysis/'
 
 from GaudiSvc.GaudiSvcConf import THistSvc
diff --git a/Simulation/Tools/HitAnalysis/src/MMHitAnalysis.cxx b/Simulation/Tools/HitAnalysis/src/MMHitAnalysis.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..b97939056d5cb18a3faf5ab799141c94408856cb
--- /dev/null
+++ b/Simulation/Tools/HitAnalysis/src/MMHitAnalysis.cxx
@@ -0,0 +1,427 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "MMHitAnalysis.h"
+
+
+/*Includes specific to Micromegas*/
+#include "GeoAdaptors/GeoMuonHits.h"
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/MMReadoutElement.h"
+#include "MuonIdHelpers/MmIdHelper.h"
+#include "MuonSimEvent/MicromegasHitIdHelper.h"
+#include "MuonSimEvent/GenericMuonSimHitCollection.h"
+#include "MuonSimEvent/GenericMuonSimHit.h"
+#include "CLHEP/Vector/LorentzVector.h"
+
+#include "TH1.h"
+#include "TTree.h"
+#include "TString.h"
+
+#include <algorithm>
+#include <math.h>
+#include <functional>
+#include <iostream>
+#include <stdio.h>
+
+using namespace std;
+
+MMHitAnalysis::MMHitAnalysis(const std::string& name, ISvcLocator* pSvcLocator)
+  : AthAlgorithm(name, pSvcLocator)
+  , h_S1_xy_A(0)
+  , h_S1_rz_A(0)
+  , h_S1_r_A(0)
+  , h_S1_xy_C(0)
+  , h_S1_rz_C(0)
+  , h_S1_r_C(0)
+  , h_S2_xy_A(0)
+  , h_S2_rz_A(0)
+  , h_S2_r_A(0)
+  , h_S2_xy_C(0)
+  , h_S2_rz_C(0)
+  , h_S2_r_C(0)
+  , h_S_xy_A(0)
+  , h_S_xy_C(0)
+  , h_S_rz_A(0)
+  , h_S_rz_C(0)
+  , h_xy_A(0)
+  , h_xy_C(0)
+  , h_rz_A(0)
+  , h_rz_C(0)
+  , h_L1_xy_A(0)
+  , h_L1_rz_A(0)
+  , h_L1_r_A(0)
+  , h_L1_xy_C(0)
+  , h_L1_rz_C(0)
+  , h_L1_r_C(0)
+  , h_L2_xy_A(0)
+  , h_L2_rz_A(0)
+  , h_L2_r_A(0)
+  , h_L2_xy_C(0)
+  , h_L2_rz_C(0)
+  , h_L2_r_C(0)
+  , h_L_xy_A(0)
+  , h_L_xy_C(0)
+  , h_L_rz_A(0)
+  , h_L_rz_C(0)  
+  , m_hits_x(0)
+  , m_ntupleFileName("MMHitAnalysis/ntuple/")
+  , m_path("/MMHitAnalysis/histos/")
+  , m_thistSvc("THistSvc", name)
+{
+  declareProperty("NtupleFileName", m_ntupleFileName); 
+  declareProperty("HistPath", m_path);
+
+}
+
+StatusCode MMHitAnalysis::initialize() {
+  ATH_MSG_DEBUG( "Initializing MMHitAnalysis" );
+
+// Grab the Ntuple and histogramming service for the tree                                                                                                                        
+  CHECK(m_thistSvc.retrieve());
+
+
+/** Histograms */
+
+/*-----------------------------------Small sector Wedge 1 histos begin--------------------------------------*/
+  h_S1_xy_A = new TH2D("h_mm_S1_xy_A","S1_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S1_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S1_xy_A->GetName(), h_S1_xy_A));
+
+  h_S1_rz_A = new TH2D("h_mm_S1_rz_A","S1_rz_A", 1000,7000., 8000., 5000, 0., 5000.);
+  h_S1_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S1_rz_A->GetName(), h_S1_rz_A));
+
+  h_S1_r_A = new TH1D("h_mm_S1_r_A","S1_r_A", 1000,0., 14000.);
+  h_S1_r_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S1_r_A->GetName(), h_S1_r_A));
+
+  h_S1_xy_C = new TH2D("h_mm_S1_xy_C","S1_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S1_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S1_xy_C->GetName(), h_S1_xy_C));
+
+  h_S1_rz_C = new TH2D("h_mm_S1_rz_C","S1_rz_C", 1000,-8000., -7000., 5000, 0., 5000.);
+  h_S1_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S1_rz_C->GetName(), h_S1_rz_C));
+
+  h_S1_r_C = new TH1D("h_mm_S1_r_C","S1_r_C", 1000,0., 14000.);
+  h_S1_r_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S1_r_C->GetName(), h_S1_r_C));
+  /*-----------------------------------Small sector Wedge 1 histos end--------------------------------------*/
+
+  /*-----------------------------------Small sector Wedge 2 histos begin--------------------------------------*/
+  h_S2_xy_A = new TH2D("h_mm_S2_xy_A","S2_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S2_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S2_xy_A->GetName(), h_S2_xy_A));
+
+  h_S2_rz_A = new TH2D("h_mm_S2_rz_A","S2_rz_A", 1000,7000., 8000., 5000, 0., 5000.);
+  h_S2_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S2_rz_A->GetName(), h_S2_rz_A));
+
+  h_S2_r_A = new TH1D("h_mm_S2_r_A","S2_r_A", 1000,0., 14000.);
+  h_S2_r_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S2_r_A->GetName(), h_S2_r_A));
+
+  h_S2_xy_C = new TH2D("h_mm_S2_xy_C","S2_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S2_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S2_xy_C->GetName(), h_S2_xy_C));
+
+  h_S2_rz_C = new TH2D("h_mm_S2_rz_C","S2_rz_C", 1000,-8000., -7000., 5000, 0., 5000.);
+  h_S2_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S2_rz_C->GetName(), h_S2_rz_C));
+
+  h_S2_r_C = new TH1D("h_mm_S2_r_C","S2_r_C", 1000,0., 14000.);
+  h_S2_r_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S2_r_C->GetName(), h_S2_r_C));
+/*---------------------------------Small sector Wedge 2 histos end--------------------------------------*/
+  
+/*-----------------------------------Small sector both Wedges histos begin--------------------------------------*/
+  h_S_xy_A = new TH2D("h_mm_S_xy_A","S_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_xy_A->GetName(), h_S_xy_A));
+
+  h_S_xy_C = new TH2D("h_mm_S_xy_C","S_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_xy_C->GetName(), h_S_xy_C));
+
+  h_S_rz_A = new TH2D("h_mm_S_rz_A","S_rz_A", 1000,7000., 8000., 5000, 0., 5000.);
+  h_S_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_rz_A->GetName(), h_S_rz_A));
+
+  h_S_rz_C = new TH2D("h_mm_S_rz_C","S_rz_C", 1000,-8000., -7000., 5000, 0., 5000.);
+  h_S_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_rz_C->GetName(), h_S_rz_C));
+  /*---------------------------------Small sector both Wedges histos end--------------------------------------*/
+
+  /*-----------------------------------All sector histos begin--------------------------------------*/
+  h_xy_A = new TH2D("h_mm_xy_A","xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_xy_A->GetName(), h_xy_A));
+
+  h_xy_C = new TH2D("h_mm_xy_C","xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_xy_C->GetName(), h_xy_C));
+
+  h_rz_A = new TH2D("h_mm_rz_A","rz_A", 1000,7000., 8000., 5000, 0., 5000.);
+  h_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_rz_A->GetName(), h_rz_A));
+
+  h_rz_C = new TH2D("h_mm_rz_C","rz_C", 1000,-8000., -7000., 5000, 0., 5000.);
+  h_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_rz_C->GetName(), h_rz_C));
+  /*---------------------------------All sector histos end-------------------------------------------*/
+
+  /*-----------------------------------Large sector Wedge 1 histos begin--------------------------------------*/
+  h_L1_xy_A = new TH2D("h_mm_L1_xy_A","L1_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L1_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L1_xy_A->GetName(), h_L1_xy_A));
+
+  h_L1_rz_A = new TH2D("h_mm_L1_rz_A","L1_rz_A", 1000,7000., 8000., 5000, 0., 5000.);
+  h_L1_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L1_rz_A->GetName(), h_L1_rz_A));
+
+  h_L1_r_A = new TH1D("h_mm_L1_r_A","L1_r_A", 1000,0., 14000.);
+  h_L1_r_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L1_r_A->GetName(), h_L1_r_A));
+
+  h_L1_xy_C = new TH2D("h_mm_L1_xy_C","L1_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L1_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L1_xy_C->GetName(), h_L1_xy_C));
+
+  h_L1_rz_C = new TH2D("h_mm_L1_rz_C","L1_rz_C", 1000,-8000., -7000., 5000, 0., 5000.);
+  h_L1_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L1_rz_C->GetName(), h_L1_rz_C));
+
+  h_L1_r_C = new TH1D("h_mm_L1_r_C","L1_r_C", 1000,0., 14000.);
+  h_L1_r_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L1_r_C->GetName(), h_L1_r_C));
+  /*-----------------------------------Large sector Wedge 1 histos end--------------------------------------*/
+
+  /*-----------------------------------Large sector Wedge 2 histos begin--------------------------------------*/
+  h_L2_xy_A = new TH2D("h_mm_L2_xy_A","L2_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L2_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L2_xy_A->GetName(), h_L2_xy_A));
+
+  h_L2_rz_A = new TH2D("h_mm_L2_rz_A","L2_rz_A", 1000,7000., 8000., 5000, 0., 5000.);
+  h_L2_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L2_rz_A->GetName(), h_L2_rz_A));
+
+  h_L2_r_A = new TH1D("h_mm_L2_r_A","L2_r_A", 1000,0., 14000.);
+  h_L2_r_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L2_r_A->GetName(), h_L2_r_A));
+
+  h_L2_xy_C = new TH2D("h_mm_L2_xy_C","L2_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L2_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L2_xy_C->GetName(), h_L2_xy_C));
+
+  h_L2_rz_C = new TH2D("h_mm_L2_rz_C","L2_rz_C", 1000,-8000., -7000., 5000, 0., 5000.);
+  h_L2_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L2_rz_C->GetName(), h_L2_rz_C));
+
+  h_L2_r_C = new TH1D("h_mm_L2_r_C","L2_r_C", 1000,0., 14000.);
+  h_L2_r_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L2_r_C->GetName(), h_L2_r_C));
+  /*-----------------------------------Large sector Wedge 1 histos end--------------------------------------*/
+
+  /*-----------------------------------Large sector both Wedge histos begin--------------------------------------*/
+  h_L_xy_A = new TH2D("h_mm_L_xy_A","L_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_xy_A->GetName(), h_L_xy_A));
+
+  h_L_rz_A = new TH2D("h_mm_L_rz_A","L_rz_A", 1000,7000., 8000., 5000, 0., 5000.);
+  h_L_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_rz_A->GetName(), h_L_rz_A));
+
+  h_L_xy_C = new TH2D("h_mm_L_xy_C","L_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_xy_C->GetName(), h_L_xy_C));
+
+  h_L_rz_C = new TH2D("h_mm_L_rz_C","L_rz_C", 1000,-8000., -7000., 5000, 0., 5000.);
+  h_L_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_rz_C->GetName(), h_L_rz_C));
+  /*-----------------------------------Large sector both Wedge histos end--------------------------------------*/
+
+  m_tree= new TTree("NtupleMMHitAnalysis","MMHitAna");
+  std::string fullNtupleName =  "/"+m_ntupleFileName+"/";
+  CHECK(m_thistSvc->regTree(fullNtupleName,m_tree));
+
+
+  /** now add branches and leaves to the tree */
+
+  if (m_tree){
+    m_tree->Branch("x", &m_hits_x);
+  }
+  else{
+    ATH_MSG_ERROR("No tree found!");
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode MMHitAnalysis::execute() {
+  ATH_MSG_DEBUG( "In MMHitAnalysis::execute()" );
+
+  m_hits_x->clear();
+
+  const DataHandle<GenericMuonSimHitCollection> p_collection;;
+  if ((evtStore()->retrieve(p_collection,"MicromegasSensitiveDetector"))==StatusCode::SUCCESS) {
+    for (GenericMuonSimHitCollection::const_iterator i_hit = p_collection->begin(); i_hit != p_collection->end(); ++i_hit){
+      
+      Amg::Vector3D p = (*i_hit).globalPosition();
+      //Get station names and make plots for each sector
+      MicromegasHitIdHelper* hitHelper = MicromegasHitIdHelper::GetHelper(); 
+      int simId = (*i_hit).GenericId();
+      std::string sim_stationName = hitHelper->GetStationName(simId);
+      int sim_side = hitHelper->GetSide(simId);
+      //Declare station name strings
+      static std::string s_m1s1("M1S1");
+      static std::string s_m2s1("M2S1");
+      static std::string s_m1s2("M1S2");
+      static std::string s_m2s2("M2S2");
+      static std::string s_m1l1("M1L1");
+      static std::string s_m2l1("M2L1");
+      static std::string s_m1l2("M1L2");
+      static std::string s_m2l2("M2L2");
+
+      //Small sectors
+      /*-------------------------Wedge 1 Fill histos begin-------------------------*/
+      //M1S1 (Note: M1->Module 1, S1->Small sector wedge 1)
+
+      //Small sectors at +ve Z (A-Side)
+      if ((sim_stationName==s_m1s1 || sim_stationName==s_m2s1) && sim_side==1){
+	double r_S1_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r 
+	h_S1_xy_A->Fill(p.x(),p.y());
+	h_S1_rz_A->Fill(p.z(), r_S1_A);
+	h_S1_r_A->Fill(r_S1_A);
+      }
+
+      //Small sectors at -ve Z (C-Side)                     
+      if ((sim_stationName==s_m1s1 || sim_stationName==s_m2s1) && sim_side==-1){
+	double r_S1_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r 
+        h_S1_xy_C->Fill(p.x(),p.y());
+        h_S1_rz_C->Fill(p.z(), r_S1_C);
+        h_S1_r_C->Fill(r_S1_C);
+      }
+
+      /*------------------------Wedge 1 Fill histos end---------------------------*/
+
+      /*------------------------- Wedge 2 Fill histos begin-------------------------*/
+      //Small sectors at +ve Z (A-Side)      
+      if ((sim_stationName==s_m1s2 || sim_stationName==s_m2s2) && sim_side==1){
+	double r_S2_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_S2_xy_A->Fill(p.x(),p.y());
+        h_S2_rz_A->Fill(p.z(), r_S2_A);
+        h_S2_r_A->Fill(r_S2_A);
+      }
+
+      //Small sectors at -ve Z (C-Side) 
+      if ((sim_stationName==s_m1s2 || sim_stationName==s_m2s2) && sim_side==-1){
+        double r_S2_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_S2_xy_C->Fill(p.x(),p.y());
+        h_S2_rz_C->Fill(p.z(), r_S2_C);
+        h_S2_r_C->Fill(r_S2_C);
+      }
+
+      /*------------------------Wedge 2 Fill histos end---------------------------*/
+
+      /*------------------------- Small sectors both wedges Fill histos begin-------------------------*/
+      //Small sectors at +ve Z (A-Side)
+      if ((sim_stationName==s_m1s2 || sim_stationName==s_m2s2 || sim_stationName==s_m1s1 || sim_stationName==s_m2s1) && sim_side==1){
+        double r_S_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r                                                                                                                
+        h_S_xy_A->Fill(p.x(),p.y());
+        h_S_rz_A->Fill(p.z(), r_S_A);
+      }
+
+      //Small sectors at -ve Z (C-Side)
+      if ((sim_stationName==s_m1s2 || sim_stationName==s_m2s2 || sim_stationName==s_m1s1 || sim_stationName==s_m2s1) && sim_side==-1){
+        double r_S_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r                                                                                                                
+        h_S_xy_C->Fill(p.x(),p.y());
+        h_S_rz_C->Fill(p.z(), r_S_C);
+      }
+      /*------------------------Small sectors both wedges Fill histos end---------------------------*/
+
+      //All sectors
+      /*-------------------------All sectors Fill histos begin-------------------------*/
+      //Sectors at +ve Z (A-Side)
+      if (sim_side==1){
+        double r_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r                                                                                                                
+        h_xy_A->Fill(p.x(),p.y());
+        h_rz_A->Fill(p.z(), r_A);
+      }
+
+      //Sectors at -ve Z (C-Side)
+      if (sim_side==-1){
+        double r_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r                                                                                                                
+        h_xy_C->Fill(p.x(),p.y());
+        h_rz_C->Fill(p.z(), r_C);
+      }
+      /*------------------------All sectors Fill histos end---------------------------*/
+
+      //Large sectors
+      /*-------------------------Wedge 1 Fill histos begin-------------------------*/
+      //M1L1 (Note: M1->Module 1, L1->Large sector wedge 1)
+
+      //Large sectors at +ve Z (A-Side)
+      if ((sim_stationName==s_m1l1 || sim_stationName==s_m2l1) && sim_side==1){
+        double r_L1_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_L1_xy_A->Fill(p.x(),p.y());
+        h_L1_rz_A->Fill(p.z(), r_L1_A);
+        h_L1_r_A->Fill(r_L1_A);
+      }
+
+      //Large sectors at -ve Z (C-Side)
+      if ((sim_stationName==s_m1l1 || sim_stationName==s_m2l1) && sim_side==-1){
+        double r_L1_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_L1_xy_C->Fill(p.x(),p.y());
+        h_L1_rz_C->Fill(p.z(), r_L1_C);
+        h_L1_r_C->Fill(r_L1_C);
+      }
+
+      /*------------------------Wedge 1 Fill histos end---------------------------*/
+
+      /*-------------------------Wedge 2 Fill histos begin-------------------------*/
+      //M1L1 (Note: M1->Module 1, L1->Large sector wedge 1)
+
+      //Large sectors at +ve Z (A-Side) 
+      if ((sim_stationName==s_m1l2 || sim_stationName==s_m2l2) && sim_side==1){
+        double r_L2_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_L2_xy_A->Fill(p.x(),p.y());
+        h_L2_rz_A->Fill(p.z(), r_L2_A);
+        h_L2_r_A->Fill(r_L2_A);
+      }
+
+      //Large sectors at -ve Z (C-Side)
+      if ((sim_stationName==s_m1l2 || sim_stationName==s_m2l2) && sim_side==-1){
+        double r_L2_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_L2_xy_C->Fill(p.x(),p.y());
+        h_L2_rz_C->Fill(p.z(), r_L2_C);
+        h_L2_r_C->Fill(r_L2_C);
+      }
+
+      /*------------------------Wedge 2 Fill histos end---------------------------*/
+
+      /*------------------------- Large sectors both wedges Fill histos begin-------------------------*/
+      //Large sectors at +ve Z (A-Side)
+      if ((sim_stationName==s_m1l2 || sim_stationName==s_m2l2 || sim_stationName==s_m1l1 || sim_stationName==s_m2l1) && sim_side==1){
+        double r_L_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r                                                                                                                
+        h_L_xy_A->Fill(p.x(),p.y());
+        h_L_rz_A->Fill(p.z(), r_L_A);
+      }
+
+      //Large sectors at -ve Z (C-Side)
+      if ((sim_stationName==s_m1l2 || sim_stationName==s_m2l2 || sim_stationName==s_m1l1 || sim_stationName==s_m2l1) && sim_side==-1){
+        double r_L_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r                                                                                                                
+        h_L_xy_C->Fill(p.x(),p.y());
+        h_L_rz_C->Fill(p.z(), r_L_C);
+      }
+      /*------------------------Large sectors both wedges Fill histos end---------------------------*/
+
+      m_hits_x->push_back(p.x());
+    }
+  } // End while hits
+
+  if (m_tree) m_tree->Fill();
+
+  return StatusCode::SUCCESS;
+}
diff --git a/Simulation/Tools/HitAnalysis/src/MMHitAnalysis.h b/Simulation/Tools/HitAnalysis/src/MMHitAnalysis.h
new file mode 100755
index 0000000000000000000000000000000000000000..fddbb787bd6201e24c1db40ea7c3d332b1576b12
--- /dev/null
+++ b/Simulation/Tools/HitAnalysis/src/MMHitAnalysis.h
@@ -0,0 +1,88 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MM_HIT_ANALYSIS_H
+#define MM_HIT_ANALYSIS_H
+
+#include "AthenaBaseComps/AthAlgorithm.h"
+
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/ITHistSvc.h"
+
+#include <string>
+#include <vector>
+#include "TH1.h"
+#include "TH2.h"
+#include "TTree.h"
+
+
+
+class TH1;
+class TH2;
+class TTree;
+
+class MMHitAnalysis : public AthAlgorithm {
+
+ public:
+
+  MMHitAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
+  ~MMHitAnalysis(){}
+
+  virtual StatusCode initialize();
+  virtual StatusCode execute();
+
+ private:
+
+  /** Some variables**/
+  TH2 *h_S1_xy_A;
+  TH2 *h_S1_rz_A;
+  TH1 *h_S1_r_A;
+  TH2 *h_S1_xy_C;
+  TH2 *h_S1_rz_C;
+  TH1 *h_S1_r_C;
+  TH2 *h_S2_xy_A;
+  TH2 *h_S2_rz_A;
+  TH1 *h_S2_r_A;
+  TH2 *h_S2_xy_C;
+  TH2 *h_S2_rz_C;
+  TH1 *h_S2_r_C;
+  TH2 *h_S_xy_A;
+  TH2 *h_S_xy_C;
+  TH2 *h_S_rz_A;
+  TH2 *h_S_rz_C;
+
+  TH2 *h_xy_A;
+  TH2 *h_xy_C;
+  TH2 *h_rz_A;
+  TH2 *h_rz_C;
+
+  TH2 *h_L1_xy_A;
+  TH2 *h_L1_rz_A;
+  TH1 *h_L1_r_A;
+  TH2 *h_L1_xy_C;
+  TH2 *h_L1_rz_C;
+  TH1 *h_L1_r_C;
+  TH2 *h_L2_xy_A;
+  TH2 *h_L2_rz_A;
+  TH1 *h_L2_r_A;
+  TH2 *h_L2_xy_C;
+  TH2 *h_L2_rz_C;
+  TH1 *h_L2_r_C;
+
+  TH2 *h_L_xy_A;
+  TH2 *h_L_xy_C;
+  TH2 *h_L_rz_A;
+  TH2 *h_L_rz_C;
+
+  std::vector<float>* m_hits_x;
+
+  TTree * m_tree;
+  std::string m_ntupleFileName;
+
+  std::string m_path;
+  ServiceHandle<ITHistSvc>  m_thistSvc;
+
+};
+
+#endif // MM_HIT_ANALYSIS_H
diff --git a/Simulation/Tools/HitAnalysis/src/components/HitAnalysis_entries.cxx b/Simulation/Tools/HitAnalysis/src/components/HitAnalysis_entries.cxx
index ee89af53ce7dcd141d5329f44748de814851eefc..de29e151b3f5b7cfefacfb69d08255293ad7cd9c 100755
--- a/Simulation/Tools/HitAnalysis/src/components/HitAnalysis_entries.cxx
+++ b/Simulation/Tools/HitAnalysis/src/components/HitAnalysis_entries.cxx
@@ -13,6 +13,8 @@
 #include "../LucidHitAnalysis.h"
 #include "../ZDCHitAnalysis.h"
 #include "../AFPHitAnalysis.h"
+#include "../MMHitAnalysis.h"
+#include "../sTGCHitAnalysis.h"
 
 DECLARE_ALGORITHM_FACTORY( CaloHitAnalysis )
 DECLARE_ALGORITHM_FACTORY( SiHitAnalysis )
@@ -27,6 +29,8 @@ DECLARE_ALGORITHM_FACTORY( ALFAHitAnalysis )
 DECLARE_ALGORITHM_FACTORY( LucidHitAnalysis )
 DECLARE_ALGORITHM_FACTORY( ZDCHitAnalysis )
 DECLARE_ALGORITHM_FACTORY( AFPHitAnalysis )
+DECLARE_ALGORITHM_FACTORY( MMHitAnalysis )
+DECLARE_ALGORITHM_FACTORY( sTGCHitAnalysis )
 
 DECLARE_FACTORY_ENTRIES( HitAnalysis ) {
   DECLARE_ALGORITHM( CaloHitAnalysis )
@@ -42,6 +46,8 @@ DECLARE_FACTORY_ENTRIES( HitAnalysis ) {
     DECLARE_ALGORITHM( LucidHitAnalysis )
     DECLARE_ALGORITHM( ZDCHitAnalysis )
     DECLARE_ALGORITHM( AFPHitAnalysis )
+    DECLARE_ALGORITHM( MMHitAnalysis )
+    DECLARE_ALGORITHM( sTGCHitAnalysis )
  
 
 }
diff --git a/Simulation/Tools/HitAnalysis/src/sTGCHitAnalysis.cxx b/Simulation/Tools/HitAnalysis/src/sTGCHitAnalysis.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..a854a52dd04cbb0fc24993d46056ea05dbb90ac9
--- /dev/null
+++ b/Simulation/Tools/HitAnalysis/src/sTGCHitAnalysis.cxx
@@ -0,0 +1,188 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "sTGCHitAnalysis.h"
+
+
+/*Includes specific to sTGCs*/
+#include "GeoAdaptors/GeoMuonHits.h"
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/sTgcReadoutElement.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonSimEvent/sTgcHitIdHelper.h"
+#include "MuonSimEvent/GenericMuonSimHitCollection.h"
+#include "MuonSimEvent/GenericMuonSimHit.h"
+#include "CLHEP/Vector/LorentzVector.h"
+
+#include "TH1.h"
+#include "TTree.h"
+#include "TString.h"
+
+#include <algorithm>
+#include <math.h>
+#include <functional>
+#include <iostream>
+#include <stdio.h>
+
+using namespace std;
+
+sTGCHitAnalysis::sTGCHitAnalysis(const std::string& name, ISvcLocator* pSvcLocator)
+  : AthAlgorithm(name, pSvcLocator)
+  , h_S_rz_A(0)
+  , h_S_rz_C(0)
+  , h_S_xy_A(0)
+  , h_S_xy_C(0)
+  , h_L_rz_A(0)
+  , h_L_rz_C(0)
+  , h_L_xy_A(0)
+  , h_L_xy_C(0)
+  , h_rz_A(0)
+  , h_rz_C(0)
+  , h_xy_A(0)
+  , h_xy_C(0)
+  , h_r_A(0)
+  , h_r_C(0)
+  , m_ntupleFileName("sTGCHitAnalysis/ntuple/")
+  , m_path("/sTGCHitAnalysis/histos/")
+  , m_thistSvc("THistSvc", name)
+{
+  declareProperty("NtupleFileName", m_ntupleFileName);
+  declareProperty("HistPath", m_path);
+
+}
+
+StatusCode sTGCHitAnalysis::initialize() {
+  ATH_MSG_DEBUG( "Initializing sTGCHitAnalysis" );
+
+  // Grab the Ntuple and histogramming service for the tree
+  CHECK(m_thistSvc.retrieve());
+
+
+  /** Histograms */
+
+  h_rz_A = new TH2D("h_stgc_rz_A","rz_A", 2000,6500., 8500., 1000, -5000., 5000.);
+  h_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_rz_A->GetName(), h_rz_A));
+
+  h_rz_C = new TH2D("h_stgc_rz_C","rz_C", 2000,-8500., -6500., 5000, 0., 5000.);
+  h_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_rz_C->GetName(), h_rz_C));
+
+  h_L_rz_A = new TH2D("h_stgc_L_rz_A","L_rz_A", 2000, 6500., 8500., 5000, 0., 5000.);
+  h_L_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_rz_A->GetName(), h_L_rz_A));
+
+  h_L_rz_C = new TH2D("h_stgc_L_rz_C","L_rz_C", 2000,-8500., -6500., 5000, 0., 5000.);
+  h_L_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_rz_C->GetName(), h_L_rz_C));
+
+  h_S_rz_A = new TH2D("h_stgc_S_rz_A","S_rz_A", 2000,6500., 8500., 5000, 0., 5000.);
+  h_S_rz_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_rz_A->GetName(), h_S_rz_A));
+
+  h_S_rz_C = new TH2D("h_stgc_S_rz_C","S_rz_C", 2000, -8500., -6500., 5000, 0., 5000.);
+  h_S_rz_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_rz_C->GetName(), h_S_rz_C));
+
+  
+  h_xy_A = new TH2D("h_stgc_xy_A","xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_xy_A->GetName(), h_xy_A));
+
+  h_xy_C = new TH2D("h_stgc_xy_C","xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_xy_C->GetName(), h_xy_C));
+
+  h_L_xy_A = new TH2D("h_stgc_L_xy_A","L_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_xy_A->GetName(), h_L_xy_A));
+
+  h_L_xy_C = new TH2D("h_stgc_L_xy_C","L_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_L_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_L_xy_C->GetName(), h_L_xy_C));
+
+  h_S_xy_A = new TH2D("h_stgc_S_xy_A","S_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S_xy_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_xy_A->GetName(), h_S_xy_A));
+
+  h_S_xy_C = new TH2D("h_stgc_S_xy_C","S_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
+  h_S_xy_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_S_xy_C->GetName(), h_S_xy_C));
+
+  h_r_A = new TH1D("h_stgc_r_A","r_A", 1000,0., 14000.);
+  h_r_A->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_r_A->GetName(), h_r_A));
+  
+  h_r_C = new TH1D("h_stgc_r_C","r_C", 1000,0., 14000.);
+  h_r_C->StatOverflows();
+  CHECK(m_thistSvc->regHist(m_path + h_r_C->GetName(), h_r_C));
+
+  
+  return StatusCode::SUCCESS;
+}
+
+StatusCode sTGCHitAnalysis::execute() {
+  ATH_MSG_DEBUG( "In sTGCHitAnalysis::execute()" );
+
+  const DataHandle<GenericMuonSimHitCollection> p_collection;;
+  if ((evtStore()->retrieve(p_collection,"sTGCSensitiveDetector"))==StatusCode::SUCCESS) {
+    for (GenericMuonSimHitCollection::const_iterator i_hit = p_collection->begin(); i_hit != p_collection->end(); ++i_hit){
+
+      Amg::Vector3D p = (*i_hit).globalPosition();
+      //Get station names and make plots for each wedge
+      sTgcHitIdHelper* hitHelper = sTgcHitIdHelper::GetHelper();
+      int simId = (*i_hit).GenericId();
+      std::string sim_stationName = hitHelper->GetStationName(simId);
+
+      static std::string TS11("TS11");
+      static std::string TS21("TS21");
+      static std::string TS31("TS31");
+      static std::string TL11("TL11");
+      static std::string TL21("TL21");
+      static std::string TL31("TL31");
+
+      int sim_side = hitHelper->GetSide(simId);
+
+      if ( sim_side==1){ //Both sectors A side
+        double r_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r 
+        h_rz_A->Fill(p.z(), r_A);
+	h_xy_A->Fill(p.x(), p.y());
+	h_r_A->Fill(r_A);
+      }
+
+      if ( sim_side==-1){ //Both sectors C side
+        double r_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_rz_C->Fill(p.z(), r_C);
+	h_xy_C->Fill(p.x(), p.y());
+	h_r_C->Fill(r_C);
+      }
+
+      if ((sim_stationName==TS11 || sim_stationName==TS21 || sim_stationName==TS31) && sim_side==1){ //Small sectors A side 
+        double r_S_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_S_rz_A->Fill(p.z(), r_S_A);
+	h_S_xy_A->Fill(p.x(), p.y());
+      }
+
+      if ((sim_stationName==TS11 || sim_stationName==TS21 || sim_stationName==TS31) && sim_side==-1){ //Small sectors C side 
+        double r_S_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_S_rz_C->Fill(p.z(), r_S_C);
+        h_S_xy_C->Fill(p.x(), p.y());
+      }
+
+      if ((sim_stationName==TL11 || sim_stationName==TL21 || sim_stationName==TL31) && sim_side==1){ //Large sectors A side
+	double r_L_A = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_L_rz_A->Fill(p.z(), r_L_A);
+        h_L_xy_A->Fill(p.x(), p.y());
+      }
+
+      if ((sim_stationName==TL11 || sim_stationName==TL21 || sim_stationName==TL31) && sim_side==-1){ //Large sectors C side
+        double r_L_C = sqrt(p.x()*p.x()+p.y()*p.y()); //Evaluate r
+        h_L_rz_C->Fill(p.z(), r_L_C);
+        h_L_xy_C->Fill(p.x(), p.y());
+      }
+
+    }
+  }
+  return StatusCode::SUCCESS;
+}
diff --git a/Simulation/Tools/HitAnalysis/src/sTGCHitAnalysis.h b/Simulation/Tools/HitAnalysis/src/sTGCHitAnalysis.h
new file mode 100755
index 0000000000000000000000000000000000000000..9c3cf94c39e3fe2fb3f12885a79d6c7cd9b37f05
--- /dev/null
+++ b/Simulation/Tools/HitAnalysis/src/sTGCHitAnalysis.h
@@ -0,0 +1,64 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef sTGC_HIT_ANALYSIS_H
+#define sTGC_HIT_ANALYSIS_H
+
+#include "AthenaBaseComps/AthAlgorithm.h"
+
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/ITHistSvc.h"
+
+#include <string>
+#include <vector>
+#include "TH1.h"
+#include "TH2.h"
+#include "TTree.h"
+
+
+
+class TH1;
+class TH2;
+class TTree;
+
+class sTGCHitAnalysis : public AthAlgorithm {
+
+ public:
+
+  sTGCHitAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
+  ~sTGCHitAnalysis(){}
+
+  virtual StatusCode initialize();
+  virtual StatusCode execute();
+
+ private:
+
+  /** Some variables**/
+
+  TH2 *h_S_rz_A;
+  TH2 *h_S_rz_C;
+  TH2 *h_S_xy_A;
+  TH2 *h_S_xy_C;
+  TH2 *h_L_rz_A;
+  TH2 *h_L_rz_C;
+  TH2 *h_L_xy_A;
+  TH2 *h_L_xy_C;
+  TH2 *h_rz_A;
+  TH2 *h_rz_C;
+  TH2 *h_xy_A;
+  TH2 *h_xy_C;
+  TH1 *h_r_A;
+  TH1 *h_r_C;
+
+  std::vector<float>* m_hits_x;
+
+  TTree * m_tree;
+  std::string m_ntupleFileName;
+
+  std::string m_path;
+  ServiceHandle<ITHistSvc>  m_thistSvc;
+
+};
+
+#endif // sTGC_HIT_ANALYSIS_H