diff --git a/CALIBRATION/bcm_current_calib/README b/CALIBRATION/bcm_current_calib/README
new file mode 100644
index 0000000000000000000000000000000000000000..4fa7b58896c514b90ee143ff15005b57c4dd497f
--- /dev/null
+++ b/CALIBRATION/bcm_current_calib/README
@@ -0,0 +1,19 @@
+This script runs over a scaler tree (TSH) and save bcm current values
+for BCM1, BCM2, (BCM4a, BCM4b, BCM17) as well as the event number 
+for each scaler event.
+
+How to make a parameter file for the average BCM current information
+
+- Use ROOT version 6.08 to use R__LOAD_LIBRARY
+- Do this once to make shared libraries (or after modifying the marco)
+> root -b
+root [0] .L ScalerCalib.C+
+
+To run a script:
+> roob -b
+root [0] .x run.C("/path/Scaler root output file");
+
+It prints out 
+      # of scaler read, 
+      average bcm current values for each bcm
+      corresponding event number for each scaler event
diff --git a/CALIBRATION/bcm_current_calib/ScalerCalib.C b/CALIBRATION/bcm_current_calib/ScalerCalib.C
new file mode 100644
index 0000000000000000000000000000000000000000..b28bb9ed0597a875d31d3d7f9c63eb6d3ff15467
--- /dev/null
+++ b/CALIBRATION/bcm_current_calib/ScalerCalib.C
@@ -0,0 +1,203 @@
+#include <TFile.h>
+#include <TTree.h>
+
+#include "ScalerCalib.h"
+
+using namespace std;
+
+ofstream outfile;
+
+//_________________________________
+
+ScalerCalib::ScalerCalib(string name) :
+  fName(name), fPrintFlag(DEFAULT)
+{
+
+  filename = "dummyname";
+
+}
+
+//_________________________________
+
+ScalerCalib::~ScalerCalib()
+{
+
+}
+
+//_________________________________
+
+int ScalerCalib::Run()
+{
+
+  FillContainer();
+
+  if(evnum.size() < 1)
+    {
+      cout << "ERROR: empty container! Check the input file" << endl;
+      return -1;
+    }
+
+  int pos = filename.find("scalers_");
+  runstr = (filename.substr(pos+8)).substr(0,4);
+
+  ofilename = "bcmcurrent_" + runstr + ".param";
+  outfile.open(ofilename.c_str());
+
+  outfile << "num_scal_reads = " << evnum.size();
+  outfile << "\n" << "\n";
+  outfile << "scal_read_bcm1_current = ";
+  PrintContainer(bcm1);
+
+  outfile << "\n" << "\n";
+  outfile << "scal_read_bcm2_current = ";
+  PrintContainer(bcm2);
+
+  if(fPrintFlag == ALL)
+    {
+      outfile << "\n" << "\n";
+      outfile << "scal_read_bcm4a_current = ";
+      PrintContainer(bcm4a);
+
+      outfile << "\n" << "\n";
+      outfile << "scal_read_bcm4b_current = ";
+      PrintContainer(bcm4b);
+
+      outfile << "\n" << "\n";
+      outfile << "scal_read_bcm17_current = ";
+      PrintContainer(bcm17);
+    }
+  
+  outfile << "\n" << "\n";
+  outfile << "scal_read_event = ";
+  PrintContainer(evnum);
+
+  //  outfile.close();
+
+  return 0;
+  
+}
+
+//_________________________________
+
+int ScalerCalib::PrintContainer(ScalerContainer sc)
+{
+  
+  if(sc.size() < 1)
+    if(evnum.size() < 1)
+      {
+	cout << "ERROR: empty container!" << endl;
+	return -1;
+      }
+
+  for(SCIterator i = sc.begin(); i != sc.end()-1; ++i)
+    {
+      outfile << *i << ", ";
+    }
+  
+  outfile << sc.back();
+
+  /*
+  stringstream sstr;
+  string result;
+
+  std::copy(sc.begin(), sc.end()-1, ofstream_iterator<double>(sstr, ", "));
+  sstr << sc.end();  
+
+  result = sstr.str();
+  outfile << result;
+
+  result = "";
+  sstr.str("");
+  sstr.clear();
+  */
+
+  return 0;
+}
+
+//_________________________________
+
+
+int ScalerCalib::FillContainer()
+{
+
+  ClearContainers();
+
+  TFile* file = new TFile(filename.c_str());
+  if(!file->IsOpen())
+    {
+      cout << "ERROR: " << filename.c_str() << " is not open!" << endl;
+      return -1;      
+    }
+  
+  if(! file->GetListOfKeys()->Contains("TSH") )
+    {
+      cout << "ERROR: Couldn't find the Scaler Tree"  << endl;
+      return -1;      
+    }
+
+  TTree* T = (TTree*)file->Get("TSH");  
+
+  double evnumber;
+  double bcm1_current;
+  double bcm2_current;
+  double bcm4a_current;
+  double bcm4b_current;
+  double bcm17_current;
+
+  string bname[5];
+  string sarray[5] = {".BCM1.scalerCurrent",
+		      ".BCM2.scalerCurrent", 
+		      ".BCM4A.scalerCurrent",
+		      ".BCM4B.scalerCurrent",
+		      ".BCM17.scalerCurrent"};
+
+  for(int i=0; i<5; i++)
+    {
+      bname[i] = "";
+      bname[i] += fName;
+      bname[i] += sarray[i];
+    }
+
+  T->SetBranchAddress("evNumber",       &evnumber);
+  T->SetBranchAddress(bname[0].c_str(), &bcm1_current);
+  T->SetBranchAddress(bname[1].c_str(), &bcm2_current);
+  T->SetBranchAddress(bname[2].c_str(), &bcm4a_current);
+  T->SetBranchAddress(bname[3].c_str(), &bcm4b_current);
+  T->SetBranchAddress(bname[4].c_str(), &bcm17_current);
+
+  Long64_t nentries = T->GetEntries();
+  for(Long64_t ientry=0; ientry<nentries; ientry++)
+    {
+      T->GetEntry(ientry);
+
+      if(evnumber < 0) continue;
+
+      evnum.push_back(evnumber);
+      bcm1.push_back(bcm1_current);
+      bcm2.push_back(bcm2_current);
+      bcm4a.push_back(bcm4a_current);
+      bcm4b.push_back(bcm4b_current);
+      bcm17.push_back(bcm17_current);
+
+    }
+
+  file->Close();
+
+  return 0;
+}
+
+//_________________________________
+
+void ScalerCalib::ClearContainers()
+{
+
+  evnum.clear();
+  bcm1.clear();
+  bcm2.clear();
+  bcm4a.clear();
+  bcm4b.clear();
+  bcm17.clear();
+
+}
+
+ClassImp(ScalerCalib)
diff --git a/CALIBRATION/bcm_current_calib/ScalerCalib.h b/CALIBRATION/bcm_current_calib/ScalerCalib.h
new file mode 100644
index 0000000000000000000000000000000000000000..438dbba1cf76318107c5589abf38d15ecb8b3a29
--- /dev/null
+++ b/CALIBRATION/bcm_current_calib/ScalerCalib.h
@@ -0,0 +1,53 @@
+#ifndef __SCLAERCALIB_H__
+#define __SCLAERCALIB_H__
+
+#include <iostream>
+#include <fstream>
+#include <string>
+
+#include <vector>
+
+using namespace std;
+
+enum PrintOption {DEFAULT, ALL};
+
+typedef vector<double> ScalerContainer;
+typedef ScalerContainer::iterator SCIterator;
+
+class ScalerCalib {
+  
+ public:
+  
+  ScalerCalib(string name);
+  virtual ~ScalerCalib();
+
+  void SetInputFile(string fin){ filename = fin; }
+  void SetPrintFlag(int p_opt){ fPrintFlag = p_opt; }
+  int Run();
+
+ private:
+
+  string fName;
+  int fPrintFlag;
+
+  string runstr; // used to form a output file name
+  string filename;
+  string ofilename;
+
+  void ClearContainers();
+  int FillContainer();
+  int PrintContainer(ScalerContainer sc);
+
+
+  ScalerContainer evnum;
+  ScalerContainer bcm1;
+  ScalerContainer bcm2;
+  ScalerContainer bcm4a;
+  ScalerContainer bcm4b;
+  ScalerContainer bcm17;
+
+  ClassDef(ScalerCalib,0)
+
+};
+
+#endif /*__SCLAERCALIB_H__*/
diff --git a/CALIBRATION/bcm_current_calib/run.C b/CALIBRATION/bcm_current_calib/run.C
new file mode 100644
index 0000000000000000000000000000000000000000..56b580e2af65a49846feaba2c6ce13830032c8be
--- /dev/null
+++ b/CALIBRATION/bcm_current_calib/run.C
@@ -0,0 +1,15 @@
+R__LOAD_LIBRARY(ScalerCalib_C)
+
+void run(string fin="fin.root")
+{
+
+  //H: HMS, P: SHMS
+  ScalerCalib scalib("H");
+  scalib.SetInputFile(fin);
+  scalib.SetPrintFlag(1); //0: bcm1 and bcm2 only, 1: all
+  scalib.Run();
+
+}
+
+
+
diff --git a/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def b/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def
index 132ec766f3d252cac56292dd14b245f18124625d..402fd86880271ac47575002015949cd639e1b1e2 100644
--- a/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def
+++ b/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def
@@ -2,43 +2,35 @@
 ############################
 #   MISSING MASS
 ############################
-TH1F pkin_mmiss              'SHMS M_{miss} (ccleantrack); M_{miss} (GeV); Count / 0.005 GeV'  P.kin.secondary.Mmiss 800 -2 2 ccleantrack 
-TH1F pkin_mmiss_coincut      'SHMS M_{miss} (coincut); M_{miss} (GeV); Count / 0.005 GeV'      P.kin.secondary.Mmiss 800 -2 2 coincut
-TH1F pkin_mmiss_coincut_ep   'SHMS M_{miss} (coincut_ep); M_{miss} (GeV); Count / 0.005 GeV'   P.kin.secondary.Mmiss 800 -2 2 coincut_ep
-TH1F pkin_mmiss_tightcut     'SHMS M_{miss} (tight_coin); M_{miss} (GeV); Count / 0.005 GeV'   P.kin.secondary.Mmiss 800 -2 2 tight_coin&&select_e_cut&&betacut_proton
-TH1F pkin_mmiss_ran_coincut  'SHMS M_{miss} (ran_coincut); M_{miss} (GeV); Count / 0.005 GeV'  P.kin.secondary.Mmiss 800 -2 2 ran_coincut&&select_e_cut&&betacut_proton
+# Plot m_miss squared because I don't trust the square root
+formula mmiss P.kin.secondary.emiss_nuc*P.kin.secondary.emiss_nuc-P.kin.secondary.pmiss*P.kin.secondary.pmiss
+TH1F pkin_mmiss              'SHMS M^{2}_{miss} (ccleantrack); M^{2}_{miss} (GeV); Count / 0.01 GeV'  mmiss 400 -2 2 ccleantrack 
+TH1F pkin_mmiss_coincut      'SHMS M^{2}_{miss} (coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV'      mmiss 400 -2 2 coincut
+TH1F pkin_mmiss_coincut_ep   'SHMS M^{2}_{miss} (coincut_ep); M^{2}_{miss} (GeV); Count / 0.01 GeV'   mmiss 400 -2 2 coincut_ep
+TH1F pkin_mmiss_tightcut     'SHMS M^{2}_{miss} (tight_coin); M^{2}_{miss} (GeV); Count / 0.01 GeV'   mmiss 400 -2 2 tight_coin&&select_e_cut&&betacut_proton
+TH1F pkin_mmiss_ran_coincut  'SHMS M^{2}_{miss} (ran_coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV'  mmiss 400 -2 2 ran_coincut&&select_e_cut&&betacut_proton
 
 
 ############################
 #   MISSING MOMENTUM
 ############################
-TH1F pkin_pmiss              'SHMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;'  P.kin.secondary.pmiss          800 -2 2 ccleantrack
-TH1F pkin_pmiss_coincut      'SHMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.005 GeV;'      P.kin.secondary.pmiss          800 -2 2 coincut
-TH1F pkin_pmiss_pid          'SHMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;'   P.kin.secondary.pmiss          800 -2 2 coincut_ep
-TH1F pkin_pmiss_x            'SHMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;'         P.kin.secondary.pmiss_x        800 -2 2 coincut_ep
-TH1F pkin_pmiss_y            'SHMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;'         P.kin.secondary.pmiss_y        800 -2 2 coincut_ep
-TH1F pkin_pmiss_z            'SHMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;'         P.kin.secondary.pmiss_z        800 -2 2 coincut_ep
-TH1F pkin_pmiss_par          'SHMS p_{miss,par} (coincut_ep); p_{miss,par} (GeV); Count / 0.005 GeV;'     P.kin.secondary.pmiss_z        800 -2 2 coincut_ep
-TH1F pkin_pmiss_perp         'SHMS p_{miss,perp} (coincut_ep); p_{miss,perp} (GeV); Count / 0.005 GeV;'   P.kin.secondary.pmiss_perp     800 -2 2 coincut_ep
-TH1F pkin_pmiss_oop          'SHMS p_{miss,oop} (coincut_ep); p_{miss,oop} (GeV); Count / 0.005 GeV;'     P.kin.secondary.pmiss_y        800 -2 2 coincut_ep
-
-TH1F pkin_pmiss_nuc          'SHMS p_{miss,nuc} (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;'       P.kin.secondary.pmiss_nuc      800 -2 2 ccleantrack
-TH1F pkin_pmiss_nuc_coincut  'SHMS p_{miss,nuc} (coincut); p_{miss} (GeV); Count / 0.005 GeV;'           P.kin.secondary.pmiss_nuc      800 -2 2 coincut
-TH1F pkin_pmiss_nuc_pid      'SHMS p_{miss,nuc} (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;'        P.kin.secondary.pmiss_nuc      800 -2 2 coincut_ep
-TH1F pkin_pmiss_nuc_x        'SHMS p_{miss,nuc,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;'    P.kin.secondary.pmiss_nuc_x    800 -2 2 coincut_ep
-TH1F pkin_pmiss_nuc_y        'SHMS p_{miss,nuc,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;'    P.kin.secondary.pmiss_nuc_y    800 -2 2 coincut_ep
-TH1F pkin_pmiss_nuc_z        'SHMS p_{miss,nuc,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;'    P.kin.secondary.pmiss_nuc_z    800 -2 2 coincut_ep
+TH1F pkin_pmiss              'SHMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.02 GeV;'  P.kin.secondary.pmiss          200 -2 2 ccleantrack
+TH1F pkin_pmiss_coincut      'SHMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.02 GeV;'      P.kin.secondary.pmiss          200 -2 2 coincut
+TH1F pkin_pmiss_pid          'SHMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.02 GeV;'   P.kin.secondary.pmiss          200 -2 2 coincut_ep
+TH1F pkin_pmiss_x            'SHMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.02 GeV;'         P.kin.secondary.pmiss_x        200 -2 2 coincut_ep
+TH1F pkin_pmiss_y            'SHMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.02 GeV;'         P.kin.secondary.pmiss_y        200 -2 2 coincut_ep
+TH1F pkin_pmiss_z            'SHMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.02 GeV;'         P.kin.secondary.pmiss_z        200 -2 2 coincut_ep
 
 ############################
 #   MISSING ENERGY
 ############################
-TH1F pkin_Emiss              'SHMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.emiss 400 -1 1 ccleantrack
-TH1F pkin_Emiss_coincut      'SHMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.005 GeV;'     P.kin.secondary.emiss 400 -1 1 coincut
-TH1F pkin_Emiss_pid          'SHMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.005 GeV;'  P.kin.secondary.emiss 400 -1 1 coincut_ep
+TH1F pkin_Emiss              'SHMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.01 GeV;' P.kin.secondary.emiss_nuc 400 -1 3 ccleantrack
+TH1F pkin_Emiss_coincut      'SHMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.01 GeV;'     P.kin.secondary.emiss_nuc 400 -1 3 coincut
+TH1F pkin_Emiss_pid          'SHMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.01 GeV;'  P.kin.secondary.emiss_nuc 400 -1 3 coincut_ep
 
 
 ############################
 #   KINEMATICS
 ############################
-TH1F hkin_Q2                 'HMS Q^{2}; Q^{2} (GeV); Count / 0.005 GeV;' H.kin.primary.Q2 2000 0 10 ccleantrack
-TH1F hkin_W2                 'HMS W^{2}; W^{2} (GeV); Count / 0.005 GeV;' H.kin.primary.W2 2000 0 10 ccleantrack
+TH1F hkin_Q2                 'HMS Q^{2}; Q^{2} (GeV); Count / 0.01 GeV;' H.kin.primary.Q2 1500 0 15 ccleantrack
+TH1F hkin_W2                 'HMS W^{2}; W^{2} (GeV); Count / 0.01 GeV;' H.kin.primary.W2 1500 0 15 ccleantrack
diff --git a/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def b/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def
index 58f02214ffb85e4b8927f269400cebbec715bd32..e48e0b57c26c13c76bd7069eb3480b0a01cea272 100644
--- a/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def
+++ b/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def
@@ -2,43 +2,35 @@
 ############################
 #   MISSING MASS
 ############################
-TH1F hkin_mmiss              'HMS M_{miss} (ccleantrack); M_{miss} (GeV); Count / 0.005 GeV'  H.kin.secondary.Mmiss 800 -2 2 ccleantrack 
-TH1F hkin_mmiss_coincut      'HMS M_{miss} (coincut); M_{miss} (GeV); Count / 0.005 GeV'      H.kin.secondary.Mmiss 800 -2 2 coincut
-TH1F hkin_mmiss_coincut_ep   'HMS M_{miss} (coincut_ep); M_{miss} (GeV); Count / 0.005 GeV'   H.kin.secondary.Mmiss 800 -2 2 coincut_ep
-TH1F hkin_mmiss_tightcut     'HMS M_{miss} (tight_coin); M_{miss} (GeV); Count / 0.005 GeV'   H.kin.secondary.Mmiss 800 -2 2 tight_coin&&select_e_cut&&betacut_proton
-TH1F hkin_mmiss_ran_coincut  'HMS M_{miss} (ran_coincut); M_{miss} (GeV); Count / 0.005 GeV'  H.kin.secondary.Mmiss 800 -2 2 ran_coincut&&select_e_cut&&betacut_proton
+# Plot m_miss squared because I don't trust the square root
+formula mmiss H.kin.secondary.emiss_nuc*H.kin.secondary.emiss_nuc-H.kin.secondary.pmiss*H.kin.secondary.pmiss
+TH1F hkin_mmiss              'HMS M^{2}_{miss} (ccleantrack); M^{2}_{miss} (GeV); Count / 0.01 GeV'  mmiss 400 -2 2 ccleantrack 
+TH1F hkin_mmiss_coincut      'HMS M^{2}_{miss} (coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV'      mmiss 400 -2 2 coincut
+TH1F hkin_mmiss_coincut_ep   'HMS M^{2}_{miss} (coincut_ep); M^{2}_{miss} (GeV); Count / 0.01 GeV'   mmiss 400 -2 2 coincut_ep
+TH1F hkin_mmiss_tightcut     'HMS M^{2}_{miss} (tight_coin); M^{2}_{miss} (GeV); Count / 0.01 GeV'   mmiss 400 -2 2 tight_coin&&select_e_cut&&betacut_proton
+TH1F hkin_mmiss_ran_coincut  'HMS M^{2}_{miss} (ran_coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV'  mmiss 400 -2 2 ran_coincut&&select_e_cut&&betacut_proton
 
 
 ############################
 #   MISSING MOMENTUM
 ############################
-TH1F hkin_pmiss              'HMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;'  H.kin.secondary.pmiss          800 -2 2 ccleantrack
-TH1F hkin_pmiss_coincut      'HMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.005 GeV;'      H.kin.secondary.pmiss          800 -2 2 coincut
-TH1F hkin_pmiss_pid          'HMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;'   H.kin.secondary.pmiss          800 -2 2 coincut_ep
-TH1F hkin_pmiss_x            'HMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;'         H.kin.secondary.pmiss_x        800 -2 2 coincut_ep
-TH1F hkin_pmiss_y            'HMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;'         H.kin.secondary.pmiss_y        800 -2 2 coincut_ep
-TH1F hkin_pmiss_z            'HMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;'         H.kin.secondary.pmiss_z        800 -2 2 coincut_ep
-TH1F hkin_pmiss_par          'HMS p_{miss,par} (coincut_ep); p_{miss,par} (GeV); Count / 0.005 GeV;'     H.kin.secondary.pmiss_z        800 -2 2 coincut_ep
-TH1F hkin_pmiss_perp         'HMS p_{miss,perp} (coincut_ep); p_{miss,perp} (GeV); Count / 0.005 GeV;'   H.kin.secondary.pmiss_perp     800 -2 2 coincut_ep
-TH1F hkin_pmiss_oop          'HMS p_{miss,oop} (coincut_ep); p_{miss,oop} (GeV); Count / 0.005 GeV;'     H.kin.secondary.pmiss_y        800 -2 2 coincut_ep
-
-TH1F hkin_pmiss_nuc          'HMS p_{miss,nuc} (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;'       H.kin.secondary.pmiss_nuc      800 -2 2 ccleantrack
-TH1F hkin_pmiss_nuc_coincut  'HMS p_{miss,nuc} (coincut); p_{miss} (GeV); Count / 0.005 GeV;'           H.kin.secondary.pmiss_nuc      800 -2 2 coincut
-TH1F hkin_pmiss_nuc_pid      'HMS p_{miss,nuc} (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;'        H.kin.secondary.pmiss_nuc      800 -2 2 coincut_ep
-TH1F hkin_pmiss_nuc_x        'HMS p_{miss,nuc,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;'    H.kin.secondary.pmiss_nuc_x    800 -2 2 coincut_ep
-TH1F hkin_pmiss_nuc_y        'HMS p_{miss,nuc,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;'    H.kin.secondary.pmiss_nuc_y    800 -2 2 coincut_ep
-TH1F hkin_pmiss_nuc_z        'HMS p_{miss,nuc,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;'    H.kin.secondary.pmiss_nuc_z    800 -2 2 coincut_ep
+TH1F hkin_pmiss              'HMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.02 GeV;'  H.kin.secondary.pmiss          200 -2 2 ccleantrack
+TH1F hkin_pmiss_coincut      'HMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.02 GeV;'      H.kin.secondary.pmiss          200 -2 2 coincut
+TH1F hkin_pmiss_pid          'HMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.02 GeV;'   H.kin.secondary.pmiss          200 -2 2 coincut_ep
+TH1F hkin_pmiss_x            'HMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.02 GeV;'         H.kin.secondary.pmiss_x        200 -2 2 coincut_ep
+TH1F hkin_pmiss_y            'HMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.02 GeV;'         H.kin.secondary.pmiss_y        200 -2 2 coincut_ep
+TH1F hkin_pmiss_z            'HMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.02 GeV;'         H.kin.secondary.pmiss_z        200 -2 2 coincut_ep
 
 ############################
 #   MISSING ENERGY
 ############################
-TH1F hkin_Emiss              'HMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.emiss 400 -1 1 ccleantrack
-TH1F hkin_Emiss_coincut      'HMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.005 GeV;'     H.kin.secondary.emiss 400 -1 1 coincut
-TH1F hkin_Emiss_pid          'HMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.005 GeV;'  H.kin.secondary.emiss 400 -1 1 coincut_ep
+TH1F hkin_Emiss              'HMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.01 GeV;' H.kin.secondary.emiss_nuc 400 -1 3 ccleantrack
+TH1F hkin_Emiss_coincut      'HMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.01 GeV;'     H.kin.secondary.emiss_nuc 400 -1 3 coincut
+TH1F hkin_Emiss_pid          'HMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.01 GeV;'  H.kin.secondary.emiss_nuc 400 -1 3 coincut_ep
 
 
 ############################
 #   KINEMATICS
 ############################
-TH1F pkin_Q2                 'SHMS Q^{2}; Q^{2} (GeV); Count / 0.005 GeV;' P.kin.primary.Q2 2000 0 10 ccleantrack
-TH1F pkin_W2                 'SHMS W^{2}; W^{2} (GeV); Count / 0.005 GeV;' P.kin.primary.W2 2000 0 10 ccleantrack
+TH1F pkin_Q2                 'SHMS Q^{2}; Q^{2} (GeV); Count / 0.01 GeV;' P.kin.primary.Q2 1500 0 15 ccleantrack
+TH1F pkin_W2                 'SHMS W^{2}; W^{2} (GeV); Count / 0.01 GeV;' P.kin.primary.W2 1500 0 15 ccleantrack
diff --git a/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def b/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def
index 1dcf29f20d6a1900cb6f46ab95a1a2bdaa604d32..aa2ad4e93e0f27730220dfffb1201a2064df9885 100644
--- a/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def
+++ b/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def
@@ -35,3 +35,19 @@ TH1F p_ptrig_tdc  'pTRIG1_ROC2'  T.coin.pTRIG1_ROC2_tdcTimeRaw*0.1 1600 -800 800
 TH1F p_htrig_tdc  'pTRIG1_ROC2'  T.coin.hTRIG1_ROC2_tdcTimeRaw*0.1 1600 -800 800
 TH1F h_ctrig_tdc  'pTRIG1_ROC1-pTRIG4_ROC1'  T.coin.pTRIG1_ROC1_tdcTimeRaw*0.1-T.coin.pTRIG4_ROC1_tdcTimeRaw 1600 -800 800
 TH1F p_ctrig_tdc  'pTRIG1_ROC2-pTRIG4_ROC2'  T.coin.pTRIG1_ROC2_tdcTimeRaw*0.1-T.coin.pTRIG4_ROC2_tdcTimeRaw 1600 -800 800
+
+#####################################
+# TRIGGER RATE vs. 1 MHz Clock Time
+#####################################
+
+TH2D ptrig1rate_vs_time 'SHMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); pTRIG1 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG1.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig2rate_vs_time 'SHMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); pTRIG2 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG2.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig3rate_vs_time 'SHMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); pTRIG3 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG3.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig4rate_vs_time 'SHMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); pTRIG4 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG4.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig6rate_vs_time 'SHMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); pTRIG6 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG6.scalerRate 350 0 7000 500 0 200000 
+
+TH2D htrig1rate_vs_time 'HMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); hTRIG1 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG1.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig2rate_vs_time 'HMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); hTRIG2 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG2.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig3rate_vs_time 'HMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); hTRIG3 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG3.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig4rate_vs_time 'HMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); hTRIG4 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG4.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig6rate_vs_time 'HMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); hTRIG6 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG6.scalerRate 350 0 7000 500 0 200000 
diff --git a/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def
index 099b70e3a00c966cbd563461ba091d2a7f892b74..f4600201b58d8e87e6682ef43190109dd52c6e9c 100644
--- a/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def
+++ b/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def
@@ -21,19 +21,22 @@ goodctime         ALL_events        #LOOSE CUT AROUND COINTIME PEAK (3 beam buck
 tightctime        ALL_events        #TIGHT CUT AROUND COINTIME PEAK (1 beam buckets)
 ranctime          ALL_events        #CUT AWAY FROM COINTIME PEAK (4 beam buckets)
 
-Decode_master     ALL_events
+ALL_COIN_NO_EDTM  T.coin.hEDTM_tdcTime==0.0&&T.coin.pEDTM_tdcTime==0.0&&ALL_events
+
+
+Decode_master     ALL_COIN_NO_EDTM
 
 Block: CoarseTracking
-CoarseTracking_master ALL_events
+CoarseTracking_master ALL_COIN_NO_EDTM
 
 Block: CoarseReconstruct
-CoarseReconstruct_master ALL_events
+CoarseReconstruct_master ALL_COIN_NO_EDTM
 
 Block: Tracking
-Tracking_master  ALL_events
+Tracking_master  ALL_COIN_NO_EDTM
 
 Block: Reconstruct
-Reconstruct_master ALL_events
+Reconstruct_master ALL_COIN_NO_EDTM
 
 hcleantrack        H.gtr.index > -1
 pcleantrack        P.gtr.index > -1
diff --git a/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def
index 93a6e0c045cfef593fed333152cc7bcb4433e081..523ba2884c3eb865ba4b4143cbe52ba9de7bdbb1 100644
--- a/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def
+++ b/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def
@@ -57,19 +57,21 @@ pcut_good_S1_time         T.coin.p1T_tdcTime > 241 && T.coin.p1T_tdcTime < 243
 pcut_good_S2X_time        T.coin.p2X_tdcTime > 180 && T.coin.p2X_tdcTime < 220
 pcut_good_S1_S2X_time     pcut_good_S1_time && pcut_good_S2X_time
 
-Decode_master     ALL_events
+ALL_COIN_NO_EDTM  T.coin.hEDTM_tdcTime==0.0&&T.coin.pEDTM_tdcTime==0.0&&ALL_events
+
+Decode_master     ALL_COIN_NO_EDTM
 
 Block: CoarseTracking
-CoarseTracking_master ALL_events
+CoarseTracking_master ALL_COIN_NO_EDTM
 
 Block: CoarseReconstruct
-CoarseReconstruct_master ALL_events
+CoarseReconstruct_master ALL_COIN_NO_EDTM
 
 Block: Tracking
-Tracking_master  ALL_events
+Tracking_master  ALL_COIN_NO_EDTM
 
 Block: Reconstruct
-Reconstruct_master ALL_events
+Reconstruct_master ALL_COIN_NO_EDTM
 
 hcleantrack        H.gtr.index > -1
 pcleantrack        P.gtr.index > -1
diff --git a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def
index ab2006c5a40dbb310dac3809efdf861a8354a862..edc4cc3d35e646805a06225fd3d422002ae5d72b 100644
--- a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def
+++ b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def
@@ -57,19 +57,22 @@ pcut_good_S1_time         T.coin.p1T_tdcTime > 241 && T.coin.p1T_tdcTime < 243
 pcut_good_S2X_time        T.coin.p2X_tdcTime > 180 && T.coin.p2X_tdcTime < 220
 pcut_good_S1_S2X_time     pcut_good_S1_time && pcut_good_S2X_time
 
-Decode_master     ALL_events
+ALL_COIN_NO_EDTM  T.coin.hEDTM_tdcTime==0.0&&T.coin.pEDTM_tdcTime==0.0&&ALL_events
+
+
+Decode_master     ALL_COIN_NO_EDTM
 
 Block: CoarseTracking
-CoarseTracking_master ALL_events
+CoarseTracking_master ALL_COIN_NO_EDTM
 
 Block: CoarseReconstruct
-CoarseReconstruct_master ALL_events
+CoarseReconstruct_master ALL_COIN_NO_EDTM
 
 Block: Tracking
-Tracking_master  ALL_events
+Tracking_master  ALL_COIN_NO_EDTM
 
 Block: Reconstruct
-Reconstruct_master ALL_events
+Reconstruct_master ALL_COIN_NO_EDTM
 
 hcleantrack        H.gtr.index > -1
 pcleantrack        P.gtr.index > -1
diff --git a/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def b/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def
index 0f475000966724b025620c42b509850910b7a321..8fe3567ddb376a7d548714b7e41d8256fed2b856 100644
--- a/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def
+++ b/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def
@@ -36,4 +36,14 @@ TH2F htrig_ch1y_ch1x 'HMS Hodo Trig; 1X Trig (ns); 1Y Trig (ns)' T.hms.h1X_tdcTi
 TH1F htrig_hdc_ref1 'HMS DC Reference Time 1; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF1_tdcTime 2000 0 2000
 TH1F htrig_hdc_ref2 'HMS DC Reference Time 2; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF2_tdcTime 2000 0 2000
 TH1F htrig_hdc_ref3 'HMS DC Reference Time 3; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF3_tdcTime 2000 0 2000
-TH1F htrig_hdc_ref4 'HMS DC Reference Time 4; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF4_tdcTime 2000 0 2000
\ No newline at end of file
+TH1F htrig_hdc_ref4 'HMS DC Reference Time 4; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF4_tdcTime 2000 0 2000
+
+#--------------------------------------
+# HMS Trigger Rate vs. 1MHz Clock Time
+#--------------------------------------
+
+TH2D htrig1rate_vs_time 'HMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); hTRIG1 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG1.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig2rate_vs_time 'HMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); hTRIG2 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG2.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig3rate_vs_time 'HMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); hTRIG3 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG3.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig4rate_vs_time 'HMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); hTRIG4 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG4.scalerRate 350 0 7000 500 0 200000 
+TH2D htrig6rate_vs_time 'HMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); hTRIG6 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG6.scalerRate 350 0 7000 500 0 200000 
diff --git a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def
index 4153aea8f484fd15d052afca02de06e93aec8d6b..44c9aa05fc2288ceca2200bc50eb30f955b6ebf9 100644
--- a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def
+++ b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def
@@ -20,13 +20,14 @@ Block: Decode
 hcut_TRIG1        T.hms.hTRIG1_tdcTimeRaw > 0
 hcut_TRIG2        T.hms.hTRIG2_tdcTimeRaw > 0
 hcut_TRIG3        T.hms.hTRIG3_tdcTimeRaw > 0
-HMS_Pretrig  hcut_TRIG1 || hcut_TRIG2 || hcut_TRIG3
+HMS_Pretrig       hcut_TRIG1 || hcut_TRIG2 || hcut_TRIG3
 
-hms_trigs         HMS_event
+hms_trigs              HMS_event
 hcut_edtm_accepted     T.hms.hEDTM_tdcTime != 0.0
 hcut_physics_accepted  T.hms.hEDTM_tdcTime == 0.0
+ALL_HMS_NO_EDTM        ALL_HMS_events && hcut_physics_accepted
 
-Decode_master     ALL_HMS_events
+Decode_master          ALL_HMS_NO_EDTM
 
 Block: CoarseTracking
 CoarseTracking_master ALL_HMS_events
@@ -121,13 +122,13 @@ hTest1                hmsHitsPlanes && (!hSpacePoints)
 hTest2                hSpacePoints && (!hStubLT)
 
 Block: CoarseReconstruct
-CoarseReconstruct_master ALL_HMS_events
+CoarseReconstruct_master ALL_HMS_NO_EDTM
 
 Block: Tracking
-Tracking_master  ALL_HMS_events
+Tracking_master  ALL_HMS_NO_EDTM
 
 Block: Reconstruct
-Reconstruct_master ALL_HMS_events
+Reconstruct_master ALL_HMS_NO_EDTM
 hcut_cer_pmt1_elec        H.cer.npe[0]>.5
 hcut_cer_pmt2_elec        H.cer.npe[0]>.5
 hcut_cer_elec       	  H.cer.npeSum>.5
@@ -208,4 +209,4 @@ HMS_hcer_track_fired_tot H.cer.totNumTracksFired>0
 
 
 Block: Physics
-Physics_master ALL_HMS_events
+Physics_master ALL_HMS_NO_EDTM
diff --git a/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def b/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def
index 15c04bb1f6e90717f6516976136f9b43859ed51c..0e14c39b62ae5631cdcf31de6a0bf99c94c2e9ce 100644
--- a/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def
+++ b/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def
@@ -52,4 +52,15 @@ TH1F ptrig_pT1_tdc_mult 'SHMS pT1 TDC Multiplicity (Slot 20, Channel 15); TDC Mu
 TH1F ptrig_pT2_tdc_mult 'SHMS pT2 TDC Multiplicity (Slot 19, Channel 31); TDC Multiplicity; Counts / 1' T.shms.pT2_tdcMultiplicity 11 0 11
 TH1F ptrig_pT3_tdc_mult 'SHMS pT3 TDC Multiplicity (Slot 19, Channel 38); TDC Multiplicity; Counts / 1' T.shms.pT3_tdcMultiplicity 11 0 11
 
-TH1F ptrig_pFADC_TREF_ROC2_ptime_mult 'SHMS pFADC_TREF_ROC2 ADC Multiplicity; ADC Multiplicity; Counts / 1' T.shms.pFADC_TREF_ROC2_adcMultiplicity 11 0 11
\ No newline at end of file
+TH1F ptrig_pFADC_TREF_ROC2_ptime_mult 'SHMS pFADC_TREF_ROC2 ADC Multiplicity; ADC Multiplicity; Counts / 1' T.shms.pFADC_TREF_ROC2_adcMultiplicity 11 0 11
+
+#----------------------------------------
+# SHMS Trigger Rate vs. 1 Mhz Clock Time
+#----------------------------------------
+
+TH2D ptrig1rate_vs_time 'SHMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); pTRIG1 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG1.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig2rate_vs_time 'SHMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); pTRIG2 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG2.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig3rate_vs_time 'SHMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); pTRIG3 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG3.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig4rate_vs_time 'SHMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); pTRIG4 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG4.scalerRate 350 0 7000 500 0 200000 
+TH2D ptrig6rate_vs_time 'SHMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); pTRIG6 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG6.scalerRate 350 0 7000 500 0 200000 
+
diff --git a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def
index f66a5a4cab051b2e4e21aa7cdca6ed67f1fba948..828356bb09d3f7e52614aac1b7d19e475f12a804 100644
--- a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def
+++ b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def
@@ -29,10 +29,13 @@ pcut_good_S1_time         T.shms.p1T_tdcTime > 241 && T.shms.p1T_tdcTime < 243
 pcut_good_S2X_time        T.shms.p2X_tdcTime > 180 && T.shms.p2X_tdcTime < 220
 pcut_good_S1_S2X_time     pcut_good_S1_time && pcut_good_S2X_time
 
-Decode_master     ALL_events
+ALL_SHMS_NO_EDTM          ALL_events && pcut_physics_accepted
+
+
+Decode_master     ALL_SHMS_NO_EDTM
 
 Block: CoarseTracking
-CoarseTracking_master ALL_events
+CoarseTracking_master ALL_SHMS_NO_EDTM
 
 # Add cuts to stricter times and apply them to drift distances 
 pcut_time_cut1      P.dc.1u1.time > 0 && P.dc.1u1.time < 250
@@ -148,13 +151,13 @@ pTest1     shmsHitsPlanes && (!pSpacePoints)
 pTest2	   pSpacePoints && (!pStubLT)
 
 Block: CoarseReconstruct
-CoarseReconstruct_master ALL_events
+CoarseReconstruct_master ALL_SHMS_NO_EDTM
 
 Block: Tracking
-Tracking_master  ALL_events
+Tracking_master  ALL_SHMS_NO_EDTM
 
 Block: Reconstruct
-Reconstruct_master ALL_events
+Reconstruct_master ALL_SHMS_NO_EDTM
 
 pcut_cer_ng_elec    	  P.ngcer.npeSum > 0.5
 pcut_cer_ng_pi      	  P.ngcer.npeSum <= 0.5
@@ -276,4 +279,4 @@ SHMS_aero_track_matched_tot P.aero.totNumTracksMatched>0
 SHMS_aero_track_fired_tot P.aero.totNumTracksFired>0
 
 Block: Physics
-Physics_master ALL_events
+Physics_master ALL_SHMS_NO_EDTM
diff --git a/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg b/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg
index dc6672762ec01558cd608655dc84934d2db2ac3e..56be7cf05a3fc2f4bc916d0bfd499af8449fcb4a 100644
--- a/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg
+++ b/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg
@@ -30,38 +30,52 @@ p_htrig_tdc
 h_ctrig_tdc
 p_ctrig_tdc
 
-newpage 2 1
+newpage 3 1
 title Target Variables
-hgtrz_vs_pgtrz
 hgtry_vs_pgtry
+hgtryp_vs_pgtryp
+hgtrxp_vs_pgtrxp
 
 newpage 3 2
 title Missing Mass
-hkin_mmiss
-hkin_mmiss_coincut
-hkin_mmiss_coincut_ep
-hkin_mmiss_tightcut
-hkin_mmiss_ran_coincut
+pkin_mmiss
+pkin_mmiss_coincut
+pkin_mmiss_coincut_ep
+pkin_mmiss_tightcut
+pkin_mmiss_ran_coincut
 
-newpage 3 3
+newpage 3 2
 title Missing Momentum
-hkin_pmiss
-hkin_pmiss_coincut 
-hkin_pmiss_pid
-hkin_pmiss_x
-hkin_pmiss_y
-hkin_pmiss_z
-hkin_pmiss_par
-hkin_pmiss_perp
-hkin_pmiss_oop
+pkin_pmiss
+pkin_pmiss_coincut 
+pkin_pmiss_pid
+pkin_pmiss_x
+pkin_pmiss_y
+pkin_pmiss_z
 
 newpage 3 1
 title Missing Energy
-hkin_Emiss
-hkin_Emiss_coincut
-hkin_Emiss_pid
+pkin_Emiss
+pkin_Emiss_coincut
+pkin_Emiss_pid
 
 newpage 2 1
 title Kinematics
-pkin_Q2
-pkin_W2
+hkin_Q2
+hkin_W2
+
+newpage 3 2 logxy
+title HMS Trigger Rates
+htrig1rate_vs_time -nostat
+htrig2rate_vs_time -nostat
+htrig3rate_vs_time -nostat
+htrig4rate_vs_time -nostat
+htrig6rate_vs_time -nostat
+
+newpage 3 2 logxy
+title SHMS Trigger Rates
+ptrig1rate_vs_time -nostat
+ptrig2rate_vs_time -nostat
+ptrig3rate_vs_time -nostat
+ptrig4rate_vs_time -nostat
+ptrig6rate_vs_time -nostat
diff --git a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg
index 73dd00bb65994f4ab9e20f991e4611c14bba6052..aec54a8a548004a56a943e3a7f9080637dafd8d3 100644
--- a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg
+++ b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg
@@ -183,6 +183,14 @@ hdc_trk_mom_pi -nostat
 hcal_xtrack_vs_etrack_pi -nostat
 hcal_ytrack_vs_etrack_pi -nostat
 
+newpage 3 2 logxy 
+title HMS Trigger Rates
+htrig1rate_vs_time -nostat
+htrig2rate_vs_time -nostat
+htrig3rate_vs_time -nostat
+htrig4rate_vs_time -nostat
+htrig6rate_vs_time -nostat
+
 newpage 2 2
 title HMS EPICS
 hac_bcm_average -nostat
diff --git a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg
index 14e383222203b7aeeac4869dccd4d1ab9cbcb6de..9fb7cf13eeb3ed3831729b47b0b24d425a184e00 100644
--- a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg
+++ b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg
@@ -183,7 +183,16 @@ hdc_trk_mom_pi -nostat
 hcal_xtrack_vs_etrack_pi -nostat
 hcal_ytrack_vs_etrack_pi -nostat
 
-newpage 2 2
+newpage 3 2 logxy 
+title HMS Trigger Rates
+htrig1rate_vs_time -nostat
+htrig2rate_vs_time -nostat
+htrig3rate_vs_time -nostat
+htrig4rate_vs_time -nostat
+htrig6rate_vs_time -nostat
+
+
+newpage 2 2 
 title HMS EPICS
 hac_bcm_average -nostat
 ibcm1 -nostat
diff --git a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg
index f1755d57ff55428f6337511741f731a26c661572..b0ef2754d062f2c4944e0eeaf124dbe309adb04f 100644
--- a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg
+++ b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg
@@ -208,6 +208,14 @@ pdc_trk_mom_pi -nostat
 pcal_xtrack_vs_etrack_pi -nostat
 pcal_ytrack_vs_etrack_pi -nostat
 
+newpage 3 2 logxy 
+title SHMS Trigger Rates
+ptrig1rate_vs_time -nostat
+ptrig2rate_vs_time -nostat
+ptrig3rate_vs_time -nostat
+ptrig4rate_vs_time -nostat
+ptrig6rate_vs_time -nostat
+
 newpage 2 2
 title EPICS
 hac_bcm_average -nostat
diff --git a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg
index cb843c699db8a59ae481c759dd897217415c5ff0..a7afe536270c74d3e479475bc50d389791a93cc1 100644
--- a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg
+++ b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg
@@ -208,6 +208,14 @@ pdc_trk_mom_pi -nostat
 pcal_xtrack_vs_etrack_pi -nostat
 pcal_ytrack_vs_etrack_pi -nostat
 
+newpage 3 2 logxy 
+title SHMS Trigger Rates
+ptrig1rate_vs_time -nostat
+ptrig2rate_vs_time -nostat
+ptrig3rate_vs_time -nostat
+ptrig4rate_vs_time -nostat
+ptrig6rate_vs_time -nostat
+
 newpage 2 2
 title EPICS
 hac_bcm_average -nostat
diff --git a/onlineGUI/onlineGUI_v1.2.1/online.C b/onlineGUI/onlineGUI_v1.2.1/online.C
index 99341a0a0776865af7aa0a849e99fb23222141b7..4c21c0ef358df4fea95171064ef00bbbbbb8d986 100755
--- a/onlineGUI/onlineGUI_v1.2.1/online.C
+++ b/onlineGUI/onlineGUI_v1.2.1/online.C
@@ -446,6 +446,18 @@ vector <TString> OnlineConfig::GetCutIdent() {
     return out;
 }
 
+Bool_t OnlineConfig::IsLogxy(UInt_t page) {
+    // Check if last word on line is "logxy"
+
+    UInt_t page_index = pageInfo[page].first;
+    Int_t word_index = sConfFile[page_index].size()-1;
+    if (word_index <= 0) return kFALSE;
+    TString option = sConfFile[page_index][word_index];
+    if(option == "logxy") return kTRUE;
+    return kFALSE;
+
+}
+
 Bool_t OnlineConfig::IsLogx(UInt_t page) {
     // Check if last word on line is "logx"
 
@@ -496,9 +508,10 @@ pair <UInt_t, UInt_t> OnlineConfig::GetPageDim(UInt_t page)
 
     UInt_t size1 = 2;
 
-    if (IsLogx(page)) size1 = 3;  // last word is "logy"
+    if (IsLogx(page)) size1 = 3;  // last word is "logx"
     if (IsLogy(page)) size1 = 3;  // last word is "logy"
-    if (IsLogz(page)) size1 = 3;  // last word is "logy"
+    if (IsLogz(page)) size1 = 3;  // last word is "logz"
+    if (IsLogxy(page)) size1 = 3;  // last word is "logxy"
 
     // If the dimensions are defined, return them.
     if(sConfFile[page_index].size()>size1-1) {
@@ -987,16 +1000,23 @@ void OnlineGUI::DoDraw()
     gStyle->SetOptStat(1110);
     gStyle->SetStatFontSize(0.1);
 #endif
-    if (fConfig->IsLogx(current_page)) {
+    if (fConfig->IsLogxy(current_page)) {
         gStyle->SetOptLogx(1);
-    } else {
-        gStyle->SetOptLogx(0);
-    }
-    if (fConfig->IsLogy(current_page)) {
         gStyle->SetOptLogy(1);
     } else {
-        gStyle->SetOptLogy(0);
+        if (fConfig->IsLogx(current_page)) {
+            gStyle->SetOptLogx(1);
+        } else {
+            gStyle->SetOptLogx(0);
+        }
+
+        if (fConfig->IsLogy(current_page)) {
+            gStyle->SetOptLogy(1);
+        } else {
+            gStyle->SetOptLogy(0);
+        }
     }
+
     if (fConfig->IsLogz(current_page)) {
         gStyle->SetOptLogz(1);
     } else {
diff --git a/onlineGUI/onlineGUI_v1.2.1/online.h b/onlineGUI/onlineGUI_v1.2.1/online.h
index 6e6e10e220f806dc7db08995040dd1e31c12359a..44ea36d8ff1193066bb92e82189075dff298d479 100755
--- a/onlineGUI/onlineGUI_v1.2.1/online.h
+++ b/onlineGUI/onlineGUI_v1.2.1/online.h
@@ -101,6 +101,7 @@ public:
   // Page utilites
   UInt_t  GetPageCount() { return pageInfo.size(); };
   pair <UInt_t,UInt_t> GetPageDim(UInt_t);
+  Bool_t IsLogxy(UInt_t page);
   Bool_t IsLogx(UInt_t page);
   Bool_t IsLogy(UInt_t page);
   Bool_t IsLogz(UInt_t page);