From b462742b9821008ade255ec2e38ae1b3a0c72c58 Mon Sep 17 00:00:00 2001
From: Eric Pooser <pooser@jlab.org>
Date: Tue, 18 Jul 2017 10:49:01 -0400
Subject: [PATCH] Pooser template work (#172)

* Add directory stucture for report outputs

* Add directory structure for templates

* Add directory structure to SCRIPTS directory

* Remove templates from old directory stucture

* Create SHMS EPICS directory

* Configure stack and scaler replay

Add directroy structure to scripts directory

* Add directories for stack and scalers for report output

* Modify locations of replay scripts, def-files, and templates

* Incoporate fast raster into trigger apparatus and stack map

* Add directory structure to maps

Reconfigure test stand scripts to point to new map loactions

* Add fast raster histograms and aesthetic changes

* Tweak stack & all DEF-files

Rename cut files

Configure separate replay scripts

* Remove REPORT_OUTPUT directory from framework since this file should be sym linked to the RAID disk

* Uncomment histos

* Re-work DEF-file directory structure so that one DEF-file exists for each stack component

Include python script to cat individual DEF-files into single DEF-file
---
 DEF-files/SHMS/ALL/AERO/paero_histos.def      |  43 ++
 DEF-files/SHMS/ALL/BLOCK/pblock_vars.def      |  13 +
 DEF-files/SHMS/ALL/CAL/pcal_histos.def        | 110 +++
 DEF-files/SHMS/ALL/DC/pdc_histos.def          | 162 ++++
 DEF-files/SHMS/ALL/EPICS/pepics_vars.def      |  15 +
 DEF-files/SHMS/ALL/HGC/phgcer_histos.def      |  39 +
 DEF-files/SHMS/ALL/HODO/phodo_histos.def      | 178 +++++
 DEF-files/SHMS/ALL/NGC/pngcer_histos.def      |  39 +
 DEF-files/SHMS/ALL/TRIG/ptrig_histos.def      |  90 +++
 DEF-files/SHMS/ALL/merge_def_files.py         |  25 +
 DEF-files/SHMS/ALL/merge_list.txt             |   9 +
 DEF-files/SHMS/ALL/pstackana_all.def          | 699 ++++++++++++++++++
 DEF-files/SHMS/ALL/pstackana_all_cuts.def     | 234 ++++++
 DEF-files/SHMS/EPICS/epics.def                | 299 ++++++++
 DEF-files/SHMS/EPICS/epics_short.def          |  14 +
 .../{GEN => EXAMPLES}/workshop_example.def    |   0
 DEF-files/SHMS/GEN/pstackana_cuts.def         |  27 -
 DEF-files/SHMS/GEN/pstackana_report.def       | 257 -------
 DEF-files/SHMS/GEN/pstackana_report_cuts.def  | 230 ------
 DEF-files/SHMS/HGCER/phgcerana.def            |  36 +-
 DEF-files/SHMS/SCALERS/pscaler_cuts.def       |  37 +
 DEF-files/SHMS/STACK/AERO/paero_histos.def    |  43 ++
 DEF-files/SHMS/STACK/BLOCK/pblock_vars.def    |  13 +
 DEF-files/SHMS/STACK/CAL/pcal_histos.def      | 110 +++
 DEF-files/SHMS/STACK/DC/pdc_histos.def        | 162 ++++
 DEF-files/SHMS/STACK/HGC/phgcer_histos.def    |  39 +
 DEF-files/SHMS/STACK/HODO/phodo_histos.def    | 178 +++++
 DEF-files/SHMS/STACK/NGC/pngcer_histos.def    |  39 +
 DEF-files/SHMS/STACK/TRIG/ptrig_histos.def    |  90 +++
 DEF-files/SHMS/STACK/merge_def_files.py       |  25 +
 DEF-files/SHMS/STACK/merge_list.txt           |   8 +
 DEF-files/SHMS/{GEN => STACK}/pstackana.def   | 440 +++++++----
 DEF-files/SHMS/STACK/pstackana_cuts.def       | 234 ++++++
 MAPS/SHMS/DETEC/{ => AERO}/paero.map          |   0
 MAPS/SHMS/DETEC/{ => AERO}/paero_ptrig.map    |   0
 MAPS/SHMS/DETEC/{ => CAL}/pcal.map            |   0
 MAPS/SHMS/DETEC/{ => DC}/pdc.map              |   0
 MAPS/SHMS/DETEC/{ => HGC}/phgcer.map          |   0
 MAPS/SHMS/DETEC/{ => HGC}/phgcer_ptrig.map    |   0
 MAPS/SHMS/DETEC/{ => HODO}/phodo.map          |   0
 MAPS/SHMS/DETEC/{ => HODO}/phodo_ptrig.map    |   0
 MAPS/SHMS/DETEC/{ => NGC}/pngcer.map          |   0
 MAPS/SHMS/DETEC/{ => NGC}/pngcer_ptrig.map    |   0
 .../DETEC/{ => RASTER}/praster_simple.map     |   0
 MAPS/SHMS/DETEC/{ => STACK}/shms_stack.map    |   4 +
 MAPS/SHMS/DETEC/{ => TRIG}/ptrig.map          |   5 +
 PARAM/TRIG/tshms.param                        |  12 +-
 PARAM/TRIG/tshms_raster.param                 |   2 +-
 .../replay_all_shms.C}                        |  51 +-
 .../{ => EXAMPLES}/replay_workshop_example.C  |   0
 .../{ => RASTER}/replay_shms_raster_simple.C  |  38 +-
 .../SHMS/{ => SCALERS}/replay_shms_scalers.C  |  50 +-
 SCRIPTS/SHMS/{ => STACK}/replay_shms.C        |  37 +-
 .../replay_paero_test_stand.C                 |   2 +-
 .../replay_pcal_test_stand.C                  |   2 +-
 .../{ => TEST_STANDS}/replay_pdc_test_stand.C |   2 +-
 .../replay_phgcer_test_stand.C                |   2 +-
 .../replay_phodo_test_stand.C                 |   2 +-
 .../replay_pngcer_test_stand.C                |   2 +-
 .../replay_ptrig_test_stand.C                 |   2 +-
 TEMPLATES/{ => DETEC}/dcana.template          |   0
 TEMPLATES/{ => HMS}/hstackana.template        |   0
 TEMPLATES/SHMS/ALL/pstackana_all.template     |  86 +++
 TEMPLATES/SHMS/SCALERS/pscalers.template      |   9 +
 TEMPLATES/SHMS/STACK/pstackana.template       |  79 ++
 TEMPLATES/pstackana.template                  | 100 ---
 66 files changed, 3525 insertions(+), 899 deletions(-)
 create mode 100644 DEF-files/SHMS/ALL/AERO/paero_histos.def
 create mode 100644 DEF-files/SHMS/ALL/BLOCK/pblock_vars.def
 create mode 100644 DEF-files/SHMS/ALL/CAL/pcal_histos.def
 create mode 100644 DEF-files/SHMS/ALL/DC/pdc_histos.def
 create mode 100644 DEF-files/SHMS/ALL/EPICS/pepics_vars.def
 create mode 100644 DEF-files/SHMS/ALL/HGC/phgcer_histos.def
 create mode 100644 DEF-files/SHMS/ALL/HODO/phodo_histos.def
 create mode 100644 DEF-files/SHMS/ALL/NGC/pngcer_histos.def
 create mode 100644 DEF-files/SHMS/ALL/TRIG/ptrig_histos.def
 create mode 100644 DEF-files/SHMS/ALL/merge_def_files.py
 create mode 100644 DEF-files/SHMS/ALL/merge_list.txt
 create mode 100644 DEF-files/SHMS/ALL/pstackana_all.def
 create mode 100644 DEF-files/SHMS/ALL/pstackana_all_cuts.def
 create mode 100644 DEF-files/SHMS/EPICS/epics.def
 create mode 100644 DEF-files/SHMS/EPICS/epics_short.def
 rename DEF-files/SHMS/{GEN => EXAMPLES}/workshop_example.def (100%)
 delete mode 100644 DEF-files/SHMS/GEN/pstackana_cuts.def
 delete mode 100644 DEF-files/SHMS/GEN/pstackana_report.def
 delete mode 100644 DEF-files/SHMS/GEN/pstackana_report_cuts.def
 create mode 100644 DEF-files/SHMS/SCALERS/pscaler_cuts.def
 create mode 100644 DEF-files/SHMS/STACK/AERO/paero_histos.def
 create mode 100644 DEF-files/SHMS/STACK/BLOCK/pblock_vars.def
 create mode 100644 DEF-files/SHMS/STACK/CAL/pcal_histos.def
 create mode 100644 DEF-files/SHMS/STACK/DC/pdc_histos.def
 create mode 100644 DEF-files/SHMS/STACK/HGC/phgcer_histos.def
 create mode 100644 DEF-files/SHMS/STACK/HODO/phodo_histos.def
 create mode 100644 DEF-files/SHMS/STACK/NGC/pngcer_histos.def
 create mode 100644 DEF-files/SHMS/STACK/TRIG/ptrig_histos.def
 create mode 100644 DEF-files/SHMS/STACK/merge_def_files.py
 create mode 100644 DEF-files/SHMS/STACK/merge_list.txt
 rename DEF-files/SHMS/{GEN => STACK}/pstackana.def (77%)
 create mode 100644 DEF-files/SHMS/STACK/pstackana_cuts.def
 rename MAPS/SHMS/DETEC/{ => AERO}/paero.map (100%)
 rename MAPS/SHMS/DETEC/{ => AERO}/paero_ptrig.map (100%)
 rename MAPS/SHMS/DETEC/{ => CAL}/pcal.map (100%)
 rename MAPS/SHMS/DETEC/{ => DC}/pdc.map (100%)
 rename MAPS/SHMS/DETEC/{ => HGC}/phgcer.map (100%)
 rename MAPS/SHMS/DETEC/{ => HGC}/phgcer_ptrig.map (100%)
 rename MAPS/SHMS/DETEC/{ => HODO}/phodo.map (100%)
 rename MAPS/SHMS/DETEC/{ => HODO}/phodo_ptrig.map (100%)
 rename MAPS/SHMS/DETEC/{ => NGC}/pngcer.map (100%)
 rename MAPS/SHMS/DETEC/{ => NGC}/pngcer_ptrig.map (100%)
 rename MAPS/SHMS/DETEC/{ => RASTER}/praster_simple.map (100%)
 rename MAPS/SHMS/DETEC/{ => STACK}/shms_stack.map (99%)
 rename MAPS/SHMS/DETEC/{ => TRIG}/ptrig.map (88%)
 rename SCRIPTS/SHMS/{replay_shms_report.C => ALL/replay_all_shms.C} (73%)
 rename SCRIPTS/SHMS/{ => EXAMPLES}/replay_workshop_example.C (100%)
 rename SCRIPTS/SHMS/{ => RASTER}/replay_shms_raster_simple.C (74%)
 rename SCRIPTS/SHMS/{ => SCALERS}/replay_shms_scalers.C (70%)
 rename SCRIPTS/SHMS/{ => STACK}/replay_shms.C (83%)
 rename SCRIPTS/SHMS/{ => TEST_STANDS}/replay_paero_test_stand.C (98%)
 rename SCRIPTS/SHMS/{ => TEST_STANDS}/replay_pcal_test_stand.C (98%)
 rename SCRIPTS/SHMS/{ => TEST_STANDS}/replay_pdc_test_stand.C (98%)
 rename SCRIPTS/SHMS/{ => TEST_STANDS}/replay_phgcer_test_stand.C (98%)
 rename SCRIPTS/SHMS/{ => TEST_STANDS}/replay_phodo_test_stand.C (98%)
 rename SCRIPTS/SHMS/{ => TEST_STANDS}/replay_pngcer_test_stand.C (98%)
 rename SCRIPTS/SHMS/{ => TEST_STANDS}/replay_ptrig_test_stand.C (98%)
 rename TEMPLATES/{ => DETEC}/dcana.template (100%)
 rename TEMPLATES/{ => HMS}/hstackana.template (100%)
 create mode 100644 TEMPLATES/SHMS/ALL/pstackana_all.template
 create mode 100644 TEMPLATES/SHMS/SCALERS/pscalers.template
 create mode 100644 TEMPLATES/SHMS/STACK/pstackana.template
 delete mode 100644 TEMPLATES/pstackana.template

diff --git a/DEF-files/SHMS/ALL/AERO/paero_histos.def b/DEF-files/SHMS/ALL/AERO/paero_histos.def
new file mode 100644
index 00000000..47e557e4
--- /dev/null
+++ b/DEF-files/SHMS/ALL/AERO/paero_histos.def
@@ -0,0 +1,43 @@
+#***************
+# SHMS AEROGEL *
+#***************
+
+#----------------------------------------------
+# SHMS AEROGEL GOOD Occupancy and Multiplicity
+#----------------------------------------------
+
+TH1F paero_good_occ_pos 'SHMS Aero+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.aero.numGoodPosAdcHits 7 0.5 7.5
+TH1F paero_good_occ_neg 'SHMS Aero- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.aero.numGoodNegAdcHits 7 0.5 7.5
+TH1F paero_good_mult_pos 'SHMS Aero+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.aero.totNumGoodPosAdcHits 7 0.5 7.5
+TH1F paero_good_mult_neg 'SHMS Aero- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.aero.totNumGoodNegAdcHits 7 0.5 7.5
+TH1F paero_good_mult 'SHMS Aero Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.aero.totnumGoodAdcHits 14 0.5 14.5
+
+#-------------------------------
+# SHMS AERO TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F paero_tot_npe_pos 'SHMS Aero+ Total Number of Photoelectrons; Total Number of Pos Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.posNpeSum 200 0 100 P.aero.posNpeSum>0.0 
+TH1F paero_tot_npe_neg 'SHMS Aero- Total Number of Photoelectrons; Total Number of Neg Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.negNpeSum 200 0 100 P.aero.negNpeSum>0.0 
+TH1F paero_tot_npe 'SHMS Aero Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.npeSum 200 0 100 P.aero.npeSum>0.0 
+
+#--------------------------------
+# SHMS AERO Number of P.E. / PMT
+#--------------------------------
+
+TH2F paero_npe_pos 'SHMS Aero+ Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.posNpe 7 0.5 7.5 200 0 100 P.aero.posNpe>0.0 
+TH2F paero_npe_neg 'SHMS Aero- Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.negNpe 7 0.5 7.5 200 0 100 P.aero.negNpe>0.0 
+
+#------------------------------------------------------------------------------
+# SHMS AERO GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#------------------------------------------------------------------------------
+
+TH2F paero_good_pped_vs_pmt_pos 'SHMS Aero+ Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodPosAdcPed 7 0.5 7.5 400 300 700  P.aero.goodPosAdcPed>0.0
+TH2F paero_good_pi_vs_pmt_pos 'SHMS Aero+ Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodPosAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodPosAdcPulseInt>0.0
+TH2F paero_good_pamp_vs_pmt_pos 'SHMS Aero+ Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodPosAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodPosAdcPulseAmp>0.0
+TH2F paero_good_ptime_vs_pmt_pos 'SHMS Aero+ Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodPosAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodPosAdcPulseTime>0.0
+
+TH2F paero_good_pped_vs_pmt_neg 'SHMS Aero- Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodNegAdcPed 7 0.5 7.5 400 300 700 P.aero.goodNegAdcPed>0.0
+TH2F paero_good_pi_vs_pmt_neg 'SHMS Aero- Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodNegAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodNegAdcPulseInt>0.0
+TH2F paero_good_pamp_vs_pmt_neg 'SHMS Aero- Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodNegAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodNegAdcPulseAmp>0.0
+TH2F paero_good_ptime_vs_pmt_neg 'SHMS Aero- Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodNegAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodNegAdcPulseTime>0.0
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/BLOCK/pblock_vars.def b/DEF-files/SHMS/ALL/BLOCK/pblock_vars.def
new file mode 100644
index 00000000..4d4ad24c
--- /dev/null
+++ b/DEF-files/SHMS/ALL/BLOCK/pblock_vars.def
@@ -0,0 +1,13 @@
+#********************
+# Block Definitions *
+#********************
+
+block T.shms.*
+block P.ngcer.*
+block P.dc.*
+block P.tr.*
+block P.hod.*
+block P.hgcer.*
+block P.aero.*
+block P.cal.*
+block P.gtr.*
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/CAL/pcal_histos.def b/DEF-files/SHMS/ALL/CAL/pcal_histos.def
new file mode 100644
index 00000000..36e37b71
--- /dev/null
+++ b/DEF-files/SHMS/ALL/CAL/pcal_histos.def
@@ -0,0 +1,110 @@
+#*******************
+# SHMS CALORIMETER *
+#*******************
+
+#--------------------------------------------
+# SHMS PreSH GOOD Occupancy and Multiplicity
+#--------------------------------------------
+
+TH1F pcal_prshwr_good_occ_pos 'SHMS PreShower+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.cal.pr.numGoodPosAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_occ_neg 'SHMS PreShower- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.cal.pr.numGoodNegAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult_pos 'SHMS PreShower+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.cal.pr.totNumGoodPosAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult_neg 'SHMS PreShower- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.cal.pr.totNumGoodNegAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult 'SHMS PreShower Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.cal.pr.totnumGoodAdcHits 28 0.5 28.5
+
+#--------------------------------------------------------------------------------------------------
+# GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES 
+# GOOD --> (passed errorFlag cut, pulsetime cuts oN Min/Max ADC Time Window, and ADC threshold cut)
+#--------------------------------------------------------------------------------------------------
+
+TH2F pcal_prshwr_good_pped_vs_pmt_pos 'SHMS PreShower+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodPosAdcPed 14 0.5 14.5 400 300 700  P.cal.pr.goodPosAdcPed>0.0
+TH2F pcal_prshwr_good_pi_vs_pmt_pos 'SHMS PreShower+ Good Pulse Integral vs. PMT Number; PMT Number; Good  Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodPosAdcPulseInt>0.0
+TH2F pcal_prshwr_good_pamp_vs_pmt_pos 'SHMS PreShower+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good  Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodPosAdcPulseAmp>0.0
+TH2F pcal_prshwr_good_ptime_vs_pmt_pos 'SHMS PreShower+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodPosAdcPulseTime>0.0
+
+TH2F pcal_prshwr_good_pped_vs_pmt_neg 'SHMS PreShower- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodNegAdcPed 14 0.5 14.5 400 300 700  P.cal.pr.goodNegAdcPed>0.0
+TH2F pcal_prshwr_good_pi_vs_pmt_neg 'SHMS PreShower- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodNegAdcPulseInt>0.0
+TH2F pcal_prshwr_good_pamp_vs_pmt_neg 'SHMS PreShower- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodNegAdcPulseAmp>0.0
+TH2F pcal_prshwr_good_ptime_vs_pmt_neg 'SHMS PreShower- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodNegAdcPulseTime>0.0
+
+#------------------------------------------------------
+# SHMS PRE-SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
+#------------------------------------------------------
+
+TH2F pcal_prshwr_Epos_vs_pmt 'SHMS PreShower+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.epos 14 0.5 14.5 200 0 2 P.cal.pr.epos>0.0
+TH2F pcal_prshwr_Eneg_vs_pmt 'SHMS PreShower- Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.eneg 14 0.5 14.5 200 0 2 P.cal.pr.eneg>0.0
+TH2F pcal_prshwr_Emean_vs_pmt 'SHMS PreShower Mean Energy Deposition vs. PMT Number; PMT Number; Mean Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.emean 14 0.5 14.5 300 0 3 P.cal.pr.emean>0.0
+
+#-------------------------------------------
+# SHMS ENERGY DEPOSITION in PreShower PLANE
+#-------------------------------------------
+
+TH1F pcal_prshwr_Eplane_pos 'SHMS PreShower+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_pos 200 0 2 P.cal.pr.eplane_pos>0.0
+TH1F pcal_prshwr_Eplane_neg 'SHMS PreShower- Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_neg 200 0 2 P.cal.pr.eplane_neg>0.0
+TH1F pcal_prshwr_Eplane 'SHMS PreShower Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane 300 0 3 P.cal.pr.eplane>0.0
+
+#---------------------------------------------
+# SHMS Shower GOOD Occupancy and Multiplicity
+#---------------------------------------------
+TH1F pcal_shwr_good_occ 'SHMS Shower Good Occupancy; PMT Number; Number of Good ADC Hits' P.cal.fly.numGoodAdcHits 224 0.5 224.5
+TH1F pcal_shwr_good_mult 'SHMS Shower Good Multiplicity; PMT Number; Total Number of Good ADC Hits' P.cal.fly.totNumGoodAdcHits 224 0.5 224.5
+
+#-------------------------------------------------------------
+# SHMS Shower GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES
+#-------------------------------------------------------------
+
+TH2F pcal_shwr_good_pped_vs_pmt 'SHMS Shower Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.fly.goodAdcPed 224 0.5 224.5 700 300 1000 P.cal.fly.goodAdcPed>0.0
+TH2F pcal_shwr_good_pi_vs_pmt 'SHMS Shower Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.fly.goodAdcPulseInt 224 0.5 224.5 600 0 30000 P.cal.fly.goodAdcPulseInt>0.0
+TH2F pcal_shwr_good_pamp_vs_pmt 'SHMS Shower Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.fly.goodAdcPulseAmp 224 0.5 224.5 200 0 4000 P.cal.fly.goodAdcPulseAmp>0.0
+TH2F pcal_shwr_good_ptime_vs_pmt 'SHMS Shower Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.fly.goodAdcPulseTime 224 0.5 224.5 350 0 3500 P.cal.fly.goodAdcPulseTime>0.0
+
+#--------------------------------------------------
+# SHMS SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
+#--------------------------------------------------
+
+TH2F pcal_shwr_E_vs_pmt 'SHMS Shower Energy Deposition vs. PMT Number; PMT Number; Energy Deposited (0.01 GeV / ADC Units)' [I+1] P.cal.fly.e 224 0.5 224.5 300 0 3 P.cal.fly.e>0.0
+
+#--------------------------------------------------
+# TOTAL ENERGY DEPOSITION IN THE SHMS SHOWER ARRAY
+#--------------------------------------------------
+
+TH1F pcal_shwr_Earray 'SHMS Shower Total Energy Deposition in Array; Total Energy Deposited (GeV); Number of Entries / 0.01 GeV' P.cal.fly.earray 600 0 6 P.cal.fly.earray>0.0
+
+#-------------------------------------------------------------------------------------
+# SHMS PRE-SHOWER AND SHOWER (CALORIMETER) TOTAL ENERGY DEPOSITION
+# TOTAL ENERGY AND NORMALIZED ENERGY DEPOSITED IN CALORIMETER (SHOWER AND PRE-SHOWER)
+#-------------------------------------------------------------------------------------
+
+TH1F pcal_etot 'SHMS Calorimeter Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.etot 500 0 5 P.cal.etot>0.0
+TH1F pcal_etot_norm 'SHMS Calorimeter Total Normalized Energy Deposition; Total Energy Deposited (GeV) / P0 (GeV); Number of Entries / 0.01' P.cal.etotnorm 500 0 5 P.cal.etotnorm>0.0
+TH1F pcal_etrack 'SHMS Calorimeter Total Track Energy; Track Energy Deposited (GeV); Number of Entries / 0.1 GeV' P.cal.etrack 100 0 10 P.cal.etrack>0.0 
+TH1F pcal_etracknorm 'SHMS Calorimeter Normalized Track Energy; Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0
+TH1F pcal_etracknorm_track 'SHMS Calorimeter Normalized Track Energy (Ntrack > 0); Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0&&P.dc.ntrack>0
+TH1F pcal_enenorm_track_elec 'SHMS Cal energy/p (npeSum > .5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum>.5&&P.hgcer.npeSum>.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH1F pcal_enenorm_track_pion 'SHMS Cal energy/p (npeSum <.5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum<.5&&P.hgcer.npeSum<.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH2F pcal_ene_2dtrack 'SHMS Cal energy v energy track' P.cal.etrack P.cal.etot 1000 0. 5. 1000 0. 5. P.dc.ntrack>0
+TH2F pcal_delta_etrack 'SHMS Delta v Cal energy/p ' P.cal.etracknorm P.gtr.dp 60 0. 1.5 80 -15. 25. P.dc.ntrack>0
+TH2F pcal_ngnpe_etrack 'SHMS NG Cer Npe v Cal energy/p' P.cal.etracknorm P.ngcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
+TH2F pcal_hgnpe_etrack 'SHMS HG Cer Npe v Cal energy/p' P.cal.etracknorm P.hgcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
+
+#-------------------------------
+# SHMS PID AND ACCEPTANCE PLOTS
+#-------------------------------
+
+TH2F hgc_vs_prshw 'SHMS HGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; HGC Total N.P.E. / 0.5' P.cal.pr.eplane P.hgcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.hgcer.npeSum>0.0 
+TH2F ngc_vs_prshw 'SHMS NGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; NGC Total N.P.E. / 0.5' P.cal.pr.eplane P.ngcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.ngcer.npeSum>0.0 
+TH2F pcal_shw_vs_prshw 'Shower vs. PreShower Energy Deposition; PreShower Energy / 0.1 GeV; Shower Energy / 0.1 GeV' P.cal.pr.eplane P.cal.fly.earray 50 0 5 350 0 35  P.cal.pr.eplane>0.0&&P.cal.fly.earray>0.0 
+TH2F delta_vs_etracknorm 'SHMS Delta. vs. Normalized Track Energy; Calorimeter Normalized Track Energy; Momentum Acceptance (%)' P.cal.etracknorm P.gtr.dp 50 0 5 80 -15, 25 P.cal.etracknorm>0.0&&P.dc.ntrack>0 
+
+#---------------------------
+#  CLUSTERING PLOTS
+#---------------------------
+
+TH1F pcal_xclusttrack 'SHMS Cal X pos' P.cal.xclusttrack 200 -100. 100. P.cal.nclusttrack>-1
+TH1F pcal_xdiff 'SHMS Cal X pos - X track' P.cal.xclusttrack-P.cal.xtrack 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH2F pcal_xdiff_v_xtr 'SHMS Cal X pos - X track v Xtr' P.cal.xtrack P.cal.xclusttrack-P.cal.xtrack 200 -100. 100. 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack 'SHMS Cal X pos of track' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack1 'SHMS Cal X pos of track no matching clust' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
+TH1F pcal_xtrack2 'SHMS Cal X pos of track no matching clust number of cluster=1' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.cal.nclust==0&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/DC/pdc_histos.def b/DEF-files/SHMS/ALL/DC/pdc_histos.def
new file mode 100644
index 00000000..0d5485e0
--- /dev/null
+++ b/DEF-files/SHMS/ALL/DC/pdc_histos.def
@@ -0,0 +1,162 @@
+#*****************
+# Drift Chambers *
+#*****************
+
+#------------------
+# SHMS DC WIRE MAP
+#------------------
+
+TH1F pdc1u1_wirenum 'SHMS DC 1U1 Wiremap; Wire Number; Number of Entries' P.dc.1u1.wirenum 107 0.5 107.5
+TH1F pdc1u2_wirenum 'SHMS DC 1U2 Wiremap; Wire Number; Number of Entries' P.dc.1u2.wirenum 107 0.5 107.5
+TH1F pdc1x1_wirenum 'SHMS DC 1X1 Wiremap; Wire Number; Number of Entries' P.dc.1x1.wirenum  79 0.5  79.5
+TH1F pdc1x2_wirenum 'SHMS DC 1X2 Wiremap; Wire Number; Number of Entries' P.dc.1x2.wirenum  79 0.5  79.5
+TH1F pdc1v1_wirenum 'SHMS DC 1V1 Wiremap; Wire Number; Number of Entries' P.dc.1v1.wirenum 107 0.5 107.5
+TH1F pdc1v2_wirenum 'SHMS DC 1V2 Wiremap; Wire Number; Number of Entries' P.dc.1v2.wirenum 107 0.5 107.5
+
+TH1F pdc2v2_wirenum 'SHMS DC 2V2 Wiremap; Wire Number; Number of Entries' P.dc.2v2.wirenum 107 0.5 107.5
+TH1F pdc2v1_wirenum 'SHMS DC 2V1 Wiremap; Wire Number; Number of Entries' P.dc.2v1.wirenum 107 0.5 107.5
+TH1F pdc2x2_wirenum 'SHMS DC 2X2 Wiremap; Wire Number; Number of Entries' P.dc.2x2.wirenum  79 0.5  79.5
+TH1F pdc2x1_wirenum 'SHMS DC 2X1 Wiremap; Wire Number; Number of Entries' P.dc.2x1.wirenum  79 0.5  79.5
+TH1F pdc2u2_wirenum 'SHMS DC 2U2 Wiremap; Wire Number; Number of Entries' P.dc.2u2.wirenum 107 0.5 107.5
+TH1F pdc2u1_wirenum 'SHMS DC 2U1 Wiremap; Wire Number; Number of Entries' P.dc.2u1.wirenum 107 0.5 107.5
+
+#------------------------------
+# SHMS DC DRIFT TIME PER PLANE 
+#------------------------------
+
+TH1F pdc1u1_drifttime 'SHMS DC 1U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u1.time 400 -50 350
+TH1F pdc1u2_drifttime 'SHMS DC 1U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u2.time 400 -50 350
+TH1F pdc1x1_drifttime 'SHMS DC 1X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x1.time 400 -50 350
+TH1F pdc1x2_drifttime 'SHMS DC 1X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x2.time 400 -50 350
+TH1F pdc1v1_drifttime 'SHMS DC 1V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v1.time 400 -50 350
+TH1F pdc1v2_drifttime 'SHMS DC 1V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v2.time 400 -50 350
+
+TH1F pdc2v2_drifttime 'SHMS DC 2V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v2.time 400 -50 350
+TH1F pdc2v1_drifttime 'SHMS DC 2V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v1.time 400 -50 350
+TH1F pdc2x2_drifttime 'SHMS DC 2X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x2.time 400 -50 350
+TH1F pdc2x1_drifttime 'SHMS DC 2X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x1.time 400 -50 350
+TH1F pdc2u2_drifttime 'SHMS DC 2U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u2.time 400 -50 350
+TH1F pdc2u1_drifttime 'SHMS DC 2U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u1.time 400 -50 350
+
+#----------------------------------
+# SHMS DC DRIFT TIME VS. WIRENUMBER 
+#----------------------------------
+
+TH2F pdc1u1_drifttime_vs_wirenum 'SHMS DC 1U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u1.wirenum P.dc.1u1.time 107 0.5 107.5 500 0 500
+TH2F pdc1u2_drifttime_vs_wirenum 'SHMS DC 1U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u2.wirenum P.dc.1u2.time 107 0.5 107.5 500 0 500
+TH2F pdc1x1_drifttime_vs_wirenum 'SHMS DC 1X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x1.wirenum P.dc.1x1.time  79 0.5  79.5 500 0 500
+TH2F pdc1x2_drifttime_vs_wirenum 'SHMS DC 1X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x2.wirenum P.dc.1x2.time  79 0.5  79.5 500 0 500
+TH2F pdc1v1_drifttime_vs_wirenum 'SHMS DC 1V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v1.wirenum P.dc.1v1.time 107 0.5 107.5 500 0 500
+TH2F pdc1v2_drifttime_vs_wirenum 'SHMS DC 1V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v2.wirenum P.dc.1v2.time 107 0.5 107.5 500 0 500
+
+TH2F pdc2v2_drifttime_vs_wirenum 'SHMS DC 2V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v2.wirenum P.dc.2v2.time 107 0.5 107.5 500 0 500
+TH2F pdc2v1_drifttime_vs_wirenum 'SHMS DC 2V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v1.wirenum P.dc.2v1.time 107 0.5 107.5 500 0 500
+TH2F pdc2x2_drifttime_vs_wirenum 'SHMS DC 2X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x2.wirenum P.dc.2x2.time  79 0.5  79.5 500 0 500
+TH2F pdc2x1_drifttime_vs_wirenum 'SHMS DC 2X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x1.wirenum P.dc.2x1.time  79 0.5  79.5 500 0 500
+TH2F pdc2u2_drifttime_vs_wirenum 'SHMS DC 2U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u2.wirenum P.dc.2u2.time 107 0.5 107.5 500 0 500
+TH2F pdc2u1_drifttime_vs_wirenum 'SHMS DC 2U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 500 0 500
+
+#----------------------------------
+# SHMS DC Drift Distance Per Plane 
+#----------------------------------
+
+TH1F pdc1u1_ddist 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6
+TH1F pdc1u1_ddist_cut 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6   time_cut1
+
+TH1F pdc1u2_ddist 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6
+TH1F pdc1u2_ddist_cut 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6   time_cut2
+
+TH1F pdc1x1_ddist 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6
+TH1F pdc1x1_ddist_cut 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6   time_cut3
+
+TH1F pdc1x2_ddist 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6
+TH1F pdc1x2_ddist_cut 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6   time_cut4
+
+TH1F pdc1v1_ddist 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6
+TH1F pdc1v1_ddist_cut 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6   time_cut5
+
+TH1F pdc1v2_ddist 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6
+TH1F pdc1v2_ddist_cut 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6   time_cut6
+
+TH1F pdc2v2_ddist 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6
+TH1F pdc2v2_ddist_cut 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6   time_cut7
+
+TH1F pdc2v1_ddist 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6
+TH1F pdc2v1_ddist_cut 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6   time_cut8
+
+TH1F pdc2x2_ddist 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6
+TH1F pdc2x2_ddist_cut 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6   time_cut9
+
+TH1F pdc2x1_ddist 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6
+TH1F pdc2x1_ddist_cut 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6   time_cut10
+
+TH1F pdc2u2_ddist 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6
+TH1F pdc2u2_ddist_cut 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6   time_cut11
+
+TH1F pdc2u1_ddist 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6
+TH1F pdc2u1_ddist_cut 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6   time_cut12
+
+#----------------------------------------
+# SHMS DC Drift Distance vs. Wire number 
+#----------------------------------------
+
+TH2F pdc1u1_wirenum_vs_ddist 'SHMS 1U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u1.wirenum P.dc.1u1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1u2_wirenum_vs_ddist 'SHMS 1U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u2.wirenum P.dc.1u2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1x1_wirenum_vs_ddist 'SHMS 1X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x1.wirenum P.dc.1x1.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc1x2_wirenum_vs_ddist 'SHMS 1X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x2.wirenum P.dc.1x2.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc1v1_wirenum_vs_ddist 'SHMS 1V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v1.wirenum P.dc.1v1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1v2_wirenum_vs_ddist 'SHMS 1V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v2.wirenum P.dc.1v2.dist 107 0.5 107.5 300 -0.1 0.6
+
+TH2F pdc2u2_wirenum_vs_ddist 'SHMS 2U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u2.wirenum P.dc.2u2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2u1_wirenum_vs_ddist 'SHMS 2U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u1.wirenum P.dc.2u1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2x2_wirenum_vs_ddist 'SHMS 2X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x2.wirenum P.dc.2x2.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc2x1_wirenum_vs_ddist 'SHMS 2X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x1.wirenum P.dc.2x1.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc2v2_wirenum_vs_ddist 'SHMS 2V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v2.wirenum P.dc.2v2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2v1_wirenum_vs_ddist 'SHMS 2V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v1.wirenum P.dc.2v1.dist 107 0.5 107.5 300 -0.1 0.6
+
+#-----------------------------
+# SHMS DC RESIDUALS PER PLANE 
+#-----------------------------
+
+TH1F pdc1u1_residuals 'SHMS 1U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[0]  200 -1.0 1.0
+TH1F pdc1u2_residuals 'SHMS 1U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[1]  200 -1.0 1.0
+TH1F pdc1x1_residuals 'SHMS 1X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[2]  200 -1.0 1.0
+TH1F pdc1x2_residuals 'SHMS 1X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[3]  200 -1.0 1.0
+TH1F pdc1v1_residuals 'SHMS 1V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[4]  200 -1.0 1.0
+TH1F pdc1v2_residuals 'SHMS 1V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[5]  200 -1.0 1.0
+
+TH1F pdc2v2_residuals 'SHMS 2V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[6]  200 -1.0 1.0
+TH1F pdc2v1_residuals 'SHMS 2V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[7]  200 -1.0 1.0
+TH1F pdc2x2_residuals 'SHMS 2X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[8]  200 -1.0 1.0
+TH1F pdc2x1_residuals 'SHMS 2X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[9]  200 -1.0 1.0
+TH1F pdc2u2_residuals 'SHMS 2U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[10] 200 -1.0 1.0
+TH1F pdc2u1_residuals 'SHMS 2U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[11] 200 -1.0 1.0
+
+#-----------------------------------
+# SHMS DC RESIDUALS vs. Wire Number
+#-----------------------------------
+
+TH2F pdc1u1_residuals_vs_wirenum 'SHMS 1U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u1.wirenum P.dc.residual[0] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1u2_residuals_vs_wirenum 'SHMS 1U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u2.wirenum P.dc.residual[1] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1x1_residuals_vs_wirenum 'SHMS 1X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x1.wirenum P.dc.residual[2] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc1x2_residuals_vs_wirenum 'SHMS 1X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x2.wirenum P.dc.residual[3] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc1v1_residuals_vs_wirenum 'SHMS 1V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v1.wirenum P.dc.residual[4] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1v2_residuals_vs_wirenum 'SHMS 1V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v2.wirenum P.dc.residual[5] 107 0.5 107.5 200 -1.0 1.0
+
+TH2F pdc2v2_residuals_vs_wirenum 'SHMS 2V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v2.wirenum P.dc.residual[6] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2v1_residuals_vs_wirenum 'SHMS 2V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v1.wirenum P.dc.residual[7] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2x2_residuals_vs_wirenum 'SHMS 2X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x2.wirenum P.dc.residual[8] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc2x1_residuals_vs_wirenum 'SHMS 2X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x1.wirenum P.dc.residual[9] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc2u2_residuals_vs_wirenum 'SHMS 2U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u2.wirenum P.dc.residual[10] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2u1_residuals_vs_wirenum 'SHMS 2U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u1.wirenum P.dc.residual[11] 107 0.5 107.5 200 -1.0 1.0
+
+#-------------------------------------------
+# SHMS DC TRACKING VARIABLES AT FOCAL PLANE
+#-------------------------------------------
+
+TH1F pdc_trk_mom 'SHMS DC Track Momentum; P (GeV); Number of Entires / 10 MeV' P.tr.p 600 0 6
+TH1F pdc_trk_beta 'SHMS DC Track Beta; Beta (GeV); Number of Entires' P.tr.beta 300 -1.5 1.5
+TH2F pdc_xfp_vs_yxp 'SHMS DC X_{fp} vs Y_{fp}; Y_{fp} (cm) / 1 cm; X_{fp} (cm) / 1 cm' P.dc.y_fp P.dc.x_fp 100 -50 50 100 -50 50
+TH2F pdc_xpfp_vs_ypfp 'SHMS DC X'_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X'_{fp} / 0.002 rad' P.dc.yp_fp P.dc.xp_fp 100 -.1 .1 100 -.1 .1
+TH2F pdc_xfp_vs_ypfp 'SHMS DC X_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X_{fp} / 1 cm'  P.dc.yp_fp P.dc.x_fp 100 -.1 .1 100 -50 50 
+TH2F pdc_xfp_vs_xpfp 'SHMS DC X_{fp} vs X'_{fp}; X'_{fp} / 0.002 rad; X_{fp} / 1 cm' P.dc.xp_fp P.dc.x_fp 100 -.1 .1 100 -50 50
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/EPICS/pepics_vars.def b/DEF-files/SHMS/ALL/EPICS/pepics_vars.def
new file mode 100644
index 00000000..cf57cde2
--- /dev/null
+++ b/DEF-files/SHMS/ALL/EPICS/pepics_vars.def
@@ -0,0 +1,15 @@
+#******************
+# EPICS VARIABLES *
+#******************
+
+begin epics
+
+IBC3H00CRCUR4
+hac_bcm_average
+ibcm1
+ibcm2
+iunser
+itov3out
+itov4out
+
+end epics
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/HGC/phgcer_histos.def b/DEF-files/SHMS/ALL/HGC/phgcer_histos.def
new file mode 100644
index 00000000..82bae8b9
--- /dev/null
+++ b/DEF-files/SHMS/ALL/HGC/phgcer_histos.def
@@ -0,0 +1,39 @@
+#**********************
+# Heavy Gas Cherenkov *
+#**********************
+
+#-----------------------------------------
+# SHMS HGC GOOD Occupancy and Multiplicity
+#-----------------------------------------
+
+TH1F phgcer_good_occ 'SHMS Heavy Gas Cherenkov Good Occupancy; PMT Number; Number Good ADC Hits' P.hgcer.numGoodAdcHits 4 0.5 4.5
+TH1F phgcer_good_mult 'SHMS Heavy Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hgcer.totNumGoodAdcHits 4 0.5 4.5
+
+#-------------------------------------------------------------------------------
+# SHMS HGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#-------------------------------------------------------------------------------
+
+TH2F phgcer_good_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.hgcer.goodAdcPed 4 0.5 4.5 400 300 700
+TH2F phgcer_good_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseInt>0.0
+TH2F phgcer_good_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.hgcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.hgcer.goodAdcPulseAmp>0.0
+TH2F phgcer_good_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.hgcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.hgcer.goodAdcPulseTime>0.0
+
+#-------------------------------
+# SHMS HGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0 
+
+#-------------------------------
+# SHMS HGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0 
+
+#--------------------------
+# SHMS HGC TRACK MATCHING
+#--------------------------
+
+sTH1F phgcer_trk_match 'SHMS Noble Gas Cherenkov Track Matches; PMT Number; Number of Tracks Matched' P.hgcer.numTracksMatched 4 0.5 4.5
+sTH1F phgcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.hgcer.numTracksFired 4 0.5 4.5
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/HODO/phodo_histos.def b/DEF-files/SHMS/ALL/HODO/phodo_histos.def
new file mode 100644
index 00000000..8e99e5aa
--- /dev/null
+++ b/DEF-files/SHMS/ALL/HODO/phodo_histos.def
@@ -0,0 +1,178 @@
+#*****************
+# SHMS HODOSCOPES
+#*****************
+
+#-----------------------------------
+# SHMS HODO GOOD ADC Multiplicities 
+#-----------------------------------
+
+TH1F phodo_1x_good_adc_mult_pos 'SHMS 1X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1x.totNumGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult_pos 'SHMS 1Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1y.totNumGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult_pos 'SHMS 2X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2x.totNumGoodPosAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult_pos 'SHMS 2Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2y.totNumGoodPosAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_mult_neg 'SHMS 1X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1x.totNumGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult_neg 'SHMS 1Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1y.totNumGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult_neg 'SHMS 2X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2x.totNumGoodNegAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult_neg 'SHMS 2Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2y.totNumGoodNegAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_mult 'SHMS 1X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1x.totNumGoodAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult 'SHMS 1Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1y.totNumGoodAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult 'SHMS 2X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2x.totNumGoodAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult 'SHMS 2Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2y.totNumGoodAdcHits 21 0.5 21.5
+
+#-----------------------------------
+# SHMS HODO Good TDC Multiplicities
+#-----------------------------------
+
+TH1F phodo_1x_good_tdc_mult_pos 'SHMS 1X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1x.totNumGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult_pos 'SHMS 1Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1y.totNumGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult_pos 'SHMS 2X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2x.totNumGoodPosTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult_pos 'SHMS 2Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2y.totNumGoodPosTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_mult_neg 'SHMS 1X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1x.totNumGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult_neg 'SHMS 1Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1y.totNumGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult_neg 'SHMS 2X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2x.totNumGoodNegTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult_neg 'SHMS 2Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2y.totNumGoodNegTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_mult 'SHMS 1X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1x.totNumGoodTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult 'SHMS 1Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1y.totNumGoodTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult 'SHMS 2X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2x.totNumGoodTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult 'SHMS 2Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2y.totNumGoodTdcHits 21 0.5 21.5
+
+#---------------------------------
+# SHMS HODO GOOD ADC OCCUPANCIES
+#---------------------------------
+
+TH1F phodo_1x_good_adc_occ_pos 'SHMS 1X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1x.numGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_occ_pos 'SHMS 1Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1y.numGoodPosAdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_adc_occ_pos 'SHMS 2X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2x.numGoodPosAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_occ_pos 'SHMS 2Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2y.numGoodPosAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_occ_neg 'SHMS 1X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1x.numGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_occ_neg 'SHMS 1Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1y.numGoodNegAdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_adc_occ_neg 'SHMS 2X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2x.numGoodNegAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_occ_neg 'SHMS 2Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2y.numGoodNegAdcHits 21 0.5 21.5
+
+#--------------------------------
+# SHMS HODO GOOD TDC OCCUPANCIES
+#--------------------------------
+
+TH1F phodo_1x_good_tdc_occ_pos 'SHMS 1X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1x.numGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_occ_pos 'SHMS 1Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1y.numGoodPosTdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_tdc_occ_pos 'SHMS 2X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2x.numGoodPosTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_occ_pos 'SHMS 2Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2y.numGoodPosTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_occ_neg 'SHMS 1X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1x.numGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_occ_neg 'SHMS 1Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1y.numGoodNegTdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_tdc_occ_neg 'SHMS 2X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2x.numGoodNegTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_occ_neg 'SHMS 2Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2y.numGoodNegTdcHits 21 0.5 21.5
+
+#---------------------
+# GOOD PULSE PEDESTAL
+#---------------------
+
+TH2F phodo_1x_good_pped_vs_pmt_pos 'SHMS 1X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1x.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodPosAdcPed>0.0
+TH2F phodo_1y_good_pped_vs_pmt_pos 'SHMS 1Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1y.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodPosAdcPed>0.0
+TH2F phodo_2x_good_pped_vs_pmt_pos 'SHMS 2X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodPosAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodPosAdcPed>0.0
+TH2F phodo_2y_good_pped_vs_pmt_pos 'SHMS 2Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2y.GoodPosAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodPosAdcPed>0.0
+
+TH2F phodo_1x_good_pped_vs_pmt_neg 'SHMS 1X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1x.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodNegAdcPed>0.0
+TH2F phodo_1y_good_pped_vs_pmt_neg 'SHMS 1Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1y.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodNegAdcPed>0.0
+TH2F phodo_2x_good_pped_vs_pmt_neg 'SHMS 2X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodNegAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodNegAdcPed>0.0
+TH2F phodo_2y_good_pped_vs_pmt_neg 'SHMS 2Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2y.GoodNegAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodNegAdcPed>0.0
+
+#---------------------
+# GOOD PULSE INTEGRAL
+#---------------------
+
+TH2F phodo_1x_good_pi_vs_pmt_pos 'SHMS 1X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodPosAdcPulseInt>0.0
+TH2F phodo_1y_good_pi_vs_pmt_pos 'SHMS 1Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodPosAdcPulseInt>0.0
+TH2F phodo_2x_good_pi_vs_pmt_pos 'SHMS 2X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodPosAdcPulseInt>0.0
+TH2F phodo_2y_good_pi_vs_pmt_pos 'SHMS 2Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodPosAdcPulseInt>0.0
+
+TH2F phodo_1x_good_pi_vs_pmt_neg 'SHMS 1X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodNegAdcPulseInt>0.0
+TH2F phodo_1y_good_pi_vs_pmt_neg 'SHMS 1Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodNegAdcPulseInt>0.0
+TH2F phodo_2x_good_pi_vs_pmt_neg 'SHMS 2X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodNegAdcPulseInt>0.0
+TH2F phodo_2y_good_pi_vs_pmt_neg 'SHMS 2Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodNegAdcPulseInt>0.0
+
+#-----------------------
+# GOOD PULSE AMPLITUDE 
+#-----------------------
+
+TH2F phodo_1x_good_pamp_vs_pmt_pos 'SHMS 1X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodPosAdcPulseAmp>0.0
+TH2F phodo_1y_good_pamp_vs_pmt_pos 'SHMS 1Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodPosAdcPulseAmp>0.0
+TH2F phodo_2x_good_pamp_vs_pmt_pos 'SHMS 2X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodPosAdcPulseAmp>0.0
+TH2F phodo_2y_good_pamp_vs_pmt_pos 'SHMS 2Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodPosAdcPulseAmp>0.0
+
+TH2F phodo_1x_good_pamp_vs_pmt_neg 'SHMS 1X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodNegAdcPulseAmp>0.0
+TH2F phodo_1y_good_pamp_vs_pmt_neg 'SHMS 1Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodNegAdcPulseAmp>0.0
+TH2F phodo_2x_good_pamp_vs_pmt_neg 'SHMS 2X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodNegAdcPulseAmp>0.0
+TH2F phodo_2y_good_pamp_vs_pmt_neg 'SHMS 2Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodNegAdcPulseAmp>0.0
+
+#---------------------
+# GOOD ADC PULSE TIME
+#---------------------
+
+TH2F phodo_1x_good_ptime_vs_pmt_pos 'SHMS 1X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodPosAdcPulseTime>0.0
+TH2F phodo_1y_good_ptime_vs_pmt_pos 'SHMS 1Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodPosAdcPulseTime>0.0
+TH2F phodo_2x_good_ptime_vs_pmt_pos 'SHMS 2X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodPosAdcPulseTime>0.0
+TH2F phodo_2y_good_ptime_vs_pmt_pos 'SHMS 2Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodPosAdcPulseTime>0.0
+
+TH2F phodo_1x_good_ptime_vs_pmt_neg 'SHMS 1X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodNegAdcPulseTime>0.0
+TH2F phodo_1y_good_ptime_vs_pmt_neg 'SHMS 1Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodNegAdcPulseTime>0.0
+TH2F phodo_2x_good_ptime_vs_pmt_neg 'SHMS 2X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodNegAdcPulseTime>0.0
+TH2F phodo_2y_good_ptime_vs_pmt_neg 'SHMS 2Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodNegAdcPulseTime>0.0
+
+#---------------------------------------------------------
+# GOOD TDC TIME UNCORRECTED (uncorrected for time offsets)
+#---------------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeUnCorr>0.0
+
+TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeUnCorr>0.0
+
+#-----------------------------------------------------
+# GOOD TDC TIME CORRECTED (corrected for time offsets)
+#-----------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_corr_vs_pmt_pos 'SHMS 1X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeCorr>0.0
+TH2F phodo_1y_good_tdctime_corr_vs_pmt_pos 'SHMS 1Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeCorr>0.0
+TH2F phodo_2x_good_tdctime_corr_vs_pmt_pos 'SHMS 2X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeCorr>0.0
+TH2F phodo_2y_good_tdctime_corr_vs_pmt_pos 'SHMS 2Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeCorr>0.0
+
+TH2F phodo_1x_good_tdctime_corr_vs_pmt_neg 'SHMS 1X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeCorr>0.0
+TH2F phodo_1y_good_tdctime_corr_vs_pmt_neg 'SHMS 1Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeCorr>0.0
+TH2F phodo_2x_good_tdctime_corr_vs_pmt_neg 'SHMS 2X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeCorr>0.0
+TH2F phodo_2y_good_tdctime_corr_vs_pmt_neg 'SHMS 2Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeCorr>0.0
+
+#-----------------------------------------------------------
+# GOOD TDC TIME TOF CORRECTED (corrected for time of flight) 
+#-----------------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeTOFCorr>0.0
+
+TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeTOFCorr>0.0
+
+#----------------------------------------------------------------
+# SHMS HODO TRACKING, TIMING  AND  Particle ID (PID) - BETA (v/c) 
+#----------------------------------------------------------------
+
+TH1F phodo_beta_notrack 'SHMS Hodo Calculated Beta Without Track Info; Beta; Number of Entries / 0.02' P.hod.betanotrack 100 0 2.0 P.hod.betanotrack>0.0
+TH1F phodo_beta 'SHMS Hodo Beta; Beta; Number of Entries / 0.02' P.hod.beta 100 0 2.0 P.hod.beta>0.0
+TH1F phodo_fpHitsTime 'SHMS Hodo Focal Plane Time; Focal Plane Time (ns); Number of Entries / 1 ns' P.hod.fpHitsTime 90 0 90 
+TH1F phodo_starttime 'SHMS Hodo Start Time; Start Time (ns); Number of Entries / 1ns' P.hod.starttime 90 0 90
+TH1F phodo_good_startime 'SHMS Hodo Good Start Time (ns); Good Start Time (ns); Number of Entries / 1ns' P.hod.goodstarttime 90 0 90
+TH2F phodo_xhod_vs_yhod 'SHMS Hodo Projected X vs. Y; Y_hodo(cm) / 1mm; X_hodo(cm) / 1mm' P.hod.y_hodo P.hod.x_hodo 1000 -50 50 1000 -50 50
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/NGC/pngcer_histos.def b/DEF-files/SHMS/ALL/NGC/pngcer_histos.def
new file mode 100644
index 00000000..868491e7
--- /dev/null
+++ b/DEF-files/SHMS/ALL/NGC/pngcer_histos.def
@@ -0,0 +1,39 @@
+#**********************
+# Noble Gas Cherenkov *
+#**********************
+
+#------------------------------------------
+# SHMS NGC GOOD Occupancy and Multiplicity 
+#------------------------------------------
+
+TH1F pngcer_good_occ 'SHMS Noble Gas Cherenkov Good Occupancy; PMT Number; Number of Good ADC Hits' P.ngcer.numGoodAdcHits 4 0.5 4.5
+TH1F pngcer_good_mult 'SHMS Noble Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.ngcer.totNumGoodAdcHits 4 0.5 4.5
+
+#-------------------------------------------------------------------------------
+# SHMS NGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#-------------------------------------------------------------------------------
+
+TH2F pngcer_good_pped_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.ngcer.goodAdcPed 4 0.5 4.5 400 300 700
+TH2F pngcer_good_pi_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.ngcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.ngcer.goodAdcPulseInt>0.0
+TH2F pngcer_good_pamp_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.ngcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.ngcer.goodAdcPulseAmp>0.0
+TH2F pngcer_good_ptime_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.ngcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.ngcer.goodAdcPulseTime>0.0
+
+#-------------------------------
+# SHMS NGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F pngcer_npe 'SHMS Noble Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.ngcer.npe 4 0.5 4.5 200 0 100 P.ngcer.npe>0.0 
+
+#-------------------------------
+# SHMS NGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F pngcer_tot_npe 'SHMS Noble Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.ngcer.npeSum 200 0 100 P.ngcer.npeSum>0.0 
+
+#--------------------------
+# SHMS NGC TRACK MATCHING
+#--------------------------
+
+sTH1F pngcer_trk_match 'SHMS Noble Gas Cherenkov Tracks Matches; PMT Number; Number of Tracks Matched' P.ngcer.numTracksMatched 4 0.5 4.5
+sTH1F pngcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.ngcer.numTracksFired 4 0.5 4.5
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/TRIG/ptrig_histos.def b/DEF-files/SHMS/ALL/TRIG/ptrig_histos.def
new file mode 100644
index 00000000..a045cba2
--- /dev/null
+++ b/DEF-files/SHMS/ALL/TRIG/ptrig_histos.def
@@ -0,0 +1,90 @@
+#********************
+# Trigger Apparatus *
+#********************
+
+TH1F ptrig_pngc_sum_pped 'SHMS Noble Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPed 2000 0 2000
+TH1F ptrig_pngc_sum_pint 'SHMS Noble Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseInt 4000 0 40000
+TH1F ptrig_pngc_sum_pamp 'SHMS Noble Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPulseAmp 4100 0 4100
+TH1F ptrig_pngc_sum_ptime 'SHMS Noble Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseTimeRaw 1000 0 10000
+TH1F ptrig_pngc_sum_tdc 'SHMS Noble Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pNGCSUM_tdcTime 700 -3500 3500
+
+TH1F ptrig_phgc_sum_pped 'SHMS Heavy Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPed 2000 0 2000
+TH1F ptrig_phgc_sum_pint 'SHMS Heavy Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseInt 4000 0 40000
+TH1F ptrig_phgc_sum_pamp 'SHMS Heavy Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPulseAmp 4100 0 4100
+TH1F ptrig_phgc_sum_ptime 'SHMS Heavy Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseTimeRaw 1000 0 10000
+TH1F ptrig_phgc_sum_tdc 'SHMS Heavy Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pHGCSUM_tdcTime 700 -3500 3500
+
+TH1F ptrig_p1x_tdc_mult 'SHMS p1x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1X_tdcMultiplicity 11 0 11
+TH1F ptrig_p1y_tdc_mult 'SHMS p1y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1Y_tdcMultiplicity 11 0 11
+TH1F ptrig_p2x_tdc_mult 'SHMS p2x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2X_tdcMultiplicity 11 0 11
+TH1F ptrig_p2y_tdc_mult 'SHMS p2y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2Y_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1T_tdc_mult 'SHMS p1x/p1y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1T_tdcMultiplicity 11 0 11
+TH1F ptrig_p2T_tdc_mult 'SHMS p2x/p2y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2T_tdcMultiplicity 11 0 11
+
+TH1F ptrig_pT1_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 20, Channel 15); Raw TDC Multiplicity; Counts / 10' T.shms.pT1_tdcMultiplicity 11 0 11
+TH1F ptrig_pT2_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 31); Raw TDC Multiplicity; Counts / 10' T.shms.pT2_tdcMultiplicity 11 0 11
+TH1F ptrig_pT3_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 38); Raw TDC Multiplicity; Counts / 10' T.shms.pT3_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500
+TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500
+TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500
+TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500
+
+TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500
+TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500
+
+TH1F ptrig_pT1_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 20, Channel 15); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500
+TH1F ptrig_pT2_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 31); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500
+TH1F ptrig_pT3_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 38); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500
+
+TH1F ptrig_p1x_good_tdc 'SHMS p1x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500 T.shms.p1X_tdcMultiplicity==1
+TH1F ptrig_p1y_good_tdc 'SHMS p1y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500 T.shms.p1Y_tdcMultiplicity==1
+TH1F ptrig_p2x_good_tdc 'SHMS p2x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500 T.shms.p2X_tdcMultiplicity==1
+TH1F ptrig_p2y_good_tdc 'SHMS p2y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500 T.shms.p2Y_tdcMultiplicity==1
+
+TH1F ptrig_p1T_good_tdc 'SHMS p1x/p1y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500 T.shms.p1T_tdcMultiplicity==1
+TH1F ptrig_p2T_good_tdc 'SHMS p2x/p2y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500 T.shms.p2T_tdcMultiplicity==1
+
+TH1F ptrig_pT1_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 20, Channel 15); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500 T.shms.pT1_tdcMultiplicity==1
+TH1F ptrig_pT2_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 31); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500 T.shms.pT2_tdcMultiplicity==1
+TH1F ptrig_pT3_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 38); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500 T.shms.pT3_tdcMultiplicity==1
+
+TH2F ptrig_ch1xy_ch2x 'SHMS Hodo Trig; 1X1Y Trig (ns); 2X Trig (ns)' T.shms.p1T_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1T_tdcMultiplicity==1
+TH2F ptrig_ch1x_ch2x 'SHMS Hodo Trig; 1X Trig (ns); 2X Trig (ns)' T.shms.p1X_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+TH2F ptrig_ch1y_ch2x 'SHMS Hodo Trig; 1Y Trig (ns); 2X Trig (ns)' T.shms.p1Y_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1Y_tdcMultiplicity==1
+TH2F ptrig_ch1ych1x 'SHMS Hodo Trig; Trig 1X (ns); Trig 1Y (ns)' T.shms.p1X_tdcTime T.shms.p1Y_tdcTime 200 100 300 200 100 300 T.shms.p1Y_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+
+TH1F ptrig_pdc_ref1  'SHMS DC Reference Time Slot 6 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF1_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref2  'SHMS DC Reference Time Slot 7 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF2_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref3  'SHMS DC Reference Time Slot 8 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF3_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref4  'SHMS DC Reference Time Slot 9 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF4_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref5  'SHMS DC Reference Time Slot 10 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF5_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref6  'SHMS DC Reference Time Slot 11 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF6_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref7  'SHMS DC Reference Time Slot 12 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF7_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref8  'SHMS DC Reference Time Slot 13 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF8_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref9  'SHMS DC Reference Time Slot 14 Channel 15; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF9_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref10 'SHMS DC Reference Time Slot 15 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF10_tdcTime 200 12000 14000
+
+#-------------
+# Fast Raster 
+#-------------
+
+# Assume FADC range is set to 1V and the integration is 25 channels
+# Offset in the FADC is about 0.122V or 500 channels.
+
+formula FRXA_V T.shms.pFRXA_adcPulseIntRaw*(1./4096.)/25.
+formula FRXB_V T.shms.pFRXB_adcPulseIntRaw*(1./4096.)/25.
+formula FRYA_V T.shms.pFRYA_adcPulseIntRaw*(1./4096.)/25.
+formula FRYB_V T.shms.pFRYB_adcPulseIntRaw*(1./4096.)/25.
+
+TH1F pFRXA 'SHMS FRXA; FRXA RAW ADC (chan); Counts' T.shms.pFRXA_adcPulseIntRaw 1000 0 100000
+TH1F pFRXA_V 'SHMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0
+TH1F pFRXB 'SHMS FRXB; FRXB RAW ADC (chan); Counts' T.shms.pFRXB_adcPulseIntRaw 1000 0 100000
+TH1F pFRXB_V 'SHMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0
+TH1F pFRYA 'SHMS FRYA; FRYA RAW ADC (chan); Counts' T.shms.pFRYA_adcPulseIntRaw 1000 0 100000
+TH1F pFRYA_V 'SHMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0
+TH1F pFRYB 'SHMS FRYB; FRYB RAW ADC (chan); Counts' T.shms.pFRYB_adcPulseIntRaw 1000 0 100000
+TH1F pFRYB_V 'SHMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0
+TH2F pFRA_XvsY 'HMSFRA_XvsY; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0
+TH2F pFRB_XvsY 'HMSFRB_XvsY; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/merge_def_files.py b/DEF-files/SHMS/ALL/merge_def_files.py
new file mode 100644
index 00000000..e89af197
--- /dev/null
+++ b/DEF-files/SHMS/ALL/merge_def_files.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+
+# Python script to merge multiple def-files into single def-file
+import os
+import sys
+
+if (len(sys.argv) != 3 or sys.argv[1] == '-h'):
+    print('Usage:')
+    print('  merge_def_files.py merge_list.txt outfile.def')
+    sys.exit()
+
+defFileList   = open(sys.argv[1], 'r')
+defFile       = defFileList.readlines()
+defFilePath   = []
+mergedDefFile = sys.argv[2]
+
+for defFileName in defFile:
+    defFilePath.append((defFileName).strip())
+
+with open(mergedDefFile, 'w') as outFile:
+    for defFileName in defFilePath:
+        outFile.write('\n\n')
+        with open(defFileName) as inFile:
+            for line in inFile:
+                outFile.write(line)
diff --git a/DEF-files/SHMS/ALL/merge_list.txt b/DEF-files/SHMS/ALL/merge_list.txt
new file mode 100644
index 00000000..c2a3ea0b
--- /dev/null
+++ b/DEF-files/SHMS/ALL/merge_list.txt
@@ -0,0 +1,9 @@
+BLOCK/pblock_vars.def
+NGC/pngcer_histos.def
+DC/pdc_histos.def
+HODO/phodo_histos.def
+HGC/phgcer_histos.def
+AERO/paero_histos.def
+CAL/pcal_histos.def
+TRIG/ptrig_histos.def
+EPICS/pepics_vars.def
diff --git a/DEF-files/SHMS/ALL/pstackana_all.def b/DEF-files/SHMS/ALL/pstackana_all.def
new file mode 100644
index 00000000..3e4ed2bc
--- /dev/null
+++ b/DEF-files/SHMS/ALL/pstackana_all.def
@@ -0,0 +1,699 @@
+
+
+#********************
+# Block Definitions *
+#********************
+
+block T.shms.*
+block P.ngcer.*
+block P.dc.*
+block P.tr.*
+block P.hod.*
+block P.hgcer.*
+block P.aero.*
+block P.cal.*
+block P.gtr.*
+
+#**********************
+# Noble Gas Cherenkov *
+#**********************
+
+#------------------------------------------
+# SHMS NGC GOOD Occupancy and Multiplicity 
+#------------------------------------------
+
+TH1F pngcer_good_occ 'SHMS Noble Gas Cherenkov Good Occupancy; PMT Number; Number of Good ADC Hits' P.ngcer.numGoodAdcHits 4 0.5 4.5
+TH1F pngcer_good_mult 'SHMS Noble Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.ngcer.totNumGoodAdcHits 4 0.5 4.5
+
+#-------------------------------------------------------------------------------
+# SHMS NGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#-------------------------------------------------------------------------------
+
+TH2F pngcer_good_pped_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.ngcer.goodAdcPed 4 0.5 4.5 400 300 700
+TH2F pngcer_good_pi_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.ngcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.ngcer.goodAdcPulseInt>0.0
+TH2F pngcer_good_pamp_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.ngcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.ngcer.goodAdcPulseAmp>0.0
+TH2F pngcer_good_ptime_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.ngcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.ngcer.goodAdcPulseTime>0.0
+
+#-------------------------------
+# SHMS NGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F pngcer_npe 'SHMS Noble Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.ngcer.npe 4 0.5 4.5 200 0 100 P.ngcer.npe>0.0 
+
+#-------------------------------
+# SHMS NGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F pngcer_tot_npe 'SHMS Noble Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.ngcer.npeSum 200 0 100 P.ngcer.npeSum>0.0 
+
+#--------------------------
+# SHMS NGC TRACK MATCHING
+#--------------------------
+
+sTH1F pngcer_trk_match 'SHMS Noble Gas Cherenkov Tracks Matches; PMT Number; Number of Tracks Matched' P.ngcer.numTracksMatched 4 0.5 4.5
+sTH1F pngcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.ngcer.numTracksFired 4 0.5 4.5
+
+#*****************
+# Drift Chambers *
+#*****************
+
+#------------------
+# SHMS DC WIRE MAP
+#------------------
+
+TH1F pdc1u1_wirenum 'SHMS DC 1U1 Wiremap; Wire Number; Number of Entries' P.dc.1u1.wirenum 107 0.5 107.5
+TH1F pdc1u2_wirenum 'SHMS DC 1U2 Wiremap; Wire Number; Number of Entries' P.dc.1u2.wirenum 107 0.5 107.5
+TH1F pdc1x1_wirenum 'SHMS DC 1X1 Wiremap; Wire Number; Number of Entries' P.dc.1x1.wirenum  79 0.5  79.5
+TH1F pdc1x2_wirenum 'SHMS DC 1X2 Wiremap; Wire Number; Number of Entries' P.dc.1x2.wirenum  79 0.5  79.5
+TH1F pdc1v1_wirenum 'SHMS DC 1V1 Wiremap; Wire Number; Number of Entries' P.dc.1v1.wirenum 107 0.5 107.5
+TH1F pdc1v2_wirenum 'SHMS DC 1V2 Wiremap; Wire Number; Number of Entries' P.dc.1v2.wirenum 107 0.5 107.5
+
+TH1F pdc2v2_wirenum 'SHMS DC 2V2 Wiremap; Wire Number; Number of Entries' P.dc.2v2.wirenum 107 0.5 107.5
+TH1F pdc2v1_wirenum 'SHMS DC 2V1 Wiremap; Wire Number; Number of Entries' P.dc.2v1.wirenum 107 0.5 107.5
+TH1F pdc2x2_wirenum 'SHMS DC 2X2 Wiremap; Wire Number; Number of Entries' P.dc.2x2.wirenum  79 0.5  79.5
+TH1F pdc2x1_wirenum 'SHMS DC 2X1 Wiremap; Wire Number; Number of Entries' P.dc.2x1.wirenum  79 0.5  79.5
+TH1F pdc2u2_wirenum 'SHMS DC 2U2 Wiremap; Wire Number; Number of Entries' P.dc.2u2.wirenum 107 0.5 107.5
+TH1F pdc2u1_wirenum 'SHMS DC 2U1 Wiremap; Wire Number; Number of Entries' P.dc.2u1.wirenum 107 0.5 107.5
+
+#------------------------------
+# SHMS DC DRIFT TIME PER PLANE 
+#------------------------------
+
+TH1F pdc1u1_drifttime 'SHMS DC 1U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u1.time 400 -50 350
+TH1F pdc1u2_drifttime 'SHMS DC 1U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u2.time 400 -50 350
+TH1F pdc1x1_drifttime 'SHMS DC 1X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x1.time 400 -50 350
+TH1F pdc1x2_drifttime 'SHMS DC 1X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x2.time 400 -50 350
+TH1F pdc1v1_drifttime 'SHMS DC 1V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v1.time 400 -50 350
+TH1F pdc1v2_drifttime 'SHMS DC 1V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v2.time 400 -50 350
+
+TH1F pdc2v2_drifttime 'SHMS DC 2V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v2.time 400 -50 350
+TH1F pdc2v1_drifttime 'SHMS DC 2V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v1.time 400 -50 350
+TH1F pdc2x2_drifttime 'SHMS DC 2X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x2.time 400 -50 350
+TH1F pdc2x1_drifttime 'SHMS DC 2X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x1.time 400 -50 350
+TH1F pdc2u2_drifttime 'SHMS DC 2U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u2.time 400 -50 350
+TH1F pdc2u1_drifttime 'SHMS DC 2U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u1.time 400 -50 350
+
+#----------------------------------
+# SHMS DC DRIFT TIME VS. WIRENUMBER 
+#----------------------------------
+
+TH2F pdc1u1_drifttime_vs_wirenum 'SHMS DC 1U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u1.wirenum P.dc.1u1.time 107 0.5 107.5 500 0 500
+TH2F pdc1u2_drifttime_vs_wirenum 'SHMS DC 1U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u2.wirenum P.dc.1u2.time 107 0.5 107.5 500 0 500
+TH2F pdc1x1_drifttime_vs_wirenum 'SHMS DC 1X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x1.wirenum P.dc.1x1.time  79 0.5  79.5 500 0 500
+TH2F pdc1x2_drifttime_vs_wirenum 'SHMS DC 1X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x2.wirenum P.dc.1x2.time  79 0.5  79.5 500 0 500
+TH2F pdc1v1_drifttime_vs_wirenum 'SHMS DC 1V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v1.wirenum P.dc.1v1.time 107 0.5 107.5 500 0 500
+TH2F pdc1v2_drifttime_vs_wirenum 'SHMS DC 1V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v2.wirenum P.dc.1v2.time 107 0.5 107.5 500 0 500
+
+TH2F pdc2v2_drifttime_vs_wirenum 'SHMS DC 2V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v2.wirenum P.dc.2v2.time 107 0.5 107.5 500 0 500
+TH2F pdc2v1_drifttime_vs_wirenum 'SHMS DC 2V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v1.wirenum P.dc.2v1.time 107 0.5 107.5 500 0 500
+TH2F pdc2x2_drifttime_vs_wirenum 'SHMS DC 2X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x2.wirenum P.dc.2x2.time  79 0.5  79.5 500 0 500
+TH2F pdc2x1_drifttime_vs_wirenum 'SHMS DC 2X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x1.wirenum P.dc.2x1.time  79 0.5  79.5 500 0 500
+TH2F pdc2u2_drifttime_vs_wirenum 'SHMS DC 2U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u2.wirenum P.dc.2u2.time 107 0.5 107.5 500 0 500
+TH2F pdc2u1_drifttime_vs_wirenum 'SHMS DC 2U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 500 0 500
+
+#----------------------------------
+# SHMS DC Drift Distance Per Plane 
+#----------------------------------
+
+TH1F pdc1u1_ddist 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6
+TH1F pdc1u1_ddist_cut 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6   time_cut1
+
+TH1F pdc1u2_ddist 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6
+TH1F pdc1u2_ddist_cut 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6   time_cut2
+
+TH1F pdc1x1_ddist 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6
+TH1F pdc1x1_ddist_cut 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6   time_cut3
+
+TH1F pdc1x2_ddist 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6
+TH1F pdc1x2_ddist_cut 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6   time_cut4
+
+TH1F pdc1v1_ddist 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6
+TH1F pdc1v1_ddist_cut 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6   time_cut5
+
+TH1F pdc1v2_ddist 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6
+TH1F pdc1v2_ddist_cut 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6   time_cut6
+
+TH1F pdc2v2_ddist 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6
+TH1F pdc2v2_ddist_cut 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6   time_cut7
+
+TH1F pdc2v1_ddist 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6
+TH1F pdc2v1_ddist_cut 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6   time_cut8
+
+TH1F pdc2x2_ddist 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6
+TH1F pdc2x2_ddist_cut 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6   time_cut9
+
+TH1F pdc2x1_ddist 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6
+TH1F pdc2x1_ddist_cut 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6   time_cut10
+
+TH1F pdc2u2_ddist 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6
+TH1F pdc2u2_ddist_cut 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6   time_cut11
+
+TH1F pdc2u1_ddist 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6
+TH1F pdc2u1_ddist_cut 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6   time_cut12
+
+#----------------------------------------
+# SHMS DC Drift Distance vs. Wire number 
+#----------------------------------------
+
+TH2F pdc1u1_wirenum_vs_ddist 'SHMS 1U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u1.wirenum P.dc.1u1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1u2_wirenum_vs_ddist 'SHMS 1U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u2.wirenum P.dc.1u2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1x1_wirenum_vs_ddist 'SHMS 1X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x1.wirenum P.dc.1x1.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc1x2_wirenum_vs_ddist 'SHMS 1X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x2.wirenum P.dc.1x2.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc1v1_wirenum_vs_ddist 'SHMS 1V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v1.wirenum P.dc.1v1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1v2_wirenum_vs_ddist 'SHMS 1V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v2.wirenum P.dc.1v2.dist 107 0.5 107.5 300 -0.1 0.6
+
+TH2F pdc2u2_wirenum_vs_ddist 'SHMS 2U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u2.wirenum P.dc.2u2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2u1_wirenum_vs_ddist 'SHMS 2U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u1.wirenum P.dc.2u1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2x2_wirenum_vs_ddist 'SHMS 2X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x2.wirenum P.dc.2x2.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc2x1_wirenum_vs_ddist 'SHMS 2X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x1.wirenum P.dc.2x1.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc2v2_wirenum_vs_ddist 'SHMS 2V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v2.wirenum P.dc.2v2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2v1_wirenum_vs_ddist 'SHMS 2V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v1.wirenum P.dc.2v1.dist 107 0.5 107.5 300 -0.1 0.6
+
+#-----------------------------
+# SHMS DC RESIDUALS PER PLANE 
+#-----------------------------
+
+TH1F pdc1u1_residuals 'SHMS 1U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[0]  200 -1.0 1.0
+TH1F pdc1u2_residuals 'SHMS 1U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[1]  200 -1.0 1.0
+TH1F pdc1x1_residuals 'SHMS 1X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[2]  200 -1.0 1.0
+TH1F pdc1x2_residuals 'SHMS 1X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[3]  200 -1.0 1.0
+TH1F pdc1v1_residuals 'SHMS 1V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[4]  200 -1.0 1.0
+TH1F pdc1v2_residuals 'SHMS 1V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[5]  200 -1.0 1.0
+
+TH1F pdc2v2_residuals 'SHMS 2V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[6]  200 -1.0 1.0
+TH1F pdc2v1_residuals 'SHMS 2V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[7]  200 -1.0 1.0
+TH1F pdc2x2_residuals 'SHMS 2X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[8]  200 -1.0 1.0
+TH1F pdc2x1_residuals 'SHMS 2X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[9]  200 -1.0 1.0
+TH1F pdc2u2_residuals 'SHMS 2U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[10] 200 -1.0 1.0
+TH1F pdc2u1_residuals 'SHMS 2U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[11] 200 -1.0 1.0
+
+#-----------------------------------
+# SHMS DC RESIDUALS vs. Wire Number
+#-----------------------------------
+
+TH2F pdc1u1_residuals_vs_wirenum 'SHMS 1U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u1.wirenum P.dc.residual[0] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1u2_residuals_vs_wirenum 'SHMS 1U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u2.wirenum P.dc.residual[1] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1x1_residuals_vs_wirenum 'SHMS 1X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x1.wirenum P.dc.residual[2] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc1x2_residuals_vs_wirenum 'SHMS 1X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x2.wirenum P.dc.residual[3] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc1v1_residuals_vs_wirenum 'SHMS 1V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v1.wirenum P.dc.residual[4] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1v2_residuals_vs_wirenum 'SHMS 1V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v2.wirenum P.dc.residual[5] 107 0.5 107.5 200 -1.0 1.0
+
+TH2F pdc2v2_residuals_vs_wirenum 'SHMS 2V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v2.wirenum P.dc.residual[6] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2v1_residuals_vs_wirenum 'SHMS 2V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v1.wirenum P.dc.residual[7] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2x2_residuals_vs_wirenum 'SHMS 2X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x2.wirenum P.dc.residual[8] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc2x1_residuals_vs_wirenum 'SHMS 2X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x1.wirenum P.dc.residual[9] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc2u2_residuals_vs_wirenum 'SHMS 2U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u2.wirenum P.dc.residual[10] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2u1_residuals_vs_wirenum 'SHMS 2U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u1.wirenum P.dc.residual[11] 107 0.5 107.5 200 -1.0 1.0
+
+#-------------------------------------------
+# SHMS DC TRACKING VARIABLES AT FOCAL PLANE
+#-------------------------------------------
+
+TH1F pdc_trk_mom 'SHMS DC Track Momentum; P (GeV); Number of Entires / 10 MeV' P.tr.p 600 0 6
+TH1F pdc_trk_beta 'SHMS DC Track Beta; Beta (GeV); Number of Entires' P.tr.beta 300 -1.5 1.5
+TH2F pdc_xfp_vs_yxp 'SHMS DC X_{fp} vs Y_{fp}; Y_{fp} (cm) / 1 cm; X_{fp} (cm) / 1 cm' P.dc.y_fp P.dc.x_fp 100 -50 50 100 -50 50
+TH2F pdc_xpfp_vs_ypfp 'SHMS DC X'_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X'_{fp} / 0.002 rad' P.dc.yp_fp P.dc.xp_fp 100 -.1 .1 100 -.1 .1
+TH2F pdc_xfp_vs_ypfp 'SHMS DC X_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X_{fp} / 1 cm'  P.dc.yp_fp P.dc.x_fp 100 -.1 .1 100 -50 50 
+TH2F pdc_xfp_vs_xpfp 'SHMS DC X_{fp} vs X'_{fp}; X'_{fp} / 0.002 rad; X_{fp} / 1 cm' P.dc.xp_fp P.dc.x_fp 100 -.1 .1 100 -50 50
+
+#*****************
+# SHMS HODOSCOPES
+#*****************
+
+#-----------------------------------
+# SHMS HODO GOOD ADC Multiplicities 
+#-----------------------------------
+
+TH1F phodo_1x_good_adc_mult_pos 'SHMS 1X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1x.totNumGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult_pos 'SHMS 1Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1y.totNumGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult_pos 'SHMS 2X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2x.totNumGoodPosAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult_pos 'SHMS 2Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2y.totNumGoodPosAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_mult_neg 'SHMS 1X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1x.totNumGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult_neg 'SHMS 1Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1y.totNumGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult_neg 'SHMS 2X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2x.totNumGoodNegAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult_neg 'SHMS 2Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2y.totNumGoodNegAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_mult 'SHMS 1X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1x.totNumGoodAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult 'SHMS 1Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1y.totNumGoodAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult 'SHMS 2X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2x.totNumGoodAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult 'SHMS 2Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2y.totNumGoodAdcHits 21 0.5 21.5
+
+#-----------------------------------
+# SHMS HODO Good TDC Multiplicities
+#-----------------------------------
+
+TH1F phodo_1x_good_tdc_mult_pos 'SHMS 1X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1x.totNumGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult_pos 'SHMS 1Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1y.totNumGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult_pos 'SHMS 2X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2x.totNumGoodPosTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult_pos 'SHMS 2Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2y.totNumGoodPosTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_mult_neg 'SHMS 1X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1x.totNumGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult_neg 'SHMS 1Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1y.totNumGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult_neg 'SHMS 2X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2x.totNumGoodNegTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult_neg 'SHMS 2Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2y.totNumGoodNegTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_mult 'SHMS 1X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1x.totNumGoodTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult 'SHMS 1Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1y.totNumGoodTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult 'SHMS 2X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2x.totNumGoodTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult 'SHMS 2Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2y.totNumGoodTdcHits 21 0.5 21.5
+
+#---------------------------------
+# SHMS HODO GOOD ADC OCCUPANCIES
+#---------------------------------
+
+TH1F phodo_1x_good_adc_occ_pos 'SHMS 1X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1x.numGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_occ_pos 'SHMS 1Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1y.numGoodPosAdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_adc_occ_pos 'SHMS 2X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2x.numGoodPosAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_occ_pos 'SHMS 2Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2y.numGoodPosAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_occ_neg 'SHMS 1X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1x.numGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_occ_neg 'SHMS 1Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1y.numGoodNegAdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_adc_occ_neg 'SHMS 2X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2x.numGoodNegAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_occ_neg 'SHMS 2Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2y.numGoodNegAdcHits 21 0.5 21.5
+
+#--------------------------------
+# SHMS HODO GOOD TDC OCCUPANCIES
+#--------------------------------
+
+TH1F phodo_1x_good_tdc_occ_pos 'SHMS 1X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1x.numGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_occ_pos 'SHMS 1Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1y.numGoodPosTdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_tdc_occ_pos 'SHMS 2X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2x.numGoodPosTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_occ_pos 'SHMS 2Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2y.numGoodPosTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_occ_neg 'SHMS 1X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1x.numGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_occ_neg 'SHMS 1Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1y.numGoodNegTdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_tdc_occ_neg 'SHMS 2X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2x.numGoodNegTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_occ_neg 'SHMS 2Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2y.numGoodNegTdcHits 21 0.5 21.5
+
+#---------------------
+# GOOD PULSE PEDESTAL
+#---------------------
+
+TH2F phodo_1x_good_pped_vs_pmt_pos 'SHMS 1X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1x.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodPosAdcPed>0.0
+TH2F phodo_1y_good_pped_vs_pmt_pos 'SHMS 1Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1y.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodPosAdcPed>0.0
+TH2F phodo_2x_good_pped_vs_pmt_pos 'SHMS 2X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodPosAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodPosAdcPed>0.0
+TH2F phodo_2y_good_pped_vs_pmt_pos 'SHMS 2Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2y.GoodPosAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodPosAdcPed>0.0
+
+TH2F phodo_1x_good_pped_vs_pmt_neg 'SHMS 1X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1x.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodNegAdcPed>0.0
+TH2F phodo_1y_good_pped_vs_pmt_neg 'SHMS 1Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1y.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodNegAdcPed>0.0
+TH2F phodo_2x_good_pped_vs_pmt_neg 'SHMS 2X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodNegAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodNegAdcPed>0.0
+TH2F phodo_2y_good_pped_vs_pmt_neg 'SHMS 2Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2y.GoodNegAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodNegAdcPed>0.0
+
+#---------------------
+# GOOD PULSE INTEGRAL
+#---------------------
+
+TH2F phodo_1x_good_pi_vs_pmt_pos 'SHMS 1X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodPosAdcPulseInt>0.0
+TH2F phodo_1y_good_pi_vs_pmt_pos 'SHMS 1Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodPosAdcPulseInt>0.0
+TH2F phodo_2x_good_pi_vs_pmt_pos 'SHMS 2X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodPosAdcPulseInt>0.0
+TH2F phodo_2y_good_pi_vs_pmt_pos 'SHMS 2Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodPosAdcPulseInt>0.0
+
+TH2F phodo_1x_good_pi_vs_pmt_neg 'SHMS 1X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodNegAdcPulseInt>0.0
+TH2F phodo_1y_good_pi_vs_pmt_neg 'SHMS 1Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodNegAdcPulseInt>0.0
+TH2F phodo_2x_good_pi_vs_pmt_neg 'SHMS 2X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodNegAdcPulseInt>0.0
+TH2F phodo_2y_good_pi_vs_pmt_neg 'SHMS 2Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodNegAdcPulseInt>0.0
+
+#-----------------------
+# GOOD PULSE AMPLITUDE 
+#-----------------------
+
+TH2F phodo_1x_good_pamp_vs_pmt_pos 'SHMS 1X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodPosAdcPulseAmp>0.0
+TH2F phodo_1y_good_pamp_vs_pmt_pos 'SHMS 1Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodPosAdcPulseAmp>0.0
+TH2F phodo_2x_good_pamp_vs_pmt_pos 'SHMS 2X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodPosAdcPulseAmp>0.0
+TH2F phodo_2y_good_pamp_vs_pmt_pos 'SHMS 2Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodPosAdcPulseAmp>0.0
+
+TH2F phodo_1x_good_pamp_vs_pmt_neg 'SHMS 1X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodNegAdcPulseAmp>0.0
+TH2F phodo_1y_good_pamp_vs_pmt_neg 'SHMS 1Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodNegAdcPulseAmp>0.0
+TH2F phodo_2x_good_pamp_vs_pmt_neg 'SHMS 2X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodNegAdcPulseAmp>0.0
+TH2F phodo_2y_good_pamp_vs_pmt_neg 'SHMS 2Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodNegAdcPulseAmp>0.0
+
+#---------------------
+# GOOD ADC PULSE TIME
+#---------------------
+
+TH2F phodo_1x_good_ptime_vs_pmt_pos 'SHMS 1X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodPosAdcPulseTime>0.0
+TH2F phodo_1y_good_ptime_vs_pmt_pos 'SHMS 1Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodPosAdcPulseTime>0.0
+TH2F phodo_2x_good_ptime_vs_pmt_pos 'SHMS 2X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodPosAdcPulseTime>0.0
+TH2F phodo_2y_good_ptime_vs_pmt_pos 'SHMS 2Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodPosAdcPulseTime>0.0
+
+TH2F phodo_1x_good_ptime_vs_pmt_neg 'SHMS 1X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodNegAdcPulseTime>0.0
+TH2F phodo_1y_good_ptime_vs_pmt_neg 'SHMS 1Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodNegAdcPulseTime>0.0
+TH2F phodo_2x_good_ptime_vs_pmt_neg 'SHMS 2X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodNegAdcPulseTime>0.0
+TH2F phodo_2y_good_ptime_vs_pmt_neg 'SHMS 2Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodNegAdcPulseTime>0.0
+
+#---------------------------------------------------------
+# GOOD TDC TIME UNCORRECTED (uncorrected for time offsets)
+#---------------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeUnCorr>0.0
+
+TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeUnCorr>0.0
+
+#-----------------------------------------------------
+# GOOD TDC TIME CORRECTED (corrected for time offsets)
+#-----------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_corr_vs_pmt_pos 'SHMS 1X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeCorr>0.0
+TH2F phodo_1y_good_tdctime_corr_vs_pmt_pos 'SHMS 1Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeCorr>0.0
+TH2F phodo_2x_good_tdctime_corr_vs_pmt_pos 'SHMS 2X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeCorr>0.0
+TH2F phodo_2y_good_tdctime_corr_vs_pmt_pos 'SHMS 2Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeCorr>0.0
+
+TH2F phodo_1x_good_tdctime_corr_vs_pmt_neg 'SHMS 1X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeCorr>0.0
+TH2F phodo_1y_good_tdctime_corr_vs_pmt_neg 'SHMS 1Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeCorr>0.0
+TH2F phodo_2x_good_tdctime_corr_vs_pmt_neg 'SHMS 2X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeCorr>0.0
+TH2F phodo_2y_good_tdctime_corr_vs_pmt_neg 'SHMS 2Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeCorr>0.0
+
+#-----------------------------------------------------------
+# GOOD TDC TIME TOF CORRECTED (corrected for time of flight) 
+#-----------------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeTOFCorr>0.0
+
+TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeTOFCorr>0.0
+
+#----------------------------------------------------------------
+# SHMS HODO TRACKING, TIMING  AND  Particle ID (PID) - BETA (v/c) 
+#----------------------------------------------------------------
+
+TH1F phodo_beta_notrack 'SHMS Hodo Calculated Beta Without Track Info; Beta; Number of Entries / 0.02' P.hod.betanotrack 100 0 2.0 P.hod.betanotrack>0.0
+TH1F phodo_beta 'SHMS Hodo Beta; Beta; Number of Entries / 0.02' P.hod.beta 100 0 2.0 P.hod.beta>0.0
+TH1F phodo_fpHitsTime 'SHMS Hodo Focal Plane Time; Focal Plane Time (ns); Number of Entries / 1 ns' P.hod.fpHitsTime 90 0 90 
+TH1F phodo_starttime 'SHMS Hodo Start Time; Start Time (ns); Number of Entries / 1ns' P.hod.starttime 90 0 90
+TH1F phodo_good_startime 'SHMS Hodo Good Start Time (ns); Good Start Time (ns); Number of Entries / 1ns' P.hod.goodstarttime 90 0 90
+TH2F phodo_xhod_vs_yhod 'SHMS Hodo Projected X vs. Y; Y_hodo(cm) / 1mm; X_hodo(cm) / 1mm' P.hod.y_hodo P.hod.x_hodo 1000 -50 50 1000 -50 50
+
+#**********************
+# Heavy Gas Cherenkov *
+#**********************
+
+#-----------------------------------------
+# SHMS HGC GOOD Occupancy and Multiplicity
+#-----------------------------------------
+
+TH1F phgcer_good_occ 'SHMS Heavy Gas Cherenkov Good Occupancy; PMT Number; Number Good ADC Hits' P.hgcer.numGoodAdcHits 4 0.5 4.5
+TH1F phgcer_good_mult 'SHMS Heavy Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hgcer.totNumGoodAdcHits 4 0.5 4.5
+
+#-------------------------------------------------------------------------------
+# SHMS HGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#-------------------------------------------------------------------------------
+
+TH2F phgcer_good_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.hgcer.goodAdcPed 4 0.5 4.5 400 300 700
+TH2F phgcer_good_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseInt>0.0
+TH2F phgcer_good_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.hgcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.hgcer.goodAdcPulseAmp>0.0
+TH2F phgcer_good_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.hgcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.hgcer.goodAdcPulseTime>0.0
+
+#-------------------------------
+# SHMS HGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0 
+
+#-------------------------------
+# SHMS HGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0 
+
+#--------------------------
+# SHMS HGC TRACK MATCHING
+#--------------------------
+
+sTH1F phgcer_trk_match 'SHMS Noble Gas Cherenkov Track Matches; PMT Number; Number of Tracks Matched' P.hgcer.numTracksMatched 4 0.5 4.5
+sTH1F phgcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.hgcer.numTracksFired 4 0.5 4.5
+
+#***************
+# SHMS AEROGEL *
+#***************
+
+#----------------------------------------------
+# SHMS AEROGEL GOOD Occupancy and Multiplicity
+#----------------------------------------------
+
+TH1F paero_good_occ_pos 'SHMS Aero+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.aero.numGoodPosAdcHits 7 0.5 7.5
+TH1F paero_good_occ_neg 'SHMS Aero- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.aero.numGoodNegAdcHits 7 0.5 7.5
+TH1F paero_good_mult_pos 'SHMS Aero+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.aero.totNumGoodPosAdcHits 7 0.5 7.5
+TH1F paero_good_mult_neg 'SHMS Aero- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.aero.totNumGoodNegAdcHits 7 0.5 7.5
+TH1F paero_good_mult 'SHMS Aero Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.aero.totnumGoodAdcHits 14 0.5 14.5
+
+#-------------------------------
+# SHMS AERO TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F paero_tot_npe_pos 'SHMS Aero+ Total Number of Photoelectrons; Total Number of Pos Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.posNpeSum 200 0 100 P.aero.posNpeSum>0.0 
+TH1F paero_tot_npe_neg 'SHMS Aero- Total Number of Photoelectrons; Total Number of Neg Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.negNpeSum 200 0 100 P.aero.negNpeSum>0.0 
+TH1F paero_tot_npe 'SHMS Aero Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.npeSum 200 0 100 P.aero.npeSum>0.0 
+
+#--------------------------------
+# SHMS AERO Number of P.E. / PMT
+#--------------------------------
+
+TH2F paero_npe_pos 'SHMS Aero+ Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.posNpe 7 0.5 7.5 200 0 100 P.aero.posNpe>0.0 
+TH2F paero_npe_neg 'SHMS Aero- Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.negNpe 7 0.5 7.5 200 0 100 P.aero.negNpe>0.0 
+
+#------------------------------------------------------------------------------
+# SHMS AERO GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#------------------------------------------------------------------------------
+
+TH2F paero_good_pped_vs_pmt_pos 'SHMS Aero+ Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodPosAdcPed 7 0.5 7.5 400 300 700  P.aero.goodPosAdcPed>0.0
+TH2F paero_good_pi_vs_pmt_pos 'SHMS Aero+ Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodPosAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodPosAdcPulseInt>0.0
+TH2F paero_good_pamp_vs_pmt_pos 'SHMS Aero+ Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodPosAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodPosAdcPulseAmp>0.0
+TH2F paero_good_ptime_vs_pmt_pos 'SHMS Aero+ Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodPosAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodPosAdcPulseTime>0.0
+
+TH2F paero_good_pped_vs_pmt_neg 'SHMS Aero- Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodNegAdcPed 7 0.5 7.5 400 300 700 P.aero.goodNegAdcPed>0.0
+TH2F paero_good_pi_vs_pmt_neg 'SHMS Aero- Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodNegAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodNegAdcPulseInt>0.0
+TH2F paero_good_pamp_vs_pmt_neg 'SHMS Aero- Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodNegAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodNegAdcPulseAmp>0.0
+TH2F paero_good_ptime_vs_pmt_neg 'SHMS Aero- Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodNegAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodNegAdcPulseTime>0.0
+
+#*******************
+# SHMS CALORIMETER *
+#*******************
+
+#--------------------------------------------
+# SHMS PreSH GOOD Occupancy and Multiplicity
+#--------------------------------------------
+
+TH1F pcal_prshwr_good_occ_pos 'SHMS PreShower+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.cal.pr.numGoodPosAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_occ_neg 'SHMS PreShower- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.cal.pr.numGoodNegAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult_pos 'SHMS PreShower+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.cal.pr.totNumGoodPosAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult_neg 'SHMS PreShower- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.cal.pr.totNumGoodNegAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult 'SHMS PreShower Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.cal.pr.totnumGoodAdcHits 28 0.5 28.5
+
+#--------------------------------------------------------------------------------------------------
+# GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES 
+# GOOD --> (passed errorFlag cut, pulsetime cuts oN Min/Max ADC Time Window, and ADC threshold cut)
+#--------------------------------------------------------------------------------------------------
+
+TH2F pcal_prshwr_good_pped_vs_pmt_pos 'SHMS PreShower+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodPosAdcPed 14 0.5 14.5 400 300 700  P.cal.pr.goodPosAdcPed>0.0
+TH2F pcal_prshwr_good_pi_vs_pmt_pos 'SHMS PreShower+ Good Pulse Integral vs. PMT Number; PMT Number; Good  Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodPosAdcPulseInt>0.0
+TH2F pcal_prshwr_good_pamp_vs_pmt_pos 'SHMS PreShower+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good  Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodPosAdcPulseAmp>0.0
+TH2F pcal_prshwr_good_ptime_vs_pmt_pos 'SHMS PreShower+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodPosAdcPulseTime>0.0
+
+TH2F pcal_prshwr_good_pped_vs_pmt_neg 'SHMS PreShower- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodNegAdcPed 14 0.5 14.5 400 300 700  P.cal.pr.goodNegAdcPed>0.0
+TH2F pcal_prshwr_good_pi_vs_pmt_neg 'SHMS PreShower- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodNegAdcPulseInt>0.0
+TH2F pcal_prshwr_good_pamp_vs_pmt_neg 'SHMS PreShower- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodNegAdcPulseAmp>0.0
+TH2F pcal_prshwr_good_ptime_vs_pmt_neg 'SHMS PreShower- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodNegAdcPulseTime>0.0
+
+#------------------------------------------------------
+# SHMS PRE-SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
+#------------------------------------------------------
+
+TH2F pcal_prshwr_Epos_vs_pmt 'SHMS PreShower+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.epos 14 0.5 14.5 200 0 2 P.cal.pr.epos>0.0
+TH2F pcal_prshwr_Eneg_vs_pmt 'SHMS PreShower- Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.eneg 14 0.5 14.5 200 0 2 P.cal.pr.eneg>0.0
+TH2F pcal_prshwr_Emean_vs_pmt 'SHMS PreShower Mean Energy Deposition vs. PMT Number; PMT Number; Mean Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.emean 14 0.5 14.5 300 0 3 P.cal.pr.emean>0.0
+
+#-------------------------------------------
+# SHMS ENERGY DEPOSITION in PreShower PLANE
+#-------------------------------------------
+
+TH1F pcal_prshwr_Eplane_pos 'SHMS PreShower+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_pos 200 0 2 P.cal.pr.eplane_pos>0.0
+TH1F pcal_prshwr_Eplane_neg 'SHMS PreShower- Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_neg 200 0 2 P.cal.pr.eplane_neg>0.0
+TH1F pcal_prshwr_Eplane 'SHMS PreShower Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane 300 0 3 P.cal.pr.eplane>0.0
+
+#---------------------------------------------
+# SHMS Shower GOOD Occupancy and Multiplicity
+#---------------------------------------------
+TH1F pcal_shwr_good_occ 'SHMS Shower Good Occupancy; PMT Number; Number of Good ADC Hits' P.cal.fly.numGoodAdcHits 224 0.5 224.5
+TH1F pcal_shwr_good_mult 'SHMS Shower Good Multiplicity; PMT Number; Total Number of Good ADC Hits' P.cal.fly.totNumGoodAdcHits 224 0.5 224.5
+
+#-------------------------------------------------------------
+# SHMS Shower GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES
+#-------------------------------------------------------------
+
+TH2F pcal_shwr_good_pped_vs_pmt 'SHMS Shower Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.fly.goodAdcPed 224 0.5 224.5 700 300 1000 P.cal.fly.goodAdcPed>0.0
+TH2F pcal_shwr_good_pi_vs_pmt 'SHMS Shower Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.fly.goodAdcPulseInt 224 0.5 224.5 600 0 30000 P.cal.fly.goodAdcPulseInt>0.0
+TH2F pcal_shwr_good_pamp_vs_pmt 'SHMS Shower Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.fly.goodAdcPulseAmp 224 0.5 224.5 200 0 4000 P.cal.fly.goodAdcPulseAmp>0.0
+TH2F pcal_shwr_good_ptime_vs_pmt 'SHMS Shower Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.fly.goodAdcPulseTime 224 0.5 224.5 350 0 3500 P.cal.fly.goodAdcPulseTime>0.0
+
+#--------------------------------------------------
+# SHMS SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
+#--------------------------------------------------
+
+TH2F pcal_shwr_E_vs_pmt 'SHMS Shower Energy Deposition vs. PMT Number; PMT Number; Energy Deposited (0.01 GeV / ADC Units)' [I+1] P.cal.fly.e 224 0.5 224.5 300 0 3 P.cal.fly.e>0.0
+
+#--------------------------------------------------
+# TOTAL ENERGY DEPOSITION IN THE SHMS SHOWER ARRAY
+#--------------------------------------------------
+
+TH1F pcal_shwr_Earray 'SHMS Shower Total Energy Deposition in Array; Total Energy Deposited (GeV); Number of Entries / 0.01 GeV' P.cal.fly.earray 600 0 6 P.cal.fly.earray>0.0
+
+#-------------------------------------------------------------------------------------
+# SHMS PRE-SHOWER AND SHOWER (CALORIMETER) TOTAL ENERGY DEPOSITION
+# TOTAL ENERGY AND NORMALIZED ENERGY DEPOSITED IN CALORIMETER (SHOWER AND PRE-SHOWER)
+#-------------------------------------------------------------------------------------
+
+TH1F pcal_etot 'SHMS Calorimeter Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.etot 500 0 5 P.cal.etot>0.0
+TH1F pcal_etot_norm 'SHMS Calorimeter Total Normalized Energy Deposition; Total Energy Deposited (GeV) / P0 (GeV); Number of Entries / 0.01' P.cal.etotnorm 500 0 5 P.cal.etotnorm>0.0
+TH1F pcal_etrack 'SHMS Calorimeter Total Track Energy; Track Energy Deposited (GeV); Number of Entries / 0.1 GeV' P.cal.etrack 100 0 10 P.cal.etrack>0.0 
+TH1F pcal_etracknorm 'SHMS Calorimeter Normalized Track Energy; Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0
+TH1F pcal_etracknorm_track 'SHMS Calorimeter Normalized Track Energy (Ntrack > 0); Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0&&P.dc.ntrack>0
+TH1F pcal_enenorm_track_elec 'SHMS Cal energy/p (npeSum > .5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum>.5&&P.hgcer.npeSum>.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH1F pcal_enenorm_track_pion 'SHMS Cal energy/p (npeSum <.5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum<.5&&P.hgcer.npeSum<.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH2F pcal_ene_2dtrack 'SHMS Cal energy v energy track' P.cal.etrack P.cal.etot 1000 0. 5. 1000 0. 5. P.dc.ntrack>0
+TH2F pcal_delta_etrack 'SHMS Delta v Cal energy/p ' P.cal.etracknorm P.gtr.dp 60 0. 1.5 80 -15. 25. P.dc.ntrack>0
+TH2F pcal_ngnpe_etrack 'SHMS NG Cer Npe v Cal energy/p' P.cal.etracknorm P.ngcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
+TH2F pcal_hgnpe_etrack 'SHMS HG Cer Npe v Cal energy/p' P.cal.etracknorm P.hgcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
+
+#-------------------------------
+# SHMS PID AND ACCEPTANCE PLOTS
+#-------------------------------
+
+TH2F hgc_vs_prshw 'SHMS HGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; HGC Total N.P.E. / 0.5' P.cal.pr.eplane P.hgcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.hgcer.npeSum>0.0 
+TH2F ngc_vs_prshw 'SHMS NGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; NGC Total N.P.E. / 0.5' P.cal.pr.eplane P.ngcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.ngcer.npeSum>0.0 
+TH2F pcal_shw_vs_prshw 'Shower vs. PreShower Energy Deposition; PreShower Energy / 0.1 GeV; Shower Energy / 0.1 GeV' P.cal.pr.eplane P.cal.fly.earray 50 0 5 350 0 35  P.cal.pr.eplane>0.0&&P.cal.fly.earray>0.0 
+TH2F delta_vs_etracknorm 'SHMS Delta. vs. Normalized Track Energy; Calorimeter Normalized Track Energy; Momentum Acceptance (%)' P.cal.etracknorm P.gtr.dp 50 0 5 80 -15, 25 P.cal.etracknorm>0.0&&P.dc.ntrack>0 
+
+#---------------------------
+#  CLUSTERING PLOTS
+#---------------------------
+
+TH1F pcal_xclusttrack 'SHMS Cal X pos' P.cal.xclusttrack 200 -100. 100. P.cal.nclusttrack>-1
+TH1F pcal_xdiff 'SHMS Cal X pos - X track' P.cal.xclusttrack-P.cal.xtrack 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH2F pcal_xdiff_v_xtr 'SHMS Cal X pos - X track v Xtr' P.cal.xtrack P.cal.xclusttrack-P.cal.xtrack 200 -100. 100. 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack 'SHMS Cal X pos of track' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack1 'SHMS Cal X pos of track no matching clust' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
+TH1F pcal_xtrack2 'SHMS Cal X pos of track no matching clust number of cluster=1' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.cal.nclust==0&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
+
+#********************
+# Trigger Apparatus *
+#********************
+
+TH1F ptrig_pngc_sum_pped 'SHMS Noble Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPed 2000 0 2000
+TH1F ptrig_pngc_sum_pint 'SHMS Noble Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseInt 4000 0 40000
+TH1F ptrig_pngc_sum_pamp 'SHMS Noble Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPulseAmp 4100 0 4100
+TH1F ptrig_pngc_sum_ptime 'SHMS Noble Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseTimeRaw 1000 0 10000
+TH1F ptrig_pngc_sum_tdc 'SHMS Noble Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pNGCSUM_tdcTime 700 -3500 3500
+
+TH1F ptrig_phgc_sum_pped 'SHMS Heavy Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPed 2000 0 2000
+TH1F ptrig_phgc_sum_pint 'SHMS Heavy Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseInt 4000 0 40000
+TH1F ptrig_phgc_sum_pamp 'SHMS Heavy Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPulseAmp 4100 0 4100
+TH1F ptrig_phgc_sum_ptime 'SHMS Heavy Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseTimeRaw 1000 0 10000
+TH1F ptrig_phgc_sum_tdc 'SHMS Heavy Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pHGCSUM_tdcTime 700 -3500 3500
+
+TH1F ptrig_p1x_tdc_mult 'SHMS p1x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1X_tdcMultiplicity 11 0 11
+TH1F ptrig_p1y_tdc_mult 'SHMS p1y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1Y_tdcMultiplicity 11 0 11
+TH1F ptrig_p2x_tdc_mult 'SHMS p2x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2X_tdcMultiplicity 11 0 11
+TH1F ptrig_p2y_tdc_mult 'SHMS p2y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2Y_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1T_tdc_mult 'SHMS p1x/p1y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1T_tdcMultiplicity 11 0 11
+TH1F ptrig_p2T_tdc_mult 'SHMS p2x/p2y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2T_tdcMultiplicity 11 0 11
+
+TH1F ptrig_pT1_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 20, Channel 15); Raw TDC Multiplicity; Counts / 10' T.shms.pT1_tdcMultiplicity 11 0 11
+TH1F ptrig_pT2_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 31); Raw TDC Multiplicity; Counts / 10' T.shms.pT2_tdcMultiplicity 11 0 11
+TH1F ptrig_pT3_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 38); Raw TDC Multiplicity; Counts / 10' T.shms.pT3_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500
+TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500
+TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500
+TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500
+
+TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500
+TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500
+
+TH1F ptrig_pT1_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 20, Channel 15); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500
+TH1F ptrig_pT2_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 31); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500
+TH1F ptrig_pT3_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 38); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500
+
+TH1F ptrig_p1x_good_tdc 'SHMS p1x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500 T.shms.p1X_tdcMultiplicity==1
+TH1F ptrig_p1y_good_tdc 'SHMS p1y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500 T.shms.p1Y_tdcMultiplicity==1
+TH1F ptrig_p2x_good_tdc 'SHMS p2x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500 T.shms.p2X_tdcMultiplicity==1
+TH1F ptrig_p2y_good_tdc 'SHMS p2y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500 T.shms.p2Y_tdcMultiplicity==1
+
+TH1F ptrig_p1T_good_tdc 'SHMS p1x/p1y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500 T.shms.p1T_tdcMultiplicity==1
+TH1F ptrig_p2T_good_tdc 'SHMS p2x/p2y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500 T.shms.p2T_tdcMultiplicity==1
+
+TH1F ptrig_pT1_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 20, Channel 15); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500 T.shms.pT1_tdcMultiplicity==1
+TH1F ptrig_pT2_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 31); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500 T.shms.pT2_tdcMultiplicity==1
+TH1F ptrig_pT3_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 38); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500 T.shms.pT3_tdcMultiplicity==1
+
+TH2F ptrig_ch1xy_ch2x 'SHMS Hodo Trig; 1X1Y Trig (ns); 2X Trig (ns)' T.shms.p1T_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1T_tdcMultiplicity==1
+TH2F ptrig_ch1x_ch2x 'SHMS Hodo Trig; 1X Trig (ns); 2X Trig (ns)' T.shms.p1X_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+TH2F ptrig_ch1y_ch2x 'SHMS Hodo Trig; 1Y Trig (ns); 2X Trig (ns)' T.shms.p1Y_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1Y_tdcMultiplicity==1
+TH2F ptrig_ch1ych1x 'SHMS Hodo Trig; Trig 1X (ns); Trig 1Y (ns)' T.shms.p1X_tdcTime T.shms.p1Y_tdcTime 200 100 300 200 100 300 T.shms.p1Y_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+
+TH1F ptrig_pdc_ref1  'SHMS DC Reference Time Slot 6 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF1_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref2  'SHMS DC Reference Time Slot 7 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF2_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref3  'SHMS DC Reference Time Slot 8 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF3_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref4  'SHMS DC Reference Time Slot 9 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF4_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref5  'SHMS DC Reference Time Slot 10 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF5_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref6  'SHMS DC Reference Time Slot 11 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF6_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref7  'SHMS DC Reference Time Slot 12 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF7_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref8  'SHMS DC Reference Time Slot 13 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF8_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref9  'SHMS DC Reference Time Slot 14 Channel 15; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF9_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref10 'SHMS DC Reference Time Slot 15 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF10_tdcTime 200 12000 14000
+
+#-------------
+# Fast Raster 
+#-------------
+
+# Assume FADC range is set to 1V and the integration is 25 channels
+# Offset in the FADC is about 0.122V or 500 channels.
+
+formula FRXA_V T.shms.pFRXA_adcPulseIntRaw*(1./4096.)/25.
+formula FRXB_V T.shms.pFRXB_adcPulseIntRaw*(1./4096.)/25.
+formula FRYA_V T.shms.pFRYA_adcPulseIntRaw*(1./4096.)/25.
+formula FRYB_V T.shms.pFRYB_adcPulseIntRaw*(1./4096.)/25.
+
+TH1F pFRXA 'SHMS FRXA; FRXA RAW ADC (chan); Counts' T.shms.pFRXA_adcPulseIntRaw 1000 0 100000
+TH1F pFRXA_V 'SHMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0
+TH1F pFRXB 'SHMS FRXB; FRXB RAW ADC (chan); Counts' T.shms.pFRXB_adcPulseIntRaw 1000 0 100000
+TH1F pFRXB_V 'SHMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0
+TH1F pFRYA 'SHMS FRYA; FRYA RAW ADC (chan); Counts' T.shms.pFRYA_adcPulseIntRaw 1000 0 100000
+TH1F pFRYA_V 'SHMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0
+TH1F pFRYB 'SHMS FRYB; FRYB RAW ADC (chan); Counts' T.shms.pFRYB_adcPulseIntRaw 1000 0 100000
+TH1F pFRYB_V 'SHMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0
+TH2F pFRA_XvsY 'HMSFRA_XvsY; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0
+TH2F pFRB_XvsY 'HMSFRB_XvsY; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0
+
+#******************
+# EPICS VARIABLES *
+#******************
+
+begin epics
+
+IBC3H00CRCUR4
+hac_bcm_average
+ibcm1
+ibcm2
+iunser
+itov3out
+itov4out
+
+end epics
\ No newline at end of file
diff --git a/DEF-files/SHMS/ALL/pstackana_all_cuts.def b/DEF-files/SHMS/ALL/pstackana_all_cuts.def
new file mode 100644
index 00000000..de1a1358
--- /dev/null
+++ b/DEF-files/SHMS/ALL/pstackana_all_cuts.def
@@ -0,0 +1,234 @@
+# Report file for SHMS stack
+
+Block: RawDecode
+
+Pedestal_event     g.evtyp == 4
+scalar_event       g.evtyp == 0
+HMS_event          g.evtyp == 1
+SHMS_event         g.evtyp == 1
+coin_event         g.evtyp == 3
+misc_event         g.evtyp >= 5
+hmscoin_event      HMS_event || coin_event
+shmscoin_event     SHMS_event || coin_event
+all_event          HMS_event || SHMS_event || coin_event
+
+RawDecode_master  1
+
+Block: Decode
+
+all_trigs          HMS_event || SHMS_event || coin_event
+shms_coin_trig     SHMS_event || coin_event
+
+good_S1_time         T.shms.p1T_tdcTime > 241 && T.shms.p1T_tdcTime < 243
+good_S2X_time        T.shms.p2X_tdcTime > 180 && T.shms.p2X_tdcTime < 220
+good_S1_S2X_time     good_S1_time && good_S2X_time
+
+Decode_master     SHMS_event
+
+Block: CoarseTracking
+CoarseTracking_master SHMS_event
+
+# Add cuts to stricter times and apply them to drift distances 
+time_cut1      P.dc.1u1.time > 0 && P.dc.1u1.time < 250
+time_cut2      P.dc.1u2.time > 0 && P.dc.1u2.time < 250
+time_cut3      P.dc.1x1.time > 0 && P.dc.1x1.time < 250
+time_cut4      P.dc.1x2.time > 0 && P.dc.1x2.time < 250
+time_cut5      P.dc.1v1.time > 0 && P.dc.1v1.time < 250
+time_cut6      P.dc.1v2.time > 0 && P.dc.1v2.time < 250
+time_cut7      P.dc.2v2.time > 0 && P.dc.2v2.time < 250
+time_cut8      P.dc.2v1.time > 0 && P.dc.2v1.time < 250
+time_cut9      P.dc.2x2.time > 0 && P.dc.2x2.time < 250
+time_cut10     P.dc.2x1.time > 0 && P.dc.2x1.time < 250
+time_cut11     P.dc.2u2.time > 0 && P.dc.2u2.time < 250
+time_cut12     P.dc.2u1.time > 0 && P.dc.2u1.time < 250
+
+shmsDC1Planes_large     (P.dc.1x1.nhit + P.dc.1u2.nhit + P.dc.1u1.nhit + P.dc.1v1.nhit + P.dc.1x2.nhit + P.dc.1v2.nhit) > 20
+shmsDC2Planes_large     (P.dc.2x1.nhit + P.dc.2u2.nhit + P.dc.2u1.nhit + P.dc.2v1.nhit + P.dc.2x2.nhit + P.dc.2v2.nhit) > 20 
+
+shms_ch1_gt0           P.dc.Ch1.nhit > 0
+shms_ch2_gt0           P.dc.Ch2.nhit > 0
+shms_ch_gt0            P.dc.Ch2.nhit > 0  && P.dc.Ch1.nhit > 0
+shms_ch_gt4            P.dc.Ch2.nhit > 3  && P.dc.Ch1.nhit > 3
+shms_ch2_gt0_noch1     P.dc.Ch2.nhit > 0  && P.dc.Ch1.nhit == 0
+shms_ch1_gt0_noch2     P.dc.Ch1.nhit > 0  && P.dc.Ch2.nhit == 0
+shms_noch1_noch2       P.dc.Ch1.nhit == 0 && P.dc.Ch2.nhit == 0
+shms_ch_gt0_track      shms_ch_gt0 && P.dc.ntrack > 0
+shms_ch_gt4_track      shms_ch_gt4 && P.dc.ntrack > 0
+
+shms_ch1_gt0_gtime           P.dc.Ch1.nhit > 0 && good_S1_S2X_time
+shms_ch2_gt0_gtime           P.dc.Ch2.nhit > 0 && good_S1_S2X_time
+shms_ch_gt0_gtime            P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit > 0 && good_S1_S2X_time
+shms_ch_gt4_gtime            P.dc.Ch2.nhit > 3 && P.dc.Ch1.nhit > 3 && good_S1_S2X_time
+shms_ch2_gt0_noch1_gtime     P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit == 0 && good_S1_S2X_time
+shms_ch1_gt0_noch2_gtime     P.dc.Ch1.nhit > 0 && P.dc.Ch2.nhit == 0 && good_S1_S2X_time
+shms_noch1_noch2_gtime       P.dc.Ch1.nhit == 0 && P.dc.Ch2.nhit == 0 && good_S1_S2X_time
+shms_ch_gt0_track_gtime      shms_ch_gt0 && P.dc.ntrack > 0 && good_S1_S2X_time
+shms_ch_gt4_track_gtime      shms_ch_gt4 && P.dc.ntrack > 0 && good_S1_S2X_time
+
+shmsDC1_1hit_x1     P.dc.1x1.nhit == 1
+shmsDC1_1hit_u1     P.dc.1u1.nhit == 1
+shmsDC1_1hit_u2     P.dc.1u2.nhit == 1
+shmsDC1_1hit_v1     P.dc.1v1.nhit == 1
+shmsDC1_1hit_v2     P.dc.1v2.nhit == 1
+shmsDC1_1hit_x2     P.dc.1x2.nhit == 1
+
+shmsDC2_1hit_x1     P.dc.2x1.nhit == 1
+shmsDC2_1hit_u1	    P.dc.2u1.nhit == 1
+shmsDC2_1hit_u2     P.dc.2u2.nhit == 1
+shmsDC2_1hit_v1     P.dc.2v1.nhit == 1
+shmsDC2_1hit_v2     P.dc.2v2.nhit == 1
+shmsDC2_1hit_x2     P.dc.2x2.nhit == 1
+
+p1hit1     P.dc.1x1.nhit >= 1
+p1hit2     P.dc.1u1.nhit >= 1
+p1hit3     P.dc.1u2.nhit >= 1
+p1hit4     P.dc.1v1.nhit >= 1
+p1hit5     P.dc.1v2.nhit >= 1
+p1hit6     P.dc.1x2.nhit >= 1
+
+p2hit1     P.dc.2x1.nhit >= 1
+p2hit2     P.dc.2u1.nhit >= 1
+p2hit3     P.dc.2u2.nhit >= 1
+p2hit4     P.dc.2v1.nhit >= 1
+p2hit5     P.dc.2v2.nhit >= 1
+p2hit6     P.dc.2x2.nhit >= 1
+
+shmsDC1Planes6hits     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC2Planes6hits     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+
+shmsDC1_5hits_x1     shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_6hits_x1     p1hit1 && shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_5hits_u1     shmsDC1_1hit_x1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_6hits_u1     p1hit2 && shmsDC1_1hit_x1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_5hits_u2     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_6hits_u2     p1hit3 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_5hits_v1     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+shmsDC1_6hits_v1     p1hit4 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+shmsDC1_5hits_v2     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v1
+shmsDC1_6hits_v2     p1hit5 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v1
+shmsDC1_5hits_x2     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_v1 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+shmsDC1_6hits_x2     p1hit6 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_v1 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+
+shmsDC2_5hits_x1     shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_6hits_x1     p2hit1 && shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_5hits_u1     shmsDC2_1hit_x1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_6hits_u1     p2hit2 && shmsDC2_1hit_x1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_5hits_u2     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_6hits_u2     p2hit3 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_5hits_v1     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+shmsDC2_6hits_v1     p2hit4 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+shmsDC2_5hits_v2     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v1
+shmsDC2_6hits_v2     p2hit5 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v1
+shmsDC2_5hits_x2     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_v1 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+shmsDC2_6hits_x2     p2hit6 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_v1 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+
+shms1HitsLt     P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && g.evtyp == 1
+shms2HitsLt     P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp == 1
+shmsHitsLt      P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp == 1
+
+shmsDC1PlanesGT     (p1hit1 + p1hit2 + p1hit3 + p1hit4 + p1hit5 + p1hit6 ) >= 5
+shmsDC2PlanesGT     (p2hit1 + p2hit2 + p2hit3 + p2hit4 + p2hit5 + p2hit6 ) >= 5
+shmsPlanesGT        shmsDC1PlanesGT && shmsDC2PlanesGT
+shmsHitsPlanes      (P.dc.Ch1.nhit <= 6) && (P.dc.Ch2.nhit <= 6) && shmsPlanesGT
+
+pSpacePoints         P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >= 1
+pSpacePointsStub     P.dc.stubtest == 1 && P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >= 1
+pFoundTrack          P.dc.ntrack > 0 
+pStubLT              P.dc.stubtest == 1
+f1PSpacePoints       shms1HitsLt && shmsDC1PlanesGT && P.dc.Ch1.spacepoints == 0 && g.evtyp == 1
+f2PSpacePoints       shms2HitsLt && shmsDC2PlanesGT && P.dc.Ch2.spacepoints == 0 && g.evtyp == 1
+
+pTest1     shmsHitsPlanes && (!pSpacePoints)
+pTest2	   pSpacePoints && (!pStubLT)
+
+Block: CoarseReconstruct
+CoarseReconstruct_master SHMS_event
+
+Block: Tracking
+Tracking_master  SHMS_event
+
+Block: Reconstruct
+Reconstruct_master SHMS_event
+
+cer_ng_elec    	  P.ngcer.npeSum > 0.5
+cer_ng_pi      	  P.ngcer.npeSum <= 0.5
+cer_hg_elec	  P.hgcer.npeSum > 0.5
+cer_hg_pi	  P.hgcer.npeSum <= 0.5
+cer_pi_both       cer_ng_pi && cer_hg_pi
+cer_elec_both     cer_ng_elec && cer_hg_elec
+cal_elec          P.cal.etracknorm > 0.6 && P.cal.etracknorm < 1.6
+cal_pi            P.cal.etracknorm <= 0.6 && P.cal.etracknorm > 0.
+elec_all          cer_ng_elec && cer_hg_elec && cal_elec
+pi_all        	  cer_ng_pi && cer_hg_pi && cal_pi
+
+shmsScinGood        P.hod.goodscinhit == 1
+shmsScinShould      shmsScinGood 
+shmsScinShoulde     shmsScinGood &&  P.cal.etotnorm > 0.6 && P.cal.etotnorm < 1.6 && P.hgcer.npeSum > 0.5
+shmsScinShouldh     shmsScinGood && P.cal.etotnorm <= 0.6 && P.cal.etotnorm > 0. && P.hgcer.npeSum < 0.5
+shmsScinDid         shmsScinShould && P.dc.ntrack > 0
+shmsScinDide        shmsScinShoulde && P.dc.ntrack > 0
+shmsScinDidh        shmsScinShouldh && P.dc.ntrack > 0
+
+goodHDC1x1     P.dc.1x1.nhit > 0 && P.dc.1x1.nhit < 3
+goodHDC1u2     P.dc.1u2.nhit > 0 && P.dc.1u2.nhit < 3
+goodHDC1u1     P.dc.1u1.nhit > 0 && P.dc.1u1.nhit < 3
+goodHDC1v1     P.dc.1v1.nhit > 0 && P.dc.1v1.nhit < 3
+goodHDC1v2     P.dc.1v2.nhit > 0 && P.dc.1v2.nhit < 3
+goodHDC1x2     P.dc.1x2.nhit > 0 && P.dc.1x2.nhit < 3
+
+goodHDC2x1     P.dc.2x1.nhit > 0 && P.dc.2x1.nhit < 3
+goodHDC2u2     P.dc.2u2.nhit > 0 && P.dc.2u2.nhit < 3
+goodHDC2u1     P.dc.2u1.nhit > 0 && P.dc.2u1.nhit < 3
+goodHDC2v1     P.dc.2v1.nhit > 0 && P.dc.2v1.nhit < 3
+goodHDC2v2     P.dc.2v2.nhit > 0 && P.dc.2v2.nhit < 3
+goodHDC2x2     P.dc.2x2.nhit > 0 && P.dc.2x2.nhit < 3
+
+goodHDC1     goodHDC1x1  && goodHDC1u2 && goodHDC1u1 && goodHDC1v1 && goodHDC1v2 && goodHDC1x2 
+goodHDC2     goodHDC2x1  && goodHDC2u2 && goodHDC2u1 && goodHDC2v1 && goodHDC2v2 && goodHDC2x2 
+bothGood     goodHDC1 && goodHDC2
+
+realhdc1x1     goodHDC1x1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1u2     goodHDC1u2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1u1     goodHDC1u1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1v1     goodHDC1v1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1v2     goodHDC1v2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1x2     goodHDC1x2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+
+realhdc2x1     goodHDC2x1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2u2     goodHDC2u2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2u1     goodHDC2u1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2v1     goodHDC2v1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2v2     goodHDC2v2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2x2     goodHDC2x2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+
+pFound1Track     P.dc.ntrack == 1
+pFound2Track     P.dc.ntrack == 2
+pFound3Track     P.dc.ntrack == 3
+pFound4Track     P.dc.ntrack == 4
+
+pCleanTrack      P.gtr.index > -1
+1pCleanTrack     P.gtr.index == 0
+2pCleanTrack     P.gtr.index == 1
+3pCleanTrack     P.gtr.index == 2
+4pCleanTrack     P.gtr.index == 3
+
+pCleanTrack_cer_elec     (P.gtr.index > -1) && cer_elec_both
+p1hit1_cer_elec		 p1hit1 && cer_elec_both
+pCleanTrack_cal_elec     (P.gtr.index > -1) && cal_elec
+p1hit1_cal_elec          p1hit1 && cal_elec
+
+anyhs1x     P.hod.1x.nhits > 0
+anyhs1y     P.hod.1y.nhits > 0
+anyhs2x     P.hod.2x.nhits > 0
+anyhs2y     P.hod.2y.nhits > 0
+
+goodps1x      P.hod.1x.nhits > 0 && P.hod.1x.nhits < 3
+goodps1y      P.hod.1y.nhits > 0 && P.hod.1y.nhits < 3
+goodps1       goodps1x && goodps1y
+goodps2x      P.hod.2x.nhits > 0 && P.hod.2x.nhits < 3
+goodps2y      P.hod.2y.nhits > 0 && P.hod.2y.nhits < 3
+goodps2       goodps2x && goodps2y
+goodps1s2     goodps1 && goodps2
+
+Block: Physics
+Physics_master SHMS_event
diff --git a/DEF-files/SHMS/EPICS/epics.def b/DEF-files/SHMS/EPICS/epics.def
new file mode 100644
index 00000000..4389a675
--- /dev/null
+++ b/DEF-files/SHMS/EPICS/epics.def
@@ -0,0 +1,299 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+begin epics
+C1068_QDAC01                    40908                           # Pockels Cell POS HV           
+C1068_QDAC07                    32800                           # IA Cell Setpoint  Hall A DAC 07 A0
+C1068_QDAC08                    32800                           # IA Cell Setpoint  Hall A DAC 08 A1
+C1068_QDAC09                    32800                           # IA Cell Setpoint  Hall A DAC 09 A2
+C1068_QDAC10                    32800                           # IA Cell Setpoint  Hall A DAC 10 A3
+C1068_QDAC11                    33411                           # IA Cell Setpoint  Hall C DAC 11 A0
+C1068_QDAC12                    33411                           # IA Cell Setpoint  Hall C DAC 12 A1
+C1068_QDAC13                    33411                           # IA Cell Setpoint  Hall C DAC 13 A2
+C1068_QDAC14                    33411                           # IA Cell Setpoint  Hall C DAC 14 A3
+CFI60DLP                        15.1522                         # "dirty flowrate" at ESR (warm return) g/s
+CFI6711C                        15.0215                         # 4k flow, g/s                  
+CFI6731C                        0                               # 15k Flow g/s                  
+COLPOS1                         0                               # Collimator Block 1            
+COLPOS2                         0                               # Collimator Block 2            
+COLPOS3                         0                               # Collimator Block 3            
+COLPOS4                         0                               # Collimator Block 4            
+COLPOS5                         0                               # Collimator Block 5            
+COLPOS6                         0                               # Collimator Block 6            
+COLPOS7                         0                               # Collimator Block 7            
+CPI671SC                        3.14437                         # 4K Supply pressure at ESR atm 
+CPI672                          1.22453                         # 5K return pressure at ESR atm 
+CPI673                          1.39524                         # 15K Supply pressure at ESR atm
+CPI9541                         1.08368                         # 20K return pressure at ESR atm
+CTD6614                         14.59                           # Hall A 15K supply temp K      
+CTD671SC                        4.11                            # 4K Supply temp at ESR K       
+CTD672                          4.5                             # 5K return temp at ESR K       
+CTD673                          220.43                          # 15K Supply temp at ESR K      
+CTD9541                         264.79                          # 20K return temp at ESR K      
+HALLC:p				6390.9                          # Tiefenback energy                     
+EHCFR_ENERGY                    8.519                           # -                             
+EHCFR_LIPRC                     disabled                        # Master Focus Location:  1=G0, 0=Pivot
+EHCFR_LIXWidth                  1                               # -                             
+EHCFR_LIYWidth                  1                               # -                             
+FB_A:FB_On                      Off                             # 
+FB_A:status:mbbi2.B7            1                               # 
+FB_A:use_RF                     RF Off                          # 
+FB_C:CORR:C1_value.B            0                               # -                             
+FB_C:CORR:C2_value.B            0                               # -                             
+FB_C:CORR:C3_value.B            0                               # -                             
+FB_C:CORR:C4_value.B            0                               # -                             
+FB_C:FB_On                      Off                             # 
+FB_C:status:mbbi2.B7            1                               # 
+FB_C:use_RF                     RF Off                          # 
+HELCLOCKd                       Free Clock                      # Helicity Clock Read           
+HELCLOCKs                       Free Clock                      # Helicity Clock Set            
+HELDELAYd                       No Delay                        # Helicity Delay Read           
+HELDELAYs                       No Delay                        # Helicity Delay Set            
+HELFREQ                         29.5596                         # Helicity Frequency            
+HELPATTERNd                     Quartet                         # Helicity Pattern Read         
+HELPATTERNs                     Quartet                         # Helicity Pattern Set          
+HELTSETTLEd                     500                             # Helicity Settle Read          
+HELTSTABLEd                     33330                           # Helicity Stable Read          
+HWienAngle                      0                               # Horizontal Wien Angle         
+IBC1H04CRCUR2                   0                               # Hall A MPS BCM Current uA     
+IBC3H00CRCUR4                   0                               # Hall C MPS BCM Current uA     
+IFY0I06I                        not inserted                    # PolCup position: FC1 (is/is not) inserted
+IFY0I06R                        retracted                       # PolCup position: FC1 (is/is not) retracted
+IFY0L03I                        not inserted                    # PolCup position: FC2 (is/is not) inserted
+IFY0L03R                        retracted                       # PolCup position: FC2 (is/is not) retracted
+IFY1I07I                        not inserted                    # PolCup position: PolCup (is/is not) inserted
+IFY1I07R                        retracted                       # PolCup position: PolCup (is/is not) retracted
+IGL1I00AI17                     2.98413                         # Dummy Helicity Pockels Cell Voltage V
+IGL1I00AI22                     0                               # G0 X PZT Voltage V            
+IGL1I00AI23                     0                               # G0 Y PZT Voltage V            
+IGL1I00AI24                     0                               # IA Voltage V                  
+IGL1I00AI25                     0                               # Hall A X PZT Voltage V        
+IGL1I00AI26                     0                               # Hall A Y PZT Voltage  V       
+IGL1I00AI27                     0                               # Hall A IA Voltage  V          
+IGL1I00AI7                      3.44322                         # Gun 2 PITA Voltage Positive V 
+IGL1I00AI8                      3.15507                         # Gun 2 PITA Voltage Negative V 
+IGL1I00DAC2                     0                               # Hall B Control Level          
+IGL1I00DAC3                     0                               # Hall B Seed Level             
+IGL1I00DAC5                     0                               # Horizontal Wien Electrode Voltage
+IGL1I00DAC6                     0                               # Vertical Wien Electrode Voltage
+IGL1I00DI24_24M                 IN                              # Beam Half-wave plate Read(off=out) () --
+IGL1I00DIOFLRD                  13119                           # Carlini insertable waveplate state (1
+IGL1I00DIOHWTB.B2               0                               # Carlini insertable waveplate state (0=in,1=out)
+IGL1I00OD16_16                  IN                              # Beam Half-wave plate Set(off=out)
+IGL1I00OD16_4                   POSITIVE                        # Vertical Wien HV Polarity     
+IGL1I00OD16_8                   ON                              # Pockels Cell ON/OFF           
+IGL1I00OD16_9                   POSITIVE                        # Horizontal Wien HV Polarity   
+IGL1I00PStrans                  0                               # Injector transmission         
+IGLdac2:G2Ch3Pos                0                               # Gun2: PC (PITA) POS           
+IGLdac2:G2Ch4Neg                0                               # Gun2: PC (PITA) NEG           
+pgunFreqDiv:A:frequency	        500	 			# Hall A Laser Frequency:  0: 500 MHz, 1: 250 MHz
+pgunFreqDiv:C:frequency        	250	       			# Hall C Laser Frequency:  0: 500 MHz, 1: 250 MHz
+IHA3H07AIR                      72.8365                         # monitor                       
+IHA3H07BIR                      83.6352                         # monitor                       
+IOCSE14:PassSel;r               Auto Select                     # Auto Select                   
+IOCSE14:SEEGainMod;r            Auto Gain                       # Auto Gain                     
+IOCSE14:SEEProcMod;r            SEE Norm Ops                    # SEE Norm Ops                  
+IOCSE17:PassSel;r               Auto Select                     # Auto Select                   
+IOCSE17:SEEGainMod;r            Auto Gain                       # Auto Gain                     
+IOCSE17:SEEProcMod;r            SEE Norm Ops                    # SEE Norm Ops                  
+IOCSE18:PassSel;r               Auto Select                     # Auto Select                   
+IOCSE18:SEEGainMod;r            Auto Gain                       # Auto Gain                     
+IOCSE18:SEEProcMod;r            SEE Norm Ops                    # SEE Norm Ops                  
+IOCSE20:PassSel;r               Auto Select                     # Auto Select                   
+IOCSE20:SEEGainMod;r            Auto Gain                       # Auto Gain                     
+IOCSE20:SEEProcMod;r            SEE Norm Ops                    # SEE Norm Ops                  
+IPM2C24A.IENG                   0.121083                        # Hall B Beam Current (2C24A)   
+IPM3C00.XPOS                    0                               # This should be added,           stripline bpm x position ,  BPM POSITION
+IPM3C00.YPOS                    0                               # This should be added,           stripline bpm x position
+IPM3C01.XPOS                    0                               # 
+IPM3C01.YPOS                    0                               # 
+IPM3C02.XPOS                    0                               # 
+IPM3C02.YPOS                    0                               # 
+IPM3C03.XPOS                    0                               # 
+IPM3C03.YPOS                    0                               # 
+IPM3C04.XPOS                    0                               # 
+IPM3C04.YPOS                    0                               # 
+IPM3C05.XPOS                    0                               # 
+IPM3C05.YPOS                    0                               # 
+IPM3C06.XPOS                    0                               # 
+IPM3C06.YPOS                    0                               # 
+IPM3C07.XPOS                    0                               # 
+IPM3C07.YPOS                    0                               # 
+IPM3C07A.XPOS                   0                               # 
+IPM3C07A.YPOS                   0                               # 
+IPM3C08.XPOS                    0                               # 
+IPM3C08.YPOS                    0                               # 
+IPM3C10.XPOS                    0                               # 
+IPM3C10.YPOS                    0                               # 
+IPM3C11.XPOS                    0                               # 
+IPM3C11.YPOS                    0                               # 
+IPM3C12.XPOS                    0                               # 
+IPM3C12.YPOS                    0                               # 
+IPM3C14.XPOS                    0                               # 
+IPM3C14.YPOS                    0                               # 
+IPM3C16.XPOS                    0                               # 
+IPM3C16.YPOS                    0                               # 
+IPM3C17.XIFG                    3000                            # stripline bpm x position auto-gain, BPM Position Auto-Gain
+IPM3C17.XPOS                    0                               # 
+IPM3C17.XSOF                    0.223                           # stripline bpm x position offset, BPM Position OffSet
+IPM3C17.YIFG                    3000                            # stripline bpm y position auto-gain
+IPM3C17.YPOS                    0                               # 
+IPM3C17.YSOF                    -0.356                          # stripline bpm y position offset
+IPM3C18.XIFG                    3000                            # 
+IPM3C18.XPOS                    0                               # 
+IPM3C18.XSOF                    -0.049                          # 
+IPM3C18.YIFG                    3000                            # 
+IPM3C18.YPOS                    0                               # 
+IPM3C18.YSOF                    -0.225                          # 
+IPM3C19.XIFG                    3000                            # 
+IPM3C19.XPOS                    0                               # 
+IPM3C19.XSOF                    0.003                           # 
+IPM3C19.YIFG                    3000                            # 
+IPM3C19.YPOS                    0                               # 
+IPM3C19.YSOF                    0.015                           # 
+IPM3C20.XIFG                    3000                            # 
+IPM3C20.XPOS                    0                               # 
+IPM3C20.XSOF                    0.11                            # 
+IPM3C20.YIFG                    3000                            # 
+IPM3C20.YPOS                    0                               # 
+IPM3C20.YSOF                    -0.52                           # 
+IPM3C21.XIFG                    3000                            # 
+IPM3C21.XPOS                    0                               # 
+IPM3C21.XSOF                    0.04                            # 
+IPM3C21.YIFG                    3000                            # 
+IPM3C21.YPOS                    0                               # 
+IPM3C21.YSOF                    -0.56                           # 
+IPM3H02.XIFG                    3000                            # 
+IPM3H02.XPOS                    0                               # 
+IPM3H02.XSOF                    0                               # 
+IPM3H02.YIFG                    3000                            # 
+IPM3H02.YPOS                    0                               # 
+IPM3H02.YSOF                    0                               # 
+IPM3H04.XIFG                    3000                            # 
+IPM3H04.XPOS                    0                               # 
+IPM3H04.XSOF                    0                               # 
+IPM3H04.YIFG                    3000                            # 
+IPM3H04.YPOS                    0                               # 
+IPM3H04.YSOF                    0                               # 
+IPM3H07A.XIFG                   3000                            # 
+IPM3H07A.XPOF                   -9999                           # BPM XXXX  OffSet (looks like offset but don't know)
+IPM3H07A.XPOS                   0                               # 
+IPM3H07A.XRAW                   0                               # BPM RAW                       
+IPM3H07A.XSOF                   0.4                             # 
+IPM3H07A.YIFG                   3000                            # 
+IPM3H07A.YPOF                   -9999                           # 
+IPM3H07A.YPOS                   0                               # 
+IPM3H07A.YRAW                   0                               # 
+IPM3H07A.YSOF                   0.2                             # 
+IPM3H07B.XIFG                   3000                            # 
+IPM3H07B.XPOF                   -9999                           # 
+IPM3H07B.XPOS                   0                               # 
+IPM3H07B.XRAW                   0                               # 
+IPM3H07B.XSOF                   0.2                             # 
+IPM3H07B.YIFG                   3000                            # 
+IPM3H07B.YPOF                   -9999                           # 
+IPM3H07B.YPOS                   0                               # 
+IPM3H07B.YRAW                   0                               # 
+IPM3H07B.YSOF                   0.2                             # 
+IPM3H07C.XIFG                   3000                            # 
+IPM3H07C.XPOF                   -9999                           # 
+IPM3H07C.XPOS                   0                               # 
+IPM3H07C.XRAW                   0                               # 
+IPM3H07C.XSOF                   0.6                             # 
+IPM3H07C.YIFG                   3000                            # 
+IPM3H07C.YPOF                   -9999                           # 
+IPM3H07C.YPOS                   0                               # 
+IPM3H07C.YRAW                   0                               # 
+IPM3H07C.YSOF                   0                               # 
+IPM3H08.XPOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew, Big BPM target down stream,  
+IPM3H08.XPOS                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H08.XRAW                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H08.XSOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,   
+IPM3H08.YPOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew, Big BPM target down stream,  
+IPM3H08.YPOS                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H08.YRAW                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H08.YSOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H09.XIFG                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew, 
+IPM3H09.XPOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew, Big BPM target down stream, 
+IPM3H09.XPOS                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H09.XRAW                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H09.XSOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H09.YIFG                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H09.YPOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew, Big BPM target down stream,  
+IPM3H09.YPOS                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H09.YRAW                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3H09.YSOF                    new Big BPMs at downstream               # offline in the Transports , Halls BPM Overwiew,  
+IPM3P01.XPOS                    *** not connected               # Hall-C Compton Control, offline in the Transports , Halls BPM Overwiew,  Compton
+IPM3P01.YPOS                    *** not connected               # Hall-C Compton Control, offline in the Transports , Halls BPM Overwiew,  Compton
+IPM3P02A.XIFG                   3000                            # 
+IPM3P02A.XPOS                   0                               # Hall-C Compton Control,       
+IPM3P02A.XSOF                   -0.48                           # 
+IPM3P02A.YIFG                   3000                            # 
+IPM3P02A.YPOS                   0                               # Hall-C Compton Control,       
+IPM3P02A.YSOF                   -0.4                            # 
+IPM3P02B.XIFG                   3000                            # 
+IPM3P02B.XPOS                   0                               # Hall-C Compton Control,       
+IPM3P02B.XSOF                   0                               # 
+IPM3P02B.YIFG                   3000                            # 
+IPM3P02B.YPOS                   0                               # Hall-C Compton Control,       
+IPM3P02B.YSOF                   0.07                            # 
+IPM3P03.XIFG                   *** not connected               # offline in the Transports , Halls BPM Overwiew, 
+IPM3P03.XPOS                   *** not connected               # Hall-C Compton Control, offline in the Transports , Halls BPM Overwiew,  Compton
+IPM3P03.XSOF                   *** not connected               # offline in the Transports , Halls BPM Overwiew,  Compton
+IPM3P03.YIFG                   *** not connected               # offline in the Transports , Halls BPM Overwiew,  Compton
+IPM3P03.YPOS                   *** not connected               # Hall-C Compton Control, offline in the Transports , Halls BPM Overwiew,  Compton
+IPM3P03.YSOF                   *** not connected               # offline in the Transports , Halls BPM Overwiew, Compton
+ISL0I04DT                       In                              # Master Slit Setting           
+MFG1I04A.BDL                    978                             # First Solenoid BDL (G-cm)     
+MFG1I04B.BDL                    -977.988                        # Second Solenoid BDL (G-cm)    
+MWF0I02.BDL                     -7.66356e-06                    # Horizontal Wien BDL (G-cm)    
+MWF1I04.BDL                     9.37619e-06                     # Vertical Wien BDL (G-cm)      
+OXSS_MGFD                       0                               # Persistent Field (T)          
+OXSS_RDF                        0                               # Leads Field                   
+Phi_FG                          0.000516931                     # Solenoids Angle (Phi_FG)      
+R00PGSET                        0.7                             # Prebuncher Setting            
+SMRPOSA                         -1.03809                        # Hall A Slit Position (Hall A Chopper Slit Readback) --
+SMRPOSB                         8                               # Hall B Chopper Slit Position Readback
+SMRPOSC                         8                               # Hall C Chopper Slit Position Readback
+TARGPOS                         0                               # Target position X             
+VWienAngle                      0                               # Vertical Wien Angle           
+WienAngle                       0                               # Wien Filter Angle Setting  degrees
+cdipc_xpos                      5e-05                           # Pockels Cell X Stage          
+cdipc_ypos                      0.0762                          # Pockels Cell Y Stage          
+hac_bcm_average                 0.0608161                       # Hall A BCM Current uA         
+halla_photocurrent              0                               # Hall A photocurrent uA        
+halla_transmission              0                               # Hall A Independent Transmission %
+hallb_transmission              0                               # Hall B Independent Transmission %
+hallc_photocurrent              0                               # Hall C photocurrent  uA       
+hel_even_1                      0                               # MHE0L01V Even Setpoint        
+hel_even_2                      0                               # MHE0L02H Even Setpoint        
+hel_even_3                      0                               # MHE0L03V Even Setpoint        
+hel_even_4                      0                               # MHE0L04H Even Setpoint        
+hel_mag_status.D                -1                              # Hel State Asymmetry           
+hel_odd_1                       0                               # MHE0L01V Even Setpoint        
+hel_odd_2                       0                               # MHE0L02H Even Setpoint        
+hel_odd_3                       0                               # MHE0L03V Even Setpoint        
+hel_odd_4                       0                               # MHE0L04H Even Setpoint        
+ibcm1                           0.00964451                      # Hall C Beam Current (monitor # 1): careful, this is also in target epics
+ibcm17                          -5.58226                        # Hall C Beam Current (monitor # 3): careful, this is also in target epics
+ibcm2                           0.000827091                     # Hall C Beam Current (monitor # 2): careful, this is also in target epics
+itov1out                        0.021978                        # A1 Slit Current               
+itov2out                        0.175824                        # A2 Slit Current               
+itov3out                        0                               # Master Slit Current           
+itov4out                        0                               # INJ Faraday cup (PCup, FC1, FC2, Dump) Current
+itov5out                        0                               # A3 Slit Current               
+itov7out                        0.029304                        # A4 Slit Current               
+iunser                          2477.15                         # Hall C Beam Current (unser)   
+laser_a_wavelength              0                               # Hall A laser wavelength nm    
+laser_b_wavelength              0                               # Hall B laser wavelength nm    
+laser_c_wavelength              0                               # Hall C laser wavelength nm    
+psub_aa_pos                     280.021                         # Hall A Laser Attenuator (Hall A Laser Attenuator Setting) --
+psub_ab_pos                     190.797                         # Hall B Laser Attenuator Setting
+psub_ac_pos                     120.01                          # Hall C Laser Attenuator Setting
+psub_cx_pos                     10500                           # Wafer X Stage         (X laser position on cathode) --
+psub_cy_pos                     11500                           # Wafer Y Stage         (Y laser position on cathode) --
+psub_pl_pos                     0.168                           # Rotating waveplate (Rotatable Half Wave Plate Setting) --
+qe_halla                        0.4498                          # Hall A Quantum Efficiency %   
+qe_hallb                        0.423                           # Hall B Quantum Efficiency %   
+qe_hallc                        0.4578                          # Hall C Quantum Efficiency %   
+scaler_calc1                    0.0711763                       # Hall B Beam Current (Faraday Cup) nA	
+end epics
diff --git a/DEF-files/SHMS/EPICS/epics_short.def b/DEF-files/SHMS/EPICS/epics_short.def
new file mode 100644
index 00000000..b1e773c1
--- /dev/null
+++ b/DEF-files/SHMS/EPICS/epics_short.def
@@ -0,0 +1,14 @@
+# See $ANALYZER/examples/output_example.def for examples
+
+
+begin epics
+IBC3H00CRCUR4
+hac_bcm_average
+ibcm1
+ibcm2
+iunser
+itov3out
+itov4out
+end epics
+
+
diff --git a/DEF-files/SHMS/GEN/workshop_example.def b/DEF-files/SHMS/EXAMPLES/workshop_example.def
similarity index 100%
rename from DEF-files/SHMS/GEN/workshop_example.def
rename to DEF-files/SHMS/EXAMPLES/workshop_example.def
diff --git a/DEF-files/SHMS/GEN/pstackana_cuts.def b/DEF-files/SHMS/GEN/pstackana_cuts.def
deleted file mode 100644
index 1efff43e..00000000
--- a/DEF-files/SHMS/GEN/pstackana_cuts.def
+++ /dev/null
@@ -1,27 +0,0 @@
-Block: RawDecode
-
-Pedestal_event 0
-RawDecode_master 1
-
-Block: Decode
-Decode_master 1
-
-Block: CoarseTracking
-CoarseTracking_master 1
-
-#add cuts to stricter times and apply them to drift distances 
-time_cut1                            P.dc.1u1.time > 0 && P.dc.1u1.time < 250
-time_cut2                            P.dc.1u2.time > 0 && P.dc.1u2.time < 250
-time_cut3                            P.dc.1x1.time > 0 && P.dc.1x1.time < 250
-time_cut4                            P.dc.1x2.time > 0 && P.dc.1x2.time < 250
-time_cut5                            P.dc.1v1.time > 0 && P.dc.1v1.time < 250
-time_cut6                            P.dc.1v2.time > 0 && P.dc.1v2.time < 250
-time_cut7                            P.dc.2v2.time > 0 && P.dc.2v2.time < 250
-time_cut8                            P.dc.2v1.time > 0 && P.dc.2v1.time < 250
-time_cut9                            P.dc.2x2.time > 0 && P.dc.2x2.time < 250
-time_cut10                            P.dc.2x1.time > 0 && P.dc.2x1.time < 250
-time_cut11                            P.dc.2u2.time > 0 && P.dc.2u2.time < 250
-time_cut12                            P.dc.2u1.time > 0 && P.dc.2u1.time < 250
-
-Block: CoarseReconstruct
-CourseReconstruct 0
diff --git a/DEF-files/SHMS/GEN/pstackana_report.def b/DEF-files/SHMS/GEN/pstackana_report.def
deleted file mode 100644
index da0db367..00000000
--- a/DEF-files/SHMS/GEN/pstackana_report.def
+++ /dev/null
@@ -1,257 +0,0 @@
-# See $ANALYZER/examples/output_example.def for examples
-#
-block T.shms.*
-block P.ngcer.*
-block P.dc.*
-block P.tr.*
-block P.hod.*
-block P.hgcer.*
-block P.aero.*
-block P.cal.*
-block P.gtr.*
-
-TH1F pcal_ene 'SHMS Cal energy' P.cal.etot 1000 0. 5.
-TH1F pcal_xclusttrack 'SHMS Cal X pos' P.cal.xclusttrack 200 -100. 100. P.cal.nclusttrack>-1
-TH1F pcal_xdiff 'SHMS Cal X pos - X track' P.cal.xclusttrack-P.cal.xtrack 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
-TH2F pcal_xdiff_v_xtr 'SHMS Cal X pos - X track v Xtr' P.cal.xtrack P.cal.xclusttrack-P.cal.xtrack 200 -100. 100. 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
-TH1F pcal_xtrack 'SHMS Cal X pos of track' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack>-1&&P.dc.ntrack>0
-TH1F pcal_xtrack1 'SHMS Cal X pos of track no matching clust' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
-TH1F pcal_xtrack2 'SHMS Cal X pos of track no matching clust number of cluster=1' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.cal.nclust==0&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
-TH1F pcal_enenorm 'SHMS Cal energy normalized by Central MOM' P.cal.etotnorm 300 0. 1.5
-TH1F pcal_ene_track 'SHMS Cal energy (best track)' P.cal.etrack 1000 0. 5. P.dc.ntrack>0
-TH1F pcal_enenorm_track 'SHMS Cal energy normalized by best track mom' P.cal.etracknorm 1000 0. 1.5 P.dc.ntrack>0
-TH1F pcal_enenorm_track_elec 'SHMS Cal energy/p (npeSum > .5 && abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum>.5&&P.hgcer.npeSum>.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
-TH1F pcal_enenorm_track_pion 'SHMS Cal energy/p (npeSum <.5 && abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum<.5&&P.hgcer.npeSum<.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
-TH2F pcal_ene_2dtrack 'SHMS Cal energy v energy track' P.cal.etrack P.cal.etot 1000 0. 5. 1000 0. 5. P.dc.ntrack>0
-TH2F pcal_delta_etrack 'SHMS Delta v Cal energy/p ' P.cal.etracknorm P.gtr.dp 60 0. 1.5 80 -15. 25. P.dc.ntrack>0
-TH2F pcal_ngnpe_etrack 'SHMS NG Cer Npe v Cal energy/p' P.cal.etracknorm P.ngcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
-TH2F pcal_hgnpe_etrack 'SHMS HG Cer Npe v Cal energy/p' P.cal.etracknorm P.hgcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
-
-
-# Noble Gas Cherenkov
-TH1F pngcer_occu 'SHMS Noble Gas Cherenkov Occupancy; Counter Number; Number of Entries' P.ngcer.adcCounter 4 0.5 4.5
-TH1F pngcer_occu_elec 'SHMS Noble Gas Cherenkov Occupancy ( cut sum npe ; Counter Number; Number of Entries' P.ngcer.adcCounter 4 0.5 4.5 P.ngcer.npeSum>0.5
-
-TH1F pngcer_pmt1_adc  'SHMS NG Cherenkov PMT 1 ; ADC (chan) ; Counts' P.ngcer.goodAdcPulseInt[0] 1000 0. 100000.
-TH1F pngcer_pmt2_adc  'SHMS NG Cherenkov PMT 2 ; ADC (chan) ; Counts' P.ngcer.goodAdcPulseInt[1] 1000 0. 100000.
-TH1F pngcer_pmt3_adc  'SHMS NG Cherenkov PMT 3 ; ADC (chan) ; Counts' P.ngcer.goodAdcPulseInt[2] 1000 0. 100000.
-TH1F pngcer_pmt4_adc  'SHMS NG Cherenkov PMT 4 ; ADC (chan) ; Counts' P.ngcer.goodAdcPulseInt[3] 1000 0. 100000.
-TH1F pngcer_pmt1_nphe 'SHMS NG Cherenkov PMT 1 ; N_Phe ; Counts' P.ngcer.npe[0] 80 0. 20.
-TH1F pngcer_pmt2_nphe 'SHMS NG Cherenkov PMT 2 ; N_Phe ; Counts' P.ngcer.npe[1] 80 0. 20.
-TH1F pngcer_pmt3_nphe 'SHMS NG Cherenkov PMT 3 ; N_Phe ; Counts' P.ngcer.npe[2] 80 0. 20.
-TH1F pngcer_pmt4_nphe 'SHMS NG Cherenkov PMT 4 ; N_Phe ; Counts' P.ngcer.npe[3] 80 0. 20.
-TH1F pngcer_sumnphe 'SHMS NG Cherenkov; Sum of N_Phe ; Counts' P.ngcer.npeSum 80 0. 20. 
-
-# Drift Chambers
-TH1F pdc_ref1  'SHMS DC Reference Time Slot 6 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF1_tdcTime  200 12000 14000
-TH1F pdc_ref2  'SHMS DC Reference Time Slot 7 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF2_tdcTime  200 12000 14000
-TH1F pdc_ref3  'SHMS DC Reference Time Slot 8 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF3_tdcTime  200 12000 14000
-TH1F pdc_ref4  'SHMS DC Reference Time Slot 9 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF4_tdcTime  200 12000 14000
-TH1F pdc_ref5  'SHMS DC Reference Time Slot 10 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF5_tdcTime  200 12000 14000
-TH1F pdc_ref6  'SHMS DC Reference Time Slot 11 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF6_tdcTime  200 12000 14000
-TH1F pdc_ref7  'SHMS DC Reference Time Slot 12 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF7_tdcTime  200 12000 14000
-TH1F pdc_ref8  'SHMS DC Reference Time Slot 13 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF8_tdcTime  200 12000 14000
-TH1F pdc_ref9  'SHMS DC Reference Time Slot 14 Channel 15; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF9_tdcTime  200 12000 14000
-TH1F pdc_ref10 'SHMS DC Reference Time Slot 15 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks;' T.shms.pDCREF10_tdcTime 200 12000 14000
-
-TH1F pdc1u1_wirenum 'SHMS DC 1U1 Wiremap; Wire Number; Number of Entries' P.dc.1u1.wirenum 107 0.5 107.5
-TH1F pdc1u2_wirenum 'SHMS DC 1U2 Wiremap; Wire Number; Number of Entries' P.dc.1u2.wirenum 107 0.5 107.5
-TH1F pdc1x1_wirenum 'SHMS DC 1X1 Wiremap; Wire Number; Number of Entries' P.dc.1x1.wirenum  79 0.5  79.5
-TH1F pdc1x2_wirenum 'SHMS DC 1X2 Wiremap; Wire Number; Number of Entries' P.dc.1x2.wirenum  79 0.5  79.5
-TH1F pdc1v1_wirenum 'SHMS DC 1V1 Wiremap; Wire Number; Number of Entries' P.dc.1v1.wirenum 107 0.5 107.5
-TH1F pdc1v2_wirenum 'SHMS DC 1V2 Wiremap; Wire Number; Number of Entries' P.dc.1v2.wirenum 107 0.5 107.5
-
-TH1F pdc2v2_wirenum 'SHMS DC 2V2 Wiremap; Wire Number; Number of Entries' P.dc.2v2.wirenum 107 0.5 107.5
-TH1F pdc2v1_wirenum 'SHMS DC 2V1 Wiremap; Wire Number; Number of Entries' P.dc.2v1.wirenum 107 0.5 107.5
-TH1F pdc2x2_wirenum 'SHMS DC 2X2 Wiremap; Wire Number; Number of Entries' P.dc.2x2.wirenum  79 0.5  79.5
-TH1F pdc2x1_wirenum 'SHMS DC 2X1 Wiremap; Wire Number; Number of Entries' P.dc.2x1.wirenum  79 0.5  79.5
-TH1F pdc2u2_wirenum 'SHMS DC 2U2 Wiremap; Wire Number; Number of Entries' P.dc.2u2.wirenum 107 0.5 107.5
-TH1F pdc2u1_wirenum 'SHMS DC 2U1 Wiremap; Wire Number; Number of Entries' P.dc.2u1.wirenum 107 0.5 107.5
-
-TH2F pdc1u1_wirenum_vs_tdc 'SHMS DC 1U1 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.1u1.wirenum P.dc.1u1.time 107 0.5 107.5 500 0 500
-TH2F pdc1u2_wirenum_vs_tdc 'SHMS DC 1U2 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.1u2.wirenum P.dc.1u2.time 107 0.5 107.5 500 0 500
-TH2F pdc1x1_wirenum_vs_tdc 'SHMS DC 1X1 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.1x1.wirenum P.dc.1x1.time  79 0.5  79.5 500 0 500
-TH2F pdc1x2_wirenum_vs_tdc 'SHMS DC 1X2 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.1x2.wirenum P.dc.1x2.time  79 0.5  79.5 500 0 500
-TH2F pdc1v1_wirenum_vs_tdc 'SHMS DC 1V1 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.1v1.wirenum P.dc.1v1.time 107 0.5 107.5 500 0 500
-TH2F pdc1v2_wirenum_vs_tdc 'SHMS DC 1V2 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.1v2.wirenum P.dc.1v2.time 107 0.5 107.5 500 0 500
-
-TH2F pdc2v2_wirenum_vs_tdc 'SHMS DC 2V2 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.2v2.wirenum P.dc.2v2.time 107 0.5 107.5 500 0 500
-TH2F pdc2v1_wirenum_vs_tdc 'SHMS DC 2V1 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.2v1.wirenum P.dc.2v1.time 107 0.5 107.5 500 0 500
-TH2F pdc2x2_wirenum_vs_tdc 'SHMS DC 2X2 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.2x2.wirenum P.dc.2x2.time  79 0.5  79.5 500 0 500
-TH2F pdc2x1_wirenum_vs_tdc 'SHMS DC 2X1 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.2x1.wirenum P.dc.2x1.time  79 0.5  79.5 500 0 500
-TH2F pdc2u2_wirenum_vs_tdc 'SHMS DC 2U2 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.2u2.wirenum P.dc.2u2.time 107 0.5 107.5 500 0 500
-TH2F pdc2u1_wirenum_vs_tdc 'SHMS DC 2U1 Wire Number vs. TDC; Wire Number; TDC Time (ns) / 1 ns' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 500 0 500
-
-TH1F pdc1u1_resid 'SHMS 1U1 DC Residual ; Residuals (cm)' P.dc.residual[0] 600 -.3 .3
-TH1F pdc1u2_resid 'SHMS 1U2 DC Residual ; Residuals (cm)' P.dc.residual[1] 600 -.3 .3
-TH1F pdc1x1_resid 'SHMS 1X1 DC Residual ; Residuals (cm)' P.dc.residual[2] 600 -.3 .3
-TH1F pdc1x2_resid 'SHMS 1X2 DC Residual ; Residuals (cm)' P.dc.residual[3] 600 -.3 .3
-TH1F pdc1v1_resid 'SHMS 1V1 DC Residual ; Residuals (cm)' P.dc.residual[4] 600 -.3 .3
-TH1F pdc1v2_resid 'SHMS 1V2 DC Residual ; Residuals (cm)' P.dc.residual[5] 600 -.3 .3
-
-TH1F pdc2u1_resid 'SHMS 2U1 DC Residual ; Residuals (cm)' P.dc.residual[6] 600 -.3 .3
-TH1F pdc2u2_resid 'SHMS 2U2 DC Residual ; Residuals (cm)' P.dc.residual[7] 600 -.3 .3
-TH1F pdc2x1_resid 'SHMS 2X1 DC Residual ; Residuals (cm)' P.dc.residual[8] 600 -.3 .3
-TH1F pdc2x2_resid 'SHMS 2X2 DC Residual ; Residuals (cm)' P.dc.residual[9] 600 -.3 .3
-TH1F pdc2v1_resid 'SHMS 2V1 DC Residual ; Residuals (cm)' P.dc.residual[10] 600 -.3 .3
-TH1F pdc2v2_resid 'SHMS 2V2 DC Residual ; Residuals (cm)' P.dc.residual[11] 600 -.3 .3
-
-TH2F pdc1u1_wirenum_vs_resid 'SHMS 1U1 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.1u1.wirenum P.dc.residual[0] 107 0.5 107.5 600 -.3 .3
-TH2F pdc1u2_wirenum_vs_resid 'SHMS 1U2 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.1u2.wirenum P.dc.residual[1] 107 0.5 107.5 600 -.3 .3
-TH2F pdc1x1_wirenum_vs_resid 'SHMS 1X1 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.1x1.wirenum P.dc.residual[2] 79 0.5  79.5 600 -.3 .3
-TH2F pdc1x2_wirenum_vs_resid 'SHMS 1X2 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.1x2.wirenum P.dc.residual[3] 79 0.5  79.5 600 -.3 .3
-TH2F pdc1v1_wirenum_vs_resid 'SHMS 1V1 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.1v1.wirenum P.dc.residual[4] 107 0.5 107.5 600 -.3 .3
-TH2F pdc1v2_wirenum_vs_resid 'SHMS 1V2 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.1v2.wirenum P.dc.residual[5] 107 0.5 107.5 600 -.3 .3
-
-TH2F pdc2v2_wirenum_vs_resid 'SHMS 2V2 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.2v2.wirenum P.dc.residual[6] 107 0.5 107.5 600 -.3 .3
-TH2F pdc2v1_wirenum_vs_resid 'SHMS 2V1 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.2v1.wirenum P.dc.residual[7] 107 0.5 107.5 600 -.3 .3
-TH2F pdc2x2_wirenum_vs_resid 'SHMS 2X2 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.2x2.wirenum P.dc.residual[8] 79 0.5  79.5 600 -.3 .3
-TH2F pdc2x1_wirenum_vs_resid 'SHMS 2X1 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.2x1.wirenum P.dc.residual[9] 79 0.5  79.5 600 -.3 .3
-TH2F pdc2u2_wirenum_vs_resid 'SHMS 2U2 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.2u2.wirenum P.dc.residual[10] 107 0.5 107.5 600 -.3 .3
-TH2F pdc2u1_wirenum_vs_resid 'SHMS 2U1 DC Wire Number vs. Residuals; Wire Number; Residuals (mm)' P.dc.2u1.wirenum P.dc.residual[11] 107 0.5 107.5 600 -.3 .3
-
-TH2F pdc_xfp_vs_yxp 'SHMS DC Xfp vs Yxp; Yfp (cm) / 1 cm; Xfp (cm) / 1 cm' P.dc.y P.dc.x 100 -50 50 100 -50 50
-TH2F pdc_xpfp_vs_ypfp 'SHMS DC Xp_fp vs Yp_xp; Yp_fp; Xp_fp' P.dc.yp P.dc.xp 100 -1 1 100 -1 1
-TH2F pdc_xfp_vs_ypfp 'SHMS DC Yp_fp vs X_fp; Xfp (cm); Yp_fp (radians)'  P.dc.x_fp P.dc.yp_fp 100 -50 50 100 .1 .1 
-TH2F pdc_xfp_vs_xpfp_1 'SHMS DC Xp_fp vs X_fp; X_fp (cm); Xp_fp (radians)' P.dc.x_fp P.dc.xp_fp 100 -1 1 100 -.1 .1 
-
-# Hodoscopes (Positive/Left) 
-TH1F phodo_1x_pos_adc_occu 'SHMS Hodoscope 1X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posAdcCounter 13 0.5 13.5
-TH1F phodo_1y_pos_adc_occu 'SHMS Hodoscope 1Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posAdcCounter 13 0.5 13.5 
-TH1F phodo_2x_pos_adc_occu 'SHMS Hodoscope 2X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posAdcCounter 14 0.5 14.5
-TH1F phodo_2y_pos_adc_occu 'SHMS Hodoscope 2Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posAdcCounter 21 0.5 21.5
-TH1F phodo_1x_pos_tdc_occu 'SHMS Hodoscope 1X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posTdcCounter 13 0.5 13.5
-TH1F phodo_1y_pos_tdc_occu 'SHMS Hodoscope 1Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posTdcCounter 13 0.5 13.5 
-TH1F phodo_2x_pos_tdc_occu 'SHMS Hodoscope 2X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posTdcCounter 14 0.5 14.5
-TH1F phodo_2y_pos_tdc_occu 'SHMS Hodoscope 2Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posTdcCounter 21 0.5 21.5
-TH1F phodo_1x_pos_adctrack 'SHMS Hodoscope 1X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posAdcCounter 13 0.5 13.5 P.tr.n>0
-TH1F phodo_1y_pos_adctrack 'SHMS Hodoscope 1Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posAdcCounter 13 0.5 13.5  P.tr.n>0
-TH1F phodo_2x_pos_adctrack 'SHMS Hodoscope 2X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posAdcCounter 14 0.5 14.5 P.tr.n>0
-TH1F phodo_2y_pos_adctrack 'SHMS Hodoscope 2Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posAdcCounter 21 0.5 21.5 P.tr.n>0
-TH1F phodo_1x_pos_tdctrack 'SHMS Hodoscope 1X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posTdcCounter 13 0.5 13.5 P.tr.n>0
-TH1F phodo_1y_pos_tdctrack 'SHMS Hodoscope 1Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posTdcCounter 13 0.5 13.5  P.tr.n>0
-TH1F phodo_2x_pos_tdctrack 'SHMS Hodoscope 2X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posTdcCounter 14 0.5 14.5 P.tr.n>0
-TH1F phodo_2y_pos_tdctrack 'SHMS Hodoscope 2Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posTdcCounter 21 0.5 21.5 P.tr.n>0
-TH1F phodo_1x_pos_adc__notrack 'SHMS Hodoscope 1X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posAdcCounter 13 0.5 13.5 P.tr.n==0
-TH1F phodo_1y_pos_adc__notrack 'SHMS Hodoscope 1Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posAdcCounter 13 0.5 13.5  P.tr.n==0
-TH1F phodo_2x_pos_adc__notrack 'SHMS Hodoscope 2X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posAdcCounter 14 0.5 14.5 P.tr.n==0
-TH1F phodo_2y_pos_adc__notrack 'SHMS Hodoscope 2Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posAdcCounter 21 0.5 21.5 P.tr.n==0
-TH1F phodo_1x_pos_tdc__notrack 'SHMS Hodoscope 1X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posTdcCounter 13 0.5 13.5 P.tr.n==0
-TH1F phodo_1y_pos_tdc__notrack 'SHMS Hodoscope 1Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posTdcCounter 13 0.5 13.5  P.tr.n==0
-TH1F phodo_2x_pos_tdc__notrack 'SHMS Hodoscope 2X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posTdcCounter 14 0.5 14.5 P.tr.n==0
-TH1F phodo_2y_pos_tdc__notrack 'SHMS Hodoscope 2Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posTdcCounter 21 0.5 21.5 P.tr.n==0
-TH2F phodo_1x_pos_ped_vs_pad 'SHMS Hodoscope 1X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPed 13 0.5 13.5 1000 0 1000
-TH2F phodo_1y_pos_ped_vs_pad 'SHMS Hodoscope 1Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPed 13 0.5 13.5 1000 0 1000
-TH2F phodo_2x_pos_ped_vs_pad 'SHMS Hodoscope 2X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPed 14 0.5 14.5 1000 0 1000
-TH2F phodo_2y_pos_ped_vs_pad 'SHMS Hodoscope 2Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPed 21 0.5 21.5 1000 0 1000
-TH2F phodo_1x_pos_pi_vs_pad 'SHMS Hodoscope 1X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1x.GoodPaddle  P.hod.1x.GoodPosAdcPulseInt 13 0.5 13.5 4000 0 40000
-TH2F phodo_1y_pos_pi_vs_pad 'SHMS Hodoscope 1Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1y.GoodPaddle  P.hod.1y.GoodPosAdcPulseInt 13 0.5 13.5 4000 0 40000
-TH2F phodo_2x_pos_pi_vs_pad 'SHMS Hodoscope 2X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2x.GoodPaddle  P.hod.2x.GoodPosAdcPulseInt 14 0.5 14.5 4000 0 40000
-TH2F phodo_2y_pos_pi_vs_pad 'SHMS Hodoscope 2Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2y.GoodPaddle  P.hod.2y.GoodPosAdcPulseInt 21 0.5 21.5 4000 0 40000
-TH2F phodo_1x_pos_pamp_vs_pad 'SHMS Hodoscope 1X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.1x.GoodPaddle  P.hod.1x.GoodPosAdcPulseAmp 13 0.5 13.5 4100 0 4100
-TH2F phodo_1y_pos_pamp_vs_pad 'SHMS Hodoscope 1Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.1y.GoodPaddle  P.hod.1y.GoodPosAdcPulseAmp 13 0.5 13.5 4100 0 4100
-TH2F phodo_2x_pos_pamp_vs_pad 'SHMS Hodoscope 2X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.2x.GoodPaddle  P.hod.2x.GoodPosAdcPulseAmp 14 0.5 14.5 4100 0 4100
-TH2F phodo_2y_pos_pamp_vs_pad 'SHMS Hodoscope 2Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.2y.GoodPaddle  P.hod.2y.GoodPosAdcPulseAmp 21 0.5 21.5 4100 0 4100
-TH2F phodo_1x_pos_tdc_time_vs_pad 'SHMS Hodoscope 1X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.1x.GoodPaddle  P.hod.1x.GoodPosTdcChan 13 0.5 13.5 3500 -500 3000
-TH2F phodo_1y_pos_tdc_time_vs_pad 'SHMS Hodoscope 1Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.1y.GoodPaddle  P.hod.1y.GoodPosTdcChan 13 0.5 13.5 3500 -500 3000
-TH2F phodo_2x_pos_tdc_time_vs_pad 'SHMS Hodoscope 2X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.2x.GoodPaddle  P.hod.2x.GoodPosTdcChan 14 0.5 14.5 3500 -500 3000
-TH2F phodo_2y_pos_tdc_time_vs_pad 'SHMS Hodoscope 2Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.2y.GoodPaddle  P.hod.2y.GoodPosTdcChan 21 0.5 21.5 3500 -500 3000
-
-# Hodoscopes (Negative/Right)
-TH1F phodo_1x_neg_adc_occu 'SHMS Hodoscope 1X- ADC Occupancy; Paddle Number; Number of Hits' P.hod.1x.negAdcCounter 13 0.5 13.5
-TH1F phodo_1y_neg_adc_occu 'SHMS Hodoscope 1Y- ADC Occupancy; Paddle Number; Number of Hits' P.hod.1y.negAdcCounter 13 0.5 13.5 
-TH1F phodo_2x_neg_adc_occu 'SHMS Hodoscope 2X- ADC Occupancy; Paddle Number; Number of Hits' P.hod.2x.negAdcCounter 14 0.5 14.5
-TH1F phodo_2y_neg_adc_occu 'SHMS Hodoscope 2Y- ADC Occupancy; Paddle Number; Number of Hits' P.hod.2y.negAdcCounter 21 0.5 21.5
-TH1F phodo_1x_neg_tdc_occu 'SHMS Hodoscope 1X- TDC Occupancy; Paddle Number; Number of Hits' P.hod.1x.negTdcCounter 13 0.5 13.5
-TH1F phodo_1y_neg_tdc_occu 'SHMS Hodoscope 1Y- TDC Occupancy; Paddle Number; Number of Hits' P.hod.1y.negTdcCounter 13 0.5 13.5 
-TH1F phodo_2x_neg_tdc_occu 'SHMS Hodoscope 2X- TDC Occupancy; Paddle Number; Number of Hits' P.hod.2x.negTdcCounter 14 0.5 14.5
-TH1F phodo_2y_neg_tdc_occu 'SHMS Hodoscope 2Y- TDC Occupancy; Paddle Number; Number of Hits' P.hod.2y.negTdcCounter 21 0.5 21.5
-TH2F phodo_1x_neg_ped_vs_pad 'SHMS Hodoscope 1X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPed 13 0.5 13.5 1000 0 1000
-TH2F phodo_1y_neg_ped_vs_pad 'SHMS Hodoscope 1Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPed 13 0.5 13.5 1000 0 1000
-TH2F phodo_2x_neg_ped_vs_pad 'SHMS Hodoscope 2X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPed 14 0.5 14.5 1000 0 1000
-TH2F phodo_2y_neg_ped_vs_pad 'SHMS Hodoscope 2Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPed 21 0.5 21.5 1000 0 1000
-TH2F phodo_1x_neg_pi_vs_pad 'SHMS Hodoscope 1X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1x.GoodPaddle  P.hod.1x.GoodNegAdcPulseInt 13 0.5 13.5 4000 0 40000
-TH2F phodo_1y_neg_pi_vs_pad 'SHMS Hodoscope 1Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1y.GoodPaddle  P.hod.1y.GoodNegAdcPulseInt 13 0.5 13.5 4000 0 40000
-TH2F phodo_2x_neg_pi_vs_pad 'SHMS Hodoscope 2X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2x.GoodPaddle  P.hod.2x.GoodNegAdcPulseInt 14 0.5 14.5 4000 0 40000
-TH2F phodo_2y_neg_pi_vs_pad 'SHMS Hodoscope 2Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2y.GoodPaddle  P.hod.2y.GoodNegAdcPulseInt 21 0.5 21.5 4000 0 40000
-TH2F phodo_1x_neg_pamp_vs_pad 'SHMS Hodoscope 1X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.1x.GoodPaddle  P.hod.1x.GoodNegAdcPulseAmp 13 0.5 13.5 4100 0 4100
-TH2F phodo_1y_neg_pamp_vs_pad 'SHMS Hodoscope 1Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.1y.GoodPaddle  P.hod.1y.GoodNegAdcPulseAmp 13 0.5 13.5 4100 0 4100
-TH2F phodo_2x_neg_pamp_vs_pad 'SHMS Hodoscope 2X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.2x.GoodPaddle  P.hod.2x.GoodNegAdcPulseAmp 14 0.5 14.5 4100 0 4100
-TH2F phodo_2y_neg_pamp_vs_pad 'SHMS Hodoscope 2Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' P.hod.2y.GoodPaddle  P.hod.2y.GoodNegAdcPulseAmp 21 0.5 21.5 4100 0 4100
-TH2F phodo_1x_neg_tdc_time_vs_pad 'SHMS Hodoscope 1X- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.1x.GoodPaddle  P.hod.1x.GoodNegTdcChan 13 0.5 13.5 3500 -500 3000
-TH2F phodo_1y_neg_tdc_time_vs_pad 'SHMS Hodoscope 1Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.1y.GoodPaddle  P.hod.1y.GoodNegTdcChan 13 0.5 13.5 3500 -500 3000
-TH2F phodo_2x_neg_tdc_time_vs_pad 'SHMS Hodoscope 2X- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.2x.GoodPaddle  P.hod.2x.GoodNegTdcChan 14 0.5 14.5 3500 -500 3000
-TH2F phodo_2y_neg_tdc_time_vs_pad 'SHMS Hodoscope 2Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' P.hod.2y.GoodPaddle  P.hod.2y.GoodNegTdcChan 21 0.5 21.5 3500 -500 3000
-
-# Heavy Gas Cherenkov
-TH1F phgcer_occu 'SHMS Heavy Gas Cherenkov Occupancy; Counter Number; Number of Entries' P.hgcer.adcCounter 4 0.5 4.5
-TH1F phgcer_occu_elec 'SHMS Heavy Gas Cherenkov Occupancy (sum npe>0.5); Counter Number; Number of Entries' P.hgcer.adcCounter 4 0.5 4.5 P.hgcer.npeSum>0.5
-
-TH1F phgcer_pmt1_adc  'SHMS HG Cherenkov PMT 1 ; ADC (chan) ; Counts' P.hgcer.goodAdcPulseInt[0] 1000 0. 100000. 
-TH1F phgcer_pmt2_adc  'SHMS HG Cherenkov PMT 2 ; ADC (chan) ; Counts' P.hgcer.goodAdcPulseInt[1] 1000 0. 100000. 
-TH1F phgcer_pmt3_adc  'SHMS HG Cherenkov PMT 3 ; ADC (chan) ; Counts' P.hgcer.goodAdcPulseInt[2] 1000 0. 100000. 
-TH1F phgcer_pmt4_adc  'SHMS HG Cherenkov PMT 4 ; ADC (chan) ; Counts' P.hgcer.goodAdcPulseInt[3] 1000 0. 100000. 
-TH1F phgcer_pmt1_nphe 'SHMS HG Cherenkov PMT 1 ; N_Phe ; Counts' P.hgcer.npe[0] 80 0. 20. 
-TH1F phgcer_pmt2_nphe 'SHMS HG Cherenkov PMT 2 ; N_Phe ; Counts' P.hgcer.npe[1] 80 0. 20. 
-TH1F phgcer_pmt3_nphe 'SHMS HG Cherenkov PMT 3 ; N_Phe ; Counts' P.hgcer.npe[2] 80 0. 20. 
-TH1F phgcer_pmt4_nphe 'SHMS HG Cherenkov PMT 4 ; N_Phe ; Counts' P.hgcer.npe[3] 80 0. 20. 
-TH1F phgcer_sum_nphe  'SHMS HG Cherenkov Sum ; N_Phe ; Counts' P.hgcer.npeSum 40 0. 40. 
-
-
-# Pre-Shower Calorimeter
-TH1F pcal_prshwr_pos_occu 'SHMS Preshower+ Occupancy; Block Number; Number of Entries' P.cal.pr.posAdcCounter 14 0.5 14.5
-TH2F pcal_prshwr_pos_ped_blk 'SHMS Preshower+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Unit' P.cal.pr.posAdcCounter P.cal.pr.posAdcPed 14 0.5 14.5 1000 0 1000
-TH2F pcal_prshwr_pos_pi_blk 'SHMS Preshower+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' P.cal.pr.posAdcCounter P.cal.pr.posAdcPulseInt 14 0.5 14.5 4000 0 40000
-TH2F pcal_prshwr_pos_amp_blk 'SHMS Preshower+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Unit' P.cal.pr.posAdcCounter P.cal.pr.posAdcPulseAmp 14 0.5 14.5 4100 0 4100
-TH1F pcal_prshwr_neg_occu 'SHMS Preshower- Occupancy; Block Number; Number of Entries' P.cal.pr.negAdcCounter 14 0.5 14.5
-TH2F pcal_prshwr_neg_ped_blk 'SHMS Preshower- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Unit' P.cal.pr.negAdcCounter P.cal.pr.negAdcPed 14 0.5 14.5 1000 0 1000
-TH2F pcal_prshwr_neg_pi_blk 'SHMS Preshower- Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' P.cal.pr.negAdcCounter P.cal.pr.negAdcPulseInt 14 0.5 14.5 4000 0 40000
-TH2F pcal_prshwr_neg_amp_blk 'SHMS Preshower- Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Unit' P.cal.pr.negAdcCounter P.cal.pr.negAdcPulseAmp 14 0.5 14.5 4100 0 4100 
-
-# Shower Calorimeter
-TH1F pcal_shwr_occu 'SHMS Shower Occupancy; Block Number; Number of Entries' P.cal.fly.adcCounter 224 0.5 224.5
-TH2F pcal_shwr_ped_blk 'SHMS Shower Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Unit' P.cal.fly.adcCounter P.cal.fly.adcPed 224 0.5 224.5 1000 0 1000
-TH2F pcal_shwr_pi_blk 'SHMS Shower Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' P.cal.fly.adcCounter P.cal.fly.adcPulseInt 224 0.5 224.5 4000 0 40000
-TH2F pcal_shwr_amp_blk 'SHMS Shower Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Unit' P.cal.fly.adcCounter P.cal.fly.adcPulseAmp 224 0.5 224.5 4100 0 4100 
-
-TH1F ptrig_multhodo_ch1xy 'SHMS Hodoscope Trig Mult 1X and 1Y ' T.shms.p1T_tdcMultiplicity 11 0 11 
-TH1F ptrig_multhodo_ch1x 'SHMS Hodoscope Trig Mult 1X ' T.shms.p1X_tdcMultiplicity 11 0 11 
-TH1F ptrig_multhodo_ch1y 'SHMS Hodoscope Trig Mult 1Y ' T.shms.p1Y_tdcMultiplicity 11 0 11
-TH1F ptrig_multhodo_ch2xy 'SHMS Hodoscope Trig Mult 2X and 2Y ' T.shms.p2T_tdcMultiplicity 11 0 11 
-TH1F ptrig_multhodo_ch2x 'SHMS Hodoscope Trig Mult 2X ' T.shms.p2X_tdcMultiplicity 11 0 11 
-TH1F ptrig_multhodo_ch2y 'SHMS Hodoscope Trig Mult 2Y ' T.shms.p2Y_tdcMultiplicity 11 0 11 
-
-TH1F ptrig_hodo_ch1xy 'SHMS Hodoscope Trig 1X and 1Y (ns)' T.shms.p1T_tdcTime 200 100 300 T.shms.p1T_tdcMultiplicity==1
-TH1F ptrig_hodo_ch1x 'SHMS Hodoscope Trig 1X (ns)' T.shms.p1X_tdcTime 200 100 300 T.shms.p1X_tdcMultiplicity==1
-TH1F ptrig_hodo_ch1y 'SHMS Hodoscope Trig 1Y (ns)' T.shms.p1Y_tdcTime 200 100 300 T.shms.p1Y_tdcMultiplicity==1
-TH1F ptrig_hodo_ch2xy 'SHMS Hodoscope Trig 2X and 2Y (ns)' T.shms.p2T_tdcTime 200 100 300 T.shms.p2T_tdcMultiplicity==1
-TH1F ptrig_hodo_ch2x 'SHMS Hodoscope Trig 2X (ns)' T.shms.p2X_tdcTime 200 100 300 T.shms.p2X_tdcMultiplicity==1
-TH1F ptrig_hodo_ch2y 'SHMS Hodoscope Trig 2Y (ns)' T.shms.p2Y_tdcTime 200 100 300 T.shms.p2Y_tdcMultiplicity==1
-TH2F ptrig_ch1xy_ch2x 'SHMS Hodo Trig; 1X1Y Trig (ns); 2X Trig (ns)' T.shms.p1T_tdcTime  T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1T_tdcMultiplicity==1
-TH2F ptrig_ch1x_ch2x 'SHMS Hodo Trig; 1X Trig (ns); 2X Trig (ns)' T.shms.p1X_tdcTime  T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
-TH2F ptrig_ch1y_ch2x 'SHMS Hodo Trig; 1Y Trig (ns); 2X Trig (ns)' T.shms.p1Y_tdcTime  T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1Y_tdcMultiplicity==1
-TH2F ptrig_ch1ych1x 'SHMS Hodo Trig ;Trig 1X (ns);Trig 1Y (ns)' T.shms.p1X_tdcTime  T.shms.p1Y_tdcTime 200 100 300 250 100 300 T.shms.p1Y_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
-# Trigger Apparatus
-TH1F ptrig_pngc_sum_pped 'SHMS Noble Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPed 2000 0 2000
-TH1F ptrig_pngc_sum_pint 'SHMS Noble Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseInt 4000 0 40000
-TH1F ptrig_pngc_sum_pamp 'SHMS Noble Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPulseAmp 4100 0 4100
-TH1F ptrig_pngc_sum_ptime 'SHMS Noble Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseTimeRaw 1000 0 10000
-TH1F ptrig_pngc_sum_tdc 'SHMS Noble Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pNGCSUM_tdcTime 700 -3500 3500
-
-TH1F ptrig_phgc_sum_pped 'SHMS Heavy Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPed 2000 0 2000
-TH1F ptrig_phgc_sum_pint 'SHMS Heavy Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseInt 4000 0 40000
-TH1F ptrig_phgc_sum_pamp 'SHMS Heavy Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPulseAmp 4100 0 4100
-TH1F ptrig_phgc_sum_ptime 'SHMS Heavy Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseTimeRaw 1000 0 10000
-TH1F ptrig_phgc_sum_tdc 'SHMS Heavy Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pHGCSUM_tdcTime 700 -3500 3500
-
-TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1X_tdcTime 350 0 3500
-TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1Y_tdcTime 350 0 3500
-TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2X_tdcTime 350 0 3500
-TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2Y_tdcTime 350 0 3500
-
-TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1T_tdcTime 350 0 3500
-TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2T_tdcTime 350 0 3500
-
-TH1F ptrig_pT1_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 20, Channel 15); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pT1_tdcTime 350 0 3500
-TH1F ptrig_pT2_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 31); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pT2_tdcTime 350 0 3500
-TH1F ptrig_pT3_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 38); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pT3_tdcTime 350 0 3500
\ No newline at end of file
diff --git a/DEF-files/SHMS/GEN/pstackana_report_cuts.def b/DEF-files/SHMS/GEN/pstackana_report_cuts.def
deleted file mode 100644
index ce475780..00000000
--- a/DEF-files/SHMS/GEN/pstackana_report_cuts.def
+++ /dev/null
@@ -1,230 +0,0 @@
-# Demo cuts for hodtest
-#
-
-Block: RawDecode
-
-Pedestal_event    g.evtyp==4
-scalar_event      g.evtyp==0
-HMS_event         g.evtyp==1
-SHMS_event         g.evtyp==1
-coin_event        g.evtyp==3
-misc_event        g.evtyp>=5
-hmscoin_event     HMS_event||coin_event
-shmscoin_event    SHMS_event||coin_event
-all_event         HMS_event||SHMS_event||coin_event
-RawDecode_master  1
-
-Block: Decode
-all_trigs             HMS_event||SHMS_event||coin_event
-shms_coin_trig        SHMS_event||coin_event
-
-good_S1_time          T.shms.p1T_tdcTime>241&&T.shms.p1T_tdcTime<243
-good_S2X_time         T.shms.p2X_tdcTime>180&&T.shms.p2X_tdcTime<220
-good_S1_S2X_time      good_S1_time&&good_S2X_time
-Decode_master     SHMS_event
-
-
-Block: CoarseTracking
-CoarseTracking_master SHMS_event
-
-
-shmsDC1Planes_large  (P.dc.1x1.nhit+P.dc.1u2.nhit+P.dc.1u1.nhit+P.dc.1v1.nhit+P.dc.1x2.nhit+P.dc.1v2.nhit) >20
-shmsDC2Planes_large  (P.dc.2x1.nhit+P.dc.2u2.nhit+P.dc.2u1.nhit+P.dc.2v1.nhit+P.dc.2x2.nhit+P.dc.2v2.nhit) >20
-
-shms_ch1_gt0                        P.dc.Ch1.nhit>0
-shms_ch2_gt0                       P.dc.Ch2.nhit>0
-shms_ch_gt0                      P.dc.Ch2.nhit>0&&P.dc.Ch1.nhit>0
-shms_ch_gt4                      P.dc.Ch2.nhit>3&&P.dc.Ch1.nhit>3
-shms_ch2_gt0_noch1                   P.dc.Ch2.nhit>0&&P.dc.Ch1.nhit==0
-shms_ch1_gt0_noch2                   P.dc.Ch1.nhit>0&&P.dc.Ch2.nhit==0
-shms_noch1_noch2                   P.dc.Ch1.nhit==0&&P.dc.Ch2.nhit==0
-shms_ch_gt0_track               shms_ch_gt0&&P.dc.ntrack>0
-shms_ch_gt4_track               shms_ch_gt4&&P.dc.ntrack>0
-
-
-shms_ch1_gt0_gtime                       P.dc.Ch1.nhit>0&&good_S1_S2X_time
-shms_ch2_gt0_gtime                       P.dc.Ch2.nhit>0&&good_S1_S2X_time
-shms_ch_gt0_gtime                      P.dc.Ch2.nhit>0&&P.dc.Ch1.nhit>0&&good_S1_S2X_time
-shms_ch_gt4_gtime                      P.dc.Ch2.nhit>3&&P.dc.Ch1.nhit>3&&good_S1_S2X_time
-shms_ch2_gt0_noch1_gtime                  P.dc.Ch2.nhit>0&&P.dc.Ch1.nhit==0&&good_S1_S2X_time
-shms_ch1_gt0_noch2_gtime                   P.dc.Ch1.nhit>0&&P.dc.Ch2.nhit==0&&good_S1_S2X_time
-shms_noch1_noch2_gtime                   P.dc.Ch1.nhit==0&&P.dc.Ch2.nhit==0&&good_S1_S2X_time
-shms_ch_gt0_track_gtime               shms_ch_gt0&&P.dc.ntrack>0&&good_S1_S2X_time
-shms_ch_gt4_track_gtime               shms_ch_gt4&&P.dc.ntrack>0&&good_S1_S2X_time
-
-shmsDC1_1hit_x1                P.dc.1x1.nhit == 1
-shmsDC1_1hit_u1                P.dc.1u1.nhit == 1
-shmsDC1_1hit_u2                P.dc.1u2.nhit == 1
-shmsDC1_1hit_v1                P.dc.1v1.nhit == 1
-shmsDC1_1hit_v2                P.dc.1v2.nhit == 1
-shmsDC1_1hit_x2                P.dc.1x2.nhit == 1
-
-shmsDC2_1hit_x1                P.dc.2x1.nhit == 1
-shmsDC2_1hit_u1                P.dc.2u1.nhit == 1
-shmsDC2_1hit_u2                P.dc.2u2.nhit == 1
-shmsDC2_1hit_v1                P.dc.2v1.nhit == 1
-shmsDC2_1hit_v2                P.dc.2v2.nhit == 1
-shmsDC2_1hit_x2                P.dc.2x2.nhit == 1
-
-p1hit1                P.dc.1x1.nhit >= 1
-p1hit2                P.dc.1u1.nhit >= 1
-p1hit3                P.dc.1u2.nhit >= 1
-p1hit4                P.dc.1v1.nhit >= 1
-p1hit5                P.dc.1v2.nhit >= 1
-p1hit6                P.dc.1x2.nhit >= 1
-
-p2hit1                P.dc.2x1.nhit >= 1
-p2hit2                P.dc.2u1.nhit >= 1
-p2hit3                P.dc.2u2.nhit >= 1
-p2hit4                P.dc.2v1.nhit >= 1
-p2hit5                P.dc.2v2.nhit >= 1
-p2hit6                P.dc.2x2.nhit >= 1
-
-shmsDC1Planes6hits shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_u2&&shmsDC1_1hit_x2&&shmsDC1_1hit_v1&&shmsDC1_1hit_v2
-shmsDC2Planes6hits shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_u2&&shmsDC2_1hit_x2&&shmsDC2_1hit_v1&&shmsDC2_1hit_v2
-shmsDC1_5hits_x1     shmsDC1_1hit_u1&&shmsDC1_1hit_u2&&shmsDC1_1hit_x2&&shmsDC1_1hit_v1&&shmsDC1_1hit_v2
-shmsDC1_6hits_x1     p1hit1&&shmsDC1_1hit_u1&&shmsDC1_1hit_u2&&shmsDC1_1hit_x2&&shmsDC1_1hit_v1&&shmsDC1_1hit_v2
-shmsDC1_5hits_u1     shmsDC1_1hit_x1&&shmsDC1_1hit_u2&&shmsDC1_1hit_x2&&shmsDC1_1hit_v1&&shmsDC1_1hit_v2
-shmsDC1_6hits_u1     p1hit2&&shmsDC1_1hit_x1&&shmsDC1_1hit_u2&&shmsDC1_1hit_x2&&shmsDC1_1hit_v1&&shmsDC1_1hit_v2
-shmsDC1_5hits_u2     shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_x2&&shmsDC1_1hit_v1&&shmsDC1_1hit_v2
-shmsDC1_6hits_u2     p1hit3&&shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_x2&&shmsDC1_1hit_v1&&shmsDC1_1hit_v2
-shmsDC1_5hits_v1     shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_x2&&shmsDC1_1hit_u2&&shmsDC1_1hit_v2
-shmsDC1_6hits_v1     p1hit4&&shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_x2&&shmsDC1_1hit_u2&&shmsDC1_1hit_v2
-shmsDC1_5hits_v2     shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_x2&&shmsDC1_1hit_u2&&shmsDC1_1hit_v1
-shmsDC1_6hits_v2     p1hit5&&shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_x2&&shmsDC1_1hit_u2&&shmsDC1_1hit_v1
-shmsDC1_5hits_x2     shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_v1&&shmsDC1_1hit_u2&&shmsDC1_1hit_v2
-shmsDC1_6hits_x2     p1hit6&&shmsDC1_1hit_x1&&shmsDC1_1hit_u1&&shmsDC1_1hit_v1&&shmsDC1_1hit_u2&&shmsDC1_1hit_v2
-
-shmsDC2_5hits_x1     shmsDC2_1hit_u1&&shmsDC2_1hit_u2&&shmsDC2_1hit_x2&&shmsDC2_1hit_v1&&shmsDC2_1hit_v2
-shmsDC2_6hits_x1     p2hit1&&shmsDC2_1hit_u1&&shmsDC2_1hit_u2&&shmsDC2_1hit_x2&&shmsDC2_1hit_v1&&shmsDC2_1hit_v2
-shmsDC2_5hits_u1     shmsDC2_1hit_x1&&shmsDC2_1hit_u2&&shmsDC2_1hit_x2&&shmsDC2_1hit_v1&&shmsDC2_1hit_v2
-shmsDC2_6hits_u1     p2hit2&&shmsDC2_1hit_x1&&shmsDC2_1hit_u2&&shmsDC2_1hit_x2&&shmsDC2_1hit_v1&&shmsDC2_1hit_v2
-shmsDC2_5hits_u2     shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_x2&&shmsDC2_1hit_v1&&shmsDC2_1hit_v2
-shmsDC2_6hits_u2     p2hit3&&shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_x2&&shmsDC2_1hit_v1&&shmsDC2_1hit_v2
-shmsDC2_5hits_v1     shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_x2&&shmsDC2_1hit_u2&&shmsDC2_1hit_v2
-shmsDC2_6hits_v1     p2hit4&&shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_x2&&shmsDC2_1hit_u2&&shmsDC2_1hit_v2
-shmsDC2_5hits_v2     shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_x2&&shmsDC2_1hit_u2&&shmsDC2_1hit_v1
-shmsDC2_6hits_v2     p2hit5&&shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_x2&&shmsDC2_1hit_u2&&shmsDC2_1hit_v1
-shmsDC2_5hits_x2     shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_v1&&shmsDC2_1hit_u2&&shmsDC2_1hit_v2
-shmsDC2_6hits_x2     p2hit6&&shmsDC2_1hit_x1&&shmsDC2_1hit_u1&&shmsDC2_1hit_v1&&shmsDC2_1hit_u2&&shmsDC2_1hit_v2
-
-
-
-
-
-shms1HitsLt            P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && g.evtyp==1
-shms2HitsLt            P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp==1
-shmsHitsLt             P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp==1
-shmsDC1PlanesGT        (p1hit1 + p1hit2 + p1hit3 + p1hit4 + p1hit5 + p1hit6 )>=5
-shmsDC2PlanesGT        (p2hit1 + p2hit2 + p2hit3 + p2hit4 + p2hit5 + p2hit6 )>=5
-shmsPlanesGT           shmsDC1PlanesGT && shmsDC2PlanesGT
-shmsHitsPlanes         (P.dc.Ch1.nhit <= 6) && (P.dc.Ch2.nhit <= 6) && shmsPlanesGT
-pSpacePoints          P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >=1
-pSpacePointsStub      P.dc.stubtest==1 && P.dc.Ch1.spacepoints >=1 && P.dc.Ch2.spacepoints >=1
-pFoundTrack           P.dc.ntrack>0 
-pStubLT               P.dc.stubtest==1
-f1PSpacePoints        shms1HitsLt && shmsDC1PlanesGT && P.dc.Ch1.spacepoints==0 && g.evtyp==1
-f2PSpacePoints        shms2HitsLt && shmsDC2PlanesGT && P.dc.Ch2.spacepoints==0 && g.evtyp==1
-pTest1                shmsHitsPlanes && (!pSpacePoints)
-pTest2                pSpacePoints && (!pStubLT)
-
-
-
-
-
-
-Block: CoarseReconstruct
-CoarseReconstruct_master SHMS_event
-
-Block: Tracking
-Tracking_master  SHMS_event
-
-Block: Reconstruct
-Reconstruct_master SHMS_event
-
-cer_ng_elec    P.ngcer.npeSum>0.5
-cer_ng_pi      P.ngcer.npeSum<=0.5
-cer_hg_elec    P.hgcer.npeSum>0.5
-cer_hg_pi      P.hgcer.npeSum<=0.5
-cer_pi_both         cer_ng_pi&&cer_hg_pi
-cer_elec_both         cer_ng_elec&&cer_hg_elec
-cal_elec             P.cal.etracknorm > 0.6&& P.cal.etracknorm < 1.6
-cal_pi               P.cal.etracknorm <=0.6&& P.cal.etracknorm >0.
-elec_all        cer_ng_elec&&cer_hg_elec&&cal_elec
-pi_all        cer_ng_pi&&cer_hg_pi&&cal_pi
-
-shmsScinGood           P.hod.goodscinhit == 1
-
-shmsScinShould         shmsScinGood 
-shmsScinShoulde        shmsScinGood &&  P.cal.etotnorm >0.6&& P.cal.etotnorm <1.6 && P.hgcer.npeSum > 0.5
-shmsScinShouldh        shmsScinGood && P.cal.etotnorm <=0.6&& P.cal.etotnorm >0. && P.hgcer.npeSum < 0.5
-
-shmsScinDid            shmsScinShould && P.dc.ntrack > 0
-shmsScinDide           shmsScinShoulde && P.dc.ntrack > 0
-shmsScinDidh           shmsScinShouldh && P.dc.ntrack > 0
-
-
-
-goodHDC1x1            P.dc.1x1.nhit > 0 && P.dc.1x1.nhit < 3
-goodHDC1u2            P.dc.1u2.nhit > 0 && P.dc.1u2.nhit < 3
-goodHDC1u1            P.dc.1u1.nhit > 0 && P.dc.1u1.nhit < 3
-goodHDC1v1            P.dc.1v1.nhit > 0 && P.dc.1v1.nhit < 3
-goodHDC1v2            P.dc.1v2.nhit > 0 && P.dc.1v2.nhit < 3
-goodHDC1x2            P.dc.1x2.nhit > 0 && P.dc.1x2.nhit < 3
-
-goodHDC2x1            P.dc.2x1.nhit > 0 && P.dc.2x1.nhit < 3
-goodHDC2u2            P.dc.2u2.nhit > 0 && P.dc.2u2.nhit < 3
-goodHDC2u1            P.dc.2u1.nhit > 0 && P.dc.2u1.nhit < 3
-goodHDC2v1            P.dc.2v1.nhit > 0 && P.dc.2v1.nhit < 3
-goodHDC2v2            P.dc.2v2.nhit > 0 && P.dc.2v2.nhit < 3
-goodHDC2x2            P.dc.2x2.nhit > 0 && P.dc.2x2.nhit < 3
-
-goodHDC1              goodHDC1x1  && goodHDC1u2 && goodHDC1u1 && goodHDC1v1 && goodHDC1v2 && goodHDC1x2 
-goodHDC2              goodHDC2x1  && goodHDC2u2 && goodHDC2u1 && goodHDC2v1 && goodHDC2v2 && goodHDC2x2 
-bothGood              goodHDC1 && goodHDC2
-
-realhdc1x1            goodHDC1x1 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc1u2            goodHDC1u2 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc1u1            goodHDC1u1 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc1v1            goodHDC1v1 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc1v2            goodHDC1v2 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc1x2            goodHDC1x2 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc2x1            goodHDC2x1 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc2u2            goodHDC2u2 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc2u1            goodHDC2u1 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc2v1            goodHDC2v1 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc2v2            goodHDC2v2 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-realhdc2x2            goodHDC2x2 && ((P.dc.Ch1.spacepoints+P.dc.Ch2.spacepoints)>0)
-
-
-pFound1Track          P.dc.ntrack == 1
-pFound2Track          P.dc.ntrack == 2
-pFound3Track          P.dc.ntrack == 3
-pFound4Track          P.dc.ntrack == 4
-
-pCleanTrack           P.gtr.index > -1
-1pCleanTrack          P.gtr.index == 0
-2pCleanTrack          P.gtr.index == 1
-3pCleanTrack          P.gtr.index == 2
-4pCleanTrack          P.gtr.index == 3
-
-pCleanTrack_cer_elec           (P.gtr.index>-1)&&cer_elec_both
-p1hit1_cer_elec           p1hit1&&cer_elec_both
-pCleanTrack_cal_elec           (P.gtr.index>-1)&&cal_elec
-p1hit1_cal_elec           p1hit1&&cal_elec
-
-anyhs1x               P.hod.1x.nhits > 0
-anyhs1y               P.hod.1y.nhits > 0
-anyhs2x               P.hod.2x.nhits > 0
-anyhs2y               P.hod.2y.nhits > 0
-
-goodps1x              P.hod.1x.nhits > 0 && P.hod.1x.nhits < 3
-goodps1y              P.hod.1y.nhits > 0 && P.hod.1y.nhits < 3
-goodps1               goodps1x && goodps1y
-goodps2x              P.hod.2x.nhits > 0 && P.hod.2x.nhits < 3
-goodps2y              P.hod.2y.nhits > 0 && P.hod.2y.nhits < 3
-goodps2               goodps2x && goodps2y
-goodps1s2             goodps1 && goodps2
-
-Block: Physics
-Physics_master SHMS_event
diff --git a/DEF-files/SHMS/HGCER/phgcerana.def b/DEF-files/SHMS/HGCER/phgcerana.def
index f698c751..f9041490 100644
--- a/DEF-files/SHMS/HGCER/phgcerana.def
+++ b/DEF-files/SHMS/HGCER/phgcerana.def
@@ -7,36 +7,36 @@ block T.shms.*
 TH2F phgcer_adcErrFlg2D 'SHMS Heavy Gas Cherenkov FPGA Error Flag; PMT Number; Error Flag' P.hgcer.adcCounter P.hgcer.adcErrorFlag 4 0.5 4.5 2 -0.5 1.5
 
 #SHMS HGC RAW Occupancy and Multiplicity
-#TH1F phgcer_raw_occ 'SHMS Heavy Gas Cherenkov Raw Occupancy; PMT Number; Number of Raw ADC Hits' P.hgcer.adcCounter 4 0.5 4.5
-#TH1F phgcer_raw_mult 'SHMS Heavy Gas Cherenkov Raw Multiplicity; Number of PMTs Hit; Total Number of Raw ADC Hits' P.hgcer.totNumAdcHits 4 0.5 4.5
+TH1F phgcer_raw_occ 'SHMS Heavy Gas Cherenkov Raw Occupancy; PMT Number; Number of Raw ADC Hits' P.hgcer.adcCounter 4 0.5 4.5
+TH1F phgcer_raw_mult 'SHMS Heavy Gas Cherenkov Raw Multiplicity; Number of PMTs Hit; Total Number of Raw ADC Hits' P.hgcer.totNumAdcHits 4 0.5 4.5
 
 
 #SHMS HGC GOOD Occupancy and Multiplicity
-#TH1F phgcer_good_occ 'SHMS Heavy Gas Cherenkov Good Occupancy; PMT Number; Number Good ADC Hits' P.hgcer.numGoodAdcHits 4 0.5 4.5
-#TH1F phgcer_good_mult 'SHMS Heavy Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hgcer.totNumGoodAdcHits 4 0.5 4.5
+TH1F phgcer_good_occ 'SHMS Heavy Gas Cherenkov Good Occupancy; PMT Number; Number Good ADC Hits' P.hgcer.numGoodAdcHits 4 0.5 4.5
+TH1F phgcer_good_mult 'SHMS Heavy Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hgcer.totNumGoodAdcHits 4 0.5 4.5
 
 #SHMS HGC TOTAL NUMBER OF P.E.
-#TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0 
+TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0 
 
 #SHMS HGC Number of P.E. / PMT
-#TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0 
+TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0 
 
 #SHMS HGC RAW Pulse Pedestal / Integral  / Amplitude / Time
-#TH2F phgcer_raw_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Pedestal vs. PMT Number; PMT Number; Raw Pulse Pedestal / 1 ADC Units' P.hgcer.adcCounter P.hgcer.adcPedRaw 4 0.5 4.5 10000 0 10000
-#TH2F phgcer_raw_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseIntRaw 4 0.5 4.5 650 0 32500
-#TH2F phgcer_raw_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Amplitude vs. PMT Number; PMT Number; Raw Pulse Amplitude / 20 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmpRaw 4 0.5 4.5 410 0 8200
-#TH2F phgcer_raw_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Time vs. PMT Number; PMT Number;  Raw Pulse Time / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseTimeRaw 4 0.5 4.5 650 0 6500
+TH2F phgcer_raw_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Pedestal vs. PMT Number; PMT Number; Raw Pulse Pedestal / 1 ADC Units' P.hgcer.adcCounter P.hgcer.adcPedRaw 4 0.5 4.5 10000 0 10000
+TH2F phgcer_raw_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseIntRaw 4 0.5 4.5 650 0 32500
+TH2F phgcer_raw_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Amplitude vs. PMT Number; PMT Number; Raw Pulse Amplitude / 20 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmpRaw 4 0.5 4.5 410 0 8200
+TH2F phgcer_raw_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Raw Pulse Time vs. PMT Number; PMT Number;  Raw Pulse Time / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseTimeRaw 4 0.5 4.5 650 0 6500
 
 #SHMS HGC Pulse Pedestal / Integral  / Amplitude 
-#TH2F phgcer_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' P.hgcer.adcCounter P.hgcer.adcPed 4 0.5 4.5 400 300 700
-#TH2F phgcer_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseInt 4 0.5 4.5 600 0 30000
-#TH2F phgcer_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmp 4 0.5 4.5 400 0 8000
+TH2F phgcer_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' P.hgcer.adcCounter P.hgcer.adcPed 4 0.5 4.5 400 300 700
+TH2F phgcer_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseInt 4 0.5 4.5 600 0 30000
+TH2F phgcer_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmp 4 0.5 4.5 400 0 8000
 
 #SHMS HGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time :: GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
-#TH2F phgcer_good_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.hgcer.goodAdcPed 4 0.5 4.5 400 300 700
-#TH2F phgcer_good_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseInt>0.0
-#TH2F phgcer_good_rawpi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseIntRaw 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseIntRaw>0.0
-#TH2F phgcer_good_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.hgcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.hgcer.goodAdcPulseAmp>0.0
-#TH2F phgcer_good_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.hgcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.hgcer.goodAdcPulseTime>0.0
+TH2F phgcer_good_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.hgcer.goodAdcPed 4 0.5 4.5 400 300 700
+TH2F phgcer_good_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseInt>0.0
+TH2F phgcer_good_rawpi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseIntRaw 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseIntRaw>0.0
+TH2F phgcer_good_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.hgcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.hgcer.goodAdcPulseAmp>0.0
+TH2F phgcer_good_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.hgcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.hgcer.goodAdcPulseTime>0.0
 
 
diff --git a/DEF-files/SHMS/SCALERS/pscaler_cuts.def b/DEF-files/SHMS/SCALERS/pscaler_cuts.def
new file mode 100644
index 00000000..4868f694
--- /dev/null
+++ b/DEF-files/SHMS/SCALERS/pscaler_cuts.def
@@ -0,0 +1,37 @@
+# Report file for SHMS stack
+
+Block: RawDecode
+
+Pedestal_event     g.evtyp == 4
+scalar_event       g.evtyp == 0
+HMS_event          g.evtyp == 1
+SHMS_event         g.evtyp == 1
+coin_event         g.evtyp == 3
+misc_event         g.evtyp >= 5
+hmscoin_event      HMS_event || coin_event
+shmscoin_event     SHMS_event || coin_event
+all_event          HMS_event || SHMS_event || coin_event
+
+RawDecode_master  1
+
+Block: Decode
+
+all_trigs          HMS_event || SHMS_event || coin_event
+shms_coin_trig     SHMS_event || coin_event
+
+Decode_master     SHMS_event
+
+Block: CoarseTracking
+CoarseTracking_master SHMS_event
+
+Block: CoarseReconstruct
+CoarseReconstruct_master SHMS_event
+
+Block: Tracking
+Tracking_master  SHMS_event
+
+Block: Reconstruct
+Reconstruct_master SHMS_event
+
+Block: Physics
+Physics_master SHMS_event
diff --git a/DEF-files/SHMS/STACK/AERO/paero_histos.def b/DEF-files/SHMS/STACK/AERO/paero_histos.def
new file mode 100644
index 00000000..47e557e4
--- /dev/null
+++ b/DEF-files/SHMS/STACK/AERO/paero_histos.def
@@ -0,0 +1,43 @@
+#***************
+# SHMS AEROGEL *
+#***************
+
+#----------------------------------------------
+# SHMS AEROGEL GOOD Occupancy and Multiplicity
+#----------------------------------------------
+
+TH1F paero_good_occ_pos 'SHMS Aero+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.aero.numGoodPosAdcHits 7 0.5 7.5
+TH1F paero_good_occ_neg 'SHMS Aero- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.aero.numGoodNegAdcHits 7 0.5 7.5
+TH1F paero_good_mult_pos 'SHMS Aero+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.aero.totNumGoodPosAdcHits 7 0.5 7.5
+TH1F paero_good_mult_neg 'SHMS Aero- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.aero.totNumGoodNegAdcHits 7 0.5 7.5
+TH1F paero_good_mult 'SHMS Aero Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.aero.totnumGoodAdcHits 14 0.5 14.5
+
+#-------------------------------
+# SHMS AERO TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F paero_tot_npe_pos 'SHMS Aero+ Total Number of Photoelectrons; Total Number of Pos Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.posNpeSum 200 0 100 P.aero.posNpeSum>0.0 
+TH1F paero_tot_npe_neg 'SHMS Aero- Total Number of Photoelectrons; Total Number of Neg Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.negNpeSum 200 0 100 P.aero.negNpeSum>0.0 
+TH1F paero_tot_npe 'SHMS Aero Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.npeSum 200 0 100 P.aero.npeSum>0.0 
+
+#--------------------------------
+# SHMS AERO Number of P.E. / PMT
+#--------------------------------
+
+TH2F paero_npe_pos 'SHMS Aero+ Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.posNpe 7 0.5 7.5 200 0 100 P.aero.posNpe>0.0 
+TH2F paero_npe_neg 'SHMS Aero- Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.negNpe 7 0.5 7.5 200 0 100 P.aero.negNpe>0.0 
+
+#------------------------------------------------------------------------------
+# SHMS AERO GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#------------------------------------------------------------------------------
+
+TH2F paero_good_pped_vs_pmt_pos 'SHMS Aero+ Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodPosAdcPed 7 0.5 7.5 400 300 700  P.aero.goodPosAdcPed>0.0
+TH2F paero_good_pi_vs_pmt_pos 'SHMS Aero+ Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodPosAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodPosAdcPulseInt>0.0
+TH2F paero_good_pamp_vs_pmt_pos 'SHMS Aero+ Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodPosAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodPosAdcPulseAmp>0.0
+TH2F paero_good_ptime_vs_pmt_pos 'SHMS Aero+ Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodPosAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodPosAdcPulseTime>0.0
+
+TH2F paero_good_pped_vs_pmt_neg 'SHMS Aero- Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodNegAdcPed 7 0.5 7.5 400 300 700 P.aero.goodNegAdcPed>0.0
+TH2F paero_good_pi_vs_pmt_neg 'SHMS Aero- Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodNegAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodNegAdcPulseInt>0.0
+TH2F paero_good_pamp_vs_pmt_neg 'SHMS Aero- Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodNegAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodNegAdcPulseAmp>0.0
+TH2F paero_good_ptime_vs_pmt_neg 'SHMS Aero- Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodNegAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodNegAdcPulseTime>0.0
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/BLOCK/pblock_vars.def b/DEF-files/SHMS/STACK/BLOCK/pblock_vars.def
new file mode 100644
index 00000000..4d4ad24c
--- /dev/null
+++ b/DEF-files/SHMS/STACK/BLOCK/pblock_vars.def
@@ -0,0 +1,13 @@
+#********************
+# Block Definitions *
+#********************
+
+block T.shms.*
+block P.ngcer.*
+block P.dc.*
+block P.tr.*
+block P.hod.*
+block P.hgcer.*
+block P.aero.*
+block P.cal.*
+block P.gtr.*
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/CAL/pcal_histos.def b/DEF-files/SHMS/STACK/CAL/pcal_histos.def
new file mode 100644
index 00000000..36e37b71
--- /dev/null
+++ b/DEF-files/SHMS/STACK/CAL/pcal_histos.def
@@ -0,0 +1,110 @@
+#*******************
+# SHMS CALORIMETER *
+#*******************
+
+#--------------------------------------------
+# SHMS PreSH GOOD Occupancy and Multiplicity
+#--------------------------------------------
+
+TH1F pcal_prshwr_good_occ_pos 'SHMS PreShower+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.cal.pr.numGoodPosAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_occ_neg 'SHMS PreShower- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.cal.pr.numGoodNegAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult_pos 'SHMS PreShower+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.cal.pr.totNumGoodPosAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult_neg 'SHMS PreShower- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.cal.pr.totNumGoodNegAdcHits 14 0.5 14.5
+TH1F pcal_prshwr_good_mult 'SHMS PreShower Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.cal.pr.totnumGoodAdcHits 28 0.5 28.5
+
+#--------------------------------------------------------------------------------------------------
+# GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES 
+# GOOD --> (passed errorFlag cut, pulsetime cuts oN Min/Max ADC Time Window, and ADC threshold cut)
+#--------------------------------------------------------------------------------------------------
+
+TH2F pcal_prshwr_good_pped_vs_pmt_pos 'SHMS PreShower+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodPosAdcPed 14 0.5 14.5 400 300 700  P.cal.pr.goodPosAdcPed>0.0
+TH2F pcal_prshwr_good_pi_vs_pmt_pos 'SHMS PreShower+ Good Pulse Integral vs. PMT Number; PMT Number; Good  Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodPosAdcPulseInt>0.0
+TH2F pcal_prshwr_good_pamp_vs_pmt_pos 'SHMS PreShower+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good  Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodPosAdcPulseAmp>0.0
+TH2F pcal_prshwr_good_ptime_vs_pmt_pos 'SHMS PreShower+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodPosAdcPulseTime>0.0
+
+TH2F pcal_prshwr_good_pped_vs_pmt_neg 'SHMS PreShower- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodNegAdcPed 14 0.5 14.5 400 300 700  P.cal.pr.goodNegAdcPed>0.0
+TH2F pcal_prshwr_good_pi_vs_pmt_neg 'SHMS PreShower- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodNegAdcPulseInt>0.0
+TH2F pcal_prshwr_good_pamp_vs_pmt_neg 'SHMS PreShower- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodNegAdcPulseAmp>0.0
+TH2F pcal_prshwr_good_ptime_vs_pmt_neg 'SHMS PreShower- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodNegAdcPulseTime>0.0
+
+#------------------------------------------------------
+# SHMS PRE-SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
+#------------------------------------------------------
+
+TH2F pcal_prshwr_Epos_vs_pmt 'SHMS PreShower+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.epos 14 0.5 14.5 200 0 2 P.cal.pr.epos>0.0
+TH2F pcal_prshwr_Eneg_vs_pmt 'SHMS PreShower- Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.eneg 14 0.5 14.5 200 0 2 P.cal.pr.eneg>0.0
+TH2F pcal_prshwr_Emean_vs_pmt 'SHMS PreShower Mean Energy Deposition vs. PMT Number; PMT Number; Mean Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.emean 14 0.5 14.5 300 0 3 P.cal.pr.emean>0.0
+
+#-------------------------------------------
+# SHMS ENERGY DEPOSITION in PreShower PLANE
+#-------------------------------------------
+
+TH1F pcal_prshwr_Eplane_pos 'SHMS PreShower+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_pos 200 0 2 P.cal.pr.eplane_pos>0.0
+TH1F pcal_prshwr_Eplane_neg 'SHMS PreShower- Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_neg 200 0 2 P.cal.pr.eplane_neg>0.0
+TH1F pcal_prshwr_Eplane 'SHMS PreShower Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane 300 0 3 P.cal.pr.eplane>0.0
+
+#---------------------------------------------
+# SHMS Shower GOOD Occupancy and Multiplicity
+#---------------------------------------------
+TH1F pcal_shwr_good_occ 'SHMS Shower Good Occupancy; PMT Number; Number of Good ADC Hits' P.cal.fly.numGoodAdcHits 224 0.5 224.5
+TH1F pcal_shwr_good_mult 'SHMS Shower Good Multiplicity; PMT Number; Total Number of Good ADC Hits' P.cal.fly.totNumGoodAdcHits 224 0.5 224.5
+
+#-------------------------------------------------------------
+# SHMS Shower GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES
+#-------------------------------------------------------------
+
+TH2F pcal_shwr_good_pped_vs_pmt 'SHMS Shower Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.fly.goodAdcPed 224 0.5 224.5 700 300 1000 P.cal.fly.goodAdcPed>0.0
+TH2F pcal_shwr_good_pi_vs_pmt 'SHMS Shower Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.fly.goodAdcPulseInt 224 0.5 224.5 600 0 30000 P.cal.fly.goodAdcPulseInt>0.0
+TH2F pcal_shwr_good_pamp_vs_pmt 'SHMS Shower Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.fly.goodAdcPulseAmp 224 0.5 224.5 200 0 4000 P.cal.fly.goodAdcPulseAmp>0.0
+TH2F pcal_shwr_good_ptime_vs_pmt 'SHMS Shower Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.fly.goodAdcPulseTime 224 0.5 224.5 350 0 3500 P.cal.fly.goodAdcPulseTime>0.0
+
+#--------------------------------------------------
+# SHMS SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
+#--------------------------------------------------
+
+TH2F pcal_shwr_E_vs_pmt 'SHMS Shower Energy Deposition vs. PMT Number; PMT Number; Energy Deposited (0.01 GeV / ADC Units)' [I+1] P.cal.fly.e 224 0.5 224.5 300 0 3 P.cal.fly.e>0.0
+
+#--------------------------------------------------
+# TOTAL ENERGY DEPOSITION IN THE SHMS SHOWER ARRAY
+#--------------------------------------------------
+
+TH1F pcal_shwr_Earray 'SHMS Shower Total Energy Deposition in Array; Total Energy Deposited (GeV); Number of Entries / 0.01 GeV' P.cal.fly.earray 600 0 6 P.cal.fly.earray>0.0
+
+#-------------------------------------------------------------------------------------
+# SHMS PRE-SHOWER AND SHOWER (CALORIMETER) TOTAL ENERGY DEPOSITION
+# TOTAL ENERGY AND NORMALIZED ENERGY DEPOSITED IN CALORIMETER (SHOWER AND PRE-SHOWER)
+#-------------------------------------------------------------------------------------
+
+TH1F pcal_etot 'SHMS Calorimeter Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.etot 500 0 5 P.cal.etot>0.0
+TH1F pcal_etot_norm 'SHMS Calorimeter Total Normalized Energy Deposition; Total Energy Deposited (GeV) / P0 (GeV); Number of Entries / 0.01' P.cal.etotnorm 500 0 5 P.cal.etotnorm>0.0
+TH1F pcal_etrack 'SHMS Calorimeter Total Track Energy; Track Energy Deposited (GeV); Number of Entries / 0.1 GeV' P.cal.etrack 100 0 10 P.cal.etrack>0.0 
+TH1F pcal_etracknorm 'SHMS Calorimeter Normalized Track Energy; Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0
+TH1F pcal_etracknorm_track 'SHMS Calorimeter Normalized Track Energy (Ntrack > 0); Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0&&P.dc.ntrack>0
+TH1F pcal_enenorm_track_elec 'SHMS Cal energy/p (npeSum > .5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum>.5&&P.hgcer.npeSum>.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH1F pcal_enenorm_track_pion 'SHMS Cal energy/p (npeSum <.5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum<.5&&P.hgcer.npeSum<.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH2F pcal_ene_2dtrack 'SHMS Cal energy v energy track' P.cal.etrack P.cal.etot 1000 0. 5. 1000 0. 5. P.dc.ntrack>0
+TH2F pcal_delta_etrack 'SHMS Delta v Cal energy/p ' P.cal.etracknorm P.gtr.dp 60 0. 1.5 80 -15. 25. P.dc.ntrack>0
+TH2F pcal_ngnpe_etrack 'SHMS NG Cer Npe v Cal energy/p' P.cal.etracknorm P.ngcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
+TH2F pcal_hgnpe_etrack 'SHMS HG Cer Npe v Cal energy/p' P.cal.etracknorm P.hgcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
+
+#-------------------------------
+# SHMS PID AND ACCEPTANCE PLOTS
+#-------------------------------
+
+TH2F hgc_vs_prshw 'SHMS HGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; HGC Total N.P.E. / 0.5' P.cal.pr.eplane P.hgcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.hgcer.npeSum>0.0 
+TH2F ngc_vs_prshw 'SHMS NGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; NGC Total N.P.E. / 0.5' P.cal.pr.eplane P.ngcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.ngcer.npeSum>0.0 
+TH2F pcal_shw_vs_prshw 'Shower vs. PreShower Energy Deposition; PreShower Energy / 0.1 GeV; Shower Energy / 0.1 GeV' P.cal.pr.eplane P.cal.fly.earray 50 0 5 350 0 35  P.cal.pr.eplane>0.0&&P.cal.fly.earray>0.0 
+TH2F delta_vs_etracknorm 'SHMS Delta. vs. Normalized Track Energy; Calorimeter Normalized Track Energy; Momentum Acceptance (%)' P.cal.etracknorm P.gtr.dp 50 0 5 80 -15, 25 P.cal.etracknorm>0.0&&P.dc.ntrack>0 
+
+#---------------------------
+#  CLUSTERING PLOTS
+#---------------------------
+
+TH1F pcal_xclusttrack 'SHMS Cal X pos' P.cal.xclusttrack 200 -100. 100. P.cal.nclusttrack>-1
+TH1F pcal_xdiff 'SHMS Cal X pos - X track' P.cal.xclusttrack-P.cal.xtrack 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH2F pcal_xdiff_v_xtr 'SHMS Cal X pos - X track v Xtr' P.cal.xtrack P.cal.xclusttrack-P.cal.xtrack 200 -100. 100. 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack 'SHMS Cal X pos of track' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack1 'SHMS Cal X pos of track no matching clust' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
+TH1F pcal_xtrack2 'SHMS Cal X pos of track no matching clust number of cluster=1' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.cal.nclust==0&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/DC/pdc_histos.def b/DEF-files/SHMS/STACK/DC/pdc_histos.def
new file mode 100644
index 00000000..0d5485e0
--- /dev/null
+++ b/DEF-files/SHMS/STACK/DC/pdc_histos.def
@@ -0,0 +1,162 @@
+#*****************
+# Drift Chambers *
+#*****************
+
+#------------------
+# SHMS DC WIRE MAP
+#------------------
+
+TH1F pdc1u1_wirenum 'SHMS DC 1U1 Wiremap; Wire Number; Number of Entries' P.dc.1u1.wirenum 107 0.5 107.5
+TH1F pdc1u2_wirenum 'SHMS DC 1U2 Wiremap; Wire Number; Number of Entries' P.dc.1u2.wirenum 107 0.5 107.5
+TH1F pdc1x1_wirenum 'SHMS DC 1X1 Wiremap; Wire Number; Number of Entries' P.dc.1x1.wirenum  79 0.5  79.5
+TH1F pdc1x2_wirenum 'SHMS DC 1X2 Wiremap; Wire Number; Number of Entries' P.dc.1x2.wirenum  79 0.5  79.5
+TH1F pdc1v1_wirenum 'SHMS DC 1V1 Wiremap; Wire Number; Number of Entries' P.dc.1v1.wirenum 107 0.5 107.5
+TH1F pdc1v2_wirenum 'SHMS DC 1V2 Wiremap; Wire Number; Number of Entries' P.dc.1v2.wirenum 107 0.5 107.5
+
+TH1F pdc2v2_wirenum 'SHMS DC 2V2 Wiremap; Wire Number; Number of Entries' P.dc.2v2.wirenum 107 0.5 107.5
+TH1F pdc2v1_wirenum 'SHMS DC 2V1 Wiremap; Wire Number; Number of Entries' P.dc.2v1.wirenum 107 0.5 107.5
+TH1F pdc2x2_wirenum 'SHMS DC 2X2 Wiremap; Wire Number; Number of Entries' P.dc.2x2.wirenum  79 0.5  79.5
+TH1F pdc2x1_wirenum 'SHMS DC 2X1 Wiremap; Wire Number; Number of Entries' P.dc.2x1.wirenum  79 0.5  79.5
+TH1F pdc2u2_wirenum 'SHMS DC 2U2 Wiremap; Wire Number; Number of Entries' P.dc.2u2.wirenum 107 0.5 107.5
+TH1F pdc2u1_wirenum 'SHMS DC 2U1 Wiremap; Wire Number; Number of Entries' P.dc.2u1.wirenum 107 0.5 107.5
+
+#------------------------------
+# SHMS DC DRIFT TIME PER PLANE 
+#------------------------------
+
+TH1F pdc1u1_drifttime 'SHMS DC 1U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u1.time 400 -50 350
+TH1F pdc1u2_drifttime 'SHMS DC 1U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u2.time 400 -50 350
+TH1F pdc1x1_drifttime 'SHMS DC 1X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x1.time 400 -50 350
+TH1F pdc1x2_drifttime 'SHMS DC 1X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x2.time 400 -50 350
+TH1F pdc1v1_drifttime 'SHMS DC 1V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v1.time 400 -50 350
+TH1F pdc1v2_drifttime 'SHMS DC 1V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v2.time 400 -50 350
+
+TH1F pdc2v2_drifttime 'SHMS DC 2V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v2.time 400 -50 350
+TH1F pdc2v1_drifttime 'SHMS DC 2V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v1.time 400 -50 350
+TH1F pdc2x2_drifttime 'SHMS DC 2X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x2.time 400 -50 350
+TH1F pdc2x1_drifttime 'SHMS DC 2X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x1.time 400 -50 350
+TH1F pdc2u2_drifttime 'SHMS DC 2U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u2.time 400 -50 350
+TH1F pdc2u1_drifttime 'SHMS DC 2U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u1.time 400 -50 350
+
+#----------------------------------
+# SHMS DC DRIFT TIME VS. WIRENUMBER 
+#----------------------------------
+
+TH2F pdc1u1_drifttime_vs_wirenum 'SHMS DC 1U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u1.wirenum P.dc.1u1.time 107 0.5 107.5 500 0 500
+TH2F pdc1u2_drifttime_vs_wirenum 'SHMS DC 1U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u2.wirenum P.dc.1u2.time 107 0.5 107.5 500 0 500
+TH2F pdc1x1_drifttime_vs_wirenum 'SHMS DC 1X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x1.wirenum P.dc.1x1.time  79 0.5  79.5 500 0 500
+TH2F pdc1x2_drifttime_vs_wirenum 'SHMS DC 1X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x2.wirenum P.dc.1x2.time  79 0.5  79.5 500 0 500
+TH2F pdc1v1_drifttime_vs_wirenum 'SHMS DC 1V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v1.wirenum P.dc.1v1.time 107 0.5 107.5 500 0 500
+TH2F pdc1v2_drifttime_vs_wirenum 'SHMS DC 1V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v2.wirenum P.dc.1v2.time 107 0.5 107.5 500 0 500
+
+TH2F pdc2v2_drifttime_vs_wirenum 'SHMS DC 2V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v2.wirenum P.dc.2v2.time 107 0.5 107.5 500 0 500
+TH2F pdc2v1_drifttime_vs_wirenum 'SHMS DC 2V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v1.wirenum P.dc.2v1.time 107 0.5 107.5 500 0 500
+TH2F pdc2x2_drifttime_vs_wirenum 'SHMS DC 2X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x2.wirenum P.dc.2x2.time  79 0.5  79.5 500 0 500
+TH2F pdc2x1_drifttime_vs_wirenum 'SHMS DC 2X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x1.wirenum P.dc.2x1.time  79 0.5  79.5 500 0 500
+TH2F pdc2u2_drifttime_vs_wirenum 'SHMS DC 2U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u2.wirenum P.dc.2u2.time 107 0.5 107.5 500 0 500
+TH2F pdc2u1_drifttime_vs_wirenum 'SHMS DC 2U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 500 0 500
+
+#----------------------------------
+# SHMS DC Drift Distance Per Plane 
+#----------------------------------
+
+TH1F pdc1u1_ddist 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6
+TH1F pdc1u1_ddist_cut 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6   time_cut1
+
+TH1F pdc1u2_ddist 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6
+TH1F pdc1u2_ddist_cut 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6   time_cut2
+
+TH1F pdc1x1_ddist 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6
+TH1F pdc1x1_ddist_cut 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6   time_cut3
+
+TH1F pdc1x2_ddist 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6
+TH1F pdc1x2_ddist_cut 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6   time_cut4
+
+TH1F pdc1v1_ddist 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6
+TH1F pdc1v1_ddist_cut 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6   time_cut5
+
+TH1F pdc1v2_ddist 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6
+TH1F pdc1v2_ddist_cut 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6   time_cut6
+
+TH1F pdc2v2_ddist 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6
+TH1F pdc2v2_ddist_cut 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6   time_cut7
+
+TH1F pdc2v1_ddist 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6
+TH1F pdc2v1_ddist_cut 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6   time_cut8
+
+TH1F pdc2x2_ddist 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6
+TH1F pdc2x2_ddist_cut 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6   time_cut9
+
+TH1F pdc2x1_ddist 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6
+TH1F pdc2x1_ddist_cut 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6   time_cut10
+
+TH1F pdc2u2_ddist 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6
+TH1F pdc2u2_ddist_cut 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6   time_cut11
+
+TH1F pdc2u1_ddist 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6
+TH1F pdc2u1_ddist_cut 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6   time_cut12
+
+#----------------------------------------
+# SHMS DC Drift Distance vs. Wire number 
+#----------------------------------------
+
+TH2F pdc1u1_wirenum_vs_ddist 'SHMS 1U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u1.wirenum P.dc.1u1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1u2_wirenum_vs_ddist 'SHMS 1U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u2.wirenum P.dc.1u2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1x1_wirenum_vs_ddist 'SHMS 1X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x1.wirenum P.dc.1x1.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc1x2_wirenum_vs_ddist 'SHMS 1X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x2.wirenum P.dc.1x2.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc1v1_wirenum_vs_ddist 'SHMS 1V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v1.wirenum P.dc.1v1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc1v2_wirenum_vs_ddist 'SHMS 1V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v2.wirenum P.dc.1v2.dist 107 0.5 107.5 300 -0.1 0.6
+
+TH2F pdc2u2_wirenum_vs_ddist 'SHMS 2U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u2.wirenum P.dc.2u2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2u1_wirenum_vs_ddist 'SHMS 2U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u1.wirenum P.dc.2u1.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2x2_wirenum_vs_ddist 'SHMS 2X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x2.wirenum P.dc.2x2.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc2x1_wirenum_vs_ddist 'SHMS 2X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x1.wirenum P.dc.2x1.dist  79 0.5  79.5 300 -0.1 0.6
+TH2F pdc2v2_wirenum_vs_ddist 'SHMS 2V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v2.wirenum P.dc.2v2.dist 107 0.5 107.5 300 -0.1 0.6
+TH2F pdc2v1_wirenum_vs_ddist 'SHMS 2V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v1.wirenum P.dc.2v1.dist 107 0.5 107.5 300 -0.1 0.6
+
+#-----------------------------
+# SHMS DC RESIDUALS PER PLANE 
+#-----------------------------
+
+TH1F pdc1u1_residuals 'SHMS 1U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[0]  200 -1.0 1.0
+TH1F pdc1u2_residuals 'SHMS 1U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[1]  200 -1.0 1.0
+TH1F pdc1x1_residuals 'SHMS 1X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[2]  200 -1.0 1.0
+TH1F pdc1x2_residuals 'SHMS 1X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[3]  200 -1.0 1.0
+TH1F pdc1v1_residuals 'SHMS 1V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[4]  200 -1.0 1.0
+TH1F pdc1v2_residuals 'SHMS 1V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[5]  200 -1.0 1.0
+
+TH1F pdc2v2_residuals 'SHMS 2V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[6]  200 -1.0 1.0
+TH1F pdc2v1_residuals 'SHMS 2V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[7]  200 -1.0 1.0
+TH1F pdc2x2_residuals 'SHMS 2X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[8]  200 -1.0 1.0
+TH1F pdc2x1_residuals 'SHMS 2X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[9]  200 -1.0 1.0
+TH1F pdc2u2_residuals 'SHMS 2U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[10] 200 -1.0 1.0
+TH1F pdc2u1_residuals 'SHMS 2U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[11] 200 -1.0 1.0
+
+#-----------------------------------
+# SHMS DC RESIDUALS vs. Wire Number
+#-----------------------------------
+
+TH2F pdc1u1_residuals_vs_wirenum 'SHMS 1U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u1.wirenum P.dc.residual[0] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1u2_residuals_vs_wirenum 'SHMS 1U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u2.wirenum P.dc.residual[1] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1x1_residuals_vs_wirenum 'SHMS 1X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x1.wirenum P.dc.residual[2] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc1x2_residuals_vs_wirenum 'SHMS 1X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x2.wirenum P.dc.residual[3] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc1v1_residuals_vs_wirenum 'SHMS 1V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v1.wirenum P.dc.residual[4] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc1v2_residuals_vs_wirenum 'SHMS 1V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v2.wirenum P.dc.residual[5] 107 0.5 107.5 200 -1.0 1.0
+
+TH2F pdc2v2_residuals_vs_wirenum 'SHMS 2V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v2.wirenum P.dc.residual[6] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2v1_residuals_vs_wirenum 'SHMS 2V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v1.wirenum P.dc.residual[7] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2x2_residuals_vs_wirenum 'SHMS 2X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x2.wirenum P.dc.residual[8] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc2x1_residuals_vs_wirenum 'SHMS 2X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x1.wirenum P.dc.residual[9] 79 0.5  79.5 200 -1.0 1.0
+TH2F pdc2u2_residuals_vs_wirenum 'SHMS 2U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u2.wirenum P.dc.residual[10] 107 0.5 107.5 200 -1.0 1.0
+TH2F pdc2u1_residuals_vs_wirenum 'SHMS 2U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u1.wirenum P.dc.residual[11] 107 0.5 107.5 200 -1.0 1.0
+
+#-------------------------------------------
+# SHMS DC TRACKING VARIABLES AT FOCAL PLANE
+#-------------------------------------------
+
+TH1F pdc_trk_mom 'SHMS DC Track Momentum; P (GeV); Number of Entires / 10 MeV' P.tr.p 600 0 6
+TH1F pdc_trk_beta 'SHMS DC Track Beta; Beta (GeV); Number of Entires' P.tr.beta 300 -1.5 1.5
+TH2F pdc_xfp_vs_yxp 'SHMS DC X_{fp} vs Y_{fp}; Y_{fp} (cm) / 1 cm; X_{fp} (cm) / 1 cm' P.dc.y_fp P.dc.x_fp 100 -50 50 100 -50 50
+TH2F pdc_xpfp_vs_ypfp 'SHMS DC X'_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X'_{fp} / 0.002 rad' P.dc.yp_fp P.dc.xp_fp 100 -.1 .1 100 -.1 .1
+TH2F pdc_xfp_vs_ypfp 'SHMS DC X_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X_{fp} / 1 cm'  P.dc.yp_fp P.dc.x_fp 100 -.1 .1 100 -50 50 
+TH2F pdc_xfp_vs_xpfp 'SHMS DC X_{fp} vs X'_{fp}; X'_{fp} / 0.002 rad; X_{fp} / 1 cm' P.dc.xp_fp P.dc.x_fp 100 -.1 .1 100 -50 50
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/HGC/phgcer_histos.def b/DEF-files/SHMS/STACK/HGC/phgcer_histos.def
new file mode 100644
index 00000000..82bae8b9
--- /dev/null
+++ b/DEF-files/SHMS/STACK/HGC/phgcer_histos.def
@@ -0,0 +1,39 @@
+#**********************
+# Heavy Gas Cherenkov *
+#**********************
+
+#-----------------------------------------
+# SHMS HGC GOOD Occupancy and Multiplicity
+#-----------------------------------------
+
+TH1F phgcer_good_occ 'SHMS Heavy Gas Cherenkov Good Occupancy; PMT Number; Number Good ADC Hits' P.hgcer.numGoodAdcHits 4 0.5 4.5
+TH1F phgcer_good_mult 'SHMS Heavy Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hgcer.totNumGoodAdcHits 4 0.5 4.5
+
+#-------------------------------------------------------------------------------
+# SHMS HGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#-------------------------------------------------------------------------------
+
+TH2F phgcer_good_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.hgcer.goodAdcPed 4 0.5 4.5 400 300 700
+TH2F phgcer_good_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseInt>0.0
+TH2F phgcer_good_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.hgcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.hgcer.goodAdcPulseAmp>0.0
+TH2F phgcer_good_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.hgcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.hgcer.goodAdcPulseTime>0.0
+
+#-------------------------------
+# SHMS HGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0 
+
+#-------------------------------
+# SHMS HGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0 
+
+#--------------------------
+# SHMS HGC TRACK MATCHING
+#--------------------------
+
+sTH1F phgcer_trk_match 'SHMS Noble Gas Cherenkov Track Matches; PMT Number; Number of Tracks Matched' P.hgcer.numTracksMatched 4 0.5 4.5
+sTH1F phgcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.hgcer.numTracksFired 4 0.5 4.5
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/HODO/phodo_histos.def b/DEF-files/SHMS/STACK/HODO/phodo_histos.def
new file mode 100644
index 00000000..8e99e5aa
--- /dev/null
+++ b/DEF-files/SHMS/STACK/HODO/phodo_histos.def
@@ -0,0 +1,178 @@
+#*****************
+# SHMS HODOSCOPES
+#*****************
+
+#-----------------------------------
+# SHMS HODO GOOD ADC Multiplicities 
+#-----------------------------------
+
+TH1F phodo_1x_good_adc_mult_pos 'SHMS 1X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1x.totNumGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult_pos 'SHMS 1Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1y.totNumGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult_pos 'SHMS 2X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2x.totNumGoodPosAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult_pos 'SHMS 2Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2y.totNumGoodPosAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_mult_neg 'SHMS 1X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1x.totNumGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult_neg 'SHMS 1Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1y.totNumGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult_neg 'SHMS 2X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2x.totNumGoodNegAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult_neg 'SHMS 2Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2y.totNumGoodNegAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_mult 'SHMS 1X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1x.totNumGoodAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_mult 'SHMS 1Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1y.totNumGoodAdcHits 13 0.5 13.5
+TH1F phodo_2x_good_adc_mult 'SHMS 2X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2x.totNumGoodAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_mult 'SHMS 2Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2y.totNumGoodAdcHits 21 0.5 21.5
+
+#-----------------------------------
+# SHMS HODO Good TDC Multiplicities
+#-----------------------------------
+
+TH1F phodo_1x_good_tdc_mult_pos 'SHMS 1X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1x.totNumGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult_pos 'SHMS 1Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1y.totNumGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult_pos 'SHMS 2X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2x.totNumGoodPosTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult_pos 'SHMS 2Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2y.totNumGoodPosTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_mult_neg 'SHMS 1X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1x.totNumGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult_neg 'SHMS 1Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1y.totNumGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult_neg 'SHMS 2X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2x.totNumGoodNegTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult_neg 'SHMS 2Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2y.totNumGoodNegTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_mult 'SHMS 1X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1x.totNumGoodTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_mult 'SHMS 1Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1y.totNumGoodTdcHits 13 0.5 13.5
+TH1F phodo_2x_good_tdc_mult 'SHMS 2X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2x.totNumGoodTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_mult 'SHMS 2Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2y.totNumGoodTdcHits 21 0.5 21.5
+
+#---------------------------------
+# SHMS HODO GOOD ADC OCCUPANCIES
+#---------------------------------
+
+TH1F phodo_1x_good_adc_occ_pos 'SHMS 1X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1x.numGoodPosAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_occ_pos 'SHMS 1Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1y.numGoodPosAdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_adc_occ_pos 'SHMS 2X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2x.numGoodPosAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_occ_pos 'SHMS 2Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2y.numGoodPosAdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_adc_occ_neg 'SHMS 1X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1x.numGoodNegAdcHits 13 0.5 13.5
+TH1F phodo_1y_good_adc_occ_neg 'SHMS 1Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1y.numGoodNegAdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_adc_occ_neg 'SHMS 2X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2x.numGoodNegAdcHits 14 0.5 14.5
+TH1F phodo_2y_good_adc_occ_neg 'SHMS 2Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2y.numGoodNegAdcHits 21 0.5 21.5
+
+#--------------------------------
+# SHMS HODO GOOD TDC OCCUPANCIES
+#--------------------------------
+
+TH1F phodo_1x_good_tdc_occ_pos 'SHMS 1X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1x.numGoodPosTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_occ_pos 'SHMS 1Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1y.numGoodPosTdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_tdc_occ_pos 'SHMS 2X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2x.numGoodPosTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_occ_pos 'SHMS 2Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2y.numGoodPosTdcHits 21 0.5 21.5
+
+TH1F phodo_1x_good_tdc_occ_neg 'SHMS 1X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1x.numGoodNegTdcHits 13 0.5 13.5
+TH1F phodo_1y_good_tdc_occ_neg 'SHMS 1Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1y.numGoodNegTdcHits 13 0.5 13.5 
+TH1F phodo_2x_good_tdc_occ_neg 'SHMS 2X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2x.numGoodNegTdcHits 14 0.5 14.5
+TH1F phodo_2y_good_tdc_occ_neg 'SHMS 2Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2y.numGoodNegTdcHits 21 0.5 21.5
+
+#---------------------
+# GOOD PULSE PEDESTAL
+#---------------------
+
+TH2F phodo_1x_good_pped_vs_pmt_pos 'SHMS 1X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1x.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodPosAdcPed>0.0
+TH2F phodo_1y_good_pped_vs_pmt_pos 'SHMS 1Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1y.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodPosAdcPed>0.0
+TH2F phodo_2x_good_pped_vs_pmt_pos 'SHMS 2X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodPosAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodPosAdcPed>0.0
+TH2F phodo_2y_good_pped_vs_pmt_pos 'SHMS 2Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2y.GoodPosAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodPosAdcPed>0.0
+
+TH2F phodo_1x_good_pped_vs_pmt_neg 'SHMS 1X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1x.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodNegAdcPed>0.0
+TH2F phodo_1y_good_pped_vs_pmt_neg 'SHMS 1Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1y.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodNegAdcPed>0.0
+TH2F phodo_2x_good_pped_vs_pmt_neg 'SHMS 2X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodNegAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodNegAdcPed>0.0
+TH2F phodo_2y_good_pped_vs_pmt_neg 'SHMS 2Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2y.GoodNegAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodNegAdcPed>0.0
+
+#---------------------
+# GOOD PULSE INTEGRAL
+#---------------------
+
+TH2F phodo_1x_good_pi_vs_pmt_pos 'SHMS 1X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodPosAdcPulseInt>0.0
+TH2F phodo_1y_good_pi_vs_pmt_pos 'SHMS 1Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodPosAdcPulseInt>0.0
+TH2F phodo_2x_good_pi_vs_pmt_pos 'SHMS 2X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodPosAdcPulseInt>0.0
+TH2F phodo_2y_good_pi_vs_pmt_pos 'SHMS 2Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodPosAdcPulseInt>0.0
+
+TH2F phodo_1x_good_pi_vs_pmt_neg 'SHMS 1X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodNegAdcPulseInt>0.0
+TH2F phodo_1y_good_pi_vs_pmt_neg 'SHMS 1Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodNegAdcPulseInt>0.0
+TH2F phodo_2x_good_pi_vs_pmt_neg 'SHMS 2X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodNegAdcPulseInt>0.0
+TH2F phodo_2y_good_pi_vs_pmt_neg 'SHMS 2Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodNegAdcPulseInt>0.0
+
+#-----------------------
+# GOOD PULSE AMPLITUDE 
+#-----------------------
+
+TH2F phodo_1x_good_pamp_vs_pmt_pos 'SHMS 1X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodPosAdcPulseAmp>0.0
+TH2F phodo_1y_good_pamp_vs_pmt_pos 'SHMS 1Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodPosAdcPulseAmp>0.0
+TH2F phodo_2x_good_pamp_vs_pmt_pos 'SHMS 2X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodPosAdcPulseAmp>0.0
+TH2F phodo_2y_good_pamp_vs_pmt_pos 'SHMS 2Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodPosAdcPulseAmp>0.0
+
+TH2F phodo_1x_good_pamp_vs_pmt_neg 'SHMS 1X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodNegAdcPulseAmp>0.0
+TH2F phodo_1y_good_pamp_vs_pmt_neg 'SHMS 1Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodNegAdcPulseAmp>0.0
+TH2F phodo_2x_good_pamp_vs_pmt_neg 'SHMS 2X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodNegAdcPulseAmp>0.0
+TH2F phodo_2y_good_pamp_vs_pmt_neg 'SHMS 2Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodNegAdcPulseAmp>0.0
+
+#---------------------
+# GOOD ADC PULSE TIME
+#---------------------
+
+TH2F phodo_1x_good_ptime_vs_pmt_pos 'SHMS 1X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodPosAdcPulseTime>0.0
+TH2F phodo_1y_good_ptime_vs_pmt_pos 'SHMS 1Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodPosAdcPulseTime>0.0
+TH2F phodo_2x_good_ptime_vs_pmt_pos 'SHMS 2X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodPosAdcPulseTime>0.0
+TH2F phodo_2y_good_ptime_vs_pmt_pos 'SHMS 2Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2y.GoodPosAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodPosAdcPulseTime>0.0
+
+TH2F phodo_1x_good_ptime_vs_pmt_neg 'SHMS 1X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1x.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodNegAdcPulseTime>0.0
+TH2F phodo_1y_good_ptime_vs_pmt_neg 'SHMS 1Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1y.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodNegAdcPulseTime>0.0
+TH2F phodo_2x_good_ptime_vs_pmt_neg 'SHMS 2X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodNegAdcPulseTime>0.0
+TH2F phodo_2y_good_ptime_vs_pmt_neg 'SHMS 2Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodNegAdcPulseTime>0.0
+
+#---------------------------------------------------------
+# GOOD TDC TIME UNCORRECTED (uncorrected for time offsets)
+#---------------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeUnCorr>0.0
+TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeUnCorr>0.0
+
+TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeUnCorr>0.0
+TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeUnCorr>0.0
+
+#-----------------------------------------------------
+# GOOD TDC TIME CORRECTED (corrected for time offsets)
+#-----------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_corr_vs_pmt_pos 'SHMS 1X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeCorr>0.0
+TH2F phodo_1y_good_tdctime_corr_vs_pmt_pos 'SHMS 1Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeCorr>0.0
+TH2F phodo_2x_good_tdctime_corr_vs_pmt_pos 'SHMS 2X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeCorr>0.0
+TH2F phodo_2y_good_tdctime_corr_vs_pmt_pos 'SHMS 2Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeCorr>0.0
+
+TH2F phodo_1x_good_tdctime_corr_vs_pmt_neg 'SHMS 1X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeCorr>0.0
+TH2F phodo_1y_good_tdctime_corr_vs_pmt_neg 'SHMS 1Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeCorr>0.0
+TH2F phodo_2x_good_tdctime_corr_vs_pmt_neg 'SHMS 2X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeCorr>0.0
+TH2F phodo_2y_good_tdctime_corr_vs_pmt_neg 'SHMS 2Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeCorr>0.0
+
+#-----------------------------------------------------------
+# GOOD TDC TIME TOF CORRECTED (corrected for time of flight) 
+#-----------------------------------------------------------
+
+TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeTOFCorr>0.0
+TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodPosTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeTOFCorr>0.0
+
+TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeTOFCorr>0.0
+TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeTOFCorr>0.0
+
+#----------------------------------------------------------------
+# SHMS HODO TRACKING, TIMING  AND  Particle ID (PID) - BETA (v/c) 
+#----------------------------------------------------------------
+
+TH1F phodo_beta_notrack 'SHMS Hodo Calculated Beta Without Track Info; Beta; Number of Entries / 0.02' P.hod.betanotrack 100 0 2.0 P.hod.betanotrack>0.0
+TH1F phodo_beta 'SHMS Hodo Beta; Beta; Number of Entries / 0.02' P.hod.beta 100 0 2.0 P.hod.beta>0.0
+TH1F phodo_fpHitsTime 'SHMS Hodo Focal Plane Time; Focal Plane Time (ns); Number of Entries / 1 ns' P.hod.fpHitsTime 90 0 90 
+TH1F phodo_starttime 'SHMS Hodo Start Time; Start Time (ns); Number of Entries / 1ns' P.hod.starttime 90 0 90
+TH1F phodo_good_startime 'SHMS Hodo Good Start Time (ns); Good Start Time (ns); Number of Entries / 1ns' P.hod.goodstarttime 90 0 90
+TH2F phodo_xhod_vs_yhod 'SHMS Hodo Projected X vs. Y; Y_hodo(cm) / 1mm; X_hodo(cm) / 1mm' P.hod.y_hodo P.hod.x_hodo 1000 -50 50 1000 -50 50
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/NGC/pngcer_histos.def b/DEF-files/SHMS/STACK/NGC/pngcer_histos.def
new file mode 100644
index 00000000..868491e7
--- /dev/null
+++ b/DEF-files/SHMS/STACK/NGC/pngcer_histos.def
@@ -0,0 +1,39 @@
+#**********************
+# Noble Gas Cherenkov *
+#**********************
+
+#------------------------------------------
+# SHMS NGC GOOD Occupancy and Multiplicity 
+#------------------------------------------
+
+TH1F pngcer_good_occ 'SHMS Noble Gas Cherenkov Good Occupancy; PMT Number; Number of Good ADC Hits' P.ngcer.numGoodAdcHits 4 0.5 4.5
+TH1F pngcer_good_mult 'SHMS Noble Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.ngcer.totNumGoodAdcHits 4 0.5 4.5
+
+#-------------------------------------------------------------------------------
+# SHMS NGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#-------------------------------------------------------------------------------
+
+TH2F pngcer_good_pped_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.ngcer.goodAdcPed 4 0.5 4.5 400 300 700
+TH2F pngcer_good_pi_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.ngcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.ngcer.goodAdcPulseInt>0.0
+TH2F pngcer_good_pamp_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.ngcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.ngcer.goodAdcPulseAmp>0.0
+TH2F pngcer_good_ptime_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.ngcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.ngcer.goodAdcPulseTime>0.0
+
+#-------------------------------
+# SHMS NGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F pngcer_npe 'SHMS Noble Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.ngcer.npe 4 0.5 4.5 200 0 100 P.ngcer.npe>0.0 
+
+#-------------------------------
+# SHMS NGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F pngcer_tot_npe 'SHMS Noble Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.ngcer.npeSum 200 0 100 P.ngcer.npeSum>0.0 
+
+#--------------------------
+# SHMS NGC TRACK MATCHING
+#--------------------------
+
+sTH1F pngcer_trk_match 'SHMS Noble Gas Cherenkov Tracks Matches; PMT Number; Number of Tracks Matched' P.ngcer.numTracksMatched 4 0.5 4.5
+sTH1F pngcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.ngcer.numTracksFired 4 0.5 4.5
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/TRIG/ptrig_histos.def b/DEF-files/SHMS/STACK/TRIG/ptrig_histos.def
new file mode 100644
index 00000000..a045cba2
--- /dev/null
+++ b/DEF-files/SHMS/STACK/TRIG/ptrig_histos.def
@@ -0,0 +1,90 @@
+#********************
+# Trigger Apparatus *
+#********************
+
+TH1F ptrig_pngc_sum_pped 'SHMS Noble Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPed 2000 0 2000
+TH1F ptrig_pngc_sum_pint 'SHMS Noble Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseInt 4000 0 40000
+TH1F ptrig_pngc_sum_pamp 'SHMS Noble Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPulseAmp 4100 0 4100
+TH1F ptrig_pngc_sum_ptime 'SHMS Noble Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseTimeRaw 1000 0 10000
+TH1F ptrig_pngc_sum_tdc 'SHMS Noble Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pNGCSUM_tdcTime 700 -3500 3500
+
+TH1F ptrig_phgc_sum_pped 'SHMS Heavy Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPed 2000 0 2000
+TH1F ptrig_phgc_sum_pint 'SHMS Heavy Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseInt 4000 0 40000
+TH1F ptrig_phgc_sum_pamp 'SHMS Heavy Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPulseAmp 4100 0 4100
+TH1F ptrig_phgc_sum_ptime 'SHMS Heavy Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseTimeRaw 1000 0 10000
+TH1F ptrig_phgc_sum_tdc 'SHMS Heavy Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pHGCSUM_tdcTime 700 -3500 3500
+
+TH1F ptrig_p1x_tdc_mult 'SHMS p1x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1X_tdcMultiplicity 11 0 11
+TH1F ptrig_p1y_tdc_mult 'SHMS p1y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1Y_tdcMultiplicity 11 0 11
+TH1F ptrig_p2x_tdc_mult 'SHMS p2x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2X_tdcMultiplicity 11 0 11
+TH1F ptrig_p2y_tdc_mult 'SHMS p2y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2Y_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1T_tdc_mult 'SHMS p1x/p1y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1T_tdcMultiplicity 11 0 11
+TH1F ptrig_p2T_tdc_mult 'SHMS p2x/p2y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2T_tdcMultiplicity 11 0 11
+
+TH1F ptrig_pT1_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 20, Channel 15); Raw TDC Multiplicity; Counts / 10' T.shms.pT1_tdcMultiplicity 11 0 11
+TH1F ptrig_pT2_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 31); Raw TDC Multiplicity; Counts / 10' T.shms.pT2_tdcMultiplicity 11 0 11
+TH1F ptrig_pT3_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 38); Raw TDC Multiplicity; Counts / 10' T.shms.pT3_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500
+TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500
+TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500
+TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500
+
+TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500
+TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500
+
+TH1F ptrig_pT1_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 20, Channel 15); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500
+TH1F ptrig_pT2_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 31); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500
+TH1F ptrig_pT3_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 38); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500
+
+TH1F ptrig_p1x_good_tdc 'SHMS p1x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500 T.shms.p1X_tdcMultiplicity==1
+TH1F ptrig_p1y_good_tdc 'SHMS p1y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500 T.shms.p1Y_tdcMultiplicity==1
+TH1F ptrig_p2x_good_tdc 'SHMS p2x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500 T.shms.p2X_tdcMultiplicity==1
+TH1F ptrig_p2y_good_tdc 'SHMS p2y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500 T.shms.p2Y_tdcMultiplicity==1
+
+TH1F ptrig_p1T_good_tdc 'SHMS p1x/p1y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500 T.shms.p1T_tdcMultiplicity==1
+TH1F ptrig_p2T_good_tdc 'SHMS p2x/p2y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500 T.shms.p2T_tdcMultiplicity==1
+
+TH1F ptrig_pT1_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 20, Channel 15); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500 T.shms.pT1_tdcMultiplicity==1
+TH1F ptrig_pT2_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 31); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500 T.shms.pT2_tdcMultiplicity==1
+TH1F ptrig_pT3_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 38); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500 T.shms.pT3_tdcMultiplicity==1
+
+TH2F ptrig_ch1xy_ch2x 'SHMS Hodo Trig; 1X1Y Trig (ns); 2X Trig (ns)' T.shms.p1T_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1T_tdcMultiplicity==1
+TH2F ptrig_ch1x_ch2x 'SHMS Hodo Trig; 1X Trig (ns); 2X Trig (ns)' T.shms.p1X_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+TH2F ptrig_ch1y_ch2x 'SHMS Hodo Trig; 1Y Trig (ns); 2X Trig (ns)' T.shms.p1Y_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1Y_tdcMultiplicity==1
+TH2F ptrig_ch1ych1x 'SHMS Hodo Trig; Trig 1X (ns); Trig 1Y (ns)' T.shms.p1X_tdcTime T.shms.p1Y_tdcTime 200 100 300 200 100 300 T.shms.p1Y_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+
+TH1F ptrig_pdc_ref1  'SHMS DC Reference Time Slot 6 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF1_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref2  'SHMS DC Reference Time Slot 7 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF2_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref3  'SHMS DC Reference Time Slot 8 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF3_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref4  'SHMS DC Reference Time Slot 9 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF4_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref5  'SHMS DC Reference Time Slot 10 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF5_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref6  'SHMS DC Reference Time Slot 11 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF6_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref7  'SHMS DC Reference Time Slot 12 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF7_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref8  'SHMS DC Reference Time Slot 13 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF8_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref9  'SHMS DC Reference Time Slot 14 Channel 15; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF9_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref10 'SHMS DC Reference Time Slot 15 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF10_tdcTime 200 12000 14000
+
+#-------------
+# Fast Raster 
+#-------------
+
+# Assume FADC range is set to 1V and the integration is 25 channels
+# Offset in the FADC is about 0.122V or 500 channels.
+
+formula FRXA_V T.shms.pFRXA_adcPulseIntRaw*(1./4096.)/25.
+formula FRXB_V T.shms.pFRXB_adcPulseIntRaw*(1./4096.)/25.
+formula FRYA_V T.shms.pFRYA_adcPulseIntRaw*(1./4096.)/25.
+formula FRYB_V T.shms.pFRYB_adcPulseIntRaw*(1./4096.)/25.
+
+TH1F pFRXA 'SHMS FRXA; FRXA RAW ADC (chan); Counts' T.shms.pFRXA_adcPulseIntRaw 1000 0 100000
+TH1F pFRXA_V 'SHMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0
+TH1F pFRXB 'SHMS FRXB; FRXB RAW ADC (chan); Counts' T.shms.pFRXB_adcPulseIntRaw 1000 0 100000
+TH1F pFRXB_V 'SHMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0
+TH1F pFRYA 'SHMS FRYA; FRYA RAW ADC (chan); Counts' T.shms.pFRYA_adcPulseIntRaw 1000 0 100000
+TH1F pFRYA_V 'SHMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0
+TH1F pFRYB 'SHMS FRYB; FRYB RAW ADC (chan); Counts' T.shms.pFRYB_adcPulseIntRaw 1000 0 100000
+TH1F pFRYB_V 'SHMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0
+TH2F pFRA_XvsY 'HMSFRA_XvsY; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0
+TH2F pFRB_XvsY 'HMSFRB_XvsY; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/merge_def_files.py b/DEF-files/SHMS/STACK/merge_def_files.py
new file mode 100644
index 00000000..e89af197
--- /dev/null
+++ b/DEF-files/SHMS/STACK/merge_def_files.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+
+# Python script to merge multiple def-files into single def-file
+import os
+import sys
+
+if (len(sys.argv) != 3 or sys.argv[1] == '-h'):
+    print('Usage:')
+    print('  merge_def_files.py merge_list.txt outfile.def')
+    sys.exit()
+
+defFileList   = open(sys.argv[1], 'r')
+defFile       = defFileList.readlines()
+defFilePath   = []
+mergedDefFile = sys.argv[2]
+
+for defFileName in defFile:
+    defFilePath.append((defFileName).strip())
+
+with open(mergedDefFile, 'w') as outFile:
+    for defFileName in defFilePath:
+        outFile.write('\n\n')
+        with open(defFileName) as inFile:
+            for line in inFile:
+                outFile.write(line)
diff --git a/DEF-files/SHMS/STACK/merge_list.txt b/DEF-files/SHMS/STACK/merge_list.txt
new file mode 100644
index 00000000..194b685b
--- /dev/null
+++ b/DEF-files/SHMS/STACK/merge_list.txt
@@ -0,0 +1,8 @@
+BLOCK/pblock_vars.def
+NGC/pngcer_histos.def
+DC/pdc_histos.def
+HODO/phodo_histos.def
+HGC/phgcer_histos.def
+AERO/paero_histos.def
+CAL/pcal_histos.def
+TRIG/ptrig_histos.def
diff --git a/DEF-files/SHMS/GEN/pstackana.def b/DEF-files/SHMS/STACK/pstackana.def
similarity index 77%
rename from DEF-files/SHMS/GEN/pstackana.def
rename to DEF-files/SHMS/STACK/pstackana.def
index b50eceac..160b4215 100644
--- a/DEF-files/SHMS/GEN/pstackana.def
+++ b/DEF-files/SHMS/STACK/pstackana.def
@@ -1,5 +1,9 @@
-# See $ANALYZER/examples/output_example.def for examples
-#
+
+
+#********************
+# Block Definitions *
+#********************
+
 block T.shms.*
 block P.ngcer.*
 block P.dc.*
@@ -15,38 +19,49 @@ block P.gtr.*
 #**********************
 
 #------------------------------------------
-#SHMS NGC GOOD Occupancy and Multiplicity 
+# SHMS NGC GOOD Occupancy and Multiplicity 
 #------------------------------------------
+
 TH1F pngcer_good_occ 'SHMS Noble Gas Cherenkov Good Occupancy; PMT Number; Number of Good ADC Hits' P.ngcer.numGoodAdcHits 4 0.5 4.5
 TH1F pngcer_good_mult 'SHMS Noble Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.ngcer.totNumGoodAdcHits 4 0.5 4.5
 
-#------------------------------------------
-#SHMS NGC TOTAL NUMBER OF P.E.
-#------------------------------------------
-TH1F pngcer_tot_npe 'SHMS Noble Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.ngcer.npeSum 200 0 100 P.ngcer.npeSum>0.0 
-
-#------------------------------------------
-#SHMS NGC Number of P.E. / PMT
-#------------------------------------------
-TH2F pngcer_npe 'SHMS Noble Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.ngcer.npe 4 0.5 4.5 200 0 100 P.ngcer.npe>0.0 
-
-#-------------------------------------------------------------------------
-#SHMS NGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+#-------------------------------------------------------------------------------
+# SHMS NGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
 # GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
-#-------------------------------------------------------------------------
+#-------------------------------------------------------------------------------
+
 TH2F pngcer_good_pped_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.ngcer.goodAdcPed 4 0.5 4.5 400 300 700
 TH2F pngcer_good_pi_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.ngcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.ngcer.goodAdcPulseInt>0.0
-TH2F pngcer_good_rawpi_vs_pmt 'SHMS Noble Gas Cherenkov Good Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' [I+1] P.ngcer.goodAdcPulseIntRaw 4 0.5 4.5 600 0 30000 P.ngcer.goodAdcPulseIntRaw>0.0
 TH2F pngcer_good_pamp_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.ngcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.ngcer.goodAdcPulseAmp>0.0
 TH2F pngcer_good_ptime_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.ngcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.ngcer.goodAdcPulseTime>0.0
 
+#-------------------------------
+# SHMS NGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F pngcer_npe 'SHMS Noble Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.ngcer.npe 4 0.5 4.5 200 0 100 P.ngcer.npe>0.0 
+
+#-------------------------------
+# SHMS NGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F pngcer_tot_npe 'SHMS Noble Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.ngcer.npeSum 200 0 100 P.ngcer.npeSum>0.0 
+
+#--------------------------
+# SHMS NGC TRACK MATCHING
+#--------------------------
+
+sTH1F pngcer_trk_match 'SHMS Noble Gas Cherenkov Tracks Matches; PMT Number; Number of Tracks Matched' P.ngcer.numTracksMatched 4 0.5 4.5
+sTH1F pngcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.ngcer.numTracksFired 4 0.5 4.5
+
 #*****************
 # Drift Chambers *
 #*****************
 
 #------------------
-#SHMS DC WIRE MAP
+# SHMS DC WIRE MAP
 #------------------
+
 TH1F pdc1u1_wirenum 'SHMS DC 1U1 Wiremap; Wire Number; Number of Entries' P.dc.1u1.wirenum 107 0.5 107.5
 TH1F pdc1u2_wirenum 'SHMS DC 1U2 Wiremap; Wire Number; Number of Entries' P.dc.1u2.wirenum 107 0.5 107.5
 TH1F pdc1x1_wirenum 'SHMS DC 1X1 Wiremap; Wire Number; Number of Entries' P.dc.1x1.wirenum  79 0.5  79.5
@@ -61,9 +76,10 @@ TH1F pdc2x1_wirenum 'SHMS DC 2X1 Wiremap; Wire Number; Number of Entries' P.dc.2
 TH1F pdc2u2_wirenum 'SHMS DC 2U2 Wiremap; Wire Number; Number of Entries' P.dc.2u2.wirenum 107 0.5 107.5
 TH1F pdc2u1_wirenum 'SHMS DC 2U1 Wiremap; Wire Number; Number of Entries' P.dc.2u1.wirenum 107 0.5 107.5
 
-#-----------------------------
-#SHMS DC DRIFT TIME PER PLANE 
-#-----------------------------
+#------------------------------
+# SHMS DC DRIFT TIME PER PLANE 
+#------------------------------
+
 TH1F pdc1u1_drifttime 'SHMS DC 1U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u1.time 400 -50 350
 TH1F pdc1u2_drifttime 'SHMS DC 1U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u2.time 400 -50 350
 TH1F pdc1x1_drifttime 'SHMS DC 1X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x1.time 400 -50 350
@@ -79,8 +95,9 @@ TH1F pdc2u2_drifttime 'SHMS DC 2U2 Drift Time; Drift Time (ns); Number of Entrie
 TH1F pdc2u1_drifttime 'SHMS DC 2U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u1.time 400 -50 350
 
 #----------------------------------
-#SHMS DC DRIFT TIME VS. WIRENUMBER 
+# SHMS DC DRIFT TIME VS. WIRENUMBER 
 #----------------------------------
+
 TH2F pdc1u1_drifttime_vs_wirenum 'SHMS DC 1U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u1.wirenum P.dc.1u1.time 107 0.5 107.5 500 0 500
 TH2F pdc1u2_drifttime_vs_wirenum 'SHMS DC 1U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u2.wirenum P.dc.1u2.time 107 0.5 107.5 500 0 500
 TH2F pdc1x1_drifttime_vs_wirenum 'SHMS DC 1X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x1.wirenum P.dc.1x1.time  79 0.5  79.5 500 0 500
@@ -95,9 +112,10 @@ TH2F pdc2x1_drifttime_vs_wirenum 'SHMS DC 2X1Drift Time vs. Wire Number; Wire Nu
 TH2F pdc2u2_drifttime_vs_wirenum 'SHMS DC 2U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u2.wirenum P.dc.2u2.time 107 0.5 107.5 500 0 500
 TH2F pdc2u1_drifttime_vs_wirenum 'SHMS DC 2U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 500 0 500
 
-#---------------------------------
-#SHMS DC Drift Distance Per Plane 
-#--------------------------------- 
+#----------------------------------
+# SHMS DC Drift Distance Per Plane 
+#----------------------------------
+
 TH1F pdc1u1_ddist 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6
 TH1F pdc1u1_ddist_cut 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6   time_cut1
 
@@ -134,9 +152,10 @@ TH1F pdc2u2_ddist_cut 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of E
 TH1F pdc2u1_ddist 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6
 TH1F pdc2u1_ddist_cut 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6   time_cut12
 
-#---------------------------------------
-#SHMS DC Drift Distance vs. Wire number 
-#---------------------------------------
+#----------------------------------------
+# SHMS DC Drift Distance vs. Wire number 
+#----------------------------------------
+
 TH2F pdc1u1_wirenum_vs_ddist 'SHMS 1U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u1.wirenum P.dc.1u1.dist 107 0.5 107.5 300 -0.1 0.6
 TH2F pdc1u2_wirenum_vs_ddist 'SHMS 1U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u2.wirenum P.dc.1u2.dist 107 0.5 107.5 300 -0.1 0.6
 TH2F pdc1x1_wirenum_vs_ddist 'SHMS 1X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x1.wirenum P.dc.1x1.dist  79 0.5  79.5 300 -0.1 0.6
@@ -151,9 +170,10 @@ TH2F pdc2x1_wirenum_vs_ddist 'SHMS 2X1 Wiremap vs. Drift Distance; Wire Number;
 TH2F pdc2v2_wirenum_vs_ddist 'SHMS 2V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v2.wirenum P.dc.2v2.dist 107 0.5 107.5 300 -0.1 0.6
 TH2F pdc2v1_wirenum_vs_ddist 'SHMS 2V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v1.wirenum P.dc.2v1.dist 107 0.5 107.5 300 -0.1 0.6
 
-#----------------------------
-#SHMS DC RESIDUALS PER PLANE 
-#---------------------------- 
+#-----------------------------
+# SHMS DC RESIDUALS PER PLANE 
+#-----------------------------
+
 TH1F pdc1u1_residuals 'SHMS 1U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[0]  200 -1.0 1.0
 TH1F pdc1u2_residuals 'SHMS 1U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[1]  200 -1.0 1.0
 TH1F pdc1x1_residuals 'SHMS 1X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[2]  200 -1.0 1.0
@@ -168,9 +188,10 @@ TH1F pdc2x1_residuals 'SHMS 2X1 DC Residuals; Residuals (cm); Number of Entries
 TH1F pdc2u2_residuals 'SHMS 2U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[10] 200 -1.0 1.0
 TH1F pdc2u1_residuals 'SHMS 2U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[11] 200 -1.0 1.0
 
-#----------------------------------
-#SHMS DC RESIDUALS vs. Wire Number
-#----------------------------------
+#-----------------------------------
+# SHMS DC RESIDUALS vs. Wire Number
+#-----------------------------------
+
 TH2F pdc1u1_residuals_vs_wirenum 'SHMS 1U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u1.wirenum P.dc.residual[0] 107 0.5 107.5 200 -1.0 1.0
 TH2F pdc1u2_residuals_vs_wirenum 'SHMS 1U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u2.wirenum P.dc.residual[1] 107 0.5 107.5 200 -1.0 1.0
 TH2F pdc1x1_residuals_vs_wirenum 'SHMS 1X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x1.wirenum P.dc.residual[2] 79 0.5  79.5 200 -1.0 1.0
@@ -185,22 +206,25 @@ TH2F pdc2x1_residuals_vs_wirenum 'SHMS 2X1 DC Residuals vs. Wire Number; Wire Nu
 TH2F pdc2u2_residuals_vs_wirenum 'SHMS 2U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u2.wirenum P.dc.residual[10] 107 0.5 107.5 200 -1.0 1.0
 TH2F pdc2u1_residuals_vs_wirenum 'SHMS 2U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u1.wirenum P.dc.residual[11] 107 0.5 107.5 200 -1.0 1.0
 
-#------------------------------------------
-#SHMS DC TRACKING VARIABLES AT FOCAL PLANE
-#------------------------------------------
+#-------------------------------------------
+# SHMS DC TRACKING VARIABLES AT FOCAL PLANE
+#-------------------------------------------
+
 TH1F pdc_trk_mom 'SHMS DC Track Momentum; P (GeV); Number of Entires / 10 MeV' P.tr.p 600 0 6
 TH1F pdc_trk_beta 'SHMS DC Track Beta; Beta (GeV); Number of Entires' P.tr.beta 300 -1.5 1.5
-TH2F pdc_xfp_vs_yxp 'SHMS DC Xfp vs Yfp; Yfp (cm) / 1 cm; Xfp (cm) / 1 cm' P.dc.y P.dc.x 100 -50 50 100 -50 50
-TH2F pdc_xfpp_vs_yfpp 'SHMS DC X'fp vs Y'fp; Y'fp (rad) / 0.02 rad; X'fp (rad) / 0.02 rad' P.dc.yp P.dc.xp 100 -1 1 100 -1 1    
+TH2F pdc_xfp_vs_yxp 'SHMS DC X_{fp} vs Y_{fp}; Y_{fp} (cm) / 1 cm; X_{fp} (cm) / 1 cm' P.dc.y_fp P.dc.x_fp 100 -50 50 100 -50 50
+TH2F pdc_xpfp_vs_ypfp 'SHMS DC X'_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X'_{fp} / 0.002 rad' P.dc.yp_fp P.dc.xp_fp 100 -.1 .1 100 -.1 .1
+TH2F pdc_xfp_vs_ypfp 'SHMS DC X_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X_{fp} / 1 cm'  P.dc.yp_fp P.dc.x_fp 100 -.1 .1 100 -50 50 
+TH2F pdc_xfp_vs_xpfp 'SHMS DC X_{fp} vs X'_{fp}; X'_{fp} / 0.002 rad; X_{fp} / 1 cm' P.dc.xp_fp P.dc.x_fp 100 -.1 .1 100 -50 50
 
+#*****************
+# SHMS HODOSCOPES
+#*****************
 
-#****************
-#SHMS HODOSCOPES
-#****************
+#-----------------------------------
+# SHMS HODO GOOD ADC Multiplicities 
+#-----------------------------------
 
-#------------------------------------------
-#SHMS HODO GOOD ADC Multiplicities 
-#------------------------------------------
 TH1F phodo_1x_good_adc_mult_pos 'SHMS 1X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1x.totNumGoodPosAdcHits 13 0.5 13.5
 TH1F phodo_1y_good_adc_mult_pos 'SHMS 1Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1y.totNumGoodPosAdcHits 13 0.5 13.5
 TH1F phodo_2x_good_adc_mult_pos 'SHMS 2X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2x.totNumGoodPosAdcHits 14 0.5 14.5
@@ -216,9 +240,10 @@ TH1F phodo_1y_good_adc_mult 'SHMS 1Y Good ADC Multiplicity; Number of PMTs Hit;
 TH1F phodo_2x_good_adc_mult 'SHMS 2X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2x.totNumGoodAdcHits 14 0.5 14.5
 TH1F phodo_2y_good_adc_mult 'SHMS 2Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2y.totNumGoodAdcHits 21 0.5 21.5
 
-#------------------------------------------
-#SHMS HODO Good TDC Multiplicities
-#------------------------------------------
+#-----------------------------------
+# SHMS HODO Good TDC Multiplicities
+#-----------------------------------
+
 TH1F phodo_1x_good_tdc_mult_pos 'SHMS 1X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1x.totNumGoodPosTdcHits 13 0.5 13.5
 TH1F phodo_1y_good_tdc_mult_pos 'SHMS 1Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1y.totNumGoodPosTdcHits 13 0.5 13.5
 TH1F phodo_2x_good_tdc_mult_pos 'SHMS 2X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2x.totNumGoodPosTdcHits 14 0.5 14.5
@@ -234,9 +259,10 @@ TH1F phodo_1y_good_tdc_mult 'SHMS 1Y Good TDC Multiplicity; Number of PMTs Hit;
 TH1F phodo_2x_good_tdc_mult 'SHMS 2X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2x.totNumGoodTdcHits 14 0.5 14.5
 TH1F phodo_2y_good_tdc_mult 'SHMS 2Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2y.totNumGoodTdcHits 21 0.5 21.5
 
-#------------------------------------------
-#SHMS HODO GOOD ADC OCCUPANCIES
-#------------------------------------------
+#---------------------------------
+# SHMS HODO GOOD ADC OCCUPANCIES
+#---------------------------------
+
 TH1F phodo_1x_good_adc_occ_pos 'SHMS 1X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1x.numGoodPosAdcHits 13 0.5 13.5
 TH1F phodo_1y_good_adc_occ_pos 'SHMS 1Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1y.numGoodPosAdcHits 13 0.5 13.5 
 TH1F phodo_2x_good_adc_occ_pos 'SHMS 2X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2x.numGoodPosAdcHits 14 0.5 14.5
@@ -247,9 +273,10 @@ TH1F phodo_1y_good_adc_occ_neg 'SHMS 1Y- Good ADC Occupancy; PMT Number; Number
 TH1F phodo_2x_good_adc_occ_neg 'SHMS 2X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2x.numGoodNegAdcHits 14 0.5 14.5
 TH1F phodo_2y_good_adc_occ_neg 'SHMS 2Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2y.numGoodNegAdcHits 21 0.5 21.5
 
-#------------------------------------------
-#SHMS HODO GOOD TDC OCCUPANCIES
-#------------------------------------------
+#--------------------------------
+# SHMS HODO GOOD TDC OCCUPANCIES
+#--------------------------------
+
 TH1F phodo_1x_good_tdc_occ_pos 'SHMS 1X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1x.numGoodPosTdcHits 13 0.5 13.5
 TH1F phodo_1y_good_tdc_occ_pos 'SHMS 1Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1y.numGoodPosTdcHits 13 0.5 13.5 
 TH1F phodo_2x_good_tdc_occ_pos 'SHMS 2X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2x.numGoodPosTdcHits 14 0.5 14.5
@@ -260,9 +287,10 @@ TH1F phodo_1y_good_tdc_occ_neg 'SHMS 1Y- Good TDC Occupancy; PMT Number; Number
 TH1F phodo_2x_good_tdc_occ_neg 'SHMS 2X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2x.numGoodNegTdcHits 14 0.5 14.5
 TH1F phodo_2y_good_tdc_occ_neg 'SHMS 2Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2y.numGoodNegTdcHits 21 0.5 21.5
 
-#------------------------------------------
-#GOOD PULSE PEDESTAL
-#------------------------------------------
+#---------------------
+# GOOD PULSE PEDESTAL
+#---------------------
+
 TH2F phodo_1x_good_pped_vs_pmt_pos 'SHMS 1X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1x.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodPosAdcPed>0.0
 TH2F phodo_1y_good_pped_vs_pmt_pos 'SHMS 1Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.1y.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodPosAdcPed>0.0
 TH2F phodo_2x_good_pped_vs_pmt_pos 'SHMS 2X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodPosAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodPosAdcPed>0.0
@@ -273,9 +301,10 @@ TH2F phodo_1y_good_pped_vs_pmt_neg 'SHMS 1Y- Good Pulse Pedestal vs. PMT Number;
 TH2F phodo_2x_good_pped_vs_pmt_neg 'SHMS 2X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2x.GoodNegAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodNegAdcPed>0.0
 TH2F phodo_2y_good_pped_vs_pmt_neg 'SHMS 2Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1]  P.hod.2y.GoodNegAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodNegAdcPed>0.0
 
-#------------------------------------------
-#GOOD PULSE INTEGRAL
-#------------------------------------------
+#---------------------
+# GOOD PULSE INTEGRAL
+#---------------------
+
 TH2F phodo_1x_good_pi_vs_pmt_pos 'SHMS 1X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodPosAdcPulseInt>0.0
 TH2F phodo_1y_good_pi_vs_pmt_pos 'SHMS 1Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodPosAdcPulseInt>0.0
 TH2F phodo_2x_good_pi_vs_pmt_pos 'SHMS 2X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodPosAdcPulseInt>0.0
@@ -286,9 +315,10 @@ TH2F phodo_1y_good_pi_vs_pmt_neg 'SHMS 1Y- Good Pulse Integral vs. PMT Number; P
 TH2F phodo_2x_good_pi_vs_pmt_neg 'SHMS 2X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodNegAdcPulseInt>0.0
 TH2F phodo_2y_good_pi_vs_pmt_neg 'SHMS 2Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodNegAdcPulseInt>0.0
 
-#------------------------------------------
-#GOOD PULSE AMPLITUDE 
-#------------------------------------------
+#-----------------------
+# GOOD PULSE AMPLITUDE 
+#-----------------------
+
 TH2F phodo_1x_good_pamp_vs_pmt_pos 'SHMS 1X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodPosAdcPulseAmp>0.0
 TH2F phodo_1y_good_pamp_vs_pmt_pos 'SHMS 1Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodPosAdcPulseAmp>0.0
 TH2F phodo_2x_good_pamp_vs_pmt_pos 'SHMS 2X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodPosAdcPulseAmp>0.0
@@ -299,9 +329,10 @@ TH2F phodo_1y_good_pamp_vs_pmt_neg 'SHMS 1Y- Good Pulse Amplitude vs. PMT Number
 TH2F phodo_2x_good_pamp_vs_pmt_neg 'SHMS 2X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodNegAdcPulseAmp>0.0
 TH2F phodo_2y_good_pamp_vs_pmt_neg 'SHMS 2Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodNegAdcPulseAmp>0.0
 
-#------------------------------------------
-#GOOD ADC PULSE TIME
-#------------------------------------------
+#---------------------
+# GOOD ADC PULSE TIME
+#---------------------
+
 TH2F phodo_1x_good_ptime_vs_pmt_pos 'SHMS 1X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1x.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodPosAdcPulseTime>0.0
 TH2F phodo_1y_good_ptime_vs_pmt_pos 'SHMS 1Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.1y.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodPosAdcPulseTime>0.0
 TH2F phodo_2x_good_ptime_vs_pmt_pos 'SHMS 2X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodPosAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodPosAdcPulseTime>0.0
@@ -312,9 +343,10 @@ TH2F phodo_1y_good_ptime_vs_pmt_neg 'SHMS 1Y- Good Pulse Time vs. PMT Number; PM
 TH2F phodo_2x_good_ptime_vs_pmt_neg 'SHMS 2X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2x.GoodNegAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodNegAdcPulseTime>0.0
 TH2F phodo_2y_good_ptime_vs_pmt_neg 'SHMS 2Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1]  P.hod.2y.GoodNegAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodNegAdcPulseTime>0.0
 
-#--------------------------------------------------------
-#GOOD TDC TIME UNCORRECTED (uncorrected for time offsets)
-#--------------------------------------------------------
+#---------------------------------------------------------
+# GOOD TDC TIME UNCORRECTED (uncorrected for time offsets)
+#---------------------------------------------------------
+
 TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeUnCorr>0.0
 TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeUnCorr>0.0
 TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeUnCorr>0.0
@@ -326,8 +358,9 @@ TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2X- Good Uncorrected TDC Time
 TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeUnCorr>0.0
 
 #-----------------------------------------------------
-#GOOD TDC TIME CORRECTED (corrected for time offsets)
+# GOOD TDC TIME CORRECTED (corrected for time offsets)
 #-----------------------------------------------------
+
 TH2F phodo_1x_good_tdctime_corr_vs_pmt_pos 'SHMS 1X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeCorr>0.0
 TH2F phodo_1y_good_tdctime_corr_vs_pmt_pos 'SHMS 1Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeCorr>0.0
 TH2F phodo_2x_good_tdctime_corr_vs_pmt_pos 'SHMS 2X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeCorr>0.0
@@ -339,8 +372,9 @@ TH2F phodo_2x_good_tdctime_corr_vs_pmt_neg 'SHMS 2X- Good Corrected TDC Time vs.
 TH2F phodo_2y_good_tdctime_corr_vs_pmt_neg 'SHMS 2Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeCorr>0.0
 
 #-----------------------------------------------------------
-#GOOD TDC TIME TOF CORRECTED (corrected for time of flight) 
+# GOOD TDC TIME TOF CORRECTED (corrected for time of flight) 
 #-----------------------------------------------------------
+
 TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1x.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeTOFCorr>0.0
 TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.1y.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeTOFCorr>0.0
 TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodPosTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeTOFCorr>0.0
@@ -351,9 +385,10 @@ TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1Y- Good TOF Corrected TDC T
 TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2x.GoodNegTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeTOFCorr>0.0
 TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1]  P.hod.2y.GoodNegTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeTOFCorr>0.0
 
-#-------------------------------------------------------
-#SHMS HODO TRACKING, TIMING  AND  Particle ID (PID) - BETA (v/c) 
-#-------------------------------------------------------
+#----------------------------------------------------------------
+# SHMS HODO TRACKING, TIMING  AND  Particle ID (PID) - BETA (v/c) 
+#----------------------------------------------------------------
+
 TH1F phodo_beta_notrack 'SHMS Hodo Calculated Beta Without Track Info; Beta; Number of Entries / 0.02' P.hod.betanotrack 100 0 2.0 P.hod.betanotrack>0.0
 TH1F phodo_beta 'SHMS Hodo Beta; Beta; Number of Entries / 0.02' P.hod.beta 100 0 2.0 P.hod.beta>0.0
 TH1F phodo_fpHitsTime 'SHMS Hodo Focal Plane Time; Focal Plane Time (ns); Number of Entries / 1 ns' P.hod.fpHitsTime 90 0 90 
@@ -361,100 +396,109 @@ TH1F phodo_starttime 'SHMS Hodo Start Time; Start Time (ns); Number of Entries /
 TH1F phodo_good_startime 'SHMS Hodo Good Start Time (ns); Good Start Time (ns); Number of Entries / 1ns' P.hod.goodstarttime 90 0 90
 TH2F phodo_xhod_vs_yhod 'SHMS Hodo Projected X vs. Y; Y_hodo(cm) / 1mm; X_hodo(cm) / 1mm' P.hod.y_hodo P.hod.x_hodo 1000 -50 50 1000 -50 50
 
-
-
 #**********************
 # Heavy Gas Cherenkov *
 #**********************
 
 #-----------------------------------------
-#SHMS HGC GOOD Occupancy and Multiplicity
+# SHMS HGC GOOD Occupancy and Multiplicity
 #-----------------------------------------
+
 TH1F phgcer_good_occ 'SHMS Heavy Gas Cherenkov Good Occupancy; PMT Number; Number Good ADC Hits' P.hgcer.numGoodAdcHits 4 0.5 4.5
 TH1F phgcer_good_mult 'SHMS Heavy Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hgcer.totNumGoodAdcHits 4 0.5 4.5
 
-#------------------------------
-#SHMS HGC TOTAL NUMBER OF P.E.
-#------------------------------
-TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0 
-
-#------------------------------
-#SHMS HGC Number of P.E. / PMT
-#------------------------------
-TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0 
+#-------------------------------------------------------------------------------
+# SHMS HGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#-------------------------------------------------------------------------------
 
-#---------------------------------------------------------------------------
-#SHMS HGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
-#:: GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
-#---------------------------------------------------------------------------
 TH2F phgcer_good_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.hgcer.goodAdcPed 4 0.5 4.5 400 300 700
 TH2F phgcer_good_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseInt>0.0
-TH2F phgcer_good_rawpi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseIntRaw 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseIntRaw>0.0
 TH2F phgcer_good_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.hgcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.hgcer.goodAdcPulseAmp>0.0
 TH2F phgcer_good_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.hgcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.hgcer.goodAdcPulseTime>0.0
 
+#-------------------------------
+# SHMS HGC Number of P.E. / PMT
+#-------------------------------
+
+TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0 
+
+#-------------------------------
+# SHMS HGC TOTAL NUMBER OF P.E.
+#-------------------------------
+
+TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0 
+
+#--------------------------
+# SHMS HGC TRACK MATCHING
+#--------------------------
 
+sTH1F phgcer_trk_match 'SHMS Noble Gas Cherenkov Track Matches; PMT Number; Number of Tracks Matched' P.hgcer.numTracksMatched 4 0.5 4.5
+sTH1F phgcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.hgcer.numTracksFired 4 0.5 4.5
 
 #***************
 # SHMS AEROGEL *
 #***************
 
-#---------------------------------------------
-#SHMS AEROGEL GOOD Occupancy and Multiplicity
-#---------------------------------------------
+#----------------------------------------------
+# SHMS AEROGEL GOOD Occupancy and Multiplicity
+#----------------------------------------------
+
 TH1F paero_good_occ_pos 'SHMS Aero+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.aero.numGoodPosAdcHits 7 0.5 7.5
 TH1F paero_good_occ_neg 'SHMS Aero- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.aero.numGoodNegAdcHits 7 0.5 7.5
 TH1F paero_good_mult_pos 'SHMS Aero+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.aero.totNumGoodPosAdcHits 7 0.5 7.5
 TH1F paero_good_mult_neg 'SHMS Aero- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.aero.totNumGoodNegAdcHits 7 0.5 7.5
 TH1F paero_good_mult 'SHMS Aero Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.aero.totnumGoodAdcHits 14 0.5 14.5
 
-#------------------------------
-#SHMS AERO TOTAL NUMBER OF P.E.
-#------------------------------
+#-------------------------------
+# SHMS AERO TOTAL NUMBER OF P.E.
+#-------------------------------
+
 TH1F paero_tot_npe_pos 'SHMS Aero+ Total Number of Photoelectrons; Total Number of Pos Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.posNpeSum 200 0 100 P.aero.posNpeSum>0.0 
 TH1F paero_tot_npe_neg 'SHMS Aero- Total Number of Photoelectrons; Total Number of Neg Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.negNpeSum 200 0 100 P.aero.negNpeSum>0.0 
 TH1F paero_tot_npe 'SHMS Aero Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.npeSum 200 0 100 P.aero.npeSum>0.0 
 
-#-------------------------------
-#SHMS AERO Number of P.E. / PMT
-#-------------------------------
+#--------------------------------
+# SHMS AERO Number of P.E. / PMT
+#--------------------------------
+
 TH2F paero_npe_pos 'SHMS Aero+ Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.posNpe 7 0.5 7.5 200 0 100 P.aero.posNpe>0.0 
 TH2F paero_npe_neg 'SHMS Aero- Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.negNpe 7 0.5 7.5 200 0 100 P.aero.negNpe>0.0 
 
-#---------------------------------------------------------------------------
-#SHMS AERO GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
-#:: GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
-#---------------------------------------------------------------------------
+#------------------------------------------------------------------------------
+# SHMS AERO GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time 
+# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) 
+#------------------------------------------------------------------------------
+
 TH2F paero_good_pped_vs_pmt_pos 'SHMS Aero+ Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodPosAdcPed 7 0.5 7.5 400 300 700  P.aero.goodPosAdcPed>0.0
 TH2F paero_good_pi_vs_pmt_pos 'SHMS Aero+ Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodPosAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodPosAdcPulseInt>0.0
-TH2F paero_good_raw_pi_vs_pmt_pos 'SHMS Aero+ Good Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' [I+1] P.aero.goodPosAdcPulseIntRaw 7 0.5 7.5 600 0 30000 P.aero.goodPosAdcPulseIntRaw>0.0
 TH2F paero_good_pamp_vs_pmt_pos 'SHMS Aero+ Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodPosAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodPosAdcPulseAmp>0.0
 TH2F paero_good_ptime_vs_pmt_pos 'SHMS Aero+ Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodPosAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodPosAdcPulseTime>0.0
 
 TH2F paero_good_pped_vs_pmt_neg 'SHMS Aero- Good Pulse Pedestal vs. PMT Number; PMT Number;  Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodNegAdcPed 7 0.5 7.5 400 300 700 P.aero.goodNegAdcPed>0.0
 TH2F paero_good_pi_vs_pmt_neg 'SHMS Aero- Good Pulse Integral vs. PMT Number; PMT Number;  Pulse Integral / 50 ADC Units' [I+1] P.aero.goodNegAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodNegAdcPulseInt>0.0
-TH2F paero_good_raw_pi_vs_pmt_neg 'SHMS Aero- Good Raw Pulse Integral vs. PMT Number; PMT Number; Raw Pulse Integral / 50 ADC Units' [I+1] P.aero.goodNegAdcPulseIntRaw 7 0.5 7.5 600 0 30000 P.aero.goodNegAdcPulseIntRaw>0.0
 TH2F paero_good_pamp_vs_pmt_neg 'SHMS Aero- Good Pulse Amplitude vs. PMT Number; PMT Number;  Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodNegAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodNegAdcPulseAmp>0.0
 TH2F paero_good_ptime_vs_pmt_neg 'SHMS Aero- Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodNegAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodNegAdcPulseTime>0.0
 
+#*******************
+# SHMS CALORIMETER *
+#*******************
 
-#******************************
-# SHMS PRE-SHOWER CALORIMETER *
-#******************************
+#--------------------------------------------
+# SHMS PreSH GOOD Occupancy and Multiplicity
+#--------------------------------------------
 
-#-------------------------------------------
-#SHMS PreSH GOOD Occupancy and Multiplicity
-#-------------------------------------------
 TH1F pcal_prshwr_good_occ_pos 'SHMS PreShower+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.cal.pr.numGoodPosAdcHits 14 0.5 14.5
 TH1F pcal_prshwr_good_occ_neg 'SHMS PreShower- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.cal.pr.numGoodNegAdcHits 14 0.5 14.5
 TH1F pcal_prshwr_good_mult_pos 'SHMS PreShower+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.cal.pr.totNumGoodPosAdcHits 14 0.5 14.5
 TH1F pcal_prshwr_good_mult_neg 'SHMS PreShower- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.cal.pr.totNumGoodNegAdcHits 14 0.5 14.5
 TH1F pcal_prshwr_good_mult 'SHMS PreShower Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.cal.pr.totnumGoodAdcHits 28 0.5 28.5
 
-#--------------------------------------------------
-#GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES 
-#:: GOOD --> (passed errorFlag cut, pulsetime cuts oN Min/Max ADC Time Window, and ADC threshold cut)
-#--------------------------------------------------
+#--------------------------------------------------------------------------------------------------
+# GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES 
+# GOOD --> (passed errorFlag cut, pulsetime cuts oN Min/Max ADC Time Window, and ADC threshold cut)
+#--------------------------------------------------------------------------------------------------
+
 TH2F pcal_prshwr_good_pped_vs_pmt_pos 'SHMS PreShower+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodPosAdcPed 14 0.5 14.5 400 300 700  P.cal.pr.goodPosAdcPed>0.0
 TH2F pcal_prshwr_good_pi_vs_pmt_pos 'SHMS PreShower+ Good Pulse Integral vs. PMT Number; PMT Number; Good  Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodPosAdcPulseInt>0.0
 TH2F pcal_prshwr_good_pamp_vs_pmt_pos 'SHMS PreShower+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good  Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodPosAdcPulseAmp>0.0
@@ -465,81 +509,92 @@ TH2F pcal_prshwr_good_pi_vs_pmt_neg 'SHMS PreShower- Good Pulse Integral vs. PMT
 TH2F pcal_prshwr_good_pamp_vs_pmt_neg 'SHMS PreShower- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodNegAdcPulseAmp>0.0
 TH2F pcal_prshwr_good_ptime_vs_pmt_neg 'SHMS PreShower- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodNegAdcPulseTime>0.0
 
-#-------------------------------------
-#SHMS PreSH GOOD RAW PULSE INTEGRALS 
-#-------------------------------------
-TH2F pcal_prshwr_good_raw_pi_vs_pmt_pos 'SHMS PreShower+ Good Raw Pulse Integral vs. PMT Number; PMT Number; Good Raw Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseIntRaw 14 0.5 14.5 650 0 32500  P.cal.pr.goodPosAdcPulseIntRaw>0.0
-TH2F pcal_prshwr_good_raw_pi_vs_pmt_neg 'SHMS PreShower- Good Raw Pulse Integral vs. PMT Number; PMT Number; Good Raw Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseIntRaw 14 0.5 14.5 650 0 32500  P.cal.pr.goodNegAdcPulseIntRaw>0.0
-
 #------------------------------------------------------
-#SHMS PRE-SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
-#(calib consts (GAIN) are in GeV/ADC units )
+# SHMS PRE-SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
 #------------------------------------------------------
+
 TH2F pcal_prshwr_Epos_vs_pmt 'SHMS PreShower+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.epos 14 0.5 14.5 200 0 2 P.cal.pr.epos>0.0
 TH2F pcal_prshwr_Eneg_vs_pmt 'SHMS PreShower- Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.eneg 14 0.5 14.5 200 0 2 P.cal.pr.eneg>0.0
 TH2F pcal_prshwr_Emean_vs_pmt 'SHMS PreShower Mean Energy Deposition vs. PMT Number; PMT Number; Mean Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.emean 14 0.5 14.5 300 0 3 P.cal.pr.emean>0.0
 
-#------------------------------------------
-#SHMS ENERGY DEPOSITION in PreShower PLANE
-#------------------------------------------
+#-------------------------------------------
+# SHMS ENERGY DEPOSITION in PreShower PLANE
+#-------------------------------------------
+
 TH1F pcal_prshwr_Eplane_pos 'SHMS PreShower+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_pos 200 0 2 P.cal.pr.eplane_pos>0.0
 TH1F pcal_prshwr_Eplane_neg 'SHMS PreShower- Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_neg 200 0 2 P.cal.pr.eplane_neg>0.0
 TH1F pcal_prshwr_Eplane 'SHMS PreShower Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane 300 0 3 P.cal.pr.eplane>0.0
 
-#**************************
-# SHMS SHOWER CALORIMETER *
-#**************************
-
-#--------------------------------------------
-#SHMS Shower GOOD Occupancy and Multiplicity
-#--------------------------------------------
+#---------------------------------------------
+# SHMS Shower GOOD Occupancy and Multiplicity
+#---------------------------------------------
 TH1F pcal_shwr_good_occ 'SHMS Shower Good Occupancy; PMT Number; Number of Good ADC Hits' P.cal.fly.numGoodAdcHits 224 0.5 224.5
 TH1F pcal_shwr_good_mult 'SHMS Shower Good Multiplicity; PMT Number; Total Number of Good ADC Hits' P.cal.fly.totNumGoodAdcHits 224 0.5 224.5
 
-#SHMS Shower GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES
+#-------------------------------------------------------------
+# SHMS Shower GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES
+#-------------------------------------------------------------
+
 TH2F pcal_shwr_good_pped_vs_pmt 'SHMS Shower Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.fly.goodAdcPed 224 0.5 224.5 700 300 1000 P.cal.fly.goodAdcPed>0.0
 TH2F pcal_shwr_good_pi_vs_pmt 'SHMS Shower Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.fly.goodAdcPulseInt 224 0.5 224.5 600 0 30000 P.cal.fly.goodAdcPulseInt>0.0
 TH2F pcal_shwr_good_pamp_vs_pmt 'SHMS Shower Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.fly.goodAdcPulseAmp 224 0.5 224.5 200 0 4000 P.cal.fly.goodAdcPulseAmp>0.0
 TH2F pcal_shwr_good_ptime_vs_pmt 'SHMS Shower Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.fly.goodAdcPulseTime 224 0.5 224.5 350 0 3500 P.cal.fly.goodAdcPulseTime>0.0
 
-#-------------------------
-#Good Raw Pulse Integrals 
-#-------------------------
-TH2F pcal_shwr_good_raw_pi_vs_pmt 'SHMS Shower Good Raw Pulse Integral vs. PMT Number; PMT Number; Good Raw Pulse Integral / 50 ADC Units' [I+1] P.cal.fly.goodAdcPulseIntRaw 224 0.5 224.5 650 0 32500  P.cal.fly.goodAdcPulseIntRaw>0.0
-
 #--------------------------------------------------
-#SHMS SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
-#(calib consts (GAIN) are in GeV/ADC units )
+# SHMS SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS 
+# (calib consts (GAIN) are in GeV/ADC units )
 #--------------------------------------------------
+
 TH2F pcal_shwr_E_vs_pmt 'SHMS Shower Energy Deposition vs. PMT Number; PMT Number; Energy Deposited (0.01 GeV / ADC Units)' [I+1] P.cal.fly.e 224 0.5 224.5 300 0 3 P.cal.fly.e>0.0
 
-#-------------------------------------------------
-#TOTAL ENERGY DEPOSITION IN THE SHMS SHOWER ARRAY
-#-------------------------------------------------
+#--------------------------------------------------
+# TOTAL ENERGY DEPOSITION IN THE SHMS SHOWER ARRAY
+#--------------------------------------------------
+
 TH1F pcal_shwr_Earray 'SHMS Shower Total Energy Deposition in Array; Total Energy Deposited (GeV); Number of Entries / 0.01 GeV' P.cal.fly.earray 600 0 6 P.cal.fly.earray>0.0
 
-#-----------------------------------------------------------------
-#SHMS PRE-SHOWER AND SHOWER (CALORIMETER) TOTAL ENERGY DEPOSITION
-#-----------------------------------------------------------------
-#TOTAL ENERGY AND NORMALIZED ENERGY DEPOSITED IN CALORIMETER (SHOWER AND PRE-SHOWER)
+#-------------------------------------------------------------------------------------
+# SHMS PRE-SHOWER AND SHOWER (CALORIMETER) TOTAL ENERGY DEPOSITION
+# TOTAL ENERGY AND NORMALIZED ENERGY DEPOSITED IN CALORIMETER (SHOWER AND PRE-SHOWER)
+#-------------------------------------------------------------------------------------
+
 TH1F pcal_etot 'SHMS Calorimeter Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.etot 500 0 5 P.cal.etot>0.0
 TH1F pcal_etot_norm 'SHMS Calorimeter Total Normalized Energy Deposition; Total Energy Deposited (GeV) / P0 (GeV); Number of Entries / 0.01' P.cal.etotnorm 500 0 5 P.cal.etotnorm>0.0
 TH1F pcal_etrack 'SHMS Calorimeter Total Track Energy; Track Energy Deposited (GeV); Number of Entries / 0.1 GeV' P.cal.etrack 100 0 10 P.cal.etrack>0.0 
 TH1F pcal_etracknorm 'SHMS Calorimeter Normalized Track Energy; Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0
+TH1F pcal_etracknorm_track 'SHMS Calorimeter Normalized Track Energy (Ntrack > 0); Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0&&P.dc.ntrack>0
+TH1F pcal_enenorm_track_elec 'SHMS Cal energy/p (npeSum > .5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum>.5&&P.hgcer.npeSum>.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH1F pcal_enenorm_track_pion 'SHMS Cal energy/p (npeSum <.5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum<.5&&P.hgcer.npeSum<.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
+TH2F pcal_ene_2dtrack 'SHMS Cal energy v energy track' P.cal.etrack P.cal.etot 1000 0. 5. 1000 0. 5. P.dc.ntrack>0
+TH2F pcal_delta_etrack 'SHMS Delta v Cal energy/p ' P.cal.etracknorm P.gtr.dp 60 0. 1.5 80 -15. 25. P.dc.ntrack>0
+TH2F pcal_ngnpe_etrack 'SHMS NG Cer Npe v Cal energy/p' P.cal.etracknorm P.ngcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
+TH2F pcal_hgnpe_etrack 'SHMS HG Cer Npe v Cal energy/p' P.cal.etracknorm P.hgcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
 
 #-------------------------------
 # SHMS PID AND ACCEPTANCE PLOTS
 #-------------------------------
+
 TH2F hgc_vs_prshw 'SHMS HGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; HGC Total N.P.E. / 0.5' P.cal.pr.eplane P.hgcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.hgcer.npeSum>0.0 
 TH2F ngc_vs_prshw 'SHMS NGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; NGC Total N.P.E. / 0.5' P.cal.pr.eplane P.ngcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.ngcer.npeSum>0.0 
 TH2F pcal_shw_vs_prshw 'Shower vs. PreShower Energy Deposition; PreShower Energy / 0.1 GeV; Shower Energy / 0.1 GeV' P.cal.pr.eplane P.cal.fly.earray 50 0 5 350 0 35  P.cal.pr.eplane>0.0&&P.cal.fly.earray>0.0 
-TH2F delta_vs_etracknorm 'SHMS Delta. vs. Normalized Track Energy; Calorimeter Normalized Track Energy; Momentum Acceptance (%)' P.cal.etracknorm P.gtr.dp 50 0 5 80 -15, 25 P.cal.etracknorm>0.0 
+TH2F delta_vs_etracknorm 'SHMS Delta. vs. Normalized Track Energy; Calorimeter Normalized Track Energy; Momentum Acceptance (%)' P.cal.etracknorm P.gtr.dp 50 0 5 80 -15, 25 P.cal.etracknorm>0.0&&P.dc.ntrack>0 
 
+#---------------------------
+#  CLUSTERING PLOTS
+#---------------------------
 
+TH1F pcal_xclusttrack 'SHMS Cal X pos' P.cal.xclusttrack 200 -100. 100. P.cal.nclusttrack>-1
+TH1F pcal_xdiff 'SHMS Cal X pos - X track' P.cal.xclusttrack-P.cal.xtrack 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH2F pcal_xdiff_v_xtr 'SHMS Cal X pos - X track v Xtr' P.cal.xtrack P.cal.xclusttrack-P.cal.xtrack 200 -100. 100. 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack 'SHMS Cal X pos of track' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack>-1&&P.dc.ntrack>0
+TH1F pcal_xtrack1 'SHMS Cal X pos of track no matching clust' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
+TH1F pcal_xtrack2 'SHMS Cal X pos of track no matching clust number of cluster=1' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.cal.nclust==0&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
 
 #********************
 # Trigger Apparatus *
 #********************
+
 TH1F ptrig_pngc_sum_pped 'SHMS Noble Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPed 2000 0 2000
 TH1F ptrig_pngc_sum_pint 'SHMS Noble Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseInt 4000 0 40000
 TH1F ptrig_pngc_sum_pamp 'SHMS Noble Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPulseAmp 4100 0 4100
@@ -552,14 +607,77 @@ TH1F ptrig_phgc_sum_pamp 'SHMS Heavy Gas Sum FADC Pulse Amplitude; Pulse Amplitu
 TH1F ptrig_phgc_sum_ptime 'SHMS Heavy Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseTimeRaw 1000 0 10000
 TH1F ptrig_phgc_sum_tdc 'SHMS Heavy Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pHGCSUM_tdcTime 700 -3500 3500
 
-TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1X_tdcTime 350 0 3500
-TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1Y_tdcTime 350 0 3500
-TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2X_tdcTime 350 0 3500
-TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2Y_tdcTime 350 0 3500
-
-TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1T_tdcTime 350 0 3500
-TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2T_tdcTime 350 0 3500
-
-TH1F ptrig_pT1_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 20, Channel 15); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pT1_tdcTime 350 0 3500
-TH1F ptrig_pT2_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 31); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pT2_tdcTime 350 0 3500
-TH1F ptrig_pT3_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 38); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pT3_tdcTime 350 0 3500
+TH1F ptrig_p1x_tdc_mult 'SHMS p1x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1X_tdcMultiplicity 11 0 11
+TH1F ptrig_p1y_tdc_mult 'SHMS p1y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1Y_tdcMultiplicity 11 0 11
+TH1F ptrig_p2x_tdc_mult 'SHMS p2x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2X_tdcMultiplicity 11 0 11
+TH1F ptrig_p2y_tdc_mult 'SHMS p2y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2Y_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1T_tdc_mult 'SHMS p1x/p1y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1T_tdcMultiplicity 11 0 11
+TH1F ptrig_p2T_tdc_mult 'SHMS p2x/p2y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2T_tdcMultiplicity 11 0 11
+
+TH1F ptrig_pT1_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 20, Channel 15); Raw TDC Multiplicity; Counts / 10' T.shms.pT1_tdcMultiplicity 11 0 11
+TH1F ptrig_pT2_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 31); Raw TDC Multiplicity; Counts / 10' T.shms.pT2_tdcMultiplicity 11 0 11
+TH1F ptrig_pT3_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 38); Raw TDC Multiplicity; Counts / 10' T.shms.pT3_tdcMultiplicity 11 0 11
+
+TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500
+TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500
+TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500
+TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500
+
+TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500
+TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500
+
+TH1F ptrig_pT1_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 20, Channel 15); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500
+TH1F ptrig_pT2_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 31); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500
+TH1F ptrig_pT3_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 38); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500
+
+TH1F ptrig_p1x_good_tdc 'SHMS p1x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500 T.shms.p1X_tdcMultiplicity==1
+TH1F ptrig_p1y_good_tdc 'SHMS p1y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500 T.shms.p1Y_tdcMultiplicity==1
+TH1F ptrig_p2x_good_tdc 'SHMS p2x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500 T.shms.p2X_tdcMultiplicity==1
+TH1F ptrig_p2y_good_tdc 'SHMS p2y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500 T.shms.p2Y_tdcMultiplicity==1
+
+TH1F ptrig_p1T_good_tdc 'SHMS p1x/p1y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500 T.shms.p1T_tdcMultiplicity==1
+TH1F ptrig_p2T_good_tdc 'SHMS p2x/p2y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500 T.shms.p2T_tdcMultiplicity==1
+
+TH1F ptrig_pT1_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 20, Channel 15); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500 T.shms.pT1_tdcMultiplicity==1
+TH1F ptrig_pT2_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 31); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500 T.shms.pT2_tdcMultiplicity==1
+TH1F ptrig_pT3_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 38); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500 T.shms.pT3_tdcMultiplicity==1
+
+TH2F ptrig_ch1xy_ch2x 'SHMS Hodo Trig; 1X1Y Trig (ns); 2X Trig (ns)' T.shms.p1T_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1T_tdcMultiplicity==1
+TH2F ptrig_ch1x_ch2x 'SHMS Hodo Trig; 1X Trig (ns); 2X Trig (ns)' T.shms.p1X_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+TH2F ptrig_ch1y_ch2x 'SHMS Hodo Trig; 1Y Trig (ns); 2X Trig (ns)' T.shms.p1Y_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1Y_tdcMultiplicity==1
+TH2F ptrig_ch1ych1x 'SHMS Hodo Trig; Trig 1X (ns); Trig 1Y (ns)' T.shms.p1X_tdcTime T.shms.p1Y_tdcTime 200 100 300 200 100 300 T.shms.p1Y_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
+
+TH1F ptrig_pdc_ref1  'SHMS DC Reference Time Slot 6 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF1_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref2  'SHMS DC Reference Time Slot 7 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF2_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref3  'SHMS DC Reference Time Slot 8 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF3_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref4  'SHMS DC Reference Time Slot 9 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF4_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref5  'SHMS DC Reference Time Slot 10 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF5_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref6  'SHMS DC Reference Time Slot 11 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF6_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref7  'SHMS DC Reference Time Slot 12 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF7_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref8  'SHMS DC Reference Time Slot 13 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF8_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref9  'SHMS DC Reference Time Slot 14 Channel 15; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF9_tdcTime  200 12000 14000
+TH1F ptrig_pdc_ref10 'SHMS DC Reference Time Slot 15 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF10_tdcTime 200 12000 14000
+
+#-------------
+# Fast Raster 
+#-------------
+
+# Assume FADC range is set to 1V and the integration is 25 channels
+# Offset in the FADC is about 0.122V or 500 channels.
+
+formula FRXA_V T.shms.pFRXA_adcPulseIntRaw*(1./4096.)/25.
+formula FRXB_V T.shms.pFRXB_adcPulseIntRaw*(1./4096.)/25.
+formula FRYA_V T.shms.pFRYA_adcPulseIntRaw*(1./4096.)/25.
+formula FRYB_V T.shms.pFRYB_adcPulseIntRaw*(1./4096.)/25.
+
+TH1F pFRXA 'SHMS FRXA; FRXA RAW ADC (chan); Counts' T.shms.pFRXA_adcPulseIntRaw 1000 0 100000
+TH1F pFRXA_V 'SHMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0
+TH1F pFRXB 'SHMS FRXB; FRXB RAW ADC (chan); Counts' T.shms.pFRXB_adcPulseIntRaw 1000 0 100000
+TH1F pFRXB_V 'SHMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0
+TH1F pFRYA 'SHMS FRYA; FRYA RAW ADC (chan); Counts' T.shms.pFRYA_adcPulseIntRaw 1000 0 100000
+TH1F pFRYA_V 'SHMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0
+TH1F pFRYB 'SHMS FRYB; FRYB RAW ADC (chan); Counts' T.shms.pFRYB_adcPulseIntRaw 1000 0 100000
+TH1F pFRYB_V 'SHMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0
+TH2F pFRA_XvsY 'HMSFRA_XvsY; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0
+TH2F pFRB_XvsY 'HMSFRB_XvsY; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0
\ No newline at end of file
diff --git a/DEF-files/SHMS/STACK/pstackana_cuts.def b/DEF-files/SHMS/STACK/pstackana_cuts.def
new file mode 100644
index 00000000..de1a1358
--- /dev/null
+++ b/DEF-files/SHMS/STACK/pstackana_cuts.def
@@ -0,0 +1,234 @@
+# Report file for SHMS stack
+
+Block: RawDecode
+
+Pedestal_event     g.evtyp == 4
+scalar_event       g.evtyp == 0
+HMS_event          g.evtyp == 1
+SHMS_event         g.evtyp == 1
+coin_event         g.evtyp == 3
+misc_event         g.evtyp >= 5
+hmscoin_event      HMS_event || coin_event
+shmscoin_event     SHMS_event || coin_event
+all_event          HMS_event || SHMS_event || coin_event
+
+RawDecode_master  1
+
+Block: Decode
+
+all_trigs          HMS_event || SHMS_event || coin_event
+shms_coin_trig     SHMS_event || coin_event
+
+good_S1_time         T.shms.p1T_tdcTime > 241 && T.shms.p1T_tdcTime < 243
+good_S2X_time        T.shms.p2X_tdcTime > 180 && T.shms.p2X_tdcTime < 220
+good_S1_S2X_time     good_S1_time && good_S2X_time
+
+Decode_master     SHMS_event
+
+Block: CoarseTracking
+CoarseTracking_master SHMS_event
+
+# Add cuts to stricter times and apply them to drift distances 
+time_cut1      P.dc.1u1.time > 0 && P.dc.1u1.time < 250
+time_cut2      P.dc.1u2.time > 0 && P.dc.1u2.time < 250
+time_cut3      P.dc.1x1.time > 0 && P.dc.1x1.time < 250
+time_cut4      P.dc.1x2.time > 0 && P.dc.1x2.time < 250
+time_cut5      P.dc.1v1.time > 0 && P.dc.1v1.time < 250
+time_cut6      P.dc.1v2.time > 0 && P.dc.1v2.time < 250
+time_cut7      P.dc.2v2.time > 0 && P.dc.2v2.time < 250
+time_cut8      P.dc.2v1.time > 0 && P.dc.2v1.time < 250
+time_cut9      P.dc.2x2.time > 0 && P.dc.2x2.time < 250
+time_cut10     P.dc.2x1.time > 0 && P.dc.2x1.time < 250
+time_cut11     P.dc.2u2.time > 0 && P.dc.2u2.time < 250
+time_cut12     P.dc.2u1.time > 0 && P.dc.2u1.time < 250
+
+shmsDC1Planes_large     (P.dc.1x1.nhit + P.dc.1u2.nhit + P.dc.1u1.nhit + P.dc.1v1.nhit + P.dc.1x2.nhit + P.dc.1v2.nhit) > 20
+shmsDC2Planes_large     (P.dc.2x1.nhit + P.dc.2u2.nhit + P.dc.2u1.nhit + P.dc.2v1.nhit + P.dc.2x2.nhit + P.dc.2v2.nhit) > 20 
+
+shms_ch1_gt0           P.dc.Ch1.nhit > 0
+shms_ch2_gt0           P.dc.Ch2.nhit > 0
+shms_ch_gt0            P.dc.Ch2.nhit > 0  && P.dc.Ch1.nhit > 0
+shms_ch_gt4            P.dc.Ch2.nhit > 3  && P.dc.Ch1.nhit > 3
+shms_ch2_gt0_noch1     P.dc.Ch2.nhit > 0  && P.dc.Ch1.nhit == 0
+shms_ch1_gt0_noch2     P.dc.Ch1.nhit > 0  && P.dc.Ch2.nhit == 0
+shms_noch1_noch2       P.dc.Ch1.nhit == 0 && P.dc.Ch2.nhit == 0
+shms_ch_gt0_track      shms_ch_gt0 && P.dc.ntrack > 0
+shms_ch_gt4_track      shms_ch_gt4 && P.dc.ntrack > 0
+
+shms_ch1_gt0_gtime           P.dc.Ch1.nhit > 0 && good_S1_S2X_time
+shms_ch2_gt0_gtime           P.dc.Ch2.nhit > 0 && good_S1_S2X_time
+shms_ch_gt0_gtime            P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit > 0 && good_S1_S2X_time
+shms_ch_gt4_gtime            P.dc.Ch2.nhit > 3 && P.dc.Ch1.nhit > 3 && good_S1_S2X_time
+shms_ch2_gt0_noch1_gtime     P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit == 0 && good_S1_S2X_time
+shms_ch1_gt0_noch2_gtime     P.dc.Ch1.nhit > 0 && P.dc.Ch2.nhit == 0 && good_S1_S2X_time
+shms_noch1_noch2_gtime       P.dc.Ch1.nhit == 0 && P.dc.Ch2.nhit == 0 && good_S1_S2X_time
+shms_ch_gt0_track_gtime      shms_ch_gt0 && P.dc.ntrack > 0 && good_S1_S2X_time
+shms_ch_gt4_track_gtime      shms_ch_gt4 && P.dc.ntrack > 0 && good_S1_S2X_time
+
+shmsDC1_1hit_x1     P.dc.1x1.nhit == 1
+shmsDC1_1hit_u1     P.dc.1u1.nhit == 1
+shmsDC1_1hit_u2     P.dc.1u2.nhit == 1
+shmsDC1_1hit_v1     P.dc.1v1.nhit == 1
+shmsDC1_1hit_v2     P.dc.1v2.nhit == 1
+shmsDC1_1hit_x2     P.dc.1x2.nhit == 1
+
+shmsDC2_1hit_x1     P.dc.2x1.nhit == 1
+shmsDC2_1hit_u1	    P.dc.2u1.nhit == 1
+shmsDC2_1hit_u2     P.dc.2u2.nhit == 1
+shmsDC2_1hit_v1     P.dc.2v1.nhit == 1
+shmsDC2_1hit_v2     P.dc.2v2.nhit == 1
+shmsDC2_1hit_x2     P.dc.2x2.nhit == 1
+
+p1hit1     P.dc.1x1.nhit >= 1
+p1hit2     P.dc.1u1.nhit >= 1
+p1hit3     P.dc.1u2.nhit >= 1
+p1hit4     P.dc.1v1.nhit >= 1
+p1hit5     P.dc.1v2.nhit >= 1
+p1hit6     P.dc.1x2.nhit >= 1
+
+p2hit1     P.dc.2x1.nhit >= 1
+p2hit2     P.dc.2u1.nhit >= 1
+p2hit3     P.dc.2u2.nhit >= 1
+p2hit4     P.dc.2v1.nhit >= 1
+p2hit5     P.dc.2v2.nhit >= 1
+p2hit6     P.dc.2x2.nhit >= 1
+
+shmsDC1Planes6hits     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC2Planes6hits     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+
+shmsDC1_5hits_x1     shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_6hits_x1     p1hit1 && shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_5hits_u1     shmsDC1_1hit_x1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_6hits_u1     p1hit2 && shmsDC1_1hit_x1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_5hits_u2     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_6hits_u2     p1hit3 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
+shmsDC1_5hits_v1     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+shmsDC1_6hits_v1     p1hit4 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+shmsDC1_5hits_v2     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v1
+shmsDC1_6hits_v2     p1hit5 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v1
+shmsDC1_5hits_x2     shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_v1 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+shmsDC1_6hits_x2     p1hit6 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_v1 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
+
+shmsDC2_5hits_x1     shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_6hits_x1     p2hit1 && shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_5hits_u1     shmsDC2_1hit_x1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_6hits_u1     p2hit2 && shmsDC2_1hit_x1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_5hits_u2     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_6hits_u2     p2hit3 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
+shmsDC2_5hits_v1     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+shmsDC2_6hits_v1     p2hit4 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+shmsDC2_5hits_v2     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v1
+shmsDC2_6hits_v2     p2hit5 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v1
+shmsDC2_5hits_x2     shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_v1 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+shmsDC2_6hits_x2     p2hit6 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_v1 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
+
+shms1HitsLt     P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && g.evtyp == 1
+shms2HitsLt     P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp == 1
+shmsHitsLt      P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp == 1
+
+shmsDC1PlanesGT     (p1hit1 + p1hit2 + p1hit3 + p1hit4 + p1hit5 + p1hit6 ) >= 5
+shmsDC2PlanesGT     (p2hit1 + p2hit2 + p2hit3 + p2hit4 + p2hit5 + p2hit6 ) >= 5
+shmsPlanesGT        shmsDC1PlanesGT && shmsDC2PlanesGT
+shmsHitsPlanes      (P.dc.Ch1.nhit <= 6) && (P.dc.Ch2.nhit <= 6) && shmsPlanesGT
+
+pSpacePoints         P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >= 1
+pSpacePointsStub     P.dc.stubtest == 1 && P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >= 1
+pFoundTrack          P.dc.ntrack > 0 
+pStubLT              P.dc.stubtest == 1
+f1PSpacePoints       shms1HitsLt && shmsDC1PlanesGT && P.dc.Ch1.spacepoints == 0 && g.evtyp == 1
+f2PSpacePoints       shms2HitsLt && shmsDC2PlanesGT && P.dc.Ch2.spacepoints == 0 && g.evtyp == 1
+
+pTest1     shmsHitsPlanes && (!pSpacePoints)
+pTest2	   pSpacePoints && (!pStubLT)
+
+Block: CoarseReconstruct
+CoarseReconstruct_master SHMS_event
+
+Block: Tracking
+Tracking_master  SHMS_event
+
+Block: Reconstruct
+Reconstruct_master SHMS_event
+
+cer_ng_elec    	  P.ngcer.npeSum > 0.5
+cer_ng_pi      	  P.ngcer.npeSum <= 0.5
+cer_hg_elec	  P.hgcer.npeSum > 0.5
+cer_hg_pi	  P.hgcer.npeSum <= 0.5
+cer_pi_both       cer_ng_pi && cer_hg_pi
+cer_elec_both     cer_ng_elec && cer_hg_elec
+cal_elec          P.cal.etracknorm > 0.6 && P.cal.etracknorm < 1.6
+cal_pi            P.cal.etracknorm <= 0.6 && P.cal.etracknorm > 0.
+elec_all          cer_ng_elec && cer_hg_elec && cal_elec
+pi_all        	  cer_ng_pi && cer_hg_pi && cal_pi
+
+shmsScinGood        P.hod.goodscinhit == 1
+shmsScinShould      shmsScinGood 
+shmsScinShoulde     shmsScinGood &&  P.cal.etotnorm > 0.6 && P.cal.etotnorm < 1.6 && P.hgcer.npeSum > 0.5
+shmsScinShouldh     shmsScinGood && P.cal.etotnorm <= 0.6 && P.cal.etotnorm > 0. && P.hgcer.npeSum < 0.5
+shmsScinDid         shmsScinShould && P.dc.ntrack > 0
+shmsScinDide        shmsScinShoulde && P.dc.ntrack > 0
+shmsScinDidh        shmsScinShouldh && P.dc.ntrack > 0
+
+goodHDC1x1     P.dc.1x1.nhit > 0 && P.dc.1x1.nhit < 3
+goodHDC1u2     P.dc.1u2.nhit > 0 && P.dc.1u2.nhit < 3
+goodHDC1u1     P.dc.1u1.nhit > 0 && P.dc.1u1.nhit < 3
+goodHDC1v1     P.dc.1v1.nhit > 0 && P.dc.1v1.nhit < 3
+goodHDC1v2     P.dc.1v2.nhit > 0 && P.dc.1v2.nhit < 3
+goodHDC1x2     P.dc.1x2.nhit > 0 && P.dc.1x2.nhit < 3
+
+goodHDC2x1     P.dc.2x1.nhit > 0 && P.dc.2x1.nhit < 3
+goodHDC2u2     P.dc.2u2.nhit > 0 && P.dc.2u2.nhit < 3
+goodHDC2u1     P.dc.2u1.nhit > 0 && P.dc.2u1.nhit < 3
+goodHDC2v1     P.dc.2v1.nhit > 0 && P.dc.2v1.nhit < 3
+goodHDC2v2     P.dc.2v2.nhit > 0 && P.dc.2v2.nhit < 3
+goodHDC2x2     P.dc.2x2.nhit > 0 && P.dc.2x2.nhit < 3
+
+goodHDC1     goodHDC1x1  && goodHDC1u2 && goodHDC1u1 && goodHDC1v1 && goodHDC1v2 && goodHDC1x2 
+goodHDC2     goodHDC2x1  && goodHDC2u2 && goodHDC2u1 && goodHDC2v1 && goodHDC2v2 && goodHDC2x2 
+bothGood     goodHDC1 && goodHDC2
+
+realhdc1x1     goodHDC1x1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1u2     goodHDC1u2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1u1     goodHDC1u1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1v1     goodHDC1v1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1v2     goodHDC1v2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc1x2     goodHDC1x2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+
+realhdc2x1     goodHDC2x1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2u2     goodHDC2u2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2u1     goodHDC2u1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2v1     goodHDC2v1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2v2     goodHDC2v2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+realhdc2x2     goodHDC2x2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
+
+pFound1Track     P.dc.ntrack == 1
+pFound2Track     P.dc.ntrack == 2
+pFound3Track     P.dc.ntrack == 3
+pFound4Track     P.dc.ntrack == 4
+
+pCleanTrack      P.gtr.index > -1
+1pCleanTrack     P.gtr.index == 0
+2pCleanTrack     P.gtr.index == 1
+3pCleanTrack     P.gtr.index == 2
+4pCleanTrack     P.gtr.index == 3
+
+pCleanTrack_cer_elec     (P.gtr.index > -1) && cer_elec_both
+p1hit1_cer_elec		 p1hit1 && cer_elec_both
+pCleanTrack_cal_elec     (P.gtr.index > -1) && cal_elec
+p1hit1_cal_elec          p1hit1 && cal_elec
+
+anyhs1x     P.hod.1x.nhits > 0
+anyhs1y     P.hod.1y.nhits > 0
+anyhs2x     P.hod.2x.nhits > 0
+anyhs2y     P.hod.2y.nhits > 0
+
+goodps1x      P.hod.1x.nhits > 0 && P.hod.1x.nhits < 3
+goodps1y      P.hod.1y.nhits > 0 && P.hod.1y.nhits < 3
+goodps1       goodps1x && goodps1y
+goodps2x      P.hod.2x.nhits > 0 && P.hod.2x.nhits < 3
+goodps2y      P.hod.2y.nhits > 0 && P.hod.2y.nhits < 3
+goodps2       goodps2x && goodps2y
+goodps1s2     goodps1 && goodps2
+
+Block: Physics
+Physics_master SHMS_event
diff --git a/MAPS/SHMS/DETEC/paero.map b/MAPS/SHMS/DETEC/AERO/paero.map
similarity index 100%
rename from MAPS/SHMS/DETEC/paero.map
rename to MAPS/SHMS/DETEC/AERO/paero.map
diff --git a/MAPS/SHMS/DETEC/paero_ptrig.map b/MAPS/SHMS/DETEC/AERO/paero_ptrig.map
similarity index 100%
rename from MAPS/SHMS/DETEC/paero_ptrig.map
rename to MAPS/SHMS/DETEC/AERO/paero_ptrig.map
diff --git a/MAPS/SHMS/DETEC/pcal.map b/MAPS/SHMS/DETEC/CAL/pcal.map
similarity index 100%
rename from MAPS/SHMS/DETEC/pcal.map
rename to MAPS/SHMS/DETEC/CAL/pcal.map
diff --git a/MAPS/SHMS/DETEC/pdc.map b/MAPS/SHMS/DETEC/DC/pdc.map
similarity index 100%
rename from MAPS/SHMS/DETEC/pdc.map
rename to MAPS/SHMS/DETEC/DC/pdc.map
diff --git a/MAPS/SHMS/DETEC/phgcer.map b/MAPS/SHMS/DETEC/HGC/phgcer.map
similarity index 100%
rename from MAPS/SHMS/DETEC/phgcer.map
rename to MAPS/SHMS/DETEC/HGC/phgcer.map
diff --git a/MAPS/SHMS/DETEC/phgcer_ptrig.map b/MAPS/SHMS/DETEC/HGC/phgcer_ptrig.map
similarity index 100%
rename from MAPS/SHMS/DETEC/phgcer_ptrig.map
rename to MAPS/SHMS/DETEC/HGC/phgcer_ptrig.map
diff --git a/MAPS/SHMS/DETEC/phodo.map b/MAPS/SHMS/DETEC/HODO/phodo.map
similarity index 100%
rename from MAPS/SHMS/DETEC/phodo.map
rename to MAPS/SHMS/DETEC/HODO/phodo.map
diff --git a/MAPS/SHMS/DETEC/phodo_ptrig.map b/MAPS/SHMS/DETEC/HODO/phodo_ptrig.map
similarity index 100%
rename from MAPS/SHMS/DETEC/phodo_ptrig.map
rename to MAPS/SHMS/DETEC/HODO/phodo_ptrig.map
diff --git a/MAPS/SHMS/DETEC/pngcer.map b/MAPS/SHMS/DETEC/NGC/pngcer.map
similarity index 100%
rename from MAPS/SHMS/DETEC/pngcer.map
rename to MAPS/SHMS/DETEC/NGC/pngcer.map
diff --git a/MAPS/SHMS/DETEC/pngcer_ptrig.map b/MAPS/SHMS/DETEC/NGC/pngcer_ptrig.map
similarity index 100%
rename from MAPS/SHMS/DETEC/pngcer_ptrig.map
rename to MAPS/SHMS/DETEC/NGC/pngcer_ptrig.map
diff --git a/MAPS/SHMS/DETEC/praster_simple.map b/MAPS/SHMS/DETEC/RASTER/praster_simple.map
similarity index 100%
rename from MAPS/SHMS/DETEC/praster_simple.map
rename to MAPS/SHMS/DETEC/RASTER/praster_simple.map
diff --git a/MAPS/SHMS/DETEC/shms_stack.map b/MAPS/SHMS/DETEC/STACK/shms_stack.map
similarity index 99%
rename from MAPS/SHMS/DETEC/shms_stack.map
rename to MAPS/SHMS/DETEC/STACK/shms_stack.map
index 8add1824..58b2339e 100644
--- a/MAPS/SHMS/DETEC/shms_stack.map
+++ b/MAPS/SHMS/DETEC/STACK/shms_stack.map
@@ -15,6 +15,10 @@ SLOT=14
    0,   1,   1,   0  ! pAERSUM
    1,   1,   2,   0  ! pHGCERSUM
    2,   1,   3,   0  ! pNGCERSUM
+  12,   1,   4,   0  ! FR-XA
+  13,   1,   5,   0  ! FR-XB
+  14,   1,   6,   0  ! FR-YA
+  15,   1,   7,   0  ! FR-YB
 
 SLOT=20
   15,   2,   1,   1  ! pT1
diff --git a/MAPS/SHMS/DETEC/ptrig.map b/MAPS/SHMS/DETEC/TRIG/ptrig.map
similarity index 88%
rename from MAPS/SHMS/DETEC/ptrig.map
rename to MAPS/SHMS/DETEC/TRIG/ptrig.map
index fff13cca..539b2153 100644
--- a/MAPS/SHMS/DETEC/ptrig.map
+++ b/MAPS/SHMS/DETEC/TRIG/ptrig.map
@@ -9,6 +9,11 @@ SLOT=14
    0,   1,   1,   0  ! pAERSUM
    1,   1,   2,   0  ! pHGCERSUM
    2,   1,   3,   0  ! pNGCERSUM
+  12,   1,   4,   0  ! FR-XA
+  13,   1,   5,   0  ! FR-XB
+  14,   1,   6,   0  ! FR-YA
+  15,   1,   7,   0  ! FR-YB
+
 
 SLOT=20
   15,   2,   1,   1  ! pT1
diff --git a/PARAM/TRIG/tshms.param b/PARAM/TRIG/tshms.param
index 691173dd..05b2e033 100644
--- a/PARAM/TRIG/tshms.param
+++ b/PARAM/TRIG/tshms.param
@@ -1,10 +1,10 @@
-t_shms_numAdc = 3
+t_shms_numAdc = 7
 t_shms_numTdc = 22
-t_shms_tdcoffset=-300.
-t_shms_tdcchanperns=0.1
+t_shms_tdcoffset = -300.
+t_shms_tdcchanperns = 0.1
 
-; bar num:            1       2       3
-t_shms_adcNames = "pAERSUM pHGCSUM pNGCSUM"
+; bar num:            1       2       3      4     5     6     7
+t_shms_adcNames = "pAERSUM pHGCSUM pNGCSUM pFRXA pFRYA pFRXB pFRYB"
 
 ; bar num:          1   2   3   4   5   6   7   8   9     10      11      12      13     14      15      16      17      18      19      20      21       22
-t_shms_tdcNames = "pT1 pT2 p1X p1Y p2X p2Y p1T p2T pT3 pAERSUM pHGCSUM pNGCSUM pDCREF1 pDCREF2 pDCREF3 pDCREF4 pDCREF5 pDCREF6 pDCREF7 pDCREF8 pDCREF9 pDCREF10" 
\ No newline at end of file
+t_shms_tdcNames = "pT1 pT2 p1X p1Y p2X p2Y p1T p2T pT3 pAERSUM pHGCSUM pNGCSUM pDCREF1 pDCREF2 pDCREF3 pDCREF4 pDCREF5 pDCREF6 pDCREF7 pDCREF8 pDCREF9 pDCREF10"
\ No newline at end of file
diff --git a/PARAM/TRIG/tshms_raster.param b/PARAM/TRIG/tshms_raster.param
index 7898b042..a2e7b010 100644
--- a/PARAM/TRIG/tshms_raster.param
+++ b/PARAM/TRIG/tshms_raster.param
@@ -1,7 +1,7 @@
 t_shms_numAdc = 4
 t_shms_numTdc = 1
 
-; bar num:                1     2     3     4     5      6     7       8
+; bar num:           1     2     3     4
 t_shms_adcNames = "pFRXA pFRYA pFRXB pFRYB"
 t_shms_tdcNames = "pFRXA"
 
diff --git a/SCRIPTS/SHMS/replay_shms_report.C b/SCRIPTS/SHMS/ALL/replay_all_shms.C
similarity index 73%
rename from SCRIPTS/SHMS/replay_shms_report.C
rename to SCRIPTS/SHMS/ALL/replay_all_shms.C
index b3ae7b54..29e318d4 100644
--- a/SCRIPTS/SHMS/replay_shms_report.C
+++ b/SCRIPTS/SHMS/ALL/replay_all_shms.C
@@ -1,4 +1,4 @@
-void replay_shms_report(Int_t RunNumber=0, Int_t MaxEvent=0) {
+void replay_all_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
 
   // Get RunNumber and MaxEvent if not provided.
   if(RunNumber == 0) {
@@ -17,28 +17,23 @@ void replay_shms_report(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Create file name patterns.
   const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
-  const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_report_%d.root";
+  const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_all_%d_%d.root";
+  
+  // Load global parameters
   // Add variables to global list.
   gHcParms->Define("gen_run_number", "Run Number", RunNumber);
   gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database");
-
   // Load varibles from files to global list.
   gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber);
-
   // g_ctp_parm_filename and g_decode_map_filename should now be defined.
   gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
   gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
-
   // Load params for SHMS trigger configuration
   gHcParms->Load("PARAM/TRIG/tshms.param");
 
-  // Load params for HODO tof calibration. 
-  //gHcParms->Load("PARAM/SHMS/HODO/ptofcal.param");
-
- 
-  // Load the Hall C style detector map
+  // Load the Hall C detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/shms_stack.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/STACK/shms_stack.map");
 
   // Add trigger apparatus
   THaApparatus* TRG = new THcTrigApp("T", "TRG");
@@ -73,9 +68,17 @@ void replay_shms_report(Int_t RunNumber=0, Int_t MaxEvent=0) {
   THaGoldenTrack* gtr = new THaGoldenTrack("P.gtr", "SHMS Golden Track", "P");
   gHaPhysics->Add(gtr);
 
-  // Add handler for prestart event 125.
+  // // Add handler for prestart event 125.
   THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
   gHaEvtHandlers->Add(ev125);
+  // Add handler for EPICS events
+  THaEpicsEvtHandler *hcepics = new THaEpicsEvtHandler("epics", "HC EPICS event type 180");
+  gHaEvtHandlers->Add(hcepics);
+  // Add handler for scaler events
+  THcScalerEvtHandler *pscaler = new THcScalerEvtHandler("PS","Hall C scaler event type 1");
+  pscaler->AddEventType(1);
+  pscaler->SetUseFirstEvent(kTRUE);
+  gHaEvtHandlers->Add (pscaler);
 
   // Set up the analyzer - we use the standard one,
   // but this could be an experiment-specific one as well.
@@ -104,21 +107,27 @@ void replay_shms_report(Int_t RunNumber=0, Int_t MaxEvent=0) {
   run->Print();
 
   // Define the analysis parameters
-  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent);
   analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
                                 // 1 = counter is # of all decode reads
                                 // 2 = counter is event number
   analyzer->SetEvent(event);
+  // Set EPICS event type
+  analyzer->SetEpicsEvtType(180);
+  // Define crate map
   analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+  // Define output ROOT file
   analyzer->SetOutFile(ROOTFileName.Data());
-  analyzer->SetOdefFile("DEF-files/SHMS/GEN/pstackana_report.def");
-  analyzer->SetCutFile("DEF-files/SHMS/GEN/pstackana_report_cuts.def");    // optional
-
-  // File to record cuts accounting information
-  analyzer->SetSummaryFile(Form("REPORT_OUTPUT/SHMS/summary_%05d.report", RunNumber));    // optional
-
+  // Define DEF-file
+  analyzer->SetOdefFile("DEF-files/SHMS/ALL/pstackana_all.def");
+  // Define cuts file
+  analyzer->SetCutFile("DEF-files/SHMS/ALL/pstackana_all_cuts.def");  // optional
+  // File to record accounting information for cuts
+  analyzer->SetSummaryFile(Form("REPORT_OUTPUT/SHMS/ALL/summary_all_%d_%d.report", RunNumber, MaxEvent));  // optional
   // Start the actual analysis.
   analyzer->Process(run);
-  // Create report file from template.
-  analyzer->PrintReport("TEMPLATES/pstackana.template",Form("REPORT_OUTPUT/SHMS/replay_shms_%05d.report", RunNumber));
+  // Create report file from template
+  analyzer->PrintReport("TEMPLATES/SHMS/ALL/pstackana_all.template",
+  			Form("REPORT_OUTPUT/SHMS/ALL/replay_shms_all_%d_%d.report", RunNumber, MaxEvent));  // optional
+
 }
diff --git a/SCRIPTS/SHMS/replay_workshop_example.C b/SCRIPTS/SHMS/EXAMPLES/replay_workshop_example.C
similarity index 100%
rename from SCRIPTS/SHMS/replay_workshop_example.C
rename to SCRIPTS/SHMS/EXAMPLES/replay_workshop_example.C
diff --git a/SCRIPTS/SHMS/replay_shms_raster_simple.C b/SCRIPTS/SHMS/RASTER/replay_shms_raster_simple.C
similarity index 74%
rename from SCRIPTS/SHMS/replay_shms_raster_simple.C
rename to SCRIPTS/SHMS/RASTER/replay_shms_raster_simple.C
index c4fcdb59..e90c2559 100644
--- a/SCRIPTS/SHMS/replay_shms_raster_simple.C
+++ b/SCRIPTS/SHMS/RASTER/replay_shms_raster_simple.C
@@ -1,4 +1,4 @@
-void replay_shms_raster_simple(Int_t RunNumber=0, Int_t MaxEvent=0) {
+void replay_shms_raster_simple (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
 
   // Get RunNumber and MaxEvent if not provided.
   if(RunNumber == 0) {
@@ -17,32 +17,24 @@ void replay_shms_raster_simple(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Create file name patterns.
   const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
-  const char* ROOTFileNamePattern = "ROOTfiles/shms_raster_simple_%d.root";
+  const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_raster_simple_%d_%d.root";
   // Add variables to global list.
   gHcParms->Define("gen_run_number", "Run Number", RunNumber);
   gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database");
 
-  // Load varibles from files to global list.
+  // Load global parameters
+  // Add varibles to global list.
   gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber);
-
   // g_ctp_parm_filename and g_decode_map_filename should now be defined.
   gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
   gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
-
   // Load params for HMS trigger configuration
   gHcParms->Load("PARAM/TRIG/tshms_raster.param");
 
-  // Load the Hall C style detector map
+  // Load the Hall C detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/praster_simple.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/RASTER/praster_simple.map");
   
-  // Set up the equipment to be analyzed.
-  //THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS");
-  //gHaApps->Add(HMS);
-  // Add hodoscope to HMS apparatus
-  //THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
-  //HMS->AddDetector(hod);
-
   // Add trigger apparatus
   THaApparatus* TRG = new THcTrigApp("T", "TRG");
   gHaApps->Add(TRG);
@@ -77,24 +69,20 @@ void replay_shms_raster_simple(Int_t RunNumber=0, Int_t MaxEvent=0) {
   run->Print();
 
   // Define the analysis parameters
-  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent);
   analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
                                 // 1 = counter is # of all decode reads
                                 // 2 = counter is event number
  analyzer->SetEvent(event);
+ // Define crate map
  analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ // Define output ROOT file
  analyzer->SetOutFile(ROOTFileName.Data());
+ // Define DEF-file
  analyzer->SetOdefFile("DEF-files/SHMS/RASTER/shms_raster_simple.def");
+ // Define cuts file
  analyzer->SetCutFile("DEF-files/SHMS/RASTER/shms_raster_simple_cuts.def");    // optional
+ // Start the actual analysis.
+ analyzer->Process(run);
 
- // File to record cuts accounting information
- //analyzer->SetSummaryFile("summary_example.log");    // optional
-
-  // Start the actual analysis.
-  analyzer->Process(run);
-  // Create report file from template.
-  //analyzer->PrintReport(    // optional
-  //  "TEMPLATES/dcana.template",
-  //  Form("REPORT_OUTPUT/replay_hms_%05d.report", RunNumber)
-  //);
 }
diff --git a/SCRIPTS/SHMS/replay_shms_scalers.C b/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C
similarity index 70%
rename from SCRIPTS/SHMS/replay_shms_scalers.C
rename to SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C
index 9e5ff1ec..a39ccb3d 100644
--- a/SCRIPTS/SHMS/replay_shms_scalers.C
+++ b/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C
@@ -1,4 +1,4 @@
-void replay_shms_scalers(Int_t RunNumber=0, Int_t MaxEvent=0) {
+void replay_shms_scalers (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
 
   // Get RunNumber and MaxEvent if not provided.
   if(RunNumber == 0) {
@@ -17,36 +17,30 @@ void replay_shms_scalers(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Create file name patterns.
   const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
-  const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_scalers_%d.root";
+  const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_scalers_%d_%d.root";
+
+  // Load global parameters
   // Add variables to global list.
   gHcParms->Define("gen_run_number", "Run Number", RunNumber);
   gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database");
-
   // Load varibles from files to global list.
   gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber);
-
   // g_ctp_parm_filename and g_decode_map_filename should now be defined.
   gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
   gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
-
-  // Load the Hall C style detector map
+  // Load the Hall C detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/shms_stack.map");
-
-  gHaEvtHandlers->Add (new THaEpicsEvtHandler("epics","HC EPICS event type 180"));
-  // Add EPICS variables
-  //  THaEpics* epics = new THaEpics("T", "Epics");
-  //  gHaApps->AddDetector(epics);
-
- 
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/STACK/shms_stack.map");
 
+  // Add handler for EPICS events
+  THaEpicsEvtHandler *hcepics = new THaEpicsEvtHandler("epics", "HC EPICS event type 180");
+  gHaEvtHandlers->Add(hcepics);
+  // Add handler for scaler events
   THcScalerEvtHandler *pscaler = new THcScalerEvtHandler("PS","Hall C scaler event type 1");
   pscaler->AddEventType(1);
   pscaler->SetUseFirstEvent(kTRUE);
-  // pscaler->SetDebugFile("REPORT_OUTPUT/scaler_debug.txt");
   gHaEvtHandlers->Add (pscaler);
 
-
   // Set up the analyzer - we use the standard one,
   // but this could be an experiment-specific one as well.
   // The Analyzer controls the reading of the data, executes
@@ -74,23 +68,27 @@ void replay_shms_scalers(Int_t RunNumber=0, Int_t MaxEvent=0) {
   run->Print();
 
   // Define the analysis parameters
-  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent);
   analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
                                 // 1 = counter is # of all decode reads
                                 // 2 = counter is event number
   analyzer->SetEvent(event);
+  // Set EPICS event type
   analyzer->SetEpicsEvtType(180);
+  // Define crate map
   analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+  // Define output ROOT file
   analyzer->SetOutFile(ROOTFileName.Data());
-  analyzer->SetOdefFile("DEF-files/HMS/EPICS/epics_short.def");  // Call EPICS variables  K.Park
-  //analyzer->SetOdefFile("DEF-files/SHMS/GEN/pstackana_report.def");
-  //analyzer->SetCutFile("DEF-files/SHMS/GEN/pstackana_report_cuts.def");    // optional
-
-  // File to record cuts accounting information
-  //  analyzer->SetSummaryFile(Form("REPORT_OUTPUT/SHMS/summary_%05d.report", RunNumber));    // optional
-
+  // Define DEF-file
+  analyzer->SetOdefFile("DEF-files/SHMS/EPICS/epics_short.def");
+  // Define cuts file
+  analyzer->SetCutFile("DEF-files/SHMS/SCALERS/pscaler_cuts.def");  // optional
+  // File to record accounting information for cuts
+  analyzer->SetSummaryFile(Form("REPORT_OUTPUT/SHMS/SCALERS/summary_scalers_%d_%d.report", RunNumber, MaxEvent));  // optional
   // Start the actual analysis.
   analyzer->Process(run);
-  // Create report file from template.
-  //analyzer->PrintReport("TEMPLATES/pstackana.template",Form("REPORT_OUTPUT/SHMS/replay_shms_%05d.report", RunNumber));
+  // Create report file from template
+  analyzer->PrintReport("TEMPLATES/SHMS/SCALERS/pscalers.template",
+  			Form("REPORT_OUTPUT/SHMS/SCALERS/replay_shms_scalers_%d_%d.report", RunNumber, MaxEvent));  // optional  
+
 }
diff --git a/SCRIPTS/SHMS/replay_shms.C b/SCRIPTS/SHMS/STACK/replay_shms.C
similarity index 83%
rename from SCRIPTS/SHMS/replay_shms.C
rename to SCRIPTS/SHMS/STACK/replay_shms.C
index f3f6d8c1..6aec8100 100644
--- a/SCRIPTS/SHMS/replay_shms.C
+++ b/SCRIPTS/SHMS/STACK/replay_shms.C
@@ -1,4 +1,4 @@
-void replay_shms(Int_t RunNumber=0, Int_t MaxEvent=0) {
+void replay_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
 
   // Get RunNumber and MaxEvent if not provided.
   if(RunNumber == 0) {
@@ -18,26 +18,22 @@ void replay_shms(Int_t RunNumber=0, Int_t MaxEvent=0) {
   // Create file name patterns.
   const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
   const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_%d_%d.root";
+  
+  // Load global parameters
   // Add variables to global list.
   gHcParms->Define("gen_run_number", "Run Number", RunNumber);
   gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database");
-
   // Load varibles from files to global list.
   gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber);
-
   // g_ctp_parm_filename and g_decode_map_filename should now be defined.
   gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
   gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
-
   // Load params for SHMS trigger configuration
   gHcParms->Load("PARAM/TRIG/tshms.param");
 
-  // Load custom tracking params
-  //gHcParms->Load("PARAM/SHMS/GEN/hgoldtrack.param");
-
-  // Load the Hall C style detector map
+  // Load the Hall C detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/shms_stack.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/STACK/shms_stack.map");
 
   // Add trigger apparatus
   THaApparatus* TRG = new THcTrigApp("T", "TRG");
@@ -108,19 +104,20 @@ void replay_shms(Int_t RunNumber=0, Int_t MaxEvent=0) {
                                 // 1 = counter is # of all decode reads
                                 // 2 = counter is event number
   analyzer->SetEvent(event);
+  // Define crate map
   analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+  // Define output ROOT file
   analyzer->SetOutFile(ROOTFileName.Data());
-  analyzer->SetOdefFile("DEF-files/SHMS/GEN/pstackana.def");
-  analyzer->SetCutFile("DEF-files/SHMS/GEN/pstackana_cuts.def");    // optional
-
-  // File to record cuts accounting information
-  //analyzer->SetSummaryFile("summary_example.log");    // optional
-
+  // Define DEF-file
+  analyzer->SetOdefFile("DEF-files/SHMS/STACK/pstackana.def");
+  // Define cuts file
+  analyzer->SetCutFile("DEF-files/SHMS/STACK/pstackana_cuts.def");  // optional
+  // File to record accounting information for cuts
+  analyzer->SetSummaryFile(Form("REPORT_OUTPUT/SHMS/STACK/summary_stack_%d_%d.report", RunNumber, MaxEvent));  // optional
   // Start the actual analysis.
   analyzer->Process(run);
-  // Create report file from template.
-  //analyzer->PrintReport(    // optional
-  //  "TEMPLATES/dcana.template",
-  //  Form("REPORT_OUTPUT/replay_shms_%05d.report", RunNumber)
-  //);
+  // Create report file from template
+  analyzer->PrintReport("TEMPLATES/SHMS/STACK/pstackana.template",
+  			Form("REPORT_OUTPUT/SHMS/STACK/replay_shms_stack_%d_%d.report", RunNumber, MaxEvent));  // optional
+
 }
diff --git a/SCRIPTS/SHMS/replay_paero_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_paero_test_stand.C
similarity index 98%
rename from SCRIPTS/SHMS/replay_paero_test_stand.C
rename to SCRIPTS/SHMS/TEST_STANDS/replay_paero_test_stand.C
index c0aba3a6..6ffaf771 100644
--- a/SCRIPTS/SHMS/replay_paero_test_stand.C
+++ b/SCRIPTS/SHMS/TEST_STANDS/replay_paero_test_stand.C
@@ -34,7 +34,7 @@ void replay_paero_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Load the Hall C style detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/paero_ptrig.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/AERO/paero_ptrig.map");
   gHcParms->Load("PARAM/SHMS/GEN/p_fadc_debug.param");
 
   // Set up the equipment to be analyzed.
diff --git a/SCRIPTS/SHMS/replay_pcal_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_pcal_test_stand.C
similarity index 98%
rename from SCRIPTS/SHMS/replay_pcal_test_stand.C
rename to SCRIPTS/SHMS/TEST_STANDS/replay_pcal_test_stand.C
index cbb60e85..c57a55cf 100644
--- a/SCRIPTS/SHMS/replay_pcal_test_stand.C
+++ b/SCRIPTS/SHMS/TEST_STANDS/replay_pcal_test_stand.C
@@ -31,7 +31,7 @@ void replay_pcal_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Load the Hall C style detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/pcal.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/CAL/pcal.map");
   gHcParms->Load("PARAM/SHMS/GEN/p_fadc_debug.param");
 
   // Set up the equipment to be analyzed.
diff --git a/SCRIPTS/SHMS/replay_pdc_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_pdc_test_stand.C
similarity index 98%
rename from SCRIPTS/SHMS/replay_pdc_test_stand.C
rename to SCRIPTS/SHMS/TEST_STANDS/replay_pdc_test_stand.C
index c1aa6ef8..8a236f0f 100644
--- a/SCRIPTS/SHMS/replay_pdc_test_stand.C
+++ b/SCRIPTS/SHMS/TEST_STANDS/replay_pdc_test_stand.C
@@ -34,7 +34,7 @@ void replay_pdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   gHcDetectorMap = new THcDetectorMap();
   //gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename"));
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/pdc.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/DC/pdc.map");
 
   // Set up the equipment to be analyzed.
   THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
diff --git a/SCRIPTS/SHMS/replay_phgcer_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_phgcer_test_stand.C
similarity index 98%
rename from SCRIPTS/SHMS/replay_phgcer_test_stand.C
rename to SCRIPTS/SHMS/TEST_STANDS/replay_phgcer_test_stand.C
index 13c75d7c..fd59667c 100644
--- a/SCRIPTS/SHMS/replay_phgcer_test_stand.C
+++ b/SCRIPTS/SHMS/TEST_STANDS/replay_phgcer_test_stand.C
@@ -34,7 +34,7 @@ void replay_phgcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
   gHcParms->Load("PARAM/SHMS/GEN/p_fadc_debug.param");
   // Load the Hall C style detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/phgcer_ptrig.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/HGC/phgcer_ptrig.map");
 
   // Set up the equipment to be analyzed.
   THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
diff --git a/SCRIPTS/SHMS/replay_phodo_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_phodo_test_stand.C
similarity index 98%
rename from SCRIPTS/SHMS/replay_phodo_test_stand.C
rename to SCRIPTS/SHMS/TEST_STANDS/replay_phodo_test_stand.C
index 1bf118d7..824bbcdd 100644
--- a/SCRIPTS/SHMS/replay_phodo_test_stand.C
+++ b/SCRIPTS/SHMS/TEST_STANDS/replay_phodo_test_stand.C
@@ -34,7 +34,7 @@ void replay_phodo_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Load the Hall C style detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/phodo_ptrig.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/HODO/phodo_ptrig.map");
   gHcParms->Load("PARAM/SHMS/GEN/p_fadc_debug.param");
 
 
diff --git a/SCRIPTS/SHMS/replay_pngcer_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_pngcer_test_stand.C
similarity index 98%
rename from SCRIPTS/SHMS/replay_pngcer_test_stand.C
rename to SCRIPTS/SHMS/TEST_STANDS/replay_pngcer_test_stand.C
index f8fd7103..0162528d 100644
--- a/SCRIPTS/SHMS/replay_pngcer_test_stand.C
+++ b/SCRIPTS/SHMS/TEST_STANDS/replay_pngcer_test_stand.C
@@ -34,7 +34,7 @@ void replay_pngcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
   gHcParms->Load("PARAM/SHMS/GEN/p_fadc_debug.param");
   // Load the Hall C style detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/pngcer_ptrig.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/NGC/pngcer_ptrig.map");
 
   // Set up the equipment to be analyzed.
   THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
diff --git a/SCRIPTS/SHMS/replay_ptrig_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_ptrig_test_stand.C
similarity index 98%
rename from SCRIPTS/SHMS/replay_ptrig_test_stand.C
rename to SCRIPTS/SHMS/TEST_STANDS/replay_ptrig_test_stand.C
index 686381d4..ca91d7f0 100644
--- a/SCRIPTS/SHMS/replay_ptrig_test_stand.C
+++ b/SCRIPTS/SHMS/TEST_STANDS/replay_ptrig_test_stand.C
@@ -34,7 +34,7 @@ void replay_ptrig_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Load the Hall C style detector map
   gHcDetectorMap = new THcDetectorMap();
-  gHcDetectorMap->Load("MAPS/SHMS/DETEC/ptrig.map");
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/TRIG/ptrig.map");
 
   // Add trigger apparatus
   THaApparatus* TRG = new THcTrigApp("T", "TRG");
diff --git a/TEMPLATES/dcana.template b/TEMPLATES/DETEC/dcana.template
similarity index 100%
rename from TEMPLATES/dcana.template
rename to TEMPLATES/DETEC/dcana.template
diff --git a/TEMPLATES/hstackana.template b/TEMPLATES/HMS/hstackana.template
similarity index 100%
rename from TEMPLATES/hstackana.template
rename to TEMPLATES/HMS/hstackana.template
diff --git a/TEMPLATES/SHMS/ALL/pstackana_all.template b/TEMPLATES/SHMS/ALL/pstackana_all.template
new file mode 100644
index 00000000..68a6952b
--- /dev/null
+++ b/TEMPLATES/SHMS/ALL/pstackana_all.template
@@ -0,0 +1,86 @@
+
+Run #{gen_run_number}
+
+Run Time: {PS1Mhz}  {PS1Mhz/1000000.} sec
+
+BCM1  : {(PSBCM1r-250000)/(4673)} uA      Total charge = {(PSBCM1r-250000) / (4673)*PS1Mhz/1000000.} uC
+BCM2  : {(PSBCM2r-250000)/(3954)} uA      Total charge = {(PSBCM2r-250000) / (3954)*PS1Mhz/1000000.} uC 
+Unser : {(PSUnserr-393000)/(4000)} uA     Total charge = {(PSUnserr-393000) / (4000)*PS1Mhz/1000000.} uC
+
+All triggers:  {all_trigs.npassed}
+
+good_S1_time         Counts: {good_S1_time.npassed}     / all_trigs : {good_S1_time.npassed / all_trigs.npassed}       
+good_S2X_time        Counts: {good_S2X_time.npassed}    / all_trigs : {good_S2X_time.npassed / all_trigs.npassed}    
+good_S1_S2X_time     Counts: {good_S1_S2X_time.npassed} / all_trigs : {good_S1_S2X_time.npassed / all_trigs.npassed}
+
+Chamber 1 hits > 0                        Counts: {shms_ch1_gt0.npassed} / all_trigs : {shms_ch1_gt0.npassed / all_trigs.npassed}         
+Chamber 2 hits > 0                   	  Counts: {shms_ch2_gt0.npassed} / all_trigs : { shms_ch2_gt0.npassed / all_trigs.npassed}        
+Chamber 2 hits > 0 & Ch 1 hits = 0    	  Counts: {shms_ch2_gt0_noch1.npassed} / all_trigs : { shms_ch2_gt0_noch1.npassed / all_trigs.npassed}  
+Chamber 1 hits > 0 & Ch 2 hits = 0    	  Counts: {shms_ch1_gt0_noch2.npassed} / all_trigs : {shms_ch1_gt0_noch2.npassed / all_trigs.npassed}  
+Chamber 1 hits = 0 & Ch 2 hits = 0    	  Counts: {shms_noch1_noch2.npassed} / all_trigs : {shms_noch1_noch2.npassed / all_trigs.npassed}  
+Chamber 1 > 0 & Ch 2 hits > 0             Counts: {shms_ch_gt0.npassed} / all_trigs : { shms_ch_gt0.npassed / all_trigs.npassed}        
+Ch 1 hits > 0 & Ch 2 hits > 0 & track     Counts: {shms_ch_gt0_track.npassed} / all_trigs : { shms_ch_gt0_track.npassed / all_trigs.npassed}
+Chamber 1 > 3 & Ch 2 hits > 3             Counts: {shms_ch_gt4.npassed} / all_trigs : { shms_ch_gt4.npassed / all_trigs.npassed}        
+Ch 1 hits > 3 & Ch 2 hits > 3 & track     Counts: {shms_ch_gt4_track.npassed} / all_trigs : { shms_ch_gt4_track.npassed / all_trigs.npassed}
+
+Add cut on good_S1_S2X_time 
+
+Chamber 1 hits > 0                        Counts: {shms_ch1_gt0_gtime.npassed} / all_trigs : {shms_ch1_gt0_gtime.npassed / all_trigs.npassed}         
+Chamber 2 hits > 0                   	  Counts: {shms_ch2_gt0_gtime.npassed} / all_trigs : { shms_ch2_gt0_gtime.npassed / all_trigs.npassed}        
+Chamber 2 hits > 0 & Ch 1 hits = 0    	  Counts: {shms_ch2_gt0_noch1_gtime.npassed} / all_trigs : { shms_ch2_gt0_noch1_gtime.npassed / all_trigs.npassed}  
+Chamber 1 hits > 0 & Ch 2 hits = 0    	  Counts: {shms_ch1_gt0_noch2_gtime.npassed} / all_trigs : {shms_ch1_gt0_noch2_gtime.npassed / all_trigs.npassed}  
+Chamber 1 hits = 0 & Ch 2 hits = 0    	  Counts: {shms_noch1_noch2_gtime.npassed} / all_trigs : {shms_noch1_noch2_gtime.npassed / all_trigs.npassed}  
+Chamber 1 > 0 & Ch 2 hits > 0             Counts: {shms_ch_gt0_gtime.npassed} / all_trigs : { shms_ch_gt0_gtime.npassed / all_trigs.npassed}        
+Ch 1 hits > 0 & Ch 2 hits > 0 & track     Counts: {shms_ch_gt0_track_gtime.npassed} / all_trigs : { shms_ch_gt0_track_gtime.npassed / all_trigs.npassed}
+Chamber 1 > 3 & Ch 2 hits > 3             Counts: {shms_ch_gt4_gtime.npassed} / all_trigs : { shms_ch_gt4_gtime.npassed / all_trigs.npassed}        
+Ch 1 hits > 3 & Ch 2 hits > 3 & track     Counts: {shms_ch_gt4_track_gtime.npassed} / all_trigs : { shms_ch_gt4_track_gtime.npassed / all_trigs.npassed}
+
+shmsDC1Planes_large     Counts: {shmsDC1Planes_large.npassed} / all_trigs : {shmsDC1Planes_large.npassed / all_trigs.npassed}
+shmsDC2Planes_large     Counts: {shmsDC2Planes_large.npassed} / all_trigs : {shmsDC2Planes_large.npassed / all_trigs.npassed}  
+
+shmsDC1Planes6     Counts: {shmsDC1Planes6hits.npassed} / all_trigs : {shmsDC1Planes6hits.npassed / all_trigs.npassed}
+shmsDC2Planes6     Counts: {shmsDC2Planes6hits.npassed} / all_trigs : {shmsDC2Planes6hits.npassed / all_trigs.npassed}  
+
+shmsDC1x1Planes5     Counts: {shmsDC1_5hits_x1.npassed} eff : {shmsDC1_6hits_x1.npassed / shmsDC1_5hits_x1.npassed}
+shmsDC1u1Planes5     Counts: {shmsDC1_5hits_u1.npassed} eff : {shmsDC1_6hits_u1.npassed / shmsDC1_5hits_u1.npassed}
+shmsDC1u2Planes5     Counts: {shmsDC1_5hits_u2.npassed} eff : {shmsDC1_6hits_u2.npassed / shmsDC1_5hits_u2.npassed}
+shmsDC1v1Planes5     Counts: {shmsDC1_5hits_v1.npassed} eff : {shmsDC1_6hits_v1.npassed / shmsDC1_5hits_v1.npassed}
+shmsDC1v2Planes5     Counts: {shmsDC1_5hits_v2.npassed} eff : {shmsDC1_6hits_v2.npassed / shmsDC1_5hits_v2.npassed}
+shmsDC1x2Planes5     Counts: {shmsDC1_5hits_x2.npassed} eff : {shmsDC1_6hits_x2.npassed / shmsDC1_5hits_x2.npassed}
+
+shmsDC2x1Planes5     Counts: {shmsDC2_5hits_x1.npassed} eff : {shmsDC2_6hits_x1.npassed / shmsDC2_5hits_x1.npassed}
+shmsDC2u1Planes5     Counts: {shmsDC2_5hits_u1.npassed} eff : {shmsDC2_6hits_u1.npassed / shmsDC2_5hits_u1.npassed}
+shmsDC2u2Planes5     Counts: {shmsDC2_5hits_u2.npassed} eff : {shmsDC2_6hits_u2.npassed / shmsDC2_5hits_u2.npassed}
+shmsDC2v1Planes5     Counts: {shmsDC2_5hits_v1.npassed} eff : {shmsDC2_6hits_v1.npassed / shmsDC2_5hits_v1.npassed}
+shmsDC2v2Planes5     Counts: {shmsDC2_5hits_v2.npassed} eff : {shmsDC2_6hits_v2.npassed / shmsDC2_5hits_v2.npassed}
+shmsDC2x2Planes5     Counts: {shmsDC2_5hits_x2.npassed} eff : {shmsDC2_6hits_x2.npassed / shmsDC2_5hits_x2.npassed}
+	       	   	       
+******************************
+* SHMS TRACKING EFFICIENCIES *
+******************************
+ptrig                          : {shmscoin_event.npassed}
+phitslt = passed hits/cham     : {shmsHitsLt.npassed}
+phitsplanes = +planes >= 5/6   : {shmsHitsPlanes.npassed}
+phitsplanessps = + sps         : {pSpacePoints.npassed}
+phitsplanesspsstubs +stub      : {pSpacePointsStub.npassed}
+psfoundtrack                   : {pFoundTrack.npassed}
+pscleantrack                   : {pCleanTrack.npassed}
+pstublt = passed stub tests    : {pStubLT.npassed}
+p1hitslt                       : {shms1HitsLt.npassed}
+p2hitslt                       : {shms2HitsLt.npassed}
+p1planesgt                     : {shmsDC1PlanesGT.npassed}
+p2planesgt                     : {shmsDC2PlanesGT.npassed}
+pplanesgt = gt 5 planes/cham   : {shmsPlanesGT.npassed}
+f1pspacepoints                 : {f1PSpacePoints.npassed}
+f2pspacepoints                 : {f2PSpacePoints.npassed}
+ptest1=p hits/planes, f sp     : {pTest1.npassed}
+ptest2=p sp, f stubs           : {pTest2.npassed}
+pdid                           : {shmsScinDid.npassed}
+pdide                          : {shmsScinDide.npassed}
+pdidh                          : {shmsScinDidh.npassed}
+pscinshould                    : {shmsScinShould.npassed}
+pscinshoulde                   : {shmsScinShoulde.npassed}
+pscinshouldh                   : {shmsScinShouldh.npassed}
+SING FID TRACK EFFIC           : {shmsScinDid.npassed / (shmsScinShould.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShould.npassed-shmsScinDid.npassed) / (shmsScinShould.npassed+.0001)):%8.4f}
+E SING FID TRACK EFFIC         : {shmsScinDide.npassed / (shmsScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShoulde.npassed-shmsScinDide.npassed) / (shmsScinShoulde.npassed+.0001)):%8.4f}
+HADRON SING FID TRACK EFFIC    : {shmsScinDidh.npassed / (shmsScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShouldh.npassed-shmsScinDidh.npassed) / (shmsScinShouldh.npassed+.0001)):%8.4f}
diff --git a/TEMPLATES/SHMS/SCALERS/pscalers.template b/TEMPLATES/SHMS/SCALERS/pscalers.template
new file mode 100644
index 00000000..15680c58
--- /dev/null
+++ b/TEMPLATES/SHMS/SCALERS/pscalers.template
@@ -0,0 +1,9 @@
+Run #{gen_run_number}
+
+Run Time  : {PS1Mhz}  {PS1Mhz/1000000.} sec
+
+BCM1  : {(PSBCM1r-250000)/(4673)} uA      Total charge = {(PSBCM1r-250000) / (4673)*PS1Mhz/1000000.} uC
+BCM2  : {(PSBCM2r-250000)/(3954)} uA      Total charge = {(PSBCM2r-250000) / (3954)*PS1Mhz/1000000.} uC 
+Unser : {(PSUnserr-393000)/(4000)} uA     Total charge = {(PSUnserr-393000) / (4000)*PS1Mhz/1000000.} uC
+
+All triggers  :  {all_trigs.npassed}
\ No newline at end of file
diff --git a/TEMPLATES/SHMS/STACK/pstackana.template b/TEMPLATES/SHMS/STACK/pstackana.template
new file mode 100644
index 00000000..516aff97
--- /dev/null
+++ b/TEMPLATES/SHMS/STACK/pstackana.template
@@ -0,0 +1,79 @@
+Run #{gen_run_number}
+
+All triggers  :  {all_trigs.npassed}
+
+good_S1_time         Counts: {good_S1_time.npassed}     / all_trigs : {good_S1_time.npassed / all_trigs.npassed}       
+good_S2X_time        Counts: {good_S2X_time.npassed}    / all_trigs : {good_S2X_time.npassed / all_trigs.npassed}    
+good_S1_S2X_time     Counts: {good_S1_S2X_time.npassed} / all_trigs : {good_S1_S2X_time.npassed / all_trigs.npassed}
+
+Chamber 1 hits > 0                        Counts: {shms_ch1_gt0.npassed} / all_trigs : {shms_ch1_gt0.npassed / all_trigs.npassed}         
+Chamber 2 hits > 0                   	  Counts: {shms_ch2_gt0.npassed} / all_trigs : { shms_ch2_gt0.npassed / all_trigs.npassed}        
+Chamber 2 hits > 0 & Ch 1 hits = 0    	  Counts: {shms_ch2_gt0_noch1.npassed} / all_trigs : { shms_ch2_gt0_noch1.npassed / all_trigs.npassed}  
+Chamber 1 hits > 0 & Ch 2 hits = 0    	  Counts: {shms_ch1_gt0_noch2.npassed} / all_trigs : {shms_ch1_gt0_noch2.npassed / all_trigs.npassed}  
+Chamber 1 hits = 0 & Ch 2 hits = 0    	  Counts: {shms_noch1_noch2.npassed} / all_trigs : {shms_noch1_noch2.npassed / all_trigs.npassed}  
+Chamber 1 > 0 & Ch 2 hits > 0             Counts: {shms_ch_gt0.npassed} / all_trigs : { shms_ch_gt0.npassed / all_trigs.npassed}        
+Ch 1 hits > 0 & Ch 2 hits > 0 & track     Counts: {shms_ch_gt0_track.npassed} / all_trigs : { shms_ch_gt0_track.npassed / all_trigs.npassed}
+Chamber 1 > 3 & Ch 2 hits > 3             Counts: {shms_ch_gt4.npassed} / all_trigs : { shms_ch_gt4.npassed / all_trigs.npassed}        
+Ch 1 hits > 3 & Ch 2 hits > 3 & track     Counts: {shms_ch_gt4_track.npassed} / all_trigs : { shms_ch_gt4_track.npassed / all_trigs.npassed}
+
+Add cut on good_S1_S2X_time 
+
+Chamber 1 hits > 0                        Counts: {shms_ch1_gt0_gtime.npassed} / all_trigs : {shms_ch1_gt0_gtime.npassed / all_trigs.npassed}         
+Chamber 2 hits > 0                   	  Counts: {shms_ch2_gt0_gtime.npassed} / all_trigs : { shms_ch2_gt0_gtime.npassed / all_trigs.npassed}        
+Chamber 2 hits > 0 & Ch 1 hits = 0    	  Counts: {shms_ch2_gt0_noch1_gtime.npassed} / all_trigs : { shms_ch2_gt0_noch1_gtime.npassed / all_trigs.npassed}  
+Chamber 1 hits > 0 & Ch 2 hits = 0    	  Counts: {shms_ch1_gt0_noch2_gtime.npassed} / all_trigs : {shms_ch1_gt0_noch2_gtime.npassed / all_trigs.npassed}  
+Chamber 1 hits = 0 & Ch 2 hits = 0    	  Counts: {shms_noch1_noch2_gtime.npassed} / all_trigs : {shms_noch1_noch2_gtime.npassed / all_trigs.npassed}  
+Chamber 1 > 0 & Ch 2 hits > 0             Counts: {shms_ch_gt0_gtime.npassed} / all_trigs : { shms_ch_gt0_gtime.npassed / all_trigs.npassed}        
+Ch 1 hits > 0 & Ch 2 hits > 0 & track     Counts: {shms_ch_gt0_track_gtime.npassed} / all_trigs : { shms_ch_gt0_track_gtime.npassed / all_trigs.npassed}
+Chamber 1 > 3 & Ch 2 hits > 3             Counts: {shms_ch_gt4_gtime.npassed} / all_trigs : { shms_ch_gt4_gtime.npassed / all_trigs.npassed}        
+Ch 1 hits > 3 & Ch 2 hits > 3 & track     Counts: {shms_ch_gt4_track_gtime.npassed} / all_trigs : { shms_ch_gt4_track_gtime.npassed / all_trigs.npassed}
+
+shmsDC1Planes_large     Counts: {shmsDC1Planes_large.npassed} / all_trigs : {shmsDC1Planes_large.npassed / all_trigs.npassed}
+shmsDC2Planes_large     Counts: {shmsDC2Planes_large.npassed} / all_trigs : {shmsDC2Planes_large.npassed / all_trigs.npassed}  
+
+shmsDC1Planes6     Counts: {shmsDC1Planes6hits.npassed} / all_trigs : {shmsDC1Planes6hits.npassed / all_trigs.npassed}
+shmsDC2Planes6     Counts: {shmsDC2Planes6hits.npassed} / all_trigs : {shmsDC2Planes6hits.npassed / all_trigs.npassed}  
+
+shmsDC1x1Planes5     Counts: {shmsDC1_5hits_x1.npassed} eff : {shmsDC1_6hits_x1.npassed / shmsDC1_5hits_x1.npassed}
+shmsDC1u1Planes5     Counts: {shmsDC1_5hits_u1.npassed} eff : {shmsDC1_6hits_u1.npassed / shmsDC1_5hits_u1.npassed}
+shmsDC1u2Planes5     Counts: {shmsDC1_5hits_u2.npassed} eff : {shmsDC1_6hits_u2.npassed / shmsDC1_5hits_u2.npassed}
+shmsDC1v1Planes5     Counts: {shmsDC1_5hits_v1.npassed} eff : {shmsDC1_6hits_v1.npassed / shmsDC1_5hits_v1.npassed}
+shmsDC1v2Planes5     Counts: {shmsDC1_5hits_v2.npassed} eff : {shmsDC1_6hits_v2.npassed / shmsDC1_5hits_v2.npassed}
+shmsDC1x2Planes5     Counts: {shmsDC1_5hits_x2.npassed} eff : {shmsDC1_6hits_x2.npassed / shmsDC1_5hits_x2.npassed}
+
+shmsDC2x1Planes5     Counts: {shmsDC2_5hits_x1.npassed} eff : {shmsDC2_6hits_x1.npassed / shmsDC2_5hits_x1.npassed}
+shmsDC2u1Planes5     Counts: {shmsDC2_5hits_u1.npassed} eff : {shmsDC2_6hits_u1.npassed / shmsDC2_5hits_u1.npassed}
+shmsDC2u2Planes5     Counts: {shmsDC2_5hits_u2.npassed} eff : {shmsDC2_6hits_u2.npassed / shmsDC2_5hits_u2.npassed}
+shmsDC2v1Planes5     Counts: {shmsDC2_5hits_v1.npassed} eff : {shmsDC2_6hits_v1.npassed / shmsDC2_5hits_v1.npassed}
+shmsDC2v2Planes5     Counts: {shmsDC2_5hits_v2.npassed} eff : {shmsDC2_6hits_v2.npassed / shmsDC2_5hits_v2.npassed}
+shmsDC2x2Planes5     Counts: {shmsDC2_5hits_x2.npassed} eff : {shmsDC2_6hits_x2.npassed / shmsDC2_5hits_x2.npassed}
+	       	   	       
+******************************
+* SHMS TRACKING EFFICIENCIES *
+******************************
+ptrig                          : {shmscoin_event.npassed}
+phitslt = passed hits/cham     : {shmsHitsLt.npassed}
+phitsplanes = +planes >= 5/6   : {shmsHitsPlanes.npassed}
+phitsplanessps = + sps         : {pSpacePoints.npassed}
+phitsplanesspsstubs +stub      : {pSpacePointsStub.npassed}
+psfoundtrack                   : {pFoundTrack.npassed}
+pscleantrack                   : {pCleanTrack.npassed}
+pstublt = passed stub tests    : {pStubLT.npassed}
+p1hitslt                       : {shms1HitsLt.npassed}
+p2hitslt                       : {shms2HitsLt.npassed}
+p1planesgt                     : {shmsDC1PlanesGT.npassed}
+p2planesgt                     : {shmsDC2PlanesGT.npassed}
+pplanesgt = gt 5 planes/cham   : {shmsPlanesGT.npassed}
+f1pspacepoints                 : {f1PSpacePoints.npassed}
+f2pspacepoints                 : {f2PSpacePoints.npassed}
+ptest1=p hits/planes, f sp     : {pTest1.npassed}
+ptest2=p sp, f stubs           : {pTest2.npassed}
+pdid                           : {shmsScinDid.npassed}
+pdide                          : {shmsScinDide.npassed}
+pdidh                          : {shmsScinDidh.npassed}
+pscinshould                    : {shmsScinShould.npassed}
+pscinshoulde                   : {shmsScinShoulde.npassed}
+pscinshouldh                   : {shmsScinShouldh.npassed}
+SING FID TRACK EFFIC           : {shmsScinDid.npassed / (shmsScinShould.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShould.npassed-shmsScinDid.npassed) / (shmsScinShould.npassed+.0001)):%8.4f}
+E SING FID TRACK EFFIC         : {shmsScinDide.npassed / (shmsScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShoulde.npassed-shmsScinDide.npassed) / (shmsScinShoulde.npassed+.0001)):%8.4f}
+HADRON SING FID TRACK EFFIC    : {shmsScinDidh.npassed / (shmsScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShouldh.npassed-shmsScinDidh.npassed) / (shmsScinShouldh.npassed+.0001)):%8.4f}
diff --git a/TEMPLATES/pstackana.template b/TEMPLATES/pstackana.template
deleted file mode 100644
index f0309dc5..00000000
--- a/TEMPLATES/pstackana.template
+++ /dev/null
@@ -1,100 +0,0 @@
-Run #{gen_run_number}
-           Standalone drift chamber analysis report template
-The names of the SHMS drift chamber planes are: 
-{pdc_plane_names}
-Horizontal drift chamber z positions:
-Chamber 1: {pdc_zpos[0]:%6.2f} {pdc_zpos[1]:%6.2f} {pdc_zpos[2]:%6.2f} 
-           {pdc_zpos[3]:%6.2f} {pdc_zpos[4]:%6.2f} {pdc_zpos[5]:%6.2f} 
-Chamber 2: {pdc_zpos[6]:%6.2f} {pdc_zpos[7]:%6.2f} {pdc_zpos[8]:%6.2f} 
-           {pdc_zpos[9]:%6.2f} {pdc_zpos[10]:%6.2f} {pdc_zpos[11]:%6.2f}
-
-
-Run Time: {PS1Mhz}  {PS1Mhz/1000000.} sec
-BCM1  : {(PSBCM1r-250000)/(4673)} uA     Total charge = {(PSBCM1r-250000)/(4673)*PS1Mhz/1000000.} uC
-BCM2  : {(PSBCM2r-250000)/(3954)} uA          Total charge = {(PSBCM2r-250000)/(3954)*PS1Mhz/1000000.} uC 
-Unser : {(PSUnserr-393000)/(4000)} uA         Total charge = {(PSUnserr-393000)/(4000)*PS1Mhz/1000000.} uC
-
-All triggers:  {all_trigs.npassed}
-
-good_S1_time         Counts: {good_S1_time.npassed}     /all_trigs :  {good_S1_time.npassed/all_trigs.npassed}       
-good_S2X_time        Counts: {good_S2X_time.npassed}    /all_trigs :  {good_S2X_time.npassed/all_trigs.npassed}    
-good_S1_S2X_time     Counts: {good_S1_S2X_time.npassed} /all_trigs :  {good_S1_S2X_time.npassed/all_trigs.npassed}
-
-
-
-
-Chamber 1 hits > 0                   Counts: {shms_ch1_gt0.npassed} /all_trigs : {shms_ch1_gt0.npassed/all_trigs.npassed}         
-Chamber 2 hits > 0                   Counts: {shms_ch2_gt0.npassed} /all_trigs : { shms_ch2_gt0.npassed/all_trigs.npassed}        
-Chamber 2 hits > 0 & Ch 1 hits =0    Counts: {shms_ch2_gt0_noch1.npassed} /all_trigs : { shms_ch2_gt0_noch1.npassed/all_trigs.npassed}  
-Chamber 1 hits > 0 & Ch 2 hits =0    Counts: {shms_ch1_gt0_noch2.npassed} /all_trigs : {shms_ch1_gt0_noch2.npassed/all_trigs.npassed}  
-Chamber 1 hits=0 & Ch 2 hits =0    Counts: {shms_noch1_noch2.npassed} /all_trigs : {shms_noch1_noch2.npassed/all_trigs.npassed}  
-Chamber 1 > 0 & Ch 2 hits > 0                 Counts: {shms_ch_gt0.npassed} /all_trigs : { shms_ch_gt0.npassed/all_trigs.npassed}        
-Ch 1 hits > 0 &Ch 2 hits > 0 & track         Counts: {shms_ch_gt0_track.npassed} /all_trigs : { shms_ch_gt0_track.npassed/all_trigs.npassed}
- Chamber 1 > 3 & Ch 2 hits > 3                 Counts: {shms_ch_gt4.npassed} /all_trigs : { shms_ch_gt4.npassed/all_trigs.npassed}        
-Ch 1 hits > 3 &Ch 2 hits > 3 & track         Counts: {shms_ch_gt4_track.npassed} /all_trigs : { shms_ch_gt4_track.npassed/all_trigs.npassed}
-
-
-Add cut on good_S1_S2X_time 
-
-Chamber 1 hits > 0                   Counts: {shms_ch1_gt0_gtime.npassed} /all_trigs : {shms_ch1_gt0_gtime.npassed/all_trigs.npassed}         
-Chamber 2 hits > 0                   Counts: {shms_ch2_gt0_gtime.npassed} /all_trigs : { shms_ch2_gt0_gtime.npassed/all_trigs.npassed}        
-Chamber 2 hits > 0 & Ch 1 hits =0    Counts: {shms_ch2_gt0_noch1_gtime.npassed} /all_trigs : { shms_ch2_gt0_noch1_gtime.npassed/all_trigs.npassed}  
-Chamber 1 hits > 0 & Ch 2 hits =0    Counts: {shms_ch1_gt0_noch2_gtime.npassed} /all_trigs : {shms_ch1_gt0_noch2_gtime.npassed/all_trigs.npassed}  
-Chamber 1 hits=0 & Ch 2 hits =0    Counts: {shms_noch1_noch2_gtime.npassed} /all_trigs : {shms_noch1_noch2_gtime.npassed/all_trigs.npassed}  
-Chamber 1 > 0 & Ch 2 hits > 0                 Counts: {shms_ch_gt0_gtime.npassed} /all_trigs : { shms_ch_gt0_gtime.npassed/all_trigs.npassed}        
-Ch 1 hits > 0 &Ch 2 hits > 0 & track         Counts: {shms_ch_gt0_track_gtime.npassed} /all_trigs : { shms_ch_gt0_track_gtime.npassed/all_trigs.npassed}
- Chamber 1 > 3 & Ch 2 hits > 3                 Counts: {shms_ch_gt4_gtime.npassed} /all_trigs : { shms_ch_gt4_gtime.npassed/all_trigs.npassed}        
-Ch 1 hits > 3 &Ch 2 hits > 3 & track         Counts: {shms_ch_gt4_track_gtime.npassed} /all_trigs : { shms_ch_gt4_track_gtime.npassed/all_trigs.npassed}
-
-shmsDC1Planes_large  Counts:  {shmsDC1Planes_large.npassed} /all_trigs : {shmsDC1Planes_large.npassed/all_trigs.npassed}
-shmsDC2Planes_large  Counts:	  {shmsDC2Planes_large.npassed}  /all_trigs : {shmsDC2Planes_large.npassed/all_trigs.npassed}  
-
-shmsDC1Planes6     Counts: {shmsDC1Planes6hits.npassed} /all_trigs : {shmsDC1Planes6hits.npassed/all_trigs.npassed}
-shmsDC2Planes6  	  Counts: {shmsDC2Planes6hits.npassed} /all_trigs : {shmsDC2Planes6hits.npassed/all_trigs.npassed}  
-
-	       	                      	       
-shmsDC1x1Planes5	  Counts: {shmsDC1_5hits_x1.npassed} eff : {shmsDC1_6hits_x1.npassed/shmsDC1_5hits_x1.npassed}
-shmsDC1u1Planes5	  Counts: {shmsDC1_5hits_u1.npassed} eff : {shmsDC1_6hits_u1.npassed/shmsDC1_5hits_u1.npassed}
-shmsDC1u2Planes5	  Counts: {shmsDC1_5hits_u2.npassed} eff : {shmsDC1_6hits_u2.npassed/shmsDC1_5hits_u2.npassed}
-shmsDC1v1Planes5	  Counts: {shmsDC1_5hits_v1.npassed} eff : {shmsDC1_6hits_v1.npassed/shmsDC1_5hits_v1.npassed}
-shmsDC1v2Planes5	  Counts: {shmsDC1_5hits_v2.npassed} eff : {shmsDC1_6hits_v2.npassed/shmsDC1_5hits_v2.npassed}
-shmsDC1x2Planes5	  Counts: {shmsDC1_5hits_x2.npassed} eff : {shmsDC1_6hits_x2.npassed/shmsDC1_5hits_x2.npassed}
-
-
-shmsDC2x1Planes5	  Counts: {shmsDC2_5hits_x1.npassed} eff : {shmsDC2_6hits_x1.npassed/shmsDC2_5hits_x1.npassed}
-shmsDC2u1Planes5	  Counts: {shmsDC2_5hits_u1.npassed} eff : {shmsDC2_6hits_u1.npassed/shmsDC2_5hits_u1.npassed}
-shmsDC2u2Planes5	  Counts: {shmsDC2_5hits_u2.npassed} eff : {shmsDC2_6hits_u2.npassed/shmsDC2_5hits_u2.npassed}
-shmsDC2v1Planes5	  Counts: {shmsDC2_5hits_v1.npassed} eff : {shmsDC2_6hits_v1.npassed/shmsDC2_5hits_v1.npassed}
-shmsDC2v2Planes5	  Counts: {shmsDC2_5hits_v2.npassed} eff : {shmsDC2_6hits_v2.npassed/shmsDC2_5hits_v2.npassed}
-shmsDC2x2Planes5	  Counts: {shmsDC2_5hits_x2.npassed} eff : {shmsDC2_6hits_x2.npassed/shmsDC2_5hits_x2.npassed}
-	       	   	       
-
-*****************************
-*shms TRACKING EFFICIENCIES *
-*****************************
-ptrig                          :   {shmscoin_event.npassed}
-phitslt = passed hits/cham     :   {shmsHitsLt.npassed}
-phitsplanes = +planes >= 5/6   :   {shmsHitsPlanes.npassed}
-phitsplanessps = + sps         :   {pSpacePoints.npassed}
-phitsplanesspsstubs +stub      :   {pSpacePointsStub.npassed}
-psfoundtrack                   :   {pFoundTrack.npassed}
-pscleantrack                   :   {pCleanTrack.npassed}
-pstublt = passed stub tests    :   {pStubLT.npassed}
-p1hitslt                       :   {shms1HitsLt.npassed}
-p2hitslt                       :   {shms2HitsLt.npassed}
-p1planesgt                     :   {shmsDC1PlanesGT.npassed}
-p2planesgt                     :   {shmsDC2PlanesGT.npassed}
-pplanesgt = gt 5 planes/cham   :   {shmsPlanesGT.npassed}
-f1pspacepoints                 :   {f1PSpacePoints.npassed}
-f2pspacepoints                 :   {f2PSpacePoints.npassed}
-ptest1=p hits/planes, f sp     :   {pTest1.npassed}
-ptest2=p sp, f stubs           :   {pTest2.npassed}
-pdid                           :   {shmsScinDid.npassed}
-pdide                          :   {shmsScinDide.npassed}
-pdidh                          :   {shmsScinDidh.npassed}
-pscinshould                    :   {shmsScinShould.npassed}
-pscinshoulde                   :   {shmsScinShoulde.npassed}
-pscinshouldh                   :   {shmsScinShouldh.npassed}
-SING FID TRACK EFFIC           : {shmsScinDid.npassed/(shmsScinShould.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShould.npassed-shmsScinDid.npassed)/(shmsScinShould.npassed+.0001)):%8.4f}
-E SING FID TRACK EFFIC         : {shmsScinDide.npassed/(shmsScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShoulde.npassed-shmsScinDide.npassed)/(shmsScinShoulde.npassed+.0001)):%8.4f}
-HADRON SING FID TRACK EFFIC    : {shmsScinDidh.npassed/(shmsScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShouldh.npassed-shmsScinDidh.npassed)/(shmsScinShouldh.npassed+.0001)):%8.4f}
-- 
GitLab