diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py
index 176a8932dd1f74d3ebb42d5964b12ad0709d9e48..65841dfa0fdabebbfa7e69a4fb60525de39f9d64 100644
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py
@@ -98,15 +98,27 @@ def TrigMETMonConfig(inputFlags):
     et_bins=205 #Et
     et_min=-13.5
     et_max=401.5
+    et_bins_log=20 #Et_log
+    et_min_log=-1.875
+    et_max_log=4.125
     ec_bins=199 #Ex, Ey, Ez
     ec_min=-298.5
     ec_max=298.5
+    ec_bins_log=27 #Ex_log, Ey_log, Ez_log
+    ec_min_log=-4.125
+    ec_max_log=4.125
     sumet_bins=305 #sumEt
     sumet_min=-27.0
     sumet_max=4203.0
+    sumet_bins_log=20 #sumEt_log
+    sumet_min_log=-1.875
+    sumet_max_log=4.125
     sume_bins=153 #sumE
     sume_min=-27.0
     sume_max=24003.0
+    sume_bins_log=40 #sumE_log
+    sume_min_log=-1.875
+    sume_max_log=6.125
     phi_bins=100 # phi
     phi_bins_2d=24 # phi
     phi_min=-3.1416
@@ -119,6 +131,7 @@ def TrigMETMonConfig(inputFlags):
     eff_min=-13.5
     eff_max=401.5
     # Histograms
+    ## offline MET
     metGroup.defineHistogram('offline_Ex',title='Offline Missing E_{x};E_{x} [GeV];Events',
                              path='Expert/Offline',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
     metGroup.defineHistogram('offline_Ey',title='Offline Missing E_{y};E_{y} [GeV];Events',
@@ -127,36 +140,89 @@ def TrigMETMonConfig(inputFlags):
                              path='Expert/Offline',xbins=et_bins,xmin=et_min,xmax=et_max)
     metGroup.defineHistogram('offline_sumEt',title='Offline sumE_{T};sumE_{T} [GeV];Events',
                              path='Expert/Offline',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
+    ## L1
     metGroup.defineHistogram('L1_Ex',title='L1 Missing E_{x};E_{x} [GeV];Events',
                              path='Shifter/L1',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
     metGroup.defineHistogram('L1_Ey',title='L1 Missing E_{y};E_{y} [GeV];Events',
                              path='Shifter/L1',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
     metGroup.defineHistogram('L1_Et',title='L1 Missing E_{T};E_{T} [GeV];Events',
                              path='Shifter/L1',xbins=et_bins,xmin=et_min,xmax=et_max)
+    ## HLT cell
     metGroup.defineHistogram('cell_Ex',title='cell Missing E_{x};E_{x} [GeV];Events',
                              path='Shifter/cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('cell_Ex_log',title='cell Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
+                             path='Shifter/cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('cell_Ey',title='cell Missing E_{y};E_{y} [GeV];Events',
                              path='Shifter/cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('cell_Ey_log',title='cell Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
+                             path='Shifter/cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('cell_Et',title='cell Missing E_{T};E_{T} [GeV];Events',
                              path='Shifter/cell',xbins=et_bins,xmin=et_min,xmax=et_max)
+    metGroup.defineHistogram('cell_Et_log',title='cell Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
+                             path='Shifter/cell',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
+    metGroup.defineHistogram('cell_sumEt',title='cell sumEt;sumEt [GeV];Events',
+                             path='Shifter/cell',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
+    metGroup.defineHistogram('cell_sumEt_log',title='cell sumEt log;log_{10}(sumEt/GeV);Events',
+                             path='Shifter/cell',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
+    metGroup.defineHistogram('cell_phi',title='cell #phi;#phi;Events',
+                             path='Shifter/cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    metGroup.defineHistogram('cell_phi;cell_phi_etweight', title='cell #phi (etweighted);#phi;E_{T} weighted events',
+                             weight='cell_Et',
+                             path='Shifter/cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    metGroup.defineHistogram('cell_eta,cell_phi;cell_eta_phi', type='TH2F', title='cell #eta - #phi;#eta;#phi',
+                             path='Shifter/cell',
+                             xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
+    metGroup.defineHistogram('cell_eta,cell_phi;cell_eta_phi_etweight', type='TH2F', title='cell #eta - #phi (etweighted);#eta;#phi',
+                             weight='cell_Et',
+                             path='Shifter/cell',
+                             xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
+    ## HLT trkmht
     metGroup.defineHistogram('trkmht_Ex',title='trkmht Missing E_{x};E_{x} [GeV];Events',
                              path='Shifter/trkmht',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('trkmht_Ex_log',title='trkmht Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
+                             path='Shifter/trkmht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('trkmht_Ey',title='trkmht Missing E_{y};E_{y} [GeV];Events',
                              path='Shifter/trkmht',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('trkmht_Ey_log',title='trkmht Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
+                             path='Shifter/trkmht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('trkmht_Et',title='trkmht Missing E_{T};E_{T} [GeV];Events',
                              path='Shifter/trkmht',xbins=et_bins,xmin=et_min,xmax=et_max)
+    metGroup.defineHistogram('trkmht_Et_log',title='trkmht Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
+                             path='Shifter/trkmht',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
+    metGroup.defineHistogram('trkmht_sumEt',title='trkmht sumEt;sumEt [GeV];Events',
+                             path='Shifter/trkmht',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
+    metGroup.defineHistogram('trkmht_sumEt_log',title='trkmht sumEt log;log_{10}(sumEt/GeV);Events',
+                             path='Shifter/trkmht',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
+    metGroup.defineHistogram('trkmht_phi',title='trkmht #phi;#phi;Events',
+                             path='Shifter/trkmht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    metGroup.defineHistogram('trkmht_phi;trkmht_phi_etweight', title='trkmht #phi (etweighted);#phi;E_{T} weighted events',
+                             weight='trkmht_Et',
+                             path='Shifter/trkmht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    ## HLT tcpufit
     metGroup.defineHistogram('tcpufit_Ex',title='tcpufit Missing E_{x};E_{x} [GeV];Events',
                              path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('tcpufit_Ex_log',title='tcpufit Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
+                             path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('tcpufit_Ey',title='tcpufit Missing E_{y};E_{y} [GeV];Events',
                              path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('tcpufit_Ey_log',title='tcpufit Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
+                             path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('tcpufit_Ez',title='tcpufit Missing E_{z};E_{z} [GeV];Events',
                              path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('tcpufit_Ez_log',title='tcpufit Missing E_{z} log;sgn(E_{z}) log_{10}(E_{x}/GeV);Events',
+                             path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('tcpufit_Et',title='tcpufit Missing E_{T};E_{T} [GeV];Events',
                              path='Shifter/tcpufit',xbins=et_bins,xmin=et_min,xmax=et_max)
+    metGroup.defineHistogram('tcpufit_Et_log',title='tcpufit Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
+                             path='Shifter/tcpufit',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
     metGroup.defineHistogram('tcpufit_sumEt',title='tcpufit sumEt;sumEt [GeV];Events',
                              path='Shifter/tcpufit',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
+    metGroup.defineHistogram('tcpufit_sumEt_log',title='tcpufit sumEt log;log_{10}(sumEt/GeV);Events',
+                             path='Shifter/tcpufit',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
     metGroup.defineHistogram('tcpufit_sumE',title='tcpufit sumE;sumE [GeV];Events',
                              path='Shifter/tcpufit',xbins=sume_bins,xmin=sume_min,xmax=sume_max)
+    metGroup.defineHistogram('tcpufit_sumE_log',title='tcpufit sumE log;log_{10}(sumE/GeV);Events',
+                             path='Shifter/tcpufit',xbins=sume_bins_log,xmin=sume_min_log,xmax=sume_max_log)
     metGroup.defineHistogram('tcpufit_eta',title='tcpufit #eta;#eta;Events',
                              path='Shifter/tcpufit',xbins=eta_bins,xmin=eta_min,xmax=eta_max)
     metGroup.defineHistogram('tcpufit_phi',title='tcpufit #phi;#phi;Events',
@@ -171,36 +237,93 @@ def TrigMETMonConfig(inputFlags):
                              weight='tcpufit_Et',
                              path='Shifter/tcpufit',
                              xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
+    ## Efficiency
     metGroup.defineHistogram('offline_Et,pass_L11;L11_eff', type='TProfile',title='L1 efficiency;offline E_{T} [GeV];Efficiency',
                              path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max)
     metGroup.defineHistogram('offline_Et,pass_HLT1;HLT1_eff', type='TProfile',title='HLT1 efficiency;offline E_{T} [GeV];Efficiency',
                              path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max)
     metGroup.defineHistogram('offline_Et,pass_HLT2;HLT2_eff', type='TProfile',title='HLT2 efficiency;offline E_{T} [GeV];Efficiency',
                              path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max)
+    ## HLT mht
     metGroup.defineHistogram('mht_Ex',title='mht Missing E_{x};E_{x} [GeV];Events',
                              path='Shifter/mht',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('mht_Ex_log',title='mht Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
+                             path='Shifter/mht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('mht_Ey',title='mht Missing E_{y};E_{y} [GeV];Events',
                              path='Shifter/mht',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('mht_Ey_log',title='mht Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
+                             path='Shifter/mht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('mht_Et', title='mht E_{T};E_{T} [GeV];Events',
                              path='Shifter/mht',xbins=et_bins,xmin=et_min,xmax=et_max)
+    metGroup.defineHistogram('mht_Et_log',title='mht Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
+                             path='Shifter/mht',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
+    metGroup.defineHistogram('mht_sumEt',title='mht sumEt;sumEt [GeV];Events',
+                             path='Shifter/mht',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
+    metGroup.defineHistogram('mht_sumEt_log',title='mht sumEt log;log_{10}(sumEt/GeV);Events',
+                             path='Shifter/mht',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
+    metGroup.defineHistogram('mht_phi',title='mht #phi;#phi;Events',
+                             path='Shifter/mht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    metGroup.defineHistogram('mht_phi;mht_phi_etweight', title='mht #phi (etweighted);#phi;E_{T} weighted events',
+                             weight='mht_Et',
+                             path='Shifter/mht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    metGroup.defineHistogram('mht_eta,cell_phi;mht_eta_phi', type='TH2F', title='mht #eta - #phi;#eta;#phi',
+                             path='Shifter/mht',
+                             xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
+    metGroup.defineHistogram('mht_eta,mht_phi;mht_eta_phi_etweight', type='TH2F', title='mht #eta - #phi (etweighted);#eta;#phi',
+                             weight='mht_Et',
+                             path='Shifter/mht',
+                             xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
+    ## HLT pfsum
     metGroup.defineHistogram('pfsum_Ex',title='pfsum Missing E_{x};E_{x} [GeV];Events',
                              path='Shifter/pfsum',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('pfsum_Ex_log',title='pfsum Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
+                             path='Shifter/pfsum',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('pfsum_Ey',title='pfsum Missing E_{y};E_{y} [GeV];Events',
                              path='Shifter/pfsum',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metGroup.defineHistogram('pfsum_Ey_log',title='pfsum Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
+                             path='Shifter/pfsum',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metGroup.defineHistogram('pfsum_Et', title='pfsum E_{T};E_{T} [GeV];Events',
                              path='Shifter/pfsum',xbins=et_bins,xmin=et_min,xmax=et_max)
+    metGroup.defineHistogram('pfsum_Et_log',title='pfsum Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
+                             path='Shifter/pfsum',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
+    metGroup.defineHistogram('pfsum_sumEt',title='pfsum sumEt;sumEt [GeV];Events',
+                             path='Shifter/pfsum',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
+    metGroup.defineHistogram('pfsum_sumEt_log',title='pfsum sumEt log;log_{10}(sumEt/GeV);Events',
+                             path='Shifter/pfsum',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
+    metGroup.defineHistogram('pfsum_phi',title='pfsum #phi;#phi;Events',
+                             path='Shifter/pfsum',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    metGroup.defineHistogram('pfsum_phi;pfsum_phi_etweight', title='pfsum #phi (etweighted);#phi;E_{T} weighted events',
+                             weight='pfsum_Et',
+                             path='Shifter/pfsum',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    ## HLT tc
     metGroup.defineHistogram('tc_Ex',title='tc Missing E_{x};E_{x} [GeV];Events',
                              path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
     metGroup.defineHistogram('tc_Ey',title='tc Missing E_{y};E_{y} [GeV];Events',
                              path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
     metGroup.defineHistogram('tc_Et', title='tc E_{T};E_{T} [GeV];Events',
                              path='Expert/tc',xbins=et_bins,xmin=et_min,xmax=et_max)
+    ## Chain specific
     metChain1Group.defineHistogram('cell_Ex',title='cell Missing E_{x};E_{x} [GeV];Events',
                                   path='cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metChain1Group.defineHistogram('cell_Ex_log',title='cell Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
+                             path='cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metChain1Group.defineHistogram('cell_Ey',title='cell Missing E_{y};E_{y} [GeV];Events',
                                   path='cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
+    metChain1Group.defineHistogram('cell_Ey_log',title='cell Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
+                             path='cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
     metChain1Group.defineHistogram('cell_Et',title='cell Missing E_{T};E_{T} [GeV];Events',
                                   path='cell',xbins=et_bins,xmin=et_min,xmax=et_max)
+    metChain1Group.defineHistogram('cell_Et_log',title='cell Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
+                             path='cell',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
+    metChain1Group.defineHistogram('cell_sumEt',title='cell sumEt;sumEt [GeV];Events',
+                             path='cell',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
+    metChain1Group.defineHistogram('cell_sumEt_log',title='cell sumEt log;log_{10}(sumEt/GeV);Events',
+                             path='cell',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
+    metChain1Group.defineHistogram('cell_phi',title='cell #phi;#phi;Events',
+                             path='cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
+    metChain1Group.defineHistogram('cell_phi;cell_phi_etweight', title='cell #phi (etweighted);#phi;E_{T} weighted events',
+                             weight='cell_Et',
+                             path='cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
     
     ### STEP 6 ###
     # Finalize. The return value should be a tuple of the ComponentAccumulator
diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx
index ec01b8425dcb66475e7c077551a4a955be4c3a3a..89093a5a105be76aea2ddbb4af3ff7588d6036e9 100644
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx
@@ -113,37 +113,73 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
     auto cell_Ex = Monitored::Scalar<float>("cell_Ex",0.0);
     auto cell_Ey = Monitored::Scalar<float>("cell_Ey",0.0);
     auto cell_Et = Monitored::Scalar<float>("cell_Et",0.0);
+    auto cell_sumEt = Monitored::Scalar<float>("cell_sumEt",0.0);
+    auto cell_Ex_log = Monitored::Scalar<float>("cell_Ex_log",0.0);
+    auto cell_Ey_log = Monitored::Scalar<float>("cell_Ey_log",0.0);
+    auto cell_Et_log = Monitored::Scalar<float>("cell_Et_log",0.0);
+    auto cell_sumEt_log = Monitored::Scalar<float>("cell_sumEt_log",0.0);
+    auto cell_eta = Monitored::Scalar<float>("cell_eta",0.0);
+    auto cell_phi = Monitored::Scalar<float>("cell_phi",0.0);
     auto mht_Ex = Monitored::Scalar<float>("mht_Ex",0.0);
     auto mht_Ey = Monitored::Scalar<float>("mht_Ey",0.0);
     auto mht_Et = Monitored::Scalar<float>("mht_Et",0.0);
+    auto mht_sumEt = Monitored::Scalar<float>("mht_sumEt",0.0);
+    auto mht_Ex_log = Monitored::Scalar<float>("mht_Ex_log",0.0);
+    auto mht_Ey_log = Monitored::Scalar<float>("mht_Ey_log",0.0);
+    auto mht_Et_log = Monitored::Scalar<float>("mht_Et_log",0.0);
+    auto mht_sumEt_log = Monitored::Scalar<float>("mht_sumEt_log",0.0);
+    auto mht_eta = Monitored::Scalar<float>("mht_eta",0.0);
+    auto mht_phi = Monitored::Scalar<float>("mht_phi",0.0);
     auto tc_Ex = Monitored::Scalar<float>("tc_Ex",0.0);
     auto tc_Ey = Monitored::Scalar<float>("tc_Ey",0.0);
     auto tc_Et = Monitored::Scalar<float>("tc_Et",0.0);
     auto trkmht_Ex = Monitored::Scalar<float>("trkmht_Ex",0.0);
     auto trkmht_Ey = Monitored::Scalar<float>("trkmht_Ey",0.0);
     auto trkmht_Et = Monitored::Scalar<float>("trkmht_Et",0.0);
+    auto trkmht_sumEt = Monitored::Scalar<float>("trkmht_sumEt",0.0);
+    auto trkmht_Ex_log = Monitored::Scalar<float>("trkmht_Ex_log",0.0);
+    auto trkmht_Ey_log = Monitored::Scalar<float>("trkmht_Ey_log",0.0);
+    auto trkmht_Et_log = Monitored::Scalar<float>("trkmht_Et_log",0.0);
+    auto trkmht_sumEt_log = Monitored::Scalar<float>("trkmht_sumEt_log",0.0);
+    auto trkmht_phi = Monitored::Scalar<float>("trkmht_phi",0.0);
     auto tcpufit_Ex = Monitored::Scalar<float>("tcpufit_Ex",0.0);
     auto tcpufit_Ey = Monitored::Scalar<float>("tcpufit_Ey",0.0);
     auto tcpufit_Ez = Monitored::Scalar<float>("tcpufit_Ez",0.0);
     auto tcpufit_Et = Monitored::Scalar<float>("tcpufit_Et",0.0);
     auto tcpufit_sumEt = Monitored::Scalar<float>("tcpufit_sumEt",0.0);
     auto tcpufit_sumE = Monitored::Scalar<float>("tcpufit_sumE",0.0);
+    auto tcpufit_Ex_log = Monitored::Scalar<float>("tcpufit_Ex_log",0.0);
+    auto tcpufit_Ey_log = Monitored::Scalar<float>("tcpufit_Ey_log",0.0);
+    auto tcpufit_Ez_log = Monitored::Scalar<float>("tcpufit_Ez_log",0.0);
+    auto tcpufit_Et_log = Monitored::Scalar<float>("tcpufit_Et_log",0.0);
+    auto tcpufit_sumEt_log = Monitored::Scalar<float>("tcpufit_sumEt_log",0.0);
+    auto tcpufit_sumE_log = Monitored::Scalar<float>("tcpufit_sumE_log",0.0);
     auto tcpufit_eta = Monitored::Scalar<float>("tcpufit_eta",0.0);
     auto tcpufit_phi = Monitored::Scalar<float>("tcpufit_phi",0.0);
     auto pfsum_Ex = Monitored::Scalar<float>("pfsum_Ex",0.0);
     auto pfsum_Ey = Monitored::Scalar<float>("pfsum_Ey",0.0);
     auto pfsum_Et = Monitored::Scalar<float>("pfsum_Et",0.0);
+    auto pfsum_sumEt = Monitored::Scalar<float>("pfsum_sumEt",0.0);
+    auto pfsum_Ex_log = Monitored::Scalar<float>("pfsum_Ex_log",0.0);
+    auto pfsum_Ey_log = Monitored::Scalar<float>("pfsum_Ey_log",0.0);
+    auto pfsum_Et_log = Monitored::Scalar<float>("pfsum_Et_log",0.0);
+    auto pfsum_sumEt_log = Monitored::Scalar<float>("pfsum_sumEt_log",0.0);
+    auto pfsum_phi = Monitored::Scalar<float>("pfsum_phi",0.0);
     auto pass_L11 = Monitored::Scalar<float>("pass_L11",0.0);
     auto pass_HLT1 = Monitored::Scalar<float>("pass_HLT1",0.0);
     auto pass_HLT2 = Monitored::Scalar<float>("pass_HLT2",0.0);
 
+
+    // constant floor for log plots
+    double epsilon = 1.189;
+
     // access offline MET values
     if ( offline_met_cont.isValid() && offline_met_cont->size() > 0 ) {
       offline_met = offline_met_cont->at(0);
       offline_Ex = - (offline_met->mpx())/1000.;
       offline_Ey = - (offline_met->mpy())/1000.;
       offline_sumEt = (offline_met->sumet())/1000.;
-      offline_Et = sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey);
+      offline_Et = std::sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey);
     }
 
     // access L1 MET values
@@ -160,15 +196,35 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
       hlt_met = hlt_cell_met_cont->at(0);
       cell_Ex = (hlt_met->ex())/1000.;
       cell_Ey = (hlt_met->ey())/1000.;
-      cell_Et = sqrt(cell_Ex*cell_Ex + cell_Ey*cell_Ey);
-    }
+      float cell_Ez = (hlt_met->ez())/1000.;
+      cell_Et = std::sqrt(cell_Ex*cell_Ex + cell_Ey*cell_Ey);
+      cell_sumEt = (hlt_met->sumEt())/1000.;
+      cell_Ex_log = signed_log(cell_Ex, epsilon);
+      cell_Ey_log = signed_log(cell_Ey, epsilon);
+      cell_Et_log = signed_log(cell_Et, epsilon);
+      cell_sumEt_log = signed_log(cell_sumEt, epsilon);
+
+      TVector3 v(cell_Ex, cell_Ey, cell_Ez);
+      cell_eta = v.Eta();
+      cell_phi = v.Phi();
+   }
 
     // access HLT mht MET values
     if ( hlt_mht_met_cont.isValid() && hlt_mht_met_cont->size() > 0 ) {
       hlt_met = hlt_mht_met_cont->at(0);
       mht_Ex = (hlt_met->ex())/1000.;
       mht_Ey = (hlt_met->ey())/1000.;
-      mht_Et = sqrt(mht_Ex*mht_Ex + mht_Ey*mht_Ey);
+      float mht_Ez = (hlt_met->ez())/1000.;
+      mht_Et = std::sqrt(mht_Ex*mht_Ex + mht_Ey*mht_Ey);
+      mht_sumEt = (hlt_met->sumEt())/1000.;
+      mht_Ex_log = signed_log(mht_Ex, epsilon);
+      mht_Ey_log = signed_log(mht_Ey, epsilon);
+      mht_Et_log = signed_log(mht_Et, epsilon);
+      mht_sumEt_log = signed_log(mht_sumEt, epsilon);
+
+      TVector3 v(mht_Ex, mht_Ey, mht_Ez);
+      mht_eta = v.Eta();
+      mht_phi = v.Phi();
     }
 
     // access HLT tclcw MET values
@@ -176,7 +232,7 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
       hlt_met = hlt_tc_met_cont->at(0);
       tc_Ex = (hlt_met->ex())/1000.;
       tc_Ey = (hlt_met->ey())/1000.;
-      tc_Et = sqrt(tc_Ex*tc_Ex + tc_Ey*tc_Ey);
+      tc_Et = std::sqrt(tc_Ex*tc_Ex + tc_Ey*tc_Ey);
     }
 
     // access HLT trkmht MET values
@@ -184,7 +240,16 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
       hlt_met = hlt_trkmht_met_cont->at(0);
       trkmht_Ex = (hlt_met->ex())/1000.;
       trkmht_Ey = (hlt_met->ey())/1000.;
-      trkmht_Et = sqrt(trkmht_Ex*trkmht_Ex + trkmht_Ey*trkmht_Ey);
+      float trkmht_Ez = (hlt_met->ez())/1000.;
+      trkmht_Et = std::sqrt(trkmht_Ex*trkmht_Ex + trkmht_Ey*trkmht_Ey);
+      trkmht_sumEt = (hlt_met->sumEt())/1000.;
+      trkmht_Ex_log = signed_log(trkmht_Ex, epsilon);
+      trkmht_Ey_log = signed_log(trkmht_Ey, epsilon);
+      trkmht_Et_log = signed_log(trkmht_Et, epsilon);
+      trkmht_sumEt_log = signed_log(trkmht_sumEt, epsilon);
+    
+      TVector3 v(trkmht_Ex, trkmht_Ey, trkmht_Ez);
+      trkmht_phi = v.Phi();
     }
 
     // access HLT tcpufit MET values
@@ -193,9 +258,15 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
       tcpufit_Ex = (hlt_met->ex())/1000.;
       tcpufit_Ey = (hlt_met->ey())/1000.;
       tcpufit_Ez = (hlt_met->ez())/1000.;
-      tcpufit_Et = sqrt(tcpufit_Ex*tcpufit_Ex + tcpufit_Ey*tcpufit_Ey);
+      tcpufit_Et = std::sqrt(tcpufit_Ex*tcpufit_Ex + tcpufit_Ey*tcpufit_Ey);
       tcpufit_sumEt = (hlt_met->sumEt())/1000.;
       tcpufit_sumE = (hlt_met->sumE())/1000.;
+      tcpufit_Ex_log = signed_log(tcpufit_Ex, epsilon);
+      tcpufit_Ey_log = signed_log(tcpufit_Ey, epsilon);
+      tcpufit_Ez_log = signed_log(tcpufit_Ez, epsilon);
+      tcpufit_Et_log = signed_log(tcpufit_Et, epsilon);
+      tcpufit_sumEt_log = signed_log(tcpufit_sumEt, epsilon);
+      tcpufit_sumE_log = signed_log(tcpufit_sumE, epsilon);
 
       TVector3 v(tcpufit_Ex, tcpufit_Ey, tcpufit_Ez);
       tcpufit_eta = v.Eta();
@@ -207,7 +278,16 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
       hlt_met = hlt_pfsum_met_cont->at(0);
       pfsum_Ex = (hlt_met->ex())/1000.;
       pfsum_Ey = (hlt_met->ey())/1000.;
-      pfsum_Et = sqrt(pfsum_Ex*pfsum_Ex + pfsum_Ey*pfsum_Ey);
+      float pfsum_Ez = (hlt_met->ez())/1000.;
+      pfsum_Et = std::sqrt(pfsum_Ex*pfsum_Ex + pfsum_Ey*pfsum_Ey);
+      pfsum_sumEt = (hlt_met->sumEt())/1000.;
+      pfsum_Ex_log = signed_log(pfsum_Ex, epsilon);
+      pfsum_Ey_log = signed_log(pfsum_Ey, epsilon);
+      pfsum_Et_log = signed_log(pfsum_Et, epsilon);
+      pfsum_sumEt_log = signed_log(pfsum_sumEt, epsilon);
+    
+      TVector3 v(pfsum_Ex, pfsum_Ey, pfsum_Ez);
+      pfsum_phi = v.Phi();
     }
 
     // efficiency plots
@@ -240,14 +320,37 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
          L1_Ex,L1_Ey,L1_Et,
          pass_L11,pass_HLT1,pass_HLT2);
     if (hlt_cell_met_cont->size() > 0) {
-      fill(tool,cell_Ex,cell_Ey,cell_Et,
-         mht_Ex,mht_Ey,mht_Et,
+      fill(tool,cell_Ex,cell_Ey,cell_Et,cell_sumEt,
+         cell_Ex_log,cell_Ey_log,cell_Et_log,cell_sumEt_log,
+         cell_eta,cell_phi,
+         mht_Ex,mht_Ey,mht_Et,mht_sumEt,
+         mht_Ex_log,mht_Ey_log,mht_Et_log,mht_sumEt_log,
+         mht_eta,mht_phi,
          tc_Ex,tc_Ey,tc_Et,
-         trkmht_Ex,trkmht_Ey,trkmht_Et,
-         pfsum_Ex,pfsum_Ey,pfsum_Et,
-         tcpufit_Ex,tcpufit_Ey,tcpufit_Ez,tcpufit_Et,
-         tcpufit_sumEt,tcpufit_sumE,tcpufit_eta,tcpufit_phi);
+         trkmht_Ex,trkmht_Ey,trkmht_Et,trkmht_sumEt,
+         trkmht_Ex_log,trkmht_Ey_log,trkmht_Et_log,trkmht_sumEt_log,
+         trkmht_phi,
+         pfsum_Ex,pfsum_Ey,pfsum_Et,pfsum_sumEt,
+         pfsum_Ex_log,pfsum_Ey_log,pfsum_Et_log,pfsum_sumEt_log,
+         pfsum_phi,
+         tcpufit_Ex,tcpufit_Ey,tcpufit_Ez,tcpufit_Et,tcpufit_sumEt,tcpufit_sumE,
+         tcpufit_Ex_log,tcpufit_Ey_log,tcpufit_Ez_log,tcpufit_Et_log,tcpufit_sumEt_log,tcpufit_sumE_log,
+         tcpufit_eta,tcpufit_phi);
     }
 
     return StatusCode::SUCCESS;
 }
+
+
+double TrigMETMonitorAlgorithm::signed_log(double e, double epsilon) const {
+
+
+  double e_log = -9e9;
+  if (std::abs(e) > epsilon)
+    e_log = std::copysign(std::log10(std::abs(e)), e);
+  else
+    e_log = 0.01;
+
+  return e_log;
+}
+
diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h
index 4a2366abc278ae022ae3471dad74d80e6a3fcff6..88e919cdcf89de600bae42d4c08352db48c54adb 100644
--- a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h
+++ b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h
@@ -24,6 +24,8 @@ class TrigMETMonitorAlgorithm : public AthMonitorAlgorithm {
   virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
 
  private:
+  double signed_log(double e, double epsilon) const;
+
   SG::ReadHandleKey<xAOD::MissingETContainer> m_offline_met_key;
 
   SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_roi_key;