diff --git a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py
index 7e7ef46779913f389df279bd48c10aea0dbf796a..bb798a4d1248b11e3e1e439ff00ac5efeaffa93f 100644
--- a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py
+++ b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py
@@ -17,6 +17,11 @@ def AthenaMonitoringCfg(flags):
         from TileMonitoring.TileJetMonitorAlgorithm import TileJetMonitoringConfig
         result.merge(TileJetMonitoringConfig(flags))
 
+    if flags.DQ.Steering.doLArMon:
+        local_logger.info('Set up LAr monitoring')
+        from LArConfiguration.LArMonitoringConfig import LArMonitoringConfig
+        result.merge(LArMonitoringConfig(flags))
+
     if flags.DQ.Steering.doHLTMon:
         local_logger.info('Set up HLT monitoring')
         from TrigHLTMonitoring.TrigHLTMonitorAlgorithm import TrigHLTMonTopConfig
diff --git a/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py b/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..6216f84a942f60d8249cbee30f33cc65020969bb
--- /dev/null
+++ b/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py
@@ -0,0 +1,67 @@
+#
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+#
+
+def LArMonitoringConfig(inputFlags):
+
+
+    from LArMonitoring.LArCollisionTimeMonAlg import LArCollisionTimeMonConfig
+    from LArMonitoring.LArAffectedRegionsAlg import LArAffectedRegionsConfig
+    from LArMonitoring.LArDigitMonAlg import LArDigitMonConfig
+    from LArMonitoring.LArRODMonAlg import  LArRODMonConfig
+
+    # algos which could run anytime:
+    acc = LArAffectedRegionsConfig(inputFlags)
+    acc.merge(LArCollisionTimeMonConfig(inputFlags))
+
+    # and others on RAW data only
+    from LArConfiguration.LArConfigFlags import  _getLArRunInfo
+    lri=_getLArRunInfo(inputFlags)
+    if lri is not None and lri.runType is not None:
+       acc.merge(LArDigitMonConfig(inputFlags))
+       acc.merge(LArRODMonConfig(inputFlags))
+
+    return acc
+
+
+
+if __name__=='__main__':
+
+   from AthenaConfiguration.AllConfigFlags import ConfigFlags
+   from AthenaCommon.Logging import log
+   from AthenaCommon.Constants import DEBUG
+   from AthenaCommon.Configurable import Configurable
+   Configurable.configurableRun3Behavior=1
+   log.setLevel(DEBUG)
+
+
+   from LArMonitoring.LArMonConfigFlags import createLArMonConfigFlags
+   createLArMonConfigFlags()
+
+   from AthenaConfiguration.TestDefaults import defaultTestFiles
+   ConfigFlags.Input.Files = defaultTestFiles.RAW
+
+   ConfigFlags.Output.HISTFileName = 'LArMonitoringOutput.root'
+   ConfigFlags.DQ.enableLumiAccess = True
+   ConfigFlags.DQ.useTrigger = True
+   ConfigFlags.Beam.Type = 'collisions'
+   ConfigFlags.lock()
+
+
+   from CaloRec.CaloRecoConfig import CaloRecoCfg
+   cfg=CaloRecoCfg(ConfigFlags)
+
+   #from CaloD3PDMaker.CaloD3PDConfig import CaloD3PDCfg,CaloD3PDAlg
+   #cfg.merge(CaloD3PDCfg(ConfigFlags, filename=ConfigFlags.Output.HISTFileName, streamname='CombinedMonitoring'))
+
+   acc = LArMonitoringConfig(ConfigFlags)
+   cfg.merge(acc)
+
+   cfg.printConfig()
+
+   ConfigFlags.dump()
+   f=open("LArMonitoring.pkl","w")
+   cfg.store(f)
+   f.close()
+
+   #cfg.run(100,OutputLevel=WARNING)
diff --git a/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py b/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py
index 0d58383815231496c30221eb990624c9c888355f..f39f7d27022a0aaac2cd2604d93cb74268457160 100644
--- a/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py
+++ b/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py
@@ -136,22 +136,23 @@ def LArRODMonConfig(inputFlags, cellDebug=False, dspDebug=False):
 
     #DQMD histos
     dqmd_hist_path='DQMD/'
-    darray = helper.addArray([lArDQGlobals.Partitions+['all']],larRODMonAlg,"RODMon")
-    darray.defineHistogram('Ediff,Erange;DE_ranges', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ',
+    Group.defineHistogram('Ediff,Erange;E_ranges_all', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ',
                            type='TH2F', path=dqmd_hist_path,
                            xbins=lArDQGlobals.DSP1Energy_Bins, xmin=lArDQGlobals.DSP1Energy_Min, xmax=lArDQGlobals.DSP1Energy_Max,
                            ybins=lArDQGlobals.DSPRanges_Bins, ymin=lArDQGlobals.DSPRanges_Min, ymax=lArDQGlobals.DSPRanges_Max,
                            #labels=?+lArDQGlobals.DSPRanges # how to put labels only on Y-axis ?
           )
-
-    Group.defineHistogram('Ediff,Erange;E_ranges_all', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ',
+    dqmd_hist_path='/LAr/DSPMonitoring/DQMD/'
+    darray = helper.addArray([lArDQGlobals.Partitions+['all']],larRODMonAlg,"RODMon")
+    darray.defineHistogram('Ediff,Erange;DE_ranges', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ',
                            type='TH2F', path=dqmd_hist_path,
                            xbins=lArDQGlobals.DSP1Energy_Bins, xmin=lArDQGlobals.DSP1Energy_Min, xmax=lArDQGlobals.DSP1Energy_Max,
                            ybins=lArDQGlobals.DSPRanges_Bins, ymin=lArDQGlobals.DSPRanges_Min, ymax=lArDQGlobals.DSPRanges_Max,
                            #labels=?+lArDQGlobals.DSPRanges # how to put labels only on Y-axis ?
           )
+
     #per partition, currently in one dir only
-    part_hist_path='perPartition/'
+    part_hist_path='/LAr/DSPMonitoring/perPartition/'
     darray.defineHistogram('Ediff;DE', title='E_{offline} - E_{online}:E_{offline} - E_{online}',
                            type='TH1F', path=part_hist_path,
                            xbins=lArDQGlobals.DSPEnergy_Bins, xmin=lArDQGlobals.DSPEnergy_Min, xmax=lArDQGlobals.DSPEnergy_Max)