From 477c516060788780a114572912a04a795934e2f5 Mon Sep 17 00:00:00 2001
From: Carlos Yero <cyero002@fiu.edu>
Date: Wed, 8 Mar 2017 12:59:56 -0500
Subject: [PATCH] Updating repo

---
 .gitignore                                    |    6 +-
 .rootrc                                       |    1 +
 CALIBRATION/.gitignore                        |   18 +
 CALIBRATION/hms_dc_calib/run_Cal.C            |   68 +
 .../hms_dc_calib/scripts/get_LookUp_Values.C  |  126 +
 .../hms_dc_calib/scripts/get_hdc_time_histo.C |   98 +
 .../get_hdc_time_histo_tzero_corrected.C      |  107 +
 .../hms_dc_calib/scripts/get_wire_tzero.C     |  409 ++
 .../hms_dc_calib/scripts/update_hdcparam.C    |  111 +
 .../hms_dc_calib/scripts/wire_drift_times.C   |  305 ++
 .../hms_dc_calib/scripts/wire_drift_times.h   |  550 +++
 CALIBRATION/hodo_calib/.gitignore             |    4 +
 CALIBRATION/hodo_calib/Maketof                |    1 +
 CALIBRATION/hodo_calib/README.md              |   50 +
 CALIBRATION/hodo_calib/hmstofcal.inp          |    4 +
 CALIBRATION/hodo_calib/shmstofcal.inp         |    4 +
 CALIBRATION/hodo_calib/tofcal.f               |  475 ++
 CALIBRATION/hodo_calib/tofcal.inp             |    4 +
 CALIBRATION/shms_dc_calib/run_Cal.C           |   68 +
 .../shms_dc_calib/scripts/get_LookUp_Values.C |  126 +
 .../scripts/get_pdc_time_histo.C              |   93 +
 .../get_pdc_time_histo_tzero_corrected.C      |  107 +
 .../shms_dc_calib/scripts/get_wire_tzero.C    |  397 ++
 .../shms_dc_calib/scripts/input_RUN.txt       |    1 +
 .../shms_dc_calib/scripts/update_pdcparam.C   |  111 +
 .../shms_dc_calib/scripts/wire_drift_times.C  |  282 ++
 .../shms_dc_calib/scripts/wire_drift_times.h  |  545 +++
 DATFILES/SHMS_fr3_rec__order_3.dat            |   61 +
 DATFILES/SHMS_fr3_rec__order_4.dat            |  131 +
 DATFILES/SHMS_fr3_rec__order_5.dat            |  257 ++
 DATFILES/SHMS_fr3_rec__order_6.dat            |  467 ++
 DATFILES/hms_recon_coeff.dat                  |  170 +
 DBASE/general.param                           |   17 +-
 DBASE/standard.database                       |    2 -
 DBASE/standard.kinematics                     |   14 +-
 DEF-files/HMS/CAL/hcalana.def                 |   59 +
 DEF-files/HMS/CAL/hcalana_cuts.def            |   13 +
 DEF-files/HMS/CER/hcerana.def                 |   15 +
 DEF-files/HMS/CER/hcerana_cuts.def            |   13 +
 DEF-files/HMS/DC/hdcana.def                   |   42 +-
 DEF-files/HMS/DC/hdcana_cuts.def              |    1 -
 DEF-files/HMS/EPICS/epics.def                 |  299 ++
 DEF-files/HMS/GEN/hstackana.def               |  189 +
 DEF-files/HMS/GEN/hstackana_cuts.def          |   13 +
 DEF-files/HMS/GEN/hstackana_report.def        |  196 +
 DEF-files/HMS/GEN/hstackana_report_cuts.def   |  191 +
 DEF-files/HMS/HODO/hhodoana.def               |  134 +
 DEF-files/HMS/HODO/hhodoana_cuts.def          |   13 +
 DEF-files/HMS/RASTER/hms_raster_simple.def    |   20 +
 .../HMS/RASTER/hms_raster_simple_cuts.def     |   13 +
 DEF-files/HMS/TRIG/htrigana.def               |  115 +
 DEF-files/HMS/TRIG/htrigana_cuts.def          |   13 +
 DEF-files/SHMS/AERO/paeroana.def              |   25 +
 DEF-files/SHMS/AERO/paeroana_cuts.def         |   14 +
 DEF-files/SHMS/CAL/pcalana.def                |   34 +
 DEF-files/SHMS/CAL/pcalana_cuts.def           |   13 +
 DEF-files/SHMS/DC/pdcana.def                  |  126 +-
 DEF-files/SHMS/GEN/pstackana.def              |  183 +
 DEF-files/SHMS/GEN/pstackana_cuts.def         |   13 +
 DEF-files/SHMS/GEN/pstackana_report.def       |  183 +
 DEF-files/SHMS/GEN/pstackana_report_cuts.def  |  189 +
 DEF-files/SHMS/HGCER/phgcerana.def            |   25 +
 DEF-files/SHMS/HGCER/phgcerana_cuts.def       |   14 +
 DEF-files/SHMS/HODO/phodoana.def              |  119 +
 DEF-files/SHMS/HODO/phodoana_cuts.def         |   14 +
 DEF-files/SHMS/NGCER/pngcerana.def            |   15 +
 DEF-files/SHMS/NGCER/pngcerana_cuts.def       |   14 +
 DEF-files/SHMS/RASTER/shms_raster_simple.def  |   20 +
 .../SHMS/RASTER/shms_raster_simple_cuts.def   |   13 +
 DEF-files/SHMS/TRIG/ptrigana.def              |   38 +
 DEF-files/SHMS/TRIG/ptrigana_cuts.def         |   13 +
 MAPS/HMS/CRATE/db_crate1map.dat               |    2 +-
 MAPS/HMS/DETEC/haero.map                      |    2 +-
 MAPS/HMS/DETEC/hcal.map                       |    6 +-
 MAPS/HMS/DETEC/hcal_htrig.map                 |  145 +
 MAPS/HMS/DETEC/hcer.map                       |   12 +
 MAPS/HMS/DETEC/hcer_htrig.map                 |   61 +
 MAPS/HMS/DETEC/hdc.map                        | 2252 ++++-----
 MAPS/HMS/DETEC/hdc_hhodo_htrig.map            | 1442 ++++++
 MAPS/HMS/DETEC/hdc_htrig.map                  | 1210 +++++
 MAPS/HMS/DETEC/hhodo.map                      |   18 +-
 MAPS/HMS/DETEC/hhodo_htrig.map                |  283 ++
 MAPS/HMS/DETEC/hms_stack.map                  | 1546 +++++++
 .../DETEC/hms_stack_spring17_current_run.map  | 1544 +++++++
 .../hms_stack_spring17_run_00001_00243.map    | 1544 +++++++
 MAPS/HMS/DETEC/hraster_simple.map             |   18 +
 MAPS/HMS/DETEC/htrig.map                      |   21 +-
 MAPS/SHMS/DETEC/paero.map                     |   24 +
 MAPS/SHMS/DETEC/paero_ptrig.map               |   83 +
 MAPS/SHMS/DETEC/pcal.map                      |  543 ++-
 MAPS/SHMS/DETEC/pdc.map                       | 2455 +++++-----
 MAPS/SHMS/DETEC/phgcer.map                    |   12 +
 MAPS/SHMS/DETEC/phgcer_ptrig.map              |   71 +
 MAPS/SHMS/DETEC/phodo.map                     |  274 ++
 MAPS/SHMS/DETEC/phodo_ptrig.map               |  333 ++
 MAPS/SHMS/DETEC/pngcer.map                    |   12 +
 MAPS/SHMS/DETEC/pngcer_ptrig.map              |   71 +
 MAPS/SHMS/DETEC/praster_simple.map            |   18 +
 MAPS/SHMS/DETEC/ptrig.map                     |   59 +
 MAPS/SHMS/DETEC/shms_stack.map                | 2008 ++++++++
 MAPS/db_cratemap.dat                          |    1 +
 MAPS/make_cratemap.sh                         |    2 +-
 MAPS/merge_list.txt                           |   10 +-
 MAPS/merge_maps.py                            |   21 +-
 PARAM/HMS/CER/hcer.param                      |    2 +-
 PARAM/HMS/DC/hdc.param                        |   33 -
 PARAM/HMS/DC/hdc.pos                          |  271 +-
 PARAM/HMS/DC/hdc_offsets.param                |    3 +-
 PARAM/HMS/DC/hdc_test_stand.param             |   28 +-
 PARAM/HMS/DC/hdc_tracking.param               |   30 +
 PARAM/HMS/DC/hdeadwires.param                 |    2 +
 PARAM/HMS/DC/hdriftmap.param                  |  363 +-
 PARAM/HMS/GEN/hcana.param                     |   19 -
 PARAM/HMS/GEN/htracking.param                 |   48 +-
 PARAM/HMS/HODO/hhodo.param                    |  406 +-
 PARAM/HMS/HODO/hhodo.pos                      |    4 +
 PARAM/HMS/HODO/hhodo_3of4trigger.param        |  191 +
 PARAM/HMS/HODO/hhodo_4of4trigger.param        |  191 +
 PARAM/HMS/HODO/htofcal.param                  |    2 +
 PARAM/README.md                               |  218 +
 PARAM/SHMS/AERO/paero.param                   |   12 +
 PARAM/SHMS/CAL/pcal.param                     |   65 +
 PARAM/SHMS/DC/pdc.param                       |   34 +-
 PARAM/SHMS/DC/pdc.param.ori                   |   14 -
 PARAM/SHMS/DC/pdc.param.ori.dnd               |  377 --
 PARAM/SHMS/DC/pdc.pos                         |  204 +-
 PARAM/SHMS/DC/pdc_test_stand.param            |    5 +
 PARAM/SHMS/DC/pdc_tracking.param              |   27 +
 PARAM/SHMS/DC/pdriftmap.param                 |  350 +-
 PARAM/SHMS/GEN/pcana.param                    |   17 +-
 PARAM/SHMS/GEN/pdebug.param                   |   15 +-
 PARAM/SHMS/GEN/ptracking.param                |   68 +-
 PARAM/SHMS/GEN/shmsflags.param                |   10 +-
 PARAM/SHMS/HGCER/phgcer.param                 |   24 +
 PARAM/SHMS/HODO/phodo.param                   |  411 ++
 PARAM/SHMS/HODO/phodo.pos                     |  101 +
 PARAM/SHMS/HODO/ptofcal.param                 |    2 +
 PARAM/SHMS/NGCER/pngcer.param                 |   24 +
 PARAM/TRIG/thms.param                         |    8 +-
 PARAM/TRIG/thms_raster.param                  |    7 +
 PARAM/TRIG/tshms.param                        |    8 +
 PARAM/TRIG/tshms_raster.param                 |    7 +
 SCRIPTS/HMS/hhodo_analysis.C                  |  140 +
 SCRIPTS/HMS/replay_epics_test.C               |  110 +
 SCRIPTS/HMS/replay_hcal_test_stand.C          |   94 +
 SCRIPTS/HMS/replay_hcer_test_stand.C          |  104 +
 SCRIPTS/HMS/replay_hdc_test_stand.C           |   37 +-
 SCRIPTS/HMS/replay_hhodo_test_stand.C         |  104 +
 SCRIPTS/HMS/replay_hms.C                      |  117 +
 SCRIPTS/HMS/replay_hms_raster_simple.C        |  100 +
 SCRIPTS/HMS/replay_hms_report.C               |  121 +
 SCRIPTS/HMS/replay_htrig_test_stand.C         |   97 +
 SCRIPTS/SHMS/replay_paero_test_stand.C        |  104 +
 SCRIPTS/SHMS/replay_pcal_test_stand.C         |   94 +
 SCRIPTS/SHMS/replay_pdc_test_stand.C          |   12 +-
 SCRIPTS/SHMS/replay_phgcer_test_stand.C       |  104 +
 SCRIPTS/SHMS/replay_phodo_test_stand.C        |  104 +
 SCRIPTS/SHMS/replay_pngcer_test_stand.C       |  104 +
 SCRIPTS/SHMS/replay_ptrig_test_stand.C        |   97 +
 SCRIPTS/SHMS/replay_shms.C                    |  126 +
 SCRIPTS/SHMS/replay_shms_raster_simple.C      |  100 +
 SCRIPTS/SHMS/replay_shms_report.C             |  124 +
 TEMPLATES/dcana.template                      |   48 +
 TEMPLATES/hstackana.template                  |   64 +
 TEMPLATES/pstackana.template                  |   64 +
 onlineGUI/.gitignore                          |    3 +
 onlineGUI/.rootrc                             |    2 +
 onlineGUI/Config/HMS/GEN/hallc_onlana.cfg     |  200 +
 onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg   |  363 ++
 .../Config/HMS/HODO/good_hhodo_2d_dis.cfg     |  123 +
 onlineGUI/Config/HMS/HODO/raw_hhodo_1x.cfg    |  327 ++
 onlineGUI/Config/HMS/HODO/raw_hhodo_1y.cfg    |  219 +
 onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg    |  304 ++
 onlineGUI/Config/HMS/HODO/raw_hhodo_2x.cfg    |  327 ++
 onlineGUI/Config/HMS/HODO/raw_hhodo_2y.cfg    |  219 +
 onlineGUI/Config/HMS/HODO/raw_hhodoana.cfg    |  130 +
 onlineGUI/Config/HMS/RASTER/simple_raster.cfg |   20 +
 onlineGUI/Config/SHMS/GEN/hallc_onlana.cfg    |  191 +
 onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg  |  367 ++
 .../Config/SHMS/HODO/good_phodo_2d_dis.cfg    |  293 ++
 onlineGUI/Config/SHMS/HODO/raw_phodo_1x.cfg   |  273 ++
 onlineGUI/Config/SHMS/HODO/raw_phodo_1y.cfg   |  270 ++
 onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg   |  306 ++
 .../Config/SHMS/HODO/raw_phodo_2d_pad.cfg     |  120 +
 onlineGUI/Config/SHMS/HODO/raw_phodo_2x.cfg   |  291 ++
 onlineGUI/Config/SHMS/HODO/raw_phodo_2y.cfg   |  417 ++
 onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg   |  130 +
 .../Config/SHMS/RASTER/simple_raster.cfg      |   20 +
 onlineGUI/Config/kpp.cfg                      |  121 +
 onlineGUI/Config/rawhmshodo.cfg               |  243 +
 onlineGUI/Config/standard.cfg                 |   57 +
 onlineGUI/Macros/gooddraw_2d_hhodo.C          |  286 ++
 onlineGUI/Macros/gooddraw_2d_phodo.C          |  325 ++
 onlineGUI/Macros/hodo_efficiency.C            |   24 +
 onlineGUI/Macros/kpp_analysis.C               |  686 +++
 onlineGUI/Macros/overlay.C                    |   54 +
 onlineGUI/Macros/rawdraw.C                    |  265 ++
 onlineGUI/Macros/rawdraw_2d_hhodo.C           |  275 ++
 onlineGUI/Macros/rawdraw_2d_phodo.C           |  377 ++
 onlineGUI/Macros/rawdraw_hhodo.C              |  349 ++
 onlineGUI/Macros/rawdraw_phodo.C              |  349 ++
 onlineGUI/README.md                           |   37 +
 onlineGUI/onlineGUI_v1.2.1/Makefile           |   27 +-
 onlineGUI/onlineGUI_v1.2.1/guiHOWTO2007.pdf   |  Bin 157338 -> 0 bytes
 onlineGUI/onlineGUI_v1.2.1/online.C           | 4098 +++++++++--------
 onlineGUI/onlineGUI_v1.2.1/online.h           |  351 +-
 onlineGUI/onlineGUI_v1.2.1/onlineDict.C       | 2058 ---------
 207 files changed, 36105 insertions(+), 8259 deletions(-)
 create mode 100644 .rootrc
 create mode 100644 CALIBRATION/.gitignore
 create mode 100644 CALIBRATION/hms_dc_calib/run_Cal.C
 create mode 100644 CALIBRATION/hms_dc_calib/scripts/get_LookUp_Values.C
 create mode 100644 CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo.C
 create mode 100644 CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo_tzero_corrected.C
 create mode 100644 CALIBRATION/hms_dc_calib/scripts/get_wire_tzero.C
 create mode 100644 CALIBRATION/hms_dc_calib/scripts/update_hdcparam.C
 create mode 100644 CALIBRATION/hms_dc_calib/scripts/wire_drift_times.C
 create mode 100644 CALIBRATION/hms_dc_calib/scripts/wire_drift_times.h
 create mode 100644 CALIBRATION/hodo_calib/.gitignore
 create mode 100755 CALIBRATION/hodo_calib/Maketof
 create mode 100644 CALIBRATION/hodo_calib/README.md
 create mode 100644 CALIBRATION/hodo_calib/hmstofcal.inp
 create mode 100644 CALIBRATION/hodo_calib/shmstofcal.inp
 create mode 100644 CALIBRATION/hodo_calib/tofcal.f
 create mode 100644 CALIBRATION/hodo_calib/tofcal.inp
 create mode 100644 CALIBRATION/shms_dc_calib/run_Cal.C
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/get_LookUp_Values.C
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo.C
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo_tzero_corrected.C
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/get_wire_tzero.C
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/input_RUN.txt
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/update_pdcparam.C
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/wire_drift_times.C
 create mode 100644 CALIBRATION/shms_dc_calib/scripts/wire_drift_times.h
 create mode 100644 DATFILES/SHMS_fr3_rec__order_3.dat
 create mode 100644 DATFILES/SHMS_fr3_rec__order_4.dat
 create mode 100644 DATFILES/SHMS_fr3_rec__order_5.dat
 create mode 100644 DATFILES/SHMS_fr3_rec__order_6.dat
 create mode 100644 DATFILES/hms_recon_coeff.dat
 create mode 100644 DEF-files/HMS/CAL/hcalana.def
 create mode 100644 DEF-files/HMS/CAL/hcalana_cuts.def
 create mode 100644 DEF-files/HMS/CER/hcerana.def
 create mode 100644 DEF-files/HMS/CER/hcerana_cuts.def
 create mode 100644 DEF-files/HMS/EPICS/epics.def
 create mode 100644 DEF-files/HMS/GEN/hstackana.def
 create mode 100644 DEF-files/HMS/GEN/hstackana_cuts.def
 create mode 100644 DEF-files/HMS/GEN/hstackana_report.def
 create mode 100644 DEF-files/HMS/GEN/hstackana_report_cuts.def
 create mode 100644 DEF-files/HMS/HODO/hhodoana.def
 create mode 100644 DEF-files/HMS/HODO/hhodoana_cuts.def
 create mode 100644 DEF-files/HMS/RASTER/hms_raster_simple.def
 create mode 100644 DEF-files/HMS/RASTER/hms_raster_simple_cuts.def
 create mode 100644 DEF-files/HMS/TRIG/htrigana.def
 create mode 100644 DEF-files/HMS/TRIG/htrigana_cuts.def
 create mode 100644 DEF-files/SHMS/AERO/paeroana.def
 create mode 100644 DEF-files/SHMS/AERO/paeroana_cuts.def
 create mode 100644 DEF-files/SHMS/CAL/pcalana.def
 create mode 100644 DEF-files/SHMS/CAL/pcalana_cuts.def
 create mode 100644 DEF-files/SHMS/GEN/pstackana.def
 create mode 100644 DEF-files/SHMS/GEN/pstackana_cuts.def
 create mode 100644 DEF-files/SHMS/GEN/pstackana_report.def
 create mode 100644 DEF-files/SHMS/GEN/pstackana_report_cuts.def
 create mode 100644 DEF-files/SHMS/HGCER/phgcerana.def
 create mode 100644 DEF-files/SHMS/HGCER/phgcerana_cuts.def
 create mode 100644 DEF-files/SHMS/HODO/phodoana.def
 create mode 100644 DEF-files/SHMS/HODO/phodoana_cuts.def
 create mode 100644 DEF-files/SHMS/NGCER/pngcerana.def
 create mode 100644 DEF-files/SHMS/NGCER/pngcerana_cuts.def
 create mode 100644 DEF-files/SHMS/RASTER/shms_raster_simple.def
 create mode 100644 DEF-files/SHMS/RASTER/shms_raster_simple_cuts.def
 create mode 100644 DEF-files/SHMS/TRIG/ptrigana.def
 create mode 100644 DEF-files/SHMS/TRIG/ptrigana_cuts.def
 create mode 100644 MAPS/HMS/DETEC/hcal_htrig.map
 create mode 100644 MAPS/HMS/DETEC/hcer.map
 create mode 100644 MAPS/HMS/DETEC/hcer_htrig.map
 create mode 100644 MAPS/HMS/DETEC/hdc_hhodo_htrig.map
 create mode 100644 MAPS/HMS/DETEC/hdc_htrig.map
 create mode 100644 MAPS/HMS/DETEC/hhodo_htrig.map
 create mode 100644 MAPS/HMS/DETEC/hms_stack.map
 create mode 100644 MAPS/HMS/DETEC/hms_stack_spring17_current_run.map
 create mode 100644 MAPS/HMS/DETEC/hms_stack_spring17_run_00001_00243.map
 create mode 100644 MAPS/HMS/DETEC/hraster_simple.map
 create mode 100644 MAPS/SHMS/DETEC/paero.map
 create mode 100644 MAPS/SHMS/DETEC/paero_ptrig.map
 create mode 100644 MAPS/SHMS/DETEC/phgcer.map
 create mode 100644 MAPS/SHMS/DETEC/phgcer_ptrig.map
 create mode 100644 MAPS/SHMS/DETEC/phodo.map
 create mode 100644 MAPS/SHMS/DETEC/phodo_ptrig.map
 create mode 100644 MAPS/SHMS/DETEC/pngcer.map
 create mode 100644 MAPS/SHMS/DETEC/pngcer_ptrig.map
 create mode 100644 MAPS/SHMS/DETEC/praster_simple.map
 create mode 100644 MAPS/SHMS/DETEC/ptrig.map
 create mode 100644 MAPS/SHMS/DETEC/shms_stack.map
 delete mode 100644 PARAM/HMS/DC/hdc.param
 create mode 100644 PARAM/HMS/DC/hdc_tracking.param
 create mode 100644 PARAM/HMS/HODO/hhodo_3of4trigger.param
 create mode 100644 PARAM/HMS/HODO/hhodo_4of4trigger.param
 create mode 100644 PARAM/HMS/HODO/htofcal.param
 create mode 100644 PARAM/README.md
 create mode 100644 PARAM/SHMS/AERO/paero.param
 create mode 100644 PARAM/SHMS/CAL/pcal.param
 delete mode 100644 PARAM/SHMS/DC/pdc.param.ori
 delete mode 100644 PARAM/SHMS/DC/pdc.param.ori.dnd
 create mode 100644 PARAM/SHMS/DC/pdc_test_stand.param
 create mode 100644 PARAM/SHMS/DC/pdc_tracking.param
 create mode 100644 PARAM/SHMS/HGCER/phgcer.param
 create mode 100644 PARAM/SHMS/HODO/phodo.param
 create mode 100644 PARAM/SHMS/HODO/phodo.pos
 create mode 100644 PARAM/SHMS/HODO/ptofcal.param
 create mode 100644 PARAM/SHMS/NGCER/pngcer.param
 create mode 100644 PARAM/TRIG/thms_raster.param
 create mode 100644 PARAM/TRIG/tshms.param
 create mode 100644 PARAM/TRIG/tshms_raster.param
 create mode 100644 SCRIPTS/HMS/hhodo_analysis.C
 create mode 100644 SCRIPTS/HMS/replay_epics_test.C
 create mode 100644 SCRIPTS/HMS/replay_hcal_test_stand.C
 create mode 100644 SCRIPTS/HMS/replay_hcer_test_stand.C
 create mode 100644 SCRIPTS/HMS/replay_hhodo_test_stand.C
 create mode 100644 SCRIPTS/HMS/replay_hms.C
 create mode 100644 SCRIPTS/HMS/replay_hms_raster_simple.C
 create mode 100644 SCRIPTS/HMS/replay_hms_report.C
 create mode 100644 SCRIPTS/HMS/replay_htrig_test_stand.C
 create mode 100644 SCRIPTS/SHMS/replay_paero_test_stand.C
 create mode 100644 SCRIPTS/SHMS/replay_pcal_test_stand.C
 create mode 100644 SCRIPTS/SHMS/replay_phgcer_test_stand.C
 create mode 100644 SCRIPTS/SHMS/replay_phodo_test_stand.C
 create mode 100644 SCRIPTS/SHMS/replay_pngcer_test_stand.C
 create mode 100644 SCRIPTS/SHMS/replay_ptrig_test_stand.C
 create mode 100644 SCRIPTS/SHMS/replay_shms.C
 create mode 100644 SCRIPTS/SHMS/replay_shms_raster_simple.C
 create mode 100644 SCRIPTS/SHMS/replay_shms_report.C
 create mode 100644 TEMPLATES/hstackana.template
 create mode 100644 TEMPLATES/pstackana.template
 create mode 100644 onlineGUI/.rootrc
 create mode 100644 onlineGUI/Config/HMS/GEN/hallc_onlana.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/raw_hhodo_1x.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/raw_hhodo_1y.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/raw_hhodo_2x.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/raw_hhodo_2y.cfg
 create mode 100644 onlineGUI/Config/HMS/HODO/raw_hhodoana.cfg
 create mode 100644 onlineGUI/Config/HMS/RASTER/simple_raster.cfg
 create mode 100644 onlineGUI/Config/SHMS/GEN/hallc_onlana.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/good_phodo_2d_dis.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodo_1x.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodo_1y.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodo_2d_pad.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodo_2x.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodo_2y.cfg
 create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg
 create mode 100644 onlineGUI/Config/SHMS/RASTER/simple_raster.cfg
 create mode 100755 onlineGUI/Config/kpp.cfg
 create mode 100755 onlineGUI/Config/rawhmshodo.cfg
 create mode 100755 onlineGUI/Config/standard.cfg
 create mode 100644 onlineGUI/Macros/gooddraw_2d_hhodo.C
 create mode 100644 onlineGUI/Macros/gooddraw_2d_phodo.C
 create mode 100644 onlineGUI/Macros/hodo_efficiency.C
 create mode 100644 onlineGUI/Macros/kpp_analysis.C
 create mode 100755 onlineGUI/Macros/overlay.C
 create mode 100755 onlineGUI/Macros/rawdraw.C
 create mode 100644 onlineGUI/Macros/rawdraw_2d_hhodo.C
 create mode 100644 onlineGUI/Macros/rawdraw_2d_phodo.C
 create mode 100755 onlineGUI/Macros/rawdraw_hhodo.C
 create mode 100755 onlineGUI/Macros/rawdraw_phodo.C
 create mode 100644 onlineGUI/README.md
 delete mode 100644 onlineGUI/onlineGUI_v1.2.1/guiHOWTO2007.pdf
 mode change 100644 => 100755 onlineGUI/onlineGUI_v1.2.1/online.C
 mode change 100644 => 100755 onlineGUI/onlineGUI_v1.2.1/online.h
 delete mode 100644 onlineGUI/onlineGUI_v1.2.1/onlineDict.C

diff --git a/.gitignore b/.gitignore
index 60234d01..5d640234 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,8 @@
 ROOTfiles/*
 #*
 hcana
-raw
\ No newline at end of file
+raw
+.root_history
+data_files/*
+root_files/*
+REPORT_OUTPUT/*
diff --git a/.rootrc b/.rootrc
new file mode 100644
index 00000000..313d262d
--- /dev/null
+++ b/.rootrc
@@ -0,0 +1 @@
+Rint.History: .root_history
diff --git a/CALIBRATION/.gitignore b/CALIBRATION/.gitignore
new file mode 100644
index 00000000..a9da3531
--- /dev/null
+++ b/CALIBRATION/.gitignore
@@ -0,0 +1,18 @@
+#
+# Ignore file for calorimeter calibration code
+#
+
+# Debug files
+*.deb
+# Monte Carlo results
+*.r
+*.pdf
+*.cal_data
+*.raw_data
+*.root
+# Parameter files generated by calibration
+*.param
+hms_dc_calib/data_files
+*.d
+hms_dc_calib/scripts/*.txt
+
diff --git a/CALIBRATION/hms_dc_calib/run_Cal.C b/CALIBRATION/hms_dc_calib/run_Cal.C
new file mode 100644
index 00000000..94f7daf4
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/run_Cal.C
@@ -0,0 +1,68 @@
+//SCRIPT TO RUN OVER ALL HMS DC CALIBRATION SCRIPTS AT ONCE, AND UPDATE THE
+//NECESSARY PARAMTER FILES hdriftmap.param and  hdc.param
+void run_Cal()
+{
+      
+  //User Input Run
+  int run_NUM;
+  cout << "Enter Run Number: " << endl;
+  cin >> run_NUM;
+
+  //Create input file with run number
+  ofstream fout;
+  fout.open("scripts/input_RUN.txt");
+  fout << run_NUM << endl;
+  fout.close();
+
+
+  //Create root and data files Directories if they dont exist
+  char *dir_root = "mkdir ./root_files/";
+  char *dir_data = "mkdir ./data_files/";
+
+  if (system(dir_root || dir_data) != 0) {
+    system(dir_root);
+    system(dir_data);
+  }
+
+  //Create run Directories if they dont exist
+  char *dir0 = Form("mkdir ./root_files/run%d", run_NUM);
+  char *dir1 = Form("mkdir ./data_files/run%d", run_NUM);
+
+  if (system(dir0 || dir1) != 0) {
+    system(dir0);
+    system(dir1);
+  }
+
+  
+
+  //change directories and execute scripts
+  gSystem->cd("./scripts");
+  gSystem->Exec("root -l -q get_hdc_time_histo.C");
+  
+  //Load and Loop over Make Class events to get individual drift times
+  gROOT->LoadMacro("wire_drift_times.C");
+  gROOT->ProcessLine("wire_drift_times t"); //process line allows one to execute interactive root commands from a script, such as this one
+  gROOT->ProcessLine("t.Loop()");
+  //gROOT->ProcessLine(".q");
+  gROOT->Reset();
+  
+  
+
+gSystem->cd("./scripts");
+
+  
+  //execute code to get t0 from each wire in each plane
+  gSystem->Exec("root -l -q -b get_wire_tzero.C");
+ 
+  //execute code to update hdc parameter file
+  gSystem->Exec("root -l -q update_hdcparam.C");
+
+  //execute code to get t0 corrected drift times
+  gSystem->Exec("root -l -q get_hdc_time_histo_tzero_corrected.C");
+  
+ //execute code to update LookUp Table
+  gSystem->Exec("root -l -q get_LookUp_Values.C");
+
+  
+  
+}
diff --git a/CALIBRATION/hms_dc_calib/scripts/get_LookUp_Values.C b/CALIBRATION/hms_dc_calib/scripts/get_LookUp_Values.C
new file mode 100644
index 00000000..e4a40276
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/scripts/get_LookUp_Values.C
@@ -0,0 +1,126 @@
+/*This code produces a lookup table necessary to convert drift times to
+drift distances in the HMS drift chambers
+*/
+
+#define NPLANES 12
+#define TOTAL_BINS 137
+
+void get_LookUp_Values() {
+
+   
+  //Read Run Number from txt file
+  int run_NUM;
+ TString f0 = "input_RUN.txt";
+ ifstream infile(f0);
+ infile >> run_NUM;
+ 
+//Open root file containing drift time histos
+ TFile *f = new TFile(Form("../root_files/run%d/hms_dc_t0_corrected_%d.root", run_NUM, run_NUM),"READ");
+ 
+ //Define histogram array
+ TH1F *h[NPLANES];
+ 
+ //Define the number Drift Chamber planes
+ TString plane_names[NPLANES]={"1x1", "1y1", "1u1", "1v1", "1y2", "1x2", "2x1", "2y1", "2u1", "2v1", "2y2", "2x2"};
+ 
+ //Declare bin properties
+	int bin_t0[NPLANES];
+  int bin_final[NPLANES];					/*Array to store the bin number corresponding to last bin*/
+  int bin_Content[NPLANES];          /*Array to store the content (# events) corresponding to the bin with maximum content*/
+  double binContent_TOTAL[NPLANES];     /*Array to store sum of all bin contents for each plane*/
+  double binSUM[NPLANES];
+  int bin;
+  int binx;
+  double lookup_value[NPLANES];           /*Array to store lookup values for each plane*/ 
+  
+  //Create an output file to store lookup values  
+  ofstream ofs;
+ TString lookup_table = "../../../PARAM/HMS/DC/hdriftmap_new.param";
+ ofs.open (lookup_table);
+ 
+ 
+//Set headers for subsequent columns of data
+ ofs << Form("; Lookup Table: RUN %d", run_NUM) << "\n";
+ ofs << "; number of bins in Carlos's time to distance lookup table" << "\n";
+ ofs << Form("hdriftbins = %d", TOTAL_BINS+1) << "\n";
+ ofs << "; number of 1st bin in Carlos's table in ns" << "\n";
+ ofs << "hdrift1stbin=0" << "\n";
+ ofs << "; bin size in ns" << "\n";
+ ofs << "hdriftbinsz=2" << "\n";
+ 
+ 
+ 
+ //Loop over each plane of HMS Drift Chambers (DC1 & DC2)
+
+ for (int ip=0; ip<NPLANES; ip++){
+   
+   TString drift_time_histo = "hdc"+plane_names[ip]+"_time: t0_corr"; 
+
+   //Get drift time histograms from root file
+   h[ip] = (TH1F*)f->Get(drift_time_histo);
+
+   //Get bin corresponding to t0 = 0 ns
+  bin_t0[ip] = h[ip]->GetXaxis()->FindBin(0.0);
+   
+   //Get final bin 
+   bin_final[ip] = bin_t0[ip] + TOTAL_BINS;
+   
+   
+   
+   //Find total BIN Content over entire integration range
+   binContent_TOTAL[ip] = 0; //set counter to zero
+
+   for (bin = bin_t0[ip]; bin <= bin_final[ip]; bin ++ ) {
+     
+     bin_Content[ip] = h[ip] -> GetBinContent(bin);
+     
+     binContent_TOTAL[ip] = bin_Content[ip] + binContent_TOTAL[ip];
+     
+     //   cout << "Bin: " << bin << endl;
+     //   cout << "Content " << bin_Content[ip] << endl;
+     //   cout << "Content SUM : " << binContent_TOTAL[ip] << endl;
+   }
+   
+   TString headers = "hwc" + plane_names[ip] + "fract=";      
+   ofs << headers;	  
+   
+   //Calculate LookUp Value
+   
+   binSUM[ip] = 0.0;
+   int bin_count = 0;
+   
+   for (bin = bin_t0[ip]; bin <= bin_final[ip]; bin++) {
+     
+     bin_Content[ip] = h[ip] -> GetBinContent(bin);
+     binSUM[ip] = binSUM[ip] + bin_Content[ip];
+     
+     
+     lookup_value[ip] = binSUM[ip] / binContent_TOTAL[ip];
+     bin_count = bin_count + 1;
+     
+     if (bin_count < = 8 ) {
+       ofs << setprecision(5) << lookup_value[ip] << fixed << ",";
+     }
+     
+     else if (bin_count >8 && bin_count < 138) {
+       ofs << setprecision(5) << lookup_value[ip] << ((bin_count+1) % 10 ? "," : "\n") << fixed; 
+     }
+     else {
+       ofs << setprecision(5) << lookup_value[ip] << fixed << endl;	  
+     }
+     
+   }
+
+ }                                            
+ 
+}
+
+
+	 
+  
+
+
+
+
+
+
diff --git a/CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo.C b/CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo.C
new file mode 100644
index 00000000..b3bfee58
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo.C
@@ -0,0 +1,98 @@
+//Script to add necessary drift time histograms/plane from original root file to new root file
+
+
+#define NPLANES 12
+
+void get_hdc_time_histo()
+{
+
+//Read Run Number from txt file
+int run_NUM;
+TString f0 = "input_RUN.txt";
+ifstream infile(f0);
+infile >> run_NUM;
+
+//Create RUN Directories if they dont exist
+char *dir0 = Form("mkdir ../root_files/run%d", run_NUM);
+char *dir1 = Form("mkdir ../data_files/run%d", run_NUM);
+
+if (system(dir0 || dir1) != 0) {
+system(dir0);
+system(dir1);
+}
+
+//open file
+TFile *f = new TFile(Form("../../../ROOTfiles/test_%d.root", run_NUM), "READ");
+
+//create new file
+ TFile *g = new TFile(Form("../root_files/run%d/hms_dc_time_%d.root", run_NUM, run_NUM), "RECREATE"); // create new file to store histo
+
+f->cd();
+
+//Get the tree
+TTree *tree = (TTree*)f->Get("T");
+TString SPECTROMETER="H";
+TString DETECTOR="dc";
+TString plane_names[NPLANES]={"1x1", "1y1", "1u1", "1v1", "1y2", "1x2", "2x1", "2y1", "2u1", "2v1", "2y2", "2x2"};
+
+//Declare Variables to Loop Over
+Int_t Ndata[NPLANES];
+Double_t hdc_time[NPLANES][1000];
+    
+//Declare Histogram array to store AVG drift times per plane
+TH1F* h[NPLANES];
+	
+g->cd();
+	
+//Loop over each plane
+for(Int_t ip=0; ip<NPLANES; ip++){
+  TString base_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip];
+  TString ndata_name = "Ndata."+base_name+".time";
+  TString drift_time = base_name+".time";
+  
+  TString drift_time_histo = "hdc"+plane_names[ip]+"_time"; 
+  TString title = "hdc"+plane_names[ip]+"_drifttime";
+     
+  //Set Branch Address
+  tree->SetBranchAddress(drift_time, &hdc_time[ip][0]);   
+  tree->SetBranchAddress(ndata_name, &Ndata[ip]);  /* Ndata represents number of triggers vs number of hits that each trigger produced.
+                                                      A hit is refer to as when a trigger(traversing particle), ionizes the WC gas and ionized
+                                                      electrons reach the rearest sense wire, producing a detectable signal in the O'scope */
+  
+  //Create Histograms
+  h[ip] = new TH1F(drift_time_histo, title, 200, -50, 350);  //set time to 400 ns/200 bins = 2ns/bin
+ }
+ 
+
+ 
+//Declare number of entries in the tree
+ Long64_t nentries = tree->GetEntries(); //number of triggers (particles that passed through all 4 hodo planes)
+ 
+ //Loop over all entries
+ for(Long64_t i=0; i<nentries; i++)
+   {
+     tree->GetEntry(i);
+    
+    
+     //Loop over number of hits for each trigger in each DC plane 
+     for(ip=0; ip<NPLANES; ip++){
+       
+    
+       for(Int_t j=0; j<Ndata[ip]; j++){
+	
+	 h[ip]->Fill(hdc_time[ip][j]); 
+       }
+       
+     }
+
+   }
+
+
+
+		
+ //Write histograms to file
+ g->Write();
+
+
+
+}
diff --git a/CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo_tzero_corrected.C b/CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo_tzero_corrected.C
new file mode 100644
index 00000000..d847ce0b
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/scripts/get_hdc_time_histo_tzero_corrected.C
@@ -0,0 +1,107 @@
+//Script to add t0 correction to HMS DC drift times
+
+#define NPLANES 12
+
+void get_hdc_time_histo_tzero_corrected()
+{
+
+	  
+  //read run number from input file
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;   
+
+  TString run = Form("run%d", run_NUM);
+
+
+	  //open file
+	  TFile *f = new TFile(Form("../../../ROOTfiles/test_%d.root", run_NUM), "READ");
+
+	  //updates file
+	  TFile *g = new TFile(Form("../root_files/run%d/hms_dc_t0_corrected_%d.root", run_NUM, run_NUM), "UPDATE"); // create new file to store histo
+
+      f->cd();
+
+     //Get the tree
+     TTree *tree = (TTree*)f->Get("T");
+
+	TString SPECTROMETER="H";
+	TString DETECTOR="dc";
+	TString plane_names[NPLANES]={"1x1", "1y1", "1u1", "1v1", "1y2", "1x2", "2x1", "2y1", "2u1", "2v1", "2y2", "2x2"};
+
+    //Declare Variables to Loop Over
+    Int_t Ndata[NPLANES];
+    Double_t hdc_time[NPLANES][1000];
+    
+    //Declare Histogram array to store AVG drift times per plane
+    TH1F* h[NPLANES];
+	
+	g->cd();
+	
+	//Loop over each plane
+	for(Int_t ip=0; ip<NPLANES; ip++){
+		TString base_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip];
+		TString ndata_name = "Ndata."+base_name+".time";
+		TString drift_time = base_name+".time";
+
+		TString drift_time_histo = "hdc"+plane_names[ip]+"_time: t0_corr"; 
+        TString title = "hdc"+plane_names[ip]+"_drifttime: t0-corrected";
+     
+     //Set Branch Address
+     tree->SetBranchAddress(drift_time, hdc_time[ip]);   
+     tree->SetBranchAddress(ndata_name, &Ndata[ip]);  /* Ndata represents number of triggers vs number of hits that each trigger produced.
+                                                      A hit is refer to as when a trigger(traversing particle), ionizes the WC gas and ionized
+                                                      electrons reach the rearest sense wire, producing a detectable signal in the O'scope */
+	
+     //Create Histograms
+     h[ip] = new TH1F(drift_time_histo, title, 200, -50, 350);  //set time to 400 ns/200 bins = 2ns/bin
+}
+	
+	
+	//open and read tzero data file
+    ifstream ifs;
+    ifs.open("../data_files/" + run + "/tzero.dat");
+    
+	double t_zero_offsets[NPLANES];
+
+     for (ip=0; ip < 12; ip++) {	 
+	 ifs >> t_zero_offsets[ip];  //add tzero offsets to array
+   }
+   
+    //Declare number of entries in the tree
+    Long64_t nentries = tree->GetEntries(); //number of triggers (particles that passed through all 4 hodo planes)
+
+    //Loop over all entries
+    for(Long64_t i=0; i<nentries; i++)
+    {
+	tree->GetEntry(i);
+    
+    
+    //Loop over number of hits for each trigger in each DC plane 
+    for(ip=0; ip<NPLANES; ip++){
+   
+ 
+    
+    for(Int_t j=0; j<Ndata[ip]; j++){
+	
+	h[ip]->Fill(hdc_time[ip][j] - t_zero_offsets[ip]); //add t0 offset correction 
+       }
+      
+      
+
+			
+	
+	}
+
+}
+
+
+
+		
+//Write histograms to file
+g->Write();
+
+
+
+}
diff --git a/CALIBRATION/hms_dc_calib/scripts/get_wire_tzero.C b/CALIBRATION/hms_dc_calib/scripts/get_wire_tzero.C
new file mode 100644
index 00000000..290d96ce
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/scripts/get_wire_tzero.C
@@ -0,0 +1,409 @@
+
+
+/*Script to extract reference time "t0"  for each sense wire in a given HMS Wire Chamber Plane with COSMIC RUNS.  
+20% (MAX BIN CONTENT) is calculated per wire, and the corresponding bin is fitted linearly about +/- 
+a certain number of bins and this fit is extrapolated to y=0(x-axis). The extrapolated value is take to be t0*/
+
+#include <vector>
+#include <TMath>
+
+#define NPLANES 12
+
+void get_wire_tzero()
+{
+  using namespace std;
+
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;   
+
+  //check if tzero_weighted_avg text file exists (if it does, DELETE IT, otherwise new values will be appended to it, in addition to pre-existing tzero values)
+  std::ifstream stream(Form("../data_files/run%d/tzero_weighted_avg_run%d.txt",run_NUM, run_NUM));
+ if (stream.good())
+  {
+  gSystem->Exec(Form("rm ../data_files/run%d/tzero_weighted_avg_run%d.txt",run_NUM, run_NUM));
+  }
+
+ TString run = Form("run%d", run_NUM);
+
+ //Declare plane names to loop over
+ TString plane_names[NPLANES]={"1x1", "1y1", "1u1", "1v1", "1y2", "1x2", "2x1", "2y1", "2u1", "2v1", "2y2", "2x2"};
+
+ //Declare a root file array to store individual DC cell drift times
+ TString root_file;
+ TFile *f[NPLANES];
+   
+ int total_wires;  //integer to store total sense wires for a plane chosen by the user
+        
+ //Loop over all planes
+ for (int ip = 0; ip < NPLANES; ip++){
+
+   //READ root file
+   root_file = "../root_files/"+run+"/hms_DC_"+plane_names[ip]+Form("_%d.root",run_NUM);
+   f[ip] = new TFile(root_file, "READ");
+
+   //Create a file output file stream object to write t0 values to data file
+   ofstream ofs;
+   TString t_zero_file = "../data_files/" + run + "/hdc_"+plane_names[ip]+Form("tzero_run%d.dat", run_NUM);
+   ofs.open (t_zero_file);
+
+   //Set headers for subsequent columns of data
+   ofs << "#WIRE " << "   "  << "t0" << "   " << "t0_err" << "   " << " entries " << endl;
+
+   //Create root file to store fitted wire drift times histos and "t0 vs. wirenum"
+   TString output_root_file = "../root_files/"+run+"/hmsDC_"+plane_names[ip]+Form("run%d_fitted_histos.root", run_NUM);
+   TFile *g = new TFile(output_root_file,"RECREATE");
+
+   f[ip]->cd();  //change to file containing the wire drift times histos
+ 
+   int total_wires;  //integer to store total sense wires for a plane chosen by the user
+   
+   //Set variables depending on which plane is being studied
+   if (ip == 0 || ip == 5 || ip == 6 || ip == 11) {  
+     TH1F *cell_dt[113]; //declare array of histos to store drift times     
+     total_wires=113; 
+
+     //Declare bin properties for given sense wires in a plane
+
+     int bin_max[113];                    /*Array to store the bin number corresponding to the drift time distribution peak*/
+     int bin_maxContent[113];             /*Array to store the content (# events) corresponding to the bin with maximum content*/
+     double time_max[113];                /*Array to store the x-axis(drift time (ns)) corresponding to bin_max*/
+     double twenty_perc_maxContent[113];  /*Array to store 20% of maximum bin content (peak)*/						     
+     double ref_time[113];               /*Array to store reference times for each sense wire*/
+
+   }
+
+   else if (ip == 2 || ip == 3 || ip == 8 || ip == 9) {
+     TH1F *cell_dt[107];
+     total_wires=107;      
+   
+     int bin_max[107];                                 
+     int bin_maxContent[107];                           
+     double time_max[107];                               
+     double twenty_perc_maxContent[107];                
+     double ref_time[107];          
+
+   }	   
+ 
+   else if (ip == 1 || ip == 4 || ip == 7 || ip == 10) {
+     TH1F *cell_dt[52];
+     total_wires=52;
+
+     int bin_max[52];                                 
+     int bin_maxContent[52];                           
+     double time_max[52];                               
+     double twenty_perc_maxContent[52];                
+     double ref_time[52];          
+
+   }	 
+    
+ 	
+   /*Get wire histos from root file and loop over each 
+     sense wire of a plane in HMS Drift Chambers (DC1 or DC2)*/
+ 
+   for (int sensewire=1; sensewire<=total_wires; sensewire++){
+
+     //Get title of histos in root file
+     TString drift_time_histo = Form("wire_%d", sensewire); 
+ 
+     //Get drift time histograms from root file
+     cell_dt[sensewire-1] = (TH1F*)f[ip]->Get(drift_time_histo);
+
+     
+     //Get bin with Maximum Content
+     bin_max[sensewire-1] = cell_dt[sensewire-1]->GetMaximumBin();
+
+     //Get content of bin_max
+     bin_maxContent[sensewire-1] = cell_dt[sensewire-1]->GetBinContent(bin_max[sensewire-1]);
+     
+     //Get time (ns) [x-axis] corresponding to bin_max 
+     time_max[sensewire-1] = cell_dt[sensewire-1]->GetXaxis()->GetBinCenter(bin_max[sensewire-1]);
+     
+     //Calculate 20% of max content
+     twenty_perc_maxContent[sensewire-1] = bin_maxContent[sensewire-1] * 0.20;
+     
+
+   }
+   
+   
+   
+   //****************************************************//
+   //Determine  which bin has around 20% max_BinContent *//
+   //****************************************************//
+   
+   
+   //Declarations
+   int content_bin;      //stores content for each bin
+   int counts;           //a counter used to count the number of bins that have >20% max bin content for a plane 
+   int bin;              //store bin number
+   int j;                //jth bin, used to loop over n bins 
+   
+   //Declare vector arrays 
+   vector<int> content;               //stores bin content
+   vector <int> bin_num;           //stores bin number
+   
+   
+   //Loop over each wire 
+   for(sensewire=1; sensewire<=total_wires; sensewire++) {
+     
+     //Loop over each bin for individual wire drift time histo
+     for(bin=0; bin < bin_max[sensewire-1]; bin++) {
+       
+       content_bin = cell_dt[sensewire-1]->GetBinContent(bin);              //get bin content for all bins in a wire
+       
+       content.push_back(content_bin);                                      //add bin content to array
+       bin_num.push_back(bin);                                              //add bin number to array
+       
+       
+       // check if 2 bin contents have been stored and examine if these contents exceed or not 20% of peak
+       if (content.size() == 2) {
+	 
+	 //initialize counter to count how many bin contents >= 20%
+	 counts = 0;
+	 
+	 // Loop over 2 bin contents stored in array content
+	 for (j=0; j<2; j++){
+	   
+	   if(content[j] > =  twenty_perc_maxContent[sensewire-1]){
+	     counts = counts+1;
+             
+	     if(counts >= 2) { goto stop;}
+	     
+	     
+	   }
+	   
+	   content.clear();
+	   bin_num.clear();
+	   
+	 }
+	 
+       }
+     }
+     
+     //Print the time(ns) and BIN NUM corresponding to 20% of MAX content 
+     //if 2/2 elements exceeds 20% of Max content (for each plane)
+     
+   stop:
+     ref_time[sensewire-1] = cell_dt[sensewire-1] ->GetXaxis() -> GetBinCenter(bin_num[0]); //Get time corresponding ~20% Max BIN CONTENT  
+     
+     //cout << " ******* " << "Wire " << sensewire << " ******* " << endl;
+     //cout << "time (20% of Max BIN): " << ref_time[sensewire-1] << " ns" << endl;
+     //cout << "BIN: " << bin_num[0] << endl;
+     
+     
+     //*********************************************************//
+     //*******Extract the "t0" Using a Fitting Procedure********//
+     //*********************************************************//
+     
+     //Declarations
+     int time_init;           //start fit value 
+     int time_final;          //end fit value
+     int t_zero;
+     int entries;             //entries for each wire
+     
+     double m;                //slope
+     double y_int;            //y-intercept
+     double m_err;
+     double y_int_err;
+     double t_zero_err;
+     
+     //Get time corresponding to bin (fit range) 
+     time_init = cell_dt[sensewire-1] -> GetXaxis() -> GetBinCenter(bin_num[0]-5); //choose bin range over which to fit
+     time_final = cell_dt[sensewire-1] -> GetXaxis() -> GetBinCenter(bin_num[0]+5); 
+     
+     //Create Fit Function
+     TF1* tZero_fit = new TF1("tZero_fit", "[0]*x + [1]", time_init, time_final);
+     
+     //Set Parameter Names and Values
+     tZero_fit->SetParName(0, "slope");
+     tZero_fit->SetParName(1, "y-int");
+     tZero_fit->SetParameter(0, 1.0);
+     tZero_fit->SetParameter(1, 1.0);
+     
+     //Fit Function in specified range
+     cell_dt[sensewire-1]->Fit("tZero_fit", "QR");
+     
+     //Get Parameters and their errors
+     m = tZero_fit->GetParameter(0);
+     y_int = tZero_fit->GetParameter(1);
+     m_err = tZero_fit->GetParError(0);
+     y_int_err = tZero_fit->GetParError(1);
+     
+     //Calculate error on t0 using error propagation method of expanding partial derivatives
+     t_zero = - y_int/m;
+     t_zero_err = sqrt(y_int_err*y_int_err/(m*m) + y_int*y_int*m_err*m_err/(m*m*m*m) );
+     entries = cell_dt[sensewire-1]->GetEntries();  //number of entries (triggers) per wire
+     
+     //Write "t0" values to file
+     ofs << sensewire << "          " << t_zero << "          " << t_zero_err << "          " << entries << endl;
+     
+     //Change to output root file and write fitted histos to file
+     g->cd();
+     cell_dt[sensewire-1]->Write();
+     
+   }
+   
+   // Make Plot of t0 versus Wire Number 
+   
+   TCanvas *t = new TCanvas("t", "", 2000,500);
+   t->SetGrid();
+
+   
+   TGraphErrors *graph = new TGraphErrors(t_zero_file, "%lg %lg %lg");
+   graph->SetName("graph");
+   TString title = "DC"+plane_names[ip]+": t0 versus sensewire";
+   graph->SetTitle(title);
+   graph->SetMarkerStyle(20);
+   graph->SetMarkerColor(1);
+   graph->GetXaxis()->SetLimits(0., total_wires);
+   graph->GetXaxis()->SetTitle("Wire Number");
+   graph->GetXaxis()->CenterTitle();
+   graph->GetYaxis()->SetTitle("t-Zero (ns)");
+   graph->GetYaxis()->CenterTitle();
+   graph->GetYaxis()->SetRangeUser(-50.0, 50.0);
+   graph->Draw("AP");
+   t->Update();
+   t->Write(title);   //write to a root file
+   
+   //close dat file
+   ofs.close();
+   //save plots
+   //TString tzero_plots = "plots/"+run_NUM +"/hdc"+plane_names[ip]+Form("TESTING_tzero_v_wire_%d.eps", run);
+   //t->SaveAs(tzero_plots);
+   
+   
+   //*****************************************************************************************//
+   //        CALCULATE THE "t0s" WEIGHTED AVERAGE FOR WIRE DRIFT TIMES WITH ENTRIES > = 300   //
+   //*****************************************************************************************//
+   
+   
+   //open t0 dat file
+   ifstream ifs;
+   ifs.open (t_zero_file);
+   string line;
+   
+   //open new data file to write updated t0 values
+   TString t_zero_file_corr = "../data_files/" + run + "/hdc_"+plane_names[ip]+Form("tzero_run%d_updated.txt", run_NUM);
+   ofs.open(t_zero_file_corr);
+   ofs << " #Wire " << "     " << " t_zero " << "     " << " t_zero_err " << "     " << " entries " << endl; 
+   
+   //Initialize variables related to weighted avg
+   double sum_NUM;  //numerator of weighted avg
+   double sum_DEN;   //denominator of weighted avg
+   double weighted_AVG;
+   double weighted_AVG_err; 
+  
+   //set them to zero to start sum inside while loop 
+   sum_NUM = 0.0;
+   sum_DEN = 0.0;
+   
+   weighted_AVG;
+   weighted_AVG_err; 
+   
+   //read line bt line the t_zero_file
+   while(getline(ifs, line)) {
+     if(!line.length()|| line[0] == '#')
+       continue;
+     //	sensewire = 0, t_zero = 0.0, t_zero_err = 0.0, entries = 0 ; //set values to zero
+     
+     sscanf(line.c_str(), "%d %d %lf %d", &sensewire, &t_zero, &t_zero_err, &entries); //assign each of the variables above a data in the t_zero_file
+     
+     //Check if entries for each sensewire exceeds a certain number of events
+     
+     if (entries>300 && t_zero < 30) {
+	
+       //Calculate the weighted average of t0s
+       sum_NUM = sum_NUM + t_zero/(t_zero_err*t_zero_err);
+       sum_DEN = sum_DEN + 1.0/(t_zero_err*t_zero_err);      
+       
+       //cout << "sum_NUM : " << sum_NUM << endl;  
+       //cout << "sum_DEN : " << sum_DEN << endl;  
+       
+    
+
+
+       ofs << sensewire << "        " << t_zero << "        " << t_zero_err << "        " << entries << endl;
+
+       
+       
+     }
+     
+   }
+   
+   
+   
+   weighted_AVG = sum_NUM / sum_DEN;
+   weighted_AVG_err = sqrt( 1.0 / sum_DEN );
+   
+   
+   
+   //open new data file to write weighted average of updated t_zero values
+   
+   TString t_zero_AVG = Form("../data_files/run%d/tzero_weighted_avg_run%d.txt", run_NUM, run_NUM);
+   
+   ofstream ofile;
+   ofile.open(t_zero_AVG, std::ofstream::out | std::ofstream::app); //open file in and output and append mode
+   
+   ofile << " #weighted_AVG " << "     " << " DC plane: " <<  plane_names[ip] << endl; 
+   ofile << weighted_AVG << endl;
+   
+  
+   
+   
+   
+   ifs.close();
+
+   // Make Plot of t0 versus Wire Number for entries > 300 events
+
+   TCanvas *t1 = new TCanvas("t1", "", 2000,500);
+   t1->SetGrid();
+
+   //TString mygraph = "hdc"+plane_names[ip]+Form("_t_zero_run%d.txt", run);
+   TGraphErrors *graph1 = new TGraphErrors(t_zero_file_corr, "%lg %lg %lg");
+   graph1->SetName("graph1");
+   TString title1 = "hdc"+plane_names[ip]+": t0 versus sensewire_corrected";
+   graph1->SetTitle(title1);
+   graph1->SetMarkerStyle(20);
+   graph1->SetMarkerColor(1);
+   //graph1->GetXaxis()->SetLimits(0., total_wires);
+   graph1->GetXaxis()->SetTitle("Wire Number");
+   graph1->GetXaxis()->CenterTitle();
+   graph1->GetYaxis()->SetTitle("t-Zero (ns)");
+   graph1->GetYaxis()->CenterTitle();
+   graph1->GetYaxis()->SetRangeUser(-50.0, 50.0);
+   graph1->Draw("AP");
+   t1->Update();
+
+   // Draw TLine
+   TLine *wght_avg = new TLine(t1->GetUxmin(), weighted_AVG, t1->GetUxmax(), weighted_AVG);
+   wght_avg->SetLineColor(kRed);
+   wght_avg->SetLineWidth(2);
+   wght_avg->SetLineStyle(2);
+   wght_avg->Draw();
+   
+   //Add text to canvas
+   TLatex* ltx1 =  new TLatex();
+   ltx1->DrawLatex(t1->GetUxmax()*0.75,40, Form("Weighted Average = %lf #pm %lf ns", weighted_AVG, weighted_AVG_err) );
+   
+   t1->Write(title1);   //write canvas to a root file
+   
+   ofs.close();  //close data file
+
+   
+
+
+
+
+
+
+
+
+ }
+ 
+ 
+
+
+
+
+}
diff --git a/CALIBRATION/hms_dc_calib/scripts/update_hdcparam.C b/CALIBRATION/hms_dc_calib/scripts/update_hdcparam.C
new file mode 100644
index 00000000..85acf3c9
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/scripts/update_hdcparam.C
@@ -0,0 +1,111 @@
+//This scirpt will produce an updated version of hdc.param file, with
+//the necessary t-zero corrections
+#define time_shift 1300.0
+
+void update_hdcparam()
+{
+	  
+  //read run number from input file
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;   
+
+  TString run = Form("run%d", run_NUM);
+
+    int lin_NUM = 0;
+	string t_zero[12];
+	double tzero[12];
+	string line;
+   //open t_zero file
+   ifstream ifs;
+   ifs.open("../data_files/"+ run +"/tzero_weighted_avg_" + run + ".txt");
+   
+
+while (getline(ifs, line))
+  {
+    
+    istringstream ss(line);
+    char id;
+    
+    if ( ss >> t_zero)
+      {
+		
+	if (id != '#') //skip comments   
+	  {
+	    //count lines  
+	    lin_NUM = lin_NUM + 1;
+	    cout << lin_NUM << endl;    
+	       t_zero[lin_NUM-1] = line;
+	       tzero[lin_NUM-1] = atof(t_zero[lin_NUM-1].c_str()); // convert string to double
+	    cout << tzero[lin_NUM-1] << endl;
+	  }       
+	
+      }     
+    
+  }
+ifs.close();
+
+//Update hdc.param parameter file 
+TString hdc_param = "../../../PARAM/HMS/DC/hdc_new.param";
+ofstream ofs(hdc_param);
+
+ofs << ";---------------------------------------------------------------------" << endl;
+ofs <<"; HMS_TRACKING"<< endl;
+ofs <<"; CTP parameter file containing all tracking parameters for the HMS "<< endl;
+ofs <<";----------------------------------------------------------------------"<< endl;
+ofs <<"; sigma of wire chamber resolution for each plane "<< endl;
+ofs <<" hdc_sigma = 0.020 "<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"             0.020"<< endl;
+ofs <<"  hdc_tdc_min_win = -25000,-25000,-25000,-25000,-25000,-25000 "<< endl;
+ofs <<"  		    -25000,-25000,-25000,-25000,-25000,-25000 "<< endl;
+ofs <<"  hdc_tdc_max_win = 25000,25000,25000,25000,25000,25000 "<< endl;
+ofs <<"                    25000,25000,25000,25000,25000,25000 "<< endl;
+ofs <<"; hms drift chamber tdc's time per channel "<< endl;
+ofs <<"        hdc_tdc_time_per_channel = -0.10 "<< endl;
+ofs <<"; hms zero time for drift chambers	!DECREASING this number moves the hdtime plots to LOWER time. "<< endl;
+ofs <<"hdc_plane_time_zero =  ";
+
+
+//*****************************************************************
+//output all t_0 corrected values to hdc.param    
+for (int i=0; i<12; i++) { 
+{
+if (i < = 5){
+ofs  <<  time_shift - tzero[i]   << ","; 
+}
+if (i ==6) {ofs << "\n" << time_shift - tzero[6]  << ",";}
+else if (i>6 && i <11) {
+ofs << time_shift - tzero[i] << ","; 
+}
+if (i==11){ ofs << time_shift - tzero[i] << endl;}
+}
+}
+//*****************************************************************
+ofs << "\n";
+ofs <<"; Dave Abbott's wire velocity correction "<< endl;
+ofs <<"hdc_wire_velocity = 12.0 "<< endl;
+ofs <<"hdc_central_time = 7,9,3,4,6,5 "<< endl;
+ofs << "                   7,5,3,4,6,6" << endl;
+ofs.close();
+
+//create a t_zero data file copy in another directory that will also use these values
+TString tzero_dat = "../data_files/" + run + "/tzero.dat";
+ofstream ofs(tzero_dat);
+
+for (int i=0; i<12; i++) 
+{
+ofs  <<  tzero[i]  << endl; 
+}
+ 
+}
diff --git a/CALIBRATION/hms_dc_calib/scripts/wire_drift_times.C b/CALIBRATION/hms_dc_calib/scripts/wire_drift_times.C
new file mode 100644
index 00000000..11c86b9c
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/scripts/wire_drift_times.C
@@ -0,0 +1,305 @@
+#define wire_drift_times_cxx
+#include "wire_drift_times.h"
+#include <TH2.h>
+#include <TStyle.h>
+#include <TCanvas.h>
+#define NPLANES 12
+
+void wire_drift_times::Loop()
+{
+//   In a ROOT session, you can do:
+//      Root > .L wire_drift_times.C
+//      Root > wire_drift_times t
+//      Root > t.GetEntry(12); // Fill t data members with entry number 12
+//      Root > t.Show();       // Show values of entry 12
+//      Root > t.Show(16);     // Read and show values of entry 16
+//      Root > t.Loop();       // Loop on all entries
+//
+
+//     This is the loop skeleton where:
+//    jentry is the global entry number in the chain
+//    ientry is the entry number in the current Tree
+//  Note that the argument to GetEntry must be:
+//    jentry for TChain::GetEntry
+//    ientry for TTree::GetEntry and TBranch::GetEntry
+//
+//       To read only selected branches, Insert statements like:
+// METHOD1:
+//    fChain->SetBranchStatus("*",0);  // disable all branches
+//    fChain->SetBranchStatus("branchname",1);  // activate branchname
+// METHOD2: replace line
+//    fChain->GetEntry(jentry);       //read all branches
+//by  b_branchname->GetEntry(ientry); //read only this branch
+   if (fChain == 0) return;
+
+   Long64_t nentries = fChain->GetEntriesFast();
+
+//Read Run Number from txt file
+int run_NUM;
+TString f0 = "input_RUN.txt";
+ifstream infile(f0);
+infile >> run_NUM;
+
+ TString run = Form("run%d", run_NUM);
+//Declare plane names to loop over
+TString plane_names[NPLANES]={"1x1", "1y1", "1u1", "1v1", "1y2", "1x2", "2x1", "2y1", "2u1", "2v1", "2y2", "2x2"};
+
+//Declare a root file array to store individual DC cell drift times
+TString root_file[NPLANES];
+TFile *g[NPLANES];
+   
+int total_wires;  //integer to store total sense wires for a plane chosen by the user
+     
+   Long64_t nbytes = 0, nb = 0;
+   
+//Loop over all planes
+for (int ip = 0; ip < NPLANES; ip++){
+
+//Initialize a root file array to store individual DC cell drift times
+root_file[ip] = "../root_files/" + run + "/hms_DC_"+plane_names[ip]+Form("_%d.root", run_NUM);
+g[ip] = new TFile(root_file[ip], "RECREATE");
+g[ip]->cd();
+
+/*========================PLANES 1X1,1X2,2X1,2X2=====================================*/
+	
+	//If specific planes are encountered, treat them as follows:
+	
+	if(ip==0 || ip==5 || ip==6 || ip==11) {
+
+	total_wires = 113;
+	TH1F *cell_dt[113];    
+    TH2F *wire_vs_dt = new TH2F("wire_vs_dt", "", 200., -50., 350., 113., 0.,113.);
+    
+    //Initialize wire drift time histograms
+    for (int wirenum=1; wirenum<=total_wires; wirenum++){
+	cell_dt[wirenum-1] = new TH1F(Form("wire_%d", wirenum), "", 200., -50., 350.);
+     }
+	
+       //Loop over all entries (triggers or events)   
+    for (Long64_t jentry=0; jentry<nentries; jentry++) {
+      Long64_t ientry = LoadTree(jentry);
+      if (ientry < 0) break;
+      nb = fChain->GetEntry(jentry);   nbytes += nb;
+      // if (Cut(ientry) < 0) continue;
+ 
+ if (ip==0) {
+    for (int i=0; i< Ndata_H_dc_1x1_wirenum; i++){
+       wirenum = int(H_dc_1x1_wirenum[i]);
+      //cout << " wire num: " << H_dc_1x1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_1x1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_1x1_time[i]);
+     wire_vs_dt->Fill(H_dc_1x1_time[i], H_dc_1x1_wirenum[i]);
+
+				}
+			}
+							
+	 if (ip==5) {
+    for (int i=0; i< Ndata_H_dc_1x2_wirenum; i++){
+       wirenum = int(H_dc_1x2_wirenum[i]);
+      //cout << " wire num: " << H_dc_1x2_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_1x2_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_1x2_time[i]);
+     wire_vs_dt->Fill(H_dc_1x2_time[i], H_dc_1x2_wirenum[i]);
+
+				}
+			}						
+			
+		 if (ip==6) {
+    for (int i=0; i< Ndata_H_dc_2x1_wirenum; i++){
+       wirenum = int(H_dc_2x1_wirenum[i]);
+      //cout << " wire num: " << H_dc_2x1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_2x1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_2x1_time[i]);
+     wire_vs_dt->Fill(H_dc_2x1_time[i], H_dc_2x1_wirenum[i]);
+
+				}
+			}		
+			
+		if (ip==11) {
+    for (int i=0; i< Ndata_H_dc_2x2_wirenum; i++){
+       wirenum = int(H_dc_2x2_wirenum[i]);
+      //cout << " wire num: " << H_dc_2x2_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_2x2_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_2x2_time[i]);
+     wire_vs_dt->Fill(H_dc_2x2_time[i], H_dc_2x2_wirenum[i]);
+
+				}
+			}						
+					
+					
+					
+					}
+					}
+					
+	/*PLANE 1U1, 1V1, 2U1, 2V1*/				
+	//If specific planes are encountered, treat them as follows:
+	if(ip==2 || ip==3 || ip==8 || ip==9) {
+
+	total_wires = 107;
+	TH1F *cell_dt[107];    
+    TH2F *wire_vs_dt = new TH2F("wire_vs_dt", "", 200., -50., 350., 107., 0.,107.);
+    
+    //Initialize wire drift time histograms
+    for (int wirenum=1; wirenum<=total_wires; wirenum++){
+	cell_dt[wirenum-1] = new TH1F(Form("wire_%d", wirenum), "", 200., -50., 350.);
+     }
+	
+       //Loop over all entries (triggers or events)   
+    for (Long64_t jentry=0; jentry<nentries; jentry++) {
+      Long64_t ientry = LoadTree(jentry);
+      if (ientry < 0) break;
+      nb = fChain->GetEntry(jentry);   nbytes += nb;
+      // if (Cut(ientry) < 0) continue;
+ 
+ if (ip==2) {
+    for (int i=0; i< Ndata_H_dc_1u1_wirenum; i++){
+       wirenum = int(H_dc_1u1_wirenum[i]);
+      //cout << " wire num: " << H_dc_1u1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_1u1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_1u1_time[i]);
+     wire_vs_dt->Fill(H_dc_1u1_time[i], H_dc_1u1_wirenum[i]);
+
+				}
+			}
+							
+	 if (ip==3) {
+    for (int i=0; i< Ndata_H_dc_1v1_wirenum; i++){
+       wirenum = int(H_dc_1v1_wirenum[i]);
+      //cout << " wire num: " << H_dc_1v1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_1v1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_1v1_time[i]);
+     wire_vs_dt->Fill(H_dc_1v1_time[i], H_dc_1v1_wirenum[i]);
+
+				}
+			}						
+			
+		 if (ip==8) {
+    for (int i=0; i< Ndata_H_dc_2u1_wirenum; i++){
+       wirenum = int(H_dc_2u1_wirenum[i]);
+      //cout << " wire num: " << H_dc_2u1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_2u1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_2u1_time[i]);
+     wire_vs_dt->Fill(H_dc_2u1_time[i], H_dc_2u1_wirenum[i]);
+
+				}
+			}		
+			
+		if (ip==9) {
+    for (int i=0; i< Ndata_H_dc_2v1_wirenum; i++){
+       wirenum = int(H_dc_2v1_wirenum[i]);
+      //cout << " wire num: " << H_dc_2v1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_2v1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_2v1_time[i]);
+     wire_vs_dt->Fill(H_dc_2v1_time[i], H_dc_2v1_wirenum[i]);
+
+				}
+			}						
+					
+					
+					
+					}
+					}
+
+	/*PLANE 1Y1, 1Y2, 2Y1, 2Y2*/				
+	//If specific planes are encountered, treat them as follows:
+	if(ip==1 || ip==4 || ip==7 || ip==10) {
+
+	total_wires = 52;
+	TH1F *cell_dt[52];    
+    TH2F *wire_vs_dt = new TH2F("wire_vs_dt", "", 200., -50., 350., 52., 0.,52.);
+    
+    //Initialize wire drift time histograms
+    for (int wirenum=1; wirenum<=total_wires; wirenum++){
+	cell_dt[wirenum-1] = new TH1F(Form("wire_%d", wirenum), "", 200., -50., 350.);
+     }
+	
+       //Loop over all entries (triggers or events)   
+    for (Long64_t jentry=0; jentry<nentries; jentry++) {
+      Long64_t ientry = LoadTree(jentry);
+      if (ientry < 0) break;
+      nb = fChain->GetEntry(jentry);   nbytes += nb;
+      // if (Cut(ientry) < 0) continue;
+ 
+ if (ip==1) {
+    for (int i=0; i< Ndata_H_dc_1y1_wirenum; i++){
+       wirenum = int(H_dc_1y1_wirenum[i]);
+      //cout << " wire num: " << H_dc_1y1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_1y1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_1y1_time[i]);
+     wire_vs_dt->Fill(H_dc_1y1_time[i], H_dc_1y1_wirenum[i]);
+
+				}
+			}
+							
+	 if (ip==4) {
+    for (int i=0; i< Ndata_H_dc_1y2_wirenum; i++){
+       wirenum = int(H_dc_1y2_wirenum[i]);
+      //cout << " wire num: " << H_dc_1y2_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_1y2_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_1y2_time[i]);
+     wire_vs_dt->Fill(H_dc_1y2_time[i], H_dc_1y2_wirenum[i]);
+
+				}
+			}						
+			
+		 if (ip==7) {
+    for (int i=0; i< Ndata_H_dc_2y1_wirenum; i++){
+       wirenum = int(H_dc_2y1_wirenum[i]);
+      //cout << " wire num: " << H_dc_2y1_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_2y1_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_2y1_time[i]);
+     wire_vs_dt->Fill(H_dc_2y1_time[i], H_dc_2y1_wirenum[i]);
+
+				}
+			}		
+			
+		if (ip==10) {
+    for (int i=0; i< Ndata_H_dc_2y2_wirenum; i++){
+       wirenum = int(H_dc_2y2_wirenum[i]);
+      //cout << " wire num: " << H_dc_2y2_wirenum[i] << endl;
+	  //cout << "Time: " << H_dc_2y2_time[i] << endl;
+
+      //Fill the Histograms
+     cell_dt[wirenum-1]->Fill(H_dc_2y2_time[i]);
+     wire_vs_dt->Fill(H_dc_2y2_time[i], H_dc_2y2_wirenum[i]);
+
+				}
+			}						
+					
+					
+					
+					}
+					}
+
+//Write wire drift time histos to file
+g[ip]->Write();
+	cout << "EVERYTHING OK in plane:" << ip << endl;	
+
+}
+
+
+     //     cout << "\r          \r" << (float)sensewire / total_wires * 100.0 << "%" << flush; 
+
+}
diff --git a/CALIBRATION/hms_dc_calib/scripts/wire_drift_times.h b/CALIBRATION/hms_dc_calib/scripts/wire_drift_times.h
new file mode 100644
index 00000000..e0bafccd
--- /dev/null
+++ b/CALIBRATION/hms_dc_calib/scripts/wire_drift_times.h
@@ -0,0 +1,550 @@
+//////////////////////////////////////////////////////////
+// This class has been automatically generated on
+// Sun Dec 18 12:03:19 2016 by ROOT version 5.34/18
+// from TTree T/Hall A Analyzer Output DST
+// found on file: test_259.root
+//////////////////////////////////////////////////////////
+
+#ifndef wire_drift_times_h
+#define wire_drift_times_h
+
+#include <TROOT.h>
+#include <TChain.h>
+#include <TFile.h>
+
+// Header file for the classes stored in the TTree if any.
+
+// Fixed size dimensions of array or collections stored in the TTree if any.
+
+class wire_drift_times {
+public :
+   TTree          *fChain;   //!pointer to the analyzed TTree or TChain
+   Int_t           fCurrent; //!current Tree number in a TChain
+
+   // Declaration of leaf types
+   Int_t           Ndata_H_dc_1u1_dist;
+   Double_t        H_dc_1u1_dist[107];   //[Ndata.H.dc.1u1.dist]
+   Int_t           Ndata_H_dc_1u1_rawtdc;
+   Double_t        H_dc_1u1_rawtdc[107];   //[Ndata.H.dc.1u1.rawtdc]
+   Int_t           Ndata_H_dc_1u1_time;
+   Double_t        H_dc_1u1_time[107];   //[Ndata.H.dc.1u1.time]
+   Int_t           Ndata_H_dc_1u1_wirenum;
+   Double_t        H_dc_1u1_wirenum[107];   //[Ndata.H.dc.1u1.wirenum]
+   Int_t           Ndata_H_dc_1v1_dist;
+   Double_t        H_dc_1v1_dist[107];   //[Ndata.H.dc.1v1.dist]
+   Int_t           Ndata_H_dc_1v1_rawtdc;
+   Double_t        H_dc_1v1_rawtdc[107];   //[Ndata.H.dc.1v1.rawtdc]
+   Int_t           Ndata_H_dc_1v1_time;
+   Double_t        H_dc_1v1_time[107];   //[Ndata.H.dc.1v1.time]
+   Int_t           Ndata_H_dc_1v1_wirenum;
+   Double_t        H_dc_1v1_wirenum[107];   //[Ndata.H.dc.1v1.wirenum]
+   Int_t           Ndata_H_dc_1x1_dist;
+   Double_t        H_dc_1x1_dist[113];   //[Ndata.H.dc.1x1.dist]
+   Int_t           Ndata_H_dc_1x1_rawtdc;
+   Double_t        H_dc_1x1_rawtdc[113];   //[Ndata.H.dc.1x1.rawtdc]
+   Int_t           Ndata_H_dc_1x1_time;
+   Double_t        H_dc_1x1_time[113];   //[Ndata.H.dc.1x1.time]
+   Int_t           Ndata_H_dc_1x1_wirenum;
+   Double_t        H_dc_1x1_wirenum[113];   //[Ndata.H.dc.1x1.wirenum]
+   Int_t           Ndata_H_dc_1x2_dist;
+   Double_t        H_dc_1x2_dist[113];   //[Ndata.H.dc.1x2.dist]
+   Int_t           Ndata_H_dc_1x2_rawtdc;
+   Double_t        H_dc_1x2_rawtdc[113];   //[Ndata.H.dc.1x2.rawtdc]
+   Int_t           Ndata_H_dc_1x2_time;
+   Double_t        H_dc_1x2_time[113];   //[Ndata.H.dc.1x2.time]
+   Int_t           Ndata_H_dc_1x2_wirenum;
+   Double_t        H_dc_1x2_wirenum[113];   //[Ndata.H.dc.1x2.wirenum]
+   Int_t           Ndata_H_dc_1y1_dist;
+   Double_t        H_dc_1y1_dist[52];   //[Ndata.H.dc.1y1.dist]
+   Int_t           Ndata_H_dc_1y1_rawtdc;
+   Double_t        H_dc_1y1_rawtdc[52];   //[Ndata.H.dc.1y1.rawtdc]
+   Int_t           Ndata_H_dc_1y1_time;
+   Double_t        H_dc_1y1_time[52];   //[Ndata.H.dc.1y1.time]
+   Int_t           Ndata_H_dc_1y1_wirenum;
+   Double_t        H_dc_1y1_wirenum[52];   //[Ndata.H.dc.1y1.wirenum]
+   Int_t           Ndata_H_dc_1y2_dist;
+   Double_t        H_dc_1y2_dist[52];   //[Ndata.H.dc.1y2.dist]
+   Int_t           Ndata_H_dc_1y2_rawtdc;
+   Double_t        H_dc_1y2_rawtdc[52];   //[Ndata.H.dc.1y2.rawtdc]
+   Int_t           Ndata_H_dc_1y2_time;
+   Double_t        H_dc_1y2_time[52];   //[Ndata.H.dc.1y2.time]
+   Int_t           Ndata_H_dc_1y2_wirenum;
+   Double_t        H_dc_1y2_wirenum[52];   //[Ndata.H.dc.1y2.wirenum]
+   Int_t           Ndata_H_dc_2u1_dist;
+   Double_t        H_dc_2u1_dist[107];   //[Ndata.H.dc.2u1.dist]
+   Int_t           Ndata_H_dc_2u1_rawtdc;
+   Double_t        H_dc_2u1_rawtdc[107];   //[Ndata.H.dc.2u1.rawtdc]
+   Int_t           Ndata_H_dc_2u1_time;
+   Double_t        H_dc_2u1_time[107];   //[Ndata.H.dc.2u1.time]
+   Int_t           Ndata_H_dc_2u1_wirenum;
+   Double_t        H_dc_2u1_wirenum[107];   //[Ndata.H.dc.2u1.wirenum]
+   Int_t           Ndata_H_dc_2v1_dist;
+   Double_t        H_dc_2v1_dist[107];   //[Ndata.H.dc.2v1.dist]
+   Int_t           Ndata_H_dc_2v1_rawtdc;
+   Double_t        H_dc_2v1_rawtdc[107];   //[Ndata.H.dc.2v1.rawtdc]
+   Int_t           Ndata_H_dc_2v1_time;
+   Double_t        H_dc_2v1_time[107];   //[Ndata.H.dc.2v1.time]
+   Int_t           Ndata_H_dc_2v1_wirenum;
+   Double_t        H_dc_2v1_wirenum[107];   //[Ndata.H.dc.2v1.wirenum]
+   Int_t           Ndata_H_dc_2x1_dist;
+   Double_t        H_dc_2x1_dist[113];   //[Ndata.H.dc.2x1.dist]
+   Int_t           Ndata_H_dc_2x1_rawtdc;
+   Double_t        H_dc_2x1_rawtdc[113];   //[Ndata.H.dc.2x1.rawtdc]
+   Int_t           Ndata_H_dc_2x1_time;
+   Double_t        H_dc_2x1_time[113];   //[Ndata.H.dc.2x1.time]
+   Int_t           Ndata_H_dc_2x1_wirenum;
+   Double_t        H_dc_2x1_wirenum[113];   //[Ndata.H.dc.2x1.wirenum]
+   Int_t           Ndata_H_dc_2x2_dist;
+   Double_t        H_dc_2x2_dist[113];   //[Ndata.H.dc.2x2.dist]
+   Int_t           Ndata_H_dc_2x2_rawtdc;
+   Double_t        H_dc_2x2_rawtdc[113];   //[Ndata.H.dc.2x2.rawtdc]
+   Int_t           Ndata_H_dc_2x2_time;
+   Double_t        H_dc_2x2_time[113];   //[Ndata.H.dc.2x2.time]
+   Int_t           Ndata_H_dc_2x2_wirenum;
+   Double_t        H_dc_2x2_wirenum[113];   //[Ndata.H.dc.2x2.wirenum]
+   Int_t           Ndata_H_dc_2y1_dist;
+   Double_t        H_dc_2y1_dist[52];   //[Ndata.H.dc.2y1.dist]
+   Int_t           Ndata_H_dc_2y1_rawtdc;
+   Double_t        H_dc_2y1_rawtdc[52];   //[Ndata.H.dc.2y1.rawtdc]
+   Int_t           Ndata_H_dc_2y1_time;
+   Double_t        H_dc_2y1_time[52];   //[Ndata.H.dc.2y1.time]
+   Int_t           Ndata_H_dc_2y1_wirenum;
+   Double_t        H_dc_2y1_wirenum[52];   //[Ndata.H.dc.2y1.wirenum]
+   Int_t           Ndata_H_dc_2y2_dist;
+   Double_t        H_dc_2y2_dist[52];   //[Ndata.H.dc.2y2.dist]
+   Int_t           Ndata_H_dc_2y2_rawtdc;
+   Double_t        H_dc_2y2_rawtdc[52];   //[Ndata.H.dc.2y2.rawtdc]
+   Int_t           Ndata_H_dc_2y2_time;
+   Double_t        H_dc_2y2_time[52];   //[Ndata.H.dc.2y2.time]
+   Int_t           Ndata_H_dc_2y2_wirenum;
+   Double_t        H_dc_2y2_wirenum[52];   //[Ndata.H.dc.2y2.wirenum]
+   Int_t           Ndata_H_dc_residual;
+   Double_t        H_dc_residual[12];   //[Ndata.H.dc.residual]
+   Int_t           Ndata_H_dc_x;
+   Double_t        H_dc_x[8];   //[Ndata.H.dc.x]
+   Int_t           Ndata_H_dc_xp;
+   Double_t        H_dc_xp[8];   //[Ndata.H.dc.xp]
+   Int_t           Ndata_H_dc_y;
+   Double_t        H_dc_y[8];   //[Ndata.H.dc.y]
+   Int_t           Ndata_H_dc_yp;
+   Double_t        H_dc_yp[8];   //[Ndata.H.dc.yp]
+   Double_t        H_dc_1u1_nhit;
+   Double_t        H_dc_1v1_nhit;
+   Double_t        H_dc_1x1_nhit;
+   Double_t        H_dc_1x2_nhit;
+   Double_t        H_dc_1y1_nhit;
+   Double_t        H_dc_1y2_nhit;
+   Double_t        H_dc_2u1_nhit;
+   Double_t        H_dc_2v1_nhit;
+   Double_t        H_dc_2x1_nhit;
+   Double_t        H_dc_2x2_nhit;
+   Double_t        H_dc_2y1_nhit;
+   Double_t        H_dc_2y2_nhit;
+   Double_t        H_dc_Ch1_maxhits;
+   Double_t        H_dc_Ch1_nhit;
+   Double_t        H_dc_Ch1_spacepoints;
+   Double_t        H_dc_Ch1_trawhit;
+   Double_t        H_dc_Ch2_maxhits;
+   Double_t        H_dc_Ch2_nhit;
+   Double_t        H_dc_Ch2_spacepoints;
+   Double_t        H_dc_Ch2_trawhit;
+   Double_t        H_dc_nhit;
+   Double_t        H_dc_nsp;
+   Double_t        H_dc_ntrack;
+   Double_t        H_dc_stubtest;
+   Double_t        H_dc_tnhit;
+   Double_t        H_dc_trawhit;
+ 
+ //THaEvent        *Event_Branch;
+   ULong64_t       fEvtHdr_fEvtTime;
+   UInt_t          fEvtHdr_fEvtNum;
+   Int_t           fEvtHdr_fEvtType;
+   Int_t           fEvtHdr_fEvtLen;
+   Int_t           fEvtHdr_fHelicity;
+   Int_t           fEvtHdr_fTargetPol;
+   Int_t           fEvtHdr_fRun;
+
+   // List of branches
+   TBranch        *b_Ndata_H_dc_1u1_dist;   //!
+   TBranch        *b_H_dc_1u1_dist;   //!
+   TBranch        *b_Ndata_H_dc_1u1_rawtdc;   //!
+   TBranch        *b_H_dc_1u1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_1u1_time;   //!
+   TBranch        *b_H_dc_1u1_time;   //!
+   TBranch        *b_Ndata_H_dc_1u1_wirenum;   //!
+   TBranch        *b_H_dc_1u1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_1v1_dist;   //!
+   TBranch        *b_H_dc_1v1_dist;   //!
+   TBranch        *b_Ndata_H_dc_1v1_rawtdc;   //!
+   TBranch        *b_H_dc_1v1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_1v1_time;   //!
+   TBranch        *b_H_dc_1v1_time;   //!
+   TBranch        *b_Ndata_H_dc_1v1_wirenum;   //!
+   TBranch        *b_H_dc_1v1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_1x1_dist;   //!
+   TBranch        *b_H_dc_1x1_dist;   //!
+   TBranch        *b_Ndata_H_dc_1x1_rawtdc;   //!
+   TBranch        *b_H_dc_1x1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_1x1_time;   //!
+   TBranch        *b_H_dc_1x1_time;   //!
+   TBranch        *b_Ndata_H_dc_1x1_wirenum;   //!
+   TBranch        *b_H_dc_1x1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_1x2_dist;   //!
+   TBranch        *b_H_dc_1x2_dist;   //!
+   TBranch        *b_Ndata_H_dc_1x2_rawtdc;   //!
+   TBranch        *b_H_dc_1x2_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_1x2_time;   //!
+   TBranch        *b_H_dc_1x2_time;   //!
+   TBranch        *b_Ndata_H_dc_1x2_wirenum;   //!
+   TBranch        *b_H_dc_1x2_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_1y1_dist;   //!
+   TBranch        *b_H_dc_1y1_dist;   //!
+   TBranch        *b_Ndata_H_dc_1y1_rawtdc;   //!
+   TBranch        *b_H_dc_1y1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_1y1_time;   //!
+   TBranch        *b_H_dc_1y1_time;   //!
+   TBranch        *b_Ndata_H_dc_1y1_wirenum;   //!
+   TBranch        *b_H_dc_1y1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_1y2_dist;   //!
+   TBranch        *b_H_dc_1y2_dist;   //!
+   TBranch        *b_Ndata_H_dc_1y2_rawtdc;   //!
+   TBranch        *b_H_dc_1y2_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_1y2_time;   //!
+   TBranch        *b_H_dc_1y2_time;   //!
+   TBranch        *b_Ndata_H_dc_1y2_wirenum;   //!
+   TBranch        *b_H_dc_1y2_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_2u1_dist;   //!
+   TBranch        *b_H_dc_2u1_dist;   //!
+   TBranch        *b_Ndata_H_dc_2u1_rawtdc;   //!
+   TBranch        *b_H_dc_2u1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_2u1_time;   //!
+   TBranch        *b_H_dc_2u1_time;   //!
+   TBranch        *b_Ndata_H_dc_2u1_wirenum;   //!
+   TBranch        *b_H_dc_2u1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_2v1_dist;   //!
+   TBranch        *b_H_dc_2v1_dist;   //!
+   TBranch        *b_Ndata_H_dc_2v1_rawtdc;   //!
+   TBranch        *b_H_dc_2v1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_2v1_time;   //!
+   TBranch        *b_H_dc_2v1_time;   //!
+   TBranch        *b_Ndata_H_dc_2v1_wirenum;   //!
+   TBranch        *b_H_dc_2v1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_2x1_dist;   //!
+   TBranch        *b_H_dc_2x1_dist;   //!
+   TBranch        *b_Ndata_H_dc_2x1_rawtdc;   //!
+   TBranch        *b_H_dc_2x1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_2x1_time;   //!
+   TBranch        *b_H_dc_2x1_time;   //!
+   TBranch        *b_Ndata_H_dc_2x1_wirenum;   //!
+   TBranch        *b_H_dc_2x1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_2x2_dist;   //!
+   TBranch        *b_H_dc_2x2_dist;   //!
+   TBranch        *b_Ndata_H_dc_2x2_rawtdc;   //!
+   TBranch        *b_H_dc_2x2_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_2x2_time;   //!
+   TBranch        *b_H_dc_2x2_time;   //!
+   TBranch        *b_Ndata_H_dc_2x2_wirenum;   //!
+   TBranch        *b_H_dc_2x2_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_2y1_dist;   //!
+   TBranch        *b_H_dc_2y1_dist;   //!
+   TBranch        *b_Ndata_H_dc_2y1_rawtdc;   //!
+   TBranch        *b_H_dc_2y1_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_2y1_time;   //!
+   TBranch        *b_H_dc_2y1_time;   //!
+   TBranch        *b_Ndata_H_dc_2y1_wirenum;   //!
+   TBranch        *b_H_dc_2y1_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_2y2_dist;   //!
+   TBranch        *b_H_dc_2y2_dist;   //!
+   TBranch        *b_Ndata_H_dc_2y2_rawtdc;   //!
+   TBranch        *b_H_dc_2y2_rawtdc;   //!
+   TBranch        *b_Ndata_H_dc_2y2_time;   //!
+   TBranch        *b_H_dc_2y2_time;   //!
+   TBranch        *b_Ndata_H_dc_2y2_wirenum;   //!
+   TBranch        *b_H_dc_2y2_wirenum;   //!
+   TBranch        *b_Ndata_H_dc_residual;   //!
+   TBranch        *b_H_dc_residual;   //!
+   TBranch        *b_Ndata_H_dc_x;   //!
+   TBranch        *b_H_dc_x;   //!
+   TBranch        *b_Ndata_H_dc_xp;   //!
+   TBranch        *b_H_dc_xp;   //!
+   TBranch        *b_Ndata_H_dc_y;   //!
+   TBranch        *b_H_dc_y;   //!
+   TBranch        *b_Ndata_H_dc_yp;   //!
+   TBranch        *b_H_dc_yp;   //!
+   TBranch        *b_H_dc_1u1_nhit;   //!
+   TBranch        *b_H_dc_1v1_nhit;   //!
+   TBranch        *b_H_dc_1x1_nhit;   //!
+   TBranch        *b_H_dc_1x2_nhit;   //!
+   TBranch        *b_H_dc_1y1_nhit;   //!
+   TBranch        *b_H_dc_1y2_nhit;   //!
+   TBranch        *b_H_dc_2u1_nhit;   //!
+   TBranch        *b_H_dc_2v1_nhit;   //!
+   TBranch        *b_H_dc_2x1_nhit;   //!
+   TBranch        *b_H_dc_2x2_nhit;   //!
+   TBranch        *b_H_dc_2y1_nhit;   //!
+   TBranch        *b_H_dc_2y2_nhit;   //!
+   TBranch        *b_H_dc_Ch1_maxhits;   //!
+   TBranch        *b_H_dc_Ch1_nhit;   //!
+   TBranch        *b_H_dc_Ch1_spacepoints;   //!
+   TBranch        *b_H_dc_Ch1_trawhit;   //!
+   TBranch        *b_H_dc_Ch2_maxhits;   //!
+   TBranch        *b_H_dc_Ch2_nhit;   //!
+   TBranch        *b_H_dc_Ch2_spacepoints;   //!
+   TBranch        *b_H_dc_Ch2_trawhit;   //!
+   TBranch        *b_H_dc_nhit;   //!
+   TBranch        *b_H_dc_nsp;   //!
+   TBranch        *b_H_dc_ntrack;   //!
+   TBranch        *b_H_dc_stubtest;   //!
+   TBranch        *b_H_dc_tnhit;   //!
+   TBranch        *b_H_dc_trawhit;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtTime;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtNum;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtType;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtLen;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fHelicity;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fTargetPol;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fRun;   //!
+
+   wire_drift_times(TTree *tree=0);
+   virtual ~wire_drift_times();
+   virtual Int_t    Cut(Long64_t entry);
+   virtual Int_t    GetEntry(Long64_t entry);
+   virtual Long64_t LoadTree(Long64_t entry);
+   virtual void     Init(TTree *tree);
+   virtual void     Loop();
+   virtual Bool_t   Notify();
+   virtual void     Show(Long64_t entry = -1);
+};
+
+#endif
+
+#ifdef wire_drift_times_cxx
+wire_drift_times::wire_drift_times(TTree *tree) : fChain(0)
+{
+// if parameter tree is not specified (or zero), connect the file
+// used to generate this class and read the Tree.
+   if (tree == 0) {
+     int run_NUM;
+     TString f0 = "input_RUN.txt";
+     ifstream infile(f0);
+     infile >> run_NUM;         
+     
+     TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject(Form("../../../ROOTfiles/test_%d.root", run_NUM));
+     if (!f || !f->IsOpen()) {
+       f = new TFile(Form("../../../ROOTfiles/test_%d.root", run_NUM));
+     }
+     f->GetObject("T",tree);
+
+   }
+   Init(tree);
+}
+
+wire_drift_times::~wire_drift_times()
+{
+   if (!fChain) return;
+   delete fChain->GetCurrentFile();
+}
+
+Int_t wire_drift_times::GetEntry(Long64_t entry)
+{
+// Read contents of entry.
+   if (!fChain) return 0;
+   return fChain->GetEntry(entry);
+}
+Long64_t wire_drift_times::LoadTree(Long64_t entry)
+{
+// Set the environment to read one entry
+   if (!fChain) return -5;
+   Long64_t centry = fChain->LoadTree(entry);
+   if (centry < 0) return centry;
+   if (fChain->GetTreeNumber() != fCurrent) {
+      fCurrent = fChain->GetTreeNumber();
+      Notify();
+   }
+   return centry;
+}
+
+void wire_drift_times::Init(TTree *tree)
+{
+   // The Init() function is called when the selector needs to initialize
+   // a new tree or chain. Typically here the branch addresses and branch
+   // pointers of the tree will be set.
+   // It is normally not necessary to make changes to the generated
+   // code, but the routine can be extended by the user if needed.
+   // Init() will be called many times when running on PROOF
+   // (once per file to be processed).
+
+   // Set branch addresses and branch pointers
+   if (!tree) return;
+   fChain = tree;
+   fCurrent = -1;
+   fChain->SetMakeClass(1);
+
+   fChain->SetBranchAddress("Ndata.H.dc.1u1.dist", &Ndata_H_dc_1u1_dist, &b_Ndata_H_dc_1u1_dist);
+   fChain->SetBranchAddress("H.dc.1u1.dist", H_dc_1u1_dist, &b_H_dc_1u1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.1u1.rawtdc", &Ndata_H_dc_1u1_rawtdc, &b_Ndata_H_dc_1u1_rawtdc);
+   fChain->SetBranchAddress("H.dc.1u1.rawtdc", H_dc_1u1_rawtdc, &b_H_dc_1u1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.1u1.time", &Ndata_H_dc_1u1_time, &b_Ndata_H_dc_1u1_time);
+   fChain->SetBranchAddress("H.dc.1u1.time", H_dc_1u1_time, &b_H_dc_1u1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.1u1.wirenum", &Ndata_H_dc_1u1_wirenum, &b_Ndata_H_dc_1u1_wirenum);
+   fChain->SetBranchAddress("H.dc.1u1.wirenum", H_dc_1u1_wirenum, &b_H_dc_1u1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.1v1.dist", &Ndata_H_dc_1v1_dist, &b_Ndata_H_dc_1v1_dist);
+   fChain->SetBranchAddress("H.dc.1v1.dist", H_dc_1v1_dist, &b_H_dc_1v1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.1v1.rawtdc", &Ndata_H_dc_1v1_rawtdc, &b_Ndata_H_dc_1v1_rawtdc);
+   fChain->SetBranchAddress("H.dc.1v1.rawtdc", H_dc_1v1_rawtdc, &b_H_dc_1v1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.1v1.time", &Ndata_H_dc_1v1_time, &b_Ndata_H_dc_1v1_time);
+   fChain->SetBranchAddress("H.dc.1v1.time", H_dc_1v1_time, &b_H_dc_1v1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.1v1.wirenum", &Ndata_H_dc_1v1_wirenum, &b_Ndata_H_dc_1v1_wirenum);
+   fChain->SetBranchAddress("H.dc.1v1.wirenum", H_dc_1v1_wirenum, &b_H_dc_1v1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.1x1.dist", &Ndata_H_dc_1x1_dist, &b_Ndata_H_dc_1x1_dist);
+   fChain->SetBranchAddress("H.dc.1x1.dist", H_dc_1x1_dist, &b_H_dc_1x1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.1x1.rawtdc", &Ndata_H_dc_1x1_rawtdc, &b_Ndata_H_dc_1x1_rawtdc);
+   fChain->SetBranchAddress("H.dc.1x1.rawtdc", H_dc_1x1_rawtdc, &b_H_dc_1x1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.1x1.time", &Ndata_H_dc_1x1_time, &b_Ndata_H_dc_1x1_time);
+   fChain->SetBranchAddress("H.dc.1x1.time", H_dc_1x1_time, &b_H_dc_1x1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.1x1.wirenum", &Ndata_H_dc_1x1_wirenum, &b_Ndata_H_dc_1x1_wirenum);
+   fChain->SetBranchAddress("H.dc.1x1.wirenum", H_dc_1x1_wirenum, &b_H_dc_1x1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.1x2.dist", &Ndata_H_dc_1x2_dist, &b_Ndata_H_dc_1x2_dist);
+   fChain->SetBranchAddress("H.dc.1x2.dist", H_dc_1x2_dist, &b_H_dc_1x2_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.1x2.rawtdc", &Ndata_H_dc_1x2_rawtdc, &b_Ndata_H_dc_1x2_rawtdc);
+   fChain->SetBranchAddress("H.dc.1x2.rawtdc", H_dc_1x2_rawtdc, &b_H_dc_1x2_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.1x2.time", &Ndata_H_dc_1x2_time, &b_Ndata_H_dc_1x2_time);
+   fChain->SetBranchAddress("H.dc.1x2.time", H_dc_1x2_time, &b_H_dc_1x2_time);
+   fChain->SetBranchAddress("Ndata.H.dc.1x2.wirenum", &Ndata_H_dc_1x2_wirenum, &b_Ndata_H_dc_1x2_wirenum);
+   fChain->SetBranchAddress("H.dc.1x2.wirenum", H_dc_1x2_wirenum, &b_H_dc_1x2_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.1y1.dist", &Ndata_H_dc_1y1_dist, &b_Ndata_H_dc_1y1_dist);
+   fChain->SetBranchAddress("H.dc.1y1.dist", H_dc_1y1_dist, &b_H_dc_1y1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.1y1.rawtdc", &Ndata_H_dc_1y1_rawtdc, &b_Ndata_H_dc_1y1_rawtdc);
+   fChain->SetBranchAddress("H.dc.1y1.rawtdc", H_dc_1y1_rawtdc, &b_H_dc_1y1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.1y1.time", &Ndata_H_dc_1y1_time, &b_Ndata_H_dc_1y1_time);
+   fChain->SetBranchAddress("H.dc.1y1.time", H_dc_1y1_time, &b_H_dc_1y1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.1y1.wirenum", &Ndata_H_dc_1y1_wirenum, &b_Ndata_H_dc_1y1_wirenum);
+   fChain->SetBranchAddress("H.dc.1y1.wirenum", H_dc_1y1_wirenum, &b_H_dc_1y1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.1y2.dist", &Ndata_H_dc_1y2_dist, &b_Ndata_H_dc_1y2_dist);
+   fChain->SetBranchAddress("H.dc.1y2.dist", H_dc_1y2_dist, &b_H_dc_1y2_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.1y2.rawtdc", &Ndata_H_dc_1y2_rawtdc, &b_Ndata_H_dc_1y2_rawtdc);
+   fChain->SetBranchAddress("H.dc.1y2.rawtdc", H_dc_1y2_rawtdc, &b_H_dc_1y2_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.1y2.time", &Ndata_H_dc_1y2_time, &b_Ndata_H_dc_1y2_time);
+   fChain->SetBranchAddress("H.dc.1y2.time", H_dc_1y2_time, &b_H_dc_1y2_time);
+   fChain->SetBranchAddress("Ndata.H.dc.1y2.wirenum", &Ndata_H_dc_1y2_wirenum, &b_Ndata_H_dc_1y2_wirenum);
+   fChain->SetBranchAddress("H.dc.1y2.wirenum", H_dc_1y2_wirenum, &b_H_dc_1y2_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.2u1.dist", &Ndata_H_dc_2u1_dist, &b_Ndata_H_dc_2u1_dist);
+   fChain->SetBranchAddress("H.dc.2u1.dist", H_dc_2u1_dist, &b_H_dc_2u1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.2u1.rawtdc", &Ndata_H_dc_2u1_rawtdc, &b_Ndata_H_dc_2u1_rawtdc);
+   fChain->SetBranchAddress("H.dc.2u1.rawtdc", H_dc_2u1_rawtdc, &b_H_dc_2u1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.2u1.time", &Ndata_H_dc_2u1_time, &b_Ndata_H_dc_2u1_time);
+   fChain->SetBranchAddress("H.dc.2u1.time", H_dc_2u1_time, &b_H_dc_2u1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.2u1.wirenum", &Ndata_H_dc_2u1_wirenum, &b_Ndata_H_dc_2u1_wirenum);
+   fChain->SetBranchAddress("H.dc.2u1.wirenum", H_dc_2u1_wirenum, &b_H_dc_2u1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.2v1.dist", &Ndata_H_dc_2v1_dist, &b_Ndata_H_dc_2v1_dist);
+   fChain->SetBranchAddress("H.dc.2v1.dist", H_dc_2v1_dist, &b_H_dc_2v1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.2v1.rawtdc", &Ndata_H_dc_2v1_rawtdc, &b_Ndata_H_dc_2v1_rawtdc);
+   fChain->SetBranchAddress("H.dc.2v1.rawtdc", H_dc_2v1_rawtdc, &b_H_dc_2v1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.2v1.time", &Ndata_H_dc_2v1_time, &b_Ndata_H_dc_2v1_time);
+   fChain->SetBranchAddress("H.dc.2v1.time", H_dc_2v1_time, &b_H_dc_2v1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.2v1.wirenum", &Ndata_H_dc_2v1_wirenum, &b_Ndata_H_dc_2v1_wirenum);
+   fChain->SetBranchAddress("H.dc.2v1.wirenum", H_dc_2v1_wirenum, &b_H_dc_2v1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.2x1.dist", &Ndata_H_dc_2x1_dist, &b_Ndata_H_dc_2x1_dist);
+   fChain->SetBranchAddress("H.dc.2x1.dist", H_dc_2x1_dist, &b_H_dc_2x1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.2x1.rawtdc", &Ndata_H_dc_2x1_rawtdc, &b_Ndata_H_dc_2x1_rawtdc);
+   fChain->SetBranchAddress("H.dc.2x1.rawtdc", H_dc_2x1_rawtdc, &b_H_dc_2x1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.2x1.time", &Ndata_H_dc_2x1_time, &b_Ndata_H_dc_2x1_time);
+   fChain->SetBranchAddress("H.dc.2x1.time", H_dc_2x1_time, &b_H_dc_2x1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.2x1.wirenum", &Ndata_H_dc_2x1_wirenum, &b_Ndata_H_dc_2x1_wirenum);
+   fChain->SetBranchAddress("H.dc.2x1.wirenum", H_dc_2x1_wirenum, &b_H_dc_2x1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.2x2.dist", &Ndata_H_dc_2x2_dist, &b_Ndata_H_dc_2x2_dist);
+   fChain->SetBranchAddress("H.dc.2x2.dist", H_dc_2x2_dist, &b_H_dc_2x2_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.2x2.rawtdc", &Ndata_H_dc_2x2_rawtdc, &b_Ndata_H_dc_2x2_rawtdc);
+   fChain->SetBranchAddress("H.dc.2x2.rawtdc", H_dc_2x2_rawtdc, &b_H_dc_2x2_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.2x2.time", &Ndata_H_dc_2x2_time, &b_Ndata_H_dc_2x2_time);
+   fChain->SetBranchAddress("H.dc.2x2.time", H_dc_2x2_time, &b_H_dc_2x2_time);
+   fChain->SetBranchAddress("Ndata.H.dc.2x2.wirenum", &Ndata_H_dc_2x2_wirenum, &b_Ndata_H_dc_2x2_wirenum);
+   fChain->SetBranchAddress("H.dc.2x2.wirenum", H_dc_2x2_wirenum, &b_H_dc_2x2_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.2y1.dist", &Ndata_H_dc_2y1_dist, &b_Ndata_H_dc_2y1_dist);
+   fChain->SetBranchAddress("H.dc.2y1.dist", H_dc_2y1_dist, &b_H_dc_2y1_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.2y1.rawtdc", &Ndata_H_dc_2y1_rawtdc, &b_Ndata_H_dc_2y1_rawtdc);
+   fChain->SetBranchAddress("H.dc.2y1.rawtdc", H_dc_2y1_rawtdc, &b_H_dc_2y1_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.2y1.time", &Ndata_H_dc_2y1_time, &b_Ndata_H_dc_2y1_time);
+   fChain->SetBranchAddress("H.dc.2y1.time", H_dc_2y1_time, &b_H_dc_2y1_time);
+   fChain->SetBranchAddress("Ndata.H.dc.2y1.wirenum", &Ndata_H_dc_2y1_wirenum, &b_Ndata_H_dc_2y1_wirenum);
+   fChain->SetBranchAddress("H.dc.2y1.wirenum", H_dc_2y1_wirenum, &b_H_dc_2y1_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.2y2.dist", &Ndata_H_dc_2y2_dist, &b_Ndata_H_dc_2y2_dist);
+   fChain->SetBranchAddress("H.dc.2y2.dist", H_dc_2y2_dist, &b_H_dc_2y2_dist);
+   fChain->SetBranchAddress("Ndata.H.dc.2y2.rawtdc", &Ndata_H_dc_2y2_rawtdc, &b_Ndata_H_dc_2y2_rawtdc);
+   fChain->SetBranchAddress("H.dc.2y2.rawtdc", H_dc_2y2_rawtdc, &b_H_dc_2y2_rawtdc);
+   fChain->SetBranchAddress("Ndata.H.dc.2y2.time", &Ndata_H_dc_2y2_time, &b_Ndata_H_dc_2y2_time);
+   fChain->SetBranchAddress("H.dc.2y2.time", H_dc_2y2_time, &b_H_dc_2y2_time);
+   fChain->SetBranchAddress("Ndata.H.dc.2y2.wirenum", &Ndata_H_dc_2y2_wirenum, &b_Ndata_H_dc_2y2_wirenum);
+   fChain->SetBranchAddress("H.dc.2y2.wirenum", H_dc_2y2_wirenum, &b_H_dc_2y2_wirenum);
+   fChain->SetBranchAddress("Ndata.H.dc.residual", &Ndata_H_dc_residual, &b_Ndata_H_dc_residual);
+   fChain->SetBranchAddress("H.dc.residual", H_dc_residual, &b_H_dc_residual);
+   fChain->SetBranchAddress("Ndata.H.dc.x", &Ndata_H_dc_x, &b_Ndata_H_dc_x);
+   fChain->SetBranchAddress("H.dc.x", H_dc_x, &b_H_dc_x);
+   fChain->SetBranchAddress("Ndata.H.dc.xp", &Ndata_H_dc_xp, &b_Ndata_H_dc_xp);
+   fChain->SetBranchAddress("H.dc.xp", H_dc_xp, &b_H_dc_xp);
+   fChain->SetBranchAddress("Ndata.H.dc.y", &Ndata_H_dc_y, &b_Ndata_H_dc_y);
+   fChain->SetBranchAddress("H.dc.y", H_dc_y, &b_H_dc_y);
+   fChain->SetBranchAddress("Ndata.H.dc.yp", &Ndata_H_dc_yp, &b_Ndata_H_dc_yp);
+   fChain->SetBranchAddress("H.dc.yp", H_dc_yp, &b_H_dc_yp);
+   fChain->SetBranchAddress("H.dc.1u1.nhit", &H_dc_1u1_nhit, &b_H_dc_1u1_nhit);
+   fChain->SetBranchAddress("H.dc.1v1.nhit", &H_dc_1v1_nhit, &b_H_dc_1v1_nhit);
+   fChain->SetBranchAddress("H.dc.1x1.nhit", &H_dc_1x1_nhit, &b_H_dc_1x1_nhit);
+   fChain->SetBranchAddress("H.dc.1x2.nhit", &H_dc_1x2_nhit, &b_H_dc_1x2_nhit);
+   fChain->SetBranchAddress("H.dc.1y1.nhit", &H_dc_1y1_nhit, &b_H_dc_1y1_nhit);
+   fChain->SetBranchAddress("H.dc.1y2.nhit", &H_dc_1y2_nhit, &b_H_dc_1y2_nhit);
+   fChain->SetBranchAddress("H.dc.2u1.nhit", &H_dc_2u1_nhit, &b_H_dc_2u1_nhit);
+   fChain->SetBranchAddress("H.dc.2v1.nhit", &H_dc_2v1_nhit, &b_H_dc_2v1_nhit);
+   fChain->SetBranchAddress("H.dc.2x1.nhit", &H_dc_2x1_nhit, &b_H_dc_2x1_nhit);
+   fChain->SetBranchAddress("H.dc.2x2.nhit", &H_dc_2x2_nhit, &b_H_dc_2x2_nhit);
+   fChain->SetBranchAddress("H.dc.2y1.nhit", &H_dc_2y1_nhit, &b_H_dc_2y1_nhit);
+   fChain->SetBranchAddress("H.dc.2y2.nhit", &H_dc_2y2_nhit, &b_H_dc_2y2_nhit);
+   fChain->SetBranchAddress("H.dc.Ch1.maxhits", &H_dc_Ch1_maxhits, &b_H_dc_Ch1_maxhits);
+   fChain->SetBranchAddress("H.dc.Ch1.nhit", &H_dc_Ch1_nhit, &b_H_dc_Ch1_nhit);
+   fChain->SetBranchAddress("H.dc.Ch1.spacepoints", &H_dc_Ch1_spacepoints, &b_H_dc_Ch1_spacepoints);
+   fChain->SetBranchAddress("H.dc.Ch1.trawhit", &H_dc_Ch1_trawhit, &b_H_dc_Ch1_trawhit);
+   fChain->SetBranchAddress("H.dc.Ch2.maxhits", &H_dc_Ch2_maxhits, &b_H_dc_Ch2_maxhits);
+   fChain->SetBranchAddress("H.dc.Ch2.nhit", &H_dc_Ch2_nhit, &b_H_dc_Ch2_nhit);
+   fChain->SetBranchAddress("H.dc.Ch2.spacepoints", &H_dc_Ch2_spacepoints, &b_H_dc_Ch2_spacepoints);
+   fChain->SetBranchAddress("H.dc.Ch2.trawhit", &H_dc_Ch2_trawhit, &b_H_dc_Ch2_trawhit);
+   fChain->SetBranchAddress("H.dc.nhit", &H_dc_nhit, &b_H_dc_nhit);
+   fChain->SetBranchAddress("H.dc.nsp", &H_dc_nsp, &b_H_dc_nsp);
+   fChain->SetBranchAddress("H.dc.ntrack", &H_dc_ntrack, &b_H_dc_ntrack);
+   fChain->SetBranchAddress("H.dc.stubtest", &H_dc_stubtest, &b_H_dc_stubtest);
+   fChain->SetBranchAddress("H.dc.tnhit", &H_dc_tnhit, &b_H_dc_tnhit);
+   fChain->SetBranchAddress("H.dc.trawhit", &H_dc_trawhit, &b_H_dc_trawhit);
+   fChain->SetBranchAddress("fEvtHdr.fEvtTime", &fEvtHdr_fEvtTime, &b_Event_Branch_fEvtHdr_fEvtTime);
+   fChain->SetBranchAddress("fEvtHdr.fEvtNum", &fEvtHdr_fEvtNum, &b_Event_Branch_fEvtHdr_fEvtNum);
+   fChain->SetBranchAddress("fEvtHdr.fEvtType", &fEvtHdr_fEvtType, &b_Event_Branch_fEvtHdr_fEvtType);
+   fChain->SetBranchAddress("fEvtHdr.fEvtLen", &fEvtHdr_fEvtLen, &b_Event_Branch_fEvtHdr_fEvtLen);
+   fChain->SetBranchAddress("fEvtHdr.fHelicity", &fEvtHdr_fHelicity, &b_Event_Branch_fEvtHdr_fHelicity);
+   fChain->SetBranchAddress("fEvtHdr.fTargetPol", &fEvtHdr_fTargetPol, &b_Event_Branch_fEvtHdr_fTargetPol);
+   fChain->SetBranchAddress("fEvtHdr.fRun", &fEvtHdr_fRun, &b_Event_Branch_fEvtHdr_fRun);
+   Notify();
+}
+
+Bool_t wire_drift_times::Notify()
+{
+   // The Notify() function is called when a new file is opened. This
+   // can be either for a new TTree in a TChain or when when a new TTree
+   // is started when using PROOF. It is normally not necessary to make changes
+   // to the generated code, but the routine can be extended by the
+   // user if needed. The return value is currently not used.
+
+   return kTRUE;
+}
+
+void wire_drift_times::Show(Long64_t entry)
+{
+// Print contents of entry.
+// If entry is not specified, print current entry
+   if (!fChain) return;
+   fChain->Show(entry);
+}
+Int_t wire_drift_times::Cut(Long64_t entry)
+{
+// This function may be called from Loop.
+// returns  1 if entry is accepted.
+// returns -1 otherwise.
+   return 1;
+}
+#endif // #ifdef wire_drift_times_cxx
diff --git a/CALIBRATION/hodo_calib/.gitignore b/CALIBRATION/hodo_calib/.gitignore
new file mode 100644
index 00000000..016c0321
--- /dev/null
+++ b/CALIBRATION/hodo_calib/.gitignore
@@ -0,0 +1,4 @@
+*.37
+tofcal.param
+tofcal.parampass1
+tofcal
diff --git a/CALIBRATION/hodo_calib/Maketof b/CALIBRATION/hodo_calib/Maketof
new file mode 100755
index 00000000..41260f4b
--- /dev/null
+++ b/CALIBRATION/hodo_calib/Maketof
@@ -0,0 +1 @@
+gfortran -W -ff2c -fbounds-check -fno-automatic  -fdefault-real-8  tofcal.f -L$CERN_ROOT/lib -lmathlib -lpacklib -lkernlib  -o tofcal
diff --git a/CALIBRATION/hodo_calib/README.md b/CALIBRATION/hodo_calib/README.md
new file mode 100644
index 00000000..9a7869d3
--- /dev/null
+++ b/CALIBRATION/hodo_calib/README.md
@@ -0,0 +1,50 @@
+Hodoscope Calibrations
+============================================
+This is directory contains the code for calibrating the hodoscope timing
+in SHMS and HMS
+
+Directory structure
+----------------------
+* tofcal.f  : Fortran code which execute the calibration.
+* Maketof   : Script to compile tofcal.f and make executable tofcal
+* tofcal.inp : Input file for tofcal.f
+* shmstofcal.inp : Version of tofcal.inp for SHMS
+* hmstofcal.inp : Version of tofcal.inp for HMS
+
+
+
+Compiling code
+--------------
+* Execute ./Maketof
+
+Running code
+-----------
+* First replay data with either
+** HMS:   gHcParms->Load("PARAM/HMS/HODO/htofcal.param");
+** SHMS:   gHcParms->Load("PARAM/HMS/HODO/ptofcal.param");
+* The replay should put the new file : hfort.37 or pfort.37 in the CALIBRATION/hodo_calib directory
+* Copy either hmstofcal.inp or shmstofcal.inp to tofcal.inp
+* Execute ./tofcal
+* Print out info on the initial chi2 of  data and final chi2 of the fit.
+* Creates file tofcal.param
+* Edit the parameters in tofcal.param into either PARAM/HMS/HODO/hhodo.param or  PARAM/SHMS/HODO/phodo.param
+
+Brief decription of code
+------------------------
+* The code fits tcorr = time - offset - path * velocity - adccor / sqrt(ADC)
+* Uses paddle 10 positive PMT on plane 1 as the reference PMT ( offset fixed at 0)
+* To get data file name. Reads-in the input file: tofcal.inp 
+* Opens data file
+    * "0" line separates events
+    * Should have pair of neg and pos PMTs for each paddle
+    * Format is : iside  ipl ipad tdcval_uncorr pathl zcor tdcval_corr adcval
+        * iside = 1,2 for pos and neg PMT
+        * ipl = plane number
+        * tdcval_uncorr = raw time in ns. The program uses this in optimization.
+        * pathl = distance for focal plane to the paddle using the track
+        * zcor = time (ns) for the particle to go from focal plane to paddle. Correction subtracted from tdcval_uncrr
+        * tdcval_corr = the corrected time in ns. Not used by program. Just gives the initial chi2.
+        * adcval = ADC value used in fit
+* Loops through data determines the number of hits in each PMT. Will only include PMT if the number of hits > 100.
+* Again loops through the data filling array with time difference between all pairs PMTs, pathl and adcval.
+* Use the CERNLIB routine deqn to invert the matrix and determine the fit parameters.
diff --git a/CALIBRATION/hodo_calib/hmstofcal.inp b/CALIBRATION/hodo_calib/hmstofcal.inp
new file mode 100644
index 00000000..74c9201d
--- /dev/null
+++ b/CALIBRATION/hodo_calib/hmstofcal.inp
@@ -0,0 +1,4 @@
+hfort.37
+
+
+
diff --git a/CALIBRATION/hodo_calib/shmstofcal.inp b/CALIBRATION/hodo_calib/shmstofcal.inp
new file mode 100644
index 00000000..dfa7acf8
--- /dev/null
+++ b/CALIBRATION/hodo_calib/shmstofcal.inp
@@ -0,0 +1,4 @@
+pfort.37
+
+
+
diff --git a/CALIBRATION/hodo_calib/tofcal.f b/CALIBRATION/hodo_calib/tofcal.f
new file mode 100644
index 00000000..0239fbed
--- /dev/null
+++ b/CALIBRATION/hodo_calib/tofcal.f
@@ -0,0 +1,475 @@
+      program tofcal
+! Fit TOF for Hall C HMS or SOS with the form for each PMT:
+! tcorr = time - offset - path * velocity - adccor / sqrt(ADC)
+! where offset, velocity, and adccor are parameters
+! April 10, 2005 P. Bosted
+! Input file: tofcal.inp should contain name of data file to be fit
+!             First xter of file name should be "h" for HMS data
+!             and "s" for SOS. 
+! To generate an input file, set xdumptof = 1 in xdebug.param in
+! the PARAM directory, where x=h for HMS, x=s for SOS
+! The HMS output will be in fort.37, and the SOS in fort.38
+! The output parameters will be in tofcal.param. Insert these
+! into the xhodo.param file that you are using. Make sure to 
+! erase the old values of sigma, or put the new ones after the
+! old ones, so that they get used properly
+! Normal values of invadc_offset are between -50 and 50,
+! normal values of invadc_velocity are between 12 and 17 (50 is
+! default if not enough data for the fit), and normal values of
+! shodo_pos_invadc_adc are 20 to 50. Normal values of the sigmas
+! are 0.3 to 0.8 nsec. 
+
+      implicit none
+      integer i,j,k,n,nparam,ipn,ipl,idt,idet(1000),nhit(200)
+      integer ip1(200),ip2(200),ip3(200),ifail,nhit0(200)
+      integer ipdet(600),iptyp(600),iwork(1000),k1,k2,k3,k4,k5,k6
+      real*8 tr(1000),p(1000),zc(1000),tc1(1000),p2(1000),hival,dtc
+      real*8 ax(1000,1000),bx(1000),sum1(200),sum2(200),sum3(200)
+      real*8 mean0(200),sig0(200),mean(200),sig(200),dt,adc(1000)
+      real*8 toff(200),vel(200),quad(200),chisq,df,ttol,adcmin(200)
+      real*8 avtime,ntime
+      integer thist(200,10),iloop,adchist(200,18),phist(200,18)
+      integer thistf(200,50),adchistf(200,50)
+      integer adchistpm(200,20,2)
+
+      character*80 string
+      character*40 filename
+
+      open(unit=7,file='tofcal.inp')
+      read(7,'(a)') filename
+c      open(unit=8,file='tofcal.out')
+      open(unit=11,file='tofcal.parampass1')
+      open(unit=12,file='tofcal.param')
+c      open(unit=13,file='tofcal.adchist')
+c      write(13,'(1x,'' xv'',50f5.0)') (20.*(j-0.5),j=1,50)
+c      open(unit=14,file='tofcal.tdchist')
+c      write(14,'(1x,'' xv'',50f5.1)') (-5.0+0.2*(j-0.5),j=1,50)
+
+! first see how many hits per PMT: need at least 100 for fitting
+! also make ADC histograms
+      open(unit=9,file=filename,err=998)
+       if(filename(1:1).ne.'h'.and.filename(1:1).ne.'p') then
+        write(6,'(1x,''error, input file name '',
+     >   '' should start with h or p'')')
+        goto 999
+       endif
+       write(*,*) ' filling adc histograms'
+       do i=1,10000000
+        n=0
+        do j=1,1000
+          read(9,'(a)',end=10) string
+          read(string,'(1x,i1)') k
+          if(k.eq.0) goto 9
+          n=n+1
+          read(string,'(1x,i1,2i3,5f10.3)') ipn,ipl,idt, 
+     >      tr(n),p(n),zc(n),tc1(n),adc(n)
+          k = min(18, max(1, int((adc(n)/20.)+1)))
+          idet(n) = 100*(ipn-1) + 20*(ipl-1) + idt
+          adchist(idet(n), k) = adchist(idet(n), k) + 1 
+          k = min(50, max(1, int((adc(n)/20.)+1)))
+          adchistf(idet(n), k) = adchistf(idet(n), k) + 1 
+          nhit0(idet(n)) = nhit0(idet(n)) + 1.
+        enddo
+ 9      continue
+      enddo
+
+! find more or less where threshold is
+ 10   do i=1,200
+        adcmin(i)=50.
+        if(nhit0(i).gt.0.) then
+c          write(13,'(i3,50i4)') i,(min(999,adchistf(i,j)),j=1,50)
+          hival=0.
+          k=0
+          do j=1,17
+            if(adchist(i,j).gt.hival) then
+              hival = adchist(i,j)
+              k = j
+            endif
+          enddo
+c for test
+c         do n=1,max(1,k)
+c           if(adchist(i,n).lt.hival/20.) adcmin(i)=20.*(n-0.5)
+c         enddo
+c         write(13,'(1x,''adcmin='',f6.1)') adcmin(i) 
+        endif
+      enddo
+      close(unit=9)
+      do i=1,200
+        sum1(i)=0.
+        sum2(i)=0.
+        sum3(i)=0.
+      enddo
+
+! Do everything twice, 2nd time with tighter tolerance (ttol) on
+! time differences, based on first pass
+      ttol=10.0
+      do iloop=1,2
+         write(*,*) ' loop = ',iloop
+! Initialize the fitting arrays
+        do i=1,1000
+          if(i.le.200) nhit(i)=0
+          bx(i)=0.
+          do j=1,1000
+            ax(i,j)=0.
+          enddo
+        enddo
+
+! read in data
+      open(unit=9,file=filename)
+      nparam=0
+      chisq=0.
+      df=0.
+      do i=1,10000000
+        n=0
+        do j=1,1000
+          read(9,'(a)',end=12) string
+          read(string,'(1x,i1)') k
+          if(k.eq.0) goto 11
+          n=n+1
+          read(string,'(1x,i1,2i3,5f10.3)') ipn,ipl,idt, 
+     >      tr(n),p(n),zc(n),tc1(n),adc(n)
+! linearize the detector numbers
+          idet(n) = 100*(ipn-1) + 20*(ipl-1) + idt
+          if(idet(n).lt.1.or.idet(n).gt.200) write(6,'(1x,
+     >      ''error! '',4i4)') ipn,ipl,idt,idet(n)
+
+! correct raw times for zpos using betap
+          tr(n) = tr(n)- zc(n)
+
+! remember path**2 or sqrt(p) or adc
+          p(n) = min(200., max(0., p(n)))
+c          adc(n) = min(500, max(0., adc(n)))
+          p2(n) = 1./sqrt(max(20., adc(n)))
+          k = min(18, max(1, int(p(n)/7.)+1))
+          phist(idet(n), k) = phist(idet(n), k) + 1 
+! ignore hits from paddles that are rarely hit
+          if(nhit0(idet(n)).lt.100) n=n-1
+        enddo
+
+! Loop over all pairs, if at least 6
+ 11     if(n.ge.6) then
+! see if this is first time a detector is used
+          do j=1,n
+            nhit(idet(j))=nhit(idet(j))+1
+
+! If first time detector used, assign corresponding parameters
+! Note that detector had has a fixed time offset (ip1) of zero
+! since all times are relative)
+            if(nhit(idet(j)).eq.1) then
+              if(idet(j).eq.10) then
+                ip1(idet(j))=0
+              else
+
+! fixed time offsets
+                nparam=nparam+1
+                ip1(idet(j))=nparam
+                ipdet(nparam)=idet(j)
+                iptyp(nparam)=1
+              endif
+
+! linear term in path 
+              nparam=nparam+1
+              ip2(idet(j))=nparam
+              ipdet(nparam)=idet(j)
+              iptyp(nparam)=2
+
+! quadratic term for path**2
+              nparam=nparam+1
+              ip3(idet(j))=nparam
+              ipdet(nparam)=idet(j)
+              iptyp(nparam)=3
+              k=idet(j)
+c              write(8,'(1x,i3,4i5)') k,nhit(k),ip1(k),ip2(k),ip3(k)
+            endif
+          enddo ! loop over n
+
+! now loop over all pairs in fill in the matrix
+! also accumulate sums to get means and sigmas for each detector
+! of original corrected times as read in from the file
+          do j=1,n-1
+            do k=j+1,n
+              dt = tc1(j)-tc1(k)
+              dtc = dt
+              if(iloop.eq.1.or.abs(dt).lt.ttol) then
+               idt = min(10,max(1,int((dt+5.))+1))
+               thist(idet(j),idt) = thist(idet(j),idt) + 1
+               chisq = chisq + dt**2
+               df = df + 1
+               sum1(idet(j)) = sum1(idet(j)) + 1.
+               sum2(idet(j)) = sum2(idet(j)) + dt
+               sum3(idet(j)) = sum3(idet(j)) + dt**2
+               dt = tc1(k)-tc1(j)
+               idt = min(10,max(1,int((dt+5.))+1))
+               thist(idet(k),idt) = thist(idet(k),idt) + 1
+               sum1(idet(k)) = sum1(idet(k)) + 1.
+               sum2(idet(k)) = sum2(idet(k)) + dt
+               sum3(idet(k)) = sum3(idet(k)) + dt**2
+              endif
+              k1 = idet(j)
+              k2 = idet(k)
+              dt = (tr(j) + toff(k1) + vel(k1)*p(j) + quad(k1)*p2(j))-
+     >             (tr(k) + toff(k2) + vel(k2)*p(k) + quad(k2)*p2(k))
+              if(iloop.eq.1.or.abs(dt).lt.ttol) then
+               k1=ip1(idet(j))
+               k2=ip1(idet(k))
+               k3=ip2(idet(j))
+               k4=ip2(idet(k))
+               k5=ip3(idet(j))
+               k6=ip3(idet(k))
+               if(k1.gt.0) then
+                bx(k1) = bx(k1) - (tr(j)-tr(k))
+                ax(k1,k1) = ax(k1,k1) + 1.
+                ax(k1,k3) = ax(k1,k3) + p(j)
+                ax(k1,k4) = ax(k1,k4) - p(k)
+                ax(k1,k5) = ax(k1,k5) + p2(j)
+                ax(k1,k6) = ax(k1,k6) - p2(k)
+                ax(k3,k1) = ax(k3,k1) + p(j)
+                ax(k4,k1) = ax(k4,k1) - p(k)
+                ax(k5,k1) = ax(k5,k1) + p2(j)
+                ax(k6,k1) = ax(k6,k1) - p2(k)
+               endif
+               if(k1.gt.0.and.k2.gt.0) then
+                ax(k1,k2) = ax(k1,k2) - 1.
+                ax(k2,k1) = ax(k2,k1) - 1.
+               endif
+               if(k2.gt.0) then
+                bx(k2) = bx(k2) + (tr(j)-tr(k))
+                ax(k2,k2) = ax(k2,k2) + 1.
+                ax(k2,k3) = ax(k2,k3) - p(j)
+                ax(k2,k4) = ax(k2,k4) + p(k)
+                ax(k2,k5) = ax(k2,k5) - p2(j)
+                ax(k2,k6) = ax(k2,k6) + p2(k)
+                ax(k3,k2) = ax(k3,k2) - p(j)    
+                ax(k4,k2) = ax(k4,k2) + p(k)    
+                ax(k5,k2) = ax(k5,k2) - p2(j)    
+                ax(k6,k2) = ax(k6,k2) + p2(k)    
+               endif
+               bx(k3) = bx(k3) - (tr(j)-tr(k)) * p(j)
+               bx(k4) = bx(k4) + (tr(j)-tr(k)) * p(k)
+               bx(k5) = bx(k5) - (tr(j)-tr(k)) * p2(j)
+               bx(k6) = bx(k6) + (tr(j)-tr(k)) * p2(k)
+               ax(k3,k3) = ax(k3,k3) + p(j)*p(j)
+               ax(k3,k4) = ax(k3,k4) - p(k)*p(j)
+               ax(k3,k5) = ax(k3,k5) + p2(j)*p(j)
+               ax(k3,k6) = ax(k3,k6) - p2(k)*p(j)
+               ax(k4,k3) = ax(k4,k3) - p(j)*p(k)
+               ax(k4,k4) = ax(k4,k4) + p(k)*p(k)
+               ax(k4,k5) = ax(k4,k5) - p2(j)*p(k)
+               ax(k4,k6) = ax(k4,k6) + p2(k)*p(k)
+               ax(k5,k3) = ax(k5,k3) + p(j)*p2(j)
+               ax(k5,k4) = ax(k5,k4) - p(k)*p2(j)
+               ax(k5,k5) = ax(k5,k5) + p2(j)*p2(j)
+               ax(k5,k6) = ax(k5,k6) - p2(k)*p2(j)
+               ax(k6,k3) = ax(k6,k3) - p(j)*p2(k)
+               ax(k6,k4) = ax(k6,k4) + p(k)*p2(k)
+               ax(k6,k5) = ax(k6,k5) - p2(j)*p2(k)
+               ax(k6,k6) = ax(k6,k6) + p2(k)*p2(k)
+              endif
+            enddo
+          enddo
+        endif ! if n>1
+      enddo ! loop over reading in data 
+ 12   close(unit=9)
+
+! Histograms
+      if(iloop.eq.1) then
+       do i=1,200
+        if(sum1(i).gt.0.) then
+c          write(13,'(i3,18i4)') i,(phist(i,j),j=1,18)
+        endif
+       enddo
+      endif
+! see how many hits per detector and get mean, sigma of original corr. times
+      do i=1,200
+        if(sum1(i).gt.0.) then
+          mean0(i)=sum2(i)/sum1(i)
+          sig0(i)=sqrt(sum3(i)/sum1(i) - mean0(i)**2)
+        endif
+c        write(8,'(1x,i3,i5,2f6.2,10i5)') i,nhit(i),
+c     >    mean0(i),sig0(i),(min(9999,thist(i,j)),j=1,10)
+        sum1(i)=0.
+        sum2(i)=0.
+        sum3(i)=0.
+        do j=1,10
+          thist(i,j)=0
+        enddo
+      enddo
+      df = max(1., df - nparam)
+      write(6,'(1x,''initial chi2/d.f.='',f8.3,'' for '',f7.0,
+     >   '' deg. freedom'')') chisq/df,df
+c      write(8,'(1x,''initial chi2/d.f.='',f8.3,'' for '',f7.0,
+c     >   '' deg. freedom'')') chisq/df,df
+
+! find the solutions
+      call deqn (nparam,ax,1000,iwork,ifail,1,bx)
+c      write(8,'(1x,''ifail='',i10)') ifail
+
+! association of parameters with detectors
+      do i=1,nparam
+        if(iptyp(i).eq.1) toff(ipdet(i))=bx(i)
+        if(iptyp(i).eq.2)  vel(ipdet(i))=bx(i)
+        if(iptyp(i).eq.3) quad(ipdet(i))=bx(i)
+      enddo
+
+! write solutions
+      write(10 + iloop,'(/''; use '',a,
+     >  ''tofusinginvadc=1 if want invadc_offset''/
+     >  '';  invadc_linear, and invadc_adc to be used''/
+     >            a,''tofusinginvadc=1'')') 
+     >  filename(1:1),filename(1:1)
+      write(10+iloop,'(/a,''hodo_pos_invadc_offset ='',3(f8.2,'',''),
+     >  f8.2)') filename(1:1),(-1.0*toff(i),i=1,80,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                        '',3(f8.2,'',''),
+     >  f8.2)')(-1.0*toff(i),i=j,79+j,20)
+      enddo
+
+      write(10+iloop,'(/a,''hodo_neg_invadc_offset ='',3(f8.2,'',''),
+     >  f8.2)')filename(1:1),(-1.0*toff(i),i=101,180,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                        '',3(f8.2,'',''),
+     >  f8.2)')(-1.0*toff(i),i=100+j,179+j,20)
+      enddo
+
+      write(10+iloop,'(/a,''hodo_pos_invadc_linear ='',3(f8.2,'',''),
+     >  f8.2)')filename(1:1),( -1./min(-1./15.,vel(i)),i=1,80,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                        '',3(f8.2,'',''),
+     >  f8.2)')(-1./min(-1./15.,vel(i)),i=j,79+j,20)
+      enddo
+
+      write(10+iloop,'(/a,''hodo_neg_invadc_linear ='',3(f8.2,'',''),
+     >  f8.2)')filename(1:1),( -1./min(-1./15.,vel(i)),i=101,180,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                        '',3(f8.2,'',''),
+     >  f8.2)')(-1./min(-1./15.,vel(i)),i=100+j,179+j,20)
+      enddo
+
+      write(10+iloop,'(/a,''hodo_pos_invadc_adc='',3(f9.2,'',''),
+     >  f9.2)')filename(1:1),(-1.*quad(i),i=1,80,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                   '',3(f9.2,'',''),
+     >  f9.2)')(-1.*quad(i),i=j,79+j,20)
+      enddo
+
+      write(10+iloop,'(/a,''hodo_neg_invadc_adc='',3(f9.2,'',''),
+     >  f9.2)')filename(1:1),(-1.0*quad(i),i=101,180,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                   '',3(f9.2,'',''),
+     >  f9.2)')(-1.*quad(i),i=100+j,179+j,20)
+      enddo
+
+
+! read in data again and look at sigmas relative to average fp time
+      chisq = 0.
+      df = 0.
+      open(unit=9,file=filename)
+      do i=1,10000000
+        n=0
+        do j=1,1000
+          read(9,'(a)',end=14) string
+          read(string,'(1x,i1)') k
+          if(k.eq.0) goto 13
+          n=n+1
+          read(string,'(1x,i1,2i3,5f10.3)') ipn,ipl,idt, 
+     >      tr(n),p(n),zc(n),tc1(n),adc(n)
+          idet(n) = 100*(ipn-1) + 20*(ipl-1) + idt
+          tr(n) = tr(n)- zc(n)
+          p(n) = min(200., max(0., p(n)))
+c          adc(n) = min(500, max(0., adc(n)))
+          p2(n) = 1./sqrt(max(20., adc(n)))
+! ignore hits from paddles that are rarely hit
+          k1 = idet(n)
+          dt = (tr(n) + toff(k1) + vel(k1)*p(n) + quad(k1)*p2(n))  
+          if(nhit0(idet(n)).lt.100) n=n-1
+        enddo
+! Loop over all pairs, if at least 6 hits
+ 13     if(n.ge.6) then
+          do j=1,n
+            avtime=0.
+            ntime=0.
+            do k=1,n
+             if(k.ne.j) then
+              k1 = idet(j)
+              k2 = idet(k)
+              dt = (tr(k) + toff(k2) + vel(k2)*p(k) + quad(k2)*p2(k))
+              avtime = avtime + dt
+              ntime = ntime + 1.
+             endif
+            enddo
+            avtime = avtime / ntime
+            dt = (tr(j) + toff(k1) + vel(k1)*p(j) + quad(k1)*p2(j))-
+     >             avtime
+            if(iloop.eq.2) then
+              idt = min(50,max(1,int((dt+ 5.)/0.2)+1))
+              thistf(idet(j),idt) = thistf(idet(j),idt) + 1
+              idt = max(1,min(20, int(adc(j)/50.)+1))
+              if(dt.gt.0.) adchistpm(idet(j),idt,1)=
+     >          adchistpm(idet(j),idt,1)+1
+              if(dt.le.0.) adchistpm(idet(j),idt,2)=
+     >          adchistpm(idet(j),idt,2)+1
+            endif
+            if(iloop.eq.1.or.abs(dt).lt.ttol) then
+              idt = min(10,max(1,int((dt+ 5.))+1))
+              thist(idet(j),idt) = thist(idet(j),idt) + 1
+              chisq = chisq + dt**2
+              df = df + 1
+              sum1(idet(j)) = sum1(idet(j)) + 1.
+              sum2(idet(j)) = sum2(idet(j)) + dt
+              sum3(idet(j)) = sum3(idet(j)) + dt**2
+            endif
+          enddo
+        endif ! if n>5
+      enddo ! loop over reading in data 
+ 14   close(unit=9)
+! see how many hits per detector and get mean, sigma of original corr. times
+      do i=1,200
+        sig(i)=100.
+        if(sum1(i).gt.0.) then
+          mean(i)=sum2(i)/sum1(i)
+          sig(i)=sqrt(sum3(i)/sum1(i) - mean(i)**2)
+        endif
+c        write(8,'(1x,i3,i5,2f6.2,10i5)') i,nhit(i),
+c     >    mean(i),sig(i),(min(9999,thist(i,j)),j=1,10)
+c        if(iloop.eq.2)
+c     >    write(14,'(1x,i3,50i5)') i,(min(9999,thistf(i,j)),j=1,50)
+        sum1(i)=0.
+        sum2(i)=0.
+        sum3(i)=0.
+        do j=1,10
+          thist(i,j)=0
+        enddo
+      enddo
+      df = max(1., df - nparam)
+      write(6,'(1x,''  final chi2/d.f.='',f8.3,'' for '',f7.0,
+     >   '' deg. freedom'')') chisq/df,df
+c      write(8,'(1x,''  final chi2/d.f.='',f8.3,'' for '',f7.0,
+c     >   '' deg. freedom'')') chisq/df,df
+
+      write(10+iloop,'(/a,''hodo_pos_sigma ='',3(f8.2,'',''),
+     >  f8.2)')filename(1:1),(sig(i),i=  1, 80,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                '',3(f8.2,'',''),
+     >  f8.2)')(sig(i),i=    j, 79+j,20)
+      enddo
+      write(10+iloop,'(/a,''hodo_neg_sigma ='',3(f8.2,'',''),
+     >  f8.2)')filename(1:1),(sig(i),i=101,180,20)
+      do j=2,16
+       write(10+iloop,'(1x,''                '',3(f8.2,'',''),
+     >  f8.2)')(sig(i),i=100+j,179+j,20)
+      enddo
+
+      enddo ! loop over time tolerance
+
+      do i=1,200
+c        write(15,'(1x,i3,20i4)') i,(adchistpm(i,j,1),j=1,20)
+c        write(15,'(1x,i3,20i4)') i,(adchistpm(i,j,2),j=1,20)
+      enddo
+
+      goto 999
+
+ 998  write(6,'(1x,''error, cant find file '',a)') filename
+
+ 999  stop
+      end
+
diff --git a/CALIBRATION/hodo_calib/tofcal.inp b/CALIBRATION/hodo_calib/tofcal.inp
new file mode 100644
index 00000000..dfa7acf8
--- /dev/null
+++ b/CALIBRATION/hodo_calib/tofcal.inp
@@ -0,0 +1,4 @@
+pfort.37
+
+
+
diff --git a/CALIBRATION/shms_dc_calib/run_Cal.C b/CALIBRATION/shms_dc_calib/run_Cal.C
new file mode 100644
index 00000000..8d08d80b
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/run_Cal.C
@@ -0,0 +1,68 @@
+//SCRIPT TO RUN OVER ALL HMS DC CALIBRATION SCRIPTS AT ONCE, AND UPDATE THE
+//NECESSARY PARAMTER FILES hdriftmap.param and  hdc.param
+void run_Cal()
+{
+      
+  //User Input Run
+  int run_NUM;
+  cout << "Enter Run Number: " << endl;
+  cin >> run_NUM;
+
+  //Create input file with run number
+  ofstream fout;
+  fout.open("scripts/input_RUN.txt");
+  fout << run_NUM << endl;
+  fout.close();
+
+
+  //Create root and data files Directories if they dont exist
+  char *dir_root = "mkdir ./root_files/";
+  char *dir_data = "mkdir ./data_files/";
+
+  if (system(dir_root || dir_data) != 0) {
+    system(dir_root);
+    system(dir_data);
+  }
+
+  //Create run Directories if they dont exist
+  char *dir0 = Form("mkdir ./root_files/run%d", run_NUM);
+  char *dir1 = Form("mkdir ./data_files/run%d", run_NUM);
+
+  if (system(dir0 || dir1) != 0) {
+    system(dir0);
+    system(dir1);
+  }
+
+  
+
+  //change directories and execute scripts
+  gSystem->cd("./scripts");
+  gSystem->Exec("root -l -q get_pdc_time_histo.C");
+  
+  //Load and Loop over Make Class events to get individual drift times
+  gROOT->LoadMacro("wire_drift_times.C");
+  gROOT->ProcessLine("wire_drift_times t"); //process line allows one to execute interactive root commands from a script, such as this one
+  gROOT->ProcessLine("t.Loop()");
+  //gROOT->ProcessLine(".q");
+  gROOT->Reset();
+  
+  
+
+gSystem->cd("./scripts");
+
+  
+  //execute code to get t0 from each wire in each plane
+  gSystem->Exec("root -l -q -b get_wire_tzero.C");
+ 
+  //execute code to update pdc parameter file
+  gSystem->Exec("root -l -q update_pdcparam.C");
+
+  //execute code to get t0 corrected drift times
+  gSystem->Exec("root -l -q get_pdc_time_histo_tzero_corrected.C");
+  
+ //execute code to update LookUp Table
+  gSystem->Exec("root -l -q get_LookUp_Values.C");
+
+  
+  
+}
diff --git a/CALIBRATION/shms_dc_calib/scripts/get_LookUp_Values.C b/CALIBRATION/shms_dc_calib/scripts/get_LookUp_Values.C
new file mode 100644
index 00000000..52f7457e
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/get_LookUp_Values.C
@@ -0,0 +1,126 @@
+/*This code produces a lookup table necessary to convert drift times to
+  drift distances in the shms drift chambers
+*/
+
+#define NPLANES 12
+#define TOTAL_BINS 137
+
+void get_LookUp_Values() {
+
+   
+  //Read Run Number from txt file
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;
+ 
+  //Open root file containing drift time histos
+  TFile *f = new TFile(Form("../root_files/run%d/shms_dc_t0_corrected_%d.root", run_NUM, run_NUM),"READ");
+ 
+  //Define histogram array
+  TH1F *h[NPLANES];
+ 
+  //Define the number Drift Chamber planes
+  TString plane_names[NPLANES]={"1u1", "1u2", "1x1", "1x2", "1v1", "1v2", "2v2", "2v1", "2x2", "2x1", "2u2", "2u1"};
+ 
+  //Declare bin properties
+  int bin_t0[NPLANES];
+  int bin_final[NPLANES];					/*Array to store the bin number corresponding to last bin*/
+  int bin_Content[NPLANES];          /*Array to store the content (# events) corresponding to the bin with maximum content*/
+  double binContent_TOTAL[NPLANES];     /*Array to store sum of all bin contents for each plane*/
+  double binSUM[NPLANES];
+  int bin;
+  int binx;
+  double lookup_value[NPLANES];           /*Array to store lookup values for each plane*/ 
+  
+  //Create an output file to store lookup values  
+  ofstream ofs;
+  TString lookup_table = "../../../PARAM/SHMS/DC/pdriftmap_new.param";
+  ofs.open (lookup_table);
+ 
+ 
+  //Set headers for subsequent columns of data
+  ofs << Form("; Lookup Table: RUN %d", run_NUM) << "\n";
+  ofs << "; number of bins in Carlos's time to distance lookup table" << "\n";
+  ofs << Form("pdriftbins = %d", TOTAL_BINS+1) << "\n";
+  ofs << "; number of 1st bin in Carlos's table in ns" << "\n";
+  ofs << "pdrift1stbin=0" << "\n";
+  ofs << "; bin size in ns" << "\n";
+  ofs << "pdriftbinsz=2" << "\n";
+ 
+ 
+ 
+  //Loop over each plane of shms Drift Chambers (DC1 & DC2)
+
+  for (int ip=0; ip<NPLANES; ip++){
+   
+    TString drift_time_histo = "pdc"+plane_names[ip]+"_time: t0_corr"; 
+
+    //Get drift time histograms from root file
+    h[ip] = (TH1F*)f->Get(drift_time_histo);
+
+    //Get bin corresponding to t0 = 0 ns
+    bin_t0[ip] = h[ip]->GetXaxis()->FindBin(0.0);
+   
+    //Get final bin 
+    bin_final[ip] = bin_t0[ip] + TOTAL_BINS;
+   
+   
+   
+    //Find total BIN Content over entire integration range
+    binContent_TOTAL[ip] = 0; //set counter to zero
+
+    for (bin = bin_t0[ip]; bin <= bin_final[ip]; bin ++ ) {
+     
+      bin_Content[ip] = h[ip] -> GetBinContent(bin);
+     
+      binContent_TOTAL[ip] = bin_Content[ip] + binContent_TOTAL[ip];
+     
+      //   cout << "Bin: " << bin << endl;
+      //   cout << "Content " << bin_Content[ip] << endl;
+      //   cout << "Content SUM : " << binContent_TOTAL[ip] << endl;
+    }
+   
+    TString headers = "pwc" + plane_names[ip] + "fract=";      
+    ofs << headers;	  
+   
+    //Calculate LookUp Value
+   
+    binSUM[ip] = 0.0;
+    int bin_count = 0;
+   
+    for (bin = bin_t0[ip]; bin <= bin_final[ip]; bin++) {
+     
+      bin_Content[ip] = h[ip] -> GetBinContent(bin);
+      binSUM[ip] = binSUM[ip] + bin_Content[ip];
+     
+     
+      lookup_value[ip] = binSUM[ip] / binContent_TOTAL[ip];
+      bin_count = bin_count + 1;
+     
+      if (bin_count < = 8 ) {
+	ofs << setprecision(5) << lookup_value[ip] << fixed << ",";
+      }
+     
+      else if (bin_count >8 && bin_count < 138) {
+	ofs << setprecision(5) << lookup_value[ip] << ((bin_count+1) % 10 ? "," : "\n") << fixed; 
+      }
+      else {
+	ofs << setprecision(5) << lookup_value[ip] << fixed << endl;	  
+      }
+     
+    }
+
+  }                                            
+ 
+}
+
+
+	 
+  
+
+
+
+
+
+
diff --git a/CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo.C b/CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo.C
new file mode 100644
index 00000000..87669b2b
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo.C
@@ -0,0 +1,93 @@
+//Script to add necessary drift time histograms/plane from original root file to new root file
+
+
+#define NPLANES 12
+
+void get_pdc_time_histo()
+{
+
+  //Read Run Number from txt file
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;
+
+  TString file_name = "../../../ROOTfiles/shms_replay_%d.root";
+
+  //Create RUN Directories if they dont exist
+  char *dir0 = Form("mkdir -p ../root_files/run%d", run_NUM);
+  char *dir1 = Form("mkdir -p ../data_files/run%d", run_NUM);
+
+  if (system(dir0 || dir1) != 0) {
+    system(dir0);
+    system(dir1);
+  }
+
+  //open file
+  TFile *f = new TFile(Form(file_name.Data(), run_NUM), "READ");
+
+  //create new file
+  TFile *g = new TFile(Form("../root_files/run%d/shms_dc_time_%d.root", run_NUM, run_NUM), "RECREATE"); // create new file to store histo
+
+  f->cd();
+
+  //Get the tree
+  TTree *tree = (TTree*)f->Get("T");
+  TString SPECTROMETER="P";
+  TString DETECTOR="dc";
+  TString plane_names[NPLANES]={"1u1", "1u2", "1x1", "1x2", "1v1", "1v2", "2v2", "2v1", "2x2", "2x1", "2u2", "2u1"};
+  
+  //Declare Variables to Loop Over
+  Int_t Ndata[NPLANES];
+  Double_t pdc_time[NPLANES][1000];
+    
+  //Declare Histogram array to store AVG drift times per plane
+  TH1F* h[NPLANES];
+	
+  g->cd();
+	
+  //Loop over each plane
+  for(Int_t ip=0; ip<NPLANES; ip++){
+    TString base_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip];
+    TString ndata_name = "Ndata."+base_name+".time";
+    TString drift_time = base_name+".time";
+  
+    TString drift_time_histo = "pdc"+plane_names[ip]+"_time"; 
+    TString title = "pdc"+plane_names[ip]+"_drifttime";
+     
+    //Set Branch Address
+    tree->SetBranchAddress(drift_time, &pdc_time[ip][0]);   
+    tree->SetBranchAddress(ndata_name, &Ndata[ip]);  /* Ndata represents number of triggers vs number of hits that each trigger produced.
+							A hit is refer to as when a trigger(traversing particle), ionizes the WC gas and ionized
+							electrons reach the rearest sense wire, producing a detectable signal in the O'scope */
+  
+    //Create Histograms
+    h[ip] = new TH1F(drift_time_histo, title, 200, -50, 350);  //set time to 400 ns/200 bins = 2ns/bin
+  }
+ 
+ 
+  //Declare number of entries in the tree
+  Long64_t nentries = tree->GetEntries(); //number of triggers (particles that passed through all 4 hodo planes)
+ 
+  //Loop over all entries
+  for(Long64_t i=0; i<nentries; i++)
+    {
+      tree->GetEntry(i);
+    
+    
+      //Loop over number of hits for each trigger in each DC plane 
+      for(ip=0; ip<NPLANES; ip++){
+       
+    
+	for(Int_t j=0; j<Ndata[ip]; j++){
+	
+	  h[ip]->Fill(pdc_time[ip][j]); 
+	}
+       
+      }
+
+    }
+
+  //Write histograms to file
+  g->Write();
+}
diff --git a/CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo_tzero_corrected.C b/CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo_tzero_corrected.C
new file mode 100644
index 00000000..fa028104
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/get_pdc_time_histo_tzero_corrected.C
@@ -0,0 +1,107 @@
+//Script to add t0 correction to SHMS DC drift times
+
+#define NPLANES 12
+
+void get_pdc_time_histo_tzero_corrected()
+{
+
+	  
+  //read run number from input file
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;   
+
+  TString run = Form("run%d", run_NUM);
+
+
+	  //open file
+	  TFile *f = new TFile(Form("../../../ROOTfiles/shms_replay_%d.root", run_NUM), "READ");
+
+	  //updates file
+	  TFile *g = new TFile(Form("../root_files/run%d/shms_dc_t0_corrected_%d.root", run_NUM, run_NUM), "UPDATE"); // create new file to store histo
+
+      f->cd();
+
+     //Get the tree
+     TTree *tree = (TTree*)f->Get("T");
+
+	TString SPECTROMETER="P";
+	TString DETECTOR="dc";
+	TString plane_names[NPLANES]={"1u1", "1u2", "1x1", "1x2", "1v1", "1v2", "2v2", "2v1", "2x2", "2x1", "2u2", "2u1"};
+
+    //Declare Variables to Loop Over
+    Int_t Ndata[NPLANES];
+    Double_t pdc_time[NPLANES][1000];
+    
+    //Declare Histogram array to store AVG drift times per plane
+    TH1F* h[NPLANES];
+	
+	g->cd();
+	
+	//Loop over each plane
+	for(Int_t ip=0; ip<NPLANES; ip++){
+		TString base_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip];
+		TString ndata_name = "Ndata."+base_name+".time";
+		TString drift_time = base_name+".time";
+
+		TString drift_time_histo = "pdc"+plane_names[ip]+"_time: t0_corr"; 
+        TString title = "pdc"+plane_names[ip]+"_drifttime: t0-corrected";
+     
+     //Set Branch Address
+     tree->SetBranchAddress(drift_time, pdc_time[ip]);   
+     tree->SetBranchAddress(ndata_name, &Ndata[ip]);  /* Ndata represents number of triggers vs number of hits that each trigger produced.
+                                                      A hit is refer to as when a trigger(traversing particle), ionizes the WC gas and ionized
+                                                      electrons reach the rearest sense wire, producing a detectable signal in the O'scope */
+	
+     //Create Histograms
+     h[ip] = new TH1F(drift_time_histo, title, 200, -50, 350);  //set time to 400 ns/200 bins = 2ns/bin
+}
+	
+	
+	//open and read tzero data file
+    ifstream ifs;
+    ifs.open("../data_files/" + run + "/tzero.dat");
+    
+	double t_zero_offsets[NPLANES];
+
+     for (ip=0; ip < 12; ip++) {	 
+	 ifs >> t_zero_offsets[ip];  //add tzero offsets to array
+   }
+   
+    //Declare number of entries in the tree
+    Long64_t nentries = tree->GetEntries(); //number of triggers (particles that passed through all 4 hodo planes)
+
+    //Loop over all entries
+    for(Long64_t i=0; i<nentries; i++)
+    {
+	tree->GetEntry(i);
+    
+    
+    //Loop over number of hits for each trigger in each DC plane 
+    for(ip=0; ip<NPLANES; ip++){
+   
+ 
+    
+    for(Int_t j=0; j<Ndata[ip]; j++){
+	
+	h[ip]->Fill(pdc_time[ip][j] - t_zero_offsets[ip]); //add t0 offset correction 
+       }
+      
+      
+
+			
+	
+	}
+
+}
+
+
+
+		
+//Write histograms to file
+g->Write();
+
+
+
+}
diff --git a/CALIBRATION/shms_dc_calib/scripts/get_wire_tzero.C b/CALIBRATION/shms_dc_calib/scripts/get_wire_tzero.C
new file mode 100644
index 00000000..1c6974e2
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/get_wire_tzero.C
@@ -0,0 +1,397 @@
+
+
+/*Script to extract reference time "t0"  for each sense wire in a given HMS Wire Chamber Plane with COSMIC RUNS.  
+20% (MAX BIN CONTENT) is calculated per wire, and the corresponding bin is fitted linearly about +/- 
+a certain number of bins and this fit is extrapolated to y=0(x-axis). The extrapolated value is take to be t0*/
+
+#include <vector>
+#include <TMath>
+
+#define NPLANES 12
+
+void get_wire_tzero()
+{
+  using namespace std;
+
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;   
+
+  //check if tzero_weighted_avg text file exists (if it does, DELETE IT, otherwise new values will be appended to it, in addition to pre-existing tzero values)
+  std::ifstream stream(Form("../data_files/run%d/tzero_weighted_avg_run%d.txt",run_NUM, run_NUM));
+ if (stream.good())
+  {
+  gSystem->Exec(Form("rm ../data_files/run%d/tzero_weighted_avg_run%d.txt",run_NUM, run_NUM));
+  }
+
+ TString run = Form("run%d", run_NUM);
+
+ //Declare plane names to loop over
+ TString plane_names[NPLANES]={"1u1", "1u2", "1x1", "1x2", "1v1", "1v2", "2v2", "2v1", "2x2", "2x1", "2u2", "2u1"};
+
+ //Declare a root file array to store individual DC cell drift times
+ TString root_file;
+ TFile *f[NPLANES];
+   
+ int total_wires;  //integer to store total sense wires for a plane chosen by the user
+        
+ //Loop over all planes
+ for (int ip = 0; ip < NPLANES; ip++){
+
+   //READ root file
+   root_file = "../root_files/"+run+"/shms_DC_"+plane_names[ip]+Form("_%d.root",run_NUM);
+   f[ip] = new TFile(root_file, "READ");
+
+   //Create a file output file stream object to write t0 values to data file
+   ofstream ofs;
+   TString t_zero_file = "../data_files/" + run + "/hdc_"+plane_names[ip]+Form("tzero_run%d.dat", run_NUM);
+   ofs.open (t_zero_file);
+
+   //Set headers for subsequent columns of data
+   ofs << "#WIRE " << "   "  << "t0" << "   " << "t0_err" << "   " << " entries " << endl;
+
+   //Create root file to store fitted wire drift times histos and "t0 vs. wirenum"
+   TString output_root_file = "../root_files/"+run+"/shmsDC_"+plane_names[ip]+Form("run%d_fitted_histos.root", run_NUM);
+   TFile *g = new TFile(output_root_file,"RECREATE");
+
+   f[ip]->cd();  //change to file containing the wire drift times histos
+ 
+   int total_wires;  //integer to store total sense wires for a plane chosen by the user
+   
+   //Set variables depending on which plane is being studied
+   if(ip == 0 || ip == 1 || ip == 4 || ip == 5 || ip == 6 || ip == 7 || ip == 10 || ip == 11) {
+     TH1F *cell_dt[107]; //declare array of histos to store drift times     
+     total_wires=107; 
+
+     //Declare bin properties for given sense wires in a plane
+
+     int bin_max[107];                    /*Array to store the bin number corresponding to the drift time distribution peak*/
+     int bin_maxContent[107];             /*Array to store the content (# events) corresponding to the bin with maximum content*/
+     double time_max[107];                /*Array to store the x-axis(drift time (ns)) corresponding to bin_max*/
+     double twenty_perc_maxContent[107];  /*Array to store 20% of maximum bin content (peak)*/						     
+     double ref_time[107];               /*Array to store reference times for each sense wire*/
+
+   }
+
+   else if(ip == 2 || ip == 3 || ip == 8 || ip == 9) {
+     TH1F *cell_dt[79];
+     total_wires=79;      
+   
+     int bin_max[79];                                 
+     int bin_maxContent[79];                           
+     double time_max[79];                               
+     double twenty_perc_maxContent[79];                
+     double ref_time[79];          
+
+   }	   
+   
+ 	
+   /*Get wire histos from root file and loop over each 
+     sense wire of a plane in shms Drift Chambers (DC1 or DC2)*/
+ 
+   for (int sensewire=1; sensewire<=total_wires; sensewire++){
+
+     //Get title of histos in root file
+     TString drift_time_histo = Form("wire_%d", sensewire); 
+ 
+     //Get drift time histograms from root file
+     cell_dt[sensewire-1] = (TH1F*)f[ip]->Get(drift_time_histo);
+
+     
+     //Get bin with Maximum Content
+     bin_max[sensewire-1] = cell_dt[sensewire-1]->GetMaximumBin();
+
+     //Get content of bin_max
+     bin_maxContent[sensewire-1] = cell_dt[sensewire-1]->GetBinContent(bin_max[sensewire-1]);
+     
+     //Get time (ns) [x-axis] corresponding to bin_max 
+     time_max[sensewire-1] = cell_dt[sensewire-1]->GetXaxis()->GetBinCenter(bin_max[sensewire-1]);
+     
+     //Calculate 20% of max content
+     twenty_perc_maxContent[sensewire-1] = bin_maxContent[sensewire-1] * 0.20;
+     
+
+   }
+   
+   
+   
+   //****************************************************//
+   //Determine  which bin has around 20% max_BinContent *//
+   //****************************************************//
+   
+   
+   //Declarations
+   int content_bin;      //stores content for each bin
+   int counts;           //a counter used to count the number of bins that have >20% max bin content for a plane 
+   int bin;              //store bin number
+   int j;                //jth bin, used to loop over n bins 
+   
+   //Declare vector arrays 
+   vector<int> content;               //stores bin content
+   vector <int> bin_num;           //stores bin number
+   
+   
+   //Loop over each wire 
+   for(sensewire=1; sensewire<=total_wires; sensewire++) {
+     
+     //Loop over each bin for individual wire drift time histo
+     for(bin=0; bin < bin_max[sensewire-1]; bin++) {
+       
+       content_bin = cell_dt[sensewire-1]->GetBinContent(bin);              //get bin content for all bins in a wire
+       
+       content.push_back(content_bin);                                      //add bin content to array
+       bin_num.push_back(bin);                                              //add bin number to array
+       
+       
+       // check if 2 bin contents have been stored and examine if these contents exceed or not 20% of peak
+       if (content.size() == 2) {
+	 
+	 //initialize counter to count how many bin contents >= 20%
+	 counts = 0;
+	 
+	 // Loop over 2 bin contents stored in array content
+	 for (j=0; j<2; j++){
+	   
+	   if(content[j] > =  twenty_perc_maxContent[sensewire-1]){
+	     counts = counts+1;
+             
+	     if(counts >= 2) { goto stop;}
+	     
+	     
+	   }
+	   
+	   content.clear();
+	   bin_num.clear();
+	   
+	 }
+	 
+       }
+     }
+     
+     //Print the time(ns) and BIN NUM corresponding to 20% of MAX content 
+     //if 2/2 elements exceeds 20% of Max content (for each plane)
+     
+   stop:
+     ref_time[sensewire-1] = cell_dt[sensewire-1] ->GetXaxis() -> GetBinCenter(bin_num[0]); //Get time corresponding ~20% Max BIN CONTENT  
+     
+     //cout << " ******* " << "Wire " << sensewire << " ******* " << endl;
+     //cout << "time (20% of Max BIN): " << ref_time[sensewire-1] << " ns" << endl;
+     //cout << "BIN: " << bin_num[0] << endl;
+     
+     
+     //*********************************************************//
+     //*******Extract the "t0" Using a Fitting Procedure********//
+     //*********************************************************//
+     
+     //Declarations
+     int time_init;           //start fit value 
+     int time_final;          //end fit value
+     int t_zero;
+     int entries;             //entries for each wire
+     
+     double m;                //slope
+     double y_int;            //y-intercept
+     double m_err;
+     double y_int_err;
+     double t_zero_err;
+     
+     //Get time corresponding to bin (fit range) 
+     time_init = cell_dt[sensewire-1] -> GetXaxis() -> GetBinCenter(bin_num[0]-5); //choose bin range over which to fit
+     time_final = cell_dt[sensewire-1] -> GetXaxis() -> GetBinCenter(bin_num[0]+5); 
+     
+     //Create Fit Function
+     TF1* tZero_fit = new TF1("tZero_fit", "[0]*x + [1]", time_init, time_final);
+     
+     //Set Parameter Names and Values
+     tZero_fit->SetParName(0, "slope");
+     tZero_fit->SetParName(1, "y-int");
+     tZero_fit->SetParameter(0, 1.0);
+     tZero_fit->SetParameter(1, 1.0);
+     
+     //Fit Function in specified range
+     cell_dt[sensewire-1]->Fit("tZero_fit", "QR");
+     
+     //Get Parameters and their errors
+     m = tZero_fit->GetParameter(0);
+     y_int = tZero_fit->GetParameter(1);
+     m_err = tZero_fit->GetParError(0);
+     y_int_err = tZero_fit->GetParError(1);
+     
+     //Calculate error on t0 using error propagation method of expanding partial derivatives
+     t_zero = - y_int/m;
+     t_zero_err = sqrt(y_int_err*y_int_err/(m*m) + y_int*y_int*m_err*m_err/(m*m*m*m) );
+     entries = cell_dt[sensewire-1]->GetEntries();  //number of entries (triggers) per wire
+     
+     //Write "t0" values to file
+     ofs << sensewire << "          " << t_zero << "          " << t_zero_err << "          " << entries << endl;
+     
+     //Change to output root file and write fitted histos to file
+     g->cd();
+     cell_dt[sensewire-1]->Write();
+     
+   }
+   
+   // Make Plot of t0 versus Wire Number 
+   
+   TCanvas *t = new TCanvas("t", "", 2000,500);
+   t->SetGrid();
+
+   
+   TGraphErrors *graph = new TGraphErrors(t_zero_file, "%lg %lg %lg");
+   graph->SetName("graph");
+   TString title = "DC"+plane_names[ip]+": t0 versus sensewire";
+   graph->SetTitle(title);
+   graph->SetMarkerStyle(20);
+   graph->SetMarkerColor(1);
+   graph->GetXaxis()->SetLimits(0., total_wires);
+   graph->GetXaxis()->SetTitle("Wire Number");
+   graph->GetXaxis()->CenterTitle();
+   graph->GetYaxis()->SetTitle("t-Zero (ns)");
+   graph->GetYaxis()->CenterTitle();
+   graph->GetYaxis()->SetRangeUser(-50.0, 50.0);
+   graph->Draw("AP");
+   t->Update();
+   t->Write(title);   //write to a root file
+   
+   //close dat file
+   ofs.close();
+   //save plots
+   //TString tzero_plots = "plots/"+run_NUM +"/hdc"+plane_names[ip]+Form("TESTING_tzero_v_wire_%d.eps", run);
+   //t->SaveAs(tzero_plots);
+   
+   
+   //*****************************************************************************************//
+   //        CALCULATE THE "t0s" WEIGHTED AVERAGE FOR WIRE DRIFT TIMES WITH ENTRIES > = 300   //
+   //*****************************************************************************************//
+   
+   
+   //open t0 dat file
+   ifstream ifs;
+   ifs.open (t_zero_file);
+   string line;
+   
+   //open new data file to write updated t0 values
+   TString t_zero_file_corr = "../data_files/" + run + "/hdc_"+plane_names[ip]+Form("tzero_run%d_updated.txt", run_NUM);
+   ofs.open(t_zero_file_corr);
+   ofs << " #Wire " << "     " << " t_zero " << "     " << " t_zero_err " << "     " << " entries " << endl; 
+   
+   //Initialize variables related to weighted avg
+   double sum_NUM;  //numerator of weighted avg
+   double sum_DEN;   //denominator of weighted avg
+   double weighted_AVG;
+   double weighted_AVG_err; 
+  
+   //set them to zero to start sum inside while loop 
+   sum_NUM = 0.0;
+   sum_DEN = 0.0;
+   
+   weighted_AVG;
+   weighted_AVG_err; 
+   
+   //read line bt line the t_zero_file
+   while(getline(ifs, line)) {
+     if(!line.length()|| line[0] == '#')
+       continue;
+     //	sensewire = 0, t_zero = 0.0, t_zero_err = 0.0, entries = 0 ; //set values to zero
+     
+     sscanf(line.c_str(), "%d %d %lf %d", &sensewire, &t_zero, &t_zero_err, &entries); //assign each of the variables above a data in the t_zero_file
+     
+     //Check if entries for each sensewire exceeds a certain number of events
+     
+     if (entries>300 && t_zero < 30) {
+	
+       //Calculate the weighted average of t0s
+       sum_NUM = sum_NUM + t_zero/(t_zero_err*t_zero_err);
+       sum_DEN = sum_DEN + 1.0/(t_zero_err*t_zero_err);      
+       
+       //cout << "sum_NUM : " << sum_NUM << endl;  
+       //cout << "sum_DEN : " << sum_DEN << endl;  
+       
+    
+
+
+       ofs << sensewire << "        " << t_zero << "        " << t_zero_err << "        " << entries << endl;
+
+       
+       
+     }
+     
+   }
+   
+   
+   
+   weighted_AVG = sum_NUM / sum_DEN;
+   weighted_AVG_err = sqrt( 1.0 / sum_DEN );
+   
+   
+   
+   //open new data file to write weighted average of updated t_zero values
+   
+   TString t_zero_AVG = Form("../data_files/run%d/tzero_weighted_avg_run%d.txt", run_NUM, run_NUM);
+   
+   ofstream ofile;
+   ofile.open(t_zero_AVG, std::ofstream::out | std::ofstream::app); //open file in and output and append mode
+   
+   ofile << " #weighted_AVG " << "     " << " DC plane: " <<  plane_names[ip] << endl; 
+   ofile << weighted_AVG << endl;
+   
+  
+   
+   
+   
+   ifs.close();
+
+   // Make Plot of t0 versus Wire Number for entries > 300 events
+
+   TCanvas *t1 = new TCanvas("t1", "", 2000,500);
+   t1->SetGrid();
+
+   //TString mygraph = "hdc"+plane_names[ip]+Form("_t_zero_run%d.txt", run);
+   TGraphErrors *graph1 = new TGraphErrors(t_zero_file_corr, "%lg %lg %lg");
+   graph1->SetName("graph1");
+   TString title1 = "hdc"+plane_names[ip]+": t0 versus sensewire_corrected";
+   graph1->SetTitle(title1);
+   graph1->SetMarkerStyle(20);
+   graph1->SetMarkerColor(1);
+   //graph1->GetXaxis()->SetLimits(0., total_wires);
+   graph1->GetXaxis()->SetTitle("Wire Number");
+   graph1->GetXaxis()->CenterTitle();
+   graph1->GetYaxis()->SetTitle("t-Zero (ns)");
+   graph1->GetYaxis()->CenterTitle();
+   graph1->GetYaxis()->SetRangeUser(-50.0, 50.0);
+   graph1->Draw("AP");
+   t1->Update();
+
+   // Draw TLine
+   TLine *wght_avg = new TLine(t1->GetUxmin(), weighted_AVG, t1->GetUxmax(), weighted_AVG);
+   wght_avg->SetLineColor(kRed);
+   wght_avg->SetLineWidth(2);
+   wght_avg->SetLineStyle(2);
+   wght_avg->Draw();
+   
+   //Add text to canvas
+   TLatex* ltx1 =  new TLatex();
+   ltx1->DrawLatex(t1->GetUxmax()*0.75,40, Form("Weighted Average = %lf #pm %lf ns", weighted_AVG, weighted_AVG_err) );
+   
+   t1->Write(title1);   //write canvas to a root file
+   
+   ofs.close();  //close data file
+
+   
+
+
+
+
+
+
+
+
+ }
+ 
+ 
+
+
+
+
+}
diff --git a/CALIBRATION/shms_dc_calib/scripts/input_RUN.txt b/CALIBRATION/shms_dc_calib/scripts/input_RUN.txt
new file mode 100644
index 00000000..ce9cd490
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/input_RUN.txt
@@ -0,0 +1 @@
+437
diff --git a/CALIBRATION/shms_dc_calib/scripts/update_pdcparam.C b/CALIBRATION/shms_dc_calib/scripts/update_pdcparam.C
new file mode 100644
index 00000000..bc10993b
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/update_pdcparam.C
@@ -0,0 +1,111 @@
+//This scirpt will produce an updated version of hdc.param file, with
+//the necessary t-zero corrections
+#define time_shift 1280.0
+
+void update_pdcparam()
+{
+	  
+  //read run number from input file
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;   
+
+  TString run = Form("run%d", run_NUM);
+
+    int lin_NUM = 0;
+	string t_zero[12];
+	double tzero[12];
+	string line;
+   //open t_zero file
+   ifstream ifs;
+   ifs.open("../data_files/"+ run +"/tzero_weighted_avg_" + run + ".txt");
+   
+
+while (getline(ifs, line))
+  {
+    
+    istringstream ss(line);
+    char id;
+    
+    if ( ss >> t_zero)
+      {
+		
+	if (id != '#') //skip comments   
+	  {
+	    //count lines  
+	    lin_NUM = lin_NUM + 1;
+	    cout << lin_NUM << endl;    
+	       t_zero[lin_NUM-1] = line;
+	       tzero[lin_NUM-1] = atof(t_zero[lin_NUM-1].c_str()); // convert string to double
+	    cout << tzero[lin_NUM-1] << endl;
+	  }       
+	
+      }     
+    
+  }
+ifs.close();
+
+//Update pdc.param parameter file 
+TString pdc_param = "../../../PARAM/SHMS/DC/pdc_tracking_new.param";
+ofstream ofs(pdc_param);
+
+// ofs << ";---------------------------------------------------------------------" << endl;
+// ofs <<"; SHMS_TRACKING"<< endl;
+// ofs <<"; CTP parameter file containing all tracking parameters for the SHMS "<< endl;
+// ofs <<";----------------------------------------------------------------------"<< endl;
+// ofs <<"; sigma of wire chamber resolution for each plane "<< endl;
+// ofs <<" pdc_sigma = 0.020 "<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"             0.020"<< endl;
+// ofs <<"  pdc_tdc_min_win = -25000,-25000,-25000,-25000,-25000,-25000 "<< endl;
+// ofs <<"  		    -25000,-25000,-25000,-25000,-25000,-25000 "<< endl;
+// ofs <<"  pdc_tdc_max_win = 25000,25000,25000,25000,25000,25000 "<< endl;
+// ofs <<"                    25000,25000,25000,25000,25000,25000 "<< endl;
+// ofs <<"; hms drift chamber tdc's time per channel "<< endl;
+// ofs <<"        pdc_tdc_time_per_channel = -0.10 "<< endl;
+// ofs <<"; hms zero time for drift chambers	!DECREASING this number moves the hdtime plots to LOWER time. "<< endl;
+// ofs <<"pdc_plane_time_zero =  ";
+
+
+//*****************************************************************
+//output all t_0 corrected values to pdc.param    
+for (int i=0; i<12; i++) { 
+{
+if (i < = 5){
+ofs  <<  time_shift - tzero[i]   << ","; 
+}
+if (i ==6) {ofs << "\n" << time_shift - tzero[6]  << ",";}
+else if (i>6 && i <11) {
+ofs << time_shift - tzero[i] << ","; 
+}
+if (i==11){ ofs << time_shift - tzero[i] << endl;}
+}
+}
+//*****************************************************************
+// ofs << "\n";
+// ofs <<"; Dave Abbott's wire velocity correction "<< endl;
+// ofs <<"pdc_wire_velocity = 12.0 "<< endl;
+// ofs <<"pdc_central_time = 7,9,3,4,6,5 "<< endl;
+// ofs << "                   7,5,3,4,6,6" << endl;
+ofs.close();
+
+//create a t_zero data file copy in another directory that will also use these values
+TString tzero_dat = "../data_files/" + run + "/tzero.dat";
+ofstream ofs(tzero_dat);
+
+for (int i=0; i<12; i++) 
+{
+ofs  <<  tzero[i]  << endl; 
+}
+ 
+}
diff --git a/CALIBRATION/shms_dc_calib/scripts/wire_drift_times.C b/CALIBRATION/shms_dc_calib/scripts/wire_drift_times.C
new file mode 100644
index 00000000..7d8cb945
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/wire_drift_times.C
@@ -0,0 +1,282 @@
+#define wire_drift_times_cxx
+#include "wire_drift_times.h"
+#include <TH2.h>
+#include <TStyle.h>
+#include <TCanvas.h>
+#define NPLANES 12
+
+void wire_drift_times::Loop()
+{
+  //   In a ROOT session, you can do:
+  //      Root > .L wire_drift_times.C
+  //      Root > wire_drift_times t
+  //      Root > t.GetEntry(12); // Fill t data members with entry number 12
+  //      Root > t.Show();       // Show values of entry 12
+  //      Root > t.Show(16);     // Read and show values of entry 16
+  //      Root > t.Loop();       // Loop on all entries
+  //
+
+  //     This is the loop skeleton where:
+  //    jentry is the global entry number in the chain
+  //    ientry is the entry number in the current Tree
+  //  Note that the argument to GetEntry must be:
+  //    jentry for TChain::GetEntry
+  //    ientry for TTree::GetEntry and TBranch::GetEntry
+  //
+  //       To read only selected branches, Insert statements like:
+  // METHOD1:
+  //    fChain->SetBranchStatus("*",0);  // disable all branches
+  //    fChain->SetBranchStatus("branchname",1);  // activate branchname
+  // METHOD2: replace line
+  //    fChain->GetEntry(jentry);       //read all branches
+  //by  b_branchname->GetEntry(ientry); //read only this branch
+  if (fChain == 0) return;
+
+  Long64_t nentries = fChain->GetEntriesFast();
+
+  //Read Run Number from txt file
+  int run_NUM;
+  TString f0 = "input_RUN.txt";
+  ifstream infile(f0);
+  infile >> run_NUM;
+
+  TString run = Form("run%d", run_NUM);
+  //Declare plane names to loop over
+  TString plane_names[NPLANES]={"1u1", "1u2", "1x1", "1x2", "1v1", "1v2", "2v2", "2v1", "2x2", "2x1", "2u2", "2u1"};
+
+  //Declare a root file array to store individual DC cell drift times
+  TString root_file[NPLANES];
+  TFile *g[NPLANES];
+   
+  //integer to store total sense wires for a plane chosen by the user
+  static const Int_t total_wires_x  = 79;  
+  static const Int_t total_wires_uv = 107;
+     
+  Long64_t nbytes = 0, nb = 0;
+   
+  //Loop over all planes
+  for (int ip = 0; ip < NPLANES; ip++){
+
+    //Initialize a root file array to store individual DC cell drift times
+    root_file[ip] = "../root_files/" + run + "/shms_DC_"+plane_names[ip]+Form("_%d.root", run_NUM);
+    g[ip] = new TFile(root_file[ip], "RECREATE");
+    g[ip]->cd();
+
+    /*========================PLANES 1X1,1X2,2X1,2X2=====================================*/
+	
+    //If specific planes are encountered, treat them as follows:
+
+    /*PLANE 1U1, 1V1, 2U1, 2V1*/				
+    //If specific planes are encountered, treat them as follows:
+    if(ip == 0 || ip == 1 || ip == 4 || ip == 5 || ip == 6 || ip == 7 || ip == 10 || ip == 11) {
+
+      TH1F *cell_dt[total_wires_uv];    
+      TH2F *wire_vs_dt = new TH2F("wire_vs_dt", "", 200., -50., 350., 107., 0.,107.);
+    
+      //Initialize wire drift time histograms
+      for (int wirenum=1; wirenum<=total_wires_uv; wirenum++){
+	cell_dt[wirenum-1] = new TH1F(Form("wire_%d", wirenum), "", 200., -50., 350.);
+      }
+	
+      //Loop over all entries (triggers or events)   
+      for (Long64_t jentry=0; jentry<nentries; jentry++) {
+	Long64_t ientry = LoadTree(jentry);
+	if (ientry < 0) break;
+	nb = fChain->GetEntry(jentry);   nbytes += nb;
+	// if (Cut(ientry) < 0) continue;
+ 
+	if (ip == 0) {
+	  for (int i=0; i< Ndata_P_dc_1u1_wirenum; i++){
+	    wirenum = int(P_dc_1u1_wirenum[i]);
+	    //cout << " wire num: " << P_dc_1u1_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_1u1_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_1u1_time[i]);
+	    wire_vs_dt->Fill(P_dc_1u1_time[i], P_dc_1u1_wirenum[i]);
+
+	  }
+	}
+							
+	if (ip == 1) {
+	  for (int i=0; i< Ndata_P_dc_1u2_wirenum; i++){
+	    wirenum = int(P_dc_1u2_wirenum[i]);
+	    //cout << " wire num: " << P_dc_1u2_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_1u2_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_1u2_time[i]);
+	    wire_vs_dt->Fill(P_dc_1u2_time[i], P_dc_1u2_wirenum[i]);
+
+	  }
+	}						
+			
+	if (ip == 4) {
+	  for (int i=0; i< Ndata_P_dc_1v1_wirenum; i++){
+	    wirenum = int(P_dc_1v1_wirenum[i]);
+	    //cout << " wire num: " << P_dc_1v1_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_1v1_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_1v1_time[i]);
+	    wire_vs_dt->Fill(P_dc_1v1_time[i], P_dc_1v1_wirenum[i]);
+
+	  }
+	}		
+			
+	if (ip == 5) {
+	  for (int i=0; i< Ndata_P_dc_1v2_wirenum; i++){
+	    wirenum = int(P_dc_1v2_wirenum[i]);
+	    //cout << " wire num: " << P_dc_1v2_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_1v2_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_1v2_time[i]);
+	    wire_vs_dt->Fill(P_dc_1v2_time[i], P_dc_1v2_wirenum[i]);
+
+	  }
+	}
+
+	if (ip == 6) {
+	  for (int i=0; i< Ndata_P_dc_2v2_wirenum; i++){
+	    wirenum = int(P_dc_2v2_wirenum[i]);
+	    //cout << " wire num: " << P_dc_2v2_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_2v2_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_2v2_time[i]);
+	    wire_vs_dt->Fill(P_dc_2v2_time[i], P_dc_2v2_wirenum[i]);
+
+	  }
+	}
+
+	if (ip == 7) {
+	  for (int i=0; i< Ndata_P_dc_2v1_wirenum; i++){
+	    wirenum = int(P_dc_2v1_wirenum[i]);
+	    //cout << " wire num: " << P_dc_2v1_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_2v1_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_2v1_time[i]);
+	    wire_vs_dt->Fill(P_dc_2v1_time[i], P_dc_2v1_wirenum[i]);
+
+	  }
+	}
+
+	if (ip == 10) {
+	  for (int i=0; i< Ndata_P_dc_2u2_wirenum; i++){
+	    wirenum = int(P_dc_2u2_wirenum[i]);
+	    //cout << " wire num: " << P_dc_2u2_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_2u2_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_2u2_time[i]);
+	    wire_vs_dt->Fill(P_dc_2u2_time[i], P_dc_2u2_wirenum[i]);
+
+	  }
+	}
+
+	if (ip == 11) {
+	  for (int i=0; i< Ndata_P_dc_2u1_wirenum; i++){
+	    wirenum = int(P_dc_2u1_wirenum[i]);
+	    //cout << " wire num: " << P_dc_2u1_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_2u1_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_2u1_time[i]);
+	    wire_vs_dt->Fill(P_dc_2u1_time[i], P_dc_2u1_wirenum[i]);
+
+	  }
+	}						
+					
+					
+					
+      }
+    }
+	
+    if(ip == 2 || ip == 3 || ip == 8 || ip == 9) {
+
+      TH1F *cell_dt[total_wires_x];    
+      TH2F *wire_vs_dt = new TH2F("wire_vs_dt", "", 200., -50., 350., 79., 0., 79.);
+    
+      //Initialize wire drift time histograms
+      for (int wirenum=1; wirenum<=total_wires_x; wirenum++){
+	cell_dt[wirenum-1] = new TH1F(Form("wire_%d", wirenum), "", 200., -50., 350.);
+      }
+	
+      //Loop over all entries (triggers or events)   
+      for (Long64_t jentry=0; jentry<nentries; jentry++) {
+	Long64_t ientry = LoadTree(jentry);
+	if (ientry < 0) break;
+	nb = fChain->GetEntry(jentry);   nbytes += nb;
+	// if (Cut(ientry) < 0) continue;
+ 
+	if (ip == 2) {
+	  for (int i=0; i< Ndata_P_dc_1x1_wirenum; i++){
+	    wirenum = int(P_dc_1x1_wirenum[i]);
+	    //cout << " wire num: " << P_dc_1x1_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_1x1_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_1x1_time[i]);
+	    wire_vs_dt->Fill(P_dc_1x1_time[i], P_dc_1x1_wirenum[i]);
+
+	  }
+	}
+							
+	if (ip == 3) {
+	  for (int i=0; i< Ndata_P_dc_1x2_wirenum; i++){
+	    wirenum = int(P_dc_1x2_wirenum[i]);
+	    //cout << " wire num: " << P_dc_1x2_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_1x2_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_1x2_time[i]);
+	    wire_vs_dt->Fill(P_dc_1x2_time[i], P_dc_1x2_wirenum[i]);
+
+	  }
+	}						
+			
+	if (ip == 8) {
+	  for (int i=0; i< Ndata_P_dc_2x2_wirenum; i++){
+	    wirenum = int(P_dc_2x2_wirenum[i]);
+	    //cout << " wire num: " << P_dc_2x2_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_2x2_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_2x2_time[i]);
+	    wire_vs_dt->Fill(P_dc_2x2_time[i], P_dc_2x2_wirenum[i]);
+
+	  }
+	}		
+			
+	if (ip == 9) {
+	  for (int i=0; i< Ndata_P_dc_2x1_wirenum; i++){
+	    wirenum = int(P_dc_2x1_wirenum[i]);
+	    //cout << " wire num: " << P_dc_2x1_wirenum[i] << endl;
+	    //cout << "Time: " << P_dc_2x1_time[i] << endl;
+
+	    //Fill the Histograms
+	    cell_dt[wirenum-1]->Fill(P_dc_2x1_time[i]);
+	    wire_vs_dt->Fill(P_dc_2x1_time[i], P_dc_2x1_wirenum[i]);
+
+	  }
+	}						
+					
+					
+					
+      }
+    }
+					
+
+
+    //Write wire drift time histos to file
+    g[ip]->Write();
+    cout << "EVERYTHING OK in plane:" << ip << endl;	
+
+  }
+
+
+  //     cout << "\r          \r" << (float)sensewire / total_wires * 100.0 << "%" << flush; 
+
+}
diff --git a/CALIBRATION/shms_dc_calib/scripts/wire_drift_times.h b/CALIBRATION/shms_dc_calib/scripts/wire_drift_times.h
new file mode 100644
index 00000000..0e6c0b22
--- /dev/null
+++ b/CALIBRATION/shms_dc_calib/scripts/wire_drift_times.h
@@ -0,0 +1,545 @@
+//////////////////////////////////////////////////////////
+// This class has been automatically generated on
+// Tue Mar  7 17:30:40 2017 by ROOT version 5.34/36
+// from TTree T/Hall A Analyzer Output DST
+// found on file: ROOTfiles/pdc_replay_437.root
+//////////////////////////////////////////////////////////
+
+#ifndef wire_drift_times_h
+#define wire_drift_times_h
+
+#include <TROOT.h>
+#include <TChain.h>
+#include <TFile.h>
+
+// Header file for the classes stored in the TTree if any.
+
+// Fixed size dimensions of array or collections stored in the TTree if any.
+
+class wire_drift_times {
+public :
+
+   TTree          *fChain;   //!pointer to the analyzed TTree or TChain
+   Int_t           fCurrent; //!current Tree number in a TChain
+
+   // Declaration of leaf types
+   Int_t           Ndata_P_dc_1u1_dist;
+   Double_t        P_dc_1u1_dist[107];   //[Ndata.P.dc.1u1.dist]
+   Int_t           Ndata_P_dc_1u1_rawtdc;
+   Double_t        P_dc_1u1_rawtdc[107];   //[Ndata.P.dc.1u1.rawtdc]
+   Int_t           Ndata_P_dc_1u1_time;
+   Double_t        P_dc_1u1_time[107];   //[Ndata.P.dc.1u1.time]
+   Int_t           Ndata_P_dc_1u1_wirenum;
+   Double_t        P_dc_1u1_wirenum[107];   //[Ndata.P.dc.1u1.wirenum]
+   Int_t           Ndata_P_dc_1u2_dist;
+   Double_t        P_dc_1u2_dist[107];   //[Ndata.P.dc.1u2.dist]
+   Int_t           Ndata_P_dc_1u2_rawtdc;
+   Double_t        P_dc_1u2_rawtdc[107];   //[Ndata.P.dc.1u2.rawtdc]
+   Int_t           Ndata_P_dc_1u2_time;
+   Double_t        P_dc_1u2_time[107];   //[Ndata.P.dc.1u2.time]
+   Int_t           Ndata_P_dc_1u2_wirenum;
+   Double_t        P_dc_1u2_wirenum[107];   //[Ndata.P.dc.1u2.wirenum]
+   Int_t           Ndata_P_dc_1v1_dist;
+   Double_t        P_dc_1v1_dist[107];   //[Ndata.P.dc.1v1.dist]
+   Int_t           Ndata_P_dc_1v1_rawtdc;
+   Double_t        P_dc_1v1_rawtdc[107];   //[Ndata.P.dc.1v1.rawtdc]
+   Int_t           Ndata_P_dc_1v1_time;
+   Double_t        P_dc_1v1_time[107];   //[Ndata.P.dc.1v1.time]
+   Int_t           Ndata_P_dc_1v1_wirenum;
+   Double_t        P_dc_1v1_wirenum[107];   //[Ndata.P.dc.1v1.wirenum]
+   Int_t           Ndata_P_dc_1v2_dist;
+   Double_t        P_dc_1v2_dist[107];   //[Ndata.P.dc.1v2.dist]
+   Int_t           Ndata_P_dc_1v2_rawtdc;
+   Double_t        P_dc_1v2_rawtdc[107];   //[Ndata.P.dc.1v2.rawtdc]
+   Int_t           Ndata_P_dc_1v2_time;
+   Double_t        P_dc_1v2_time[107];   //[Ndata.P.dc.1v2.time]
+   Int_t           Ndata_P_dc_1v2_wirenum;
+   Double_t        P_dc_1v2_wirenum[107];   //[Ndata.P.dc.1v2.wirenum]
+   Int_t           Ndata_P_dc_1x1_dist;
+   Double_t        P_dc_1x1_dist[80];   //[Ndata.P.dc.1x1.dist]
+   Int_t           Ndata_P_dc_1x1_rawtdc;
+   Double_t        P_dc_1x1_rawtdc[80];   //[Ndata.P.dc.1x1.rawtdc]
+   Int_t           Ndata_P_dc_1x1_time;
+   Double_t        P_dc_1x1_time[80];   //[Ndata.P.dc.1x1.time]
+   Int_t           Ndata_P_dc_1x1_wirenum;
+   Double_t        P_dc_1x1_wirenum[80];   //[Ndata.P.dc.1x1.wirenum]
+   Int_t           Ndata_P_dc_1x2_dist;
+   Double_t        P_dc_1x2_dist[80];   //[Ndata.P.dc.1x2.dist]
+   Int_t           Ndata_P_dc_1x2_rawtdc;
+   Double_t        P_dc_1x2_rawtdc[80];   //[Ndata.P.dc.1x2.rawtdc]
+   Int_t           Ndata_P_dc_1x2_time;
+   Double_t        P_dc_1x2_time[80];   //[Ndata.P.dc.1x2.time]
+   Int_t           Ndata_P_dc_1x2_wirenum;
+   Double_t        P_dc_1x2_wirenum[80];   //[Ndata.P.dc.1x2.wirenum]
+   Int_t           Ndata_P_dc_2u1_dist;
+   Double_t        P_dc_2u1_dist[107];   //[Ndata.P.dc.2u1.dist]
+   Int_t           Ndata_P_dc_2u1_rawtdc;
+   Double_t        P_dc_2u1_rawtdc[107];   //[Ndata.P.dc.2u1.rawtdc]
+   Int_t           Ndata_P_dc_2u1_time;
+   Double_t        P_dc_2u1_time[107];   //[Ndata.P.dc.2u1.time]
+   Int_t           Ndata_P_dc_2u1_wirenum;
+   Double_t        P_dc_2u1_wirenum[107];   //[Ndata.P.dc.2u1.wirenum]
+   Int_t           Ndata_P_dc_2u2_dist;
+   Double_t        P_dc_2u2_dist[107];   //[Ndata.P.dc.2u2.dist]
+   Int_t           Ndata_P_dc_2u2_rawtdc;
+   Double_t        P_dc_2u2_rawtdc[107];   //[Ndata.P.dc.2u2.rawtdc]
+   Int_t           Ndata_P_dc_2u2_time;
+   Double_t        P_dc_2u2_time[107];   //[Ndata.P.dc.2u2.time]
+   Int_t           Ndata_P_dc_2u2_wirenum;
+   Double_t        P_dc_2u2_wirenum[107];   //[Ndata.P.dc.2u2.wirenum]
+   Int_t           Ndata_P_dc_2v1_dist;
+   Double_t        P_dc_2v1_dist[107];   //[Ndata.P.dc.2v1.dist]
+   Int_t           Ndata_P_dc_2v1_rawtdc;
+   Double_t        P_dc_2v1_rawtdc[107];   //[Ndata.P.dc.2v1.rawtdc]
+   Int_t           Ndata_P_dc_2v1_time;
+   Double_t        P_dc_2v1_time[107];   //[Ndata.P.dc.2v1.time]
+   Int_t           Ndata_P_dc_2v1_wirenum;
+   Double_t        P_dc_2v1_wirenum[107];   //[Ndata.P.dc.2v1.wirenum]
+   Int_t           Ndata_P_dc_2v2_dist;
+   Double_t        P_dc_2v2_dist[107];   //[Ndata.P.dc.2v2.dist]
+   Int_t           Ndata_P_dc_2v2_rawtdc;
+   Double_t        P_dc_2v2_rawtdc[107];   //[Ndata.P.dc.2v2.rawtdc]
+   Int_t           Ndata_P_dc_2v2_time;
+   Double_t        P_dc_2v2_time[107];   //[Ndata.P.dc.2v2.time]
+   Int_t           Ndata_P_dc_2v2_wirenum;
+   Double_t        P_dc_2v2_wirenum[107];   //[Ndata.P.dc.2v2.wirenum]
+   Int_t           Ndata_P_dc_2x1_dist;
+   Double_t        P_dc_2x1_dist[80];   //[Ndata.P.dc.2x1.dist]
+   Int_t           Ndata_P_dc_2x1_rawtdc;
+   Double_t        P_dc_2x1_rawtdc[80];   //[Ndata.P.dc.2x1.rawtdc]
+   Int_t           Ndata_P_dc_2x1_time;
+   Double_t        P_dc_2x1_time[80];   //[Ndata.P.dc.2x1.time]
+   Int_t           Ndata_P_dc_2x1_wirenum;
+   Double_t        P_dc_2x1_wirenum[80];   //[Ndata.P.dc.2x1.wirenum]
+   Int_t           Ndata_P_dc_2x2_dist;
+   Double_t        P_dc_2x2_dist[80];   //[Ndata.P.dc.2x2.dist]
+   Int_t           Ndata_P_dc_2x2_rawtdc;
+   Double_t        P_dc_2x2_rawtdc[80];   //[Ndata.P.dc.2x2.rawtdc]
+   Int_t           Ndata_P_dc_2x2_time;
+   Double_t        P_dc_2x2_time[80];   //[Ndata.P.dc.2x2.time]
+   Int_t           Ndata_P_dc_2x2_wirenum;
+   Double_t        P_dc_2x2_wirenum[80];   //[Ndata.P.dc.2x2.wirenum]
+   Int_t           Ndata_P_dc_residual;
+   Double_t        P_dc_residual[12];   //[Ndata.P.dc.residual]
+   Int_t           Ndata_P_dc_x;
+   Double_t        P_dc_x[10];   //[Ndata.P.dc.x]
+   Int_t           Ndata_P_dc_xp;
+   Double_t        P_dc_xp[10];   //[Ndata.P.dc.xp]
+   Int_t           Ndata_P_dc_y;
+   Double_t        P_dc_y[10];   //[Ndata.P.dc.y]
+   Int_t           Ndata_P_dc_yp;
+   Double_t        P_dc_yp[10];   //[Ndata.P.dc.yp]
+   Double_t        P_dc_1u1_nhit;
+   Double_t        P_dc_1u2_nhit;
+   Double_t        P_dc_1v1_nhit;
+   Double_t        P_dc_1v2_nhit;
+   Double_t        P_dc_1x1_nhit;
+   Double_t        P_dc_1x2_nhit;
+   Double_t        P_dc_2u1_nhit;
+   Double_t        P_dc_2u2_nhit;
+   Double_t        P_dc_2v1_nhit;
+   Double_t        P_dc_2v2_nhit;
+   Double_t        P_dc_2x1_nhit;
+   Double_t        P_dc_2x2_nhit;
+   Double_t        P_dc_Ch1_maxhits;
+   Double_t        P_dc_Ch1_nhit;
+   Double_t        P_dc_Ch1_spacepoints;
+   Double_t        P_dc_Ch1_trawhit;
+   Double_t        P_dc_Ch2_maxhits;
+   Double_t        P_dc_Ch2_nhit;
+   Double_t        P_dc_Ch2_spacepoints;
+   Double_t        P_dc_Ch2_trawhit;
+   Double_t        P_dc_nhit;
+   Double_t        P_dc_nsp;
+   Double_t        P_dc_ntrack;
+   Double_t        P_dc_stubtest;
+   Double_t        P_dc_tnhit;
+   Double_t        P_dc_trawhit;
+ //THaEvent        *Event_Branch;
+   ULong64_t       fEvtHdr_fEvtTime;
+   UInt_t          fEvtHdr_fEvtNum;
+   Int_t           fEvtHdr_fEvtType;
+   Int_t           fEvtHdr_fEvtLen;
+   Int_t           fEvtHdr_fHelicity;
+   Int_t           fEvtHdr_fTargetPol;
+   Int_t           fEvtHdr_fRun;
+
+   // List of branches
+   TBranch        *b_Ndata_P_dc_1u1_dist;   //!
+   TBranch        *b_P_dc_1u1_dist;   //!
+   TBranch        *b_Ndata_P_dc_1u1_rawtdc;   //!
+   TBranch        *b_P_dc_1u1_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_1u1_time;   //!
+   TBranch        *b_P_dc_1u1_time;   //!
+   TBranch        *b_Ndata_P_dc_1u1_wirenum;   //!
+   TBranch        *b_P_dc_1u1_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_1u2_dist;   //!
+   TBranch        *b_P_dc_1u2_dist;   //!
+   TBranch        *b_Ndata_P_dc_1u2_rawtdc;   //!
+   TBranch        *b_P_dc_1u2_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_1u2_time;   //!
+   TBranch        *b_P_dc_1u2_time;   //!
+   TBranch        *b_Ndata_P_dc_1u2_wirenum;   //!
+   TBranch        *b_P_dc_1u2_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_1v1_dist;   //!
+   TBranch        *b_P_dc_1v1_dist;   //!
+   TBranch        *b_Ndata_P_dc_1v1_rawtdc;   //!
+   TBranch        *b_P_dc_1v1_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_1v1_time;   //!
+   TBranch        *b_P_dc_1v1_time;   //!
+   TBranch        *b_Ndata_P_dc_1v1_wirenum;   //!
+   TBranch        *b_P_dc_1v1_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_1v2_dist;   //!
+   TBranch        *b_P_dc_1v2_dist;   //!
+   TBranch        *b_Ndata_P_dc_1v2_rawtdc;   //!
+   TBranch        *b_P_dc_1v2_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_1v2_time;   //!
+   TBranch        *b_P_dc_1v2_time;   //!
+   TBranch        *b_Ndata_P_dc_1v2_wirenum;   //!
+   TBranch        *b_P_dc_1v2_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_1x1_dist;   //!
+   TBranch        *b_P_dc_1x1_dist;   //!
+   TBranch        *b_Ndata_P_dc_1x1_rawtdc;   //!
+   TBranch        *b_P_dc_1x1_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_1x1_time;   //!
+   TBranch        *b_P_dc_1x1_time;   //!
+   TBranch        *b_Ndata_P_dc_1x1_wirenum;   //!
+   TBranch        *b_P_dc_1x1_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_1x2_dist;   //!
+   TBranch        *b_P_dc_1x2_dist;   //!
+   TBranch        *b_Ndata_P_dc_1x2_rawtdc;   //!
+   TBranch        *b_P_dc_1x2_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_1x2_time;   //!
+   TBranch        *b_P_dc_1x2_time;   //!
+   TBranch        *b_Ndata_P_dc_1x2_wirenum;   //!
+   TBranch        *b_P_dc_1x2_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_2u1_dist;   //!
+   TBranch        *b_P_dc_2u1_dist;   //!
+   TBranch        *b_Ndata_P_dc_2u1_rawtdc;   //!
+   TBranch        *b_P_dc_2u1_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_2u1_time;   //!
+   TBranch        *b_P_dc_2u1_time;   //!
+   TBranch        *b_Ndata_P_dc_2u1_wirenum;   //!
+   TBranch        *b_P_dc_2u1_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_2u2_dist;   //!
+   TBranch        *b_P_dc_2u2_dist;   //!
+   TBranch        *b_Ndata_P_dc_2u2_rawtdc;   //!
+   TBranch        *b_P_dc_2u2_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_2u2_time;   //!
+   TBranch        *b_P_dc_2u2_time;   //!
+   TBranch        *b_Ndata_P_dc_2u2_wirenum;   //!
+   TBranch        *b_P_dc_2u2_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_2v1_dist;   //!
+   TBranch        *b_P_dc_2v1_dist;   //!
+   TBranch        *b_Ndata_P_dc_2v1_rawtdc;   //!
+   TBranch        *b_P_dc_2v1_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_2v1_time;   //!
+   TBranch        *b_P_dc_2v1_time;   //!
+   TBranch        *b_Ndata_P_dc_2v1_wirenum;   //!
+   TBranch        *b_P_dc_2v1_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_2v2_dist;   //!
+   TBranch        *b_P_dc_2v2_dist;   //!
+   TBranch        *b_Ndata_P_dc_2v2_rawtdc;   //!
+   TBranch        *b_P_dc_2v2_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_2v2_time;   //!
+   TBranch        *b_P_dc_2v2_time;   //!
+   TBranch        *b_Ndata_P_dc_2v2_wirenum;   //!
+   TBranch        *b_P_dc_2v2_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_2x1_dist;   //!
+   TBranch        *b_P_dc_2x1_dist;   //!
+   TBranch        *b_Ndata_P_dc_2x1_rawtdc;   //!
+   TBranch        *b_P_dc_2x1_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_2x1_time;   //!
+   TBranch        *b_P_dc_2x1_time;   //!
+   TBranch        *b_Ndata_P_dc_2x1_wirenum;   //!
+   TBranch        *b_P_dc_2x1_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_2x2_dist;   //!
+   TBranch        *b_P_dc_2x2_dist;   //!
+   TBranch        *b_Ndata_P_dc_2x2_rawtdc;   //!
+   TBranch        *b_P_dc_2x2_rawtdc;   //!
+   TBranch        *b_Ndata_P_dc_2x2_time;   //!
+   TBranch        *b_P_dc_2x2_time;   //!
+   TBranch        *b_Ndata_P_dc_2x2_wirenum;   //!
+   TBranch        *b_P_dc_2x2_wirenum;   //!
+   TBranch        *b_Ndata_P_dc_residual;   //!
+   TBranch        *b_P_dc_residual;   //!
+   TBranch        *b_Ndata_P_dc_x;   //!
+   TBranch        *b_P_dc_x;   //!
+   TBranch        *b_Ndata_P_dc_xp;   //!
+   TBranch        *b_P_dc_xp;   //!
+   TBranch        *b_Ndata_P_dc_y;   //!
+   TBranch        *b_P_dc_y;   //!
+   TBranch        *b_Ndata_P_dc_yp;   //!
+   TBranch        *b_P_dc_yp;   //!
+   TBranch        *b_P_dc_1u1_nhit;   //!
+   TBranch        *b_P_dc_1u2_nhit;   //!
+   TBranch        *b_P_dc_1v1_nhit;   //!
+   TBranch        *b_P_dc_1v2_nhit;   //!
+   TBranch        *b_P_dc_1x1_nhit;   //!
+   TBranch        *b_P_dc_1x2_nhit;   //!
+   TBranch        *b_P_dc_2u1_nhit;   //!
+   TBranch        *b_P_dc_2u2_nhit;   //!
+   TBranch        *b_P_dc_2v1_nhit;   //!
+   TBranch        *b_P_dc_2v2_nhit;   //!
+   TBranch        *b_P_dc_2x1_nhit;   //!
+   TBranch        *b_P_dc_2x2_nhit;   //!
+   TBranch        *b_P_dc_Ch1_maxhits;   //!
+   TBranch        *b_P_dc_Ch1_nhit;   //!
+   TBranch        *b_P_dc_Ch1_spacepoints;   //!
+   TBranch        *b_P_dc_Ch1_trawhit;   //!
+   TBranch        *b_P_dc_Ch2_maxhits;   //!
+   TBranch        *b_P_dc_Ch2_nhit;   //!
+   TBranch        *b_P_dc_Ch2_spacepoints;   //!
+   TBranch        *b_P_dc_Ch2_trawhit;   //!
+   TBranch        *b_P_dc_nhit;   //!
+   TBranch        *b_P_dc_nsp;   //!
+   TBranch        *b_P_dc_ntrack;   //!
+   TBranch        *b_P_dc_stubtest;   //!
+   TBranch        *b_P_dc_tnhit;   //!
+   TBranch        *b_P_dc_trawhit;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtTime;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtNum;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtType;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fEvtLen;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fHelicity;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fTargetPol;   //!
+   TBranch        *b_Event_Branch_fEvtHdr_fRun;   //!
+
+   wire_drift_times(TTree *tree=0);
+   virtual ~wire_drift_times();
+   virtual Int_t    Cut(Long64_t entry);
+   virtual Int_t    GetEntry(Long64_t entry);
+   virtual Long64_t LoadTree(Long64_t entry);
+   virtual void     Init(TTree *tree);
+   virtual void     Loop();
+   virtual Bool_t   Notify();
+   virtual void     Show(Long64_t entry = -1);
+};
+
+#endif
+
+#ifdef wire_drift_times_cxx
+wire_drift_times::wire_drift_times(TTree *tree) : fChain(0) 
+{
+// if parameter tree is not specified (or zero), connect the file
+// used to generate this class and read the Tree.
+   if (tree == 0) {
+      TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("../../../ROOTfiles/shms_replay_437.root");
+      if (!f || !f->IsOpen()) {
+         f = new TFile("../../../ROOTfiles/shms_replay_437.root");
+      }
+      f->GetObject("T",tree);
+
+   }
+   Init(tree);
+}
+
+wire_drift_times::~wire_drift_times()
+{
+   if (!fChain) return;
+   delete fChain->GetCurrentFile();
+}
+
+Int_t wire_drift_times::GetEntry(Long64_t entry)
+{
+// Read contents of entry.
+   if (!fChain) return 0;
+   return fChain->GetEntry(entry);
+}
+Long64_t wire_drift_times::LoadTree(Long64_t entry)
+{
+// Set the environment to read one entry
+   if (!fChain) return -5;
+   Long64_t centry = fChain->LoadTree(entry);
+   if (centry < 0) return centry;
+   if (fChain->GetTreeNumber() != fCurrent) {
+      fCurrent = fChain->GetTreeNumber();
+      Notify();
+   }
+   return centry;
+}
+
+void wire_drift_times::Init(TTree *tree)
+{
+   // The Init() function is called when the selector needs to initialize
+   // a new tree or chain. Typically here the branch addresses and branch
+   // pointers of the tree will be set.
+   // It is normally not necessary to make changes to the generated
+   // code, but the routine can be extended by the user if needed.
+   // Init() will be called many times when running on PROOF
+   // (once per file to be processed).
+
+   // Set branch addresses and branch pointers
+   if (!tree) return;
+   fChain = tree;
+   fCurrent = -1;
+   fChain->SetMakeClass(1);
+
+   fChain->SetBranchAddress("Ndata.P.dc.1u1.dist", &Ndata_P_dc_1u1_dist, &b_Ndata_P_dc_1u1_dist);
+   fChain->SetBranchAddress("P.dc.1u1.dist", P_dc_1u1_dist, &b_P_dc_1u1_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.1u1.rawtdc", &Ndata_P_dc_1u1_rawtdc, &b_Ndata_P_dc_1u1_rawtdc);
+   fChain->SetBranchAddress("P.dc.1u1.rawtdc", P_dc_1u1_rawtdc, &b_P_dc_1u1_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.1u1.time", &Ndata_P_dc_1u1_time, &b_Ndata_P_dc_1u1_time);
+   fChain->SetBranchAddress("P.dc.1u1.time", P_dc_1u1_time, &b_P_dc_1u1_time);
+   fChain->SetBranchAddress("Ndata.P.dc.1u1.wirenum", &Ndata_P_dc_1u1_wirenum, &b_Ndata_P_dc_1u1_wirenum);
+   fChain->SetBranchAddress("P.dc.1u1.wirenum", P_dc_1u1_wirenum, &b_P_dc_1u1_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.1u2.dist", &Ndata_P_dc_1u2_dist, &b_Ndata_P_dc_1u2_dist);
+   fChain->SetBranchAddress("P.dc.1u2.dist", P_dc_1u2_dist, &b_P_dc_1u2_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.1u2.rawtdc", &Ndata_P_dc_1u2_rawtdc, &b_Ndata_P_dc_1u2_rawtdc);
+   fChain->SetBranchAddress("P.dc.1u2.rawtdc", P_dc_1u2_rawtdc, &b_P_dc_1u2_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.1u2.time", &Ndata_P_dc_1u2_time, &b_Ndata_P_dc_1u2_time);
+   fChain->SetBranchAddress("P.dc.1u2.time", P_dc_1u2_time, &b_P_dc_1u2_time);
+   fChain->SetBranchAddress("Ndata.P.dc.1u2.wirenum", &Ndata_P_dc_1u2_wirenum, &b_Ndata_P_dc_1u2_wirenum);
+   fChain->SetBranchAddress("P.dc.1u2.wirenum", P_dc_1u2_wirenum, &b_P_dc_1u2_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.1v1.dist", &Ndata_P_dc_1v1_dist, &b_Ndata_P_dc_1v1_dist);
+   fChain->SetBranchAddress("P.dc.1v1.dist", P_dc_1v1_dist, &b_P_dc_1v1_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.1v1.rawtdc", &Ndata_P_dc_1v1_rawtdc, &b_Ndata_P_dc_1v1_rawtdc);
+   fChain->SetBranchAddress("P.dc.1v1.rawtdc", P_dc_1v1_rawtdc, &b_P_dc_1v1_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.1v1.time", &Ndata_P_dc_1v1_time, &b_Ndata_P_dc_1v1_time);
+   fChain->SetBranchAddress("P.dc.1v1.time", P_dc_1v1_time, &b_P_dc_1v1_time);
+   fChain->SetBranchAddress("Ndata.P.dc.1v1.wirenum", &Ndata_P_dc_1v1_wirenum, &b_Ndata_P_dc_1v1_wirenum);
+   fChain->SetBranchAddress("P.dc.1v1.wirenum", P_dc_1v1_wirenum, &b_P_dc_1v1_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.1v2.dist", &Ndata_P_dc_1v2_dist, &b_Ndata_P_dc_1v2_dist);
+   fChain->SetBranchAddress("P.dc.1v2.dist", P_dc_1v2_dist, &b_P_dc_1v2_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.1v2.rawtdc", &Ndata_P_dc_1v2_rawtdc, &b_Ndata_P_dc_1v2_rawtdc);
+   fChain->SetBranchAddress("P.dc.1v2.rawtdc", P_dc_1v2_rawtdc, &b_P_dc_1v2_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.1v2.time", &Ndata_P_dc_1v2_time, &b_Ndata_P_dc_1v2_time);
+   fChain->SetBranchAddress("P.dc.1v2.time", P_dc_1v2_time, &b_P_dc_1v2_time);
+   fChain->SetBranchAddress("Ndata.P.dc.1v2.wirenum", &Ndata_P_dc_1v2_wirenum, &b_Ndata_P_dc_1v2_wirenum);
+   fChain->SetBranchAddress("P.dc.1v2.wirenum", P_dc_1v2_wirenum, &b_P_dc_1v2_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.1x1.dist", &Ndata_P_dc_1x1_dist, &b_Ndata_P_dc_1x1_dist);
+   fChain->SetBranchAddress("P.dc.1x1.dist", P_dc_1x1_dist, &b_P_dc_1x1_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.1x1.rawtdc", &Ndata_P_dc_1x1_rawtdc, &b_Ndata_P_dc_1x1_rawtdc);
+   fChain->SetBranchAddress("P.dc.1x1.rawtdc", P_dc_1x1_rawtdc, &b_P_dc_1x1_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.1x1.time", &Ndata_P_dc_1x1_time, &b_Ndata_P_dc_1x1_time);
+   fChain->SetBranchAddress("P.dc.1x1.time", P_dc_1x1_time, &b_P_dc_1x1_time);
+   fChain->SetBranchAddress("Ndata.P.dc.1x1.wirenum", &Ndata_P_dc_1x1_wirenum, &b_Ndata_P_dc_1x1_wirenum);
+   fChain->SetBranchAddress("P.dc.1x1.wirenum", P_dc_1x1_wirenum, &b_P_dc_1x1_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.1x2.dist", &Ndata_P_dc_1x2_dist, &b_Ndata_P_dc_1x2_dist);
+   fChain->SetBranchAddress("P.dc.1x2.dist", P_dc_1x2_dist, &b_P_dc_1x2_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.1x2.rawtdc", &Ndata_P_dc_1x2_rawtdc, &b_Ndata_P_dc_1x2_rawtdc);
+   fChain->SetBranchAddress("P.dc.1x2.rawtdc", P_dc_1x2_rawtdc, &b_P_dc_1x2_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.1x2.time", &Ndata_P_dc_1x2_time, &b_Ndata_P_dc_1x2_time);
+   fChain->SetBranchAddress("P.dc.1x2.time", P_dc_1x2_time, &b_P_dc_1x2_time);
+   fChain->SetBranchAddress("Ndata.P.dc.1x2.wirenum", &Ndata_P_dc_1x2_wirenum, &b_Ndata_P_dc_1x2_wirenum);
+   fChain->SetBranchAddress("P.dc.1x2.wirenum", P_dc_1x2_wirenum, &b_P_dc_1x2_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.2u1.dist", &Ndata_P_dc_2u1_dist, &b_Ndata_P_dc_2u1_dist);
+   fChain->SetBranchAddress("P.dc.2u1.dist", P_dc_2u1_dist, &b_P_dc_2u1_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.2u1.rawtdc", &Ndata_P_dc_2u1_rawtdc, &b_Ndata_P_dc_2u1_rawtdc);
+   fChain->SetBranchAddress("P.dc.2u1.rawtdc", P_dc_2u1_rawtdc, &b_P_dc_2u1_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.2u1.time", &Ndata_P_dc_2u1_time, &b_Ndata_P_dc_2u1_time);
+   fChain->SetBranchAddress("P.dc.2u1.time", P_dc_2u1_time, &b_P_dc_2u1_time);
+   fChain->SetBranchAddress("Ndata.P.dc.2u1.wirenum", &Ndata_P_dc_2u1_wirenum, &b_Ndata_P_dc_2u1_wirenum);
+   fChain->SetBranchAddress("P.dc.2u1.wirenum", P_dc_2u1_wirenum, &b_P_dc_2u1_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.2u2.dist", &Ndata_P_dc_2u2_dist, &b_Ndata_P_dc_2u2_dist);
+   fChain->SetBranchAddress("P.dc.2u2.dist", P_dc_2u2_dist, &b_P_dc_2u2_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.2u2.rawtdc", &Ndata_P_dc_2u2_rawtdc, &b_Ndata_P_dc_2u2_rawtdc);
+   fChain->SetBranchAddress("P.dc.2u2.rawtdc", P_dc_2u2_rawtdc, &b_P_dc_2u2_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.2u2.time", &Ndata_P_dc_2u2_time, &b_Ndata_P_dc_2u2_time);
+   fChain->SetBranchAddress("P.dc.2u2.time", P_dc_2u2_time, &b_P_dc_2u2_time);
+   fChain->SetBranchAddress("Ndata.P.dc.2u2.wirenum", &Ndata_P_dc_2u2_wirenum, &b_Ndata_P_dc_2u2_wirenum);
+   fChain->SetBranchAddress("P.dc.2u2.wirenum", P_dc_2u2_wirenum, &b_P_dc_2u2_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.2v1.dist", &Ndata_P_dc_2v1_dist, &b_Ndata_P_dc_2v1_dist);
+   fChain->SetBranchAddress("P.dc.2v1.dist", P_dc_2v1_dist, &b_P_dc_2v1_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.2v1.rawtdc", &Ndata_P_dc_2v1_rawtdc, &b_Ndata_P_dc_2v1_rawtdc);
+   fChain->SetBranchAddress("P.dc.2v1.rawtdc", P_dc_2v1_rawtdc, &b_P_dc_2v1_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.2v1.time", &Ndata_P_dc_2v1_time, &b_Ndata_P_dc_2v1_time);
+   fChain->SetBranchAddress("P.dc.2v1.time", P_dc_2v1_time, &b_P_dc_2v1_time);
+   fChain->SetBranchAddress("Ndata.P.dc.2v1.wirenum", &Ndata_P_dc_2v1_wirenum, &b_Ndata_P_dc_2v1_wirenum);
+   fChain->SetBranchAddress("P.dc.2v1.wirenum", P_dc_2v1_wirenum, &b_P_dc_2v1_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.2v2.dist", &Ndata_P_dc_2v2_dist, &b_Ndata_P_dc_2v2_dist);
+   fChain->SetBranchAddress("P.dc.2v2.dist", P_dc_2v2_dist, &b_P_dc_2v2_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.2v2.rawtdc", &Ndata_P_dc_2v2_rawtdc, &b_Ndata_P_dc_2v2_rawtdc);
+   fChain->SetBranchAddress("P.dc.2v2.rawtdc", P_dc_2v2_rawtdc, &b_P_dc_2v2_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.2v2.time", &Ndata_P_dc_2v2_time, &b_Ndata_P_dc_2v2_time);
+   fChain->SetBranchAddress("P.dc.2v2.time", P_dc_2v2_time, &b_P_dc_2v2_time);
+   fChain->SetBranchAddress("Ndata.P.dc.2v2.wirenum", &Ndata_P_dc_2v2_wirenum, &b_Ndata_P_dc_2v2_wirenum);
+   fChain->SetBranchAddress("P.dc.2v2.wirenum", P_dc_2v2_wirenum, &b_P_dc_2v2_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.2x1.dist", &Ndata_P_dc_2x1_dist, &b_Ndata_P_dc_2x1_dist);
+   fChain->SetBranchAddress("P.dc.2x1.dist", P_dc_2x1_dist, &b_P_dc_2x1_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.2x1.rawtdc", &Ndata_P_dc_2x1_rawtdc, &b_Ndata_P_dc_2x1_rawtdc);
+   fChain->SetBranchAddress("P.dc.2x1.rawtdc", P_dc_2x1_rawtdc, &b_P_dc_2x1_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.2x1.time", &Ndata_P_dc_2x1_time, &b_Ndata_P_dc_2x1_time);
+   fChain->SetBranchAddress("P.dc.2x1.time", P_dc_2x1_time, &b_P_dc_2x1_time);
+   fChain->SetBranchAddress("Ndata.P.dc.2x1.wirenum", &Ndata_P_dc_2x1_wirenum, &b_Ndata_P_dc_2x1_wirenum);
+   fChain->SetBranchAddress("P.dc.2x1.wirenum", P_dc_2x1_wirenum, &b_P_dc_2x1_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.2x2.dist", &Ndata_P_dc_2x2_dist, &b_Ndata_P_dc_2x2_dist);
+   fChain->SetBranchAddress("P.dc.2x2.dist", P_dc_2x2_dist, &b_P_dc_2x2_dist);
+   fChain->SetBranchAddress("Ndata.P.dc.2x2.rawtdc", &Ndata_P_dc_2x2_rawtdc, &b_Ndata_P_dc_2x2_rawtdc);
+   fChain->SetBranchAddress("P.dc.2x2.rawtdc", P_dc_2x2_rawtdc, &b_P_dc_2x2_rawtdc);
+   fChain->SetBranchAddress("Ndata.P.dc.2x2.time", &Ndata_P_dc_2x2_time, &b_Ndata_P_dc_2x2_time);
+   fChain->SetBranchAddress("P.dc.2x2.time", P_dc_2x2_time, &b_P_dc_2x2_time);
+   fChain->SetBranchAddress("Ndata.P.dc.2x2.wirenum", &Ndata_P_dc_2x2_wirenum, &b_Ndata_P_dc_2x2_wirenum);
+   fChain->SetBranchAddress("P.dc.2x2.wirenum", P_dc_2x2_wirenum, &b_P_dc_2x2_wirenum);
+   fChain->SetBranchAddress("Ndata.P.dc.residual", &Ndata_P_dc_residual, &b_Ndata_P_dc_residual);
+   fChain->SetBranchAddress("P.dc.residual", P_dc_residual, &b_P_dc_residual);
+   fChain->SetBranchAddress("Ndata.P.dc.x", &Ndata_P_dc_x, &b_Ndata_P_dc_x);
+   fChain->SetBranchAddress("P.dc.x", P_dc_x, &b_P_dc_x);
+   fChain->SetBranchAddress("Ndata.P.dc.xp", &Ndata_P_dc_xp, &b_Ndata_P_dc_xp);
+   fChain->SetBranchAddress("P.dc.xp", P_dc_xp, &b_P_dc_xp);
+   fChain->SetBranchAddress("Ndata.P.dc.y", &Ndata_P_dc_y, &b_Ndata_P_dc_y);
+   fChain->SetBranchAddress("P.dc.y", P_dc_y, &b_P_dc_y);
+   fChain->SetBranchAddress("Ndata.P.dc.yp", &Ndata_P_dc_yp, &b_Ndata_P_dc_yp);
+   fChain->SetBranchAddress("P.dc.yp", P_dc_yp, &b_P_dc_yp);
+   fChain->SetBranchAddress("P.dc.1u1.nhit", &P_dc_1u1_nhit, &b_P_dc_1u1_nhit);
+   fChain->SetBranchAddress("P.dc.1u2.nhit", &P_dc_1u2_nhit, &b_P_dc_1u2_nhit);
+   fChain->SetBranchAddress("P.dc.1v1.nhit", &P_dc_1v1_nhit, &b_P_dc_1v1_nhit);
+   fChain->SetBranchAddress("P.dc.1v2.nhit", &P_dc_1v2_nhit, &b_P_dc_1v2_nhit);
+   fChain->SetBranchAddress("P.dc.1x1.nhit", &P_dc_1x1_nhit, &b_P_dc_1x1_nhit);
+   fChain->SetBranchAddress("P.dc.1x2.nhit", &P_dc_1x2_nhit, &b_P_dc_1x2_nhit);
+   fChain->SetBranchAddress("P.dc.2u1.nhit", &P_dc_2u1_nhit, &b_P_dc_2u1_nhit);
+   fChain->SetBranchAddress("P.dc.2u2.nhit", &P_dc_2u2_nhit, &b_P_dc_2u2_nhit);
+   fChain->SetBranchAddress("P.dc.2v1.nhit", &P_dc_2v1_nhit, &b_P_dc_2v1_nhit);
+   fChain->SetBranchAddress("P.dc.2v2.nhit", &P_dc_2v2_nhit, &b_P_dc_2v2_nhit);
+   fChain->SetBranchAddress("P.dc.2x1.nhit", &P_dc_2x1_nhit, &b_P_dc_2x1_nhit);
+   fChain->SetBranchAddress("P.dc.2x2.nhit", &P_dc_2x2_nhit, &b_P_dc_2x2_nhit);
+   fChain->SetBranchAddress("P.dc.Ch1.maxhits", &P_dc_Ch1_maxhits, &b_P_dc_Ch1_maxhits);
+   fChain->SetBranchAddress("P.dc.Ch1.nhit", &P_dc_Ch1_nhit, &b_P_dc_Ch1_nhit);
+   fChain->SetBranchAddress("P.dc.Ch1.spacepoints", &P_dc_Ch1_spacepoints, &b_P_dc_Ch1_spacepoints);
+   fChain->SetBranchAddress("P.dc.Ch1.trawhit", &P_dc_Ch1_trawhit, &b_P_dc_Ch1_trawhit);
+   fChain->SetBranchAddress("P.dc.Ch2.maxhits", &P_dc_Ch2_maxhits, &b_P_dc_Ch2_maxhits);
+   fChain->SetBranchAddress("P.dc.Ch2.nhit", &P_dc_Ch2_nhit, &b_P_dc_Ch2_nhit);
+   fChain->SetBranchAddress("P.dc.Ch2.spacepoints", &P_dc_Ch2_spacepoints, &b_P_dc_Ch2_spacepoints);
+   fChain->SetBranchAddress("P.dc.Ch2.trawhit", &P_dc_Ch2_trawhit, &b_P_dc_Ch2_trawhit);
+   fChain->SetBranchAddress("P.dc.nhit", &P_dc_nhit, &b_P_dc_nhit);
+   fChain->SetBranchAddress("P.dc.nsp", &P_dc_nsp, &b_P_dc_nsp);
+   fChain->SetBranchAddress("P.dc.ntrack", &P_dc_ntrack, &b_P_dc_ntrack);
+   fChain->SetBranchAddress("P.dc.stubtest", &P_dc_stubtest, &b_P_dc_stubtest);
+   fChain->SetBranchAddress("P.dc.tnhit", &P_dc_tnhit, &b_P_dc_tnhit);
+   fChain->SetBranchAddress("P.dc.trawhit", &P_dc_trawhit, &b_P_dc_trawhit);
+   fChain->SetBranchAddress("fEvtHdr.fEvtTime", &fEvtHdr_fEvtTime, &b_Event_Branch_fEvtHdr_fEvtTime);
+   fChain->SetBranchAddress("fEvtHdr.fEvtNum", &fEvtHdr_fEvtNum, &b_Event_Branch_fEvtHdr_fEvtNum);
+   fChain->SetBranchAddress("fEvtHdr.fEvtType", &fEvtHdr_fEvtType, &b_Event_Branch_fEvtHdr_fEvtType);
+   fChain->SetBranchAddress("fEvtHdr.fEvtLen", &fEvtHdr_fEvtLen, &b_Event_Branch_fEvtHdr_fEvtLen);
+   fChain->SetBranchAddress("fEvtHdr.fHelicity", &fEvtHdr_fHelicity, &b_Event_Branch_fEvtHdr_fHelicity);
+   fChain->SetBranchAddress("fEvtHdr.fTargetPol", &fEvtHdr_fTargetPol, &b_Event_Branch_fEvtHdr_fTargetPol);
+   fChain->SetBranchAddress("fEvtHdr.fRun", &fEvtHdr_fRun, &b_Event_Branch_fEvtHdr_fRun);
+   Notify();
+}
+
+Bool_t wire_drift_times::Notify()
+{
+   // The Notify() function is called when a new file is opened. This
+   // can be either for a new TTree in a TChain or when when a new TTree
+   // is started when using PROOF. It is normally not necessary to make changes
+   // to the generated code, but the routine can be extended by the
+   // user if needed. The return value is currently not used.
+
+   return kTRUE;
+}
+
+void wire_drift_times::Show(Long64_t entry)
+{
+// Print contents of entry.
+// If entry is not specified, print current entry
+   if (!fChain) return;
+   fChain->Show(entry);
+}
+Int_t wire_drift_times::Cut(Long64_t entry)
+{
+// This function may be called from Loop.
+// returns  1 if entry is accepted.
+// returns -1 otherwise.
+   return 1;
+}
+#endif // #ifdef wire_drift_times_cxx
diff --git a/DATFILES/SHMS_fr3_rec__order_3.dat b/DATFILES/SHMS_fr3_rec__order_3.dat
new file mode 100644
index 00000000..c5f2181d
--- /dev/null
+++ b/DATFILES/SHMS_fr3_rec__order_3.dat
@@ -0,0 +1,61 @@
+! SHMS reconstruction optics
+! made with Cosy from `shms-2011-26cm-monte.fox`
+! order: 3
+! 2017/03/02
+ ------------------------------------------------------------------------------
+  0.271575341    -0.562369031E-01 0.319566081E-01 0.610081290     10000
+  -1.40168967     0.324549705E-02-0.184425300E-02-0.352085004E-01 01000
+   0.00000000    -0.614627877     0.268258711      0.00000000     00100
+   0.00000000    -0.334494693E-01 -1.61240146      0.00000000     00010
+  0.292838822    -0.779452895E-01 0.442923940E-01 0.845582884     00001
+ -0.461777083     0.133175413    -0.795465554E-01 -1.10941840     20000
+   2.31345901    -0.651650790     0.410139672      7.40765439     11000
+  0.313171813    -0.189779813     0.503365420E-02  1.07619090     02000
+  0.832253162E-02  3.25891656    -0.623172327     0.130538752E-01 10100
+ -0.429553235E-01-0.337197013     0.115900052    -0.673753442E-01 01100
+  0.123978840E-02 0.104304505E-02-0.173094061E-02 0.293611475E-02 00200
+ -0.346040884E-01 -34.2794401      6.37461563    -0.337822756E-01 10010
+  0.178603084      2.78206786    -0.304747320     0.174361437     01010
+  0.628665995E-01-0.824087278E-01 0.307462429E-01 0.154433455     00110
+  -1.40937257     0.301926273    -0.187978799     -2.47726546     10001
+   3.33484635    -0.862548006     0.574689551      10.5041926     01001
+  0.130450160E-01  4.51258325    -0.861523847     0.259132153E-01 00101
+ -0.372584164     0.399413222    -0.891791733E-01-0.402593585     00020
+ -0.618394302E-01 -47.7437685      8.94535901    -0.107744042     00011
+  -1.06632062     0.166741451    -0.107916204     -1.30229160     00002
+   2.02204786    -0.537494821     0.320946553      4.39751589     30000
+  -17.7287121      4.88024882     -2.93121031     -45.2936945     21000
+   41.4726095     -12.1033754      7.27184134      135.859531     12000
+  -19.2547522      6.35601113     -3.56945324     -68.6229278     03000
+ -0.639687330E-01 -12.8390163      2.47275279    -0.116142488     20100
+  0.383562426      75.4946872     -14.1477166     0.765093581     11100
+ -0.277071263     -83.0427890      15.0668682    -0.857237446     02100
+  0.521382345    -0.660319024E-01 0.836917529E-01  1.62277288     10200
+  -2.71588574     0.417636863    -0.374384882     -8.42602578     01200
+  0.379937962E-04 -2.22772445     0.411212109     0.595931979E-04 00300
+  0.401258847      134.208982     -25.7567354     0.723062757     20010
+  -2.21408761     -779.349257      145.964199     -4.18430354     11010
+  0.744454923      871.241762     -162.500709      2.34060679     02010
+  -11.1502022      2.11028391     -1.81145056     -34.1647857     10110
+   56.9030538     -11.4096323      8.30827966      175.204252     01110
+  0.176859767E-02  71.0256213     -13.2910486     0.286760156E-02 00210
+   8.25911531     -1.83293852      1.12279865      14.9915931     20001
+  -47.6174637      11.2343899     -6.91073184     -102.172282     11001
+   55.1407020     -14.8476604      8.99669952      167.425329     02001
+ -0.200203452     -29.7959889      5.79495205    -0.355610730     10101
+  0.581102351      92.6441192     -17.5793543      1.10085095     01101
+  0.674591396     0.105565721E-01 0.737030600E-01  1.59446569     00201
+   59.0337400     -14.8057660      9.71260964      178.996897     10020
+  -300.510217      74.3557252     -46.1380542     -914.862611     01020
+ -0.194284386E-01 -753.743934      142.021236    -0.257293020E-01 00120
+   1.26360425      313.950247     -60.8321033      2.32007781     10011
+  -3.37979081     -961.090841      181.666941     -6.43192219     01011
+  -14.6993850     0.949357085     -1.68119853     -34.2620511     00111
+   11.3392101     -2.12339845      1.34371762      17.7676078     10002
+  -33.1512599      6.62921723     -4.19625684     -59.3627787     01002
+ -0.156245518     -18.1815608      3.55438555    -0.262047136     00102
+  0.474746171E-01  2656.39369     -502.850206     0.463471419E-01 00030
+   78.9827113     -11.1025866      9.41992841      183.089209     00021
+  0.994119583      193.354137     -37.7652046      1.77029229     00012
+   5.21699886    -0.833070758     0.548672097      7.31883656     00003
+ ------------------------------------------------------------------------------
diff --git a/DATFILES/SHMS_fr3_rec__order_4.dat b/DATFILES/SHMS_fr3_rec__order_4.dat
new file mode 100644
index 00000000..f76564f4
--- /dev/null
+++ b/DATFILES/SHMS_fr3_rec__order_4.dat
@@ -0,0 +1,131 @@
+! SHMS reconstruction optics
+! made with Cosy from `shms-2011-26cm-monte.fox`
+! order: 4
+! 2017/03/02
+ ------------------------------------------------------------------------------
+  0.271575341    -0.562369031E-01 0.319566081E-01 0.610081290     10000
+  -1.40168967     0.324549705E-02-0.184425300E-02-0.352085004E-01 01000
+   0.00000000    -0.614627877     0.268258711      0.00000000     00100
+   0.00000000    -0.334494694E-01 -1.61240146      0.00000000     00010
+  0.292838822    -0.779452895E-01 0.442923940E-01 0.845582884     00001
+ -0.461777083     0.133175413    -0.795465553E-01 -1.10941840     20000
+   2.31345901    -0.651650789     0.410139671      7.40765439     11000
+  0.313171813    -0.189779816     0.503365581E-02  1.07619090     02000
+  0.832253162E-02  3.25891656    -0.623172327     0.130538752E-01 10100
+ -0.429553235E-01-0.337197013     0.115900052    -0.673753442E-01 01100
+  0.123978942E-02 0.104304463E-02-0.173094037E-02 0.293611934E-02 00200
+ -0.346040884E-01 -34.2794401      6.37461563    -0.337822756E-01 10010
+  0.178603084      2.78206786    -0.304747320     0.174361437     01010
+  0.628665828E-01-0.824087197E-01 0.307462384E-01 0.154433368     00110
+  -1.40937257     0.301926272    -0.187978799     -2.47726546     10001
+   3.33484635    -0.862548003     0.574689548      10.5041926     01001
+  0.130450160E-01  4.51258325    -0.861523847     0.259132153E-01 00101
+ -0.372584092     0.399413185    -0.891791525E-01-0.402593189     00020
+ -0.618394303E-01 -47.7437685      8.94535901    -0.107744042     00011
+  -1.06632062     0.166741450    -0.107916202     -1.30229160     00002
+   2.02204786    -0.537494821     0.320946553      4.39751589     30000
+  -17.7287121      4.88024881     -2.93121031     -45.2936945     21000
+   41.4726095     -12.1033754      7.27184134      135.859531     12000
+  -19.2547522      6.35601113     -3.56945324     -68.6229278     03000
+ -0.639687330E-01 -12.8390163      2.47275279    -0.116142488     20100
+  0.383562426      75.4946872     -14.1477166     0.765093581     11100
+ -0.277071263     -83.0427890      15.0668682    -0.857237446     02100
+  0.521382339    -0.660319006E-01 0.836917518E-01  1.62277287     10200
+  -2.71588573     0.417636857    -0.374384878     -8.42602572     01200
+  0.379938274E-04 -2.22772443     0.411212104     0.595932468E-04 00300
+  0.401258847      134.208982     -25.7567354     0.723062757     20010
+  -2.21408761     -779.349257      145.964199     -4.18430354     11010
+  0.744454923      871.241762     -162.500709      2.34060679     02010
+  -11.1502021      2.11028387     -1.81145055     -34.1647855     10110
+   56.9030534     -11.4096322      8.30827960      175.204251     01110
+  0.176859702E-02  71.0256206     -13.2910484     0.286760063E-02 00210
+   8.25911531     -1.83293852      1.12279865      14.9915931     20001
+  -47.6174637      11.2343899     -6.91073183     -102.172282     11001
+   55.1407020     -14.8476603      8.99669951      167.425329     02001
+ -0.200203452     -29.7959889      5.79495205    -0.355610730     10101
+  0.581102351      92.6441192     -17.5793543      1.10085095     01101
+  0.674591387     0.105565741E-01 0.737030589E-01  1.59446567     00201
+   59.0337395     -14.8057659      9.71260956      178.996896     10020
+  -300.510215      74.3557247     -46.1380539     -914.862606     01020
+ -0.194284343E-01 -753.743927      142.021235    -0.257292965E-01 00120
+   1.26360425      313.950247     -60.8321033      2.32007781     10011
+  -3.37979081     -961.090841      181.666941     -6.43192219     01011
+  -14.6993848     0.949357049     -1.68119850     -34.2620508     00111
+   11.3392100     -2.12339844      1.34371761      17.7676078     10002
+  -33.1512599      6.62921721     -4.19625682     -59.3627787     01002
+ -0.156245518     -18.1815608      3.55438555    -0.262047136     00102
+  0.474746080E-01  2656.39367     -502.850202     0.463471330E-01 00030
+   78.9827105     -11.1025864      9.41992832      183.089208     00021
+  0.994119584      193.354137     -37.7652046      1.77029229     00012
+   5.21699886    -0.833070754     0.548672093      7.31883655     00003
+  -10.2310470      2.58793363     -1.55296721     -20.8818053     40000
+   122.346406     -31.8016932      19.1514013      274.803183     31000
+  -484.927223      130.536709     -78.8502838     -1239.39171     22000
+   698.547701     -196.026028      118.569038      2117.59464     13000
+  -253.197685      71.4733330     -43.2279696     -793.955820     04000
+  0.478755489      50.8042228     -9.90654419     0.873955482     30100
+  -4.37397264     -447.898534      86.2746229     -8.66132024     21100
+   11.4763945      1021.87912     -193.798068      25.5532707     12100
+  -8.48802044     -353.060335      66.8753150     -21.2396696     03100
+  -3.36720856    -0.838236137E-01-0.415102089     -7.72252748     20200
+   24.0878684    -0.495441583E-01  2.90836969      60.9325014     11200
+  -34.4455156      1.63349895     -4.69517143     -108.631838     02200
+  0.442912824E-01  12.5587081     -2.42559825     0.848367227E-01 10300
+ -0.230283981     -47.3794478      9.03448084    -0.440507240     01300
+  0.283577483E-02-0.143540814E-01-0.547824335E-02 0.852019165E-02 00400
+  -3.26791035     -534.506885      103.795498     -5.92725409     30010
+   28.6301188      4659.91444     -893.080659      56.0463947     21010
+  -70.6746261     -10463.9773      1970.57194     -152.877065     12010
+   51.0546659      3328.38500     -620.439421      110.384945     03010
+   70.5111913     -3.43784621      9.33042294      161.394208     20110
+  -496.879282      38.6458465     -65.4747054     -1255.15132     11110
+   692.837995     -91.3622773      104.349749      2188.94307     02110
+  -1.25350163     -400.576726      77.1331104     -2.34946862     10210
+   6.41379070      1464.94648     -277.703944      12.0388384     01210
+  0.616071108E-01 0.431663756     0.233010610     0.205151913     00310
+  -53.7324212      12.0470375     -7.36030184     -98.1457887     30001
+   479.946011     -111.483955      68.2857468      965.271814     21001
+  -1264.83188      310.320248     -190.049701     -2920.57582     12001
+   908.437630     -243.926965      148.585766      2640.79125     03001
+   2.09423955      181.634158     -35.4615615      3.66998998     20101
+  -12.4222735     -1095.06205      211.310694     -23.6481174     11101
+   15.9439662      1318.52165     -249.844514      34.4087498     02101
+  -9.04889731    -0.981106252    -0.821042459     -17.5288402     10201
+   32.7896220      1.98193201      3.03790517      68.2379234     01201
+  0.669006161E-01  13.8708530     -2.68487436     0.137585092     00301
+  -364.345369      44.3259006     -51.4824086     -832.969309     20020
+   2544.78208     -394.818493      363.991885      6417.23262     11020
+  -3471.80737      769.376790     -575.098054     -10993.0813     02020
+   11.3713563      4214.76797     -808.266433      20.7767758     10120
+  -57.8302273     -15048.6461      2835.73628     -105.832362     01120
+  -2.94126789     -4.06795828     -3.57808305     -9.18394603     00220
+  -14.3642114     -1918.69584      373.400431     -25.3958401     20011
+   81.1943805      11438.0513     -2198.62554      156.120611     11011
+  -97.3240701     -13566.1443      2554.66748     -212.552115     02011
+   190.592395      5.72007104      19.3473584      369.014697     10111
+  -681.345877      11.0581498     -71.0735626     -1421.30507     01111
+  -1.91822029     -449.741669      86.8561920     -3.88665845     00211
+  -106.687061      21.3753199     -13.3322724     -177.074890     20002
+   635.350738     -132.444105      82.7053122      1158.01320     11002
+  -835.125874      186.172717     -115.959664     -1741.61113     02002
+   3.06174899      221.985076     -43.3397534      5.08551026     10102
+  -8.92400515     -682.419547      131.944729     -16.1898306     01102
+  -5.93441915     -1.10073089    -0.387050717     -10.1072756     00202
+  -32.9889804     -14661.6002      2798.56486     -58.1276687     10030
+   167.517882      51368.8943     -9618.43653      295.415008     01030
+   28.3941058      9.68440912      23.4686858      87.2909201     00130
+  -991.039515      46.5410861     -111.012273     -1919.22414     10021
+   3518.02262     -329.920257      408.281903      7348.25893     01021
+   17.6373144      4803.10768     -924.194977      35.2966403     00121
+  -21.1299702     -2355.14589      458.851005     -35.7625112     10012
+   58.3993981      7153.37736     -1379.14932      108.523448     01012
+   125.953372      12.6540917      9.76198657      213.987872     00112
+  -95.1280312      17.1315503     -10.9364018     -145.190535     10003
+   284.630982     -53.3887762      34.0723953      475.442592     01003
+   1.49562799      92.8494452     -18.0995701      2.34278439     00103
+  -79.5213480      20.8879779     -54.9235969     -242.773246     00040
+  -51.9910231     -16946.9750      3246.45578     -102.509862     00031
+  -659.873281     -11.7721902     -58.9266855     -1119.21453     00022
+  -10.4011417     -989.993417      192.843488     -16.7150638     00013
+  -32.1638309      5.22805783     -3.42382893     -45.5409473     00004
+ ------------------------------------------------------------------------------
diff --git a/DATFILES/SHMS_fr3_rec__order_5.dat b/DATFILES/SHMS_fr3_rec__order_5.dat
new file mode 100644
index 00000000..5179911b
--- /dev/null
+++ b/DATFILES/SHMS_fr3_rec__order_5.dat
@@ -0,0 +1,257 @@
+! SHMS reconstruction optics
+! made with Cosy from `shms-2011-26cm-monte.fox`
+! order: 5
+! 2017/03/02
+ ------------------------------------------------------------------------------
+  0.271575341    -0.562369031E-01 0.319566081E-01 0.610081289     10000
+  -1.40168967     0.324549698E-02-0.184425296E-02-0.352084997E-01 01000
+   0.00000000    -0.614627877     0.268258711      0.00000000     00100
+   0.00000000    -0.334494674E-01 -1.61240146      0.00000000     00010
+  0.292838822    -0.779452895E-01 0.442923940E-01 0.845582884     00001
+ -0.461777082     0.133175413    -0.795465553E-01 -1.10941840     20000
+   2.31345901    -0.651650789     0.410139671      7.40765439     11000
+  0.313171815    -0.189779816     0.503365625E-02  1.07619091     02000
+  0.832253162E-02  3.25891656    -0.623172326     0.130538752E-01 10100
+ -0.429553235E-01-0.337197010     0.115900052    -0.673753442E-01 01100
+  0.123978942E-02 0.104304463E-02-0.173094037E-02 0.293611934E-02 00200
+ -0.346040884E-01 -34.2794401      6.37461563    -0.337822756E-01 10010
+  0.178603084      2.78206782    -0.304747312     0.174361437     01010
+  0.628665828E-01-0.824087197E-01 0.307462384E-01 0.154433368     00110
+  -1.40937257     0.301926272    -0.187978798     -2.47726545     10001
+   3.33484635    -0.862548002     0.574689547      10.5041925     01001
+  0.130450160E-01  4.51258325    -0.861523847     0.259132153E-01 00101
+ -0.372584092     0.399413185    -0.891791525E-01-0.402593189     00020
+ -0.618394303E-01 -47.7437684      8.94535901    -0.107744042     00011
+  -1.06632062     0.166741450    -0.107916202     -1.30229160     00002
+   2.02204786    -0.537494821     0.320946553      4.39751589     30000
+  -17.7287122      4.88024881     -2.93121031     -45.2936945     21000
+   41.4726098     -12.1033754      7.27184134      135.859531     12000
+  -19.2547528      6.35601114     -3.56945325     -68.6229279     03000
+ -0.639687329E-01 -12.8390162      2.47275278    -0.116142488     20100
+  0.383562426      75.4946868     -14.1477165     0.765093581     11100
+ -0.277071262     -83.0427880      15.0668680    -0.857237445     02100
+  0.521382349    -0.660319017E-01 0.836917524E-01  1.62277288     10200
+  -2.71588577     0.417636863    -0.374384882     -8.42602578     01200
+  0.379938273E-04 -2.22772442     0.411212102     0.595932467E-04 00300
+  0.401258847      134.208981     -25.7567352     0.723062756     20010
+  -2.21408761     -779.349251      145.964198     -4.18430354     11010
+  0.744454921      871.241749     -162.500706      2.34060678     02010
+  -11.1502023      2.11028391     -1.81145056     -34.1647858     10110
+   56.9030546     -11.4096324      8.30827969      175.204252     01110
+  0.176859702E-02  71.0256202     -13.2910484     0.286760063E-02 00210
+   8.25911533     -1.83293852      1.12279865      14.9915932     20001
+  -47.6174640      11.2343899     -6.91073184     -102.172283     11001
+   55.1407027     -14.8476604      8.99669956      167.425330     02001
+ -0.200203451     -29.7959888      5.79495202    -0.355610730     10101
+  0.581102350      92.6441184     -17.5793541      1.10085095     01101
+  0.674591404     0.105565714E-01 0.737030604E-01  1.59446570     00201
+   59.0337410     -14.8057661      9.71260968      178.996899     10020
+  -300.510223      74.3557258     -46.1380545     -914.862619     01020
+ -0.194284343E-01 -753.743922      142.021234    -0.257292965E-01 00120
+   1.26360425      313.950245     -60.8321028      2.32007780     10011
+  -3.37979080     -961.090831      181.666938     -6.43192218     01011
+  -14.6993853     0.949357116     -1.68119854     -34.2620515     00111
+   11.3392101     -2.12339845      1.34371761      17.7676078     10002
+  -33.1512601      6.62921725     -4.19625684     -59.3627791     01002
+ -0.156245518     -18.1815606      3.55438552    -0.262047136     00102
+  0.474746080E-01  2656.39365     -502.850198     0.463471331E-01 00030
+   78.9827133     -11.1025869      9.41992856      183.089213     00021
+  0.994119583      193.354135     -37.7652042      1.77029229     00012
+   5.21699889    -0.833070759     0.548672095      7.31883661     00003
+  -10.2310470      2.58793362     -1.55296720     -20.8818053     40000
+   122.346406     -31.8016930      19.1514013      274.803184     31000
+  -484.927225      130.536708     -78.8502835     -1239.39171     22000
+   698.547705     -196.026025      118.569037      2117.59465     13000
+  -253.197685      71.4733280     -43.2279683     -793.955821     04000
+  0.478755489      50.8042226     -9.90654415     0.873955482     30100
+  -4.37397264     -447.898533      86.2746226     -8.66132023     21100
+   11.4763945      1021.87911     -193.798067      25.5532707     12100
+  -8.48802047     -353.060336      66.8753151     -21.2396696     03100
+  -3.36720859    -0.838236058E-01-0.415102092     -7.72252752     20200
+   24.0878686    -0.495442242E-01  2.90836971      60.9325017     11200
+  -34.4455158      1.63349908     -4.69517149     -108.631838     02200
+  0.442912829E-01  12.5587082     -2.42559826     0.848367234E-01 10300
+ -0.230283983     -47.3794481      9.03448090    -0.440507243     01300
+  0.283577623E-02-0.143540811E-01-0.547824347E-02 0.852018881E-02 00400
+  -3.26791034     -534.506883      103.795497     -5.92725408     30010
+   28.6301187      4659.91443     -893.080655      56.0463946     21010
+  -70.6746258     -10463.9772      1970.57193     -152.877065     12010
+   51.0546655      3328.38501     -620.439424      110.384945     03010
+   70.5111920     -3.43784640      9.33042304      161.394209     20110
+  -496.879287      38.6458480     -65.4747062     -1255.15133     11110
+   692.838002     -91.3622801      104.349751      2188.94309     02110
+  -1.25350164     -400.576729      77.1331109     -2.34946863     10210
+   6.41379076      1464.94649     -277.703946      12.0388385     01210
+  0.616071012E-01 0.431663751     0.233010610     0.205151952     00310
+  -53.7324214      12.0470374     -7.36030183     -98.1457889     30001
+   479.946013     -111.483954      68.2857467      965.271817     21001
+  -1264.83189      310.320245     -190.049701     -2920.57583     12001
+   908.437639     -243.926958      148.585765      2640.79126     03001
+   2.09423955      181.634158     -35.4615614      3.66998997     20101
+  -12.4222735     -1095.06205      211.310693     -23.6481174     11101
+   15.9439662      1318.52165     -249.844514      34.4087498     02101
+  -9.04889740    -0.981106225    -0.821042471     -17.5288403     10201
+   32.7896223      1.98193189      3.03790521      68.2379240     01201
+  0.669006170E-01  13.8708532     -2.68487439     0.137585094     00301
+  -364.345374      44.3259017     -51.4824092     -832.969317     20020
+   2544.78211     -394.818501      363.991890      6417.23269     11020
+  -3471.80741      769.376804     -575.098061     -10993.0814     02020
+   11.3713564      4214.76800     -808.266439      20.7767760     10120
+  -57.8302278     -15048.6462      2835.73631     -105.832362     01120
+  -2.94126792     -4.06795824     -3.57808304     -9.18394633     00220
+  -14.3642114     -1918.69583      373.400429     -25.3958400     20011
+   81.1943803      11438.0513     -2198.62553      156.120610     11011
+  -97.3240697     -13566.1443      2554.66747     -212.552114     02011
+   190.592397      5.72007042      19.3473587      369.014700     10111
+  -681.345885      11.0581522     -71.0735638     -1421.30508     01111
+  -1.91822032     -449.741675      86.8561930     -3.88665848     00211
+  -106.687061      21.3753198     -13.3322724     -177.074891     20002
+   635.350743     -132.444104      82.7053121      1158.01320     11002
+  -835.125883      186.172714     -115.959663     -1741.61114     02002
+   3.06174899      221.985076     -43.3397533      5.08551026     10102
+  -8.92400516     -682.419546      131.944729     -16.1898306     01102
+  -5.93441922     -1.10073087    -0.387050726     -10.1072757     00202
+  -32.9889805     -14661.6003      2798.56489     -58.1276688     10030
+   167.517883      51368.8950     -9618.43666      295.415008     01030
+   28.3941064      9.68440896      23.4686857      87.2909218     00130
+  -991.039530      46.5410894     -111.012275     -1919.22417     10021
+   3518.02268     -329.920270      408.281910      7348.25903     01021
+   17.6373146      4803.10775     -924.194990      35.2966406     00121
+  -21.1299702     -2355.14588      458.851003     -35.7625111     10012
+   58.3993979      7153.37734     -1379.14931      108.523448     01012
+   125.953374      12.6540913      9.76198680      213.987875     00112
+  -95.1280319      17.1315501     -10.9364018     -145.190536     10003
+   284.630985     -53.3887753      34.0723952      475.442597     01003
+   1.49562799      92.8494449     -18.0995700      2.34278440     00103
+  -79.5213500      20.8879780     -54.9235967     -242.773250     00040
+  -51.9910235     -16946.9753      3246.45584     -102.509863     00031
+  -659.873293     -11.7721877     -58.9266869     -1119.21455     00022
+  -10.4011417     -989.993413      192.843487     -16.7150638     00013
+  -32.1638312      5.22805774     -3.42382892     -45.5409478     00004
+   56.9874052     -14.0280263      8.44406126      113.166389     50000
+  -862.148504      217.000788     -130.924262     -1835.65902     41000
+   4799.47652     -1241.60187      750.626149      11147.8478     32000
+  -11898.1698      3183.83477     -1927.63729     -30857.8307     23000
+   12434.6516     -3462.29213      2097.50161      36948.2031     14000
+  -3990.49244      1146.30283     -695.128709     -12945.5677     05000
+  -3.44477032     -249.145828      48.6057862     -6.29724345     40100
+   41.7714168      3027.67374     -585.679647      81.4344326     31100
+  -171.531494     -12177.5931      2329.03675     -364.018985     22100
+   270.625730      17725.3388     -3335.70768      643.261694     13100
+  -126.957714     -6539.67012      1198.52782     -351.996902     04100
+   23.2462346      2.43155837      2.29253668      49.3366366     30200
+  -234.783393     -17.9606079     -23.9389059     -539.518291     21200
+   704.178643      25.5892552      77.1664334      1824.75535     12200
+  -576.444408      12.2697306     -71.2693576     -1828.16626     03200
+ -0.598599182     -84.4603491      16.4396122     -1.13912510     20300
+   4.45817688      605.281820     -116.354654      8.83333001     11300
+  -7.03512063     -915.661182      172.660638     -15.2093916     02300
+   1.06762704     0.374255924     0.119161486      2.95562701     10400
+  -5.59540997     -1.56625339    -0.450286240     -15.4431799     01400
+  0.217197000E-03-0.960608366     0.168448980     0.411150714E-03 00500
+   24.1580478      2632.70126     -511.988836      43.9432023     40010
+  -283.128549     -31772.9550      6125.08862     -549.087000     31010
+   1107.42109      126922.676     -24183.7800      2337.09747     22010
+  -1621.47504     -183964.370      34490.9352     -3824.14748     13010
+   659.869151      68870.4014     -12630.8408      1800.59807     04010
+  -485.210604     -16.1842214     -53.1948724     -1031.03277     30110
+   4859.46831      25.5791673      551.405275      11180.9997     21110
+  -14433.5182      504.059994     -1757.92419     -37456.4033     12110
+   11677.5132     -1058.56813      1592.31596      37107.0771     03110
+   16.8661919      2683.74362     -521.349453      31.9458035     20210
+  -123.178207     -18974.1474      3639.79305     -243.290295     11210
+   187.528059      28293.7118     -5322.14179      406.182661     02210
+  -47.5232327     -12.3285624     -5.60088482     -130.920636     10310
+   244.431098      48.5160794      21.8048230      674.824538     01310
+  0.431976467E-02  59.8136908     -11.0319431     0.864761359E-02 00410
+   367.377567     -82.6824915      50.4619769      673.160709     40001
+  -4435.92025      1023.92370     -626.038427     -8711.03977     31001
+   18493.3531     -4415.47173      2702.05022      39666.9109     22001
+  -30567.4222      7638.46524     -4671.44742     -73617.1308     13001
+   16038.4954     -4252.36261      2593.32705      45293.5060     04001
+  -19.4043828     -1193.12161      232.740037     -34.0166755     30101
+   174.493103      10939.1238     -2117.64680      326.128670     21101
+  -473.155134     -29745.1369      5698.26365     -962.418162     12101
+   370.379831      22233.4059     -4191.91515      845.592924     03101
+   91.0190854      14.9697702      6.95171402      172.875986     20201
+  -613.410062     -77.7304058     -50.4260848     -1251.62438     11201
+   926.799756      71.2278125      85.5228150      2115.72110     02201
+  -1.75130753     -195.741237      38.1734565     -3.26332266     10301
+   6.40012284      720.989443     -139.129269      12.2486999     01301
+   1.27109344     0.743554964     0.743139297E-01  3.18869907     00401
+   2499.68930     -92.0884395      300.960890      5321.22948     30020
+  -24933.5577      1656.32226     -3115.41289     -57451.6252     21020
+   73661.4307     -7942.31534      9882.57243      191450.910     12020
+  -59184.9250      9591.30798     -8838.09084     -188552.036     03020
+  -153.998922     -28195.2434      5464.23299     -290.242072     20120
+   1103.92870      197369.539     -37773.2044      2170.71865     11120
+  -1613.20094     -291108.369      54629.3971     -3496.90704     02120
+   775.584342      138.679038      96.0710850      2130.83121     10220
+  -3940.62199     -489.398388     -384.097382     -10885.0526     01220
+ -0.294033498     -1413.02750      264.755228    -0.557828885     00320
+   136.908065      12637.7063     -2459.05241      240.570548     30011
+  -1189.00726     -115052.551      22210.8941     -2230.01537     21011
+   3074.10115      310484.814     -59292.1644      6282.87279     12011
+  -2245.00467     -230632.952      43325.6304     -5153.99079     03011
+  -1905.33134     -170.893713     -168.479423     -3624.81709     20111
+   12735.6104      676.510595      1202.37578      26046.1290     11111
+  -19041.3456     -89.1798916     -1996.87135     -43631.5482     02111
+   49.6705800      6260.46872     -1218.72438      92.3424360     10211
+  -177.736416     -22749.9325      4381.96994     -340.054305     01211
+  -57.1634358     -26.8276872     -3.97845276     -142.039230     00311
+   955.320788     -197.644075      122.452961      1629.28796     30002
+  -8645.71138      1838.09648     -1140.13038     -15786.8327     21002
+   24022.7123     -5306.89371      3290.49341      47910.1278     12002
+  -19860.1945      4633.69315     -2864.62252     -44514.6215     03002
+  -41.0518476     -2186.45130      426.114423     -68.7276992     20102
+   244.190268      13439.4172     -2601.50144      436.382642     11102
+  -328.503492     -18478.6624      3543.14182     -639.758333     02102
+   118.919180      25.8939262      6.86989890      205.981939     10202
+  -404.064248     -69.2253993     -26.3853981     -745.324679     01202
+  -1.26449657     -114.704160      22.3668870     -2.26605584     00302
+   455.464686      98107.3191     -18964.7244      853.218781     20030
+  -3197.09543     -682046.123      130223.471     -6246.78311     11030
+   4428.96802      998321.180     -186937.682      9597.92772     02030
+  -5526.58960     -579.618541     -717.130860     -15173.1141     10130
+   27890.3721      1516.19385      2940.47657      77117.8731     01130
+   4.12740865      16022.0792     -3013.04039      7.64253774     00230
+   9846.83071      160.286895      986.066875      18773.2629     20021
+  -65566.5962      1354.63778     -6982.87458     -134372.683     11021
+   97426.3918     -6713.28525      11450.7709      223931.713     02021
+  -456.872353     -66175.1137      12853.5558     -848.384005     10121
+   1601.78891      238078.392     -45760.3184      3063.93531     01121
+   939.888077      347.481304      74.9163503      2324.91804     00221
+   291.291280      23217.1250     -4516.92215      491.395891     20012
+  -1672.25515     -141679.134      27370.4460     -3018.96270     11012
+   2145.08264      193215.095     -36959.2643      4231.12527     02012
+  -2498.26487     -348.210426     -176.637168     -4332.69216     10112
+   8422.08921      801.803136      657.778824      15569.9687     01112
+   36.1334242      3694.59848     -719.338793      64.6877708     00212
+   1253.94055     -239.430298      150.769632      2004.15183     20003
+  -7573.08007      1487.60127     -937.185346     -12941.0765     11003
+   10531.1436     -2156.83420      1356.43726      19652.8353     02003
+  -38.7031132     -1815.97136      353.365535     -61.7810020     10103
+   114.627679      5618.04358     -1086.75763      195.570480     01103
+   51.7940111      13.8809432      2.15620301      83.1013912     00203
+   14564.2549      511.990977      1974.52369      40035.0881     10040
+  -73363.6784      943.163943     -8305.08084     -203174.862     01040
+  -22.8085734     -88027.5212      16535.0877     -41.2193059     00140
+   1362.71596      231613.917     -44879.3389      2529.02565     10031
+  -4667.45713     -827371.337      158681.295     -8926.39149     01031
+  -6733.37773     -1886.39701     -600.492321     -16647.5823     00131
+   12959.2913      812.675183      1078.63618      22515.2213     10022
+  -43542.1228     -835.654469     -3950.38443     -80648.1551     01022
+  -335.014584     -39308.1721      7638.29187     -600.384561     00122
+   276.145232      19334.5383     -3758.95614      445.849699     10013
+  -788.763635     -59372.6331      11471.8453     -1366.71593     01013
+  -1092.59778     -202.863258     -60.5394738     -1753.76896     00113
+   831.520392     -146.935766      94.1466613      1252.09492     10004
+  -2518.45211      457.879726     -293.345340     -4046.44792     01004
+  -13.7319298     -575.917403      111.835289     -20.8987165     00104
+   44.4270743      188823.510     -35350.8790      78.3118688     00050
+   17812.3889      3504.86325      1749.96339      44166.2643     00041
+   1008.09985      138438.014     -26843.5381      1811.48774     00032
+   5691.22754      599.924140      391.062451      9145.39260     00023
+   98.5289267      6149.62744     -1194.22453      152.056469     00014
+   223.021664     -36.5318347      23.8422660      317.711926     00005
+ ------------------------------------------------------------------------------
diff --git a/DATFILES/SHMS_fr3_rec__order_6.dat b/DATFILES/SHMS_fr3_rec__order_6.dat
new file mode 100644
index 00000000..3974aa1d
--- /dev/null
+++ b/DATFILES/SHMS_fr3_rec__order_6.dat
@@ -0,0 +1,467 @@
+! SHMS reconstruction optics
+! made with Cosy from `shms-2011-26cm-monte.fox`
+! order: 6
+! 2017/03/02
+ ------------------------------------------------------------------------------
+  0.271575341    -0.562369031E-01 0.319566081E-01 0.610081289     10000
+  -1.40168967     0.324549698E-02-0.184425296E-02-0.352084997E-01 01000
+   0.00000000    -0.614627877     0.268258711      0.00000000     00100
+   0.00000000    -0.334494674E-01 -1.61240146      0.00000000     00010
+  0.292838822    -0.779452895E-01 0.442923940E-01 0.845582884     00001
+ -0.461777082     0.133175412    -0.795465553E-01 -1.10941840     20000
+   2.31345901    -0.651650789     0.410139671      7.40765439     11000
+  0.313171816    -0.189779817     0.503365657E-02  1.07619091     02000
+  0.832253162E-02  3.25891656    -0.623172326     0.130538752E-01 10100
+ -0.429553235E-01-0.337197010     0.115900052    -0.673753442E-01 01100
+  0.123978944E-02 0.104304462E-02-0.173094037E-02 0.293611941E-02 00200
+ -0.346040884E-01 -34.2794401      6.37461563    -0.337822756E-01 10010
+  0.178603084      2.78206782    -0.304747312     0.174361437     01010
+  0.628665824E-01-0.824087196E-01 0.307462383E-01 0.154433366     00110
+  -1.40937257     0.301926272    -0.187978798     -2.47726545     10001
+   3.33484635    -0.862548001     0.574689548      10.5041925     01001
+  0.130450160E-01  4.51258325    -0.861523847     0.259132153E-01 00101
+ -0.372584091     0.399413184    -0.891791521E-01-0.402593181     00020
+ -0.618394303E-01 -47.7437684      8.94535901    -0.107744042     00011
+  -1.06632062     0.166741450    -0.107916203     -1.30229160     00002
+   2.02204786    -0.537494821     0.320946553      4.39751589     30000
+  -17.7287122      4.88024881     -2.93121031     -45.2936945     21000
+   41.4726098     -12.1033754      7.27184133      135.859531     12000
+  -19.2547528      6.35601114     -3.56945325     -68.6229279     03000
+ -0.639687329E-01 -12.8390162      2.47275278    -0.116142488     20100
+  0.383562426      75.4946868     -14.1477165     0.765093581     11100
+ -0.277071262     -83.0427880      15.0668680    -0.857237445     02100
+  0.521382349    -0.660319016E-01 0.836917524E-01  1.62277288     10200
+  -2.71588577     0.417636863    -0.374384881     -8.42602577     01200
+  0.379938280E-04 -2.22772442     0.411212102     0.595932479E-04 00300
+  0.401258847      134.208981     -25.7567352     0.723062756     20010
+  -2.21408761     -779.349251      145.964198     -4.18430354     11010
+  0.744454921      871.241749     -162.500706      2.34060678     02010
+  -11.1502023      2.11028390     -1.81145056     -34.1647858     10110
+   56.9030546     -11.4096324      8.30827969      175.204252     01110
+  0.176859701E-02  71.0256202     -13.2910484     0.286760060E-02 00210
+   8.25911533     -1.83293852      1.12279865      14.9915932     20001
+  -47.6174640      11.2343899     -6.91073184     -102.172283     11001
+   55.1407027     -14.8476604      8.99669956      167.425330     02001
+ -0.200203451     -29.7959888      5.79495202    -0.355610730     10101
+  0.581102350      92.6441184     -17.5793541      1.10085095     01101
+  0.674591404     0.105565714E-01 0.737030604E-01  1.59446570     00201
+   59.0337410     -14.8057661      9.71260968      178.996899     10020
+  -300.510223      74.3557258     -46.1380545     -914.862618     01020
+ -0.194284342E-01 -753.743922      142.021234    -0.257292963E-01 00120
+   1.26360425      313.950245     -60.8321028      2.32007780     10011
+  -3.37979080     -961.090831      181.666938     -6.43192218     01011
+  -14.6993853     0.949357116     -1.68119854     -34.2620515     00111
+   11.3392101     -2.12339845      1.34371761      17.7676078     10002
+  -33.1512601      6.62921725     -4.19625684     -59.3627791     01002
+ -0.156245518     -18.1815606      3.55438552    -0.262047135     00102
+  0.474746078E-01  2656.39365     -502.850198     0.463471329E-01 00030
+   78.9827133     -11.1025869      9.41992856      183.089213     00021
+  0.994119583      193.354135     -37.7652042      1.77029229     00012
+   5.21699889    -0.833070758     0.548672097      7.31883661     00003
+  -10.2310470      2.58793363     -1.55296720     -20.8818053     40000
+   122.346406     -31.8016931      19.1514013      274.803184     31000
+  -484.927225      130.536708     -78.8502836     -1239.39171     22000
+   698.547705     -196.026026      118.569037      2117.59465     13000
+  -253.197685      71.4733299     -43.2279688     -793.955821     04000
+  0.478755489      50.8042226     -9.90654415     0.873955482     30100
+  -4.37397264     -447.898533      86.2746226     -8.66132023     21100
+   11.4763945      1021.87911     -193.798067      25.5532707     12100
+  -8.48802047     -353.060336      66.8753151     -21.2396696     03100
+  -3.36720859    -0.838236063E-01-0.415102092     -7.72252752     20200
+   24.0878685    -0.495442198E-01  2.90836971      60.9325017     11200
+  -34.4455158      1.63349907     -4.69517148     -108.631838     02200
+  0.442912828E-01  12.5587082     -2.42559826     0.848367234E-01 10300
+ -0.230283983     -47.3794481      9.03448089    -0.440507243     01300
+  0.283577733E-02-0.143540800E-01-0.547824407E-02 0.852017739E-02 00400
+  -3.26791034     -534.506883      103.795497     -5.92725407     30010
+   28.6301187      4659.91443     -893.080655      56.0463946     21010
+  -70.6746258     -10463.9772      1970.57193     -152.877065     12010
+   51.0546655      3328.38501     -620.439424      110.384945     03010
+   70.5111920     -3.43784639      9.33042303      161.394209     20110
+  -496.879287      38.6458479     -65.4747061     -1255.15133     11110
+   692.838001     -91.3622799      104.349751      2188.94309     02110
+  -1.25350164     -400.576728      77.1331109     -2.34946863     10210
+   6.41379076      1464.94649     -277.703946      12.0388385     01210
+  0.616070570E-01 0.431663738     0.233010617     0.205152083     00310
+  -53.7324214      12.0470375     -7.36030184     -98.1457889     30001
+   479.946013     -111.483955      68.2857468      965.271817     21001
+  -1264.83189      310.320246     -190.049701     -2920.57583     12001
+   908.437639     -243.926960      148.585765      2640.79126     03001
+   2.09423955      181.634158     -35.4615614      3.66998997     20101
+  -12.4222735     -1095.06205      211.310693     -23.6481174     11101
+   15.9439662      1318.52165     -249.844514      34.4087498     02101
+  -9.04889740    -0.981106226    -0.821042471     -17.5288403     10201
+   32.7896223      1.98193190      3.03790521      68.2379240     01201
+  0.669006170E-01  13.8708532     -2.68487439     0.137585094     00301
+  -364.345374      44.3259017     -51.4824091     -832.969317     20020
+   2544.78211     -394.818501      363.991889      6417.23269     11020
+  -3471.80741      769.376803     -575.098061     -10993.0814     02020
+   11.3713564      4214.76800     -808.266439      20.7767759     10120
+  -57.8302278     -15048.6462      2835.73631     -105.832362     01120
+  -2.94126738     -4.06795826     -3.57808303     -9.18394609     00220
+  -14.3642114     -1918.69583      373.400429     -25.3958400     20011
+   81.1943803      11438.0513     -2198.62553      156.120610     11011
+  -97.3240696     -13566.1443      2554.66747     -212.552114     02011
+   190.592397      5.72007044      19.3473587      369.014700     10111
+  -681.345885      11.0581522     -71.0735638     -1421.30508     01111
+  -1.91822032     -449.741674      86.8561930     -3.88665848     00211
+  -106.687061      21.3753198     -13.3322724     -177.074891     20002
+   635.350743     -132.444105      82.7053122      1158.01320     11002
+  -835.125883      186.172715     -115.959663     -1741.61114     02002
+   3.06174899      221.985076     -43.3397533      5.08551026     10102
+  -8.92400515     -682.419546      131.944729     -16.1898306     01102
+  -5.93441922     -1.10073087    -0.387050727     -10.1072757     00202
+  -32.9889805     -14661.6003      2798.56489     -58.1276688     10030
+   167.517883      51368.8950     -9618.43665      295.415008     01030
+   28.3941035      9.68440966      23.4686853      87.2909141     00130
+  -991.039530      46.5410893     -111.012275     -1919.22416     10021
+   3518.02268     -329.920269      408.281910      7348.25903     01021
+   17.6373146      4803.10774     -924.194989      35.2966405     00121
+  -21.1299702     -2355.14588      458.851003     -35.7625111     10012
+   58.3993979      7153.37734     -1379.14931      108.523448     01012
+   125.953374      12.6540913      9.76198680      213.987875     00112
+  -95.1280319      17.1315502     -10.9364018     -145.190536     10003
+   284.630985     -53.3887756      34.0723952      475.442597     01003
+   1.49562799      92.8494449     -18.0995700      2.34278439     00103
+  -79.5213439      20.8879758     -54.9235955     -242.773226     00040
+  -51.9910235     -16946.9753      3246.45584     -102.509862     00031
+  -659.873293     -11.7721877     -58.9266869     -1119.21455     00022
+  -10.4011416     -989.993413      192.843487     -16.7150638     00013
+  -32.1638312      5.22805775     -3.42382897     -45.5409478     00004
+   56.9874052     -14.0280264      8.44406126      113.166389     50000
+  -862.148504      217.000788     -130.924262     -1835.65902     41000
+   4799.47652     -1241.60187      750.626149      11147.8478     32000
+  -11898.1698      3183.83478     -1927.63729     -30857.8307     23000
+   12434.6516     -3462.29214      2097.50161      36948.2031     14000
+  -3990.49244      1146.30283     -695.128709     -12945.5677     05000
+  -3.44477032     -249.145828      48.6057862     -6.29724345     40100
+   41.7714168      3027.67374     -585.679647      81.4344326     31100
+  -171.531494     -12177.5931      2329.03675     -364.018985     22100
+   270.625730      17725.3388     -3335.70768      643.261693     13100
+  -126.957714     -6539.67012      1198.52782     -351.996902     04100
+   23.2462346      2.43155837      2.29253668      49.3366365     30200
+  -234.783393     -17.9606079     -23.9389058     -539.518291     21200
+   704.178643      25.5892554      77.1664333      1824.75535     12200
+  -576.444408      12.2697305     -71.2693576     -1828.16626     03200
+ -0.598599181     -84.4603491      16.4396122     -1.13912509     20300
+   4.45817688      605.281819     -116.354654      8.83333001     11300
+  -7.03512062     -915.661181      172.660638     -15.2093915     02300
+   1.06762705     0.374255925     0.119161485      2.95562699     10400
+  -5.59541001     -1.56625339    -0.450286237     -15.4431799     01400
+  0.217197036E-03-0.960608428     0.168448991     0.411150773E-03 00500
+   24.1580478      2632.70126     -511.988836      43.9432023     40010
+  -283.128549     -31772.9550      6125.08862     -549.087000     31010
+   1107.42109      126922.676     -24183.7800      2337.09747     22010
+  -1621.47504     -183964.370      34490.9352     -3824.14748     13010
+   659.869151      68870.4014     -12630.8408      1800.59807     04010
+  -485.210604     -16.1842215     -53.1948723     -1031.03277     30110
+   4859.46831      25.5791678      551.405274      11180.9997     21110
+  -14433.5182      504.059993     -1757.92419     -37456.4033     12110
+   11677.5132     -1058.56813      1592.31596      37107.0770     03110
+   16.8661919      2683.74362     -521.349453      31.9458035     20210
+  -123.178207     -18974.1474      3639.79305     -243.290295     11210
+   187.528059      28293.7117     -5322.14179      406.182661     02210
+  -47.5232327     -12.3285625     -5.60088479     -130.920635     10310
+   244.431098      48.5160796      21.8048229      674.824535     01310
+  0.431976306E-02  59.8136922     -11.0319433     0.864761108E-02 00410
+   367.377567     -82.6824917      50.4619769      673.160709     40001
+  -4435.92025      1023.92371     -626.038428     -8711.03977     31001
+   18493.3531     -4415.47174      2702.05023      39666.9109     22001
+  -30567.4222      7638.46527     -4671.44743     -73617.1309     13001
+   16038.4954     -4252.36263      2593.32705      45293.5060     04001
+  -19.4043828     -1193.12161      232.740037     -34.0166755     30101
+   174.493103      10939.1238     -2117.64680      326.128670     21101
+  -473.155134     -29745.1369      5698.26365     -962.418162     12101
+   370.379830      22233.4059     -4191.91514      845.592924     03101
+   91.0190854      14.9697702      6.95171401      172.875986     20201
+  -613.410062     -77.7304059     -50.4260848     -1251.62438     11201
+   926.799755      71.2278127      85.5228149      2115.72110     02201
+  -1.75130753     -195.741237      38.1734565     -3.26332266     10301
+   6.40012284      720.989443     -139.129269      12.2486999     01301
+   1.27109345     0.743554961     0.743139310E-01  3.18869908     00401
+   2499.68930     -92.0884393      300.960890      5321.22947     30020
+  -24933.5577      1656.32226     -3115.41289     -57451.6252     21020
+   73661.4307     -7942.31533      9882.57243      191450.910     12020
+  -59184.9250      9591.30797     -8838.09084     -188552.036     03020
+  -153.998922     -28195.2434      5464.23299     -290.242072     20120
+   1103.92870      197369.539     -37773.2044      2170.71865     11120
+  -1613.20094     -291108.369      54629.3971     -3496.90704     02120
+   775.584340      138.679038      96.0710844      2130.83120     10220
+  -3940.62199     -489.398391     -384.097380     -10885.0526     01220
+ -0.294033474     -1413.02750      264.755228    -0.557828849     00320
+   136.908065      12637.7063     -2459.05241      240.570548     30011
+  -1189.00726     -115052.551      22210.8941     -2230.01537     21011
+   3074.10115      310484.814     -59292.1644      6282.87278     12011
+  -2245.00467     -230632.952      43325.6304     -5153.99079     03011
+  -1905.33134     -170.893713     -168.479422     -3624.81709     20111
+   12735.6104      676.510596      1202.37578      26046.1290     11111
+  -19041.3456     -89.1798936     -1996.87135     -43631.5482     02111
+   49.6705799      6260.46871     -1218.72438      92.3424359     10211
+  -177.736415     -22749.9325      4381.96993     -340.054304     01211
+  -57.1634358     -26.8276872     -3.97845276     -142.039230     00311
+   955.320788     -197.644076      122.452961      1629.28796     30002
+  -8645.71138      1838.09648     -1140.13038     -15786.8327     21002
+   24022.7123     -5306.89373      3290.49342      47910.1278     12002
+  -19860.1945      4633.69317     -2864.62253     -44514.6215     03002
+  -41.0518476     -2186.45130      426.114423     -68.7276992     20102
+   244.190268      13439.4172     -2601.50144      436.382641     11102
+  -328.503492     -18478.6624      3543.14182     -639.758333     02102
+   118.919180      25.8939262      6.86989890      205.981939     10202
+  -404.064248     -69.2253994     -26.3853981     -745.324679     01202
+  -1.26449657     -114.704160      22.3668870     -2.26605583     00302
+   455.464686      98107.3190     -18964.7244      853.218781     20030
+  -3197.09543     -682046.122      130223.471     -6246.78311     11030
+   4428.96802      998321.180     -186937.682      9597.92772     02030
+  -5526.58958     -579.618546     -717.130857     -15173.1140     10130
+   27890.3720      1516.19387      2940.47656      77117.8729     01130
+   4.12740847      16022.0791     -3013.04037      7.64253749     00230
+   9846.83071      160.286896      986.066874      18773.2629     20021
+  -65566.5962      1354.63778     -6982.87458     -134372.683     11021
+   97426.3918     -6713.28524      11450.7709      223931.713     02021
+  -456.872352     -66175.1137      12853.5558     -848.384005     10121
+   1601.78891      238078.392     -45760.3183      3063.93531     01121
+   939.888074      347.481305      74.9163500      2324.91803     00221
+   291.291280      23217.1250     -4516.92215      491.395891     20012
+  -1672.25515     -141679.134      27370.4460     -3018.96270     11012
+   2145.08264      193215.095     -36959.2643      4231.12527     02012
+  -2498.26487     -348.210426     -176.637168     -4332.69216     10112
+   8422.08921      801.803137      657.778824      15569.9687     01112
+   36.1334242      3694.59848     -719.338793      64.6877707     00212
+   1253.94055     -239.430299      150.769632      2004.15183     20003
+  -7573.08007      1487.60128     -937.185348     -12941.0765     11003
+   10531.1436     -2156.83421      1356.43726      19652.8353     02003
+  -38.7031132     -1815.97136      353.365535     -61.7810020     10103
+   114.627679      5618.04358     -1086.75763      195.570480     01103
+   51.7940111      13.8809432      2.15620301      83.1013911     00203
+   14564.2549      511.990989      1974.52368      40035.0880     10040
+  -73363.6783      943.163905     -8305.08081     -203174.862     01040
+  -22.8085727     -88027.5206      16535.0876     -41.2193050     00140
+   1362.71596      231613.917     -44879.3389      2529.02565     10031
+  -4667.45713     -827371.336      158681.295     -8926.39148     01031
+  -6733.37771     -1886.39702     -600.492319     -16647.5823     00131
+   12959.2913      812.675184      1078.63618      22515.2213     10022
+  -43542.1228     -835.654472     -3950.38443     -80648.1551     01022
+  -335.014584     -39308.1721      7638.29187     -600.384561     00122
+   276.145231      19334.5383     -3758.95614      445.849699     10013
+  -788.763634     -59372.6331      11471.8453     -1366.71593     01013
+  -1092.59778     -202.863258     -60.5394739     -1753.76896     00113
+   831.520392     -146.935767      94.1466614      1252.09492     10004
+  -2518.45211      457.879729     -293.345341     -4046.44792     01004
+  -13.7319298     -575.917403      111.835290     -20.8987165     00104
+   44.4270733      188823.509     -35350.8788      78.3118677     00050
+   17812.3888      3504.86326      1749.96338      44166.2642     00041
+   1008.09985      138438.013     -26843.5381      1811.48774     00032
+   5691.22754      599.924140      391.062452      9145.39260     00023
+   98.5289265      6149.62744     -1194.22453      152.056469     00014
+   223.021664     -36.5318350      23.8422661      317.711927     00005
+  -337.509421      81.6690258     -49.2617602     -659.137367     60000
+   6169.95253     -1520.50640      918.686058      12722.8287     51000
+  -44127.0838      11112.0226     -6723.79442     -97050.4358     42000
+   155261.663     -40106.9530      24296.3619      368769.310     33000
+  -276171.572      73467.5756     -44534.7771     -718591.526     24000
+   226512.842     -62138.0595      37666.3267      652354.848     15000
+  -63524.4817      17751.8330     -10755.0866     -195042.521     06000
+   24.9420003      1358.26113     -264.765068      45.6728748     50100
+  -379.438571     -20851.0155      4040.85803     -731.664091     41100
+   2146.01352      117772.368     -22661.5093      4408.71191     32100
+  -5520.61754     -295846.695      56432.3573     -12262.3287     23100
+   6266.38364      312285.994     -58992.1443      15305.8228     14100
+  -2416.99690     -100973.290      19009.6203     -6557.31355     05100
+  -163.939003     -24.2249119     -13.7418705     -332.988638     40200
+   2155.48125      264.587658      190.851498      4648.92093     31200
+  -9824.71852     -900.537539     -934.098157     -22900.4151     22200
+   17790.3436      962.687020      1850.03300      45981.6308     13200
+  -10135.4333     -157.642729     -1165.76371     -30190.6185     04200
+   6.40165855      562.077852     -109.803026      12.0768168     30300
+  -66.1662168     -5746.38383      1114.03232     -130.513661     21300
+   207.666368      17516.7162     -3362.84788      437.347336     12300
+  -189.624810     -14570.2465      2761.35172     -441.147684     03300
+  -14.7395288     -6.55587229    -0.857932819     -33.2781508     20400
+   119.166950      47.7810308      6.57698941      279.214578     11400
+  -221.208276     -73.6488157     -13.0490725     -552.769264     02400
+  0.141193922      28.3486333     -5.52133125     0.294871034     10500
+ -0.739550573     -137.736836      26.6468572     -1.54068404     01500
+  0.663821717E-02-0.292282081E-01-0.685243335E-02 0.183880324E-01 00600
+  -177.500317     -14384.0536      2797.13749     -323.756192     50010
+   2629.21922      219668.159     -42462.0795      5050.98425     41010
+  -14365.4126     -1233948.64      236785.803     -29408.7283     32010
+   35297.0981      3082641.66     -586317.046      78106.0835     23010
+  -37652.5447     -3237914.43      609927.433     -91328.3919     14010
+   13418.8024      1042654.03     -195970.897      35486.4684     05010
+   3417.82552      265.682233      326.932669      6954.03929     40110
+  -44669.9428     -2355.30012     -4491.15050     -96501.2091     31110
+   202298.949      4353.99422      21710.5147      472200.968     22110
+  -363804.541      5829.43736     -42385.8582     -941044.256     13110
+   205878.079     -11124.0556      26291.6694      612541.416     04110
+  -180.585787     -17803.9616      3472.76578     -339.956144     30210
+   1841.57644      180347.032     -34907.8878      3627.10234     21210
+  -5680.25088     -543841.772      104233.947     -11954.0142     12210
+   5070.27597      446228.396     -84424.4034      11790.2958     03210
+   634.404830      232.972915      43.6445380      1432.50677     20310
+  -5063.06871     -1649.13534     -335.212421     -11879.4713     11310
+   9245.09527      2397.56327      655.769878      23173.1833     02310
+  -7.36643811     -1579.27929      307.466031     -15.1897919     10410
+   37.9141084      7445.84304     -1438.32955      78.2244836     01410
+ -0.257965911E-01  1.92995391     0.479028702    -0.639159835E-01 00510
+  -2584.00456      582.551712     -355.323904     -4740.40665     50001
+   39298.5107     -9036.87305      5519.51951      76098.9622     41001
+  -224600.782      52936.3245     -32361.0810     -464126.096     32001
+   592594.575     -144034.914      88066.9824      1325237.15     23001
+  -703642.501      177668.973     -108541.863     -1733311.25     14001
+   289523.871     -76442.1109      46607.3011      801909.021     05001
+   171.366300      8177.07333     -1592.63584      301.918300     40101
+  -2071.51631     -100610.315      19490.2615     -3842.85050     31101
+   8730.42538      428499.538     -82456.1605      17258.8152     22101
+  -14884.6921     -725274.088      138390.777     -31845.7525     13101
+   8408.11416      389530.782     -73556.8676      19837.2672     04101
+  -842.787534     -162.725736     -56.8544714     -1582.16058     30201
+   8303.79449      1352.53440      609.876245      16510.5316     21201
+  -25249.0913     -3193.88880     -2054.58631     -54194.3776     12201
+   22893.2540      1900.20407      2111.22207      54674.1791     03201
+   27.0316737      1998.31058     -390.287858      49.3222225     20301
+  -184.425555     -13722.0709      2661.65813     -350.649939     11301
+   287.116975      21308.6214     -4096.26285      580.917280     02301
+  -37.3112347     -21.0015636    -0.897914468     -76.9285178     10401
+   151.317332      74.7531764      4.11494043      318.964868     01401
+  0.202769495      30.2331068     -5.88796213     0.436694982     00501
+  -17587.1377     -156.280046     -1884.81597     -35854.0189     40020
+   229212.728     -3975.34694      25765.7717      495962.115     31020
+  -1034637.43      51479.8793     -123746.842     -2417778.11     22020
+   1853650.43     -163572.127      239511.816      4796859.79     13020
+  -1045080.43      132322.680     -147041.474     -3105205.67     04020
+   1658.24845      186672.374     -36346.4127      3114.25570     30120
+  -16691.7704     -1877327.25      362723.241     -32803.7435     21120
+   50561.8464      5611939.39     -1073680.74      106216.375     12120
+  -44018.5085     -4551427.75      859622.058     -102140.440     03120
+  -10104.4784     -2974.37562     -796.944491     -22827.6414     20220
+   79874.1254      20246.6876      6140.24499      187607.419     11220
+  -144005.115     -26894.7501     -11912.7141     -361645.823     02220
+   149.968417      34500.6823     -6705.98983      305.836375     10320
+  -762.417317     -159327.429      30717.8616     -1558.73880     01320
+  -7.99340888     -51.1898738     -13.5083168     -22.2192265     00420
+  -1225.99117     -86741.7389      16863.7524     -2160.92218     40011
+   14427.9285      1061738.37     -205276.247      26801.3511     31011
+  -58757.6319     -4496739.61      863460.139     -116445.222     22011
+   95770.9980      7567322.12     -1440589.01      205629.240     13011
+  -50939.7547     -4042813.45      761583.751     -120549.058     04011
+   17603.6062      2123.05127      1407.44247      33106.6478     30111
+  -172427.593     -15684.1371     -14823.3285     -343526.127     21111
+   520888.003      28695.3100      48957.6963      1120469.36     12111
+  -468862.927     -5697.23284     -49220.0813     -1122179.05     03111
+  -765.513173     -63520.1008      12389.6989     -1396.02291     20211
+   5149.75287      432299.671     -83736.7084      9796.91407     11211
+  -7873.99255     -663909.955      127439.186     -15965.7466     02211
+   1613.86758      771.319684      58.8609056      3324.30489     10311
+  -6467.46023     -2670.49190     -255.272830     -13645.6536     01311
+  -10.6714338     -1706.82838      332.400292     -22.6869511     00411
+  -8307.77721      1751.33298     -1080.93561     -14393.9191     40002
+   100990.725     -21739.2343      13431.2298      184597.138     31002
+  -432658.952      95679.0308     -59129.2996     -843999.823     22002
+   760933.671     -174270.406      107609.515      1608307.31     13002
+  -451904.883      108307.418     -66724.3293     -1055406.75     04002
+   472.030506      19997.6838     -3890.26712      798.986266     30102
+  -4258.79397     -184894.469      35790.4938     -7592.89212     21102
+   11907.3432      527206.935     -101424.652      22640.8153     12102
+  -10100.0135     -449577.721      85806.4019     -20816.8043     03102
+  -1632.83012     -381.837757     -86.9907352     -2859.46239     20202
+   10744.1931      2140.58088      646.815838      19866.7672     11202
+  -16389.3533     -2593.02815     -1132.79865     -32626.5353     02202
+   37.8906387      2403.65549     -469.030805      66.4572105     10302
+  -128.688324     -8328.19426      1615.23824     -234.816534     01302
+  -23.3447879     -15.7808640     0.140422724     -44.7517896     00402
+  -4957.48714     -648572.771      126041.796     -9281.46512     30030
+   49184.7374      6486980.90     -1251025.26      96346.0648     21030
+  -145838.861     -19256914.0      3677539.94     -305373.704     12030
+   123094.577      15461814.2     -2915181.63      284307.477     03030
+   70730.0907      15889.5293      6266.52605      159935.913     20130
+  -555417.326     -101691.484     -48498.5080     -1305679.49     11130
+   991909.304      113523.998      93702.8764      2493446.31     02130
+  -1494.13719     -371188.363      71989.0634     -3015.30705     10230
+   7534.78239      1689981.50     -325102.948      15261.0842     01230
+   207.674911      703.111076      198.286347      574.274576     00330
+  -90773.0493     -4492.34824     -8358.72815     -171070.144     30021
+   886718.132      16975.4486      87186.7405      1769950.20     21021
+  -2669629.67      46230.1854     -284618.902     -5752745.84     12021
+   2392888.08     -145146.640      282113.066      5736310.79     03021
+   7059.90249      668296.112     -130144.078      12873.1625     20121
+  -46842.7664     -4516507.68      873447.231     -89171.2400     11121
+   70282.7632      6874077.44     -1317368.03      142803.885     02121
+  -25815.2650     -10295.8733     -1242.87709     -53177.1348     10221
+   102585.336      34445.8746      5254.12594      216649.602     01221
+   219.095183      37683.0862     -7327.76600      461.013378     00321
+  -3393.41553     -212500.640      41289.2662     -5765.02534     30012
+   29804.4054      1954505.69     -377830.150      53417.3031     21012
+  -80536.9470     -5541292.88      1064409.08     -154240.057     12012
+   65347.7036      4696733.73     -894837.631      135932.040     03012
+   34178.1500      5434.18255      2267.56660      59950.6026     20112
+  -223591.100     -28040.1053     -16365.2776     -414276.519     11112
+   338802.033      28959.3181      27809.6770      676214.021     02112
+  -1077.54145     -76679.7699      14946.3835     -1890.75087     10212
+   3606.93612      263412.585     -51029.5073      6595.02830     01212
+   1015.29084      592.484282      8.20075288      1941.20820     00312
+  -14365.6218      2839.70410     -1774.74828     -23610.6460     30003
+   130965.288     -26455.5293      16544.7788      226928.950     21003
+  -374059.983      77769.8317     -48617.0587     -691609.278     12003
+   328902.263     -71074.5328      44348.6893      659518.154     03003
+   652.161938      24823.5317     -4821.84148      1060.18439     20103
+  -3910.69703     -153385.617      29658.9208     -6698.78207     11103
+   5448.34179      219536.196     -42209.7638      9963.42354     02103
+  -1413.59529     -383.785034     -57.5508466     -2327.09606     10203
+   4670.86292      1087.45155      225.973269      8089.23473     01203
+   17.6346643      975.818447     -190.130005      29.6690161     00303
+  -183924.331     -28852.8070     -18045.7097     -416444.410     20040
+   1438434.46      163362.056      140473.189      3383978.86     11040
+  -2551665.74     -106415.122     -271135.085     -6415600.89     02040
+   7302.74474      1972821.46     -381642.768      14579.2423     10140
+  -36657.5315     -8898952.51      1707833.83     -73483.0430     01140
+  -2175.05662     -5311.84078     -1603.87269     -6007.61457     00240
+  -21209.0205     -2329895.12      452944.968     -38672.3331     20031
+   138561.452      15662602.7     -3023874.18      263933.892     11031
+  -203283.282     -23665607.2      4527816.53     -413925.411     02031
+   181392.769      58714.7591      10758.6544      373987.886     10131
+  -716976.732     -187263.224     -44887.2281     -1515652.86     01131
+  -2201.83137     -409031.792      79365.4214     -4592.66778     00231
+  -176644.880     -15134.5199     -13958.4913     -310447.445     20022
+   1152575.16      59732.9884      99111.0885      2139588.84     11022
+  -1740290.75     -20636.2200     -165383.383     -3480739.10     02022
+   9982.55610      809570.698     -157583.466      17539.2487     10122
+  -32941.7143     -2762573.40      534436.695     -60391.8490     01122
+  -16316.0991     -8129.29890     -346.099830     -31164.7061     00222
+  -4709.52647     -264255.328      51302.0600     -7702.93391     20013
+   27490.4291      1624244.44     -313848.496      47481.5267     11013
+  -37015.2808     -2311075.34      443941.033     -68441.8066     02013
+   29659.9168      5760.88724      1610.88607      48887.7088     10113
+  -97443.0097     -15300.9514     -6022.19164     -169062.287     01113
+  -503.807057     -31248.0631      6083.20505     -848.357650     00213
+  -14097.2967      2618.55236     -1658.22785     -22058.4120     20004
+   85748.3259     -16284.0107      10315.0712      141335.343     11004
+  -122535.595      23985.9656     -15178.2043     -215444.364     02004
+   452.285970      15632.2122     -3031.17822      706.372115     10104
+  -1354.33952     -48464.4070      9358.41128     -2229.12072     01104
+  -461.310351     -141.747667     -13.5328724     -718.613115     00204
+  -14031.7529     -4153001.37      801208.549     -27675.6400     10050
+   70308.6512      18633564.6     -3567214.63      139236.158     01050
+   10488.1364      21073.1351      6790.07897      28974.1546     00150
+  -473330.646     -118811.500     -33206.7342     -977502.799     10041
+   1865936.73      350707.714      137683.006      3948436.37     01041
+   10861.8563      2190696.50     -423975.896      22472.9245     00141
+  -30137.8060     -2832205.08      550458.433     -53056.4741     10032
+   97865.6010      9616345.95     -1857581.69      180024.697     01032
+   115107.461      48086.7498      3876.94812      219934.456     00132
+  -153677.710     -18238.9718     -10371.0668     -253716.333     10023
+   503633.306      41103.2065      37777.1894      875263.447     01023
+   4689.87602      331115.470     -64385.3192      7913.81400     00123
+  -3280.03181     -166726.115      32333.5776     -5163.55590     10014
+   9560.12486      514135.395     -99277.1707      15904.0890     01014
+   9705.05790      2207.54137      421.666012      15129.2855     00114
+  -7446.63559      1301.66374     -835.773381     -11125.7182     10005
+   22687.8400     -4055.00951      2603.63779      35670.5595     01005
+   126.039234      3992.79874     -772.708985      189.244304     00105
+  -19153.6536     -34549.9585     -11759.5285     -52952.1358     00060
+  -21085.8334     -4643214.05      896106.937     -43260.9298     00051
+  -301430.771     -102577.628     -13781.5750     -576762.648     00042
+  -14232.3527     -1162531.02      225761.270     -24091.7874     00033
+  -50422.1309     -7541.88723     -2879.34175     -78698.1384     00024
+  -917.782159     -42671.8753      8265.09481     -1390.91123     00015
+  -1654.74395      272.439207     -177.483318     -2366.21348     00006
+ ------------------------------------------------------------------------------
diff --git a/DATFILES/hms_recon_coeff.dat b/DATFILES/hms_recon_coeff.dat
new file mode 100644
index 00000000..3743bbc0
--- /dev/null
+++ b/DATFILES/hms_recon_coeff.dat
@@ -0,0 +1,170 @@
+! recostruction matrix elements for HMS, tune HMS-100
+! <theta y phi delta | nmpq>;(x**n xp**m y**p yp**q)
+! as of 02/20/97, no z offset included: this statement is obsolete
+! created: 06/28/98
+! zeroth order matrix elements from fitting:
+! <theta|> -4.7276368293E-03 rad
+! <y|> -1.1606458055E-04 m
+! <phi|>  4.8280702357E-05 rad 
+! <p|> -3.8725980576E-03 %
+! <theta y phi delta | nmpq>;(x**n xp**m y**p yp**q)
+ ---------------------------------------------------------------------
+   .342704157      .183629749E-01 -.742670280E-02  .256021141     1000
+  -3.02138749     -.152502758      .472422058E-01  .130192976     0100
+  -.673199668E-02 -.407567405      .258501913      .278565265E-02 0010
+   .110287597     -.483378951     -2.16704420      .407874298E-01 0001
+  -.495779826     -.548491564E-01  .147936777E-01 -.318166729     2000
+   4.49999138      .451213193     -.151686093      3.07552684     1100
+   .796294361      1.48286554     -.303847305     -.297352223E-01 1010
+   .261524802     -20.7938893      5.00402934     -.249121889     1001
+  -1.65128983     -.995337651      .536837816      2.14776190     0200
+  -6.47649939      .226936328     -.123499047     -.266124530     0110
+  -3.98529962     -6.32858639      1.39991277      4.27708696     0101
+   .113653600E-01  .690088486E-01 -.437114986E-01 -.438953228E-01 0020
+   .881941403      .227473684     -.628899349E-01  .475605891     0011
+  -3.71740449      3.93769576      .113368630     -3.53478948     0002
+   1.95723299     -.820253354E-01  .103519807      .936834319     3000
+  -31.4466915      2.57527314     -2.51407447     -13.5405899     2100
+  -5.89608158     -3.50686592      .471876566     -.312542194E-01 2010
+   40.5129114      58.0458860     -12.5399800     -2.74488175     2001
+   156.932838     -23.8014414      21.1502247      51.8797642     1200
+   57.3250219      40.7718723     -7.13532706      .284008412     1110
+  -298.395506     -639.340672      173.523125      10.6819836     1101
+   1.88702326      .266847247      .271167866      .954315611     1020
+  -24.4326614     -33.6584609     -.114525239      .434687181     1011
+   180.539265      53.7698885      3.76822635      31.9077575     1002
+  -279.667300      64.3177661     -60.6190378     -20.4989850     0300
+  -64.0800162     -86.2289723      11.5806188      3.95564331     0210
+  -247.924962      1524.67217     -483.832639     -46.7762650     0201
+  -21.7150970     -13.4646889      .401043380     -7.06883817     0120
+   211.296709      323.699221     -6.72775908      25.6924121     0111
+  -1440.32950      361.536621     -384.751537     -467.898102     0102
+  -.656643228      3.62511407     -1.27960041     -.358205667     0030
+  -1.58376006      67.9025208     -22.9733471     -3.15593520     0021
+   23.7224929     -987.049261      560.285176      34.1790370     0012
+  -180.294278      5983.27702     -3518.42552     -71.5085362     0003
+  -4.16665084      1.49723155     -.759630854     -2.30278775     4000
+   69.1944845     -46.6812620      21.8666725      58.0248309     3100
+   18.5878217      3.69400020      .602106657E-01 -1.46212838     3010
+  -227.551196     -96.3179597      .489353421      20.4063547     3001
+  -243.511203      535.564222     -239.722086     -491.562374     2200
+  -230.021793     -40.7163893      .940804015      47.2957535     2110
+   3150.68103      1424.96519      38.5622615     -521.870646     2101
+  -10.2926426     -3.56149925     -1.10754304     -1.00472512     2020
+   138.770921      263.397128     -15.7671082     -26.1090659     2011
+  -211.394983     -1895.91500      234.605250      406.369321     2002
+  -832.967425     -2704.20708      1207.70554      1718.29721     1300
+   429.578554     -234.967423     -20.3231936     -432.372956     1210
+  -11612.7737     -2668.84972     -1176.05843      4021.85608     1201
+   130.736123      70.7440580      5.42914965      16.7434624     1120
+  -1905.84788     -3551.03419      224.098878      343.660595     1111
+   363.670026      16804.9474     -2673.42755     -4586.96491     1102
+   6.91955519     -9.98074257      7.57861652      4.98155457     1030
+  -114.693315      63.5563817     -65.8809200     -36.5101930     1021
+   710.699660      4980.54374     -780.431756      60.2646297     1012
+  -7520.04385     -13187.0100      2486.26739      536.066295     1003
+   4347.54210      5161.66425     -2427.09769     -1950.10403     0400
+   1156.75126      1725.44332      188.803395      1323.39948     0310
+   12047.3853     -8815.37699      3407.72589     -11081.6594     0301
+  -26.9308548      60.3544886     -47.8411214     -67.2731587     0220
+   826.904198      4520.84740      916.341424     -974.052221     0211
+   19983.2818      7167.34390     -4225.20780      9358.46286     0202
+  -26.0105902     -188.661888      54.6866678     -37.4367181     0130
+   648.226508      2521.63446     -1052.88888      292.436840     0121
+  -8498.59600     -31139.3846      8203.03704     -697.205971     0112
+   63967.4235      128236.246     -24237.5465     -2336.48364     0103
+  -1.07911254      1.22231630     -.173675833      3.83526317     0040
+   9.94134973      258.488500     -10.9579494     -84.9391998     0031
+   158.508425     -2684.84975     -3.07844063      726.975013     0022
+  -3017.64724      14872.1349     -469.458295     -1667.46714     0013
+   466.801936     -55258.4859      4661.52259      3912.11649     0004
+   1.88180503     -2.54978699      1.02249535      4.96781903     5000
+   27.9678707      85.1165188     -25.6500831     -214.635508     4100
+  -19.6018738     -1.90234997     -2.26475906      3.07907961     4010
+   338.908065     -3.13670480      84.7364876     -48.5819865     4001
+  -1595.43911     -986.185572      116.663362      3438.51266     3200
+   256.718721     -2.53553430      86.9081338     -71.7570318     3110
+  -5619.82737      2554.66160     -3220.55423      1952.97191     3101
+   5.63505956      5.65523837     -.178636671     -9.82929708     3020
+   28.4611788     -535.882022      112.200518      63.7792928     3011
+  -3335.14896      6481.34708     -841.916671     -2407.64911     3002
+   17748.8967      4446.27557      1781.86526     -27888.4078     2300
+  -365.812295      713.968459     -1184.61359      175.230779     2210
+   26149.2365     -61279.3626      44610.2113     -20776.5089     2201
+   82.8634399     -82.7911036      40.7995535      223.223395     2120
+  -4711.16007      7972.91446     -3042.34279     -1765.82660     2111
+   111837.314     -122751.891      25531.4588      55520.9916     2102
+  -13.8546171     -44.6122707     -1.49148927      7.53241271     2030
+   379.629516      2219.19103     -283.396915     -8.69875712     2021
+  -2940.77125     -39662.7132      6848.07035      332.501630     2012
+  -4833.05018      291262.775     -40868.2995     -930.899000     2003
+  -75870.6114     -3035.26190     -19402.1263      118850.529     1400
+  -1090.33337     -5565.51679      8155.50571      3660.70792     1310
+  -76601.8398      456263.377     -281440.652      79440.7749     1301
+  -2721.78279     -512.627944     -452.280825     -1934.55934     1220
+   83864.4298      5816.23957      23306.1137      11961.6529     1211
+  -1306713.82      400125.281     -216284.553     -418149.697     1202
+   100.956187      1309.56623     -226.290462     -173.118732     1130
+  -4032.82257     -56824.1834      10616.2930      1607.73072     1121
+   79840.4758      782713.236     -150889.930     -14254.2451     1112
+  -330377.607     -4233718.14      646182.662      39788.7678     1103
+   6.06681234      7.12938618     -.220192683     -1.11240314     1040
+  -243.665570     -948.255482      153.244584      165.982247     1031
+   7181.11150      25876.5416     -2553.92502     -3998.95843     1022
+  -75005.8412     -104271.766     -23488.8683      29493.1698     1013
+   124433.465     -149264.761      219376.542     -13196.6766     1004
+   113262.801     -18667.6651      53113.3093     -209797.800     0500
+  -11632.6603      7242.92619     -21110.0334     -18679.7717     0410
+   301044.558     -1035121.76      655646.504     -71841.5676     0401
+   8371.11263      2221.54910      1543.28892      6295.96049     0320
+  -258028.488     -135832.589     -66162.4672     -36062.5709     0311
+   4218622.48      128274.356      663799.998      1118597.09     0302
+  -167.926507     -3321.19532      237.754153      1077.44822     0230
+   15453.6273      205593.650     -24454.8426     -11675.9844     0221
+  -438724.451     -3267312.69      463392.237      52657.7588     0212
+   2249544.29      17936516.3     -2298746.48     -118752.747     0203
+  -25.5889867     -61.6539042      41.8282483     -107.686882     0140
+   1866.01089     -1606.56535     -3207.84127      946.869731     0131
+  -71480.9824     -31234.8373      79600.1247      25102.1443     0122
+   814034.645      434180.428     -606101.312     -259877.198     0113
+  -2102030.39     -1584569.00      1583206.11      303094.278     0104
+  -3.59866781     -19.7084031     -18.4827350     -1.36754912     0050
+   50.9893561      384.737475      1103.07001      164.395576     0041
+   1986.13677      18001.7932     -34498.4820      90.2668576     0032
+  -30037.4064     -584192.598      674006.856      1100.41524     0023
+   20801.9238      6212983.14     -6436686.94     -17333.4694     0014
+   408508.663     -23722308.6      22707746.7      30963.1531     0005
+   0.0            0.000000000E+00 0.000000000E+00 0.768177700     00001
+  0.0             0.000000000E+00 0.000000000E+00 -1.24824954     10001
+  0.0             0.000000000E+00 0.000000000E+00  7.18980365     01001
+  0.0             0.000000000E+00 0.000000000E+00 -1.79480024     00002
+   0.0            0.000000000E+00 0.000000000E+00  4.30979026     20001
+   0.0            0.000000000E+00 0.000000000E+00 -47.5141035     11001
+   0.0            0.000000000E+00 0.000000000E+00  127.404997     02001
+   0.0            0.000000000E+00 0.000000000E+00  1.52132362     00201
+   0.0            0.000000000E+00 0.000000000E+00 -44.8420242     00111
+   0.0            0.000000000E+00 0.000000000E+00  13.9035869     10002
+   0.0            0.000000000E+00 0.000000000E+00 -75.1770025     01002
+   0.0            0.000000000E+00 0.000000000E+00  332.945301     00021
+  0.000000000E+00  412.398418     -118.551680     0.000000000E+00 00012
+   0.0            0.000000000E+00 0.000000000E+00  15.5951865     00003
+  0.0             0.000000000E+00 0.000000000E+00 -15.7177358     30001
+  0.0             0.000000000E+00 0.000000000E+00  249.924995     21001
+  0.0             0.000000000E+00 0.000000000E+00 -1205.61003     12001
+  0.0             0.000000000E+00 0.000000000E+00  1650.70638     03001
+  0.0             0.000000000E+00 0.000000000E+00 -8.63945412     10201
+  0.0             0.000000000E+00 0.000000000E+00  51.7345340     01201
+  0.0             0.000000000E+00 0.000000000E+00  246.328770     10111
+  0.0             0.000000000E+00 0.000000000E+00 -1468.88025     01111
+  0.0             0.000000000E+00 0.000000000E+00 -77.6962058     20002
+  0.0             0.000000000E+00 0.000000000E+00  808.267218     11002
+  0.0             0.000000000E+00 0.000000000E+00 -1887.27393     02002
+  0.0             0.000000000E+00 0.000000000E+00 -13.1721627     00202
+  0.0             0.000000000E+00 0.000000000E+00 -1758.72381     10021
+  0.0             0.000000000E+00 0.000000000E+00  10443.6142     01021
+  0.0             0.000000000E+00 0.000000000E+00  377.176889     00112
+  0.0             0.000000000E+00 0.000000000E+00 -174.332974     10003
+  0.0             0.000000000E+00 0.000000000E+00  893.518077     01003
+  0.0             0.000000000E+00 0.000000000E+00 -2708.57078     00022
+  0.0             0.000000000E+00 0.000000000E+00 -149.156349     00004
+ ---------------------------------------------------------------------
diff --git a/DBASE/general.param b/DBASE/general.param
index 4132af98..b41241af 100644
--- a/DBASE/general.param
+++ b/DBASE/general.param
@@ -1,5 +1,7 @@
 #real raddeg
 raddeg=3.14159265/180
+#real cminch
+cminch=2.54
 
 ; General Hall-C parameter files
 #include "PARAM/GEN/genflags.param"
@@ -14,14 +16,14 @@ raddeg=3.14159265/180
 #include "PARAM/HMS/GEN/hmsflags.param"
 #include "PARAM/HMS/GEN/htracking.param"
 
-; HMS detector specific paramter files  
+; HMS detector specific paramter files
 #include "PARAM/HMS/AERO/haero.param"
 #include "PARAM/HMS/CAL/hcal.pos"
 #include "PARAM/HMS/CAL/hcal.param"
 #include "PARAM/HMS/CER/hcer.param"
-#include "PARAM/HMS/DC/hdc_offsets.param"
-#include "PARAM/HMS/DC/hdc.pos"
 #include "PARAM/HMS/DC/hdc.param"
+#include "PARAM/HMS/DC/hdc.pos"
+#include "PARAM/HMS/DC/hdc_tracking.param"
 #include "PARAM/HMS/DC/hdriftmap.param"
 #include "PARAM/HMS/HODO/hhodo.pos"
 #include "PARAM/HMS/HODO/hhodo.param"
@@ -34,6 +36,13 @@ raddeg=3.14159265/180
 #include "PARAM/SHMS/GEN/ptracking.param"
 
 ; SHMS detector specific paramter files
-#include "PARAM/SHMS/DC/pdc.pos"
+#include "PARAM/SHMS/AERO/paero.param"
+#include "PARAM/SHMS/CAL/pcal.param"
+#include "PARAM/SHMS/HGCER/phgcer.param"
+#include "PARAM/SHMS/NGCER/pngcer.param"
 #include "PARAM/SHMS/DC/pdc.param"
+#include "PARAM/SHMS/DC/pdc.pos"
+#include "PARAM/SHMS/DC/pdc_tracking.param"
 #include "PARAM/SHMS/DC/pdriftmap.param"
+#include "PARAM/SHMS/HODO/phodo.pos"
+#include "PARAM/SHMS/HODO/phodo.param"
diff --git a/DBASE/standard.database b/DBASE/standard.database
index 4fd1440e..c894b7b3 100644
--- a/DBASE/standard.database
+++ b/DBASE/standard.database
@@ -1,5 +1,3 @@
 0-99999
 g_ctp_parm_filename ="DBASE/general.param"
-g_decode_map_filename ="MAPS/HMS/hdc.map"
-g_decode_map_filename ="MAPS/SHMS/pdc.map"
 g_ctp_kinematics_filename ="DBASE/standard.kinematics"
diff --git a/DBASE/standard.kinematics b/DBASE/standard.kinematics
index 332dde9d..defaf2c4 100644
--- a/DBASE/standard.kinematics
+++ b/DBASE/standard.kinematics
@@ -1,9 +1,9 @@
 1-99999
-gpbeam=999
-gtarg_num = 999
-htheta_lab = 999
-stheta_lab = 999
-hpcentral = 999
-spcentral = 999
+gpbeam=6.
+gtarg_num = 1
+htheta_lab = 15.
+ptheta_lab = 15.
+hpcentral = 2.
+ppcentral = 2.
 hpartmass = 0.00051099
-spartmass = 0.00051099
+ppartmass = 0.00051099
diff --git a/DEF-files/HMS/CAL/hcalana.def b/DEF-files/HMS/CAL/hcalana.def
new file mode 100644
index 00000000..b3f449ac
--- /dev/null
+++ b/DEF-files/HMS/CAL/hcalana.def
@@ -0,0 +1,59 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block H.cal.*
+
+TH1F hcal_hA_pos_occu 'HMS hA+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.1pr.posAdcCounter 13 0.5 13.5
+TH1F hcal_hA_neg_occu 'HMS hA- ADC Occupancy; Block Number; Number of ADC Hits' H.cal.1pr.negAdcCounter 13 0.5 13.5
+TH1F hcal_hB_pos_occu 'HMS hB+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.2ta.posAdcCounter 13 0.5 13.5
+TH1F hcal_hB_neg_occu 'HMS hB- ADC Occupancy; Block Number; Number of ADC Hits' H.cal.2ta.negAdcCounter 13 0.5 13.5
+TH1F hcal_hC_pos_occu 'HMS hC+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.3ta.posAdcCounter 13 0.5 13.5
+TH1F hcal_hD_pos_occu 'HMS hD+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.4ta.posAdcCounter 13 0.5 13.5
+
+TH2F hcal_hA_pos_rawped_vs_blk 'HMS hA+ Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F hcal_hA_neg_rawped_vs_blk 'HMS hA- Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F hcal_hB_pos_rawped_vs_blk 'HMS hB+ Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F hcal_hB_neg_rawped_vs_blk 'HMS hB- Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F hcal_hC_pos_rawped_vs_blk 'HMS hC+ Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F hcal_hD_pos_rawped_vs_blk 'HMS hD+ Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPedRaw 13 0.5 13.5 400 0 4000
+
+TH2F hcal_hA_pos_rawpint_vs_blk 'HMS hA+ Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hA_neg_rawpint_vs_blk 'HMS hA- Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_pos_rawpint_vs_blk 'HMS hB+ Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_neg_rawpint_vs_blk 'HMS hB- Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hC_pos_rawpint_vs_blk 'HMS hC+ Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hD_pos_rawpint_vs_blk 'HMS hD+ Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+
+TH2F hcal_hA_pos_rawpamp_vs_blk 'HMS hA+ Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F hcal_hA_neg_rawpamp_vs_blk 'HMS hA- Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F hcal_hB_pos_rawpamp_vs_blk 'HMS hB+ Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F hcal_hB_neg_rawpamp_vs_blk 'HMS hB- Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F hcal_hC_pos_rawpamp_vs_blk 'HMS hC+ Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F hcal_hD_pos_rawpamp_vs_blk 'HMS hD+ Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+
+TH2F hcal_hA_pos_rawptime_vs_blk 'HMS hA+ Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseTimeRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hA_neg_rawptime_vs_blk 'HMS hA- Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseTimeRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_pos_rawptime_vs_blk 'HMS hB+ Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseTimeRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_neg_rawptime_vs_blk 'HMS hB- Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseTimeRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hC_pos_rawptime_vs_blk 'HMS hC+ Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseTimeRaw 13 0.5 13.5 4000 0 40000
+TH2F hcal_hD_pos_rawptime_vs_blk 'HMS hD+ Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseTimeRaw 13 0.5 13.5 4000 0 40000
+
+TH2F hcal_hA_pos_pped_vs_blk 'HMS hA+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPed 13 0.5 13.5 400 0 4000
+TH2F hcal_hA_neg_pped_vs_blk 'HMS hA- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPed 13 0.5 13.5 400 0 4000
+TH2F hcal_hB_pos_pped_vs_blk 'HMS hB+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPed 13 0.5 13.5 400 0 4000
+TH2F hcal_hB_neg_pped_vs_blk 'HMS hB- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPed 13 0.5 13.5 400 0 4000
+TH2F hcal_hC_pos_pped_vs_blk 'HMS hC+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPed 13 0.5 13.5 400 0 4000
+TH2F hcal_hD_pos_pped_vs_blk 'HMS hD+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPed 13 0.5 13.5 400 0 4000
+
+TH2F hcal_hA_pos_pi_vs_blk 'HMS hA+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hA_neg_pi_vs_blk 'HMS hA- Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_pos_pi_vs_blk 'HMS hB+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_neg_pi_vs_blk 'HMS hB- Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hC_pos_pi_vs_blk 'HMS hC+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hD_pos_pi_vs_blk 'HMS hD+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+
+TH2F hcal_hA_pos_pamp_vs_blk 'HMS hA+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F hcal_hA_neg_pamp_vs_blk 'HMS hA- Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F hcal_hB_pos_pamp_vs_blk 'HMS hB+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F hcal_hB_neg_pamp_vs_blk 'HMS hB- Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F hcal_hC_pos_pamp_vs_blk 'HMS hC+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F hcal_hD_pos_pamp_vs_blk 'HMS hD+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseAmp 13 0.5 13.5 410 0 4100
diff --git a/DEF-files/HMS/CAL/hcalana_cuts.def b/DEF-files/HMS/CAL/hcalana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/HMS/CAL/hcalana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/HMS/CER/hcerana.def b/DEF-files/HMS/CER/hcerana.def
new file mode 100644
index 00000000..644b2234
--- /dev/null
+++ b/DEF-files/HMS/CER/hcerana.def
@@ -0,0 +1,15 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block H.cer.*
+block T.hms.*
+
+TH1F hcer_occu 'HMS Cherenkov ADC Occupancy; PMT Number; Number of ADC Hits' H.cer.adcCounter 2 0.5 2.5
+
+TH2F hcer_rawped 'HMS Cherenkov Raw Pulse Pedestal; PMT Number; Raw Pulse Pedestal / 10 ADC Units' H.cer.adcCounter H.cer.adcPedRaw 2 0.5 2.5 400 0 4000
+TH2F hcer_rawpint 'HMS Cherenkov Raw Pulse Integral; PMT Number; Raw Pulse Integral / 10 ADC Units' H.cer.adcCounter H.cer.adcPulseIntRaw 2 0.5 2.5 4000 0 40000
+TH2F hcer_rawpamp 'HMS Cherenkov Raw Pulse Amplitude; PMT Number; Raw Pulse Amplitude / 10 ADC Units' H.cer.adcCounter H.cer.adcPulseAmpRaw 2 0.5 2.5 410 0 4100
+TH2F hcer_rawptime 'HMS Cherenkov Raw Pulse Time; PMT Number; Raw Pulse Time / 10 ADC Units' H.cer.adcCounter H.cer.adcPulseTimeRaw 2 0.5 2.5 400 0 4000
+
+TH2F hcer_ped 'HMS Cherenkov Pulse Pedestal; PMT Number; Pulse Pedestal / 10 ADC Units' H.cer.adcCounter H.cer.adcPed 2 0.5 2.5 400 0 4000
+TH2F hcer_pint 'HMS Cherenkov Pulse Integral; PMT Number; Pulse Pedestal / 10 ADC Units' H.cer.adcCounter H.cer.adcPulseInt 2 0.5 2.5 4000 0 40000
+TH2F hcer_pamp 'HMS Cherenkov Pulse Amplitude; PMT Number; Pulse Pedestal / 10 ADC Units' H.cer.adcCounter H.cer.adcPulseAmp 2 0.5 2.5 410 0 4100
\ No newline at end of file
diff --git a/DEF-files/HMS/CER/hcerana_cuts.def b/DEF-files/HMS/CER/hcerana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/HMS/CER/hcerana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/HMS/DC/hdcana.def b/DEF-files/HMS/DC/hdcana.def
index 3d3045e5..80e2415f 100644
--- a/DEF-files/HMS/DC/hdcana.def
+++ b/DEF-files/HMS/DC/hdcana.def
@@ -1,7 +1,21 @@
 # See $ANALYZER/examples/output_example.def for examples
 #
 block H.dc.*
-#block H.scin.*
+block T.hms.*
+
+TH1F hdc_ref1 'HDC Reference Time 1; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime 15000 0 15000 
+TH1F hdc_ref2 'HDC Reference Time 2; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF2_tdcTime 15000 0 15000
+TH1F hdc_ref3 'HDC Reference Time 3; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF3_tdcTime 15000 0 15000
+TH1F hdc_ref4 'HDC Reference Time 4; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF4_tdcTime 15000 0 15000
+
+TH1F hdc_refdiff_1m2 'HDC Reference time 1 minus 2; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime-T.hms.hDCREF2_tdcTime 2000 -1000 1000
+TH1F hdc_refdiff_1m3 'HDC Reference time 1 minus 3; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime-T.hms.hDCREF3_tdcTime 2000 -1000 1000
+TH1F hdc_refdiff_1m4 'HDC Reference time 1 minus 4; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime-T.hms.hDCREF4_tdcTime 2000 -1000 1000
+
+TH1F hdc_refdiff_2m3 'HDC Reference time 2 minus 3; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF2_tdcTime-T.hms.hDCREF3_tdcTime 2000 -1000 1000
+TH1F hdc_refdiff_2m4 'HDC Reference time 2 minus 4; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF2_tdcTime-T.hms.hDCREF4_tdcTime 2000 -1000 1000
+
+TH1F hdc_refdiff_3m4 'HDC Reference time 3 minus 4; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF3_tdcTime-T.hms.hDCREF4_tdcTime 2000 -1000 1000
 
 TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.wirenum 113 0.5 113.5
 TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.wirenum  52 0.5  52.5
@@ -17,19 +31,19 @@ TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.wirenum 107 0.5 107.5
 TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.wirenum  52 0.5  52.5
 TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.wirenum 113 0.5 113.5
 
-TH2F hdc1x1_wire_num_vs_raw_tdc 'HDC 1X1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1x1.wirenum H.dc.1x1.rawtdc 113 0.5 113.5 5000 0 50000
-TH2F hdc1y1_wire_num_vs_raw_tdc 'HDC 1Y1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1y1.wirenum H.dc.1y1.rawtdc 52  0.5  52.5 5000 0 50000
-TH2F hdc1u1_wire_num_vs_raw_tdc 'HDC 1U1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1u1.wirenum H.dc.1u1.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F hdc1v1_wire_num_vs_raw_tdc 'HDC 1V1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1v1.wirenum H.dc.1v1.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F hdc1y2_wire_num_vs_raw_tdc 'HDC 1Y2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1y2.wirenum H.dc.1y2.rawtdc 52  0.5  52.5 5000 0 50000
-TH2F hdc1x2_wire_num_vs_raw_tdc 'HDC 1X2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1x2.wirenum H.dc.1x2.rawtdc 113 0.5 113.5 5000 0 50000
-
-TH2F hdc2x1_wire_num_vs_raw_tdc 'HDC 2X1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2x1.wirenum H.dc.2x1.rawtdc 113 0.5 113.5 5000 0 50000
-TH2F hdc2y1_wire_num_vs_raw_tdc 'HDC 2Y1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2y1.wirenum H.dc.2y1.rawtdc 52  0.5  52.5 5000 0 50000
-TH2F hdc2u1_wire_num_vs_raw_tdc 'HDC 2U1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2u1.wirenum H.dc.2u1.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F hdc2v1_wire_num_vs_raw_tdc 'HDC 2V1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2v1.wirenum H.dc.2v1.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F hdc2y2_wire_num_vs_raw_tdc 'HDC 2Y2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2y2.wirenum H.dc.2y2.rawtdc 52  0.5  52.5 5000 0 50000
-TH2F hdc2x2_wire_num_vs_raw_tdc 'HDC 2X2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2x2.wirenum H.dc.2x2.rawtdc 113 0.5 113.5 5000 0 50000
+TH2F hdc1x1_wire_num_vs_raw_tdc 'HDC 1X1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1x1.wirenum H.dc.1x1.rawtdc 113 0.5 113.5 10000 -50000 50000
+TH2F hdc1y1_wire_num_vs_raw_tdc 'HDC 1Y1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1y1.wirenum H.dc.1y1.rawtdc 52  0.5  52.5 10000 -50000 50000
+TH2F hdc1u1_wire_num_vs_raw_tdc 'HDC 1U1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1u1.wirenum H.dc.1u1.rawtdc 107 0.5 107.5 10000 -50000 50000
+TH2F hdc1v1_wire_num_vs_raw_tdc 'HDC 1V1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1v1.wirenum H.dc.1v1.rawtdc 107 0.5 107.5 10000 -50000 50000
+TH2F hdc1y2_wire_num_vs_raw_tdc 'HDC 1Y2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1y2.wirenum H.dc.1y2.rawtdc 52  0.5  52.5 10000 -50000 50000
+TH2F hdc1x2_wire_num_vs_raw_tdc 'HDC 1X2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.1x2.wirenum H.dc.1x2.rawtdc 113 0.5 113.5 10000 -50000 50000
+
+TH2F hdc2x1_wire_num_vs_raw_tdc 'HDC 2X1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2x1.wirenum H.dc.2x1.rawtdc 113 0.5 113.5 10000 -50000 50000
+TH2F hdc2y1_wire_num_vs_raw_tdc 'HDC 2Y1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2y1.wirenum H.dc.2y1.rawtdc 52  0.5  52.5 10000 -50000 50000
+TH2F hdc2u1_wire_num_vs_raw_tdc 'HDC 2U1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2u1.wirenum H.dc.2u1.rawtdc 107 0.5 107.5 10000 -50000 50000
+TH2F hdc2v1_wire_num_vs_raw_tdc 'HDC 2V1 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2v1.wirenum H.dc.2v1.rawtdc 107 0.5 107.5 10000 -50000 50000
+TH2F hdc2y2_wire_num_vs_raw_tdc 'HDC 2Y2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2y2.wirenum H.dc.2y2.rawtdc 52  0.5  52.5 10000 -50000 50000
+TH2F hdc2x2_wire_num_vs_raw_tdc 'HDC 2X2 Wiremap; Wire Number; Raw TDC Value (clicks)' H.dc.2x2.wirenum H.dc.2x2.rawtdc 113 0.5 113.5 10000 -50000 50000
 
 TH2F hdc1x1_wire_num_vs_tdc_time 'HDC 1X1 Wiremap; Wire Number; TDC Time (ns)' H.dc.1x1.wirenum H.dc.1x1.time 113 0.5 113.5 6000 -1000 5000
 TH2F hdc1y1_wire_num_vs_tdc_time 'HDC 1Y1 Wiremap; Wire Number; TDC Time (ns)' H.dc.1y1.wirenum H.dc.1y1.time 52  0.5  52.5 6000 -1000 5000
diff --git a/DEF-files/HMS/DC/hdcana_cuts.def b/DEF-files/HMS/DC/hdcana_cuts.def
index 5add84a3..3af34a5e 100644
--- a/DEF-files/HMS/DC/hdcana_cuts.def
+++ b/DEF-files/HMS/DC/hdcana_cuts.def
@@ -11,4 +11,3 @@ CoarseTracking_master 1
 
 Block: CoarseReconstruct
 CourseReconstruct 0
-
diff --git a/DEF-files/HMS/EPICS/epics.def b/DEF-files/HMS/EPICS/epics.def
new file mode 100644
index 00000000..4389a675
--- /dev/null
+++ b/DEF-files/HMS/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/HMS/GEN/hstackana.def b/DEF-files/HMS/GEN/hstackana.def
new file mode 100644
index 00000000..582d5fdc
--- /dev/null
+++ b/DEF-files/HMS/GEN/hstackana.def
@@ -0,0 +1,189 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+#block *
+block T.hms.*
+block H.dc.*
+block H.tr.*
+block H.hod.*
+block H.cer.*
+block H.cal.*
+#block H.gtr.*
+
+# Drift Chambers
+TH1F hdc_ref1 'HMS DC Reference Time Slot 5 Channel 111; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime 3000 12000 15000 
+TH1F hdc_ref2 'HMS DC Reference Time Slot 8 Channel 127; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF2_tdcTime 3000 12000 15000
+TH1F hdc_ref3 'HMS DC Reference Time Slot 10 Channel 127; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF3_tdcTime 3000 12000 15000
+TH1F hdc_ref4 'HMS DC Reference Time Slot 17 Channel 127; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF4_tdcTime 3000 12000 15000
+
+TH1F hdc1x1_wirenum 'HMS DC 1X1 Wiremap; Wire Number; Number of Entries' H.dc.1x1.wirenum 113 0.5 113.5
+TH1F hdc1y1_wirenum 'HMS DC 1Y1 Wiremap; Wire Number; Number of Entries' H.dc.1y1.wirenum  52 0.5  52.5
+TH1F hdc1u1_wirenum 'HMS DC 1U1 Wiremap; Wire Number; Number of Entries' H.dc.1u1.wirenum 107 0.5 107.5
+TH1F hdc1v1_wirenum 'HMS DC 1V1 Wiremap; Wire Number; Number of Entries' H.dc.1v1.wirenum 107 0.5 107.5
+TH1F hdc1y2_wirenum 'HMS DC 1Y2 Wiremap; Wire Number; Number of Entries' H.dc.1y2.wirenum  52 0.5  52.5
+TH1F hdc1x2_wirenum 'HMS DC 1X2 Wiremap; Wire Number; Number of Entries' H.dc.1x2.wirenum 113 0.5 113.5
+
+TH1F hdc2x1_wirenum 'HMS DC 2X1 Wiremap; Wire Number; Number of Entries' H.dc.2x1.wirenum 113 0.5 113.5
+TH1F hdc2y1_wirenum 'HMS DC 2Y1 Wiremap; Wire Number; Number of Entries' H.dc.2y1.wirenum  52 0.5  52.5
+TH1F hdc2u1_wirenum 'HMS DC 2U1 Wiremap; Wire Number; Number of Entries' H.dc.2u1.wirenum 107 0.5 107.5
+TH1F hdc2v1_wirenum 'HMS DC 2V1 Wiremap; Wire Number; Number of Entries' H.dc.2v1.wirenum 107 0.5 107.5
+TH1F hdc2y2_wirenum 'HMS DC 2Y2 Wiremap; Wire Number; Number of Entries' H.dc.2y2.wirenum  52 0.5  52.5
+TH1F hdc2x2_wirenum 'HMS DC 2X2 Wiremap; Wire Number; Number of Entries' H.dc.2x2.wirenum 113 0.5 113.5
+
+TH2F hdc1x1_wirenum_vs_tdc 'HMS DC 1X1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1x1.wirenum H.dc.1x1.time 113 0.5 113.5 2000 -500 1500
+TH2F hdc1y1_wirenum_vs_tdc 'HMS DC 1Y1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1y1.wirenum H.dc.1y1.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc1u1_wirenum_vs_tdc 'HMS DC 1U1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1u1.wirenum H.dc.1u1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc1v1_wirenum_vs_tdc 'HMS DC 1V1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1v1.wirenum H.dc.1v1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc1y2_wirenum_vs_tdc 'HMS DC 1Y2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1y2.wirenum H.dc.1y2.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc1x2_wirenum_vs_tdc 'HMS DC 1X2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1x2.wirenum H.dc.1x2.time 113 0.5 113.5 2000 -500 1500
+
+TH2F hdc2x1_wirenum_vs_tdc 'HMS DC 2X1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2x1.wirenum H.dc.2x1.time 113 0.5 113.5 2000 -500 1500
+TH2F hdc2y1_wirenum_vs_tdc 'HMS DC 2Y1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2y1.wirenum H.dc.2y1.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc2u1_wirenum_vs_tdc 'HMS DC 2U1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2u1.wirenum H.dc.2u1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc2v1_wirenum_vs_tdc 'HMS DC 2V1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2v1.wirenum H.dc.2v1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc2y2_wirenum_vs_tdc 'HMS DC 2Y2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2y2.wirenum H.dc.2y2.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc2x2_wirenum_vs_tdc 'HMS DC 2X2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2x2.wirenum H.dc.2x2.time 113 0.5 113.5 2000 -500 1500
+
+TH2F hdc1x1_wirenum_vs_resid 'HMS DC 1X1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1x1.wirenum H.dc.residual[0] 113 0.5 113.5 200 -1.0 1.0
+TH2F hdc1y1_wirenum_vs_resid 'HMS DC 1Y1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1y1.wirenum H.dc.residual[1] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc1u1_wirenum_vs_resid 'HMS DC 1U1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1u1.wirenum H.dc.residual[2] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc1v1_wirenum_vs_resid 'HMS DC 1V1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1v1.wirenum H.dc.residual[3] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc1y2_wirenum_vs_resid 'HMS DC 1Y2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1y2.wirenum H.dc.residual[4] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc1x2_wirenum_vs_resid 'HMS DC 1X2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1x2.wirenum H.dc.residual[5] 113 0.5 113.5 200 -1.0 1.0
+
+TH2F hdc2x1_wirenum_vs_resid 'HMS DC 2X1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2x1.wirenum H.dc.residual[6] 113 0.5 113.5 200 -1.0 1.0
+TH2F hdc2y1_wirenum_vs_resid 'HMS DC 2Y1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2y1.wirenum H.dc.residual[7] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc2u1_wirenum_vs_resid 'HMS DC 2U1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2u1.wirenum H.dc.residual[8] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc2v1_wirenum_vs_resid 'HMS DC 2V1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2v1.wirenum H.dc.residual[9] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc2y2_wirenum_vs_resid 'HMS DC 2Y2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2y2.wirenum H.dc.residual[10] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc2x2_wirenum_vs_resid 'HMS DC 2X2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2x2.wirenum H.dc.residual[11] 113 0.5 113.5 200 -1.0 1.0
+
+TH2F hdc_xfp_vs_yxp 'HMS DC Xfp vs Yxp; Yfp (cm) / 1 cm; Xfp (cm) / 1 cm' H.dc.y H.dc.x 100 -50 50 100 -50 50
+TH2F hdc_xfpp_vs_yxpp 'HMS DC Xfpp vs Yxpp; Yfpp; Xfpp' H.dc.yp H.dc.xp 100 -1 1 100 -1 1
+
+# Hodoscopes (Positive/Left) 
+TH1F hhodo_1x_pos_adc_occu 'HMS Hodoscope 1X+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.1x.posAdcCounter 16 0.5 16.5
+TH1F hhodo_1y_pos_adc_occu 'HMS Hodoscope 1Y+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.1y.posAdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_pos_adc_occu 'HMS Hodoscope 2X+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.2x.posAdcCounter 16 0.5 16.5
+TH1F hhodo_2y_pos_adc_occu 'HMS Hodoscope 2Y+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.2y.posAdcCounter 10 0.5 10.5
+TH1F hhodo_1x_pos_tdc_occu 'HMS Hodoscope 1X+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.1x.posTdcCounter 16 0.5 16.5
+TH1F hhodo_1y_pos_tdc_occu 'HMS Hodoscope 1Y+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.1y.posTdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_pos_tdc_occu 'HMS Hodoscope 2X+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.2x.posTdcCounter 16 0.5 16.5
+TH1F hhodo_2y_pos_tdc_occu 'HMS Hodoscope 2Y+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.2y.posTdcCounter 10 0.5 10.5
+TH2F hhodo_1x_pos_ped_vs_pad 'HMS Hodoscope 1X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_1y_pos_ped_vs_pad 'HMS Hodoscope 1Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_2x_pos_ped_vs_pad 'HMS Hodoscope 2X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_2y_pos_ped_vs_pad 'HMS Hodoscope 2Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_1x_pos_pi_vs_pad 'HMS Hodoscope 1X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.GoodPaddle  H.hod.1x.GoodPosAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_1y_pos_pi_vs_pad 'HMS Hodoscope 1Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.GoodPaddle  H.hod.1y.GoodPosAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_2x_pos_pi_vs_pad 'HMS Hodoscope 2X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.GoodPaddle  H.hod.2x.GoodPosAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_2y_pos_pi_vs_pad 'HMS Hodoscope 2Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.GoodPaddle  H.hod.2y.GoodPosAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_1x_pos_pamp_vs_pad 'HMS Hodoscope 1X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1x.GoodPaddle  H.hod.1x.GoodPosAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_1y_pos_pamp_vs_pad 'HMS Hodoscope 1Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1y.GoodPaddle  H.hod.1y.GoodPosAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_2x_pos_pamp_vs_pad 'HMS Hodoscope 2X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2x.GoodPaddle  H.hod.2x.GoodPosAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_2y_pos_pamp_vs_pad 'HMS Hodoscope 2Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2y.GoodPaddle  H.hod.2y.GoodPosAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_1x_pos_tdc_time_vs_pad 'HMS Hodoscope 1X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1x.GoodPaddle  H.hod.1x.GoodPosTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_1y_pos_tdc_time_vs_pad 'HMS Hodoscope 1Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1y.GoodPaddle  H.hod.1y.GoodPosTdcChan 10 0.5 10.5 3500 -500 3000
+TH2F hhodo_2x_pos_tdc_time_vs_pad 'HMS Hodoscope 2X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2x.GoodPaddle  H.hod.2x.GoodPosTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_2y_pos_tdc_time_vs_pad 'HMS Hodoscope 2Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2y.GoodPaddle  H.hod.2y.GoodPosTdcChan 10 0.5 10.5 3500 -500 3000
+
+# Hodoscopes (Negative/Right)
+TH1F hhodo_1x_neg_adc_occu 'HMS Hodoscope 1X- ADC Occupancy; Paddle Number; Number of Hits' H.hod.1x.negAdcCounter 16 0.5 16.5
+TH1F hhodo_1y_neg_adc_occu 'HMS Hodoscope 1Y- ADC Occupancy; Paddle Number; Number of Hits' H.hod.1y.negAdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_neg_adc_occu 'HMS Hodoscope 2X- ADC Occupancy; Paddle Number; Number of Hits' H.hod.2x.negAdcCounter 16 0.5 16.5
+TH1F hhodo_2y_neg_adc_occu 'HMS Hodoscope 2Y- ADC Occupancy; Paddle Number; Number of Hits' H.hod.2y.negAdcCounter 10 0.5 10.5
+TH1F hhodo_1x_neg_tdc_occu 'HMS Hodoscope 1X- TDC Occupancy; Paddle Number; Number of Hits' H.hod.1x.negTdcCounter 16 0.5 16.5
+TH1F hhodo_1y_neg_tdc_occu 'HMS Hodoscope 1Y- TDC Occupancy; Paddle Number; Number of Hits' H.hod.1y.negTdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_neg_tdc_occu 'HMS Hodoscope 2X- TDC Occupancy; Paddle Number; Number of Hits' H.hod.2x.negTdcCounter 16 0.5 16.5
+TH1F hhodo_2y_neg_tdc_occu 'HMS Hodoscope 2Y- TDC Occupancy; Paddle Number; Number of Hits' H.hod.2y.negTdcCounter 10 0.5 10.5
+TH2F hhodo_1x_neg_ped_vs_pad 'HMS Hodoscope 1X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_1y_neg_ped_vs_pad 'HMS Hodoscope 1Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_2x_neg_ped_vs_pad 'HMS Hodoscope 2X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_2y_neg_ped_vs_pad 'HMS Hodoscope 2Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_1x_neg_pi_vs_pad 'HMS Hodoscope 1X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.GoodPaddle  H.hod.1x.GoodNegAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_1y_neg_pi_vs_pad 'HMS Hodoscope 1Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.GoodPaddle  H.hod.1y.GoodNegAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_2x_neg_pi_vs_pad 'HMS Hodoscope 2X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.GoodPaddle  H.hod.2x.GoodNegAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_2y_neg_pi_vs_pad 'HMS Hodoscope 2Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.GoodPaddle  H.hod.2y.GoodNegAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_1x_neg_pamp_vs_pad 'HMS Hodoscope 1X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1x.GoodPaddle  H.hod.1x.GoodNegAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_1y_neg_pamp_vs_pad 'HMS Hodoscope 1Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1y.GoodPaddle  H.hod.1y.GoodNegAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_2x_neg_pamp_vs_pad 'HMS Hodoscope 2X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2x.GoodPaddle  H.hod.2x.GoodNegAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_2y_neg_pamp_vs_pad 'HMS Hodoscope 2Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2y.GoodPaddle  H.hod.2y.GoodNegAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_1x_neg_tdc_time_vs_pad 'HMS Hodoscope 1X- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1x.GoodPaddle  H.hod.1x.GoodNegTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_1y_neg_tdc_time_vs_pad 'HMS Hodoscope 1Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1y.GoodPaddle  H.hod.1y.GoodNegTdcChan 10 0.5 10.5 3500 -500 3000
+TH2F hhodo_2x_neg_tdc_time_vs_pad 'HMS Hodoscope 2X- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2x.GoodPaddle  H.hod.2x.GoodNegTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_2y_neg_tdc_time_vs_pad 'HMS Hodoscope 2Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2y.GoodPaddle  H.hod.2y.GoodNegTdcChan 10 0.5 10.5 3500 -500 3000
+
+# Cherenkov
+TH1F hgcer_occu 'HMS Cherenkov ADC Occupancy; PMT Number; Number of ADC Hits' H.cer.adcCounter 2 0.5 2.5
+TH2F hgcer_ped_vs_cntr 'HMS Cherenkov Pulse Pedestal; PMT Number; Pulse Pedestal / 1 ADC Units' H.cer.adcCounter H.cer.adcPed 2 0.5 2.5 1000 0 1000
+TH2F hgcer_pi_vs_cntr 'HMS Cherenkov Pulse Integral; PMT Number; Pulse Pedestal / 10 ADC Units' H.cer.adcCounter H.cer.adcPulseInt 2 0.5 2.5 4000 0 40000
+TH2F hgcer_pamp_vs_cntr 'HMS Cherenkov Pulse Amplitude; PMT Number; Pulse Pedestal / 1 ADC Units' H.cer.adcCounter H.cer.adcPulseAmp 2 0.5 2.5 4100 0 4100
+
+# Pre-Shower
+TH1F hcal_hA_pos_occu 'HMS hA+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.1pr.posAdcCounter 13 0.5 13.5
+TH2F hcal_hA_pos_ped_blk 'HMS hA+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hA_pos_pi_blk 'HMS hA+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hA_pos_pamp_blk 'HMS hA+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hA_neg_occu 'HMS hA- ADC Occupancy; Block Number; Number of ADC Hits' H.cal.1pr.negAdcCounter 13 0.5 13.5
+TH2F hcal_hA_neg_ped_blk 'HMS hA- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hA_neg_pi_blk 'HMS hA- Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hA_neg_pamp_blk 'HMS hA- Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hB_pos_occu 'HMS hB+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.2ta.posAdcCounter 13 0.5 13.5
+TH2F hcal_hB_pos_ped_blk 'HMS hB+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hB_pos_pi_blk 'HMS hB+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_pos_pamp_blk 'HMS hB+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hB_neg_occu 'HMS hB- ADC Occupancy; Block Number; Number of ADC Hits' H.cal.2ta.negAdcCounter 13 0.5 13.5
+TH2F hcal_hB_neg_ped_blk 'HMS hB- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hB_neg_pi_blk 'HMS hB- Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_neg_pamp_blk 'HMS hB- Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+# Shower
+TH1F hcal_hC_occu 'HMS hC+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.3ta.posAdcCounter 13 0.5 13.5
+TH2F hcal_hC_ped_blk 'HMS hC+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hC_pi_blk 'HMS hC+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hC_pamp_blk 'HMS hC+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hD_occu 'HMS hD+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.4ta.posAdcCounter 13 0.5 13.5
+TH2F hcal_hD_ped_blk 'HMS hD+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hD_pi_blk 'HMS hD+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hD_pamp_blk 'HMS hD+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+# Trigger Apparatus
+TH1F htrig_hCERsum_pped 'HMS Cherenkov Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hCERSUM_adcPed 1000 0 1000
+TH1F htrig_hCERsum_pint 'HMS Cherenkov Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hCERSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hCERsum_pamp 'HMS Cherenkov Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hCERSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hCERsum_tdc_time 'HMS Cherenkov Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hCERSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hAsum_pped 'HMS hA Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hASUM_adcPed 1000 0 1000
+TH1F htrig_hAsum_pint 'HMS hA Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hASUM_adcPulseInt 4000 0 40000
+TH1F htrig_hAsum_pamp 'HMS hA Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hASUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hAsum_tdc_time 'HMS hA Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hASUM_tdcTime 4000 0 4000
+
+TH1F htrig_hBsum_pped 'HMS hB Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hBSUM_adcPed 1000 0 1000
+TH1F htrig_hBsum_pint 'HMS hB Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hBSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hBsum_pamp 'HMS hB Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hBSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hBsum_tdc_time 'HMS hB Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hBSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hCsum_pped 'HMS hC Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hCSUM_adcPed 1000 0 1000
+TH1F htrig_hCsum_pint 'HMS hC Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hCSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hCsum_pamp 'HMS hC Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hCSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hCsum_tdc_time 'HMS hC Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hCSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hDsum_pped 'HMS hD Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hDSUM_adcPed 1000 0 1000
+TH1F htrig_hDsum_pint 'HMS hD Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hDSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hDsum_pamp 'HMS hD Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hDSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hDsum_tdc_time 'HMS hD Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hDSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hpreShwr_adc_pped 'HMS Pre-Shower Sum Pulse Pedestal; Pulse Pedestal (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hPSHWR_adcPed 1000 0 1000
+TH1F htrig_hpreShwr_adc_pint 'HMS Pre-Shower Sum Pulse Integral; Pulse Integral (ADC Units); Number of Entries / 10 ADC Units;' T.hms.hPSHWR_adcPulseInt 4000 0 40000
+TH1F htrig_hpreShwr_adc_pamp 'HMS Pre-Shower Sum Pulse Amplitude; Pulse Amplitude (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hPSHWR_adcPulseAmp 4100 0 4100
+
+TH1F htrig_hshwr_adc_pped 'HMS Shower Pulse Pedestal; Pulse Pedestal (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hSHWR_adcPed 1000 0 1000
+TH1F htrig_hshwr_adc_pint 'HMS Shower Pulse Integral; Pulse Integral (ADC Units); Number of Entries / 10 ADC Units;' T.hms.hSHWR_adcPulseInt 4000 0 40000
+TH1F htrig_hshwr_adc_pamp 'HMS Shower Pulse Amplitude; Pulse Amplitude (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hSHWR_adcPulseAmp 4100 0 4100
+
+TH1F htrig_hpreShwrLow_tdc 'HMS Pre-Shower Low TDC Time; TDC Time (TDC Units); Number of Entries / 1 TDC Units;' T.hms.hPSHWRLO_tdcTime 4000 0 4000
+TH1F htrig_hpreShwrHigh_tdc 'HMS Pre-Shower High TDC Time; TDC Time (TDC Units); Number of Entries / 1 TDC Units;' T.hms.hPSHWRHI_tdcTime 4000 0 4000
+TH1F htrig_hshwr_tdc 'HMS Shower TDC Time; TDC Time (TDC Units); Number of Entries / 1 TDC Units;' T.hms.hSHWR_tdcTime 4000 0 4000
diff --git a/DEF-files/HMS/GEN/hstackana_cuts.def b/DEF-files/HMS/GEN/hstackana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/HMS/GEN/hstackana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/HMS/GEN/hstackana_report.def b/DEF-files/HMS/GEN/hstackana_report.def
new file mode 100644
index 00000000..4c8cbc0f
--- /dev/null
+++ b/DEF-files/HMS/GEN/hstackana_report.def
@@ -0,0 +1,196 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+#block *
+block T.hms.*
+block H.dc.*
+block H.tr.*
+block H.hod.*
+block H.cer.*
+block H.cal.*
+block H.gtr.*
+
+# Drift Chambers
+TH1F hdc_ref1 'HMS DC Reference Time Slot 5 Channel 111; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime 3000 12000 15000 
+TH1F hdc_ref2 'HMS DC Reference Time Slot 8 Channel 127; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF2_tdcTime 3000 12000 15000
+TH1F hdc_ref3 'HMS DC Reference Time Slot 10 Channel 127; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF3_tdcTime 3000 12000 15000
+TH1F hdc_ref4 'HMS DC Reference Time Slot 17 Channel 127; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF4_tdcTime 3000 12000 15000
+
+TH1F hdc1x1_wirenum 'HMS DC 1X1 Wiremap; Wire Number; Number of Entries' H.dc.1x1.wirenum 113 0.5 113.5
+TH1F hdc1y1_wirenum 'HMS DC 1Y1 Wiremap; Wire Number; Number of Entries' H.dc.1y1.wirenum  52 0.5  52.5
+TH1F hdc1u1_wirenum 'HMS DC 1U1 Wiremap; Wire Number; Number of Entries' H.dc.1u1.wirenum 107 0.5 107.5
+TH1F hdc1v1_wirenum 'HMS DC 1V1 Wiremap; Wire Number; Number of Entries' H.dc.1v1.wirenum 107 0.5 107.5
+TH1F hdc1y2_wirenum 'HMS DC 1Y2 Wiremap; Wire Number; Number of Entries' H.dc.1y2.wirenum  52 0.5  52.5
+TH1F hdc1x2_wirenum 'HMS DC 1X2 Wiremap; Wire Number; Number of Entries' H.dc.1x2.wirenum 113 0.5 113.5
+
+TH1F hdc2x1_wirenum 'HMS DC 2X1 Wiremap; Wire Number; Number of Entries' H.dc.2x1.wirenum 113 0.5 113.5
+TH1F hdc2y1_wirenum 'HMS DC 2Y1 Wiremap; Wire Number; Number of Entries' H.dc.2y1.wirenum  52 0.5  52.5
+TH1F hdc2u1_wirenum 'HMS DC 2U1 Wiremap; Wire Number; Number of Entries' H.dc.2u1.wirenum 107 0.5 107.5
+TH1F hdc2v1_wirenum 'HMS DC 2V1 Wiremap; Wire Number; Number of Entries' H.dc.2v1.wirenum 107 0.5 107.5
+TH1F hdc2y2_wirenum 'HMS DC 2Y2 Wiremap; Wire Number; Number of Entries' H.dc.2y2.wirenum  52 0.5  52.5
+TH1F hdc2x2_wirenum 'HMS DC 2X2 Wiremap; Wire Number; Number of Entries' H.dc.2x2.wirenum 113 0.5 113.5
+
+TH2F hdc1x1_wirenum_vs_tdc 'HMS DC 1X1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1x1.wirenum H.dc.1x1.time 113 0.5 113.5 2000 -500 1500
+TH2F hdc1y1_wirenum_vs_tdc 'HMS DC 1Y1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1y1.wirenum H.dc.1y1.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc1u1_wirenum_vs_tdc 'HMS DC 1U1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1u1.wirenum H.dc.1u1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc1v1_wirenum_vs_tdc 'HMS DC 1V1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1v1.wirenum H.dc.1v1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc1y2_wirenum_vs_tdc 'HMS DC 1Y2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1y2.wirenum H.dc.1y2.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc1x2_wirenum_vs_tdc 'HMS DC 1X2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.1x2.wirenum H.dc.1x2.time 113 0.5 113.5 2000 -500 1500
+
+TH2F hdc2x1_wirenum_vs_tdc 'HMS DC 2X1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2x1.wirenum H.dc.2x1.time 113 0.5 113.5 2000 -500 1500
+TH2F hdc2y1_wirenum_vs_tdc 'HMS DC 2Y1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2y1.wirenum H.dc.2y1.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc2u1_wirenum_vs_tdc 'HMS DC 2U1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2u1.wirenum H.dc.2u1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc2v1_wirenum_vs_tdc 'HMS DC 2V1 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2v1.wirenum H.dc.2v1.time 107 0.5 107.5 2000 -500 1500
+TH2F hdc2y2_wirenum_vs_tdc 'HMS DC 2Y2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2y2.wirenum H.dc.2y2.time 52  0.5  52.5 2000 -500 1500
+TH2F hdc2x2_wirenum_vs_tdc 'HMS DC 2X2 Wire Number vs. TDC; Wire Number; TDC Time (ns)' H.dc.2x2.wirenum H.dc.2x2.time 113 0.5 113.5 2000 -500 1500
+
+TH2F hdc1x1_wirenum_vs_resid 'HMS DC 1X1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1x1.wirenum H.dc.residual[0] 113 0.5 113.5 200 -1.0 1.0
+TH2F hdc1y1_wirenum_vs_resid 'HMS DC 1Y1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1y1.wirenum H.dc.residual[1] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc1u1_wirenum_vs_resid 'HMS DC 1U1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1u1.wirenum H.dc.residual[2] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc1v1_wirenum_vs_resid 'HMS DC 1V1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1v1.wirenum H.dc.residual[3] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc1y2_wirenum_vs_resid 'HMS DC 1Y2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1y2.wirenum H.dc.residual[4] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc1x2_wirenum_vs_resid 'HMS DC 1X2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.1x2.wirenum H.dc.residual[5] 113 0.5 113.5 200 -1.0 1.0
+
+TH2F hdc2x1_wirenum_vs_resid 'HMS DC 2X1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2x1.wirenum H.dc.residual[6] 113 0.5 113.5 200 -1.0 1.0
+TH2F hdc2y1_wirenum_vs_resid 'HMS DC 2Y1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2y1.wirenum H.dc.residual[7] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc2u1_wirenum_vs_resid 'HMS DC 2U1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2u1.wirenum H.dc.residual[8] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc2v1_wirenum_vs_resid 'HMS DC 2V1 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2v1.wirenum H.dc.residual[9] 107 0.5 107.5 200 -1.0 1.0
+TH2F hdc2y2_wirenum_vs_resid 'HMS DC 2Y2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2y2.wirenum H.dc.residual[10] 52  0.5  52.5 200 -1.0 1.0
+TH2F hdc2x2_wirenum_vs_resid 'HMS DC 2X2 Wire Number vs. Residuals; Wire Number; Residuals (mm)' H.dc.2x2.wirenum H.dc.residual[11] 113 0.5 113.5 200 -1.0 1.0
+
+TH2F hdc_xfp_vs_yxp 'HMS DC Xfp vs Yxp; Yfp (cm) / 1 cm; Xfp (cm) / 1 cm' H.dc.y H.dc.x 100 -50 50 100 -50 50
+TH2F hdc_xfpp_vs_yxpp 'HMS DC Xfpp vs Yxpp; Yfpp; Xfpp' H.dc.yp H.dc.xp 100 -1 1 100 -1 1
+
+# Hodoscopes (Positive/Left) 
+TH1F hhodo_1x_pos_adc_occu 'HMS Hodoscope 1X+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.1x.posAdcCounter 16 0.5 16.5
+TH1F hhodo_1y_pos_adc_occu 'HMS Hodoscope 1Y+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.1y.posAdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_pos_adc_occu 'HMS Hodoscope 2X+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.2x.posAdcCounter 16 0.5 16.5
+TH1F hhodo_2y_pos_adc_occu 'HMS Hodoscope 2Y+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.2y.posAdcCounter 10 0.5 10.5
+TH1F hhodo_1x_pos_tdc_occu 'HMS Hodoscope 1X+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.1x.posTdcCounter 16 0.5 16.5
+TH1F hhodo_1y_pos_tdc_occu 'HMS Hodoscope 1Y+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.1y.posTdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_pos_tdc_occu 'HMS Hodoscope 2X+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.2x.posTdcCounter 16 0.5 16.5
+TH1F hhodo_2y_pos_tdc_occu 'HMS Hodoscope 2Y+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.2y.posTdcCounter 10 0.5 10.5
+TH2F hhodo_1x_pos_ped_vs_pad 'HMS Hodoscope 1X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_1y_pos_ped_vs_pad 'HMS Hodoscope 1Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_2x_pos_ped_vs_pad 'HMS Hodoscope 2X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_2y_pos_ped_vs_pad 'HMS Hodoscope 2Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_1x_pos_pi_vs_pad 'HMS Hodoscope 1X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.GoodPaddle  H.hod.1x.GoodPosAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_1y_pos_pi_vs_pad 'HMS Hodoscope 1Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.GoodPaddle  H.hod.1y.GoodPosAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_2x_pos_pi_vs_pad 'HMS Hodoscope 2X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.GoodPaddle  H.hod.2x.GoodPosAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_2y_pos_pi_vs_pad 'HMS Hodoscope 2Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.GoodPaddle  H.hod.2y.GoodPosAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_1x_pos_pamp_vs_pad 'HMS Hodoscope 1X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1x.GoodPaddle  H.hod.1x.GoodPosAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_1y_pos_pamp_vs_pad 'HMS Hodoscope 1Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1y.GoodPaddle  H.hod.1y.GoodPosAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_2x_pos_pamp_vs_pad 'HMS Hodoscope 2X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2x.GoodPaddle  H.hod.2x.GoodPosAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_2y_pos_pamp_vs_pad 'HMS Hodoscope 2Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2y.GoodPaddle  H.hod.2y.GoodPosAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_1x_pos_tdc_time_vs_pad 'HMS Hodoscope 1X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1x.GoodPaddle  H.hod.1x.GoodPosTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_1y_pos_tdc_time_vs_pad 'HMS Hodoscope 1Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1y.GoodPaddle  H.hod.1y.GoodPosTdcChan 10 0.5 10.5 3500 -500 3000
+TH2F hhodo_2x_pos_tdc_time_vs_pad 'HMS Hodoscope 2X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2x.GoodPaddle  H.hod.2x.GoodPosTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_2y_pos_tdc_time_vs_pad 'HMS Hodoscope 2Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2y.GoodPaddle  H.hod.2y.GoodPosTdcChan 10 0.5 10.5 3500 -500 3000
+
+# Hodoscopes (Negative/Right)
+TH1F hhodo_1x_neg_adc_occu 'HMS Hodoscope 1X- ADC Occupancy; Paddle Number; Number of Hits' H.hod.1x.negAdcCounter 16 0.5 16.5
+TH1F hhodo_1y_neg_adc_occu 'HMS Hodoscope 1Y- ADC Occupancy; Paddle Number; Number of Hits' H.hod.1y.negAdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_neg_adc_occu 'HMS Hodoscope 2X- ADC Occupancy; Paddle Number; Number of Hits' H.hod.2x.negAdcCounter 16 0.5 16.5
+TH1F hhodo_2y_neg_adc_occu 'HMS Hodoscope 2Y- ADC Occupancy; Paddle Number; Number of Hits' H.hod.2y.negAdcCounter 10 0.5 10.5
+TH1F hhodo_1x_neg_tdc_occu 'HMS Hodoscope 1X- TDC Occupancy; Paddle Number; Number of Hits' H.hod.1x.negTdcCounter 16 0.5 16.5
+TH1F hhodo_1y_neg_tdc_occu 'HMS Hodoscope 1Y- TDC Occupancy; Paddle Number; Number of Hits' H.hod.1y.negTdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_neg_tdc_occu 'HMS Hodoscope 2X- TDC Occupancy; Paddle Number; Number of Hits' H.hod.2x.negTdcCounter 16 0.5 16.5
+TH1F hhodo_2y_neg_tdc_occu 'HMS Hodoscope 2Y- TDC Occupancy; Paddle Number; Number of Hits' H.hod.2y.negTdcCounter 10 0.5 10.5
+TH2F hhodo_1x_neg_ped_vs_pad 'HMS Hodoscope 1X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_1y_neg_ped_vs_pad 'HMS Hodoscope 1Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_2x_neg_ped_vs_pad 'HMS Hodoscope 2X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPed 16 0.5 16.5 1000 0 1000
+TH2F hhodo_2y_neg_ped_vs_pad 'HMS Hodoscope 2Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 1 ADC Unit' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPed 10 0.5 10.5 1000 0 1000
+TH2F hhodo_1x_neg_pi_vs_pad 'HMS Hodoscope 1X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.GoodPaddle  H.hod.1x.GoodNegAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_1y_neg_pi_vs_pad 'HMS Hodoscope 1Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.GoodPaddle  H.hod.1y.GoodNegAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_2x_neg_pi_vs_pad 'HMS Hodoscope 2X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.GoodPaddle  H.hod.2x.GoodNegAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_2y_neg_pi_vs_pad 'HMS Hodoscope 2Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.GoodPaddle  H.hod.2y.GoodNegAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_1x_neg_pamp_vs_pad 'HMS Hodoscope 1X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1x.GoodPaddle  H.hod.1x.GoodNegAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_1y_neg_pamp_vs_pad 'HMS Hodoscope 1Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.1y.GoodPaddle  H.hod.1y.GoodNegAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_2x_neg_pamp_vs_pad 'HMS Hodoscope 2X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2x.GoodPaddle  H.hod.2x.GoodNegAdcPulseAmp 16 0.5 16.5 4100 0 4100
+TH2F hhodo_2y_neg_pamp_vs_pad 'HMS Hodoscope 2Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 1 ADC Unit' H.hod.2y.GoodPaddle  H.hod.2y.GoodNegAdcPulseAmp 10 0.5 10.5 4100 0 4100
+TH2F hhodo_1x_neg_tdc_time_vs_pad 'HMS Hodoscope 1X- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1x.GoodPaddle  H.hod.1x.GoodNegTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_1y_neg_tdc_time_vs_pad 'HMS Hodoscope 1Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.1y.GoodPaddle  H.hod.1y.GoodNegTdcChan 10 0.5 10.5 3500 -500 3000
+TH2F hhodo_2x_neg_tdc_time_vs_pad 'HMS Hodoscope 2X- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2x.GoodPaddle  H.hod.2x.GoodNegTdcChan 16 0.5 16.5 3500 -500 3000
+TH2F hhodo_2y_neg_tdc_time_vs_pad 'HMS Hodoscope 2Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns) / 1 ns' H.hod.2y.GoodPaddle  H.hod.2y.GoodNegTdcChan 10 0.5 10.5 3500 -500 3000
+
+# Cherenkov
+TH1F hgcer_occu 'HMS Cherenkov ADC Occupancy; PMT Number; Number of ADC Hits' H.cer.adcCounter 2 0.5 2.5
+TH2F hgcer_ped_vs_cntr 'HMS Cherenkov Pulse Pedestal; PMT Number; Pulse Pedestal / 1 ADC Units' H.cer.adcCounter H.cer.adcPed 2 0.5 2.5 1000 0 1000
+TH2F hgcer_pi_vs_cntr 'HMS Cherenkov Pulse Integral; PMT Number; Pulse Pedestal / 10 ADC Units' H.cer.adcCounter H.cer.adcPulseInt 2 0.5 2.5 4000 0 40000
+TH2F hgcer_pamp_vs_cntr 'HMS Cherenkov Pulse Amplitude; PMT Number; Pulse Pedestal / 1 ADC Units' H.cer.adcCounter H.cer.adcPulseAmp 2 0.5 2.5 4100 0 4100
+
+#
+TH1F hgcer_pmt1_adc  'HMS Cherenkov PMT 1 ; ADC (chan) ; Counts' H.cer.adc_p[0] 1000 0. 100000. H.cer.adc_hit[0]==1
+TH1F hgcer_pmt2_adc  'HMS Cherenkov PMT 2 ; ADC (chan) ; Counts' H.cer.adc_p[1] 1000 0. 100000. H.cer.adc_hit[1]==1
+TH1F hgcer_pmt1_nphe 'HMS Cherenkov PMT 1 ; N_Phe ; Counts' H.cer.npe[0] 500 0. 100. H.cer.adc_hit[0]==1
+TH1F hgcer_pmt2_nphe 'HMS Cherenkov PMT 2 ; N_Phe ; Counts' H.cer.npe[1] 500 0. 100. H.cer.adc_hit[1]==1
+
+
+# Pre-Shower
+TH1F hcal_hA_pos_occu 'HMS hA+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.1pr.posAdcCounter 13 0.5 13.5
+TH2F hcal_hA_pos_ped_blk 'HMS hA+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hA_pos_pi_blk 'HMS hA+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hA_pos_pamp_blk 'HMS hA+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hA_neg_occu 'HMS hA- ADC Occupancy; Block Number; Number of ADC Hits' H.cal.1pr.negAdcCounter 13 0.5 13.5
+TH2F hcal_hA_neg_ped_blk 'HMS hA- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hA_neg_pi_blk 'HMS hA- Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hA_neg_pamp_blk 'HMS hA- Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hB_pos_occu 'HMS hB+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.2ta.posAdcCounter 13 0.5 13.5
+TH2F hcal_hB_pos_ped_blk 'HMS hB+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hB_pos_pi_blk 'HMS hB+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_pos_pamp_blk 'HMS hB+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hB_neg_occu 'HMS hB- ADC Occupancy; Block Number; Number of ADC Hits' H.cal.2ta.negAdcCounter 13 0.5 13.5
+TH2F hcal_hB_neg_ped_blk 'HMS hB- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hB_neg_pi_blk 'HMS hB- Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hB_neg_pamp_blk 'HMS hB- Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+# Shower
+TH1F hcal_hC_occu 'HMS hC+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.3ta.posAdcCounter 13 0.5 13.5
+TH2F hcal_hC_ped_blk 'HMS hC+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hC_pi_blk 'HMS hC+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hC_pamp_blk 'HMS hC+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+TH1F hcal_hD_occu 'HMS hD+ ADC Occupancy; Block Number; Number of ADC Hits' H.cal.4ta.posAdcCounter 13 0.5 13.5
+TH2F hcal_hD_ped_blk 'HMS hD+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 1 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPed 13 0.5 13.5 1000 0 1000
+TH2F hcal_hD_pi_blk 'HMS hD+ Pulse Integral vs. Block Number; Block Number; Pulse Integral / 10 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F hcal_hD_pamp_blk 'HMS hD+ Pulse Amplitude vs. Block Number; Block Number; Pulse Amplitude / 1 ADC Units' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcPulseAmp 13 0.5 13.5 4100 0 4100
+
+# Trigger Apparatus
+TH1F htrig_hCERsum_pped 'HMS Cherenkov Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hCERSUM_adcPed 1000 0 1000
+TH1F htrig_hCERsum_pint 'HMS Cherenkov Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hCERSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hCERsum_pamp 'HMS Cherenkov Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hCERSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hCERsum_tdc_time 'HMS Cherenkov Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hCERSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hAsum_pped 'HMS hA Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hASUM_adcPed 1000 0 1000
+TH1F htrig_hAsum_pint 'HMS hA Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hASUM_adcPulseInt 4000 0 40000
+TH1F htrig_hAsum_pamp 'HMS hA Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hASUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hAsum_tdc_time 'HMS hA Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hASUM_tdcTime 4000 0 4000
+
+TH1F htrig_hBsum_pped 'HMS hB Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hBSUM_adcPed 1000 0 1000
+TH1F htrig_hBsum_pint 'HMS hB Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hBSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hBsum_pamp 'HMS hB Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hBSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hBsum_tdc_time 'HMS hB Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hBSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hCsum_pped 'HMS hC Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hCSUM_adcPed 1000 0 1000
+TH1F htrig_hCsum_pint 'HMS hC Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hCSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hCsum_pamp 'HMS hC Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hCSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hCsum_tdc_time 'HMS hC Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hCSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hDsum_pped 'HMS hD Sum Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Unit' T.hms.hDSUM_adcPed 1000 0 1000
+TH1F htrig_hDsum_pint 'HMS hD Sum Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.hms.hDSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hDsum_pamp 'HMS hD Sum Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Unit' T.hms.hDSUM_adcPulseAmp 4100 0 4100
+TH1F htrig_hDsum_tdc_time 'HMS hD Sum TDC Time; TDC Time (TDC Clicks); Number of Entries / 1 TDC Clicks' T.hms.hDSUM_tdcTime 4000 0 4000
+
+TH1F htrig_hpreShwr_adc_pped 'HMS Pre-Shower Sum Pulse Pedestal; Pulse Pedestal (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hPSHWR_adcPed 1000 0 1000
+TH1F htrig_hpreShwr_adc_pint 'HMS Pre-Shower Sum Pulse Integral; Pulse Integral (ADC Units); Number of Entries / 10 ADC Units;' T.hms.hPSHWR_adcPulseInt 4000 0 40000
+TH1F htrig_hpreShwr_adc_pamp 'HMS Pre-Shower Sum Pulse Amplitude; Pulse Amplitude (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hPSHWR_adcPulseAmp 4100 0 4100
+
+TH1F htrig_hshwr_adc_pped 'HMS Shower Pulse Pedestal; Pulse Pedestal (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hSHWR_adcPed 1000 0 1000
+TH1F htrig_hshwr_adc_pint 'HMS Shower Pulse Integral; Pulse Integral (ADC Units); Number of Entries / 10 ADC Units;' T.hms.hSHWR_adcPulseInt 4000 0 40000
+TH1F htrig_hshwr_adc_pamp 'HMS Shower Pulse Amplitude; Pulse Amplitude (ADC Units); Number of Entries / 1 ADC Units;' T.hms.hSHWR_adcPulseAmp 4100 0 4100
+
+TH1F htrig_hpreShwrLow_tdc 'HMS Pre-Shower Low TDC Time; TDC Time (TDC Units); Number of Entries / 1 TDC Units;' T.hms.hPSHWRLO_tdcTime 4000 0 4000
+TH1F htrig_hpreShwrHigh_tdc 'HMS Pre-Shower High TDC Time; TDC Time (TDC Units); Number of Entries / 1 TDC Units;' T.hms.hPSHWRHI_tdcTime 4000 0 4000
+TH1F htrig_hshwr_tdc 'HMS Shower TDC Time; TDC Time (TDC Units); Number of Entries / 1 TDC Units;' T.hms.hSHWR_tdcTime 4000 0 4000
diff --git a/DEF-files/HMS/GEN/hstackana_report_cuts.def b/DEF-files/HMS/GEN/hstackana_report_cuts.def
new file mode 100644
index 00000000..535972d6
--- /dev/null
+++ b/DEF-files/HMS/GEN/hstackana_report_cuts.def
@@ -0,0 +1,191 @@
+# 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     g.evtyp==1||g.evtyp==3
+shmscoin_event     g.evtyp==2||g.evtyp==3
+all_event         g.evtyp==1||g.evtyp==2||g.evtyp==3
+RawDecode_master  1
+
+Block: Decode
+Decode_master     HMS_event
+
+Block: CoarseTracking
+CoarseTracking_master HMS_event
+
+all_trigs             g.evtyp==1 || g.evtyp==2 || g.evtyp==3
+hms_shms_trig          g.evtyp==1 || g.evtyp==2
+hms_coin_trig         g.evtyp==1 || g.evtyp==3
+
+cer_pmt1_good        H.cer.adc_hit[0]==1
+cer_pmt2_good        H.cer.adc_hit[1]==1
+
+
+hmsDC1Planes_large  (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit) >20
+hmsDC2Planes_large  (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit) >20
+
+hmsDC1_1hit_x1                H.dc.1x1.nhit == 1
+hmsDC1_1hit_y1                H.dc.1y1.nhit == 1
+hmsDC1_1hit_u1                H.dc.1u1.nhit == 1
+hmsDC1_1hit_v1                H.dc.1v1.nhit == 1
+hmsDC1_1hit_y2                H.dc.1y2.nhit == 1
+hmsDC1_1hit_x2                H.dc.1x2.nhit == 1
+
+hmsDC2_1hit_x1                H.dc.2x1.nhit == 1
+hmsDC2_1hit_y1                H.dc.2y1.nhit == 1
+hmsDC2_1hit_u1                H.dc.2u1.nhit == 1
+hmsDC2_1hit_v1                H.dc.2v1.nhit == 1
+hmsDC2_1hit_y2                H.dc.2y2.nhit == 1
+hmsDC2_1hit_x2                H.dc.2x2.nhit == 1
+
+h1hit1                H.dc.1x1.nhit >= 1
+h1hit2                H.dc.1y1.nhit >= 1
+h1hit3                H.dc.1u1.nhit >= 1
+h1hit4                H.dc.1v1.nhit >= 1
+h1hit5                H.dc.1y2.nhit >= 1
+h1hit6                H.dc.1x2.nhit >= 1
+
+h2hit1                H.dc.2x1.nhit >= 1
+h2hit2                H.dc.2y1.nhit >= 1
+h2hit3                H.dc.2u1.nhit >= 1
+h2hit4                H.dc.2v1.nhit >= 1
+h2hit5                H.dc.2y2.nhit >= 1
+h2hit6                H.dc.2x2.nhit >= 1
+
+hmsDC1Planes6hits   (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit) ==6
+hmsDC2Planes6hits   (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit )==6
+hmsDC1_5hits_x1     hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2
+hmsDC1_6hits_x1     h1hit1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2
+hmsDC1_5hits_y1     hmsDC1_1hit_x1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2
+hmsDC1_6hits_y1     h1hit2&&hmsDC1_1hit_x1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2
+hmsDC1_5hits_u1     hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2
+hmsDC1_6hits_u1     h1hit3&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2
+hmsDC1_5hits_v1     hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 
+hmsDC1_6hits_v1     h1hit4&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2
+hmsDC1_5hits_x2     hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_y2
+hmsDC1_6hits_x2     h1hit6&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_y2
+hmsDC1_5hits_y2     hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2
+hmsDC1_6hits_y2     h1hit5&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2
+
+hmsDC2_5hits_x1     hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2
+hmsDC2_6hits_x1     h2hit1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2
+hmsDC2_5hits_y1     hmsDC2_1hit_x1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2
+hmsDC2_6hits_y1     h2hit2&&hmsDC2_1hit_x1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2
+hmsDC2_5hits_u1     hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2
+hmsDC2_6hits_u1     h2hit3&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2
+hmsDC2_5hits_v1     hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 
+hmsDC2_6hits_v1     h2hit4&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2
+hmsDC2_5hits_x2     hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_y2
+hmsDC2_6hits_x2     h2hit6&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_y2
+hmsDC2_5hits_y2     hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2
+hmsDC2_6hits_y2     h2hit5&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2
+
+
+
+
+hms1HitsLt            H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && g.evtyp==1
+hms2HitsLt            H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1
+hmsHitsLt             H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1
+hmsDC1PlanesGT        (h1hit1 + h1hit2 + h1hit3 + h1hit4 + h1hit5 + h1hit6 )>=5
+hmsDC2PlanesGT        (h2hit1 + h2hit2 + h2hit3 + h2hit4 + h2hit5 + h2hit6 )>=5
+hmsPlanesGT           hmsDC1PlanesGT && hmsDC2PlanesGT
+hmsHitsPlanes         (H.dc.Ch1.nhit <= H.dc.Ch1.maxhits) && (H.dc.Ch2.nhit <= H.dc.Ch2.maxhits) && hmsPlanesGT
+hSpacePoints          H.dc.Ch1.spacepoints >= 1 && H.dc.Ch2.spacepoints >=1
+hSpacePointsStub      H.dc.stubtest==1 && H.dc.Ch1.spacepoints >=1 && H.dc.Ch2.spacepoints >=1
+hFoundTrack           H.dc.ntrack>0 
+hStubLT               H.dc.stubtest==1
+f1HSpacePoints        hms1HitsLt && hmsDC1PlanesGT && H.dc.Ch1.spacepoints==0 && g.evtyp==1
+f2HSpacePoints        hms2HitsLt && hmsDC2PlanesGT && H.dc.Ch2.spacepoints==0 && g.evtyp==1
+hTest1                hmsHitsPlanes && (!hSpacePoints)
+hTest2                hSpacePoints && (!hStubLT)
+
+
+
+
+
+
+Block: CoarseReconstruct
+CoarseReconstruct_master HMS_event
+
+Block: Tracking
+Tracking_master  HMS_event
+
+Block: Reconstruct
+Reconstruct_master HMS_event
+
+HMSScinGood           H.hod.goodscinhit == 1
+
+HMSScinShould         HMSScinGood && H.cal.etotnorm > 0.7 && H.cer.npesum > 2.0
+HMSScinShoulde        HMSScinGood && H.cer.npesum > 2.0
+HMSScinShouldh        H.hod.goodscinhit == 1 && g.evtyp == 1
+
+HMSScinDid            HMSScinShould && H.dc.ntrack > 0
+HMSScinDide           HMSScinShoulde && H.dc.ntrack > 0
+HMSScinDidh           HMSScinShouldh && H.dc.ntrack > 0
+
+
+
+goodHDC1x1            H.dc.1x1.nhit > 0 && H.dc.1x1.nhit < 3
+goodHDC1y1            H.dc.1y1.nhit > 0 && H.dc.1y1.nhit < 3
+goodHDC1u1            H.dc.1u1.nhit > 0 && H.dc.1u1.nhit < 3
+goodHDC1v1            H.dc.1v1.nhit > 0 && H.dc.1v1.nhit < 3
+goodHDC1y2            H.dc.1y2.nhit > 0 && H.dc.1y2.nhit < 3
+goodHDC1x2            H.dc.1x2.nhit > 0 && H.dc.1x2.nhit < 3
+
+goodHDC2x1            H.dc.2x1.nhit > 0 && H.dc.2x1.nhit < 3
+goodHDC2y1            H.dc.2y1.nhit > 0 && H.dc.2y1.nhit < 3
+goodHDC2u1            H.dc.2u1.nhit > 0 && H.dc.2u1.nhit < 3
+goodHDC2v1            H.dc.2v1.nhit > 0 && H.dc.2v1.nhit < 3
+goodHDC2y2            H.dc.2y2.nhit > 0 && H.dc.2y2.nhit < 3
+goodHDC2x2            H.dc.2x2.nhit > 0 && H.dc.2x2.nhit < 3
+
+goodHDC1              goodHDC1x1  && goodHDC1y1 && goodHDC1u1 && goodHDC1v1 && goodHDC1y2 && goodHDC1x2 
+goodHDC2              goodHDC2x1  && goodHDC2y1 && goodHDC2u1 && goodHDC2v1 && goodHDC2y2 && goodHDC2x2 
+bothGood              goodHDC1 && goodHDC2
+
+realhdc1x1            goodHDC1x1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc1y1            goodHDC1y1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc1u1            goodHDC1u1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc1v1            goodHDC1v1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc1y2            goodHDC1y2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc2x2            goodHDC1x2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc2x1            goodHDC2x1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc2y1            goodHDC2y1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc2u1            goodHDC2u1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc2v1            goodHDC2v1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc2y2            goodHDC2y2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+realhdc2x2            goodHDC2x2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
+
+hFound1Track          H.dc.ntrack == 1
+hFound2Track          H.dc.ntrack == 2
+hFound3Track          H.dc.ntrack == 3
+hFound4Track          H.dc.ntrack == 4
+
+hCleanTrack           H.gtr.index > -1
+1hCleanTrack          H.gtr.index == 0
+2hCleanTrack          H.gtr.index == 1
+3hCleanTrack          H.gtr.index == 2
+4hCleanTrack          H.gtr.index == 3
+
+anyhs1x               H.hod.1x.nhits > 0
+anyhs1y               H.hod.1y.nhits > 0
+anyhs2x               H.hod.2x.nhits > 0
+anyhs2y               H.hod.2y.nhits > 0
+
+goodhs1x              H.hod.1x.nhits > 0 && H.hod.1x.nhits < 3
+goodhs1y              H.hod.1y.nhits > 0 && H.hod.1y.nhits < 3
+goodhs1               goodhs1x && goodhs1y
+goodhs2x              H.hod.2x.nhits > 0 && H.hod.2x.nhits < 3
+goodhs2y              H.hod.2y.nhits > 0 && H.hod.2y.nhits < 3
+goodhs2               goodhs2x && goodhs2y
+goodhs1s2             goodhs1 && goodhs2
+
+Block: Physics
+Physics_master HMS_event
diff --git a/DEF-files/HMS/HODO/hhodoana.def b/DEF-files/HMS/HODO/hhodoana.def
new file mode 100644
index 00000000..f6b7a485
--- /dev/null
+++ b/DEF-files/HMS/HODO/hhodoana.def
@@ -0,0 +1,134 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block H.hod.*
+block T.hms.*
+
+TH1F hhodo_1x_multi 'HMS 1X Multiplicity; Number of Hits; Counts' H.hod.1x.nhits 16 0.5 16.5
+TH1F hhodo_1y_multi 'HMS 1Y Multiplicity; Number of Hits; Counts' H.hod.1y.nhits 10 0.5 10.5
+TH1F hhodo_2x_multi 'HMS 2X Multiplicity; Number of Hits; Counts' H.hod.2x.nhits 16 0.5 16.5
+TH1F hhodo_2y_multi 'HMS 2Y Multiplicity; Number of Hits; Counts' H.hod.2y.nhits 10 0.5 10.5
+
+TH1F hhodo_1x_pos_adc_occu 'HMS 1X+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.1x.posAdcCounter 16 0.5 16.5
+TH1F hhodo_1y_pos_adc_occu 'HMS 1Y+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.1y.posAdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_pos_adc_occu 'HMS 2X+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.2x.posAdcCounter 16 0.5 16.5
+TH1F hhodo_2y_pos_adc_occu 'HMS 2Y+ ADC Occupancy; Paddle Number; Number of Hits' H.hod.2y.posAdcCounter 10 0.5 10.5
+
+TH1F hhodo_1x_neg_adc_occu 'HMS 1X- ADC Occupancy; Paddle Number; Number of Hits' H.hod.1x.negAdcCounter 16 0.5 16.5
+TH1F hhodo_1y_neg_adc_occu 'HMS 1Y- ADC Occupancy; Paddle Number; Number of Hits' H.hod.1y.negAdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_neg_adc_occu 'HMS 2X- ADC Occupancy; Paddle Number; Number of Hits' H.hod.2x.negAdcCounter 16 0.5 16.5
+TH1F hhodo_2y_neg_adc_occu 'HMS 2Y- ADC Occupancy; Paddle Number; Number of Hits' H.hod.2y.negAdcCounter 10 0.5 10.5
+
+TH1F hhodo_1x_pos_tdc_occu 'HMS 1X+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.1x.posTdcCounter 16 0.5 16.5
+TH1F hhodo_1y_pos_tdc_occu 'HMS 1Y+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.1y.posTdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_pos_tdc_occu 'HMS 2X+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.2x.posTdcCounter 16 0.5 16.5
+TH1F hhodo_2y_pos_tdc_occu 'HMS 2Y+ TDC Occupancy; Paddle Number; Number of Hits' H.hod.2y.posTdcCounter 10 0.5 10.5
+
+TH1F hhodo_1x_neg_tdc_occu 'HMS 1X- TDC Occupancy; Paddle Number; Number of Hits' H.hod.1x.negTdcCounter 16 0.5 16.5
+TH1F hhodo_1y_neg_tdc_occu 'HMS 1Y- TDC Occupancy; Paddle Number; Number of Hits' H.hod.1y.negTdcCounter 10 0.5 10.5 
+TH1F hhodo_2x_neg_tdc_occu 'HMS 2X- TDC Occupancy; Paddle Number; Number of Hits' H.hod.2x.negTdcCounter 16 0.5 16.5
+TH1F hhodo_2y_neg_tdc_occu 'HMS 2Y- TDC Occupancy; Paddle Number; Number of Hits' H.hod.2y.negTdcCounter 10 0.5 10.5
+
+TH2F hhodo_1x_pos_rawped_vs_pad 'HMS 1X+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPedRaw 16 0.5 16.5 400 0 4000
+TH2F hhodo_1y_pos_rawped_vs_pad 'HMS 1Y+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPedRaw 10 0.5 10.5 400 0 4000
+TH2F hhodo_2x_pos_rawped_vs_pad 'HMS 2X+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPedRaw 16 0.5 16.5 400 0 4000
+TH2F hhodo_2y_pos_rawped_vs_pad 'HMS 2Y+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPedRaw 10 0.5 10.5 400 0 4000
+
+TH2F hhodo_1x_neg_rawped_vs_pad 'HMS 1X- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPedRaw 16 0.5 16.5 400 0 4000
+TH2F hhodo_1y_neg_rawped_vs_pad 'HMS 1Y- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPedRaw 10 0.5 10.5 400 0 4000
+TH2F hhodo_2x_neg_rawped_vs_pad 'HMS 2X- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPedRaw 16 0.5 16.5 400 0 4000
+TH2F hhodo_2y_neg_rawped_vs_pad 'HMS 2Y- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPedRaw 10 0.5 10.5 400 0 4000
+
+
+TH2F hhodo_1x_pos_rawpi_vs_pad 'HMS 1X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPulseIntRaw 16 0.5 16.5 2000 0 20000
+TH2F hhodo_1y_pos_rawpi_vs_pad 'HMS 1Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPulseIntRaw 10 0.5 10.5 2000 0 20000
+TH2F hhodo_2x_pos_rawpi_vs_pad 'HMS 2X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPulseIntRaw 16 0.5 16.5 2000 0 20000
+TH2F hhodo_2y_pos_rawpi_vs_pad 'HMS 2Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPulseIntRaw 10 0.5 10.5 2000 0 20000
+
+TH2F hhodo_1x_neg_rawpi_vs_pad 'HMS 1X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPulseIntRaw 16 0.5 16.5 2000 0 20000
+TH2F hhodo_1y_neg_rawpi_vs_pad 'HMS 1Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPulseIntRaw 10 0.5 10.5 2000 0 20000
+TH2F hhodo_2x_neg_rawpi_vs_pad 'HMS 2X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPulseIntRaw 16 0.5 16.5 2000 0 20000
+TH2F hhodo_2y_neg_rawpi_vs_pad 'HMS 2Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPulseIntRaw 10 0.5 10.5 2000 0 20000
+
+TH2F hhodo_1x_pos_rawpamp_vs_pad 'HMS 1X+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPulseAmpRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_1y_pos_rawpamp_vs_pad 'HMS 1Y+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPulseAmpRaw 10 0.5 10.5 410 0 4100
+TH2F hhodo_2x_pos_rawpamp_vs_pad 'HMS 2X+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPulseAmpRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_2y_pos_rawpamp_vs_pad 'HMS 2Y+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPulseAmpRaw 10 0.5 10.5 410 0 4100
+
+TH2F hhodo_1x_neg_rawpamp_vs_pad 'HMS 1X- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPulseAmpRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_1y_neg_rawpamp_vs_pad 'HMS 1Y- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPulseAmpRaw 10 0.5 10.5 410 0 4100
+TH2F hhodo_2x_neg_rawpamp_vs_pad 'HMS 2X- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPulseAmpRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_2y_neg_rawpamp_vs_pad 'HMS 2Y- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPulseAmpRaw 10 0.5 10.5 410 0 4100
+
+TH2F hhodo_1x_pos_rawptime_vs_pad 'HMS 1X+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPulseTimeRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_1y_pos_rawptime_vs_pad 'HMS 1Y+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPulseTimeRaw 10 0.5 10.5 410 0 4100
+TH2F hhodo_2x_pos_rawptime_vs_pad 'HMS 2X+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPulseTimeRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_2y_pos_rawptime_vs_pad 'HMS 2Y+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPulseTimeRaw 10 0.5 10.5 410 0 4100
+
+TH2F hhodo_1x_neg_rawptime_vs_pad 'HMS 1X- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPulseTimeRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_1y_neg_rawptime_vs_pad 'HMS 1Y- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPulseTimeRaw 10 0.5 10.5 410 0 4100
+TH2F hhodo_2x_neg_rawptime_vs_pad 'HMS 2X- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPulseTimeRaw 16 0.5 16.5 410 0 4100
+TH2F hhodo_2y_neg_rawptime_vs_pad 'HMS 2Y- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPulseTimeRaw 10 0.5 10.5 410 0 4100
+
+TH2F hhodo_1x_pos_raw_tdc_time_vs_pad 'HMS 1X+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1x.posTdcCounter  H.hod.1x.posTdcTimeRaw 16 0.5 16.5 800 0 8000
+TH2F hhodo_1y_pos_raw_tdc_time_vs_pad 'HMS 1Y+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1y.posTdcCounter  H.hod.1y.posTdcTimeRaw 10 0.5 10.5 800 0 8000
+TH2F hhodo_2x_pos_raw_tdc_time_vs_pad 'HMS 2X+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2x.posTdcCounter  H.hod.2x.posTdcTimeRaw 16 0.5 16.5 800 0 8000
+TH2F hhodo_2y_pos_raw_tdc_time_vs_pad 'HMS 2Y+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2y.posTdcCounter  H.hod.2y.posTdcTimeRaw 10 0.5 10.5 800 0 8000
+
+TH2F hhodo_1x_neg_raw_tdc_time_vs_pad 'HMS 1X- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1x.negTdcCounter  H.hod.1x.negTdcTimeRaw 16 0.5 16.5 800 0 8000
+TH2F hhodo_1y_neg_raw_tdc_time_vs_pad 'HMS 1Y- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1y.negTdcCounter  H.hod.1y.negTdcTimeRaw 10 0.5 10.5 800 0 8000
+TH2F hhodo_2x_neg_raw_tdc_time_vs_pad 'HMS 2X- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2x.negTdcCounter  H.hod.2x.negTdcTimeRaw 16 0.5 16.5 800 0 8000
+TH2F hhodo_2y_neg_raw_tdc_time_vs_pad 'HMS 2Y- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2y.negTdcCounter  H.hod.2y.negTdcTimeRaw 10 0.5 10.5 800 0 8000
+
+
+TH2F hhodo_1x_pos_pi_vs_pad 'HMS 1X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_1y_pos_pi_vs_pad 'HMS 1Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_2x_pos_pi_vs_pad 'HMS 2X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_2y_pos_pi_vs_pad 'HMS 2Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPulseInt 10 0.5 10.5 4000 0 40000
+
+TH2F hhodo_1x_neg_pi_vs_pad 'HMS 1X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_1y_neg_pi_vs_pad 'HMS 1Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPulseInt 10 0.5 10.5 4000 0 40000
+TH2F hhodo_2x_neg_pi_vs_pad 'HMS 2X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPulseInt 16 0.5 16.5 4000 0 40000
+TH2F hhodo_2y_neg_pi_vs_pad 'HMS 2Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPulseInt 10 0.5 10.5 4000 0 40000
+
+
+TH2F hhodo_1x_pos_ped_vs_pad 'HMS 1X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPed 16 0.5 16.5 100 0 1000
+TH2F hhodo_1y_pos_ped_vs_pad 'HMS 1Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPed 10 0.5 10.5 100 0 1000
+TH2F hhodo_2x_pos_ped_vs_pad 'HMS 2X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPed 16 0.5 16.5 100 0 1000
+TH2F hhodo_2y_pos_ped_vs_pad 'HMS 2Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPed 10 0.5 10.5 100 0 1000
+
+TH2F hhodo_1x_neg_ped_vs_pad 'HMS 1X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPed 16 0.5 16.5 100 0 1000
+TH2F hhodo_1y_neg_ped_vs_pad 'HMS 1Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPed 10 0.5 10.5 100 0 1000
+TH2F hhodo_2x_neg_ped_vs_pad 'HMS 2X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPed 16 0.5 16.5 100 0 1000
+TH2F hhodo_2y_neg_ped_vs_pad 'HMS 2Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPed 10 0.5 10.5 100 0 1000
+
+
+TH2F hhodo_1x_pos_pamp_vs_pad 'HMS 1X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.1x.posAdcCounter  H.hod.1x.posAdcPulseAmp 16 0.5 16.5 410 0 4100
+TH2F hhodo_1y_pos_pamp_vs_pad 'HMS 1Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.1y.posAdcCounter  H.hod.1y.posAdcPulseAmp 10 0.5 10.5 410 0 4100
+TH2F hhodo_2x_pos_pamp_vs_pad 'HMS 2X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.2x.posAdcCounter  H.hod.2x.posAdcPulseAmp 16 0.5 16.5 410 0 4100
+TH2F hhodo_2y_pos_pamp_vs_pad 'HMS 2Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.2y.posAdcCounter  H.hod.2y.posAdcPulseAmp 10 0.5 10.5 410 0 4100
+
+TH2F hhodo_1x_neg_pamp_vs_pad 'HMS 1X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.1x.negAdcCounter  H.hod.1x.negAdcPulseAmp 16 0.5 16.5 410 0 4100
+TH2F hhodo_1y_neg_pamp_vs_pad 'HMS 1Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.1y.negAdcCounter  H.hod.1y.negAdcPulseAmp 10 0.5 10.5 410 0 4100
+TH2F hhodo_2x_neg_pamp_vs_pad 'HMS 2X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.2x.negAdcCounter  H.hod.2x.negAdcPulseAmp 16 0.5 16.5 410 0 4100
+TH2F hhodo_2y_neg_pamp_vs_pad 'HMS 2Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.2y.negAdcCounter  H.hod.2y.negAdcPulseAmp 10 0.5 10.5 410 0 4100
+
+TH2F hhodo_1x_pos_tdc_time_vs_pad 'HMS 1X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.1x.posTdcCounter  H.hod.1x.posTdcTime 16 0.5 16.5 200 -2000 0
+TH2F hhodo_1y_pos_tdc_time_vs_pad 'HMS 1Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.1y.posTdcCounter  H.hod.1y.posTdcTime 10 0.5 10.5 200 -2000 0
+TH2F hhodo_2x_pos_tdc_time_vs_pad 'HMS 2X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.2x.posTdcCounter  H.hod.2x.posTdcTime 16 0.5 16.5 200 -2000 0
+TH2F hhodo_2y_pos_tdc_time_vs_pad 'HMS 2Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.2y.posTdcCounter  H.hod.2y.posTdcTime 10 0.5 10.5 200 -2000 0
+
+TH2F hhodo_1x_neg_tdc_time_vs_pad 'HMS 1X- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.1x.negTdcCounter  H.hod.1x.negTdcTime 16 0.5 16.5 200 -2000 0
+TH2F hhodo_1y_neg_tdc_time_vs_pad 'HMS 1Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.1y.negTdcCounter  H.hod.1y.negTdcTime 10 0.5 10.5 200 -2000 0
+TH2F hhodo_2x_neg_tdc_time_vs_pad 'HMS 2X- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.2x.negTdcCounter  H.hod.2x.negTdcTime 16 0.5 16.5 200 -2000 0
+TH2F hhodo_2y_neg_tdc_time_vs_pad 'HMS 2Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' H.hod.2y.negTdcCounter  H.hod.2y.negTdcTime 10 0.5 10.5 200 -2000 0
+
+TH1F hbetanottrack 'HMS beta (no track)' H.hod.betanotrack 100 -1.2 1.2
+TH1F hstarttime ' HMS starttime' H.hod.starttime 500 0 50 
+TH1F hfptime   ' HMS Focal plane time (all hits) ' H.hod.fpHitsTime  500 0 50 
+TH1F hhodo_1x_fptime 'HMS 1X ; Focal plane time (ns); Counts' H.hod.1x.fptime 500 0 50
+TH1F hhodo_1y_fptime 'HMS 1Y ; Focal plane time (ns); Counts' H.hod.1y.fptime 500 0 50
+TH1F hhodo_2x_fptime 'HMS 2X ; Focal plane time (ns); Counts' H.hod.2x.fptime 500 0 50
+TH1F hhodo_2y_fptime 'HMS 2Y ; Focal plane time (ns); Counts' H.hod.2y.fptime 500 0 50
+
+
+
diff --git a/DEF-files/HMS/HODO/hhodoana_cuts.def b/DEF-files/HMS/HODO/hhodoana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/HMS/HODO/hhodoana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/HMS/RASTER/hms_raster_simple.def b/DEF-files/HMS/RASTER/hms_raster_simple.def
new file mode 100644
index 00000000..40b70735
--- /dev/null
+++ b/DEF-files/HMS/RASTER/hms_raster_simple.def
@@ -0,0 +1,20 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block T.hms.*
+# 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.hms.hFRXA_adcPulseIntRaw*(1./4096.)/25.
+formula FRXB_V T.hms.hFRXB_adcPulseIntRaw*(1./4096.)/25.
+formula FRYA_V T.hms.hFRYA_adcPulseIntRaw*(1./4096.)/25.
+formula FRYB_V T.hms.hFRYB_adcPulseIntRaw*(1./4096.)/25.
+TH1F hFRXA 'HMS FRXA; FRXA RAW ADC (chan); Counts' T.hms.hFRXA_adcPulseIntRaw 1000 0 100000
+TH1F hFRXA_V 'HMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0
+TH1F hFRXB 'HMS FRXB; FRXB RAW ADC (chan); Counts' T.hms.hFRXB_adcPulseIntRaw 1000 0 100000
+TH1F hFRXB_V 'HMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0
+TH1F hFRYA 'HMS FRYA; FRYA RAW ADC (chan); Counts' T.hms.hFRYA_adcPulseIntRaw 1000 0 100000
+TH1F hFRYA_V 'HMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0
+TH1F hFRYB 'HMS FRYB; FRYB RAW ADC (chan); Counts' T.hms.hFRYB_adcPulseIntRaw 1000 0 100000
+TH1F hFRYB_V 'HMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0
+TH2F hFRA_XvsY 'HMSFRA_XvsY ; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0
+TH2F hFRB_XvsY 'HMSFRB_XvsY ; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0
+
diff --git a/DEF-files/HMS/RASTER/hms_raster_simple_cuts.def b/DEF-files/HMS/RASTER/hms_raster_simple_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/HMS/RASTER/hms_raster_simple_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/HMS/TRIG/htrigana.def b/DEF-files/HMS/TRIG/htrigana.def
new file mode 100644
index 00000000..0ee87d78
--- /dev/null
+++ b/DEF-files/HMS/TRIG/htrigana.def
@@ -0,0 +1,115 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block T.hms.*
+
+TH1F htrig_h1x_tdc 'HMS h1X TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h1X_tdcTimeRaw 1500 0 1500
+TH1F htrig_h1y_tdc 'HMS h1Y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h1Y_tdcTimeRaw 1500 0 1500
+TH1F htrig_h2x_tdc 'HMS h2X TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h2X_tdcTimeRaw 1500 0 1500
+TH1F htrig_h2y_tdc 'HMS h2Y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h2Y_tdcTimeRaw 1500 0 1500
+
+TH1F htrig_h1T_tdc 'HMS h1X/h1Y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h1T_tdcTimeRaw 1500 0 1500
+TH1F htrig_h2T_tdc 'HMS h2X/h2Y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h2T_tdcTimeRaw 1500 0 1500
+
+TH1F htrig_hT1_tdc 'HMS h1X/h1Y/h2X/h2Y Coincidence TDC Time (Slot 2); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hT1_tdcTimeRaw 1500 0 1500
+TH1F htrig_hT2_tdc 'HMS h1X/h1Y/h2X/h2Y Coincidence TDC Time (Slot 20); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hT2_tdcTimeRaw 1500 0 1500
+
+TH1F htrig_hdc_ref1 'HMS HDC Reference Time 1; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF1_tdcTimeRaw 15000 0 15000
+TH1F htrig_hdc_ref2 'HMS HDC Reference Time 2; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF2_tdcTimeRaw 15000 0 15000
+TH1F htrig_hdc_ref3 'HMS HDC Reference Time 3; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF3_tdcTimeRaw 15000 0 15000
+TH1F htrig_hdc_ref4 'HMS HDC Reference Time 4; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF4_tdcTimeRaw 15000 0 15000
+
+TH1F htrig_hasum_adc_rawpped 'HMS hAsum Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hASUM_adcPedRaw 500 0 5000
+TH1F htrig_hasum_adc_rawpi 'HMS hAsum Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hASUM_adcPulseIntRaw 4000 0 40000
+TH1F htrig_hasum_adc_rawpamp 'HMS hAsum Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hASUM_adcPulseAmpRaw 410 0 4100
+TH1F htrig_hasum_adc_rawptime 'HMS hAsum Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hASUM_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_hasum_rawtdc 'HMS hAsum Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hASUM_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hasum_adc_pped 'HMS hAsum Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hASUM_adcPed 500 0 5000
+TH1F htrig_hasum_adc_pi 'HMS hAsum Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hASUM_adcPulseInt 4000 0 40000
+TH1F htrig_hasum_adc_pamp 'HMS hAsum Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hASUM_adcPulseAmp 410 0 4100
+TH1F htrig_hasum_tdc 'HMS hAsum TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hASUM_tdcTime 4000 0 40000
+
+TH1F htrig_hbsum_adc_rawpped 'HMS hBsum Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hBSUM_adcPedRaw 500 0 5000
+TH1F htrig_hbsum_adc_rawpi 'HMS hBsum Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hBSUM_adcPulseIntRaw 4000 0 40000
+TH1F htrig_hbsum_adc_rawpamp 'HMS hBsum Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hBSUM_adcPulseAmpRaw 410 0 4100
+TH1F htrig_hbsum_adc_rawptime 'HMS hBsum Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hBSUM_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_hbsum_rawtdc 'HMS hBsum Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hBSUM_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hbsum_adc_pped 'HMS hBsum Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hBSUM_adcPed 500 0 5000
+TH1F htrig_hbsum_adc_pi 'HMS hBsum Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hBSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hbsum_adc_pamp 'HMS hBsum Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hBSUM_adcPulseAmp 410 0 4100
+TH1F htrig_hbsum_tdc 'HMS hBsum TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hBSUM_tdcTime 4000 0 40000
+
+TH1F htrig_hcsum_adc_rawpped 'HMS hCsum Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hCSUM_adcPedRaw 500 0 5000
+TH1F htrig_hcsum_adc_rawpi 'HMS hCsum Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hCSUM_adcPulseIntRaw 4000 0 40000
+TH1F htrig_hcsum_adc_rawpamp 'HMS hCsum Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hCSUM_adcPulseAmpRaw 410 0 4100
+TH1F htrig_hcsum_adc_rawptime 'HMS hCsum Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hCSUM_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_hcsum_rawtdc 'HMS hCsum Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hCSUM_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hcsum_adc_pped 'HMS hCsum Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hCSUM_adcPed 500 0 5000
+TH1F htrig_hcsum_adc_pi 'HMS hCsum Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hCSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hcsum_adc_pamp 'HMS hCsum Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hCSUM_adcPulseAmp 410 0 4100
+TH1F htrig_hcsum_tdc 'HMS hCsum TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hCSUM_tdcTime 4000 0 40000
+
+TH1F htrig_hdsum_adc_rawpped 'HMS hDsum Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hDSUM_adcPedRaw 500 0 5000
+TH1F htrig_hdsum_adc_rawpi 'HMS hDsum Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hDSUM_adcPulseIntRaw 4000 0 40000
+TH1F htrig_hdsum_adc_rawpamp 'HMS hDsum Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hDSUM_adcPulseAmpRaw 410 0 4100
+TH1F htrig_hdsum_adc_rawptime 'HMS hDsum Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hDSUM_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_hdsum_rawtdc 'HMS hDsum Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDSUM_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hdsum_adc_pped 'HMS hDsum Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hDSUM_adcPed 500 0 5000
+TH1F htrig_hdsum_adc_pi 'HMS hDsum Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hDSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hdsum_adc_pamp 'HMS hDsum Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hDSUM_adcPulseAmp 410 0 4100
+TH1F htrig_hdsum_tdc 'HMS hDsum TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDSUM_tdcTime 4000 0 40000
+
+TH1F htrig_hpreShwr_adc_rawpped 'HMS Pre-Shower Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hPSHWR_adcPedRaw 500 0 5000
+TH1F htrig_hpreShwr_adc_rawpi 'HMS Pre-Shower Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hPSHWR_adcPulseIntRaw 4000 0 40000
+TH1F htrig_hpreShwr_adc_rawpamp 'HMS Pre-Shower Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hPSHWR_adcPulseAmpRaw 410 0 4100
+TH1F htrig_hpreShwr_adc_rawptime 'HMS Pre-Shower Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hPSHWR_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_hpreShwr_rawtdc 'HMS Pre-Shower Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWR_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hpreShwr_adc_pped 'HMS Pre-Shower Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hPSHWR_adcPed 500 0 5000
+TH1F htrig_hpreShwr_adc_pi 'HMS Pre-Shower Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hPSHWR_adcPulseInt 4000 0 40000
+TH1F htrig_hpreShwr_adc_pamp 'HMS Pre-Shower Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hPSHWR_adcPulseAmp 410 0 4100
+TH1F htrig_hpreShwr_tdc 'HMS Pre-Shower TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWR_tdcTime 4000 0 40000
+
+TH1F htrig_hpreShwrLow_tdc 'HMS hpreShwrLow TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWRLO_tdcTimeRaw 4000 0 40000
+TH1F htrig_hpreShwrHigh_tdc 'HMS hpreShwrHigh TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWRHI_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hshwr_adc_rawpped 'HMS Shower Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hSHWR_adcPedRaw 500 0 5000
+TH1F htrig_hshwr_adc_rawpi 'HMS Shower Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hSHWR_adcPulseIntRaw 4000 0 40000
+TH1F htrig_hshwr_adc_rawpamp 'HMS Shower Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hSHWR_adcPulseAmpRaw 410 0 4100
+TH1F htrig_hshwr_adc_rawptime 'HMS Shower Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hSHWR_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_hshwr_rawtdc 'HMS Shower Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hSHWR_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hshwr_adc_pped 'HMS Shower Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hSHWR_adcPed 500 0 5000
+TH1F htrig_hshwr_adc_pi 'HMS Shower Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hSHWR_adcPulseInt 4000 0 40000
+TH1F htrig_hshwr_adc_pamp 'HMS Shower Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hSHWR_adcPulseAmp 410 0 4100
+TH1F htrig_hshwr_tdc 'HMS Shower TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hSHWR_tdcTime 4000 0 40000
+
+TH1F htrig_hcersum_adc_rawpped 'HMS Cherenkov Sum Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hCERSUM_adcPedRaw 500 0 5000
+TH1F htrig_hcersum_adc_rawpi 'HMS Cherenkov Sum Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hCERSUM_adcPulseIntRaw 4000 0 40000
+TH1F htrig_hcersum_adc_rawpamp 'HMS Cherenkov Sum Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hCERSUM_adcPulseAmpRaw 410 0 4100
+TH1F htrig_hcersum_adc_rawptime 'HMS Cherenkov Sum Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hCERSUM_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_hcersum_rawtdc 'HMS Cherenkov Sum Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hCERSUM_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_hcersum_adc_pped 'HMS Cherenkov Sum Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hCERSUM_adcPed 500 0 5000
+TH1F htrig_hcersum_adc_pi 'HMS Cherenkov Sum Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hCERSUM_adcPulseInt 4000 0 40000
+TH1F htrig_hcersum_adc_pamp 'HMS Cherenkov Sum Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hCERSUM_adcPulseAmp 410 0 4100
+TH1F htrig_hcersum_tdc 'HMS Cherenkov Sum TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hCERSUM_tdcTime 4000 0 40000
+
+TH1F htrig_haersum_adc_rawpped 'HMS Aerogel Sum Raw Pulse Pedestal; Raw Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hAERSUM_adcPedRaw 500 0 5000
+TH1F htrig_haersum_adc_rawpi 'HMS Aerogel Sum Raw Pulse Integral; Raw Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hAERSUM_adcPulseIntRaw 4000 0 40000
+TH1F htrig_haersum_adc_rawpamp 'HMS Aerogel Sum Raw Pulse Amplitude; Raw Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hAERSUM_adcPulseAmpRaw 410 0 4100
+TH1F htrig_haersum_adc_rawptime 'HMS Aerogel Sum Raw Pulse Time; Raw Pulse Time (ADC Units); Counts / 10 ADC Units;' T.hms.hAERSUM_adcPulseTimeRaw 2000 0 20000
+TH1F htrig_haersum_rawtdc 'HMS Aerogel Sum Raw TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hAERSUM_tdcTimeRaw 4000 0 40000
+
+TH1F htrig_haersum_adc_pped 'HMS Aerogel Sum Pulse Pedestal;  Pulse Pedestal (ADC Units); Counts / 10 ADC Units;' T.hms.hAERSUM_adcPed 500 0 5000
+TH1F htrig_haersum_adc_pi 'HMS Aerogel Sum Pulse Integral;  Pulse Integral (ADC Units); Counts / 10 ADC Units;' T.hms.hAERSUM_adcPulseInt 4000 0 40000
+TH1F htrig_haersum_adc_pamp 'HMS Aerogel Sum Pulse Amplitude;  Pulse Amplitude (ADC Units); Counts / 10 ADC Units;' T.hms.hAERSUM_adcPulseAmp 410 0 4100
+TH1F htrig_haersum_tdc 'HMS Aerogel Sum TDC Time;  TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hAERSUM_tdcTime 4000 0 40000
+
+
+
+
+
diff --git a/DEF-files/HMS/TRIG/htrigana_cuts.def b/DEF-files/HMS/TRIG/htrigana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/HMS/TRIG/htrigana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/SHMS/AERO/paeroana.def b/DEF-files/SHMS/AERO/paeroana.def
new file mode 100644
index 00000000..9cff8d08
--- /dev/null
+++ b/DEF-files/SHMS/AERO/paeroana.def
@@ -0,0 +1,25 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block P.aero.*
+block T.shms.*
+
+TH1F paero_neg_occu 'SHMS Aero- Occupancy; Counter Number; Number of Entries' P.aero.negAdcCounter 7 0.5 7.5
+TH1F paero_pos_occu 'SHMS Aero+ Occupancy; Counter Number; Number of Entries' P.aero.posAdcCounter 7 0.5 7.5
+
+TH2F paero_neg_rawped_vs_cntr 'SHMS Aero- Raw Pulse Pedestal vs. Counter Number; Counter Number; Raw Pulse Pedestal / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPedRaw 7 0.5 7.5 1000 0 10000
+TH2F paero_neg_rawpi_vs_cntr 'SHMS Aero- Raw Pulse Integral vs. Counter Number; Counter Number; Raw Pulse Integral / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseIntRaw 7 0.5 7.5 4000 0 40000
+TH2F paero_neg_rawamp_vs_cntr 'SHMS Aero- Raw Pulse Amplitude vs. Counter Number; Counter Number; Raw Pulse Amplitude / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseAmpRaw 7 0.5 7.5 410 0 4100
+TH2F paero_neg_rawptime_vs_cntr 'SHMS Aero- Raw Pulse Time vs. Counter Number; Counter Number;  Raw Pulse Time / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseTimeRaw 7 0.5 7.5 1000 0 10000
+
+TH2F paero_pos_rawped_vs_cntr 'SHMS Aero+ Raw Pulse Pedestal vs. Counter Number; Counter Number; Raw Pulse Pedestal / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPedRaw 7 0.5 7.5 1000 0 10000
+TH2F paero_pos_rawpi_vs_cntr 'SHMS Aero+ Raw Pulse Integral vs. Counter Number; Counter Number; Raw Pulse Integral / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPulseIntRaw 7 0.5 7.5 4000 0 40000
+TH2F paero_pos_rawamp_vs_cntr 'SHMS Aero+ Raw Pulse Amplitude vs. Counter Number; Counter Number; Raw Pulse Amplitude / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPulseAmpRaw 7 0.5 7.5 410 0 4100
+TH2F paero_pos_rawptime_vs_cntr 'SHMS Aero+ Raw Pulse Time vs. Counter Number; Counter Number;  Raw Pulse Time / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseTimeRaw 7 0.5 7.5 1000 0 10000
+
+TH2F paero_neg_ped_vs_cntr 'SHMS Aero- Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPed 7 0.5 7.5 1000 0 10000
+TH2F paero_neg_pi_vs_cntr 'SHMS Aero- Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseInt 7 0.5 7.5 4000 0 40000
+TH2F paero_neg_amp_vs_cntr 'SHMS Aero- Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseAmp 7 0.5 7.5 410 0 4100
+
+TH2F paero_pos_ped_vs_cntr 'SHMS Aero+ Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPed 7 0.5 7.5 1000 0 10000
+TH2F paero_pos_pi_vs_cntr 'SHMS Aero+ Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPulseInt 7 0.5 7.5 4000 0 40000
+TH2F paero_pos_amp_vs_cntr 'SHMS Aero+ Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPulseAmp 7 0.5 7.5 410 0 4100
diff --git a/DEF-files/SHMS/AERO/paeroana_cuts.def b/DEF-files/SHMS/AERO/paeroana_cuts.def
new file mode 100644
index 00000000..5add84a3
--- /dev/null
+++ b/DEF-files/SHMS/AERO/paeroana_cuts.def
@@ -0,0 +1,14 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
+
diff --git a/DEF-files/SHMS/CAL/pcalana.def b/DEF-files/SHMS/CAL/pcalana.def
new file mode 100644
index 00000000..b2d2fb78
--- /dev/null
+++ b/DEF-files/SHMS/CAL/pcalana.def
@@ -0,0 +1,34 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block P.cal.*
+
+TH1F pcal_prshwr_neg_occu 'SHMS Preshower- Occupancy; Block Number; Number of Entries' P.cal.pr.negAdcCounter 14 0.5 14.5
+TH1F pcal_prshwr_pos_occu 'SHMS Preshower+ Occupancy; Block Number; Number of Entries' P.cal.pr.posAdcCounter 14 0.5 14.5
+TH1F pcal_shwr_occu 'SHMS Shower Occupancy; Block Number; Number of Entries' P.cal.fly.adcCounter 224 0.5 224.5
+
+TH2F pcal_prshwr_neg_rawped_blk 'SHMS Preshower- Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' P.cal.pr.negAdcCounter P.cal.pr.negAdcPedRaw 14 0.5 14.5 400 0 4000
+TH2F pcal_prshwr_neg_rawpi_blk 'SHMS Preshower- Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' P.cal.pr.negAdcCounter P.cal.pr.negAdcPulseIntRaw 14 0.5 14.5 4000 0 40000
+TH2F pcal_prshwr_neg_rawamp_blk 'SHMS Preshower- Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' P.cal.pr.negAdcCounter P.cal.pr.negAdcPulseAmpRaw 14 0.5 14.5 410 0 4100 
+TH2F pcal_prshwr_neg_rawptime_blk 'SHMS Preshower- Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' P.cal.pr.negAdcCounter P.cal.pr.negAdcPulseTimeRaw 14 0.5 14.5 4000 0 40000
+
+TH2F pcal_prshwr_pos_rawped_blk 'SHMS Preshower+ Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' P.cal.pr.posAdcCounter P.cal.pr.posAdcPedRaw 14 0.5 14.5 400 0 4000
+TH2F pcal_prshwr_pos_rawpi_blk 'SHMS Preshower+ Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' P.cal.pr.posAdcCounter P.cal.pr.posAdcPulseIntRaw 14 0.5 14.5 4000 0 40000
+TH2F pcal_prshwr_pos_rawamp_blk 'SHMS Preshower+ Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' P.cal.pr.posAdcCounter P.cal.pr.posAdcPulseAmpRaw 14 0.5 14.5 410 0 4100 
+TH2F pcal_prshwr_pos_rawptime_blk 'SHMS Preshower+ Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' P.cal.pr.posAdcCounter P.cal.pr.posAdcPulseTimeRaw 14 0.5 14.5 4000 0 40000
+
+TH2F pcal_pshwr_neg_ped_blk 'SHMS Preshower- Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' P.cal.pr.negAdcCounter P.cal.pr.negAdcPed 14 0.5 14.5 400 0 4000
+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 / 10 ADC Units' P.cal.pr.negAdcCounter P.cal.pr.negAdcPulseAmp 14 0.5 14.5 410 0 4100 
+
+TH2F pcal_prshwr_pos_ped_blk 'SHMS Preshower+ Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' P.cal.pr.posAdcCounter P.cal.pr.posAdcPed 14 0.5 14.5 400 0 4000
+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 / 10 ADC Units' P.cal.pr.posAdcCounter P.cal.pr.posAdcPulseAmp 14 0.5 14.5 410 0 4100
+
+TH2F pcal_shwr_rawped_blk 'SHMS Shower Raw Pulse Pedestal vs. Block Number; Block Number; Raw Pulse Pedestal / 10 ADC Units' P.cal.fly.adcCounter P.cal.fly.adcPedRaw 224 0.5 224.5 400 0 4000
+TH2F pcal_shwr_rawpi_blk 'SHMS Shower Raw Pulse Integral vs. Block Number; Block Number; Raw Pulse Integral / 10 ADC Units' P.cal.fly.adcCounter P.cal.fly.adcPulseIntRaw 224 0.5 224.5 4000 0 40000
+TH2F pcal_shwr_rawamp_blk 'SHMS Shower Raw Pulse Amplitude vs. Block Number; Block Number; Raw Pulse Amplitude / 10 ADC Units' P.cal.fly.adcCounter P.cal.fly.adcPulseAmpRaw 224 0.5 224.5 410 0 4100 
+TH2F pcal_shwr_rawptime_blk 'SHMS Shower Raw Pulse Time vs. Block Number; Block Number; Raw Pulse Time / 10 ADC Units' P.cal.fly.adcCounter P.cal.fly.adcPulseTimeRaw 224 0.5 224.5 4000 0 40000
+
+TH2F pcal_shwr_ped_blk 'SHMS Shower Pulse Pedestal vs. Block Number; Block Number; Pulse Pedestal / 10 ADC Units' P.cal.fly.adcCounter P.cal.fly.adcPed 224 0.5 224.5 400 0 4000
+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 / 10 ADC Units' P.cal.fly.adcCounter P.cal.fly.adcPulseAmp 224 0.5 224.5 410 0 4100 
\ No newline at end of file
diff --git a/DEF-files/SHMS/CAL/pcalana_cuts.def b/DEF-files/SHMS/CAL/pcalana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/SHMS/CAL/pcalana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/SHMS/DC/pdcana.def b/DEF-files/SHMS/DC/pdcana.def
index e08edbfb..8488e1b4 100644
--- a/DEF-files/SHMS/DC/pdcana.def
+++ b/DEF-files/SHMS/DC/pdcana.def
@@ -2,62 +2,78 @@
 #
 block P.dc.*
 
-TH1F pdc1u1_wm 'PDC 1U1 Wiremap' P.dc.1u1.wirenum 107 0.5 107.5
-TH1F pdc1u2_wm 'PDC 1U2 Wiremap' P.dc.1u2.wirenum 107 0.5 107.5
-TH1F pdc1x1_wm 'PDC 1X1 Wiremap' P.dc.1x1.wirenum  79 0.5  79.5
-TH1F pdc1x2_wm 'PDC 1X2 Wiremap' P.dc.1x2.wirenum  79 0.5  79.5
-TH1F pdc1v1_wm 'PDC 1V1 Wiremap' P.dc.1v1.wirenum 107 0.5 107.5
-TH1F pdc1v2_wm 'PDC 1V2 Wiremap' P.dc.1v2.wirenum 107 0.5 107.5
-
-TH1F pdc2v2_wm 'PDC 2V2 Wiremap' P.dc.2v2.wirenum 107 0.5 107.5
-TH1F pdc2v1_wm 'PDC 2V1 Wiremap' P.dc.2v1.wirenum 107 0.5 107.5
-TH1F pdc2x2_wm 'PDC 2X2 Wiremap' P.dc.2x2.wirenum  79 0.5  79.5
-TH1F pdc2x1_wm 'PDC 2X1 Wiremap' P.dc.2x1.wirenum  79 0.5  79.5
-TH1F pdc2u2_wm 'PDC 2U2 Wiremap' P.dc.2u2.wirenum 107 0.5 107.5
-TH1F pdc2u2_wm 'PDC 2U1 Wiremap' P.dc.2u1.wirenum 107 0.5 107.5
-
-TH2F pdc1u1_wire_num_vs_raw_tdc 'PDC 1U1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1u1.wirenum P.dc.1u1.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F pdc1u2_wire_num_vs_raw_tdc 'PDC 1U2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1u2.wirenum P.dc.1u2.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F pdc1x1_wire_num_vs_raw_tdc 'PDC 1X1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1x1.wirenum P.dc.1x1.rawtdc  79 0.5  79.5 5000 0 50000
-TH2F pdc1x2_wire_num_vs_raw_tdc 'PDC 1X2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1x2.wirenum P.dc.1x2.rawtdc  79 0.5  79.5 5000 0 50000
-TH2F pdc1v1_wire_num_vs_raw_tdc 'PDC 1V1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1v1.wirenum P.dc.1v1.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F pdc1v2_wire_num_vs_raw_tdc 'PDC 1V2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1v2.wirenum P.dc.1v2.rawtdc 107 0.5 107.5 5000 0 50000
-
-TH2F pdc2v2_wire_num_vs_raw_tdc 'PDC 2V2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2v2.wirenum P.dc.2v2.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F pdc2v1_wire_num_vs_raw_tdc 'PDC 2V1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2v1.wirenum P.dc.2v1.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F pdc2x2_wire_num_vs_raw_tdc 'PDC 2X2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2x2.wirenum P.dc.2x2.rawtdc  79 0.5  79.5 5000 0 50000
-TH2F pdc2x1_wire_num_vs_raw_tdc 'PDC 2X1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2x1.wirenum P.dc.2x1.rawtdc  79 0.5  79.5 5000 0 50000
-TH2F pdc2u2_wire_num_vs_raw_tdc 'PDC 2U2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2u2.wirenum P.dc.2u2.rawtdc 107 0.5 107.5 5000 0 50000
-TH2F pdc2u1_wire_num_vs_raw_tdc 'PDC 2U1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2u1.wirenum P.dc.2u1.rawtdc 107 0.5 107.5 5000 0 50000
-
-TH2F pdc1u1_wire_num_vs_tdc_time 'PDC 1U1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.1u1.wirenum P.dc.1u1.time 107 0.5 107.5 6000 -1000 5000
-TH2F pdc1u2_wire_num_vs_tdc_time 'PDC 1U2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.1u2.wirenum P.dc.1u2.time 107 0.5 107.5 6000 -1000 5000
-TH2F pdc1x1_wire_num_vs_tdc_time 'PDC 1X1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.1x1.wirenum P.dc.1x1.time  79 0.5  79.5 6000 -1000 5000
-TH2F pdc1x2_wire_num_vs_tdc_time 'PDC 1X2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.1x2.wirenum P.dc.1x2.time  79 0.5  79.5 6000 -1000 5000
-TH2F pdc1v1_wire_num_vs_tdc_time 'PDC 1V1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.1v1.wirenum P.dc.1v1.time 107 0.5 107.5 6000 -1000 5000
-TH2F pdc1v2_wire_num_vs_tdc_time 'PDC 1V2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.1v2.wirenum P.dc.1v2.time 107 0.5 107.5 6000 -1000 5000
-
-TH2F pdc2v2_wire_num_vs_tdc_time 'PDC 2V2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.2v2.wirenum P.dc.2v2.time 107 0.5 107.5 6000 -1000 5000
-TH2F pdc2v1_wire_num_vs_tdc_time 'PDC 2V1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.2v1.wirenum P.dc.2v1.time 107 0.5 107.5 6000 -1000 5000
-TH2F pdc2x2_wire_num_vs_tdc_time 'PDC 2X2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.2x2.wirenum P.dc.2x2.time  79 0.5  79.5 6000 -1000 5000
-TH2F pdc2x1_wire_num_vs_tdc_time 'PDC 2X1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.2x1.wirenum P.dc.2x1.time  79 0.5  79.5 6000 -1000 5000
-TH2F pdc2u2_wire_num_vs_tdc_time 'PDC 2U2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.2u2.wirenum P.dc.2u2.time 107 0.5 107.5 6000 -1000 5000
-TH2F pdc2u1_wire_num_vs_tdc_time 'PDC 2U1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (ns)' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 6000 -1000 5000
-
-TH2F pdc1u1_wire_num_vs_ddist 'PDC 1U1 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 1U2 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 1X1 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 1X2 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 1V1 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 1V2 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 2U2 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 2U1 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 2X2 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 2X1 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 2V2 Wiremap vs. Raw TDC; 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_wire_num_vs_ddist 'PDC 2V1 Wiremap vs. Raw TDC; Wire Number; Drift Distance (cm)' P.dc.2v1.wirenum P.dc.2v1.dist 107 0.5 107.5 300 -0.1 0.6
+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_raw_tdc 'PDC 1U1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1u1.wirenum P.dc.1u1.rawtdc 107 0.5 107.5 5000 -25000 25000
+TH2F pdc1u2_wirenum_vs_raw_tdc 'PDC 1U2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1u2.wirenum P.dc.1u2.rawtdc 107 0.5 107.5 5000 -25000 25000
+TH2F pdc1x1_wirenum_vs_raw_tdc 'PDC 1X1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1x1.wirenum P.dc.1x1.rawtdc  79 0.5  79.5 5000 -25000 25000
+TH2F pdc1x2_wirenum_vs_raw_tdc 'PDC 1X2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1x2.wirenum P.dc.1x2.rawtdc  79 0.5  79.5 5000 -25000 25000
+TH2F pdc1v1_wirenum_vs_raw_tdc 'PDC 1V1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1v1.wirenum P.dc.1v1.rawtdc 107 0.5 107.5 5000 -25000 25000
+TH2F pdc1v2_wirenum_vs_raw_tdc 'PDC 1V2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.1v2.wirenum P.dc.1v2.rawtdc 107 0.5 107.5 5000 -25000 25000
+
+TH2F pdc2v2_wirenum_vs_raw_tdc 'PDC 2V2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2v2.wirenum P.dc.2v2.rawtdc 107 0.5 107.5 5000 -25000 25000
+TH2F pdc2v1_wirenum_vs_raw_tdc 'PDC 2V1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2v1.wirenum P.dc.2v1.rawtdc 107 0.5 107.5 5000 -25000 25000
+TH2F pdc2x2_wirenum_vs_raw_tdc 'PDC 2X2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2x2.wirenum P.dc.2x2.rawtdc  79 0.5  79.5 5000 -25000 25000
+TH2F pdc2x1_wirenum_vs_raw_tdc 'PDC 2X1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2x1.wirenum P.dc.2x1.rawtdc  79 0.5  79.5 5000 -25000 25000
+TH2F pdc2u2_wirenum_vs_raw_tdc 'PDC 2U2 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2u2.wirenum P.dc.2u2.rawtdc 107 0.5 107.5 5000 -25000 25000
+TH2F pdc2u1_wirenum_vs_raw_tdc 'PDC 2U1 Wiremap vs. Raw TDC; Wire Number; Raw TDC Value (clicks)' P.dc.2u1.wirenum P.dc.2u1.rawtdc 107 0.5 107.5 5000 -25000 25000
+
+TH2F pdc1u1_wirenum_vs_tdc 'SHMS DC 1U1 Wire Number vs. TDC; Wire Number; TDC Value (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 Value (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 Value (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 Value (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 Value (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 Value (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 Value (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 Value (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 Value (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 Value (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 Value (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 Value (ns)' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 500 0 500
+
+TH2F pdc1u1_wirenum_vs_ddist 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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 'PDC 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
+
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+
+TH2F pdc_xfp_vs_yxp 'SHMS DC Xfp vs Yxp; Yfp (cm) / 1 mm; Xfp (cm) / 1 mm' P.dc.y P.dc.x 1000 -50 50 1000 -50 50
+TH2F pdc_xfpp_vs_yxpp 'SHMS DC Xfpp vs Yxpp; Yfpp; Xfpp' P.dc.yp P.dc.xp 100 -1 1 100 -1 1
 
 
 
diff --git a/DEF-files/SHMS/GEN/pstackana.def b/DEF-files/SHMS/GEN/pstackana.def
new file mode 100644
index 00000000..c330a2c2
--- /dev/null
+++ b/DEF-files/SHMS/GEN/pstackana.def
@@ -0,0 +1,183 @@
+# 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.*
+
+# Noble Gas Cherenkov
+TH1F pngcer_occu 'SHMS Noble Gas Cherenkov Occupancy; Counter Number; Number of Entries' P.ngcer.adcCounter 4 0.5 4.5
+TH2F pngcer_ped_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.ngcer.adcCounter P.ngcer.adcPed 4 0.5 4.5 1000 0 1000
+TH2F pngcer_pi_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPulseInt 4 0.5 4.5 4000 0 40000
+TH2F pngcer_amp_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.ngcer.adcCounter P.ngcer.adcPulseAmp 4 0.5 4.5 4100 0 4100
+
+# 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 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 600 -100 500
+
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+
+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_xfpp_vs_yxpp 'SHMS DC Xfpp vs Yxpp; Yfpp; Xfpp' P.dc.yp P.dc.xp 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
+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
+TH2F phgcer_ped_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.hgcer.adcCounter P.hgcer.adcPed 4 0.5 4.5 1000 0 10000
+TH2F phgcer_pi_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseInt 4 0.5 4.5 4000 0 40000
+TH2F phgcer_amp_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.hgcer.adcCounter P.hgcer.adcPulseAmp 4 0.5 4.5 4100 0 4100
+
+# Aerogel
+TH1F paero_pos_occu 'SHMS Aero+ Occupancy; Counter Number; Number of Entries' P.aero.posAdcCounter 7 0.5 7.5
+TH2F paero_pos_ped_vs_cntr 'SHMS Aero+ Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.aero.posAdcCounter P.aero.posAdcPed 7 0.5 7.5 1000 0 1000
+TH2F paero_pos_pi_vs_cntr 'SHMS Aero+ Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPulseInt 7 0.5 7.5 4000 0 40000
+TH2F paero_pos_amp_vs_cntr 'SHMS Aero+ Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.aero.posAdcCounter P.aero.posAdcPulseAmp 7 0.5 7.5 4100 0 4100
+TH1F paero_neg_occu 'SHMS Aero- Occupancy; Counter Number; Number of Entries' P.aero.negAdcCounter 7 0.5 7.5
+TH2F paero_neg_ped_vs_cntr 'SHMS Aero- Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.aero.negAdcCounter P.aero.negAdcPed 7 0.5 7.5 1000 0 1000
+TH2F paero_neg_pi_vs_cntr 'SHMS Aero- Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseInt 7 0.5 7.5 4000 0 40000
+TH2F paero_neg_amp_vs_cntr 'SHMS Aero- Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.aero.negAdcCounter P.aero.negAdcPulseAmp 7 0.5 7.5 4100 0 4100
+
+# 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 
+
+# 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
diff --git a/DEF-files/SHMS/GEN/pstackana_cuts.def b/DEF-files/SHMS/GEN/pstackana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/SHMS/GEN/pstackana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/SHMS/GEN/pstackana_report.def b/DEF-files/SHMS/GEN/pstackana_report.def
new file mode 100644
index 00000000..6d9be51d
--- /dev/null
+++ b/DEF-files/SHMS/GEN/pstackana_report.def
@@ -0,0 +1,183 @@
+# 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.*
+
+# Noble Gas Cherenkov
+TH1F pngcer_occu 'SHMS Noble Gas Cherenkov Occupancy; Counter Number; Number of Entries' P.ngcer.adcCounter 4 0.5 4.5
+TH2F pngcer_ped_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.ngcer.adcCounter P.ngcer.adcPed 4 0.5 4.5 1000 0 1000
+TH2F pngcer_pi_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPulseInt 4 0.5 4.5 4000 0 40000
+TH2F pngcer_amp_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.ngcer.adcCounter P.ngcer.adcPulseAmp 4 0.5 4.5 4100 0 4100
+
+# 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
+
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+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 200 -1.0 1.0
+
+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_xfpp_vs_yxpp 'SHMS DC Xfpp vs Yxpp; Yfpp; Xfpp' P.dc.yp P.dc.xp 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
+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
+TH2F phgcer_ped_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.hgcer.adcCounter P.hgcer.adcPed 4 0.5 4.5 1000 0 10000
+TH2F phgcer_pi_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseInt 4 0.5 4.5 4000 0 40000
+TH2F phgcer_amp_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.hgcer.adcCounter P.hgcer.adcPulseAmp 4 0.5 4.5 4100 0 4100
+
+# Aerogel
+TH1F paero_pos_occu 'SHMS Aero+ Occupancy; Counter Number; Number of Entries' P.aero.posAdcCounter 7 0.5 7.5
+TH2F paero_pos_ped_vs_cntr 'SHMS Aero+ Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.aero.posAdcCounter P.aero.posAdcPed 7 0.5 7.5 1000 0 1000
+TH2F paero_pos_pi_vs_cntr 'SHMS Aero+ Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.aero.posAdcCounter P.aero.posAdcPulseInt 7 0.5 7.5 4000 0 40000
+TH2F paero_pos_amp_vs_cntr 'SHMS Aero+ Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.aero.posAdcCounter P.aero.posAdcPulseAmp 7 0.5 7.5 4100 0 4100
+TH1F paero_neg_occu 'SHMS Aero- Occupancy; Counter Number; Number of Entries' P.aero.negAdcCounter 7 0.5 7.5
+TH2F paero_neg_ped_vs_cntr 'SHMS Aero- Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 1 ADC Unit' P.aero.negAdcCounter P.aero.negAdcPed 7 0.5 7.5 1000 0 1000
+TH2F paero_neg_pi_vs_cntr 'SHMS Aero- Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.aero.negAdcCounter P.aero.negAdcPulseInt 7 0.5 7.5 4000 0 40000
+TH2F paero_neg_amp_vs_cntr 'SHMS Aero- Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 1 ADC Unit' P.aero.negAdcCounter P.aero.negAdcPulseAmp 7 0.5 7.5 4100 0 4100
+
+# 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 
+
+# 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
new file mode 100644
index 00000000..d012b948
--- /dev/null
+++ b/DEF-files/SHMS/GEN/pstackana_report_cuts.def
@@ -0,0 +1,189 @@
+# 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     g.evtyp==1||g.evtyp==3
+shmscoin_event     g.evtyp==2||g.evtyp==3
+all_event         g.evtyp==1||g.evtyp==2||g.evtyp==3
+RawDecode_master  1
+
+Block: Decode
+Decode_master     HMS_event
+
+Block: CoarseTracking
+CoarseTracking_master HMS_event
+
+all_trigs             g.evtyp==1 || g.evtyp==2 || g.evtyp==3
+hms_shms_trig          g.evtyp==1 || g.evtyp==2
+hms_coin_trig         g.evtyp==1 || g.evtyp==3
+
+
+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
+
+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
+
+h1hit1                P.dc.1x1.nhit >= 1
+h1hit2                P.dc.1u1.nhit >= 1
+h1hit3                P.dc.1u2.nhit >= 1
+h1hit4                P.dc.1v1.nhit >= 1
+h1hit5                P.dc.1v2.nhit >= 1
+h1hit6                P.dc.1x2.nhit >= 1
+
+h2hit1                P.dc.2x1.nhit >= 1
+h2hit2                P.dc.2u1.nhit >= 1
+h2hit3                P.dc.2u2.nhit >= 1
+h2hit4                P.dc.2v1.nhit >= 1
+h2hit5                P.dc.2v2.nhit >= 1
+h2hit6                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     h1hit1&&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     h1hit2&&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     h1hit3&&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     h1hit4&&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     h1hit5&&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     h1hit6&&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     h2hit1&&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     h2hit2&&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     h2hit3&&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     h2hit4&&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     h2hit5&&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     h2hit6&&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        (h1hit1 + h1hit2 + h1hit3 + h1hit4 + h1hit5 + h1hit6 )>=5
+shmsDC2PlanesGT        (h2hit1 + h2hit2 + h2hit3 + h2hit4 + h2hit5 + h2hit6 )>=5
+shmsPlanesGT           shmsDC1PlanesGT && shmsDC2PlanesGT
+shmsHitsPlanes         (P.dc.Ch1.nhit <= P.dc.Ch1.maxhits) && (P.dc.Ch2.nhit <= P.dc.Ch2.maxhits) && shmsPlanesGT
+hSpacePoints          P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >=1
+hSpacePointsStub      P.dc.stubtest==1 && P.dc.Ch1.spacepoints >=1 && P.dc.Ch2.spacepoints >=1
+hFoundTrack           P.dc.ntrack>0 
+hStubLT               P.dc.stubtest==1
+f1HSpacePoints        shms1HitsLt && shmsDC1PlanesGT && P.dc.Ch1.spacepoints==0 && g.evtyp==1
+f2HSpacePoints        shms2HitsLt && shmsDC2PlanesGT && P.dc.Ch2.spacepoints==0 && g.evtyp==1
+hTest1                shmsHitsPlanes && (!hSpacePoints)
+hTest2                hSpacePoints && (!hStubLT)
+
+
+
+
+
+
+Block: CoarseReconstruct
+CoarseReconstruct_master shms_event
+
+Block: Tracking
+Tracking_master  shms_event
+
+Block: Reconstruct
+Reconstruct_master shms_event
+
+shmsScinGood           P.hod.goodscinhit == 1
+
+shmsScinShould         shmsScinGood && P.cal.etotnorm > 0.7 && P.hgcer.npesum > 2.0
+shmsScinShoulde        shmsScinGood && P.hgcer.npesum > 2.0
+shmsScinShouldh        P.hod.goodscinhit == 1 && g.evtyp == 1
+
+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)
+realhdc2x2            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)
+
+hFound1Track          P.dc.ntrack == 1
+hFound2Track          P.dc.ntrack == 2
+hFound3Track          P.dc.ntrack == 3
+hFound4Track          P.dc.ntrack == 4
+
+hCleanTrack           P.gtr.index > -1
+1hCleanTrack          P.gtr.index == 0
+2hCleanTrack          P.gtr.index == 1
+3hCleanTrack          P.gtr.index == 2
+4hCleanTrack          P.gtr.index == 3
+
+anyhs1x               P.hod.1x.nhits > 0
+anyhs1y               P.hod.1y.nhits > 0
+anyhs2x               P.hod.2x.nhits > 0
+anyhs2y               P.hod.2y.nhits > 0
+
+goodhs1x              P.hod.1x.nhits > 0 && P.hod.1x.nhits < 3
+goodhs1y              P.hod.1y.nhits > 0 && P.hod.1y.nhits < 3
+goodhs1               goodhs1x && goodhs1y
+goodhs2x              P.hod.2x.nhits > 0 && P.hod.2x.nhits < 3
+goodhs2y              P.hod.2y.nhits > 0 && P.hod.2y.nhits < 3
+goodhs2               goodhs2x && goodhs2y
+goodhs1s2             goodhs1 && goodhs2
+
+Block: Physics
+Physics_master shms_event
diff --git a/DEF-files/SHMS/HGCER/phgcerana.def b/DEF-files/SHMS/HGCER/phgcerana.def
new file mode 100644
index 00000000..f5ce4416
--- /dev/null
+++ b/DEF-files/SHMS/HGCER/phgcerana.def
@@ -0,0 +1,25 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block P.hgcer.*
+block T.shms.*
+
+TH1F phgcer_occu 'SHMS Heavy Gas Cherenkov Occupancy; Counter Number; Number of Entries' P.hgcer.adcCounter 4 0.5 4.5
+TH1F phgcer_occu 'SHMS Heavy Gas Cherenkov Occupancy; Counter Number; Number of Entries' P.hgcer.adcCounter 4 0.5 4.5
+
+TH2F phgcer_rawped_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Pedestal vs. Counter Number; Counter Number; Raw Pulse Pedestal / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPedRaw 4 0.5 4.5 1000 0 10000
+TH2F phgcer_rawpi_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Integral vs. Counter Number; Counter Number; Raw Pulse Integral / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseIntRaw 4 0.5 4.5 4000 0 40000
+TH2F phgcer_rawamp_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Amplitude vs. Counter Number; Counter Number; Raw Pulse Amplitude / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmpRaw 4 0.5 4.5 410 0 4100
+TH2F phgcer_rawptime_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Time vs. Counter Number; Counter Number;  Raw Pulse Time / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseTimeRaw 4 0.5 4.5 1000 0 10000
+
+TH2F phgcer_rawped_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Pedestal vs. Counter Number; Counter Number; Raw Pulse Pedestal / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPedRaw 4 0.5 4.5 1000 0 10000
+TH2F phgcer_rawpi_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Integral vs. Counter Number; Counter Number; Raw Pulse Integral / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseIntRaw 4 0.5 4.5 4000 0 40000
+TH2F phgcer_rawamp_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Amplitude vs. Counter Number; Counter Number; Raw Pulse Amplitude / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmpRaw 4 0.5 4.5 410 0 4100
+TH2F phgcer_rawptime_vs_cntr 'SHMS Heavy Gas Cherenkov Raw Pulse Time vs. Counter Number; Counter Number;  Raw Pulse Time / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseTimeRaw 4 0.5 4.5 1000 0 10000
+
+TH2F phgcer_ped_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPed 4 0.5 4.5 1000 0 10000
+TH2F phgcer_pi_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseInt 4 0.5 4.5 4000 0 40000
+TH2F phgcer_amp_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmp 4 0.5 4.5 410 0 4100
+
+TH2F phgcer_ped_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPed 4 0.5 4.5 1000 0 10000
+TH2F phgcer_pi_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseInt 4 0.5 4.5 4000 0 40000
+TH2F phgcer_amp_vs_cntr 'SHMS Heavy Gas Cherenkov Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 10 ADC Units' P.hgcer.adcCounter P.hgcer.adcPulseAmp 4 0.5 4.5 410 0 4100
diff --git a/DEF-files/SHMS/HGCER/phgcerana_cuts.def b/DEF-files/SHMS/HGCER/phgcerana_cuts.def
new file mode 100644
index 00000000..5add84a3
--- /dev/null
+++ b/DEF-files/SHMS/HGCER/phgcerana_cuts.def
@@ -0,0 +1,14 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
+
diff --git a/DEF-files/SHMS/HODO/phodoana.def b/DEF-files/SHMS/HODO/phodoana.def
new file mode 100644
index 00000000..78dd5219
--- /dev/null
+++ b/DEF-files/SHMS/HODO/phodoana.def
@@ -0,0 +1,119 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block P.hod.*
+block T.shms.*
+
+TH1F phodo_1x_multi 'SHMS 1X Multiplicity; Number of Hits; Counts' P.hod.1x.nhits 13 0.5 13.5
+TH1F phodo_1y_multi 'SHMS 1Y Multiplicity; Number of Hits; Counts' P.hod.1y.nhits 13 0.5 13.5
+TH1F phodo_2x_multi 'SHMS 2X Multiplicity; Number of Hits; Counts' P.hod.2x.nhits 14 0.5 14.5
+TH1F phodo_2y_multi 'SHMS 2Y Multiplicity; Number of Hits; Counts' P.hod.2y.nhits 21 0.5 21.5
+
+TH1F phodo_1x_pos_adc_occu 'SHMS 1X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posAdcCounter 13 0.5 13.5
+TH1F phodo_1y_pos_adc_occu 'SHMS 1Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posAdcCounter 13 0.5 13.5 
+TH1F phodo_2x_pos_adc_occu 'SHMS 2X+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posAdcCounter 14 0.5 14.5
+TH1F phodo_2y_pos_adc_occu 'SHMS 2Y+ ADC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posAdcCounter 21 0.5 21.5
+
+TH1F phodo_1x_neg_adc_occu 'SHMS 1X- ADC Occupancy; Paddle Number; Number of Hits' P.hod.1x.negAdcCounter 13 0.5 13.5
+TH1F phodo_1y_neg_adc_occu 'SHMS 1Y- ADC Occupancy; Paddle Number; Number of Hits' P.hod.1y.negAdcCounter 13 0.5 13.5 
+TH1F phodo_2x_neg_adc_occu 'SHMS 2X- ADC Occupancy; Paddle Number; Number of Hits' P.hod.2x.negAdcCounter 14 0.5 14.5
+TH1F phodo_2y_neg_adc_occu 'SHMS 2Y- ADC Occupancy; Paddle Number; Number of Hits' P.hod.2y.negAdcCounter 21 0.5 21.5
+
+TH1F phodo_1x_pos_tdc_occu 'SHMS 1X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1x.posTdcCounter 13 0.5 13.5
+TH1F phodo_1y_pos_tdc_occu 'SHMS 1Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.1y.posTdcCounter 13 0.5 13.5 
+TH1F phodo_2x_pos_tdc_occu 'SHMS 2X+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2x.posTdcCounter 14 0.5 14.5
+TH1F phodo_2y_pos_tdc_occu 'SHMS 2Y+ TDC Occupancy; Paddle Number; Number of Hits' P.hod.2y.posTdcCounter 21 0.5 21.5
+
+TH1F phodo_1x_neg_tdc_occu 'SHMS 1X- TDC Occupancy; Paddle Number; Number of Hits' P.hod.1x.negTdcCounter 13 0.5 13.5
+TH1F phodo_1y_neg_tdc_occu 'SHMS 1Y- TDC Occupancy; Paddle Number; Number of Hits' P.hod.1y.negTdcCounter 13 0.5 13.5 
+TH1F phodo_2x_neg_tdc_occu 'SHMS 2X- TDC Occupancy; Paddle Number; Number of Hits' P.hod.2x.negTdcCounter 14 0.5 14.5
+TH1F phodo_2y_neg_tdc_occu 'SHMS 2Y- TDC Occupancy; Paddle Number; Number of Hits' P.hod.2y.negTdcCounter 21 0.5 21.5
+
+TH2F phodo_1x_pos_rawped_vs_pad 'SHMS 1X+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F phodo_1y_pos_rawped_vs_pad 'SHMS 1Y+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F phodo_2x_pos_rawped_vs_pad 'SHMS 2X+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPedRaw 14 0.5 14.5 400 0 4000
+TH2F phodo_2y_pos_rawped_vs_pad 'SHMS 2Y+ Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPedRaw 21 0.5 21.5 400 0 4000
+
+TH2F phodo_1x_neg_rawped_vs_pad 'SHMS 1X- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F phodo_1y_neg_rawped_vs_pad 'SHMS 1Y- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPedRaw 13 0.5 13.5 400 0 4000
+TH2F phodo_2x_neg_rawped_vs_pad 'SHMS 2X- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPedRaw 14 0.5 14.5 400 0 4000
+TH2F phodo_2y_neg_rawped_vs_pad 'SHMS 2Y- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPedRaw 21 0.5 21.5 400 0 4000
+
+TH2F phodo_1x_pos_rawpi_vs_pad 'SHMS 1X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F phodo_1y_pos_rawpi_vs_pad 'SHMS 1Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F phodo_2x_pos_rawpi_vs_pad 'SHMS 2X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPulseIntRaw 14 0.5 14.5 4000 0 40000
+TH2F phodo_2y_pos_rawpi_vs_pad 'SHMS 2Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPulseIntRaw 21 0.5 21.5 4000 0 40000
+
+TH2F phodo_1x_neg_rawpi_vs_pad 'SHMS 1X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F phodo_1y_neg_rawpi_vs_pad 'SHMS 1Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPulseIntRaw 13 0.5 13.5 4000 0 40000
+TH2F phodo_2x_neg_rawpi_vs_pad 'SHMS 2X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPulseIntRaw 14 0.5 14.5 4000 0 40000
+TH2F phodo_2y_neg_rawpi_vs_pad 'SHMS 2Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPulseIntRaw 21 0.5 21.5 4000 0 40000
+
+TH2F phodo_1x_pos_rawpamp_vs_pad 'SHMS 1X+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_1y_pos_rawpamp_vs_pad 'SHMS 1Y+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_2x_pos_rawpamp_vs_pad 'SHMS 2X+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPulseAmpRaw 14 0.5 14.5 410 0 4100
+TH2F phodo_2y_pos_rawpamp_vs_pad 'SHMS 2Y+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPulseAmpRaw 21 0.5 21.5 410 0 4100
+
+TH2F phodo_1x_neg_rawpamp_vs_pad 'SHMS 1X- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_1y_neg_rawpamp_vs_pad 'SHMS 1Y- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPulseAmpRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_2x_neg_rawpamp_vs_pad 'SHMS 2X- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPulseAmpRaw 14 0.5 14.5 410 0 4100
+TH2F phodo_2y_neg_rawpamp_vs_pad 'SHMS 2Y- Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPulseAmpRaw 21 0.5 21.5 410 0 4100
+
+TH2F phodo_1x_pos_rawptime_vs_pad 'SHMS 1X+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPulseTimeRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_1y_pos_rawptime_vs_pad 'SHMS 1Y+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPulseTimeRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_2x_pos_rawptime_vs_pad 'SHMS 2X+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPulseTimeRaw 14 0.5 14.5 410 0 4100
+TH2F phodo_2y_pos_rawptime_vs_pad 'SHMS 2Y+ Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPulseTimeRaw 21 0.5 21.5 410 0 4100
+
+TH2F phodo_1x_neg_rawptime_vs_pad 'SHMS 1X- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPulseTimeRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_1y_neg_rawptime_vs_pad 'SHMS 1Y- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPulseTimeRaw 13 0.5 13.5 410 0 4100
+TH2F phodo_2x_neg_rawptime_vs_pad 'SHMS 2X- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPulseTimeRaw 14 0.5 14.5 410 0 4100
+TH2F phodo_2y_neg_rawptime_vs_pad 'SHMS 2Y- Raw Pulse Time vs. Paddle Number; Paddle Number; Raw Pulse Time / 10 ADC Units' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPulseTimeRaw 21 0.5 21.5 410 0 4100
+
+TH2F phodo_1x_pos_raw_tdc_time_vs_pad 'SHMS 1X+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.1x.posTdcCounter  P.hod.1x.posTdcTimeRaw 13 0.5 13.5 200 0 2000
+TH2F phodo_1y_pos_raw_tdc_time_vs_pad 'SHMS 1Y+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.1y.posTdcCounter  P.hod.1y.posTdcTimeRaw 13 0.5 13.5 200 0 2000
+TH2F phodo_2x_pos_raw_tdc_time_vs_pad 'SHMS 2X+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.2x.posTdcCounter  P.hod.2x.posTdcTimeRaw 14 0.5 14.5 200 0 2000
+TH2F phodo_2y_pos_raw_tdc_time_vs_pad 'SHMS 2Y+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.2y.posTdcCounter  P.hod.2y.posTdcTimeRaw 21 0.5 21.5 200 0 2000
+
+TH2F phodo_1x_neg_raw_tdc_time_vs_pad 'SHMS 1X- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.1x.negTdcCounter  P.hod.1x.negTdcTimeRaw 13 0.5 13.5 200 0 2000
+TH2F phodo_1y_neg_raw_tdc_time_vs_pad 'SHMS 1Y- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.1y.negTdcCounter  P.hod.1y.negTdcTimeRaw 13 0.5 13.5 200 0 2000
+TH2F phodo_2x_neg_raw_tdc_time_vs_pad 'SHMS 2X- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.2x.negTdcCounter  P.hod.2x.negTdcTimeRaw 14 0.5 14.5 200 0 2000
+TH2F phodo_2y_neg_raw_tdc_time_vs_pad 'SHMS 2Y- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' P.hod.2y.negTdcCounter  P.hod.2y.negTdcTimeRaw 21 0.5 21.5 200 0 2000
+
+TH2F phodo_1x_pos_ped_vs_pad 'SHMS 1X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPed 13 0.5 13.5 400 0 4000
+TH2F phodo_1y_pos_ped_vs_pad 'SHMS 1Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPed 13 0.5 13.5 400 0 4000
+TH2F phodo_2x_pos_ped_vs_pad 'SHMS 2X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPed 14 0.5 14.5 400 0 4000
+TH2F phodo_2y_pos_ped_vs_pad 'SHMS 2Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPed 21 0.5 21.5 400 0 4000
+
+TH2F phodo_1x_neg_ped_vs_pad 'SHMS 1X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPed 13 0.5 13.5 400 0 4000
+TH2F phodo_1y_neg_ped_vs_pad 'SHMS 1Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPed 13 0.5 13.5 400 0 4000
+TH2F phodo_2x_neg_ped_vs_pad 'SHMS 2X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPed 14 0.5 14.5 400 0 4000
+TH2F phodo_2y_neg_ped_vs_pad 'SHMS 2Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPed 21 0.5 21.5 400 0 4000
+
+TH2F phodo_1x_pos_pi_vs_pad 'SHMS 1X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F phodo_1y_pos_pi_vs_pad 'SHMS 1Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F phodo_2x_pos_pi_vs_pad 'SHMS 2X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPulseInt 14 0.5 14.5 4000 0 40000
+TH2F phodo_2y_pos_pi_vs_pad 'SHMS 2Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPulseInt 21 0.5 21.5 4000 0 40000
+
+TH2F phodo_1x_neg_pi_vs_pad 'SHMS 1X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F phodo_1y_neg_pi_vs_pad 'SHMS 1Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPulseInt 13 0.5 13.5 4000 0 40000
+TH2F phodo_2x_neg_pi_vs_pad 'SHMS 2X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPulseInt 14 0.5 14.5 4000 0 40000
+TH2F phodo_2y_neg_pi_vs_pad 'SHMS 2Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPulseInt 21 0.5 21.5 4000 0 40000
+
+TH2F phodo_1x_pos_pamp_vs_pad 'SHMS 1X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.1x.posAdcCounter  P.hod.1x.posAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F phodo_1y_pos_pamp_vs_pad 'SHMS 1Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.1y.posAdcCounter  P.hod.1y.posAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F phodo_2x_pos_pamp_vs_pad 'SHMS 2X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.2x.posAdcCounter  P.hod.2x.posAdcPulseAmp 14 0.5 14.5 410 0 4100
+TH2F phodo_2y_pos_pamp_vs_pad 'SHMS 2Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.2y.posAdcCounter  P.hod.2y.posAdcPulseAmp 21 0.5 21.5 410 0 4100
+
+TH2F phodo_1x_neg_pamp_vs_pad 'SHMS 1X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.1x.negAdcCounter  P.hod.1x.negAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F phodo_1y_neg_pamp_vs_pad 'SHMS 1Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.1y.negAdcCounter  P.hod.1y.negAdcPulseAmp 13 0.5 13.5 410 0 4100
+TH2F phodo_2x_neg_pamp_vs_pad 'SHMS 2X- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.2x.negAdcCounter  P.hod.2x.negAdcPulseAmp 14 0.5 14.5 410 0 4100
+TH2F phodo_2y_neg_pamp_vs_pad 'SHMS 2Y- Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' P.hod.2y.negAdcCounter  P.hod.2y.negAdcPulseAmp 21 0.5 21.5 410 0 4100
+
+TH2F phodo_1x_pos_tdc_time_vs_pad 'SHMS 1X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.1x.posTdcCounter  P.hod.1x.posTdcTime 13 0.5 13.5 200 -2000 0
+TH2F phodo_1y_pos_tdc_time_vs_pad 'SHMS 1Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.1y.posTdcCounter  P.hod.1y.posTdcTime 13 0.5 13.5 200 -2000 0
+TH2F phodo_2x_pos_tdc_time_vs_pad 'SHMS 2X+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.2x.posTdcCounter  P.hod.2x.posTdcTime 14 0.5 14.5 200 -2000 0
+TH2F phodo_2y_pos_tdc_time_vs_pad 'SHMS 2Y+ TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.2y.posTdcCounter  P.hod.2y.posTdcTime 21 0.5 21.5 200 -2000 0
+
+TH2F phodo_1x_neg_tdc_time_vs_pad 'SHMS 1X- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.1x.negTdcCounter  P.hod.1x.negTdcTime 13 0.5 13.5 200 -2000 0
+TH2F phodo_1y_neg_tdc_time_vs_pad 'SHMS 1Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.1y.negTdcCounter  P.hod.1y.negTdcTime 13 0.5 13.5 200 -2000 0
+TH2F phodo_2x_neg_tdc_time_vs_pad 'SHMS 2X- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.2x.negTdcCounter  P.hod.2x.negTdcTime 14 0.5 14.5 200 -2000 0
+TH2F phodo_2y_neg_tdc_time_vs_pad 'SHMS 2Y- TDC Time vs. Paddle Number; Paddle Number; TDC Time / 10 ADC Units' P.hod.2y.negTdcCounter  P.hod.2y.negTdcTime 21 0.5 21.5 200 -2000 0
\ No newline at end of file
diff --git a/DEF-files/SHMS/HODO/phodoana_cuts.def b/DEF-files/SHMS/HODO/phodoana_cuts.def
new file mode 100644
index 00000000..5add84a3
--- /dev/null
+++ b/DEF-files/SHMS/HODO/phodoana_cuts.def
@@ -0,0 +1,14 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
+
diff --git a/DEF-files/SHMS/NGCER/pngcerana.def b/DEF-files/SHMS/NGCER/pngcerana.def
new file mode 100644
index 00000000..d069b91a
--- /dev/null
+++ b/DEF-files/SHMS/NGCER/pngcerana.def
@@ -0,0 +1,15 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block P.ngcer.*
+block T.shms.*
+
+TH1F pngcer_occu 'SHMS Noble Gas Cherenkov Occupancy; Counter Number; Number of Entries' P.ngcer.adcCounter 4 0.5 4.5
+
+TH2F pngcer_rawped_vs_cntr 'SHMS Noble Gas Cherenkov Raw Pulse Pedestal vs. Counter Number; Counter Number; Raw Pulse Pedestal / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPedRaw 4 0.5 4.5 1000 0 10000
+TH2F pngcer_rawpi_vs_cntr 'SHMS Noble Gas Cherenkov Raw Pulse Integral vs. Counter Number; Counter Number; Raw Pulse Integral / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPulseIntRaw 4 0.5 4.5 4000 0 40000
+TH2F pngcer_rawamp_vs_cntr 'SHMS Noble Gas Cherenkov Raw Pulse Amplitude vs. Counter Number; Counter Number; Raw Pulse Amplitude / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPulseAmpRaw 4 0.5 4.5 410 0 4100
+TH2F pngcer_rawptime_vs_cntr 'SHMS Noble Gas Cherenkov Raw Pulse Time vs. Counter Number; Counter Number;  Raw Pulse Time / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPulseTimeRaw 4 0.5 4.5 1000 0 10000
+
+TH2F pngcer_ped_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Pedestal vs. Counter Number; Counter Number;  Pulse Pedestal / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPed 4 0.5 4.5 1000 0 10000
+TH2F pngcer_pi_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Integral vs. Counter Number; Counter Number;  Pulse Integral / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPulseInt 4 0.5 4.5 4000 0 40000
+TH2F pngcer_amp_vs_cntr 'SHMS Noble Gas Cherenkov Pulse Amplitude vs. Counter Number; Counter Number;  Pulse Amplitude / 10 ADC Units' P.ngcer.adcCounter P.ngcer.adcPulseAmp 4 0.5 4.5 410 0 4100
\ No newline at end of file
diff --git a/DEF-files/SHMS/NGCER/pngcerana_cuts.def b/DEF-files/SHMS/NGCER/pngcerana_cuts.def
new file mode 100644
index 00000000..5add84a3
--- /dev/null
+++ b/DEF-files/SHMS/NGCER/pngcerana_cuts.def
@@ -0,0 +1,14 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
+
diff --git a/DEF-files/SHMS/RASTER/shms_raster_simple.def b/DEF-files/SHMS/RASTER/shms_raster_simple.def
new file mode 100644
index 00000000..c8d3aff7
--- /dev/null
+++ b/DEF-files/SHMS/RASTER/shms_raster_simple.def
@@ -0,0 +1,20 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block T.shms.*
+# 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
+
diff --git a/DEF-files/SHMS/RASTER/shms_raster_simple_cuts.def b/DEF-files/SHMS/RASTER/shms_raster_simple_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/SHMS/RASTER/shms_raster_simple_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/DEF-files/SHMS/TRIG/ptrigana.def b/DEF-files/SHMS/TRIG/ptrigana.def
new file mode 100644
index 00000000..cfa66389
--- /dev/null
+++ b/DEF-files/SHMS/TRIG/ptrigana.def
@@ -0,0 +1,38 @@
+# See $ANALYZER/examples/output_example.def for examples
+#
+block T.shms.*
+
+TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1X_tdcTime 250 0 2500
+TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1Y_tdcTime 250 0 2500
+TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2X_tdcTime 250 0 2500
+TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2Y_tdcTime 250 0 2500
+
+TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p1T_tdcTime 250 0 2500
+TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.p2T_tdcTime 250 0 2500
+
+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 250 0 2500
+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 250 0 2500
+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 250 0 2500
+
+TH1F ptrig_hdc_ref1  'SHMS HDC Reference Time 1;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF1_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref2  'SHMS HDC Reference Time 2;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF2_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref3  'SHMS HDC Reference Time 3;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF3_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref4  'SHMS HDC Reference Time 4;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF4_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref5  'SHMS HDC Reference Time 5;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF5_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref6  'SHMS HDC Reference Time 6;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF6_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref7  'SHMS HDC Reference Time 7;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF7_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref8  'SHMS HDC Reference Time 8;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF8_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref9  'SHMS HDC Reference Time 9;  Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF9_tdcTime  1500 0 15000
+TH1F ptrig_hdc_ref10 'SHMS HDC Reference Time 10; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.shms.pDCREF10_tdcTime 1500 0 15000
+
+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
diff --git a/DEF-files/SHMS/TRIG/ptrigana_cuts.def b/DEF-files/SHMS/TRIG/ptrigana_cuts.def
new file mode 100644
index 00000000..3af34a5e
--- /dev/null
+++ b/DEF-files/SHMS/TRIG/ptrigana_cuts.def
@@ -0,0 +1,13 @@
+Block: RawDecode
+
+Pedestal_event 0
+RawDecode_master 1
+
+Block: Decode
+Decode_master 1
+
+Block: CoarseTracking
+CoarseTracking_master 1
+
+Block: CoarseReconstruct
+CourseReconstruct 0
diff --git a/MAPS/HMS/CRATE/db_crate1map.dat b/MAPS/HMS/CRATE/db_crate1map.dat
index 1716cb80..e7f21b55 100644
--- a/MAPS/HMS/CRATE/db_crate1map.dat
+++ b/MAPS/HMS/CRATE/db_crate1map.dat
@@ -16,4 +16,4 @@
   17     250     250
   18     250     250
   19     250     250
-  20     1190    1190
\ No newline at end of file
+  20     1190    1190
diff --git a/MAPS/HMS/DETEC/haero.map b/MAPS/HMS/DETEC/haero.map
index a3170886..9c877a40 100644
--- a/MAPS/HMS/DETEC/haero.map
+++ b/MAPS/HMS/DETEC/haero.map
@@ -24,4 +24,4 @@ SLOT=17
      4,      1,      5,      0!   hAER05+
      5,      1,      6,      0!   hAER06+
      6,      1,      7,      0!   hAER07+
-     7,      1,      8,      0!   hAER08+
\ No newline at end of file
+     7,      1,      8,      0!   hAER08+
diff --git a/MAPS/HMS/DETEC/hcal.map b/MAPS/HMS/DETEC/hcal.map
index 33d9b104..c79bed6a 100644
--- a/MAPS/HMS/DETEC/hcal.map
+++ b/MAPS/HMS/DETEC/hcal.map
@@ -36,7 +36,7 @@ SLOT=4
      8,      1,      12,     1!    hA12-
      9,      1,      13,     1!    hA13-
      10,     2,      1,      0!    hB01+
-     11,     2,      2,      0!    hB02+	
+     11,     2,      2,      0!    hB02+
      12,     2,      3,      0!    hB03+
      13,     2,      4,      0!    hB04+
      14,     2,      5,      0!    hB05+
@@ -78,7 +78,7 @@ SLOT=6
      14,     3,      11,     0!    hC11+
      15,     3,      12,     0!    hC12+
 SLOT=7
-! chan   plane    row      sig     
+! chan   plane    row      sig
      0,      3,      13,     0!    hC13+
      1,      4,      1,      0!    hD01+
      2,      4,      2,      0!    hD02+
@@ -92,4 +92,4 @@ SLOT=7
      10,     4,      10,     0!    hD10+
      11,     4,      11,     0!    hD11+
      12,     4,      12,     0!    hD12+
-     13,     4,      13,     0!    hD13+
\ No newline at end of file
+     13,     4,      13,     0!    hD13+
diff --git a/MAPS/HMS/DETEC/hcal_htrig.map b/MAPS/HMS/DETEC/hcal_htrig.map
new file mode 100644
index 00000000..3c34c7d2
--- /dev/null
+++ b/MAPS/HMS/DETEC/hcal_htrig.map
@@ -0,0 +1,145 @@
+! THMS_ID=10       ::  ADC,TDC
+! HCAL_ID=15       ::  ADC,TDC
+
+
+DETECTOR=10
+
+ROC=1
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=15
+
+ROC=1
+
+SLOT=3
+   0,   1,   1,   0  ! hA01+
+   1,   1,   2,   0  ! hA02+
+   2,   1,   3,   0  ! hA03+
+   3,   1,   4,   0  ! hA04+
+   4,   1,   5,   0  ! hA05+
+   5,   1,   6,   0  ! hA06+
+   6,   1,   7,   0  ! hA07+
+   7,   1,   8,   0  ! hA08+
+   8,   1,   9,   0  ! hA09+
+   9,   1,  10,   0  ! hA10+
+  10,   1,  11,   0  ! hA11+
+  11,   1,  12,   0  ! hA12+
+  12,   1,  13,   0  ! hA13+
+  13,   1,   1,   1  ! hA01-
+  14,   1,   2,   1  ! hA02-
+  15,   1,   3,   1  ! hA03-
+
+SLOT=4
+   0,   1,   4,   1  ! hA04-
+   1,   1,   5,   1  ! hA05-
+   2,   1,   6,   1  ! hA06-
+   3,   1,   7,   1  ! hA07-
+   4,   1,   8,   1  ! hA08-
+   5,   1,   9,   1  ! hA09-
+   6,   1,  10,   1  ! hA10-
+   7,   1,  11,   1  ! hA11-
+   8,   1,  12,   1  ! hA12-
+   9,   1,  13,   1  ! hA13-
+  10,   2,   1,   0  ! hB01+
+  11,   2,   2,   0  ! hB02+
+  12,   2,   3,   0  ! hB03+
+  13,   2,   4,   0  ! hB04+
+  14,   2,   5,   0  ! hB05+
+  15,   2,   6,   0  ! hB06+
+
+SLOT=5
+   0,   2,   7,   0  ! hB07+
+   1,   2,   8,   0  ! hB08+
+   2,   2,   9,   0  ! hB09+
+   3,   2,  10,   0  ! hB10+
+   4,   2,  11,   0  ! hB11+
+   5,   2,  12,   0  ! hB12+
+   6,   2,  13,   0  ! hB13+
+   7,   2,   1,   1  ! hB01-
+   8,   2,   2,   1  ! hB02-
+   9,   2,   3,   1  ! hB03-
+  10,   2,   4,   1  ! hB04-
+  11,   2,   5,   1  ! hB05-
+  12,   2,   6,   1  ! hB06-
+  13,   2,   7,   1  ! hB07-
+  14,   2,   8,   1  ! hB08-
+  15,   2,   9,   1  ! hB09-
+
+SLOT=6
+   0,   2,  10,   1  ! hB10-
+   1,   2,  11,   1  ! hB11-
+   2,   2,  12,   1  ! hB12-
+   3,   2,  13,   1  ! hB13-
+   4,   3,   1,   0  ! hC01+
+   5,   3,   2,   0  ! hC02+
+   6,   3,   3,   0  ! hC03+
+   7,   3,   4,   0  ! hC04+
+   8,   3,   5,   0  ! hC05+
+   9,   3,   6,   0  ! hC06+
+  10,   3,   7,   0  ! hC07+
+  11,   3,   8,   0  ! hC08+
+  12,   3,   9,   0  ! hC09+
+  13,   3,  10,   0  ! hC10+
+  14,   3,  11,   0  ! hC11+
+  15,   3,  12,   0  ! hC12+
+
+SLOT=7
+   0,   3,  13,   0  ! hC13+
+   1,   4,   1,   0  ! hD01+
+   2,   4,   2,   0  ! hD02+
+   3,   4,   3,   0  ! hD03+
+   4,   4,   4,   0  ! hD04+
+   5,   4,   5,   0  ! hD05+
+   6,   4,   6,   0  ! hD06+
+   7,   4,   7,   0  ! hD07+
+   8,   4,   8,   0  ! hD08+
+   9,   4,   9,   0  ! hD09+
+  10,   4,  10,   0  ! hD10+
+  11,   4,  11,   0  ! hD11+
+  12,   4,  12,   0  ! hD12+
+  13,   4,  13,   0  ! hD13+
diff --git a/MAPS/HMS/DETEC/hcer.map b/MAPS/HMS/DETEC/hcer.map
new file mode 100644
index 00000000..805bd365
--- /dev/null
+++ b/MAPS/HMS/DETEC/hcer.map
@@ -0,0 +1,12 @@
+!HMS:
+! HCER_ID= 14             (TDC),ADC
+
+ROC=1
+detector=14
+
+!F250 modules
+SLOT=7
+!  chan    plane   tube     sig
+    14,      1,      1,      0!    hCER01
+    15,      1,      2,      0!    hCER02
+
diff --git a/MAPS/HMS/DETEC/hcer_htrig.map b/MAPS/HMS/DETEC/hcer_htrig.map
new file mode 100644
index 00000000..f46b6ef6
--- /dev/null
+++ b/MAPS/HMS/DETEC/hcer_htrig.map
@@ -0,0 +1,61 @@
+! THMS_ID=10       ::  ADC,TDC
+! HCER_ID=14       ::  (TDC),ADC
+
+
+DETECTOR=10
+
+ROC=1
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=14
+
+ROC=1
+
+SLOT=7
+  14,   1,   1,   0  ! hCER01
+  15,   1,   2,   0  ! hCER02
diff --git a/MAPS/HMS/DETEC/hdc.map b/MAPS/HMS/DETEC/hdc.map
index 74b3017e..4311a238 100644
--- a/MAPS/HMS/DETEC/hdc.map
+++ b/MAPS/HMS/DETEC/hdc.map
@@ -1,1141 +1,1159 @@
-!HMS:
-! HDC_ID= 11               TDC
+! HDC_ID=11        ::  TDC
+
+
+DETECTOR=11  ! HMS chambers
 
 ROC=3
-detector=11 ! HMS chambers 
 
-! Caen 1190 VME Modules >> DC1
 SLOT=5
-! channel,plane,wire
-96,3,1 ! Plane U, wire 1
-97,3,2 ! Plane U, wire 2
-98,3,3 ! Plane U, wire 3
-99,3,4 ! Plane U, wire 4
-100,3,5 ! Plane U, wire 5
-101,3,6 ! Plane U, wire 6
-102,3,7 ! Plane U, wire 7
-103,3,8 ! Plane U, wire 8
-104,3,9 ! Plane U, wire 9
-105,3,10 ! Plane U, wire 10
-106,3,11 ! Plane U, wire 11
-107,3,12 ! Plane U, wire 12
-108,3,13 ! Plane U, wire 13
-109,3,14 ! Plane U, wire 14
-110,1,113 ! Plane X, wire 113 
-80,3,15 ! Plane U, wire 15
-81,3,16 ! Plane U, wire 16
-82,3,17 ! Plane U, wire 17
-83,3,18 ! Plane U, wire 18
-84,3,19 ! Plane U, wire 19
-85,3,20 ! Plane U, wire 20
-86,3,21 ! Plane U, wire 21
-87,3,22 ! Plane U, wire 22
-88,3,23 ! Plane U, wire 23
-89,3,24 ! Plane U, wire 24
-90,3,25 ! Plane U, wire 25
-91,3,26 ! Plane U, wire 26
-92,3,27 ! Plane U, wire 27
-93,3,28 ! Plane U, wire 28
-94,3,29 ! Plane U, wire 29
-64,3,30 ! Plane U, wire 30
-65,3,31 ! Plane U, wire 31
-66,3,32 ! Plane U, wire 32
-67,3,33 ! Plane U, wire 33
-68,3,34 ! Plane U, wire 34
-69,3,35 ! Plane U, wire 35
-70,3,36 ! Plane U, wire 36
-71,3,37 ! Plane U, wire 37
-72,3,38 ! Plane U, wire 38
-73,3,39 ! Plane U, wire 39
-74,3,40 ! Plane U, wire 40
-75,3,41 ! Plane U, wire 41
-76,3,42 ! Plane U, wire 42
-77,3,43 ! Plane U, wire 43
-78,3,44 ! Plane U, wire 44
-79,3,45 ! Plane U, wire 45
-48,3,46 ! Plane U, wire 46
-49,3,47 ! Plane U, wire 47
-50,3,48 ! Plane U, wire 48
-51,3,49 ! Plane U, wire 49
-52,3,50 ! Plane U, wire 50
-53,3,51 ! Plane U, wire 51
-54,3,52 ! Plane U, wire 52
-55,3,53 ! Plane U, wire 53
-56,3,54 ! Plane U, wire 54
-57,3,55 ! Plane U, wire 55
-58,3,56 ! Plane U, wire 56
-59,3,57 ! Plane U, wire 57
-60,3,58 ! Plane U, wire 58
-61,3,59 ! Plane U, wire 59
-62,3,60 ! Plane U, wire 60
-32,3,61 ! Plane U, wire 61
-33,3,62 ! Plane U, wire 62
-34,3,63 ! Plane U, wire 63
-35,3,64 ! Plane U, wire 64
-36,3,65 ! Plane U, wire 65
-37,3,66 ! Plane U, wire 66
-38,3,67 ! Plane U, wire 67
-39,3,68 ! Plane U, wire 68
-40,3,69 ! Plane U, wire 69
-41,3,70 ! Plane U, wire 70
-42,3,71 ! Plane U, wire 71
-43,3,72 ! Plane U, wire 72
-44,3,73 ! Plane U, wire 73
-45,3,74 ! Plane U, wire 74
-46,3,75 ! Plane U, wire 75
-47,3,76 ! Plane U, wire 76
-16,3,77 ! Plane U, wire 77
-17,3,78 ! Plane U, wire 78
-18,3,79 ! Plane U, wire 79
-19,3,80 ! Plane U, wire 80
-20,3,81 ! Plane U, wire 81
-21,3,82 ! Plane U, wire 82
-22,3,83 ! Plane U, wire 83
-23,3,84 ! Plane U, wire 84
-24,3,85 ! Plane U, wire 85
-25,3,86 ! Plane U, wire 86
-26,3,87 ! Plane U, wire 87
-27,3,88 ! Plane U, wire 88
-28,3,89 ! Plane U, wire 89
-29,3,90 ! Plane U, wire 90
-30,3,91 ! Plane U, wire 91
-0,3,92 ! Plane U, wire 92
-1,3,93 ! Plane U, wire 93
-2,3,94 ! Plane U, wire 94
-3,3,95 ! Plane U, wire 95
-4,3,96 ! Plane U, wire 96
-5,3,97 ! Plane U, wire 97
-6,3,98 ! Plane U, wire 98
-7,3,99 ! Plane U, wire 99
-8,3,100 ! Plane U, wire 100
-9,3,101 ! Plane U, wire 101
-10,3,102 ! Plane U, wire 102
-11,3,103 ! Plane U, wire 103
-12,3,104 ! Plane U, wire 104
-13,3,105 ! Plane U, wire 105
-14,3,106 ! Plane U, wire 106
-15,3,107 ! Plane U, wire 107
+REFINDEX=0
+ 111,1000,   0,   0
+  96,   3,   1  ! Plane U, wire 1
+  97,   3,   2  ! Plane U, wire 2
+  98,   3,   3  ! Plane U, wire 3
+  99,   3,   4  ! Plane U, wire 4
+ 100,   3,   5  ! Plane U, wire 5
+ 101,   3,   6  ! Plane U, wire 6
+ 102,   3,   7  ! Plane U, wire 7
+ 103,   3,   8  ! Plane U, wire 8
+ 104,   3,   9  ! Plane U, wire 9
+ 105,   3,  10  ! Plane U, wire 10
+ 106,   3,  11  ! Plane U, wire 11
+ 107,   3,  12  ! Plane U, wire 12
+ 108,   3,  13  ! Plane U, wire 13
+ 109,   3,  14  ! Plane U, wire 14
+ 110,   1, 113  ! Plane X, wire 113
+  80,   3,  15  ! Plane U, wire 15
+  81,   3,  16  ! Plane U, wire 16
+  82,   3,  17  ! Plane U, wire 17
+  83,   3,  18  ! Plane U, wire 18
+  84,   3,  19  ! Plane U, wire 19
+  85,   3,  20  ! Plane U, wire 20
+  86,   3,  21  ! Plane U, wire 21
+  87,   3,  22  ! Plane U, wire 22
+  88,   3,  23  ! Plane U, wire 23
+  89,   3,  24  ! Plane U, wire 24
+  90,   3,  25  ! Plane U, wire 25
+  91,   3,  26  ! Plane U, wire 26
+  92,   3,  27  ! Plane U, wire 27
+  93,   3,  28  ! Plane U, wire 28
+  94,   3,  29  ! Plane U, wire 29
+  64,   3,  30  ! Plane U, wire 30
+  65,   3,  31  ! Plane U, wire 31
+  66,   3,  32  ! Plane U, wire 32
+  67,   3,  33  ! Plane U, wire 33
+  68,   3,  34  ! Plane U, wire 34
+  69,   3,  35  ! Plane U, wire 35
+  70,   3,  36  ! Plane U, wire 36
+  71,   3,  37  ! Plane U, wire 37
+  72,   3,  38  ! Plane U, wire 38
+  73,   3,  39  ! Plane U, wire 39
+  74,   3,  40  ! Plane U, wire 40
+  75,   3,  41  ! Plane U, wire 41
+  76,   3,  42  ! Plane U, wire 42
+  77,   3,  43  ! Plane U, wire 43
+  78,   3,  44  ! Plane U, wire 44
+  79,   3,  45  ! Plane U, wire 45
+  48,   3,  46  ! Plane U, wire 46
+  49,   3,  47  ! Plane U, wire 47
+  50,   3,  48  ! Plane U, wire 48
+  51,   3,  49  ! Plane U, wire 49
+  52,   3,  50  ! Plane U, wire 50
+  53,   3,  51  ! Plane U, wire 51
+  54,   3,  52  ! Plane U, wire 52
+  55,   3,  53  ! Plane U, wire 53
+  56,   3,  54  ! Plane U, wire 54
+  57,   3,  55  ! Plane U, wire 55
+  58,   3,  56  ! Plane U, wire 56
+  59,   3,  57  ! Plane U, wire 57
+  60,   3,  58  ! Plane U, wire 58
+  61,   3,  59  ! Plane U, wire 59
+  62,   3,  60  ! Plane U, wire 60
+  32,   3,  61  ! Plane U, wire 61
+  33,   3,  62  ! Plane U, wire 62
+  34,   3,  63  ! Plane U, wire 63
+  35,   3,  64  ! Plane U, wire 64
+  36,   3,  65  ! Plane U, wire 65
+  37,   3,  66  ! Plane U, wire 66
+  38,   3,  67  ! Plane U, wire 67
+  39,   3,  68  ! Plane U, wire 68
+  40,   3,  69  ! Plane U, wire 69
+  41,   3,  70  ! Plane U, wire 70
+  42,   3,  71  ! Plane U, wire 71
+  43,   3,  72  ! Plane U, wire 72
+  44,   3,  73  ! Plane U, wire 73
+  45,   3,  74  ! Plane U, wire 74
+  46,   3,  75  ! Plane U, wire 75
+  47,   3,  76  ! Plane U, wire 76
+  16,   3,  77  ! Plane U, wire 77
+  17,   3,  78  ! Plane U, wire 78
+  18,   3,  79  ! Plane U, wire 79
+  19,   3,  80  ! Plane U, wire 80
+  20,   3,  81  ! Plane U, wire 81
+  21,   3,  82  ! Plane U, wire 82
+  22,   3,  83  ! Plane U, wire 83
+  23,   3,  84  ! Plane U, wire 84
+  24,   3,  85  ! Plane U, wire 85
+  25,   3,  86  ! Plane U, wire 86
+  26,   3,  87  ! Plane U, wire 87
+  27,   3,  88  ! Plane U, wire 88
+  28,   3,  89  ! Plane U, wire 89
+  29,   3,  90  ! Plane U, wire 90
+  30,   3,  91  ! Plane U, wire 91
+   0,   3,  92  ! Plane U, wire 92
+   1,   3,  93  ! Plane U, wire 93
+   2,   3,  94  ! Plane U, wire 94
+   3,   3,  95  ! Plane U, wire 95
+   4,   3,  96  ! Plane U, wire 96
+   5,   3,  97  ! Plane U, wire 97
+   6,   3,  98  ! Plane U, wire 98
+   7,   3,  99  ! Plane U, wire 99
+   8,   3, 100  ! Plane U, wire 100
+   9,   3, 101  ! Plane U, wire 101
+  10,   3, 102  ! Plane U, wire 102
+  11,   3, 103  ! Plane U, wire 103
+  12,   3, 104  ! Plane U, wire 104
+  13,   3, 105  ! Plane U, wire 105
+  14,   3, 106  ! Plane U, wire 106
+  15,   3, 107  ! Plane U, wire 107
+
 SLOT=7
-! channel,plane,wire
-96,4,1 ! Plane V, wire 1
-97,4,2 ! Plane V, wire 2
-98,4,3 ! Plane V, wire 3
-99,4,4 ! Plane V, wire 4
-100,4,5 ! Plane V, wire 5
-101,4,6 ! Plane V, wire 6
-102,4,7 ! Plane V, wire 7
-103,4,8 ! Plane V, wire 8
-104,4,9 ! Plane V, wire 9
-105,4,10 ! Plane V, wire 10
-106,4,11 ! Plane V, wire 11
-107,4,12 ! Plane V, wire 12
-108,4,13 ! Plane V, wire 13
-109,4,14 ! Plane V, wire 14
-110,6,113 ! Plane X', wire 113
-112,4,15 ! Plane V, wire 15
-113,4,16 ! Plane V, wire 16
-114,4,17 ! Plane V, wire 17
-115,4,18 ! Plane V, wire 18
-116,4,19 ! Plane V, wire 19
-117,4,20 ! Plane V, wire 20
-118,4,21 ! Plane V, wire 21
-119,4,22 ! Plane V, wire 22
-120,4,23 ! Plane V, wire 23
-121,4,24 ! Plane V, wire 24
-122,4,25 ! Plane V, wire 25
-123,4,26 ! Plane V, wire 26
-124,4,27 ! Plane V, wire 27
-125,4,28 ! Plane V, wire 28
-126,4,29 ! Plane V, wire 29
+REFINDEX=0
+  96,   4,   1  ! Plane V, wire 1
+  97,   4,   2  ! Plane V, wire 2
+  98,   4,   3  ! Plane V, wire 3
+  99,   4,   4  ! Plane V, wire 4
+ 100,   4,   5  ! Plane V, wire 5
+ 101,   4,   6  ! Plane V, wire 6
+ 102,   4,   7  ! Plane V, wire 7
+ 103,   4,   8  ! Plane V, wire 8
+ 104,   4,   9  ! Plane V, wire 9
+ 105,   4,  10  ! Plane V, wire 10
+ 106,   4,  11  ! Plane V, wire 11
+ 107,   4,  12  ! Plane V, wire 12
+ 108,   4,  13  ! Plane V, wire 13
+ 109,   4,  14  ! Plane V, wire 14
+ 110,   6, 113  ! Plane X', wire 113
+ 112,   4,  15  ! Plane V, wire 15
+ 113,   4,  16  ! Plane V, wire 16
+ 114,   4,  17  ! Plane V, wire 17
+ 115,   4,  18  ! Plane V, wire 18
+ 116,   4,  19  ! Plane V, wire 19
+ 117,   4,  20  ! Plane V, wire 20
+ 118,   4,  21  ! Plane V, wire 21
+ 119,   4,  22  ! Plane V, wire 22
+ 120,   4,  23  ! Plane V, wire 23
+ 121,   4,  24  ! Plane V, wire 24
+ 122,   4,  25  ! Plane V, wire 25
+ 123,   4,  26  ! Plane V, wire 26
+ 124,   4,  27  ! Plane V, wire 27
+ 125,   4,  28  ! Plane V, wire 28
+ 126,   4,  29  ! Plane V, wire 29
+
 SLOT=8
-! channel,plane,wire
-0,4,30 ! Plane V, wire 30
-1,4,31 ! Plane V, wire 31
-2,4,32 ! Plane V, wire 32
-3,4,33 ! Plane V, wire 33
-4,4,34 ! Plane V, wire 34
-5,4,35 ! Plane V, wire 35
-6,4,36 ! Plane V, wire 36
-7,4,37 ! Plane V, wire 37
-8,4,38 ! Plane V, wire 38
-9,4,39 ! Plane V, wire 39
-10,4,40 ! Plane V, wire 40
-11,4,41 ! Plane V, wire 41
-12,4,42 ! Plane V, wire 42
-13,4,43 ! Plane V, wire 43
-14,4,44 ! Plane V, wire 44
-15,4,45 ! Plane V, wire 45
-16,4,46 ! Plane V, wire 46
-17,4,47 ! Plane V, wire 47
-18,4,48 ! Plane V, wire 48
-19,4,49 ! Plane V, wire 49
-20,4,50 ! Plane V, wire 50
-21,4,51 ! Plane V, wire 51
-22,4,52 ! Plane V, wire 52
-23,4,53 ! Plane V, wire 53
-24,4,54 ! Plane V, wire 54
-25,4,55 ! Plane V, wire 55
-26,4,56 ! Plane V, wire 56
-27,4,57 ! Plane V, wire 57
-28,4,58 ! Plane V, wire 58
-29,4,59 ! Plane V, wire 59
-30,4,60 ! Plane V, wire 60
-32,4,61 ! Plane V, wire 61
-33,4,62 ! Plane V, wire 62
-34,4,63 ! Plane V, wire 63
-35,4,64 ! Plane V, wire 64
-36,4,65 ! Plane V, wire 65
-37,4,66 ! Plane V, wire 66
-38,4,67 ! Plane V, wire 67
-39,4,68 ! Plane V, wire 68
-40,4,69 ! Plane V, wire 69
-41,4,70 ! Plane V, wire 70
-42,4,71 ! Plane V, wire 71
-43,4,72 ! Plane V, wire 72
-44,4,73 ! Plane V, wire 73
-45,4,74 ! Plane V, wire 74
-46,4,75 ! Plane V, wire 75
-47,4,76 ! Plane V, wire 76
-48,4,77 ! Plane V, wire 77
-49,4,78 ! Plane V, wire 78
-50,4,79 ! Plane V, wire 79
-51,4,80 ! Plane V, wire 80
-52,4,81 ! Plane V, wire 81
-53,4,82 ! Plane V, wire 82
-54,4,83 ! Plane V, wire 83
-55,4,84 ! Plane V, wire 84
-56,4,85 ! Plane V, wire 85
-57,4,86 ! Plane V, wire 86
-58,4,87 ! Plane V, wire 87
-59,4,88 ! Plane V, wire 88
-60,4,89 ! Plane V, wire 89
-61,4,90 ! Plane V, wire 90
-62,4,91 ! Plane V, wire 91
+REFINDEX=0
+ 127,1000,   0,   1
+   0,   4,  30  ! Plane V, wire 30
+   1,   4,  31  ! Plane V, wire 31
+   2,   4,  32  ! Plane V, wire 32
+   3,   4,  33  ! Plane V, wire 33
+   4,   4,  34  ! Plane V, wire 34
+   5,   4,  35  ! Plane V, wire 35
+   6,   4,  36  ! Plane V, wire 36
+   7,   4,  37  ! Plane V, wire 37
+   8,   4,  38  ! Plane V, wire 38
+   9,   4,  39  ! Plane V, wire 39
+  10,   4,  40  ! Plane V, wire 40
+  11,   4,  41  ! Plane V, wire 41
+  12,   4,  42  ! Plane V, wire 42
+  13,   4,  43  ! Plane V, wire 43
+  14,   4,  44  ! Plane V, wire 44
+  15,   4,  45  ! Plane V, wire 45
+  16,   4,  46  ! Plane V, wire 46
+  17,   4,  47  ! Plane V, wire 47
+  18,   4,  48  ! Plane V, wire 48
+  19,   4,  49  ! Plane V, wire 49
+  20,   4,  50  ! Plane V, wire 50
+  21,   4,  51  ! Plane V, wire 51
+  22,   4,  52  ! Plane V, wire 52
+  23,   4,  53  ! Plane V, wire 53
+  24,   4,  54  ! Plane V, wire 54
+  25,   4,  55  ! Plane V, wire 55
+  26,   4,  56  ! Plane V, wire 56
+  27,   4,  57  ! Plane V, wire 57
+  28,   4,  58  ! Plane V, wire 58
+  29,   4,  59  ! Plane V, wire 59
+  30,   4,  60  ! Plane V, wire 60
+  32,   4,  61  ! Plane V, wire 61
+  33,   4,  62  ! Plane V, wire 62
+  34,   4,  63  ! Plane V, wire 63
+  35,   4,  64  ! Plane V, wire 64
+  36,   4,  65  ! Plane V, wire 65
+  37,   4,  66  ! Plane V, wire 66
+  38,   4,  67  ! Plane V, wire 67
+  39,   4,  68  ! Plane V, wire 68
+  40,   4,  69  ! Plane V, wire 69
+  41,   4,  70  ! Plane V, wire 70
+  42,   4,  71  ! Plane V, wire 71
+  43,   4,  72  ! Plane V, wire 72
+  44,   4,  73  ! Plane V, wire 73
+  45,   4,  74  ! Plane V, wire 74
+  46,   4,  75  ! Plane V, wire 75
+  47,   4,  76  ! Plane V, wire 76
+  48,   4,  77  ! Plane V, wire 77
+  49,   4,  78  ! Plane V, wire 78
+  50,   4,  79  ! Plane V, wire 79
+  51,   4,  80  ! Plane V, wire 80
+  52,   4,  81  ! Plane V, wire 81
+  53,   4,  82  ! Plane V, wire 82
+  54,   4,  83  ! Plane V, wire 83
+  55,   4,  84  ! Plane V, wire 84
+  56,   4,  85  ! Plane V, wire 85
+  57,   4,  86  ! Plane V, wire 86
+  58,   4,  87  ! Plane V, wire 87
+  59,   4,  88  ! Plane V, wire 88
+  60,   4,  89  ! Plane V, wire 89
+  61,   4,  90  ! Plane V, wire 90
+  62,   4,  91  ! Plane V, wire 91
+
 SLOT=4
-! channel,plane,wire
-96,4,92 ! Plane V, wire 92
-97,4,93 ! Plane V, wire 93
-98,4,94 ! Plane V, wire 94
-99,4,95 ! Plane V, wire 95
-100,4,96 ! Plane V, wire 96
-101,4,97 ! Plane V, wire 97
-102,4,98 ! Plane V, wire 98
-103,4,99 ! Plane V, wire 99
-104,4,100 ! Plane V, wire 100
-105,4,101 ! Plane V, wire 101
-106,4,102 ! Plane V, wire 102
-107,4,103 ! Plane V, wire 103
-108,4,104 ! Plane V, wire 104
-109,4,105 ! Plane V, wire 105
-110,4,106 ! Plane V, wire 106
-111,4,107 ! Plane V, wire 107
-80,1,1 ! Plane X, wire 1
-81,1,2 ! Plane X, wire 2
-82,1,3 ! Plane X, wire 3
-83,1,4 ! Plane X, wire 4
-84,1,5 ! Plane X, wire 5
-85,1,6 ! Plane X, wire 6
-86,1,7 ! Plane X, wire 7
-87,1,8 ! Plane X, wire 8
-88,1,9 ! Plane X, wire 9
-89,1,10 ! Plane X, wire 10
-90,1,11 ! Plane X, wire 11
-91,1,12 ! Plane X, wire 12
-92,1,13 ! Plane X, wire 13
-93,1,14 ! Plane X, wire 14
-94,1,15 ! Plane X, wire 15
-95,1,16 ! Plane X, wire 16
-64,1,17 ! Plane X, wire 17
-65,1,18 ! Plane X, wire 18
-66,1,19 ! Plane X, wire 19
-67,1,20 ! Plane X, wire 20
-68,1,21 ! Plane X, wire 21
-69,1,22 ! Plane X, wire 22
-70,1,23 ! Plane X, wire 23
-71,1,24 ! Plane X, wire 24
-72,1,25 ! Plane X, wire 25
-73,1,26 ! Plane X, wire 26
-74,1,27 ! Plane X, wire 27
-75,1,28 ! Plane X, wire 28
-76,1,29 ! Plane X, wire 29
-77,1,30 ! Plane X, wire 30
-78,1,31 ! Plane X, wire 31
-79,1,32 ! Plane X, wire 32
-48,1,33 ! Plane X, wire 33
-49,1,34 ! Plane X, wire 34
-50,1,35 ! Plane X, wire 35
-51,1,36 ! Plane X, wire 36
-52,1,37 ! Plane X, wire 37
-53,1,38 ! Plane X, wire 38
-54,1,39 ! Plane X, wire 39
-55,1,40 ! Plane X, wire 40
-56,1,41 ! Plane X, wire 41
-57,1,42 ! Plane X, wire 42
-58,1,43 ! Plane X, wire 43
-59,1,44 ! Plane X, wire 44
-60,1,45 ! Plane X, wire 45
-61,1,46 ! Plane X, wire 46
-62,1,47 ! Plane X, wire 47
-63,1,48 ! Plane X, wire 48
-32,1,49 ! Plane X, wire 49
-33,1,50 ! Plane X, wire 50
-34,1,51 ! Plane X, wire 51
-35,1,52 ! Plane X, wire 52
-36,1,53 ! Plane X, wire 53
-37,1,54 ! Plane X, wire 54
-38,1,55 ! Plane X, wire 55
-39,1,56 ! Plane X, wire 56
-40,1,57 ! Plane X, wire 57
-41,1,58 ! Plane X, wire 58
-42,1,59 ! Plane X, wire 59
-43,1,60 ! Plane X, wire 60
-44,1,61 ! Plane X, wire 61
-45,1,62 ! Plane X, wire 62
-46,1,63 ! Plane X, wire 63
-47,1,64 ! Plane X, wire 64
-16,1,65 ! Plane X, wire 65
-17,1,66 ! Plane X, wire 66
-18,1,67 ! Plane X, wire 67
-19,1,68 ! Plane X, wire 68
-20,1,69 ! Plane X, wire 69
-21,1,70 ! Plane X, wire 70
-22,1,71 ! Plane X, wire 71
-23,1,72 ! Plane X, wire 72
-24,1,73 ! Plane X, wire 73
-25,1,74 ! Plane X, wire 74
-26,1,75 ! Plane X, wire 75
-27,1,76 ! Plane X, wire 76
-28,1,77 ! Plane X, wire 77
-29,1,78 ! Plane X, wire 78
-30,1,79 ! Plane X, wire 79
-31,1,80 ! Plane X, wire 80
-0,1,81 ! Plane X, wire 81
-1,1,82 ! Plane X, wire 82
-2,1,83 ! Plane X, wire 83
-3,1,84 ! Plane X, wire 84
-4,1,85 ! Plane X, wire 85
-5,1,86 ! Plane X, wire 86
-6,1,87 ! Plane X, wire 87
-7,1,88 ! Plane X, wire 88
-8,1,89 ! Plane X, wire 89
-9,1,90 ! Plane X, wire 90
-10,1,91 ! Plane X, wire 91
-11,1,92 ! Plane X, wire 92
-12,1,93 ! Plane X, wire 93
-13,1,94 ! Plane X, wire 94
-14,1,95 ! Plane X, wire 95
-15,1,96 ! Plane X, wire 96
+REFINDEX=0
+  96,   4,  92  ! Plane V, wire 92
+  97,   4,  93  ! Plane V, wire 93
+  98,   4,  94  ! Plane V, wire 94
+  99,   4,  95  ! Plane V, wire 95
+ 100,   4,  96  ! Plane V, wire 96
+ 101,   4,  97  ! Plane V, wire 97
+ 102,   4,  98  ! Plane V, wire 98
+ 103,   4,  99  ! Plane V, wire 99
+ 104,   4, 100  ! Plane V, wire 100
+ 105,   4, 101  ! Plane V, wire 101
+ 106,   4, 102  ! Plane V, wire 102
+ 107,   4, 103  ! Plane V, wire 103
+ 108,   4, 104  ! Plane V, wire 104
+ 109,   4, 105  ! Plane V, wire 105
+ 110,   4, 106  ! Plane V, wire 106
+ 111,   4, 107  ! Plane V, wire 107
+  80,   1,   1  ! Plane X, wire 1
+  81,   1,   2  ! Plane X, wire 2
+  82,   1,   3  ! Plane X, wire 3
+  83,   1,   4  ! Plane X, wire 4
+  84,   1,   5  ! Plane X, wire 5
+  85,   1,   6  ! Plane X, wire 6
+  86,   1,   7  ! Plane X, wire 7
+  87,   1,   8  ! Plane X, wire 8
+  88,   1,   9  ! Plane X, wire 9
+  89,   1,  10  ! Plane X, wire 10
+  90,   1,  11  ! Plane X, wire 11
+  91,   1,  12  ! Plane X, wire 12
+  92,   1,  13  ! Plane X, wire 13
+  93,   1,  14  ! Plane X, wire 14
+  94,   1,  15  ! Plane X, wire 15
+  95,   1,  16  ! Plane X, wire 16
+  64,   1,  17  ! Plane X, wire 17
+  65,   1,  18  ! Plane X, wire 18
+  66,   1,  19  ! Plane X, wire 19
+  67,   1,  20  ! Plane X, wire 20
+  68,   1,  21  ! Plane X, wire 21
+  69,   1,  22  ! Plane X, wire 22
+  70,   1,  23  ! Plane X, wire 23
+  71,   1,  24  ! Plane X, wire 24
+  72,   1,  25  ! Plane X, wire 25
+  73,   1,  26  ! Plane X, wire 26
+  74,   1,  27  ! Plane X, wire 27
+  75,   1,  28  ! Plane X, wire 28
+  76,   1,  29  ! Plane X, wire 29
+  77,   1,  30  ! Plane X, wire 30
+  78,   1,  31  ! Plane X, wire 31
+  79,   1,  32  ! Plane X, wire 32
+  48,   1,  33  ! Plane X, wire 33
+  49,   1,  34  ! Plane X, wire 34
+  50,   1,  35  ! Plane X, wire 35
+  51,   1,  36  ! Plane X, wire 36
+  52,   1,  37  ! Plane X, wire 37
+  53,   1,  38  ! Plane X, wire 38
+  54,   1,  39  ! Plane X, wire 39
+  55,   1,  40  ! Plane X, wire 40
+  56,   1,  41  ! Plane X, wire 41
+  57,   1,  42  ! Plane X, wire 42
+  58,   1,  43  ! Plane X, wire 43
+  59,   1,  44  ! Plane X, wire 44
+  60,   1,  45  ! Plane X, wire 45
+  61,   1,  46  ! Plane X, wire 46
+  62,   1,  47  ! Plane X, wire 47
+  63,   1,  48  ! Plane X, wire 48
+  32,   1,  49  ! Plane X, wire 49
+  33,   1,  50  ! Plane X, wire 50
+  34,   1,  51  ! Plane X, wire 51
+  35,   1,  52  ! Plane X, wire 52
+  36,   1,  53  ! Plane X, wire 53
+  37,   1,  54  ! Plane X, wire 54
+  38,   1,  55  ! Plane X, wire 55
+  39,   1,  56  ! Plane X, wire 56
+  40,   1,  57  ! Plane X, wire 57
+  41,   1,  58  ! Plane X, wire 58
+  42,   1,  59  ! Plane X, wire 59
+  43,   1,  60  ! Plane X, wire 60
+  44,   1,  61  ! Plane X, wire 61
+  45,   1,  62  ! Plane X, wire 62
+  46,   1,  63  ! Plane X, wire 63
+  47,   1,  64  ! Plane X, wire 64
+  16,   1,  65  ! Plane X, wire 65
+  17,   1,  66  ! Plane X, wire 66
+  18,   1,  67  ! Plane X, wire 67
+  19,   1,  68  ! Plane X, wire 68
+  20,   1,  69  ! Plane X, wire 69
+  21,   1,  70  ! Plane X, wire 70
+  22,   1,  71  ! Plane X, wire 71
+  23,   1,  72  ! Plane X, wire 72
+  24,   1,  73  ! Plane X, wire 73
+  25,   1,  74  ! Plane X, wire 74
+  26,   1,  75  ! Plane X, wire 75
+  27,   1,  76  ! Plane X, wire 76
+  28,   1,  77  ! Plane X, wire 77
+  29,   1,  78  ! Plane X, wire 78
+  30,   1,  79  ! Plane X, wire 79
+  31,   1,  80  ! Plane X, wire 80
+   0,   1,  81  ! Plane X, wire 81
+   1,   1,  82  ! Plane X, wire 82
+   2,   1,  83  ! Plane X, wire 83
+   3,   1,  84  ! Plane X, wire 84
+   4,   1,  85  ! Plane X, wire 85
+   5,   1,  86  ! Plane X, wire 86
+   6,   1,  87  ! Plane X, wire 87
+   7,   1,  88  ! Plane X, wire 88
+   8,   1,  89  ! Plane X, wire 89
+   9,   1,  90  ! Plane X, wire 90
+  10,   1,  91  ! Plane X, wire 91
+  11,   1,  92  ! Plane X, wire 92
+  12,   1,  93  ! Plane X, wire 93
+  13,   1,  94  ! Plane X, wire 94
+  14,   1,  95  ! Plane X, wire 95
+  15,   1,  96  ! Plane X, wire 96
+
 SLOT=7
-! channel,plane,wire
-80,1,97 ! Plane X, wire 97
-81,1,98 ! Plane X, wire 98
-82,1,99 ! Plane X, wire 99
-83,1,100 ! Plane X, wire 100
-84,1,101 ! Plane X, wire 101
-85,1,102 ! Plane X, wire 102
-86,1,103 ! Plane X, wire 103
-87,1,104 ! Plane X, wire 104
-88,1,105 ! Plane X, wire 105
-89,1,106 ! Plane X, wire 106
-90,1,107 ! Plane X, wire 107
-91,1,108 ! Plane X, wire 108
-92,1,109 ! Plane X, wire 109
-93,1,110 ! Plane X, wire 110
-94,1,111 ! Plane X, wire 111
-95,1,112 ! Plane X, wire 112
+REFINDEX=0
+  80,   1,  97  ! Plane X, wire 97
+  81,   1,  98  ! Plane X, wire 98
+  82,   1,  99  ! Plane X, wire 99
+  83,   1, 100  ! Plane X, wire 100
+  84,   1, 101  ! Plane X, wire 101
+  85,   1, 102  ! Plane X, wire 102
+  86,   1, 103  ! Plane X, wire 103
+  87,   1, 104  ! Plane X, wire 104
+  88,   1, 105  ! Plane X, wire 105
+  89,   1, 106  ! Plane X, wire 106
+  90,   1, 107  ! Plane X, wire 107
+  91,   1, 108  ! Plane X, wire 108
+  92,   1, 109  ! Plane X, wire 109
+  93,   1, 110  ! Plane X, wire 110
+  94,   1, 111  ! Plane X, wire 111
+  95,   1, 112  ! Plane X, wire 112
+
 SLOT=4
-! channel,plane,wire
-112,6,1 ! Plane X', wire 1
-113,6,2 ! Plane X', wire 2
-114,6,3 ! Plane X', wire 3
-115,6,4 ! Plane X', wire 4
-116,6,5 ! Plane X', wire 5
-117,6,6 ! Plane X', wire 6
-118,6,7 ! Plane X', wire 7
-119,6,8 ! Plane X', wire 8
-120,6,9 ! Plane X', wire 9
-121,6,10 ! Plane X', wire 10
-122,6,11 ! Plane X', wire 11
-123,6,12 ! Plane X', wire 12
-124,6,13 ! Plane X', wire 13
-125,6,14 ! Plane X', wire 14
-126,6,15 ! Plane X', wire 15
-127,6,16 ! Plane X', wire 16
+REFINDEX=0
+ 112,   6,   1  ! Plane X', wire 1
+ 113,   6,   2  ! Plane X', wire 2
+ 114,   6,   3  ! Plane X', wire 3
+ 115,   6,   4  ! Plane X', wire 4
+ 116,   6,   5  ! Plane X', wire 5
+ 117,   6,   6  ! Plane X', wire 6
+ 118,   6,   7  ! Plane X', wire 7
+ 119,   6,   8  ! Plane X', wire 8
+ 120,   6,   9  ! Plane X', wire 9
+ 121,   6,  10  ! Plane X', wire 10
+ 122,   6,  11  ! Plane X', wire 11
+ 123,   6,  12  ! Plane X', wire 12
+ 124,   6,  13  ! Plane X', wire 13
+ 125,   6,  14  ! Plane X', wire 14
+ 126,   6,  15  ! Plane X', wire 15
+ 127,   6,  16  ! Plane X', wire 16
+
 SLOT=5
-! channel,plane,wire
-112,6,17 ! Plane X', wire 17
-113,6,18 ! Plane X', wire 18
-114,6,19 ! Plane X', wire 19
-115,6,20 ! Plane X', wire 20
-116,6,21 ! Plane X', wire 21
-117,6,22 ! Plane X', wire 22
-118,6,23 ! Plane X', wire 23
-119,6,24 ! Plane X', wire 24
-120,6,25 ! Plane X', wire 25
-121,6,26 ! Plane X', wire 26
-122,6,27 ! Plane X', wire 27
-123,6,28 ! Plane X', wire 28
-124,6,29 ! Plane X', wire 29
-125,6,30 ! Plane X', wire 30
-126,6,31 ! Plane X', wire 31
-127,6,32 ! Plane X', wire 32
+REFINDEX=0
+ 112,   6,  17  ! Plane X', wire 17
+ 113,   6,  18  ! Plane X', wire 18
+ 114,   6,  19  ! Plane X', wire 19
+ 115,   6,  20  ! Plane X', wire 20
+ 116,   6,  21  ! Plane X', wire 21
+ 117,   6,  22  ! Plane X', wire 22
+ 118,   6,  23  ! Plane X', wire 23
+ 119,   6,  24  ! Plane X', wire 24
+ 120,   6,  25  ! Plane X', wire 25
+ 121,   6,  26  ! Plane X', wire 26
+ 122,   6,  27  ! Plane X', wire 27
+ 123,   6,  28  ! Plane X', wire 28
+ 124,   6,  29  ! Plane X', wire 29
+ 125,   6,  30  ! Plane X', wire 30
+ 126,   6,  31  ! Plane X', wire 31
+ 127,   6,  32  ! Plane X', wire 32
+
 SLOT=7
-! channel,plane,wire
-0,6,33 ! Plane X', wire 33
-1,6,34 ! Plane X', wire 34
-2,6,35 ! Plane X', wire 35
-3,6,36 ! Plane X', wire 36
-4,6,37 ! Plane X', wire 37
-5,6,38 ! Plane X', wire 38
-6,6,39 ! Plane X', wire 39
-7,6,40 ! Plane X', wire 40
-8,6,41 ! Plane X', wire 41
-9,6,42 ! Plane X', wire 42
-10,6,43 ! Plane X', wire 43
-11,6,44 ! Plane X', wire 44
-12,6,45 ! Plane X', wire 45
-13,6,46 ! Plane X', wire 46
-14,6,47 ! Plane X', wire 47
-15,6,48 ! Plane X', wire 48
-16,6,49 ! Plane X', wire 49
-17,6,50 ! Plane X', wire 50
-18,6,51 ! Plane X', wire 51
-19,6,52 ! Plane X', wire 52
-20,6,53 ! Plane X', wire 53
-21,6,54 ! Plane X', wire 54
-22,6,55 ! Plane X', wire 55
-23,6,56 ! Plane X', wire 56
-24,6,57 ! Plane X', wire 57
-25,6,58 ! Plane X', wire 58
-26,6,59 ! Plane X', wire 59
-27,6,60 ! Plane X', wire 60
-28,6,61 ! Plane X', wire 61
-29,6,62 ! Plane X', wire 62
-30,6,63 ! Plane X', wire 63
-31,6,64 ! Plane X', wire 64
-32,6,65 ! Plane X', wire 65
-33,6,66 ! Plane X', wire 66
-34,6,67 ! Plane X', wire 67
-35,6,68 ! Plane X', wire 68
-36,6,69 ! Plane X', wire 69
-37,6,70 ! Plane X', wire 70
-38,6,71 ! Plane X', wire 71
-39,6,72 ! Plane X', wire 72
-40,6,73 ! Plane X', wire 73
-41,6,74 ! Plane X', wire 74
-42,6,75 ! Plane X', wire 75
-43,6,76 ! Plane X', wire 76
-44,6,77 ! Plane X', wire 77
-45,6,78 ! Plane X', wire 78
-46,6,79 ! Plane X', wire 79
-47,6,80 ! Plane X', wire 80
-48,6,81 ! Plane X', wire 81
-49,6,82 ! Plane X', wire 82
-50,6,83 ! Plane X', wire 83
-51,6,84 ! Plane X', wire 84
-52,6,85 ! Plane X', wire 85
-53,6,86 ! Plane X', wire 86
-54,6,87 ! Plane X', wire 87
-55,6,88 ! Plane X', wire 88
-56,6,89 ! Plane X', wire 89
-57,6,90 ! Plane X', wire 90
-58,6,91 ! Plane X', wire 91
-59,6,92 ! Plane X', wire 92
-60,6,93 ! Plane X', wire 93
-61,6,94 ! Plane X', wire 94
-62,6,95 ! Plane X', wire 95
-63,6,96 ! Plane X', wire 96
-64,6,97 ! Plane X', wire 97
-65,6,98 ! Plane X', wire 98
-66,6,99 ! Plane X', wire 99
-67,6,100 ! Plane X', wire 100
-68,6,101 ! Plane X', wire 101
-69,6,102 ! Plane X', wire 102
-70,6,103 ! Plane X', wire 103
-71,6,104 ! Plane X', wire 104
-72,6,105 ! Plane X', wire 105
-73,6,106 ! Plane X', wire 106
-74,6,107 ! Plane X', wire 107
-75,6,108 ! Plane X', wire 108
-76,6,109 ! Plane X', wire 109
-77,6,110 ! Plane X', wire 110
-78,6,111 ! Plane X', wire 111
-79,6,112 ! Plane X', wire 112
+REFINDEX=0
+   0,   6,  33  ! Plane X', wire 33
+   1,   6,  34  ! Plane X', wire 34
+   2,   6,  35  ! Plane X', wire 35
+   3,   6,  36  ! Plane X', wire 36
+   4,   6,  37  ! Plane X', wire 37
+   5,   6,  38  ! Plane X', wire 38
+   6,   6,  39  ! Plane X', wire 39
+   7,   6,  40  ! Plane X', wire 40
+   8,   6,  41  ! Plane X', wire 41
+   9,   6,  42  ! Plane X', wire 42
+  10,   6,  43  ! Plane X', wire 43
+  11,   6,  44  ! Plane X', wire 44
+  12,   6,  45  ! Plane X', wire 45
+  13,   6,  46  ! Plane X', wire 46
+  14,   6,  47  ! Plane X', wire 47
+  15,   6,  48  ! Plane X', wire 48
+  16,   6,  49  ! Plane X', wire 49
+  17,   6,  50  ! Plane X', wire 50
+  18,   6,  51  ! Plane X', wire 51
+  19,   6,  52  ! Plane X', wire 52
+  20,   6,  53  ! Plane X', wire 53
+  21,   6,  54  ! Plane X', wire 54
+  22,   6,  55  ! Plane X', wire 55
+  23,   6,  56  ! Plane X', wire 56
+  24,   6,  57  ! Plane X', wire 57
+  25,   6,  58  ! Plane X', wire 58
+  26,   6,  59  ! Plane X', wire 59
+  27,   6,  60  ! Plane X', wire 60
+  28,   6,  61  ! Plane X', wire 61
+  29,   6,  62  ! Plane X', wire 62
+  30,   6,  63  ! Plane X', wire 63
+  31,   6,  64  ! Plane X', wire 64
+  32,   6,  65  ! Plane X', wire 65
+  33,   6,  66  ! Plane X', wire 66
+  34,   6,  67  ! Plane X', wire 67
+  35,   6,  68  ! Plane X', wire 68
+  36,   6,  69  ! Plane X', wire 69
+  37,   6,  70  ! Plane X', wire 70
+  38,   6,  71  ! Plane X', wire 71
+  39,   6,  72  ! Plane X', wire 72
+  40,   6,  73  ! Plane X', wire 73
+  41,   6,  74  ! Plane X', wire 74
+  42,   6,  75  ! Plane X', wire 75
+  43,   6,  76  ! Plane X', wire 76
+  44,   6,  77  ! Plane X', wire 77
+  45,   6,  78  ! Plane X', wire 78
+  46,   6,  79  ! Plane X', wire 79
+  47,   6,  80  ! Plane X', wire 80
+  48,   6,  81  ! Plane X', wire 81
+  49,   6,  82  ! Plane X', wire 82
+  50,   6,  83  ! Plane X', wire 83
+  51,   6,  84  ! Plane X', wire 84
+  52,   6,  85  ! Plane X', wire 85
+  53,   6,  86  ! Plane X', wire 86
+  54,   6,  87  ! Plane X', wire 87
+  55,   6,  88  ! Plane X', wire 88
+  56,   6,  89  ! Plane X', wire 89
+  57,   6,  90  ! Plane X', wire 90
+  58,   6,  91  ! Plane X', wire 91
+  59,   6,  92  ! Plane X', wire 92
+  60,   6,  93  ! Plane X', wire 93
+  61,   6,  94  ! Plane X', wire 94
+  62,   6,  95  ! Plane X', wire 95
+  63,   6,  96  ! Plane X', wire 96
+  64,   6,  97  ! Plane X', wire 97
+  65,   6,  98  ! Plane X', wire 98
+  66,   6,  99  ! Plane X', wire 99
+  67,   6, 100  ! Plane X', wire 100
+  68,   6, 101  ! Plane X', wire 101
+  69,   6, 102  ! Plane X', wire 102
+  70,   6, 103  ! Plane X', wire 103
+  71,   6, 104  ! Plane X', wire 104
+  72,   6, 105  ! Plane X', wire 105
+  73,   6, 106  ! Plane X', wire 106
+  74,   6, 107  ! Plane X', wire 107
+  75,   6, 108  ! Plane X', wire 108
+  76,   6, 109  ! Plane X', wire 109
+  77,   6, 110  ! Plane X', wire 110
+  78,   6, 111  ! Plane X', wire 111
+  79,   6, 112  ! Plane X', wire 112
+
 SLOT=8
-! channel,plane,wire
-64,2,1 ! Plane Y, wire 1
-65,2,2 ! Plane Y, wire 2
-66,2,3 ! Plane Y, wire 3
-67,2,4 ! Plane Y, wire 4
-68,2,5 ! Plane Y, wire 5
-69,2,6 ! Plane Y, wire 6
-70,2,7 ! Plane Y, wire 7
-71,2,8 ! Plane Y, wire 8
-72,2,9 ! Plane Y, wire 9
-73,2,10 ! Plane Y, wire 10
-74,2,11 ! Plane Y, wire 11
-75,2,12 ! Plane Y, wire 12
-76,2,13 ! Plane Y, wire 13
-80,2,14 ! Plane Y, wire 14
-81,2,15 ! Plane Y, wire 15
-82,2,16 ! Plane Y, wire 16
-83,2,17 ! Plane Y, wire 17
-84,2,18 ! Plane Y, wire 18
-85,2,19 ! Plane Y, wire 19
-86,2,20 ! Plane Y, wire 20
-87,2,21 ! Plane Y, wire 21
-88,2,22 ! Plane Y, wire 22
-89,2,23 ! Plane Y, wire 23
-90,2,24 ! Plane Y, wire 24
-91,2,25 ! Plane Y, wire 25
-92,2,26 ! Plane Y, wire 26
-96,2,27 ! Plane Y, wire 27
-97,2,28 ! Plane Y, wire 28
-98,2,29 ! Plane Y, wire 29
-99,2,30 ! Plane Y, wire 30
-100,2,31 ! Plane Y, wire 31
-101,2,32 ! Plane Y, wire 32
-102,2,33 ! Plane Y, wire 33
-103,2,34 ! Plane Y, wire 34
-104,2,35 ! Plane Y, wire 35
-105,2,36 ! Plane Y, wire 36
-106,2,37 ! Plane Y, wire 37
-107,2,38 ! Plane Y, wire 38
-108,2,39 ! Plane Y, wire 39
-112,2,40 ! Plane Y, wire 40
-113,2,41 ! Plane Y, wire 41
-114,2,42 ! Plane Y, wire 42
-115,2,43 ! Plane Y, wire 43
-116,2,44 ! Plane Y, wire 44
-117,2,45 ! Plane Y, wire 45
-118,2,46 ! Plane Y, wire 46
-119,2,47 ! Plane Y, wire 47
-120,2,48 ! Plane Y, wire 48
-121,2,49 ! Plane Y, wire 49
-122,2,50 ! Plane Y, wire 50
-123,2,51 ! Plane Y, wire 51
-124,2,52 ! Plane Y, wire 52
+REFINDEX=0
+  64,   2,   1  ! Plane Y, wire 1
+  65,   2,   2  ! Plane Y, wire 2
+  66,   2,   3  ! Plane Y, wire 3
+  67,   2,   4  ! Plane Y, wire 4
+  68,   2,   5  ! Plane Y, wire 5
+  69,   2,   6  ! Plane Y, wire 6
+  70,   2,   7  ! Plane Y, wire 7
+  71,   2,   8  ! Plane Y, wire 8
+  72,   2,   9  ! Plane Y, wire 9
+  73,   2,  10  ! Plane Y, wire 10
+  74,   2,  11  ! Plane Y, wire 11
+  75,   2,  12  ! Plane Y, wire 12
+  76,   2,  13  ! Plane Y, wire 13
+  80,   2,  14  ! Plane Y, wire 14
+  81,   2,  15  ! Plane Y, wire 15
+  82,   2,  16  ! Plane Y, wire 16
+  83,   2,  17  ! Plane Y, wire 17
+  84,   2,  18  ! Plane Y, wire 18
+  85,   2,  19  ! Plane Y, wire 19
+  86,   2,  20  ! Plane Y, wire 20
+  87,   2,  21  ! Plane Y, wire 21
+  88,   2,  22  ! Plane Y, wire 22
+  89,   2,  23  ! Plane Y, wire 23
+  90,   2,  24  ! Plane Y, wire 24
+  91,   2,  25  ! Plane Y, wire 25
+  92,   2,  26  ! Plane Y, wire 26
+  96,   2,  27  ! Plane Y, wire 27
+  97,   2,  28  ! Plane Y, wire 28
+  98,   2,  29  ! Plane Y, wire 29
+  99,   2,  30  ! Plane Y, wire 30
+ 100,   2,  31  ! Plane Y, wire 31
+ 101,   2,  32  ! Plane Y, wire 32
+ 102,   2,  33  ! Plane Y, wire 33
+ 103,   2,  34  ! Plane Y, wire 34
+ 104,   2,  35  ! Plane Y, wire 35
+ 105,   2,  36  ! Plane Y, wire 36
+ 106,   2,  37  ! Plane Y, wire 37
+ 107,   2,  38  ! Plane Y, wire 38
+ 108,   2,  39  ! Plane Y, wire 39
+ 112,   2,  40  ! Plane Y, wire 40
+ 113,   2,  41  ! Plane Y, wire 41
+ 114,   2,  42  ! Plane Y, wire 42
+ 115,   2,  43  ! Plane Y, wire 43
+ 116,   2,  44  ! Plane Y, wire 44
+ 117,   2,  45  ! Plane Y, wire 45
+ 118,   2,  46  ! Plane Y, wire 46
+ 119,   2,  47  ! Plane Y, wire 47
+ 120,   2,  48  ! Plane Y, wire 48
+ 121,   2,  49  ! Plane Y, wire 49
+ 122,   2,  50  ! Plane Y, wire 50
+ 123,   2,  51  ! Plane Y, wire 51
+ 124,   2,  52  ! Plane Y, wire 52
+
 SLOT=10
-! channel,plane,wire
-0,5,1 ! Plane Y', wire 1
-1,5,2 ! Plane Y', wire 2
-2,5,3 ! Plane Y', wire 3
-3,5,4 ! Plane Y', wire 4
-4,5,5 ! Plane Y', wire 5
-5,5,6 ! Plane Y', wire 6
-6,5,7 ! Plane Y', wire 7
-7,5,8 ! Plane Y', wire 8
-8,5,9 ! Plane Y', wire 9
-9,5,10 ! Plane Y', wire 10
-10,5,11 ! Plane Y', wire 11
-11,5,12 ! Plane Y', wire 12
-12,5,13 ! Plane Y', wire 13
-16,5,14 ! Plane Y', wire 14
-17,5,15 ! Plane Y', wire 15
-18,5,16 ! Plane Y', wire 16
-19,5,17 ! Plane Y', wire 17
-20,5,18 ! Plane Y', wire 18
-21,5,19 ! Plane Y', wire 19
-22,5,20 ! Plane Y', wire 20
-23,5,21 ! Plane Y', wire 21
-24,5,22 ! Plane Y', wire 22
-25,5,23 ! Plane Y', wire 23
-26,5,24 ! Plane Y', wire 24
-27,5,25 ! Plane Y', wire 25
-28,5,26 ! Plane Y', wire 26
-32,5,27 ! Plane Y', wire 27
-33,5,28 ! Plane Y', wire 28
-34,5,29 ! Plane Y', wire 29
-35,5,30 ! Plane Y', wire 30
-36,5,31 ! Plane Y', wire 31
-37,5,32 ! Plane Y', wire 32
-38,5,33 ! Plane Y', wire 33
-39,5,34 ! Plane Y', wire 34
-40,5,35 ! Plane Y', wire 35
-41,5,36 ! Plane Y', wire 36
-42,5,37 ! Plane Y', wire 37
-43,5,38 ! Plane Y', wire 38
-44,5,39 ! Plane Y', wire 39
-48,5,40 ! Plane Y', wire 40
-49,5,41 ! Plane Y', wire 41
-50,5,42 ! Plane Y', wire 42
-51,5,43 ! Plane Y', wire 43
-52,5,44 ! Plane Y', wire 44
-53,5,45 ! Plane Y', wire 45
-54,5,46 ! Plane Y', wire 46
-55,5,47 ! Plane Y', wire 47
-56,5,48 ! Plane Y', wire 48
-57,5,49 ! Plane Y', wire 49
-58,5,50 ! Plane Y', wire 50
-59,5,51 ! Plane Y', wire 51
-60,5,52 ! Plane Y', wire 52
+REFINDEX=0
+ 127,1000,   0,   2
+   0,   5,   1  ! Plane Y', wire 1
+   1,   5,   2  ! Plane Y', wire 2
+   2,   5,   3  ! Plane Y', wire 3
+   3,   5,   4  ! Plane Y', wire 4
+   4,   5,   5  ! Plane Y', wire 5
+   5,   5,   6  ! Plane Y', wire 6
+   6,   5,   7  ! Plane Y', wire 7
+   7,   5,   8  ! Plane Y', wire 8
+   8,   5,   9  ! Plane Y', wire 9
+   9,   5,  10  ! Plane Y', wire 10
+  10,   5,  11  ! Plane Y', wire 11
+  11,   5,  12  ! Plane Y', wire 12
+  12,   5,  13  ! Plane Y', wire 13
+  16,   5,  14  ! Plane Y', wire 14
+  17,   5,  15  ! Plane Y', wire 15
+  18,   5,  16  ! Plane Y', wire 16
+  19,   5,  17  ! Plane Y', wire 17
+  20,   5,  18  ! Plane Y', wire 18
+  21,   5,  19  ! Plane Y', wire 19
+  22,   5,  20  ! Plane Y', wire 20
+  23,   5,  21  ! Plane Y', wire 21
+  24,   5,  22  ! Plane Y', wire 22
+  25,   5,  23  ! Plane Y', wire 23
+  26,   5,  24  ! Plane Y', wire 24
+  27,   5,  25  ! Plane Y', wire 25
+  28,   5,  26  ! Plane Y', wire 26
+  32,   5,  27  ! Plane Y', wire 27
+  33,   5,  28  ! Plane Y', wire 28
+  34,   5,  29  ! Plane Y', wire 29
+  35,   5,  30  ! Plane Y', wire 30
+  36,   5,  31  ! Plane Y', wire 31
+  37,   5,  32  ! Plane Y', wire 32
+  38,   5,  33  ! Plane Y', wire 33
+  39,   5,  34  ! Plane Y', wire 34
+  40,   5,  35  ! Plane Y', wire 35
+  41,   5,  36  ! Plane Y', wire 36
+  42,   5,  37  ! Plane Y', wire 37
+  43,   5,  38  ! Plane Y', wire 38
+  44,   5,  39  ! Plane Y', wire 39
+  48,   5,  40  ! Plane Y', wire 40
+  49,   5,  41  ! Plane Y', wire 41
+  50,   5,  42  ! Plane Y', wire 42
+  51,   5,  43  ! Plane Y', wire 43
+  52,   5,  44  ! Plane Y', wire 44
+  53,   5,  45  ! Plane Y', wire 45
+  54,   5,  46  ! Plane Y', wire 46
+  55,   5,  47  ! Plane Y', wire 47
+  56,   5,  48  ! Plane Y', wire 48
+  57,   5,  49  ! Plane Y', wire 49
+  58,   5,  50  ! Plane Y', wire 50
+  59,   5,  51  ! Plane Y', wire 51
+  60,   5,  52  ! Plane Y', wire 52
 
-! Caen 1190 VME Modules >> DC2
 SLOT=16
-! channel,plane,wire
-96,9,1 ! Plane U, wire 1
-97,9,2 ! Plane U, wire 2
-98,9,3 ! Plane U, wire 3
-99,9,4 ! Plane U, wire 4
-100,9,5 ! Plane U, wire 5
-101,9,6 ! Plane U, wire 6
-102,9,7 ! Plane U, wire 7
-103,9,8 ! Plane U, wire 8
-104,9,9 ! Plane U, wire 9
-105,9,10 ! Plane U, wire 10
-106,9,11 ! Plane U, wire 11
-107,9,12 ! Plane U, wire 12
-108,9,13 ! Plane U, wire 13
-109,9,14 ! Plane U, wire 14
-110,7,113 ! Plane X, wire 113
-112,9,15 ! Plane U, wire 15
-113,9,16 ! Plane U, wire 16
-114,9,17 ! Plane U, wire 17
-115,9,18 ! Plane U, wire 18
-116,9,19 ! Plane U, wire 19
-117,9,20 ! Plane U, wire 20
-118,9,21 ! Plane U, wire 21
-119,9,22 ! Plane U, wire 22
-120,9,23 ! Plane U, wire 23
-121,9,24 ! Plane U, wire 24
-122,9,25 ! Plane U, wire 25
-123,9,26 ! Plane U, wire 26
-124,9,27 ! Plane U, wire 27
-125,9,28 ! Plane U, wire 28
-126,9,29 ! Plane U, wire 29
+REFINDEX=0
+  96,   9,   1  ! Plane U, wire 1
+  97,   9,   2  ! Plane U, wire 2
+  98,   9,   3  ! Plane U, wire 3
+  99,   9,   4  ! Plane U, wire 4
+ 100,   9,   5  ! Plane U, wire 5
+ 101,   9,   6  ! Plane U, wire 6
+ 102,   9,   7  ! Plane U, wire 7
+ 103,   9,   8  ! Plane U, wire 8
+ 104,   9,   9  ! Plane U, wire 9
+ 105,   9,  10  ! Plane U, wire 10
+ 106,   9,  11  ! Plane U, wire 11
+ 107,   9,  12  ! Plane U, wire 12
+ 108,   9,  13  ! Plane U, wire 13
+ 109,   9,  14  ! Plane U, wire 14
+ 110,   7, 113  ! Plane X, wire 113
+ 112,   9,  15  ! Plane U, wire 15
+ 113,   9,  16  ! Plane U, wire 16
+ 114,   9,  17  ! Plane U, wire 17
+ 115,   9,  18  ! Plane U, wire 18
+ 116,   9,  19  ! Plane U, wire 19
+ 117,   9,  20  ! Plane U, wire 20
+ 118,   9,  21  ! Plane U, wire 21
+ 119,   9,  22  ! Plane U, wire 22
+ 120,   9,  23  ! Plane U, wire 23
+ 121,   9,  24  ! Plane U, wire 24
+ 122,   9,  25  ! Plane U, wire 25
+ 123,   9,  26  ! Plane U, wire 26
+ 124,   9,  27  ! Plane U, wire 27
+ 125,   9,  28  ! Plane U, wire 28
+ 126,   9,  29  ! Plane U, wire 29
+
 SLOT=14
-! channel,plane,wire
-0,9,30 ! Plane U, wire 30
-1,9,31 ! Plane U, wire 31
-2,9,32 ! Plane U, wire 32
-3,9,33 ! Plane U, wire 33
-4,9,34 ! Plane U, wire 34
-5,9,35 ! Plane U, wire 35
-6,9,36 ! Plane U, wire 36
-7,9,37 ! Plane U, wire 37
-8,9,38 ! Plane U, wire 38
-9,9,39 ! Plane U, wire 39
-10,9,40 ! Plane U, wire 40
-11,9,41 ! Plane U, wire 41
-12,9,42 ! Plane U, wire 42
-13,9,43 ! Plane U, wire 43
-14,9,44 ! Plane U, wire 44
-15,9,45 ! Plane U, wire 45
-32,9,46 ! Plane U, wire 46
-33,9,47 ! Plane U, wire 47
-34,9,48 ! Plane U, wire 48
-35,9,49 ! Plane U, wire 49
-36,9,50 ! Plane U, wire 50
-37,9,51 ! Plane U, wire 51
-38,9,52 ! Plane U, wire 52
-39,9,53 ! Plane U, wire 53
-40,9,54 ! Plane U, wire 54
-41,9,55 ! Plane U, wire 55
-42,9,56 ! Plane U, wire 56
-43,9,57 ! Plane U, wire 57
-44,9,58 ! Plane U, wire 58
-45,9,59 ! Plane U, wire 59
-46,9,60 ! Plane U, wire 60
-48,9,61 ! Plane U, wire 61
-49,9,62 ! Plane U, wire 62
-50,9,63 ! Plane U, wire 63
-51,9,64 ! Plane U, wire 64
-52,9,65 ! Plane U, wire 65
-53,9,66 ! Plane U, wire 66
-54,9,67 ! Plane U, wire 67
-55,9,68 ! Plane U, wire 68
-56,9,69 ! Plane U, wire 69
-57,9,70 ! Plane U, wire 70
-58,9,71 ! Plane U, wire 71
-59,9,72 ! Plane U, wire 72
-60,9,73 ! Plane U, wire 73
-61,9,74 ! Plane U, wire 74
-62,9,75 ! Plane U, wire 75
-63,9,76 ! Plane U, wire 76
-64,9,77 ! Plane U, wire 77
-65,9,78 ! Plane U, wire 78
-66,9,79 ! Plane U, wire 79
-67,9,80 ! Plane U, wire 80
-68,9,81 ! Plane U, wire 81
-69,9,82 ! Plane U, wire 82
-70,9,83 ! Plane U, wire 83
-71,9,84 ! Plane U, wire 84
-72,9,85 ! Plane U, wire 85
-73,9,86 ! Plane U, wire 86
-74,9,87 ! Plane U, wire 87
-75,9,88 ! Plane U, wire 88
-76,9,89 ! Plane U, wire 89
-77,9,90 ! Plane U, wire 90
-78,9,91 ! Plane U, wire 91
-80,9,92 ! Plane U, wire 92
-81,9,93 ! Plane U, wire 93
-82,9,94 ! Plane U, wire 94
-83,9,95 ! Plane U, wire 95
-84,9,96 ! Plane U, wire 96
-85,9,97 ! Plane U, wire 97
-86,9,98 ! Plane U, wire 98
-87,9,99 ! Plane U, wire 99
-88,9,100 ! Plane U, wire 100
-89,9,101 ! Plane U, wire 101
-90,9,102 ! Plane U, wire 102
-91,9,103 ! Plane U, wire 103
-92,9,104 ! Plane U, wire 104
-93,9,105 ! Plane U, wire 105
-94,9,106 ! Plane U, wire 106
-95,9,107 ! Plane U, wire 107
+REFINDEX=0
+   0,   9,  30  ! Plane U, wire 30
+   1,   9,  31  ! Plane U, wire 31
+   2,   9,  32  ! Plane U, wire 32
+   3,   9,  33  ! Plane U, wire 33
+   4,   9,  34  ! Plane U, wire 34
+   5,   9,  35  ! Plane U, wire 35
+   6,   9,  36  ! Plane U, wire 36
+   7,   9,  37  ! Plane U, wire 37
+   8,   9,  38  ! Plane U, wire 38
+   9,   9,  39  ! Plane U, wire 39
+  10,   9,  40  ! Plane U, wire 40
+  11,   9,  41  ! Plane U, wire 41
+  12,   9,  42  ! Plane U, wire 42
+  13,   9,  43  ! Plane U, wire 43
+  14,   9,  44  ! Plane U, wire 44
+  15,   9,  45  ! Plane U, wire 45
+  32,   9,  46  ! Plane U, wire 46
+  33,   9,  47  ! Plane U, wire 47
+  34,   9,  48  ! Plane U, wire 48
+  35,   9,  49  ! Plane U, wire 49
+  36,   9,  50  ! Plane U, wire 50
+  37,   9,  51  ! Plane U, wire 51
+  38,   9,  52  ! Plane U, wire 52
+  39,   9,  53  ! Plane U, wire 53
+  40,   9,  54  ! Plane U, wire 54
+  41,   9,  55  ! Plane U, wire 55
+  42,   9,  56  ! Plane U, wire 56
+  43,   9,  57  ! Plane U, wire 57
+  44,   9,  58  ! Plane U, wire 58
+  45,   9,  59  ! Plane U, wire 59
+  46,   9,  60  ! Plane U, wire 60
+  48,   9,  61  ! Plane U, wire 61
+  49,   9,  62  ! Plane U, wire 62
+  50,   9,  63  ! Plane U, wire 63
+  51,   9,  64  ! Plane U, wire 64
+  52,   9,  65  ! Plane U, wire 65
+  53,   9,  66  ! Plane U, wire 66
+  54,   9,  67  ! Plane U, wire 67
+  55,   9,  68  ! Plane U, wire 68
+  56,   9,  69  ! Plane U, wire 69
+  57,   9,  70  ! Plane U, wire 70
+  58,   9,  71  ! Plane U, wire 71
+  59,   9,  72  ! Plane U, wire 72
+  60,   9,  73  ! Plane U, wire 73
+  61,   9,  74  ! Plane U, wire 74
+  62,   9,  75  ! Plane U, wire 75
+  63,   9,  76  ! Plane U, wire 76
+  64,   9,  77  ! Plane U, wire 77
+  65,   9,  78  ! Plane U, wire 78
+  66,   9,  79  ! Plane U, wire 79
+  67,   9,  80  ! Plane U, wire 80
+  68,   9,  81  ! Plane U, wire 81
+  69,   9,  82  ! Plane U, wire 82
+  70,   9,  83  ! Plane U, wire 83
+  71,   9,  84  ! Plane U, wire 84
+  72,   9,  85  ! Plane U, wire 85
+  73,   9,  86  ! Plane U, wire 86
+  74,   9,  87  ! Plane U, wire 87
+  75,   9,  88  ! Plane U, wire 88
+  76,   9,  89  ! Plane U, wire 89
+  77,   9,  90  ! Plane U, wire 90
+  78,   9,  91  ! Plane U, wire 91
+  80,   9,  92  ! Plane U, wire 92
+  81,   9,  93  ! Plane U, wire 93
+  82,   9,  94  ! Plane U, wire 94
+  83,   9,  95  ! Plane U, wire 95
+  84,   9,  96  ! Plane U, wire 96
+  85,   9,  97  ! Plane U, wire 97
+  86,   9,  98  ! Plane U, wire 98
+  87,   9,  99  ! Plane U, wire 99
+  88,   9, 100  ! Plane U, wire 100
+  89,   9, 101  ! Plane U, wire 101
+  90,   9, 102  ! Plane U, wire 102
+  91,   9, 103  ! Plane U, wire 103
+  92,   9, 104  ! Plane U, wire 104
+  93,   9, 105  ! Plane U, wire 105
+  94,   9, 106  ! Plane U, wire 106
+  95,   9, 107  ! Plane U, wire 107
+
 SLOT=16
-! channel,plane,wire
-80,10,1 ! Plane V, wire 1
-81,10,2 ! Plane V, wire 2
-82,10,3 ! Plane V, wire 3
-83,10,4 ! Plane V, wire 4
-84,10,5 ! Plane V, wire 5
-85,10,6 ! Plane V, wire 6
-86,10,7 ! Plane V, wire 7
-87,10,8 ! Plane V, wire 8
-88,10,9 ! Plane V, wire 9
-89,10,10 ! Plane V, wire 10
-90,10,11 ! Plane V, wire 11
-91,10,12 ! Plane V, wire 12
-92,10,13 ! Plane V, wire 13
-93,10,14 ! Plane V, wire 14
-94,12,113 ! Plane X', wire 113
+REFINDEX=0
+  80,  10,   1  ! Plane V, wire 1
+  81,  10,   2  ! Plane V, wire 2
+  82,  10,   3  ! Plane V, wire 3
+  83,  10,   4  ! Plane V, wire 4
+  84,  10,   5  ! Plane V, wire 5
+  85,  10,   6  ! Plane V, wire 6
+  86,  10,   7  ! Plane V, wire 7
+  87,  10,   8  ! Plane V, wire 8
+  88,  10,   9  ! Plane V, wire 9
+  89,  10,  10  ! Plane V, wire 10
+  90,  10,  11  ! Plane V, wire 11
+  91,  10,  12  ! Plane V, wire 12
+  92,  10,  13  ! Plane V, wire 13
+  93,  10,  14  ! Plane V, wire 14
+  94,  12, 113  ! Plane X', wire 113
+
 SLOT=14
-! channel,plane,wire
-96,10,15 ! Plane V, wire 15
-97,10,16 ! Plane V, wire 16
-98,10,17 ! Plane V, wire 17
-99,10,18 ! Plane V, wire 18
-100,10,19 ! Plane V, wire 19
-101,10,20 ! Plane V, wire 20
-102,10,21 ! Plane V, wire 21
-103,10,22 ! Plane V, wire 22
-104,10,23 ! Plane V, wire 23
-105,10,24 ! Plane V, wire 24
-106,10,25 ! Plane V, wire 25
-107,10,26 ! Plane V, wire 26
-108,10,27 ! Plane V, wire 27
-109,10,28 ! Plane V, wire 28
-110,10,29 ! Plane V, wire 29
-112,10,30 ! Plane V, wire 30
-113,10,31 ! Plane V, wire 31
-114,10,32 ! Plane V, wire 32
-115,10,33 ! Plane V, wire 33
-116,10,34 ! Plane V, wire 34
-117,10,35 ! Plane V, wire 35
-118,10,36 ! Plane V, wire 36
-119,10,37 ! Plane V, wire 37
-120,10,38 ! Plane V, wire 38
-121,10,39 ! Plane V, wire 39
-122,10,40 ! Plane V, wire 40
-123,10,41 ! Plane V, wire 41
-124,10,42 ! Plane V, wire 42
-125,10,43 ! Plane V, wire 43
-126,10,44 ! Plane V, wire 44
-127,10,45 ! Plane V, wire 45
+REFINDEX=0
+  96,  10,  15  ! Plane V, wire 15
+  97,  10,  16  ! Plane V, wire 16
+  98,  10,  17  ! Plane V, wire 17
+  99,  10,  18  ! Plane V, wire 18
+ 100,  10,  19  ! Plane V, wire 19
+ 101,  10,  20  ! Plane V, wire 20
+ 102,  10,  21  ! Plane V, wire 21
+ 103,  10,  22  ! Plane V, wire 22
+ 104,  10,  23  ! Plane V, wire 23
+ 105,  10,  24  ! Plane V, wire 24
+ 106,  10,  25  ! Plane V, wire 25
+ 107,  10,  26  ! Plane V, wire 26
+ 108,  10,  27  ! Plane V, wire 27
+ 109,  10,  28  ! Plane V, wire 28
+ 110,  10,  29  ! Plane V, wire 29
+ 112,  10,  30  ! Plane V, wire 30
+ 113,  10,  31  ! Plane V, wire 31
+ 114,  10,  32  ! Plane V, wire 32
+ 115,  10,  33  ! Plane V, wire 33
+ 116,  10,  34  ! Plane V, wire 34
+ 117,  10,  35  ! Plane V, wire 35
+ 118,  10,  36  ! Plane V, wire 36
+ 119,  10,  37  ! Plane V, wire 37
+ 120,  10,  38  ! Plane V, wire 38
+ 121,  10,  39  ! Plane V, wire 39
+ 122,  10,  40  ! Plane V, wire 40
+ 123,  10,  41  ! Plane V, wire 41
+ 124,  10,  42  ! Plane V, wire 42
+ 125,  10,  43  ! Plane V, wire 43
+ 126,  10,  44  ! Plane V, wire 44
+ 127,  10,  45  ! Plane V, wire 45
+
 SLOT=17
-! channel,plane,wire
-0,10,46 ! Plane V, wire 46
-1,10,47 ! Plane V, wire 47
-2,10,48 ! Plane V, wire 48
-3,10,49 ! Plane V, wire 49
-4,10,50 ! Plane V, wire 50
-5,10,51 ! Plane V, wire 51
-6,10,52 ! Plane V, wire 52
-7,10,53 ! Plane V, wire 53
-8,10,54 ! Plane V, wire 54
-9,10,55 ! Plane V, wire 55
-10,10,56 ! Plane V, wire 56
-11,10,57 ! Plane V, wire 57
-12,10,58 ! Plane V, wire 58
-13,10,59 ! Plane V, wire 59
-14,10,60 ! Plane V, wire 60
-16,10,61 ! Plane V, wire 61
-17,10,62 ! Plane V, wire 62
-18,10,63 ! Plane V, wire 63
-19,10,64 ! Plane V, wire 64
-20,10,65 ! Plane V, wire 65
-21,10,66 ! Plane V, wire 66
-22,10,67 ! Plane V, wire 67
-23,10,68 ! Plane V, wire 68
-24,10,69 ! Plane V, wire 69
-25,10,70 ! Plane V, wire 70
-26,10,71 ! Plane V, wire 71
-27,10,72 ! Plane V, wire 72
-28,10,73 ! Plane V, wire 73
-29,10,74 ! Plane V, wire 74
-30,10,75 ! Plane V, wire 75
-31,10,76 ! Plane V, wire 76
-32,10,77 ! Plane V, wire 77
-33,10,78 ! Plane V, wire 78
-34,10,79 ! Plane V, wire 79
-35,10,80 ! Plane V, wire 80
-36,10,81 ! Plane V, wire 81
-37,10,82 ! Plane V, wire 82
-38,10,83 ! Plane V, wire 83
-39,10,84 ! Plane V, wire 84
-40,10,85 ! Plane V, wire 85
-41,10,86 ! Plane V, wire 86
-42,10,87 ! Plane V, wire 87
-43,10,88 ! Plane V, wire 88
-44,10,89 ! Plane V, wire 89
-45,10,90 ! Plane V, wire 90
-46,10,91 ! Plane V, wire 91
-48,10,92 ! Plane V, wire 92
-49,10,93 ! Plane V, wire 93
-50,10,94 ! Plane V, wire 94
-51,10,95 ! Plane V, wire 95
-52,10,96 ! Plane V, wire 96
-53,10,97 ! Plane V, wire 97
-54,10,98 ! Plane V, wire 98
-55,10,99 ! Plane V, wire 99
-56,10,100 ! Plane V, wire 100
-57,10,101 ! Plane V, wire 101
-58,10,102 ! Plane V, wire 102
-59,10,103 ! Plane V, wire 103
-60,10,104 ! Plane V, wire 104
-61,10,105 ! Plane V, wire 105
-62,10,106 ! Plane V, wire 106
-63,10,107 ! Plane V, wire 107
+REFINDEX=0
+ 127,1000,   0,   3
+   0,  10,  46  ! Plane V, wire 46
+   1,  10,  47  ! Plane V, wire 47
+   2,  10,  48  ! Plane V, wire 48
+   3,  10,  49  ! Plane V, wire 49
+   4,  10,  50  ! Plane V, wire 50
+   5,  10,  51  ! Plane V, wire 51
+   6,  10,  52  ! Plane V, wire 52
+   7,  10,  53  ! Plane V, wire 53
+   8,  10,  54  ! Plane V, wire 54
+   9,  10,  55  ! Plane V, wire 55
+  10,  10,  56  ! Plane V, wire 56
+  11,  10,  57  ! Plane V, wire 57
+  12,  10,  58  ! Plane V, wire 58
+  13,  10,  59  ! Plane V, wire 59
+  14,  10,  60  ! Plane V, wire 60
+  16,  10,  61  ! Plane V, wire 61
+  17,  10,  62  ! Plane V, wire 62
+  18,  10,  63  ! Plane V, wire 63
+  19,  10,  64  ! Plane V, wire 64
+  20,  10,  65  ! Plane V, wire 65
+  21,  10,  66  ! Plane V, wire 66
+  22,  10,  67  ! Plane V, wire 67
+  23,  10,  68  ! Plane V, wire 68
+  24,  10,  69  ! Plane V, wire 69
+  25,  10,  70  ! Plane V, wire 70
+  26,  10,  71  ! Plane V, wire 71
+  27,  10,  72  ! Plane V, wire 72
+  28,  10,  73  ! Plane V, wire 73
+  29,  10,  74  ! Plane V, wire 74
+  30,  10,  75  ! Plane V, wire 75
+  31,  10,  76  ! Plane V, wire 76
+  32,  10,  77  ! Plane V, wire 77
+  33,  10,  78  ! Plane V, wire 78
+  34,  10,  79  ! Plane V, wire 79
+  35,  10,  80  ! Plane V, wire 80
+  36,  10,  81  ! Plane V, wire 81
+  37,  10,  82  ! Plane V, wire 82
+  38,  10,  83  ! Plane V, wire 83
+  39,  10,  84  ! Plane V, wire 84
+  40,  10,  85  ! Plane V, wire 85
+  41,  10,  86  ! Plane V, wire 86
+  42,  10,  87  ! Plane V, wire 87
+  43,  10,  88  ! Plane V, wire 88
+  44,  10,  89  ! Plane V, wire 89
+  45,  10,  90  ! Plane V, wire 90
+  46,  10,  91  ! Plane V, wire 91
+  48,  10,  92  ! Plane V, wire 92
+  49,  10,  93  ! Plane V, wire 93
+  50,  10,  94  ! Plane V, wire 94
+  51,  10,  95  ! Plane V, wire 95
+  52,  10,  96  ! Plane V, wire 96
+  53,  10,  97  ! Plane V, wire 97
+  54,  10,  98  ! Plane V, wire 98
+  55,  10,  99  ! Plane V, wire 99
+  56,  10, 100  ! Plane V, wire 100
+  57,  10, 101  ! Plane V, wire 101
+  58,  10, 102  ! Plane V, wire 102
+  59,  10, 103  ! Plane V, wire 103
+  60,  10, 104  ! Plane V, wire 104
+  61,  10, 105  ! Plane V, wire 105
+  62,  10, 106  ! Plane V, wire 106
+  63,  10, 107  ! Plane V, wire 107
+
 SLOT=13
-! channel,plane,wire
-0,7,1 ! Plane X, wire 1
-1,7,2 ! Plane X, wire 2
-2,7,3 ! Plane X, wire 3
-3,7,4 ! Plane X, wire 4
-4,7,5 ! Plane X, wire 5
-5,7,6 ! Plane X, wire 6
-6,7,7 ! Plane X, wire 7
-7,7,8 ! Plane X, wire 8
-8,7,9 ! Plane X, wire 9
-9,7,10 ! Plane X, wire 10
-10,7,11 ! Plane X, wire 11
-11,7,12 ! Plane X, wire 12
-12,7,13 ! Plane X, wire 13
-13,7,14 ! Plane X, wire 14
-14,7,15 ! Plane X, wire 15
-15,7,16 ! Plane X, wire 16
-16,7,17 ! Plane X, wire 17
-17,7,18 ! Plane X, wire 18
-18,7,19 ! Plane X, wire 19
-19,7,20 ! Plane X, wire 20
-20,7,21 ! Plane X, wire 21
-21,7,22 ! Plane X, wire 22
-22,7,23 ! Plane X, wire 23
-23,7,24 ! Plane X, wire 24
-24,7,25 ! Plane X, wire 25
-25,7,26 ! Plane X, wire 26
-26,7,27 ! Plane X, wire 27
-27,7,28 ! Plane X, wire 28
-28,7,29 ! Plane X, wire 29
-29,7,30 ! Plane X, wire 30
-30,7,31 ! Plane X, wire 31
-31,7,32 ! Plane X, wire 32
-32,7,33 ! Plane X, wire 33
-33,7,34 ! Plane X, wire 34
-34,7,35 ! Plane X, wire 35
-35,7,36 ! Plane X, wire 36
-36,7,37 ! Plane X, wire 37
-37,7,38 ! Plane X, wire 38
-38,7,39 ! Plane X, wire 39
-39,7,40 ! Plane X, wire 40
-40,7,41 ! Plane X, wire 41
-41,7,42 ! Plane X, wire 42
-42,7,43 ! Plane X, wire 43
-43,7,44 ! Plane X, wire 44
-44,7,45 ! Plane X, wire 45
-45,7,46 ! Plane X, wire 46
-46,7,47 ! Plane X, wire 47
-47,7,48 ! Plane X, wire 48
-48,7,49 ! Plane X, wire 49
-49,7,50 ! Plane X, wire 50
-50,7,51 ! Plane X, wire 51
-51,7,52 ! Plane X, wire 52
-52,7,53 ! Plane X, wire 53
-53,7,54 ! Plane X, wire 54
-54,7,55 ! Plane X, wire 55
-55,7,56 ! Plane X, wire 56
-56,7,57 ! Plane X, wire 57
-57,7,58 ! Plane X, wire 58
-58,7,59 ! Plane X, wire 59
-59,7,60 ! Plane X, wire 60
-60,7,61 ! Plane X, wire 61
-61,7,62 ! Plane X, wire 62
-62,7,63 ! Plane X, wire 63
-63,7,64 ! Plane X, wire 64
-64,7,65 ! Plane X, wire 65
-65,7,66 ! Plane X, wire 66
-66,7,67 ! Plane X, wire 67
-67,7,68 ! Plane X, wire 68
-68,7,69 ! Plane X, wire 69
-69,7,70 ! Plane X, wire 70
-70,7,71 ! Plane X, wire 71
-71,7,72 ! Plane X, wire 72
-72,7,73 ! Plane X, wire 73
-73,7,74 ! Plane X, wire 74
-74,7,75 ! Plane X, wire 75
-75,7,76 ! Plane X, wire 76
-76,7,77 ! Plane X, wire 77
-77,7,78 ! Plane X, wire 78
-78,7,79 ! Plane X, wire 79
-79,7,80 ! Plane X, wire 80
-80,7,81 ! Plane X, wire 81
-81,7,82 ! Plane X, wire 82
-82,7,83 ! Plane X, wire 83
-83,7,84 ! Plane X, wire 84
-84,7,85 ! Plane X, wire 85
-85,7,86 ! Plane X, wire 86
-86,7,87 ! Plane X, wire 87
-87,7,88 ! Plane X, wire 88
-88,7,89 ! Plane X, wire 89
-89,7,90 ! Plane X, wire 90
-90,7,91 ! Plane X, wire 91
-91,7,92 ! Plane X, wire 92
-92,7,93 ! Plane X, wire 93
-93,7,94 ! Plane X, wire 94
-94,7,95 ! Plane X, wire 95
-95,7,96 ! Plane X, wire 96
-96,7,97 ! Plane X, wire 97
-97,7,98 ! Plane X, wire 98
-98,7,99 ! Plane X, wire 99
-99,7,100 ! Plane X, wire 100
-100,7,101 ! Plane X, wire 101
-101,7,102 ! Plane X, wire 102
-102,7,103 ! Plane X, wire 103
-103,7,104 ! Plane X, wire 104
-104,7,105 ! Plane X, wire 105
-105,7,106 ! Plane X, wire 106
-106,7,107 ! Plane X, wire 107
-107,7,108 ! Plane X, wire 108
-108,7,109 ! Plane X, wire 109
-109,7,110 ! Plane X, wire 110
-110,7,111 ! Plane X, wire 111
-111,7,112 ! Plane X, wire 112
-112,12,1 ! Plane X', wire 1
-113,12,2 ! Plane X', wire 2
-114,12,3 ! Plane X', wire 3
-115,12,4 ! Plane X', wire 4
-116,12,5 ! Plane X', wire 5
-117,12,6 ! Plane X', wire 6
-118,12,7 ! Plane X', wire 7
-119,12,8 ! Plane X', wire 8
-120,12,9 ! Plane X', wire 9
-121,12,10 ! Plane X', wire 10
-122,12,11 ! Plane X', wire 11
-123,12,12 ! Plane X', wire 12
-124,12,13 ! Plane X', wire 13
-125,12,14 ! Plane X', wire 14
-126,12,15 ! Plane X', wire 15
-127,12,16 ! Plane X', wire 16
-SLOT=14
-! channel,plane,wire
-16,12,17 ! Plane X', wire 17
-17,12,18 ! Plane X', wire 18
-18,12,19 ! Plane X', wire 19
-19,12,20 ! Plane X', wire 20
-20,12,21 ! Plane X', wire 21
-21,12,22 ! Plane X', wire 22
-22,12,23 ! Plane X', wire 23
-23,12,24 ! Plane X', wire 24
-24,12,25 ! Plane X', wire 25
-25,12,26 ! Plane X', wire 26
-26,12,27 ! Plane X', wire 27
-27,12,28 ! Plane X', wire 28
-28,12,29 ! Plane X', wire 29
-29,12,30 ! Plane X', wire 30
-30,12,31 ! Plane X', wire 31
-31,12,32 ! Plane X', wire 32
-SLOT=16
-! channel,plane,wire
-0,12,33 ! Plane X', wire 33
-1,12,34 ! Plane X', wire 34
-2,12,35 ! Plane X', wire 35
-3,12,36 ! Plane X', wire 36
-4,12,37 ! Plane X', wire 37
-5,12,38 ! Plane X', wire 38
-6,12,39 ! Plane X', wire 39
-7,12,40 ! Plane X', wire 40
-8,12,41 ! Plane X', wire 41
-9,12,42 ! Plane X', wire 42
-10,12,43 ! Plane X', wire 43
-11,12,44 ! Plane X', wire 44
-12,12,45 ! Plane X', wire 45
-13,12,46 ! Plane X', wire 46
-14,12,47 ! Plane X', wire 47
-15,12,48 ! Plane X', wire 48
-16,12,49 ! Plane X', wire 49
-17,12,50 ! Plane X', wire 50
-18,12,51 ! Plane X', wire 51
-19,12,52 ! Plane X', wire 52
-20,12,53 ! Plane X', wire 53
-21,12,54 ! Plane X', wire 54
-22,12,55 ! Plane X', wire 55
-23,12,56 ! Plane X', wire 56
-24,12,57 ! Plane X', wire 57
-25,12,58 ! Plane X', wire 58
-26,12,59 ! Plane X', wire 59
-27,12,60 ! Plane X', wire 60
-28,12,61 ! Plane X', wire 61
-29,12,62 ! Plane X', wire 62
-30,12,63 ! Plane X', wire 63
-31,12,64 ! Plane X', wire 64
-32,12,65 ! Plane X', wire 65
-33,12,66 ! Plane X', wire 66
-34,12,67 ! Plane X', wire 67
-35,12,68 ! Plane X', wire 68
-36,12,69 ! Plane X', wire 69
-37,12,70 ! Plane X', wire 70
-38,12,71 ! Plane X', wire 71
-39,12,72 ! Plane X', wire 72
-40,12,73 ! Plane X', wire 73
-41,12,74 ! Plane X', wire 74
-42,12,75 ! Plane X', wire 75
-43,12,76 ! Plane X', wire 76
-44,12,77 ! Plane X', wire 77
-45,12,78 ! Plane X', wire 78
-46,12,79 ! Plane X', wire 79
-47,12,80 ! Plane X', wire 80
-48,12,81 ! Plane X', wire 81
-49,12,82 ! Plane X', wire 82
-50,12,83 ! Plane X', wire 83
-51,12,84 ! Plane X', wire 84
-52,12,85 ! Plane X', wire 85
-53,12,86 ! Plane X', wire 86
-54,12,87 ! Plane X', wire 87
-55,12,88 ! Plane X', wire 88
-56,12,89 ! Plane X', wire 89
-57,12,90 ! Plane X', wire 90
-58,12,91 ! Plane X', wire 91
-59,12,92 ! Plane X', wire 92
-60,12,93 ! Plane X', wire 93
-61,12,94 ! Plane X', wire 94
-62,12,95 ! Plane X', wire 95
-63,12,96 ! Plane X', wire 96
-64,12,97 ! Plane X', wire 97
-65,12,98 ! Plane X', wire 98
-66,12,99 ! Plane X', wire 99
-67,12,100 ! Plane X', wire 100
-68,12,101 ! Plane X', wire 101
-69,12,102 ! Plane X', wire 102
-70,12,103 ! Plane X', wire 103
-71,12,104 ! Plane X', wire 104
-72,12,105 ! Plane X', wire 105
-73,12,106 ! Plane X', wire 106
-74,12,107 ! Plane X', wire 107
-75,12,108 ! Plane X', wire 108
-76,12,109 ! Plane X', wire 109
-77,12,110 ! Plane X', wire 110
-78,12,111 ! Plane X', wire 111
-79,12,112 ! Plane X', wire 112
-SLOT=17
-! channel,plane,wire
-64,8,1 ! Plane Y, wire 1
-65,8,2 ! Plane Y, wire 2
-66,8,3 ! Plane Y, wire 3
-67,8,4 ! Plane Y, wire 4
-68,8,5 ! Plane Y, wire 5
-69,8,6 ! Plane Y, wire 6
-70,8,7 ! Plane Y, wire 7
-71,8,8 ! Plane Y, wire 8
-72,8,9 ! Plane Y, wire 9
-73,8,10 ! Plane Y, wire 10
-74,8,11 ! Plane Y, wire 11
-75,8,12 ! Plane Y, wire 12
-76,8,13 ! Plane Y, wire 13
-80,8,14 ! Plane Y, wire 14
-81,8,15 ! Plane Y, wire 15
-82,8,16 ! Plane Y, wire 16
-83,8,17 ! Plane Y, wire 17
-84,8,18 ! Plane Y, wire 18
-85,8,19 ! Plane Y, wire 19
-86,8,20 ! Plane Y, wire 20
-87,8,21 ! Plane Y, wire 21
-88,8,22 ! Plane Y, wire 22
-89,8,23 ! Plane Y, wire 23
-90,8,24 ! Plane Y, wire 24
-91,8,25 ! Plane Y, wire 25
-92,8,26 ! Plane Y, wire 26
-96,8,27 ! Plane Y, wire 27
-97,8,28 ! Plane Y, wire 28
-98,8,29 ! Plane Y, wire 29
-99,8,30 ! Plane Y, wire 30
-100,8,31 ! Plane Y, wire 31
-101,8,32 ! Plane Y, wire 32
-102,8,33 ! Plane Y, wire 33
-103,8,34 ! Plane Y, wire 34
-104,8,35 ! Plane Y, wire 35
-105,8,36 ! Plane Y, wire 36
-106,8,37 ! Plane Y, wire 37
-107,8,38 ! Plane Y, wire 38
-108,8,39 ! Plane Y, wire 39
-112,8,40 ! Plane Y, wire 40
-113,8,41 ! Plane Y, wire 41
-114,8,42 ! Plane Y, wire 42
-115,8,43 ! Plane Y, wire 43
-116,8,44 ! Plane Y, wire 44
-117,8,45 ! Plane Y, wire 45
-118,8,46 ! Plane Y, wire 46
-119,8,47 ! Plane Y, wire 47
-120,8,48 ! Plane Y, wire 48
-121,8,49 ! Plane Y, wire 49
-122,8,50 ! Plane Y, wire 50
-123,8,51 ! Plane Y, wire 51
-124,8,52 ! Plane Y, wire 52
-SLOT=10
-! channel,plane,wire
-64,11,1 ! Plane Y', wire 1
-65,11,2 ! Plane Y', wire 2
-66,11,3 ! Plane Y', wire 3
-67,11,4 ! Plane Y', wire 4
-68,11,5 ! Plane Y', wire 5
-69,11,6 ! Plane Y', wire 6
-70,11,7 ! Plane Y', wire 7
-71,11,8 ! Plane Y', wire 8
-72,11,9 ! Plane Y', wire 9
-73,11,10 ! Plane Y', wire 10
-74,11,11 ! Plane Y', wire 11
-75,11,12 ! Plane Y', wire 12
-76,11,13 ! Plane Y', wire 13
-80,11,14 ! Plane Y', wire 14
-81,11,15 ! Plane Y', wire 15
-82,11,16 ! Plane Y', wire 16
-83,11,17 ! Plane Y', wire 17
-84,11,18 ! Plane Y', wire 18
-85,11,19 ! Plane Y', wire 19
-86,11,20 ! Plane Y', wire 20
-87,11,21 ! Plane Y', wire 21
-88,11,22 ! Plane Y', wire 22
-89,11,23 ! Plane Y', wire 23
-90,11,24 ! Plane Y', wire 24
-91,11,25 ! Plane Y', wire 25
-92,11,26 ! Plane Y', wire 26
-96,11,27 ! Plane Y', wire 27
-97,11,28 ! Plane Y', wire 28
-98,11,29 ! Plane Y', wire 29
-99,11,30 ! Plane Y', wire 30
-100,11,31 ! Plane Y', wire 31
-101,11,32 ! Plane Y', wire 32
-102,11,33 ! Plane Y', wire 33
-103,11,34 ! Plane Y', wire 34
-104,11,35 ! Plane Y', wire 35
-105,11,36 ! Plane Y', wire 36
-106,11,37 ! Plane Y', wire 37
-107,11,38 ! Plane Y', wire 38
-108,11,39 ! Plane Y', wire 39
-112,11,40 ! Plane Y', wire 40
-113,11,41 ! Plane Y', wire 41
-114,11,42 ! Plane Y', wire 42
-115,11,43 ! Plane Y', wire 43
-116,11,44 ! Plane Y', wire 44
-117,11,45 ! Plane Y', wire 45
-118,11,46 ! Plane Y', wire 46
-119,11,47 ! Plane Y', wire 47
-120,11,48 ! Plane Y', wire 48
-121,11,49 ! Plane Y', wire 49
-122,11,50 ! Plane Y', wire 50
-123,11,51 ! Plane Y', wire 51
-124,11,52 ! Plane Y', wire 52
+REFINDEX=0
+   0,   7,   1  ! Plane X, wire 1
+   1,   7,   2  ! Plane X, wire 2
+   2,   7,   3  ! Plane X, wire 3
+   3,   7,   4  ! Plane X, wire 4
+   4,   7,   5  ! Plane X, wire 5
+   5,   7,   6  ! Plane X, wire 6
+   6,   7,   7  ! Plane X, wire 7
+   7,   7,   8  ! Plane X, wire 8
+   8,   7,   9  ! Plane X, wire 9
+   9,   7,  10  ! Plane X, wire 10
+  10,   7,  11  ! Plane X, wire 11
+  11,   7,  12  ! Plane X, wire 12
+  12,   7,  13  ! Plane X, wire 13
+  13,   7,  14  ! Plane X, wire 14
+  14,   7,  15  ! Plane X, wire 15
+  15,   7,  16  ! Plane X, wire 16
+  16,   7,  17  ! Plane X, wire 17
+  17,   7,  18  ! Plane X, wire 18
+  18,   7,  19  ! Plane X, wire 19
+  19,   7,  20  ! Plane X, wire 20
+  20,   7,  21  ! Plane X, wire 21
+  21,   7,  22  ! Plane X, wire 22
+  22,   7,  23  ! Plane X, wire 23
+  23,   7,  24  ! Plane X, wire 24
+  24,   7,  25  ! Plane X, wire 25
+  25,   7,  26  ! Plane X, wire 26
+  26,   7,  27  ! Plane X, wire 27
+  27,   7,  28  ! Plane X, wire 28
+  28,   7,  29  ! Plane X, wire 29
+  29,   7,  30  ! Plane X, wire 30
+  30,   7,  31  ! Plane X, wire 31
+  31,   7,  32  ! Plane X, wire 32
+  32,   7,  33  ! Plane X, wire 33
+  33,   7,  34  ! Plane X, wire 34
+  34,   7,  35  ! Plane X, wire 35
+  35,   7,  36  ! Plane X, wire 36
+  36,   7,  37  ! Plane X, wire 37
+  37,   7,  38  ! Plane X, wire 38
+  38,   7,  39  ! Plane X, wire 39
+  39,   7,  40  ! Plane X, wire 40
+  40,   7,  41  ! Plane X, wire 41
+  41,   7,  42  ! Plane X, wire 42
+  42,   7,  43  ! Plane X, wire 43
+  43,   7,  44  ! Plane X, wire 44
+  44,   7,  45  ! Plane X, wire 45
+  45,   7,  46  ! Plane X, wire 46
+  46,   7,  47  ! Plane X, wire 47
+  47,   7,  48  ! Plane X, wire 48
+  48,   7,  49  ! Plane X, wire 49
+  49,   7,  50  ! Plane X, wire 50
+  50,   7,  51  ! Plane X, wire 51
+  51,   7,  52  ! Plane X, wire 52
+  52,   7,  53  ! Plane X, wire 53
+  53,   7,  54  ! Plane X, wire 54
+  54,   7,  55  ! Plane X, wire 55
+  55,   7,  56  ! Plane X, wire 56
+  56,   7,  57  ! Plane X, wire 57
+  57,   7,  58  ! Plane X, wire 58
+  58,   7,  59  ! Plane X, wire 59
+  59,   7,  60  ! Plane X, wire 60
+  60,   7,  61  ! Plane X, wire 61
+  61,   7,  62  ! Plane X, wire 62
+  62,   7,  63  ! Plane X, wire 63
+  63,   7,  64  ! Plane X, wire 64
+  64,   7,  65  ! Plane X, wire 65
+  65,   7,  66  ! Plane X, wire 66
+  66,   7,  67  ! Plane X, wire 67
+  67,   7,  68  ! Plane X, wire 68
+  68,   7,  69  ! Plane X, wire 69
+  69,   7,  70  ! Plane X, wire 70
+  70,   7,  71  ! Plane X, wire 71
+  71,   7,  72  ! Plane X, wire 72
+  72,   7,  73  ! Plane X, wire 73
+  73,   7,  74  ! Plane X, wire 74
+  74,   7,  75  ! Plane X, wire 75
+  75,   7,  76  ! Plane X, wire 76
+  76,   7,  77  ! Plane X, wire 77
+  77,   7,  78  ! Plane X, wire 78
+  78,   7,  79  ! Plane X, wire 79
+  79,   7,  80  ! Plane X, wire 80
+  80,   7,  81  ! Plane X, wire 81
+  81,   7,  82  ! Plane X, wire 82
+  82,   7,  83  ! Plane X, wire 83
+  83,   7,  84  ! Plane X, wire 84
+  84,   7,  85  ! Plane X, wire 85
+  85,   7,  86  ! Plane X, wire 86
+  86,   7,  87  ! Plane X, wire 87
+  87,   7,  88  ! Plane X, wire 88
+  88,   7,  89  ! Plane X, wire 89
+  89,   7,  90  ! Plane X, wire 90
+  90,   7,  91  ! Plane X, wire 91
+  91,   7,  92  ! Plane X, wire 92
+  92,   7,  93  ! Plane X, wire 93
+  93,   7,  94  ! Plane X, wire 94
+  94,   7,  95  ! Plane X, wire 95
+  95,   7,  96  ! Plane X, wire 96
+  96,   7,  97  ! Plane X, wire 97
+  97,   7,  98  ! Plane X, wire 98
+  98,   7,  99  ! Plane X, wire 99
+  99,   7, 100  ! Plane X, wire 100
+ 100,   7, 101  ! Plane X, wire 101
+ 101,   7, 102  ! Plane X, wire 102
+ 102,   7, 103  ! Plane X, wire 103
+ 103,   7, 104  ! Plane X, wire 104
+ 104,   7, 105  ! Plane X, wire 105
+ 105,   7, 106  ! Plane X, wire 106
+ 106,   7, 107  ! Plane X, wire 107
+ 107,   7, 108  ! Plane X, wire 108
+ 108,   7, 109  ! Plane X, wire 109
+ 109,   7, 110  ! Plane X, wire 110
+ 110,   7, 111  ! Plane X, wire 111
+ 111,   7, 112  ! Plane X, wire 112
+ 112,  12,   1  ! Plane X', wire 1
+ 113,  12,   2  ! Plane X', wire 2
+ 114,  12,   3  ! Plane X', wire 3
+ 115,  12,   4  ! Plane X', wire 4
+ 116,  12,   5  ! Plane X', wire 5
+ 117,  12,   6  ! Plane X', wire 6
+ 118,  12,   7  ! Plane X', wire 7
+ 119,  12,   8  ! Plane X', wire 8
+ 120,  12,   9  ! Plane X', wire 9
+ 121,  12,  10  ! Plane X', wire 10
+ 122,  12,  11  ! Plane X', wire 11
+ 123,  12,  12  ! Plane X', wire 12
+ 124,  12,  13  ! Plane X', wire 13
+ 125,  12,  14  ! Plane X', wire 14
+ 126,  12,  15  ! Plane X', wire 15
+ 127,  12,  16  ! Plane X', wire 16
 
+SLOT=14
+REFINDEX=0
+  16,  12,  17  ! Plane X', wire 17
+  17,  12,  18  ! Plane X', wire 18
+  18,  12,  19  ! Plane X', wire 19
+  19,  12,  20  ! Plane X', wire 20
+  20,  12,  21  ! Plane X', wire 21
+  21,  12,  22  ! Plane X', wire 22
+  22,  12,  23  ! Plane X', wire 23
+  23,  12,  24  ! Plane X', wire 24
+  24,  12,  25  ! Plane X', wire 25
+  25,  12,  26  ! Plane X', wire 26
+  26,  12,  27  ! Plane X', wire 27
+  27,  12,  28  ! Plane X', wire 28
+  28,  12,  29  ! Plane X', wire 29
+  29,  12,  30  ! Plane X', wire 30
+  30,  12,  31  ! Plane X', wire 31
+  31,  12,  32  ! Plane X', wire 32
 
+SLOT=16
+REFINDEX=0
+   0,  12,  33  ! Plane X', wire 33
+   1,  12,  34  ! Plane X', wire 34
+   2,  12,  35  ! Plane X', wire 35
+   3,  12,  36  ! Plane X', wire 36
+   4,  12,  37  ! Plane X', wire 37
+   5,  12,  38  ! Plane X', wire 38
+   6,  12,  39  ! Plane X', wire 39
+   7,  12,  40  ! Plane X', wire 40
+   8,  12,  41  ! Plane X', wire 41
+   9,  12,  42  ! Plane X', wire 42
+  10,  12,  43  ! Plane X', wire 43
+  11,  12,  44  ! Plane X', wire 44
+  12,  12,  45  ! Plane X', wire 45
+  13,  12,  46  ! Plane X', wire 46
+  14,  12,  47  ! Plane X', wire 47
+  15,  12,  48  ! Plane X', wire 48
+  16,  12,  49  ! Plane X', wire 49
+  17,  12,  50  ! Plane X', wire 50
+  18,  12,  51  ! Plane X', wire 51
+  19,  12,  52  ! Plane X', wire 52
+  20,  12,  53  ! Plane X', wire 53
+  21,  12,  54  ! Plane X', wire 54
+  22,  12,  55  ! Plane X', wire 55
+  23,  12,  56  ! Plane X', wire 56
+  24,  12,  57  ! Plane X', wire 57
+  25,  12,  58  ! Plane X', wire 58
+  26,  12,  59  ! Plane X', wire 59
+  27,  12,  60  ! Plane X', wire 60
+  28,  12,  61  ! Plane X', wire 61
+  29,  12,  62  ! Plane X', wire 62
+  30,  12,  63  ! Plane X', wire 63
+  31,  12,  64  ! Plane X', wire 64
+  32,  12,  65  ! Plane X', wire 65
+  33,  12,  66  ! Plane X', wire 66
+  34,  12,  67  ! Plane X', wire 67
+  35,  12,  68  ! Plane X', wire 68
+  36,  12,  69  ! Plane X', wire 69
+  37,  12,  70  ! Plane X', wire 70
+  38,  12,  71  ! Plane X', wire 71
+  39,  12,  72  ! Plane X', wire 72
+  40,  12,  73  ! Plane X', wire 73
+  41,  12,  74  ! Plane X', wire 74
+  42,  12,  75  ! Plane X', wire 75
+  43,  12,  76  ! Plane X', wire 76
+  44,  12,  77  ! Plane X', wire 77
+  45,  12,  78  ! Plane X', wire 78
+  46,  12,  79  ! Plane X', wire 79
+  47,  12,  80  ! Plane X', wire 80
+  48,  12,  81  ! Plane X', wire 81
+  49,  12,  82  ! Plane X', wire 82
+  50,  12,  83  ! Plane X', wire 83
+  51,  12,  84  ! Plane X', wire 84
+  52,  12,  85  ! Plane X', wire 85
+  53,  12,  86  ! Plane X', wire 86
+  54,  12,  87  ! Plane X', wire 87
+  55,  12,  88  ! Plane X', wire 88
+  56,  12,  89  ! Plane X', wire 89
+  57,  12,  90  ! Plane X', wire 90
+  58,  12,  91  ! Plane X', wire 91
+  59,  12,  92  ! Plane X', wire 92
+  60,  12,  93  ! Plane X', wire 93
+  61,  12,  94  ! Plane X', wire 94
+  62,  12,  95  ! Plane X', wire 95
+  63,  12,  96  ! Plane X', wire 96
+  64,  12,  97  ! Plane X', wire 97
+  65,  12,  98  ! Plane X', wire 98
+  66,  12,  99  ! Plane X', wire 99
+  67,  12, 100  ! Plane X', wire 100
+  68,  12, 101  ! Plane X', wire 101
+  69,  12, 102  ! Plane X', wire 102
+  70,  12, 103  ! Plane X', wire 103
+  71,  12, 104  ! Plane X', wire 104
+  72,  12, 105  ! Plane X', wire 105
+  73,  12, 106  ! Plane X', wire 106
+  74,  12, 107  ! Plane X', wire 107
+  75,  12, 108  ! Plane X', wire 108
+  76,  12, 109  ! Plane X', wire 109
+  77,  12, 110  ! Plane X', wire 110
+  78,  12, 111  ! Plane X', wire 111
+  79,  12, 112  ! Plane X', wire 112
 
+SLOT=17
+REFINDEX=0
+  64,   8,   1  ! Plane Y, wire 1
+  65,   8,   2  ! Plane Y, wire 2
+  66,   8,   3  ! Plane Y, wire 3
+  67,   8,   4  ! Plane Y, wire 4
+  68,   8,   5  ! Plane Y, wire 5
+  69,   8,   6  ! Plane Y, wire 6
+  70,   8,   7  ! Plane Y, wire 7
+  71,   8,   8  ! Plane Y, wire 8
+  72,   8,   9  ! Plane Y, wire 9
+  73,   8,  10  ! Plane Y, wire 10
+  74,   8,  11  ! Plane Y, wire 11
+  75,   8,  12  ! Plane Y, wire 12
+  76,   8,  13  ! Plane Y, wire 13
+  80,   8,  14  ! Plane Y, wire 14
+  81,   8,  15  ! Plane Y, wire 15
+  82,   8,  16  ! Plane Y, wire 16
+  83,   8,  17  ! Plane Y, wire 17
+  84,   8,  18  ! Plane Y, wire 18
+  85,   8,  19  ! Plane Y, wire 19
+  86,   8,  20  ! Plane Y, wire 20
+  87,   8,  21  ! Plane Y, wire 21
+  88,   8,  22  ! Plane Y, wire 22
+  89,   8,  23  ! Plane Y, wire 23
+  90,   8,  24  ! Plane Y, wire 24
+  91,   8,  25  ! Plane Y, wire 25
+  92,   8,  26  ! Plane Y, wire 26
+  96,   8,  27  ! Plane Y, wire 27
+  97,   8,  28  ! Plane Y, wire 28
+  98,   8,  29  ! Plane Y, wire 29
+  99,   8,  30  ! Plane Y, wire 30
+ 100,   8,  31  ! Plane Y, wire 31
+ 101,   8,  32  ! Plane Y, wire 32
+ 102,   8,  33  ! Plane Y, wire 33
+ 103,   8,  34  ! Plane Y, wire 34
+ 104,   8,  35  ! Plane Y, wire 35
+ 105,   8,  36  ! Plane Y, wire 36
+ 106,   8,  37  ! Plane Y, wire 37
+ 107,   8,  38  ! Plane Y, wire 38
+ 108,   8,  39  ! Plane Y, wire 39
+ 112,   8,  40  ! Plane Y, wire 40
+ 113,   8,  41  ! Plane Y, wire 41
+ 114,   8,  42  ! Plane Y, wire 42
+ 115,   8,  43  ! Plane Y, wire 43
+ 116,   8,  44  ! Plane Y, wire 44
+ 117,   8,  45  ! Plane Y, wire 45
+ 118,   8,  46  ! Plane Y, wire 46
+ 119,   8,  47  ! Plane Y, wire 47
+ 120,   8,  48  ! Plane Y, wire 48
+ 121,   8,  49  ! Plane Y, wire 49
+ 122,   8,  50  ! Plane Y, wire 50
+ 123,   8,  51  ! Plane Y, wire 51
+ 124,   8,  52  ! Plane Y, wire 52
 
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   1
+  64,  11,   1  ! Plane Y', wire 1
+  65,  11,   2  ! Plane Y', wire 2
+  66,  11,   3  ! Plane Y', wire 3
+  67,  11,   4  ! Plane Y', wire 4
+  68,  11,   5  ! Plane Y', wire 5
+  69,  11,   6  ! Plane Y', wire 6
+  70,  11,   7  ! Plane Y', wire 7
+  71,  11,   8  ! Plane Y', wire 8
+  72,  11,   9  ! Plane Y', wire 9
+  73,  11,  10  ! Plane Y', wire 10
+  74,  11,  11  ! Plane Y', wire 11
+  75,  11,  12  ! Plane Y', wire 12
+  76,  11,  13  ! Plane Y', wire 13
+  80,  11,  14  ! Plane Y', wire 14
+  81,  11,  15  ! Plane Y', wire 15
+  82,  11,  16  ! Plane Y', wire 16
+  83,  11,  17  ! Plane Y', wire 17
+  84,  11,  18  ! Plane Y', wire 18
+  85,  11,  19  ! Plane Y', wire 19
+  86,  11,  20  ! Plane Y', wire 20
+  87,  11,  21  ! Plane Y', wire 21
+  88,  11,  22  ! Plane Y', wire 22
+  89,  11,  23  ! Plane Y', wire 23
+  90,  11,  24  ! Plane Y', wire 24
+  91,  11,  25  ! Plane Y', wire 25
+  92,  11,  26  ! Plane Y', wire 26
+  96,  11,  27  ! Plane Y', wire 27
+  97,  11,  28  ! Plane Y', wire 28
+  98,  11,  29  ! Plane Y', wire 29
+  99,  11,  30  ! Plane Y', wire 30
+ 100,  11,  31  ! Plane Y', wire 31
+ 101,  11,  32  ! Plane Y', wire 32
+ 102,  11,  33  ! Plane Y', wire 33
+ 103,  11,  34  ! Plane Y', wire 34
+ 104,  11,  35  ! Plane Y', wire 35
+ 105,  11,  36  ! Plane Y', wire 36
+ 106,  11,  37  ! Plane Y', wire 37
+ 107,  11,  38  ! Plane Y', wire 38
+ 108,  11,  39  ! Plane Y', wire 39
+ 112,  11,  40  ! Plane Y', wire 40
+ 113,  11,  41  ! Plane Y', wire 41
+ 114,  11,  42  ! Plane Y', wire 42
+ 115,  11,  43  ! Plane Y', wire 43
+ 116,  11,  44  ! Plane Y', wire 44
+ 117,  11,  45  ! Plane Y', wire 45
+ 118,  11,  46  ! Plane Y', wire 46
+ 119,  11,  47  ! Plane Y', wire 47
+ 120,  11,  48  ! Plane Y', wire 48
+ 121,  11,  49  ! Plane Y', wire 49
+ 122,  11,  50  ! Plane Y', wire 50
+ 123,  11,  51  ! Plane Y', wire 51
+ 124,  11,  52  ! Plane Y', wire 52
diff --git a/MAPS/HMS/DETEC/hdc_hhodo_htrig.map b/MAPS/HMS/DETEC/hdc_hhodo_htrig.map
new file mode 100644
index 00000000..a9a77537
--- /dev/null
+++ b/MAPS/HMS/DETEC/hdc_hhodo_htrig.map
@@ -0,0 +1,1442 @@
+! THMS_ID=10       ::  ADC,TDC
+! HDC_ID=11        ::  ADC,TDC
+! HSCIN_ID=13      ::  ADC,TDC
+
+
+DETECTOR=10
+
+ROC=1
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=11  ! HMS chambers
+
+ROC=3
+
+SLOT=5
+REFINDEX=0
+ 111,1000,   0,   0
+  96,   3,   1  ! Plane U, wire 1
+  97,   3,   2  ! Plane U, wire 2
+  98,   3,   3  ! Plane U, wire 3
+  99,   3,   4  ! Plane U, wire 4
+ 100,   3,   5  ! Plane U, wire 5
+ 101,   3,   6  ! Plane U, wire 6
+ 102,   3,   7  ! Plane U, wire 7
+ 103,   3,   8  ! Plane U, wire 8
+ 104,   3,   9  ! Plane U, wire 9
+ 105,   3,  10  ! Plane U, wire 10
+ 106,   3,  11  ! Plane U, wire 11
+ 107,   3,  12  ! Plane U, wire 12
+ 108,   3,  13  ! Plane U, wire 13
+ 109,   3,  14  ! Plane U, wire 14
+ 110,   1, 113  ! Plane X, wire 113
+  80,   3,  15  ! Plane U, wire 15
+  81,   3,  16  ! Plane U, wire 16
+  82,   3,  17  ! Plane U, wire 17
+  83,   3,  18  ! Plane U, wire 18
+  84,   3,  19  ! Plane U, wire 19
+  85,   3,  20  ! Plane U, wire 20
+  86,   3,  21  ! Plane U, wire 21
+  87,   3,  22  ! Plane U, wire 22
+  88,   3,  23  ! Plane U, wire 23
+  89,   3,  24  ! Plane U, wire 24
+  90,   3,  25  ! Plane U, wire 25
+  91,   3,  26  ! Plane U, wire 26
+  92,   3,  27  ! Plane U, wire 27
+  93,   3,  28  ! Plane U, wire 28
+  94,   3,  29  ! Plane U, wire 29
+  64,   3,  30  ! Plane U, wire 30
+  65,   3,  31  ! Plane U, wire 31
+  66,   3,  32  ! Plane U, wire 32
+  67,   3,  33  ! Plane U, wire 33
+  68,   3,  34  ! Plane U, wire 34
+  69,   3,  35  ! Plane U, wire 35
+  70,   3,  36  ! Plane U, wire 36
+  71,   3,  37  ! Plane U, wire 37
+  72,   3,  38  ! Plane U, wire 38
+  73,   3,  39  ! Plane U, wire 39
+  74,   3,  40  ! Plane U, wire 40
+  75,   3,  41  ! Plane U, wire 41
+  76,   3,  42  ! Plane U, wire 42
+  77,   3,  43  ! Plane U, wire 43
+  78,   3,  44  ! Plane U, wire 44
+  79,   3,  45  ! Plane U, wire 45
+  48,   3,  46  ! Plane U, wire 46
+  49,   3,  47  ! Plane U, wire 47
+  50,   3,  48  ! Plane U, wire 48
+  51,   3,  49  ! Plane U, wire 49
+  52,   3,  50  ! Plane U, wire 50
+  53,   3,  51  ! Plane U, wire 51
+  54,   3,  52  ! Plane U, wire 52
+  55,   3,  53  ! Plane U, wire 53
+  56,   3,  54  ! Plane U, wire 54
+  57,   3,  55  ! Plane U, wire 55
+  58,   3,  56  ! Plane U, wire 56
+  59,   3,  57  ! Plane U, wire 57
+  60,   3,  58  ! Plane U, wire 58
+  61,   3,  59  ! Plane U, wire 59
+  62,   3,  60  ! Plane U, wire 60
+  32,   3,  61  ! Plane U, wire 61
+  33,   3,  62  ! Plane U, wire 62
+  34,   3,  63  ! Plane U, wire 63
+  35,   3,  64  ! Plane U, wire 64
+  36,   3,  65  ! Plane U, wire 65
+  37,   3,  66  ! Plane U, wire 66
+  38,   3,  67  ! Plane U, wire 67
+  39,   3,  68  ! Plane U, wire 68
+  40,   3,  69  ! Plane U, wire 69
+  41,   3,  70  ! Plane U, wire 70
+  42,   3,  71  ! Plane U, wire 71
+  43,   3,  72  ! Plane U, wire 72
+  44,   3,  73  ! Plane U, wire 73
+  45,   3,  74  ! Plane U, wire 74
+  46,   3,  75  ! Plane U, wire 75
+  47,   3,  76  ! Plane U, wire 76
+  16,   3,  77  ! Plane U, wire 77
+  17,   3,  78  ! Plane U, wire 78
+  18,   3,  79  ! Plane U, wire 79
+  19,   3,  80  ! Plane U, wire 80
+  20,   3,  81  ! Plane U, wire 81
+  21,   3,  82  ! Plane U, wire 82
+  22,   3,  83  ! Plane U, wire 83
+  23,   3,  84  ! Plane U, wire 84
+  24,   3,  85  ! Plane U, wire 85
+  25,   3,  86  ! Plane U, wire 86
+  26,   3,  87  ! Plane U, wire 87
+  27,   3,  88  ! Plane U, wire 88
+  28,   3,  89  ! Plane U, wire 89
+  29,   3,  90  ! Plane U, wire 90
+  30,   3,  91  ! Plane U, wire 91
+   0,   3,  92  ! Plane U, wire 92
+   1,   3,  93  ! Plane U, wire 93
+   2,   3,  94  ! Plane U, wire 94
+   3,   3,  95  ! Plane U, wire 95
+   4,   3,  96  ! Plane U, wire 96
+   5,   3,  97  ! Plane U, wire 97
+   6,   3,  98  ! Plane U, wire 98
+   7,   3,  99  ! Plane U, wire 99
+   8,   3, 100  ! Plane U, wire 100
+   9,   3, 101  ! Plane U, wire 101
+  10,   3, 102  ! Plane U, wire 102
+  11,   3, 103  ! Plane U, wire 103
+  12,   3, 104  ! Plane U, wire 104
+  13,   3, 105  ! Plane U, wire 105
+  14,   3, 106  ! Plane U, wire 106
+  15,   3, 107  ! Plane U, wire 107
+
+SLOT=7
+REFINDEX=0
+  96,   4,   1  ! Plane V, wire 1
+  97,   4,   2  ! Plane V, wire 2
+  98,   4,   3  ! Plane V, wire 3
+  99,   4,   4  ! Plane V, wire 4
+ 100,   4,   5  ! Plane V, wire 5
+ 101,   4,   6  ! Plane V, wire 6
+ 102,   4,   7  ! Plane V, wire 7
+ 103,   4,   8  ! Plane V, wire 8
+ 104,   4,   9  ! Plane V, wire 9
+ 105,   4,  10  ! Plane V, wire 10
+ 106,   4,  11  ! Plane V, wire 11
+ 107,   4,  12  ! Plane V, wire 12
+ 108,   4,  13  ! Plane V, wire 13
+ 109,   4,  14  ! Plane V, wire 14
+ 110,   6, 113  ! Plane X', wire 113
+ 112,   4,  15  ! Plane V, wire 15
+ 113,   4,  16  ! Plane V, wire 16
+ 114,   4,  17  ! Plane V, wire 17
+ 115,   4,  18  ! Plane V, wire 18
+ 116,   4,  19  ! Plane V, wire 19
+ 117,   4,  20  ! Plane V, wire 20
+ 118,   4,  21  ! Plane V, wire 21
+ 119,   4,  22  ! Plane V, wire 22
+ 120,   4,  23  ! Plane V, wire 23
+ 121,   4,  24  ! Plane V, wire 24
+ 122,   4,  25  ! Plane V, wire 25
+ 123,   4,  26  ! Plane V, wire 26
+ 124,   4,  27  ! Plane V, wire 27
+ 125,   4,  28  ! Plane V, wire 28
+ 126,   4,  29  ! Plane V, wire 29
+
+SLOT=8
+REFINDEX=0
+ 127,1000,   0,   1
+   0,   4,  30  ! Plane V, wire 30
+   1,   4,  31  ! Plane V, wire 31
+   2,   4,  32  ! Plane V, wire 32
+   3,   4,  33  ! Plane V, wire 33
+   4,   4,  34  ! Plane V, wire 34
+   5,   4,  35  ! Plane V, wire 35
+   6,   4,  36  ! Plane V, wire 36
+   7,   4,  37  ! Plane V, wire 37
+   8,   4,  38  ! Plane V, wire 38
+   9,   4,  39  ! Plane V, wire 39
+  10,   4,  40  ! Plane V, wire 40
+  11,   4,  41  ! Plane V, wire 41
+  12,   4,  42  ! Plane V, wire 42
+  13,   4,  43  ! Plane V, wire 43
+  14,   4,  44  ! Plane V, wire 44
+  15,   4,  45  ! Plane V, wire 45
+  16,   4,  46  ! Plane V, wire 46
+  17,   4,  47  ! Plane V, wire 47
+  18,   4,  48  ! Plane V, wire 48
+  19,   4,  49  ! Plane V, wire 49
+  20,   4,  50  ! Plane V, wire 50
+  21,   4,  51  ! Plane V, wire 51
+  22,   4,  52  ! Plane V, wire 52
+  23,   4,  53  ! Plane V, wire 53
+  24,   4,  54  ! Plane V, wire 54
+  25,   4,  55  ! Plane V, wire 55
+  26,   4,  56  ! Plane V, wire 56
+  27,   4,  57  ! Plane V, wire 57
+  28,   4,  58  ! Plane V, wire 58
+  29,   4,  59  ! Plane V, wire 59
+  30,   4,  60  ! Plane V, wire 60
+  32,   4,  61  ! Plane V, wire 61
+  33,   4,  62  ! Plane V, wire 62
+  34,   4,  63  ! Plane V, wire 63
+  35,   4,  64  ! Plane V, wire 64
+  36,   4,  65  ! Plane V, wire 65
+  37,   4,  66  ! Plane V, wire 66
+  38,   4,  67  ! Plane V, wire 67
+  39,   4,  68  ! Plane V, wire 68
+  40,   4,  69  ! Plane V, wire 69
+  41,   4,  70  ! Plane V, wire 70
+  42,   4,  71  ! Plane V, wire 71
+  43,   4,  72  ! Plane V, wire 72
+  44,   4,  73  ! Plane V, wire 73
+  45,   4,  74  ! Plane V, wire 74
+  46,   4,  75  ! Plane V, wire 75
+  47,   4,  76  ! Plane V, wire 76
+  48,   4,  77  ! Plane V, wire 77
+  49,   4,  78  ! Plane V, wire 78
+  50,   4,  79  ! Plane V, wire 79
+  51,   4,  80  ! Plane V, wire 80
+  52,   4,  81  ! Plane V, wire 81
+  53,   4,  82  ! Plane V, wire 82
+  54,   4,  83  ! Plane V, wire 83
+  55,   4,  84  ! Plane V, wire 84
+  56,   4,  85  ! Plane V, wire 85
+  57,   4,  86  ! Plane V, wire 86
+  58,   4,  87  ! Plane V, wire 87
+  59,   4,  88  ! Plane V, wire 88
+  60,   4,  89  ! Plane V, wire 89
+  61,   4,  90  ! Plane V, wire 90
+  62,   4,  91  ! Plane V, wire 91
+
+SLOT=4
+REFINDEX=0
+  96,   4,  92  ! Plane V, wire 92
+  97,   4,  93  ! Plane V, wire 93
+  98,   4,  94  ! Plane V, wire 94
+  99,   4,  95  ! Plane V, wire 95
+ 100,   4,  96  ! Plane V, wire 96
+ 101,   4,  97  ! Plane V, wire 97
+ 102,   4,  98  ! Plane V, wire 98
+ 103,   4,  99  ! Plane V, wire 99
+ 104,   4, 100  ! Plane V, wire 100
+ 105,   4, 101  ! Plane V, wire 101
+ 106,   4, 102  ! Plane V, wire 102
+ 107,   4, 103  ! Plane V, wire 103
+ 108,   4, 104  ! Plane V, wire 104
+ 109,   4, 105  ! Plane V, wire 105
+ 110,   4, 106  ! Plane V, wire 106
+ 111,   4, 107  ! Plane V, wire 107
+  80,   1,   1  ! Plane X, wire 1
+  81,   1,   2  ! Plane X, wire 2
+  82,   1,   3  ! Plane X, wire 3
+  83,   1,   4  ! Plane X, wire 4
+  84,   1,   5  ! Plane X, wire 5
+  85,   1,   6  ! Plane X, wire 6
+  86,   1,   7  ! Plane X, wire 7
+  87,   1,   8  ! Plane X, wire 8
+  88,   1,   9  ! Plane X, wire 9
+  89,   1,  10  ! Plane X, wire 10
+  90,   1,  11  ! Plane X, wire 11
+  91,   1,  12  ! Plane X, wire 12
+  92,   1,  13  ! Plane X, wire 13
+  93,   1,  14  ! Plane X, wire 14
+  94,   1,  15  ! Plane X, wire 15
+  95,   1,  16  ! Plane X, wire 16
+  64,   1,  17  ! Plane X, wire 17
+  65,   1,  18  ! Plane X, wire 18
+  66,   1,  19  ! Plane X, wire 19
+  67,   1,  20  ! Plane X, wire 20
+  68,   1,  21  ! Plane X, wire 21
+  69,   1,  22  ! Plane X, wire 22
+  70,   1,  23  ! Plane X, wire 23
+  71,   1,  24  ! Plane X, wire 24
+  72,   1,  25  ! Plane X, wire 25
+  73,   1,  26  ! Plane X, wire 26
+  74,   1,  27  ! Plane X, wire 27
+  75,   1,  28  ! Plane X, wire 28
+  76,   1,  29  ! Plane X, wire 29
+  77,   1,  30  ! Plane X, wire 30
+  78,   1,  31  ! Plane X, wire 31
+  79,   1,  32  ! Plane X, wire 32
+  48,   1,  33  ! Plane X, wire 33
+  49,   1,  34  ! Plane X, wire 34
+  50,   1,  35  ! Plane X, wire 35
+  51,   1,  36  ! Plane X, wire 36
+  52,   1,  37  ! Plane X, wire 37
+  53,   1,  38  ! Plane X, wire 38
+  54,   1,  39  ! Plane X, wire 39
+  55,   1,  40  ! Plane X, wire 40
+  56,   1,  41  ! Plane X, wire 41
+  57,   1,  42  ! Plane X, wire 42
+  58,   1,  43  ! Plane X, wire 43
+  59,   1,  44  ! Plane X, wire 44
+  60,   1,  45  ! Plane X, wire 45
+  61,   1,  46  ! Plane X, wire 46
+  62,   1,  47  ! Plane X, wire 47
+  63,   1,  48  ! Plane X, wire 48
+  32,   1,  49  ! Plane X, wire 49
+  33,   1,  50  ! Plane X, wire 50
+  34,   1,  51  ! Plane X, wire 51
+  35,   1,  52  ! Plane X, wire 52
+  36,   1,  53  ! Plane X, wire 53
+  37,   1,  54  ! Plane X, wire 54
+  38,   1,  55  ! Plane X, wire 55
+  39,   1,  56  ! Plane X, wire 56
+  40,   1,  57  ! Plane X, wire 57
+  41,   1,  58  ! Plane X, wire 58
+  42,   1,  59  ! Plane X, wire 59
+  43,   1,  60  ! Plane X, wire 60
+  44,   1,  61  ! Plane X, wire 61
+  45,   1,  62  ! Plane X, wire 62
+  46,   1,  63  ! Plane X, wire 63
+  47,   1,  64  ! Plane X, wire 64
+  16,   1,  65  ! Plane X, wire 65
+  17,   1,  66  ! Plane X, wire 66
+  18,   1,  67  ! Plane X, wire 67
+  19,   1,  68  ! Plane X, wire 68
+  20,   1,  69  ! Plane X, wire 69
+  21,   1,  70  ! Plane X, wire 70
+  22,   1,  71  ! Plane X, wire 71
+  23,   1,  72  ! Plane X, wire 72
+  24,   1,  73  ! Plane X, wire 73
+  25,   1,  74  ! Plane X, wire 74
+  26,   1,  75  ! Plane X, wire 75
+  27,   1,  76  ! Plane X, wire 76
+  28,   1,  77  ! Plane X, wire 77
+  29,   1,  78  ! Plane X, wire 78
+  30,   1,  79  ! Plane X, wire 79
+  31,   1,  80  ! Plane X, wire 80
+   0,   1,  81  ! Plane X, wire 81
+   1,   1,  82  ! Plane X, wire 82
+   2,   1,  83  ! Plane X, wire 83
+   3,   1,  84  ! Plane X, wire 84
+   4,   1,  85  ! Plane X, wire 85
+   5,   1,  86  ! Plane X, wire 86
+   6,   1,  87  ! Plane X, wire 87
+   7,   1,  88  ! Plane X, wire 88
+   8,   1,  89  ! Plane X, wire 89
+   9,   1,  90  ! Plane X, wire 90
+  10,   1,  91  ! Plane X, wire 91
+  11,   1,  92  ! Plane X, wire 92
+  12,   1,  93  ! Plane X, wire 93
+  13,   1,  94  ! Plane X, wire 94
+  14,   1,  95  ! Plane X, wire 95
+  15,   1,  96  ! Plane X, wire 96
+
+SLOT=7
+REFINDEX=0
+  80,   1,  97  ! Plane X, wire 97
+  81,   1,  98  ! Plane X, wire 98
+  82,   1,  99  ! Plane X, wire 99
+  83,   1, 100  ! Plane X, wire 100
+  84,   1, 101  ! Plane X, wire 101
+  85,   1, 102  ! Plane X, wire 102
+  86,   1, 103  ! Plane X, wire 103
+  87,   1, 104  ! Plane X, wire 104
+  88,   1, 105  ! Plane X, wire 105
+  89,   1, 106  ! Plane X, wire 106
+  90,   1, 107  ! Plane X, wire 107
+  91,   1, 108  ! Plane X, wire 108
+  92,   1, 109  ! Plane X, wire 109
+  93,   1, 110  ! Plane X, wire 110
+  94,   1, 111  ! Plane X, wire 111
+  95,   1, 112  ! Plane X, wire 112
+
+SLOT=4
+REFINDEX=0
+ 112,   6,   1  ! Plane X', wire 1
+ 113,   6,   2  ! Plane X', wire 2
+ 114,   6,   3  ! Plane X', wire 3
+ 115,   6,   4  ! Plane X', wire 4
+ 116,   6,   5  ! Plane X', wire 5
+ 117,   6,   6  ! Plane X', wire 6
+ 118,   6,   7  ! Plane X', wire 7
+ 119,   6,   8  ! Plane X', wire 8
+ 120,   6,   9  ! Plane X', wire 9
+ 121,   6,  10  ! Plane X', wire 10
+ 122,   6,  11  ! Plane X', wire 11
+ 123,   6,  12  ! Plane X', wire 12
+ 124,   6,  13  ! Plane X', wire 13
+ 125,   6,  14  ! Plane X', wire 14
+ 126,   6,  15  ! Plane X', wire 15
+ 127,   6,  16  ! Plane X', wire 16
+
+SLOT=5
+REFINDEX=0
+ 112,   6,  17  ! Plane X', wire 17
+ 113,   6,  18  ! Plane X', wire 18
+ 114,   6,  19  ! Plane X', wire 19
+ 115,   6,  20  ! Plane X', wire 20
+ 116,   6,  21  ! Plane X', wire 21
+ 117,   6,  22  ! Plane X', wire 22
+ 118,   6,  23  ! Plane X', wire 23
+ 119,   6,  24  ! Plane X', wire 24
+ 120,   6,  25  ! Plane X', wire 25
+ 121,   6,  26  ! Plane X', wire 26
+ 122,   6,  27  ! Plane X', wire 27
+ 123,   6,  28  ! Plane X', wire 28
+ 124,   6,  29  ! Plane X', wire 29
+ 125,   6,  30  ! Plane X', wire 30
+ 126,   6,  31  ! Plane X', wire 31
+ 127,   6,  32  ! Plane X', wire 32
+
+SLOT=7
+REFINDEX=0
+   0,   6,  33  ! Plane X', wire 33
+   1,   6,  34  ! Plane X', wire 34
+   2,   6,  35  ! Plane X', wire 35
+   3,   6,  36  ! Plane X', wire 36
+   4,   6,  37  ! Plane X', wire 37
+   5,   6,  38  ! Plane X', wire 38
+   6,   6,  39  ! Plane X', wire 39
+   7,   6,  40  ! Plane X', wire 40
+   8,   6,  41  ! Plane X', wire 41
+   9,   6,  42  ! Plane X', wire 42
+  10,   6,  43  ! Plane X', wire 43
+  11,   6,  44  ! Plane X', wire 44
+  12,   6,  45  ! Plane X', wire 45
+  13,   6,  46  ! Plane X', wire 46
+  14,   6,  47  ! Plane X', wire 47
+  15,   6,  48  ! Plane X', wire 48
+  16,   6,  49  ! Plane X', wire 49
+  17,   6,  50  ! Plane X', wire 50
+  18,   6,  51  ! Plane X', wire 51
+  19,   6,  52  ! Plane X', wire 52
+  20,   6,  53  ! Plane X', wire 53
+  21,   6,  54  ! Plane X', wire 54
+  22,   6,  55  ! Plane X', wire 55
+  23,   6,  56  ! Plane X', wire 56
+  24,   6,  57  ! Plane X', wire 57
+  25,   6,  58  ! Plane X', wire 58
+  26,   6,  59  ! Plane X', wire 59
+  27,   6,  60  ! Plane X', wire 60
+  28,   6,  61  ! Plane X', wire 61
+  29,   6,  62  ! Plane X', wire 62
+  30,   6,  63  ! Plane X', wire 63
+  31,   6,  64  ! Plane X', wire 64
+  32,   6,  65  ! Plane X', wire 65
+  33,   6,  66  ! Plane X', wire 66
+  34,   6,  67  ! Plane X', wire 67
+  35,   6,  68  ! Plane X', wire 68
+  36,   6,  69  ! Plane X', wire 69
+  37,   6,  70  ! Plane X', wire 70
+  38,   6,  71  ! Plane X', wire 71
+  39,   6,  72  ! Plane X', wire 72
+  40,   6,  73  ! Plane X', wire 73
+  41,   6,  74  ! Plane X', wire 74
+  42,   6,  75  ! Plane X', wire 75
+  43,   6,  76  ! Plane X', wire 76
+  44,   6,  77  ! Plane X', wire 77
+  45,   6,  78  ! Plane X', wire 78
+  46,   6,  79  ! Plane X', wire 79
+  47,   6,  80  ! Plane X', wire 80
+  48,   6,  81  ! Plane X', wire 81
+  49,   6,  82  ! Plane X', wire 82
+  50,   6,  83  ! Plane X', wire 83
+  51,   6,  84  ! Plane X', wire 84
+  52,   6,  85  ! Plane X', wire 85
+  53,   6,  86  ! Plane X', wire 86
+  54,   6,  87  ! Plane X', wire 87
+  55,   6,  88  ! Plane X', wire 88
+  56,   6,  89  ! Plane X', wire 89
+  57,   6,  90  ! Plane X', wire 90
+  58,   6,  91  ! Plane X', wire 91
+  59,   6,  92  ! Plane X', wire 92
+  60,   6,  93  ! Plane X', wire 93
+  61,   6,  94  ! Plane X', wire 94
+  62,   6,  95  ! Plane X', wire 95
+  63,   6,  96  ! Plane X', wire 96
+  64,   6,  97  ! Plane X', wire 97
+  65,   6,  98  ! Plane X', wire 98
+  66,   6,  99  ! Plane X', wire 99
+  67,   6, 100  ! Plane X', wire 100
+  68,   6, 101  ! Plane X', wire 101
+  69,   6, 102  ! Plane X', wire 102
+  70,   6, 103  ! Plane X', wire 103
+  71,   6, 104  ! Plane X', wire 104
+  72,   6, 105  ! Plane X', wire 105
+  73,   6, 106  ! Plane X', wire 106
+  74,   6, 107  ! Plane X', wire 107
+  75,   6, 108  ! Plane X', wire 108
+  76,   6, 109  ! Plane X', wire 109
+  77,   6, 110  ! Plane X', wire 110
+  78,   6, 111  ! Plane X', wire 111
+  79,   6, 112  ! Plane X', wire 112
+
+SLOT=8
+REFINDEX=0
+  64,   2,   1  ! Plane Y, wire 1
+  65,   2,   2  ! Plane Y, wire 2
+  66,   2,   3  ! Plane Y, wire 3
+  67,   2,   4  ! Plane Y, wire 4
+  68,   2,   5  ! Plane Y, wire 5
+  69,   2,   6  ! Plane Y, wire 6
+  70,   2,   7  ! Plane Y, wire 7
+  71,   2,   8  ! Plane Y, wire 8
+  72,   2,   9  ! Plane Y, wire 9
+  73,   2,  10  ! Plane Y, wire 10
+  74,   2,  11  ! Plane Y, wire 11
+  75,   2,  12  ! Plane Y, wire 12
+  76,   2,  13  ! Plane Y, wire 13
+  80,   2,  14  ! Plane Y, wire 14
+  81,   2,  15  ! Plane Y, wire 15
+  82,   2,  16  ! Plane Y, wire 16
+  83,   2,  17  ! Plane Y, wire 17
+  84,   2,  18  ! Plane Y, wire 18
+  85,   2,  19  ! Plane Y, wire 19
+  86,   2,  20  ! Plane Y, wire 20
+  87,   2,  21  ! Plane Y, wire 21
+  88,   2,  22  ! Plane Y, wire 22
+  89,   2,  23  ! Plane Y, wire 23
+  90,   2,  24  ! Plane Y, wire 24
+  91,   2,  25  ! Plane Y, wire 25
+  92,   2,  26  ! Plane Y, wire 26
+  96,   2,  27  ! Plane Y, wire 27
+  97,   2,  28  ! Plane Y, wire 28
+  98,   2,  29  ! Plane Y, wire 29
+  99,   2,  30  ! Plane Y, wire 30
+ 100,   2,  31  ! Plane Y, wire 31
+ 101,   2,  32  ! Plane Y, wire 32
+ 102,   2,  33  ! Plane Y, wire 33
+ 103,   2,  34  ! Plane Y, wire 34
+ 104,   2,  35  ! Plane Y, wire 35
+ 105,   2,  36  ! Plane Y, wire 36
+ 106,   2,  37  ! Plane Y, wire 37
+ 107,   2,  38  ! Plane Y, wire 38
+ 108,   2,  39  ! Plane Y, wire 39
+ 112,   2,  40  ! Plane Y, wire 40
+ 113,   2,  41  ! Plane Y, wire 41
+ 114,   2,  42  ! Plane Y, wire 42
+ 115,   2,  43  ! Plane Y, wire 43
+ 116,   2,  44  ! Plane Y, wire 44
+ 117,   2,  45  ! Plane Y, wire 45
+ 118,   2,  46  ! Plane Y, wire 46
+ 119,   2,  47  ! Plane Y, wire 47
+ 120,   2,  48  ! Plane Y, wire 48
+ 121,   2,  49  ! Plane Y, wire 49
+ 122,   2,  50  ! Plane Y, wire 50
+ 123,   2,  51  ! Plane Y, wire 51
+ 124,   2,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   2
+   0,   5,   1  ! Plane Y', wire 1
+   1,   5,   2  ! Plane Y', wire 2
+   2,   5,   3  ! Plane Y', wire 3
+   3,   5,   4  ! Plane Y', wire 4
+   4,   5,   5  ! Plane Y', wire 5
+   5,   5,   6  ! Plane Y', wire 6
+   6,   5,   7  ! Plane Y', wire 7
+   7,   5,   8  ! Plane Y', wire 8
+   8,   5,   9  ! Plane Y', wire 9
+   9,   5,  10  ! Plane Y', wire 10
+  10,   5,  11  ! Plane Y', wire 11
+  11,   5,  12  ! Plane Y', wire 12
+  12,   5,  13  ! Plane Y', wire 13
+  16,   5,  14  ! Plane Y', wire 14
+  17,   5,  15  ! Plane Y', wire 15
+  18,   5,  16  ! Plane Y', wire 16
+  19,   5,  17  ! Plane Y', wire 17
+  20,   5,  18  ! Plane Y', wire 18
+  21,   5,  19  ! Plane Y', wire 19
+  22,   5,  20  ! Plane Y', wire 20
+  23,   5,  21  ! Plane Y', wire 21
+  24,   5,  22  ! Plane Y', wire 22
+  25,   5,  23  ! Plane Y', wire 23
+  26,   5,  24  ! Plane Y', wire 24
+  27,   5,  25  ! Plane Y', wire 25
+  28,   5,  26  ! Plane Y', wire 26
+  32,   5,  27  ! Plane Y', wire 27
+  33,   5,  28  ! Plane Y', wire 28
+  34,   5,  29  ! Plane Y', wire 29
+  35,   5,  30  ! Plane Y', wire 30
+  36,   5,  31  ! Plane Y', wire 31
+  37,   5,  32  ! Plane Y', wire 32
+  38,   5,  33  ! Plane Y', wire 33
+  39,   5,  34  ! Plane Y', wire 34
+  40,   5,  35  ! Plane Y', wire 35
+  41,   5,  36  ! Plane Y', wire 36
+  42,   5,  37  ! Plane Y', wire 37
+  43,   5,  38  ! Plane Y', wire 38
+  44,   5,  39  ! Plane Y', wire 39
+  48,   5,  40  ! Plane Y', wire 40
+  49,   5,  41  ! Plane Y', wire 41
+  50,   5,  42  ! Plane Y', wire 42
+  51,   5,  43  ! Plane Y', wire 43
+  52,   5,  44  ! Plane Y', wire 44
+  53,   5,  45  ! Plane Y', wire 45
+  54,   5,  46  ! Plane Y', wire 46
+  55,   5,  47  ! Plane Y', wire 47
+  56,   5,  48  ! Plane Y', wire 48
+  57,   5,  49  ! Plane Y', wire 49
+  58,   5,  50  ! Plane Y', wire 50
+  59,   5,  51  ! Plane Y', wire 51
+  60,   5,  52  ! Plane Y', wire 52
+
+SLOT=16
+REFINDEX=0
+  96,   9,   1  ! Plane U, wire 1
+  97,   9,   2  ! Plane U, wire 2
+  98,   9,   3  ! Plane U, wire 3
+  99,   9,   4  ! Plane U, wire 4
+ 100,   9,   5  ! Plane U, wire 5
+ 101,   9,   6  ! Plane U, wire 6
+ 102,   9,   7  ! Plane U, wire 7
+ 103,   9,   8  ! Plane U, wire 8
+ 104,   9,   9  ! Plane U, wire 9
+ 105,   9,  10  ! Plane U, wire 10
+ 106,   9,  11  ! Plane U, wire 11
+ 107,   9,  12  ! Plane U, wire 12
+ 108,   9,  13  ! Plane U, wire 13
+ 109,   9,  14  ! Plane U, wire 14
+ 110,   7, 113  ! Plane X, wire 113
+ 112,   9,  15  ! Plane U, wire 15
+ 113,   9,  16  ! Plane U, wire 16
+ 114,   9,  17  ! Plane U, wire 17
+ 115,   9,  18  ! Plane U, wire 18
+ 116,   9,  19  ! Plane U, wire 19
+ 117,   9,  20  ! Plane U, wire 20
+ 118,   9,  21  ! Plane U, wire 21
+ 119,   9,  22  ! Plane U, wire 22
+ 120,   9,  23  ! Plane U, wire 23
+ 121,   9,  24  ! Plane U, wire 24
+ 122,   9,  25  ! Plane U, wire 25
+ 123,   9,  26  ! Plane U, wire 26
+ 124,   9,  27  ! Plane U, wire 27
+ 125,   9,  28  ! Plane U, wire 28
+ 126,   9,  29  ! Plane U, wire 29
+
+SLOT=14
+REFINDEX=0
+   0,   9,  30  ! Plane U, wire 30
+   1,   9,  31  ! Plane U, wire 31
+   2,   9,  32  ! Plane U, wire 32
+   3,   9,  33  ! Plane U, wire 33
+   4,   9,  34  ! Plane U, wire 34
+   5,   9,  35  ! Plane U, wire 35
+   6,   9,  36  ! Plane U, wire 36
+   7,   9,  37  ! Plane U, wire 37
+   8,   9,  38  ! Plane U, wire 38
+   9,   9,  39  ! Plane U, wire 39
+  10,   9,  40  ! Plane U, wire 40
+  11,   9,  41  ! Plane U, wire 41
+  12,   9,  42  ! Plane U, wire 42
+  13,   9,  43  ! Plane U, wire 43
+  14,   9,  44  ! Plane U, wire 44
+  15,   9,  45  ! Plane U, wire 45
+  32,   9,  46  ! Plane U, wire 46
+  33,   9,  47  ! Plane U, wire 47
+  34,   9,  48  ! Plane U, wire 48
+  35,   9,  49  ! Plane U, wire 49
+  36,   9,  50  ! Plane U, wire 50
+  37,   9,  51  ! Plane U, wire 51
+  38,   9,  52  ! Plane U, wire 52
+  39,   9,  53  ! Plane U, wire 53
+  40,   9,  54  ! Plane U, wire 54
+  41,   9,  55  ! Plane U, wire 55
+  42,   9,  56  ! Plane U, wire 56
+  43,   9,  57  ! Plane U, wire 57
+  44,   9,  58  ! Plane U, wire 58
+  45,   9,  59  ! Plane U, wire 59
+  46,   9,  60  ! Plane U, wire 60
+  48,   9,  61  ! Plane U, wire 61
+  49,   9,  62  ! Plane U, wire 62
+  50,   9,  63  ! Plane U, wire 63
+  51,   9,  64  ! Plane U, wire 64
+  52,   9,  65  ! Plane U, wire 65
+  53,   9,  66  ! Plane U, wire 66
+  54,   9,  67  ! Plane U, wire 67
+  55,   9,  68  ! Plane U, wire 68
+  56,   9,  69  ! Plane U, wire 69
+  57,   9,  70  ! Plane U, wire 70
+  58,   9,  71  ! Plane U, wire 71
+  59,   9,  72  ! Plane U, wire 72
+  60,   9,  73  ! Plane U, wire 73
+  61,   9,  74  ! Plane U, wire 74
+  62,   9,  75  ! Plane U, wire 75
+  63,   9,  76  ! Plane U, wire 76
+  64,   9,  77  ! Plane U, wire 77
+  65,   9,  78  ! Plane U, wire 78
+  66,   9,  79  ! Plane U, wire 79
+  67,   9,  80  ! Plane U, wire 80
+  68,   9,  81  ! Plane U, wire 81
+  69,   9,  82  ! Plane U, wire 82
+  70,   9,  83  ! Plane U, wire 83
+  71,   9,  84  ! Plane U, wire 84
+  72,   9,  85  ! Plane U, wire 85
+  73,   9,  86  ! Plane U, wire 86
+  74,   9,  87  ! Plane U, wire 87
+  75,   9,  88  ! Plane U, wire 88
+  76,   9,  89  ! Plane U, wire 89
+  77,   9,  90  ! Plane U, wire 90
+  78,   9,  91  ! Plane U, wire 91
+  80,   9,  92  ! Plane U, wire 92
+  81,   9,  93  ! Plane U, wire 93
+  82,   9,  94  ! Plane U, wire 94
+  83,   9,  95  ! Plane U, wire 95
+  84,   9,  96  ! Plane U, wire 96
+  85,   9,  97  ! Plane U, wire 97
+  86,   9,  98  ! Plane U, wire 98
+  87,   9,  99  ! Plane U, wire 99
+  88,   9, 100  ! Plane U, wire 100
+  89,   9, 101  ! Plane U, wire 101
+  90,   9, 102  ! Plane U, wire 102
+  91,   9, 103  ! Plane U, wire 103
+  92,   9, 104  ! Plane U, wire 104
+  93,   9, 105  ! Plane U, wire 105
+  94,   9, 106  ! Plane U, wire 106
+  95,   9, 107  ! Plane U, wire 107
+
+SLOT=16
+REFINDEX=0
+  80,  10,   1  ! Plane V, wire 1
+  81,  10,   2  ! Plane V, wire 2
+  82,  10,   3  ! Plane V, wire 3
+  83,  10,   4  ! Plane V, wire 4
+  84,  10,   5  ! Plane V, wire 5
+  85,  10,   6  ! Plane V, wire 6
+  86,  10,   7  ! Plane V, wire 7
+  87,  10,   8  ! Plane V, wire 8
+  88,  10,   9  ! Plane V, wire 9
+  89,  10,  10  ! Plane V, wire 10
+  90,  10,  11  ! Plane V, wire 11
+  91,  10,  12  ! Plane V, wire 12
+  92,  10,  13  ! Plane V, wire 13
+  93,  10,  14  ! Plane V, wire 14
+  94,  12, 113  ! Plane X', wire 113
+
+SLOT=14
+REFINDEX=0
+  96,  10,  15  ! Plane V, wire 15
+  97,  10,  16  ! Plane V, wire 16
+  98,  10,  17  ! Plane V, wire 17
+  99,  10,  18  ! Plane V, wire 18
+ 100,  10,  19  ! Plane V, wire 19
+ 101,  10,  20  ! Plane V, wire 20
+ 102,  10,  21  ! Plane V, wire 21
+ 103,  10,  22  ! Plane V, wire 22
+ 104,  10,  23  ! Plane V, wire 23
+ 105,  10,  24  ! Plane V, wire 24
+ 106,  10,  25  ! Plane V, wire 25
+ 107,  10,  26  ! Plane V, wire 26
+ 108,  10,  27  ! Plane V, wire 27
+ 109,  10,  28  ! Plane V, wire 28
+ 110,  10,  29  ! Plane V, wire 29
+ 112,  10,  30  ! Plane V, wire 30
+ 113,  10,  31  ! Plane V, wire 31
+ 114,  10,  32  ! Plane V, wire 32
+ 115,  10,  33  ! Plane V, wire 33
+ 116,  10,  34  ! Plane V, wire 34
+ 117,  10,  35  ! Plane V, wire 35
+ 118,  10,  36  ! Plane V, wire 36
+ 119,  10,  37  ! Plane V, wire 37
+ 120,  10,  38  ! Plane V, wire 38
+ 121,  10,  39  ! Plane V, wire 39
+ 122,  10,  40  ! Plane V, wire 40
+ 123,  10,  41  ! Plane V, wire 41
+ 124,  10,  42  ! Plane V, wire 42
+ 125,  10,  43  ! Plane V, wire 43
+ 126,  10,  44  ! Plane V, wire 44
+ 127,  10,  45  ! Plane V, wire 45
+
+SLOT=17
+REFINDEX=0
+ 127,1000,   0,   3
+   0,  10,  46  ! Plane V, wire 46
+   1,  10,  47  ! Plane V, wire 47
+   2,  10,  48  ! Plane V, wire 48
+   3,  10,  49  ! Plane V, wire 49
+   4,  10,  50  ! Plane V, wire 50
+   5,  10,  51  ! Plane V, wire 51
+   6,  10,  52  ! Plane V, wire 52
+   7,  10,  53  ! Plane V, wire 53
+   8,  10,  54  ! Plane V, wire 54
+   9,  10,  55  ! Plane V, wire 55
+  10,  10,  56  ! Plane V, wire 56
+  11,  10,  57  ! Plane V, wire 57
+  12,  10,  58  ! Plane V, wire 58
+  13,  10,  59  ! Plane V, wire 59
+  14,  10,  60  ! Plane V, wire 60
+  16,  10,  61  ! Plane V, wire 61
+  17,  10,  62  ! Plane V, wire 62
+  18,  10,  63  ! Plane V, wire 63
+  19,  10,  64  ! Plane V, wire 64
+  20,  10,  65  ! Plane V, wire 65
+  21,  10,  66  ! Plane V, wire 66
+  22,  10,  67  ! Plane V, wire 67
+  23,  10,  68  ! Plane V, wire 68
+  24,  10,  69  ! Plane V, wire 69
+  25,  10,  70  ! Plane V, wire 70
+  26,  10,  71  ! Plane V, wire 71
+  27,  10,  72  ! Plane V, wire 72
+  28,  10,  73  ! Plane V, wire 73
+  29,  10,  74  ! Plane V, wire 74
+  30,  10,  75  ! Plane V, wire 75
+  31,  10,  76  ! Plane V, wire 76
+  32,  10,  77  ! Plane V, wire 77
+  33,  10,  78  ! Plane V, wire 78
+  34,  10,  79  ! Plane V, wire 79
+  35,  10,  80  ! Plane V, wire 80
+  36,  10,  81  ! Plane V, wire 81
+  37,  10,  82  ! Plane V, wire 82
+  38,  10,  83  ! Plane V, wire 83
+  39,  10,  84  ! Plane V, wire 84
+  40,  10,  85  ! Plane V, wire 85
+  41,  10,  86  ! Plane V, wire 86
+  42,  10,  87  ! Plane V, wire 87
+  43,  10,  88  ! Plane V, wire 88
+  44,  10,  89  ! Plane V, wire 89
+  45,  10,  90  ! Plane V, wire 90
+  46,  10,  91  ! Plane V, wire 91
+  48,  10,  92  ! Plane V, wire 92
+  49,  10,  93  ! Plane V, wire 93
+  50,  10,  94  ! Plane V, wire 94
+  51,  10,  95  ! Plane V, wire 95
+  52,  10,  96  ! Plane V, wire 96
+  53,  10,  97  ! Plane V, wire 97
+  54,  10,  98  ! Plane V, wire 98
+  55,  10,  99  ! Plane V, wire 99
+  56,  10, 100  ! Plane V, wire 100
+  57,  10, 101  ! Plane V, wire 101
+  58,  10, 102  ! Plane V, wire 102
+  59,  10, 103  ! Plane V, wire 103
+  60,  10, 104  ! Plane V, wire 104
+  61,  10, 105  ! Plane V, wire 105
+  62,  10, 106  ! Plane V, wire 106
+  63,  10, 107  ! Plane V, wire 107
+
+SLOT=13
+REFINDEX=0
+   0,   7,   1  ! Plane X, wire 1
+   1,   7,   2  ! Plane X, wire 2
+   2,   7,   3  ! Plane X, wire 3
+   3,   7,   4  ! Plane X, wire 4
+   4,   7,   5  ! Plane X, wire 5
+   5,   7,   6  ! Plane X, wire 6
+   6,   7,   7  ! Plane X, wire 7
+   7,   7,   8  ! Plane X, wire 8
+   8,   7,   9  ! Plane X, wire 9
+   9,   7,  10  ! Plane X, wire 10
+  10,   7,  11  ! Plane X, wire 11
+  11,   7,  12  ! Plane X, wire 12
+  12,   7,  13  ! Plane X, wire 13
+  13,   7,  14  ! Plane X, wire 14
+  14,   7,  15  ! Plane X, wire 15
+  15,   7,  16  ! Plane X, wire 16
+  16,   7,  17  ! Plane X, wire 17
+  17,   7,  18  ! Plane X, wire 18
+  18,   7,  19  ! Plane X, wire 19
+  19,   7,  20  ! Plane X, wire 20
+  20,   7,  21  ! Plane X, wire 21
+  21,   7,  22  ! Plane X, wire 22
+  22,   7,  23  ! Plane X, wire 23
+  23,   7,  24  ! Plane X, wire 24
+  24,   7,  25  ! Plane X, wire 25
+  25,   7,  26  ! Plane X, wire 26
+  26,   7,  27  ! Plane X, wire 27
+  27,   7,  28  ! Plane X, wire 28
+  28,   7,  29  ! Plane X, wire 29
+  29,   7,  30  ! Plane X, wire 30
+  30,   7,  31  ! Plane X, wire 31
+  31,   7,  32  ! Plane X, wire 32
+  32,   7,  33  ! Plane X, wire 33
+  33,   7,  34  ! Plane X, wire 34
+  34,   7,  35  ! Plane X, wire 35
+  35,   7,  36  ! Plane X, wire 36
+  36,   7,  37  ! Plane X, wire 37
+  37,   7,  38  ! Plane X, wire 38
+  38,   7,  39  ! Plane X, wire 39
+  39,   7,  40  ! Plane X, wire 40
+  40,   7,  41  ! Plane X, wire 41
+  41,   7,  42  ! Plane X, wire 42
+  42,   7,  43  ! Plane X, wire 43
+  43,   7,  44  ! Plane X, wire 44
+  44,   7,  45  ! Plane X, wire 45
+  45,   7,  46  ! Plane X, wire 46
+  46,   7,  47  ! Plane X, wire 47
+  47,   7,  48  ! Plane X, wire 48
+  48,   7,  49  ! Plane X, wire 49
+  49,   7,  50  ! Plane X, wire 50
+  50,   7,  51  ! Plane X, wire 51
+  51,   7,  52  ! Plane X, wire 52
+  52,   7,  53  ! Plane X, wire 53
+  53,   7,  54  ! Plane X, wire 54
+  54,   7,  55  ! Plane X, wire 55
+  55,   7,  56  ! Plane X, wire 56
+  56,   7,  57  ! Plane X, wire 57
+  57,   7,  58  ! Plane X, wire 58
+  58,   7,  59  ! Plane X, wire 59
+  59,   7,  60  ! Plane X, wire 60
+  60,   7,  61  ! Plane X, wire 61
+  61,   7,  62  ! Plane X, wire 62
+  62,   7,  63  ! Plane X, wire 63
+  63,   7,  64  ! Plane X, wire 64
+  64,   7,  65  ! Plane X, wire 65
+  65,   7,  66  ! Plane X, wire 66
+  66,   7,  67  ! Plane X, wire 67
+  67,   7,  68  ! Plane X, wire 68
+  68,   7,  69  ! Plane X, wire 69
+  69,   7,  70  ! Plane X, wire 70
+  70,   7,  71  ! Plane X, wire 71
+  71,   7,  72  ! Plane X, wire 72
+  72,   7,  73  ! Plane X, wire 73
+  73,   7,  74  ! Plane X, wire 74
+  74,   7,  75  ! Plane X, wire 75
+  75,   7,  76  ! Plane X, wire 76
+  76,   7,  77  ! Plane X, wire 77
+  77,   7,  78  ! Plane X, wire 78
+  78,   7,  79  ! Plane X, wire 79
+  79,   7,  80  ! Plane X, wire 80
+  80,   7,  81  ! Plane X, wire 81
+  81,   7,  82  ! Plane X, wire 82
+  82,   7,  83  ! Plane X, wire 83
+  83,   7,  84  ! Plane X, wire 84
+  84,   7,  85  ! Plane X, wire 85
+  85,   7,  86  ! Plane X, wire 86
+  86,   7,  87  ! Plane X, wire 87
+  87,   7,  88  ! Plane X, wire 88
+  88,   7,  89  ! Plane X, wire 89
+  89,   7,  90  ! Plane X, wire 90
+  90,   7,  91  ! Plane X, wire 91
+  91,   7,  92  ! Plane X, wire 92
+  92,   7,  93  ! Plane X, wire 93
+  93,   7,  94  ! Plane X, wire 94
+  94,   7,  95  ! Plane X, wire 95
+  95,   7,  96  ! Plane X, wire 96
+  96,   7,  97  ! Plane X, wire 97
+  97,   7,  98  ! Plane X, wire 98
+  98,   7,  99  ! Plane X, wire 99
+  99,   7, 100  ! Plane X, wire 100
+ 100,   7, 101  ! Plane X, wire 101
+ 101,   7, 102  ! Plane X, wire 102
+ 102,   7, 103  ! Plane X, wire 103
+ 103,   7, 104  ! Plane X, wire 104
+ 104,   7, 105  ! Plane X, wire 105
+ 105,   7, 106  ! Plane X, wire 106
+ 106,   7, 107  ! Plane X, wire 107
+ 107,   7, 108  ! Plane X, wire 108
+ 108,   7, 109  ! Plane X, wire 109
+ 109,   7, 110  ! Plane X, wire 110
+ 110,   7, 111  ! Plane X, wire 111
+ 111,   7, 112  ! Plane X, wire 112
+ 112,  12,   1  ! Plane X', wire 1
+ 113,  12,   2  ! Plane X', wire 2
+ 114,  12,   3  ! Plane X', wire 3
+ 115,  12,   4  ! Plane X', wire 4
+ 116,  12,   5  ! Plane X', wire 5
+ 117,  12,   6  ! Plane X', wire 6
+ 118,  12,   7  ! Plane X', wire 7
+ 119,  12,   8  ! Plane X', wire 8
+ 120,  12,   9  ! Plane X', wire 9
+ 121,  12,  10  ! Plane X', wire 10
+ 122,  12,  11  ! Plane X', wire 11
+ 123,  12,  12  ! Plane X', wire 12
+ 124,  12,  13  ! Plane X', wire 13
+ 125,  12,  14  ! Plane X', wire 14
+ 126,  12,  15  ! Plane X', wire 15
+ 127,  12,  16  ! Plane X', wire 16
+
+SLOT=14
+REFINDEX=0
+  16,  12,  17  ! Plane X', wire 17
+  17,  12,  18  ! Plane X', wire 18
+  18,  12,  19  ! Plane X', wire 19
+  19,  12,  20  ! Plane X', wire 20
+  20,  12,  21  ! Plane X', wire 21
+  21,  12,  22  ! Plane X', wire 22
+  22,  12,  23  ! Plane X', wire 23
+  23,  12,  24  ! Plane X', wire 24
+  24,  12,  25  ! Plane X', wire 25
+  25,  12,  26  ! Plane X', wire 26
+  26,  12,  27  ! Plane X', wire 27
+  27,  12,  28  ! Plane X', wire 28
+  28,  12,  29  ! Plane X', wire 29
+  29,  12,  30  ! Plane X', wire 30
+  30,  12,  31  ! Plane X', wire 31
+  31,  12,  32  ! Plane X', wire 32
+
+SLOT=16
+REFINDEX=0
+   0,  12,  33  ! Plane X', wire 33
+   1,  12,  34  ! Plane X', wire 34
+   2,  12,  35  ! Plane X', wire 35
+   3,  12,  36  ! Plane X', wire 36
+   4,  12,  37  ! Plane X', wire 37
+   5,  12,  38  ! Plane X', wire 38
+   6,  12,  39  ! Plane X', wire 39
+   7,  12,  40  ! Plane X', wire 40
+   8,  12,  41  ! Plane X', wire 41
+   9,  12,  42  ! Plane X', wire 42
+  10,  12,  43  ! Plane X', wire 43
+  11,  12,  44  ! Plane X', wire 44
+  12,  12,  45  ! Plane X', wire 45
+  13,  12,  46  ! Plane X', wire 46
+  14,  12,  47  ! Plane X', wire 47
+  15,  12,  48  ! Plane X', wire 48
+  16,  12,  49  ! Plane X', wire 49
+  17,  12,  50  ! Plane X', wire 50
+  18,  12,  51  ! Plane X', wire 51
+  19,  12,  52  ! Plane X', wire 52
+  20,  12,  53  ! Plane X', wire 53
+  21,  12,  54  ! Plane X', wire 54
+  22,  12,  55  ! Plane X', wire 55
+  23,  12,  56  ! Plane X', wire 56
+  24,  12,  57  ! Plane X', wire 57
+  25,  12,  58  ! Plane X', wire 58
+  26,  12,  59  ! Plane X', wire 59
+  27,  12,  60  ! Plane X', wire 60
+  28,  12,  61  ! Plane X', wire 61
+  29,  12,  62  ! Plane X', wire 62
+  30,  12,  63  ! Plane X', wire 63
+  31,  12,  64  ! Plane X', wire 64
+  32,  12,  65  ! Plane X', wire 65
+  33,  12,  66  ! Plane X', wire 66
+  34,  12,  67  ! Plane X', wire 67
+  35,  12,  68  ! Plane X', wire 68
+  36,  12,  69  ! Plane X', wire 69
+  37,  12,  70  ! Plane X', wire 70
+  38,  12,  71  ! Plane X', wire 71
+  39,  12,  72  ! Plane X', wire 72
+  40,  12,  73  ! Plane X', wire 73
+  41,  12,  74  ! Plane X', wire 74
+  42,  12,  75  ! Plane X', wire 75
+  43,  12,  76  ! Plane X', wire 76
+  44,  12,  77  ! Plane X', wire 77
+  45,  12,  78  ! Plane X', wire 78
+  46,  12,  79  ! Plane X', wire 79
+  47,  12,  80  ! Plane X', wire 80
+  48,  12,  81  ! Plane X', wire 81
+  49,  12,  82  ! Plane X', wire 82
+  50,  12,  83  ! Plane X', wire 83
+  51,  12,  84  ! Plane X', wire 84
+  52,  12,  85  ! Plane X', wire 85
+  53,  12,  86  ! Plane X', wire 86
+  54,  12,  87  ! Plane X', wire 87
+  55,  12,  88  ! Plane X', wire 88
+  56,  12,  89  ! Plane X', wire 89
+  57,  12,  90  ! Plane X', wire 90
+  58,  12,  91  ! Plane X', wire 91
+  59,  12,  92  ! Plane X', wire 92
+  60,  12,  93  ! Plane X', wire 93
+  61,  12,  94  ! Plane X', wire 94
+  62,  12,  95  ! Plane X', wire 95
+  63,  12,  96  ! Plane X', wire 96
+  64,  12,  97  ! Plane X', wire 97
+  65,  12,  98  ! Plane X', wire 98
+  66,  12,  99  ! Plane X', wire 99
+  67,  12, 100  ! Plane X', wire 100
+  68,  12, 101  ! Plane X', wire 101
+  69,  12, 102  ! Plane X', wire 102
+  70,  12, 103  ! Plane X', wire 103
+  71,  12, 104  ! Plane X', wire 104
+  72,  12, 105  ! Plane X', wire 105
+  73,  12, 106  ! Plane X', wire 106
+  74,  12, 107  ! Plane X', wire 107
+  75,  12, 108  ! Plane X', wire 108
+  76,  12, 109  ! Plane X', wire 109
+  77,  12, 110  ! Plane X', wire 110
+  78,  12, 111  ! Plane X', wire 111
+  79,  12, 112  ! Plane X', wire 112
+
+SLOT=17
+REFINDEX=0
+  64,   8,   1  ! Plane Y, wire 1
+  65,   8,   2  ! Plane Y, wire 2
+  66,   8,   3  ! Plane Y, wire 3
+  67,   8,   4  ! Plane Y, wire 4
+  68,   8,   5  ! Plane Y, wire 5
+  69,   8,   6  ! Plane Y, wire 6
+  70,   8,   7  ! Plane Y, wire 7
+  71,   8,   8  ! Plane Y, wire 8
+  72,   8,   9  ! Plane Y, wire 9
+  73,   8,  10  ! Plane Y, wire 10
+  74,   8,  11  ! Plane Y, wire 11
+  75,   8,  12  ! Plane Y, wire 12
+  76,   8,  13  ! Plane Y, wire 13
+  80,   8,  14  ! Plane Y, wire 14
+  81,   8,  15  ! Plane Y, wire 15
+  82,   8,  16  ! Plane Y, wire 16
+  83,   8,  17  ! Plane Y, wire 17
+  84,   8,  18  ! Plane Y, wire 18
+  85,   8,  19  ! Plane Y, wire 19
+  86,   8,  20  ! Plane Y, wire 20
+  87,   8,  21  ! Plane Y, wire 21
+  88,   8,  22  ! Plane Y, wire 22
+  89,   8,  23  ! Plane Y, wire 23
+  90,   8,  24  ! Plane Y, wire 24
+  91,   8,  25  ! Plane Y, wire 25
+  92,   8,  26  ! Plane Y, wire 26
+  96,   8,  27  ! Plane Y, wire 27
+  97,   8,  28  ! Plane Y, wire 28
+  98,   8,  29  ! Plane Y, wire 29
+  99,   8,  30  ! Plane Y, wire 30
+ 100,   8,  31  ! Plane Y, wire 31
+ 101,   8,  32  ! Plane Y, wire 32
+ 102,   8,  33  ! Plane Y, wire 33
+ 103,   8,  34  ! Plane Y, wire 34
+ 104,   8,  35  ! Plane Y, wire 35
+ 105,   8,  36  ! Plane Y, wire 36
+ 106,   8,  37  ! Plane Y, wire 37
+ 107,   8,  38  ! Plane Y, wire 38
+ 108,   8,  39  ! Plane Y, wire 39
+ 112,   8,  40  ! Plane Y, wire 40
+ 113,   8,  41  ! Plane Y, wire 41
+ 114,   8,  42  ! Plane Y, wire 42
+ 115,   8,  43  ! Plane Y, wire 43
+ 116,   8,  44  ! Plane Y, wire 44
+ 117,   8,  45  ! Plane Y, wire 45
+ 118,   8,  46  ! Plane Y, wire 46
+ 119,   8,  47  ! Plane Y, wire 47
+ 120,   8,  48  ! Plane Y, wire 48
+ 121,   8,  49  ! Plane Y, wire 49
+ 122,   8,  50  ! Plane Y, wire 50
+ 123,   8,  51  ! Plane Y, wire 51
+ 124,   8,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   1
+  64,  11,   1  ! Plane Y', wire 1
+  65,  11,   2  ! Plane Y', wire 2
+  66,  11,   3  ! Plane Y', wire 3
+  67,  11,   4  ! Plane Y', wire 4
+  68,  11,   5  ! Plane Y', wire 5
+  69,  11,   6  ! Plane Y', wire 6
+  70,  11,   7  ! Plane Y', wire 7
+  71,  11,   8  ! Plane Y', wire 8
+  72,  11,   9  ! Plane Y', wire 9
+  73,  11,  10  ! Plane Y', wire 10
+  74,  11,  11  ! Plane Y', wire 11
+  75,  11,  12  ! Plane Y', wire 12
+  76,  11,  13  ! Plane Y', wire 13
+  80,  11,  14  ! Plane Y', wire 14
+  81,  11,  15  ! Plane Y', wire 15
+  82,  11,  16  ! Plane Y', wire 16
+  83,  11,  17  ! Plane Y', wire 17
+  84,  11,  18  ! Plane Y', wire 18
+  85,  11,  19  ! Plane Y', wire 19
+  86,  11,  20  ! Plane Y', wire 20
+  87,  11,  21  ! Plane Y', wire 21
+  88,  11,  22  ! Plane Y', wire 22
+  89,  11,  23  ! Plane Y', wire 23
+  90,  11,  24  ! Plane Y', wire 24
+  91,  11,  25  ! Plane Y', wire 25
+  92,  11,  26  ! Plane Y', wire 26
+  96,  11,  27  ! Plane Y', wire 27
+  97,  11,  28  ! Plane Y', wire 28
+  98,  11,  29  ! Plane Y', wire 29
+  99,  11,  30  ! Plane Y', wire 30
+ 100,  11,  31  ! Plane Y', wire 31
+ 101,  11,  32  ! Plane Y', wire 32
+ 102,  11,  33  ! Plane Y', wire 33
+ 103,  11,  34  ! Plane Y', wire 34
+ 104,  11,  35  ! Plane Y', wire 35
+ 105,  11,  36  ! Plane Y', wire 36
+ 106,  11,  37  ! Plane Y', wire 37
+ 107,  11,  38  ! Plane Y', wire 38
+ 108,  11,  39  ! Plane Y', wire 39
+ 112,  11,  40  ! Plane Y', wire 40
+ 113,  11,  41  ! Plane Y', wire 41
+ 114,  11,  42  ! Plane Y', wire 42
+ 115,  11,  43  ! Plane Y', wire 43
+ 116,  11,  44  ! Plane Y', wire 44
+ 117,  11,  45  ! Plane Y', wire 45
+ 118,  11,  46  ! Plane Y', wire 46
+ 119,  11,  47  ! Plane Y', wire 47
+ 120,  11,  48  ! Plane Y', wire 48
+ 121,  11,  49  ! Plane Y', wire 49
+ 122,  11,  50  ! Plane Y', wire 50
+ 123,  11,  51  ! Plane Y', wire 51
+ 124,  11,  52  ! Plane Y', wire 52
+
+
+DETECTOR=13
+
+ROC=1
+
+SLOT=8
+   0,   1,   1,   0  ! h1x01A+
+   1,   1,   2,   0  ! h1x02A+
+   2,   1,   3,   0  ! h1x03A+
+   3,   1,   4,   0  ! h1x04A+
+   4,   1,   5,   0  ! h1x05A+
+   5,   1,   6,   0  ! h1x06A+
+   6,   1,   7,   0  ! h1x07A+
+   7,   1,   8,   0  ! h1x08A+
+   8,   1,   9,   0  ! h1x09A+
+   9,   1,  10,   0  ! h1x10A+
+  10,   1,  11,   0  ! h1x11A+
+  11,   1,  12,   0  ! h1x12A+
+  12,   1,  13,   0  ! h1x13A+
+  13,   1,  14,   0  ! h1x14A+
+  14,   1,  15,   0  ! h1x15A+
+  15,   1,  16,   0  ! h1x16A+
+
+SLOT=9
+   0,   1,   1,   1  ! h1x01A-
+   1,   1,   2,   1  ! h1x02A-
+   2,   1,   3,   1  ! h1x03A-
+   3,   1,   4,   1  ! h1x04A-
+   4,   1,   5,   1  ! h1x05A-
+   5,   1,   6,   1  ! h1x06A-
+   6,   1,   7,   1  ! h1x07A-
+   7,   1,   8,   1  ! h1x08A-
+   8,   1,   9,   1  ! h1x09A-
+   9,   1,  10,   1  ! h1x10A-
+  10,   1,  11,   1  ! h1x11A-
+  11,   1,  12,   1  ! h1x12A-
+  12,   1,  13,   1  ! h1x13A-
+  13,   1,  14,   1  ! h1x14A-
+  14,   1,  15,   1  ! h1x15A-
+  15,   1,  16,   1  ! h1x16A-
+
+SLOT=10
+   0,   2,   1,   0  ! h1y01A+
+   1,   2,   2,   0  ! h1y02A+
+   2,   2,   3,   0  ! h1y03A+
+   3,   2,   4,   0  ! h1y04A+
+   4,   2,   5,   0  ! h1y05A+
+   5,   2,   6,   0  ! h1y06A+
+   6,   2,   7,   0  ! h1y07A+
+   7,   2,   8,   0  ! h1y08A+
+   8,   2,   9,   0  ! h1y09A+
+   9,   2,  10,   0  ! h1y10A+
+  10,   2,   1,   1  ! h1y01A-
+  11,   2,   2,   1  ! h1y02A-
+  12,   2,   3,   1  ! h1y03A-
+  13,   2,   4,   1  ! h1y04A-
+  14,   2,   5,   1  ! h1y05A-
+  15,   2,   6,   1  ! h1y06A-
+
+SLOT=13
+   0,   2,   7,   1  ! h1y07A-
+   1,   2,   8,   1  ! h1y08A-
+   2,   2,   9,   1  ! h1y09A-
+   3,   2,  10,   1  ! h1y10A-
+   4,   3,   1,   0  ! h2x01A+
+   5,   3,   2,   0  ! h2x02A+
+   6,   3,   3,   0  ! h2x03A+
+   7,   3,   4,   0  ! h2x04A+
+   8,   3,   5,   0  ! h2x05A+
+   9,   3,   6,   0  ! h2x06A+
+  10,   3,   7,   0  ! h2x07A+
+  11,   3,   8,   0  ! h2x08A+
+  12,   3,   9,   0  ! h2x09A+
+  13,   3,  10,   0  ! h2x10A+
+  14,   3,  11,   0  ! h2x11A+
+  15,   3,  12,   0  ! h2x12A+
+
+SLOT=14
+   0,   3,  13,   0  ! h2x13A+
+   1,   3,  14,   0  ! h2x14A+
+   2,   3,  15,   0  ! h2x15A+
+   3,   3,  16,   0  ! h2x16A+
+   4,   3,   1,   1  ! h2x01A-
+   5,   3,   2,   1  ! h2x02A-
+   6,   3,   3,   1  ! h2x03A-
+   7,   3,   4,   1  ! h2x04A-
+   8,   3,   5,   1  ! h2x05A-
+   9,   3,   6,   1  ! h2x06A-
+  10,   3,   7,   1  ! h2x07A-
+  11,   3,   8,   1  ! h2x08A-
+  12,   3,   9,   1  ! h2x09A-
+  13,   3,  10,   1  ! h2x10A-
+  14,   3,  11,   1  ! h2x11A-
+  15,   3,  12,   1  ! h2x12A-
+
+SLOT=15
+   0,   3,  13,   1  ! h2x13A-
+   1,   3,  14,   1  ! h2x14A-
+   2,   3,  15,   1  ! h2x15A-
+   3,   3,  16,   1  ! h2x16A-
+   4,   4,   1,   0  ! h2y01A+
+   5,   4,   2,   0  ! h2y02A+
+   6,   4,   3,   0  ! h2y03A+
+   7,   4,   4,   0  ! h2y04A+
+   8,   4,   5,   0  ! h2y05A+
+   9,   4,   6,   0  ! h2y06A+
+  10,   4,   7,   0  ! h2y07A+
+  11,   4,   8,   0  ! h2y08A+
+  12,   4,   9,   0  ! h2y09A+
+  13,   4,  10,   0  ! h2y10A+
+  14,   4,   1,   1  ! h2y01A-
+  15,   4,   2,   1  ! h2y02A-
+
+SLOT=16
+   0,   4,   3,   1  ! h2y03A-
+   1,   4,   4,   1  ! h2y04A-
+   2,   4,   5,   1  ! h2y05A-
+   3,   4,   6,   1  ! h2y06A-
+   4,   4,   7,   1  ! h2y07A-
+   5,   4,   8,   1  ! h2y08A-
+   6,   4,   9,   1  ! h2y09A-
+   7,   4,  10,   1  ! h2y10A-
+
+SLOT=20
+REFINDEX=0
+ 127,1000,   0,   0
+   0,   1,   1,   2  ! h1x01T+
+   1,   1,   3,   2  ! h1x03T+
+   2,   1,   5,   2  ! h1x05T+
+   3,   1,   7,   2  ! h1x07T+
+   4,   1,   2,   2  ! h1x02T+
+   5,   1,   4,   2  ! h1x04T+
+   6,   1,   6,   2  ! h1x06T+
+   7,   1,   8,   2  ! h1x08T+
+   8,   1,   9,   2  ! h1x09T+
+   9,   1,  11,   2  ! h1x11T+
+  10,   1,  13,   2  ! h1x13T+
+  11,   1,  15,   2  ! h1x15T+
+  12,   1,  10,   2  ! h1x10T+
+  13,   1,  12,   2  ! h1x12T+
+  14,   1,  14,   2  ! h1x14T+
+  15,   1,  16,   2  ! h1x16T+
+  16,   1,   1,   3  ! h1x01T-
+  17,   1,   3,   3  ! h1x03T-
+  18,   1,   5,   3  ! h1x05T-
+  19,   1,   7,   3  ! h1x07T-
+  20,   1,   2,   3  ! h1x02T-
+  21,   1,   4,   3  ! h1x04T-
+  22,   1,   6,   3  ! h1x06T-
+  23,   1,   8,   3  ! h1x08T-
+  24,   1,   9,   3  ! h1x09T-
+  25,   1,  11,   3  ! h1x11T-
+  26,   1,  13,   3  ! h1x13T-
+  27,   1,  15,   3  ! h1x15T-
+  28,   1,  10,   3  ! h1x10T-
+  29,   1,  12,   3  ! h1x12T-
+  30,   1,  14,   3  ! h1x14T-
+  31,   1,  16,   3  ! h1x16T-
+  32,   2,   1,   2  ! h1y01T+
+  33,   2,   3,   2  ! h1y03T+
+  34,   2,   5,   2  ! h1y05T+
+  35,   2,   7,   2  ! h1y07T+
+  36,   2,   2,   2  ! h1y02T+
+  37,   2,   4,   2  ! h1y04T+
+  38,   2,   6,   2  ! h1y06T+
+  39,   2,   8,   2  ! h1y08T+
+  40,   2,   9,   2  ! h1y09T+
+  44,   2,  10,   2  ! h1y10T+
+  48,   2,   1,   3  ! h1y01T-
+  49,   2,   3,   3  ! h1y03T-
+  50,   2,   5,   3  ! h1y05T-
+  51,   2,   7,   3  ! h1y07T-
+  52,   2,   2,   3  ! h1y02T-
+  53,   2,   4,   3  ! h1y04T-
+  54,   2,   6,   3  ! h1y06T-
+  55,   2,   8,   3  ! h1y08T-
+  56,   2,   9,   3  ! h1y09T-
+  60,   2,  10,   3  ! h1y10T-
+  64,   3,   1,   2  ! h2x01T+
+  65,   3,   3,   2  ! h2x03T+
+  66,   3,   5,   2  ! h2x05T+
+  67,   3,   7,   2  ! h2x07T+
+  68,   3,   2,   2  ! h2x02T+
+  69,   3,   4,   2  ! h2x04T+
+  70,   3,   6,   2  ! h2x06T+
+  71,   3,   8,   2  ! h2x08T+
+  72,   3,   9,   2  ! h2x09T+
+  73,   3,  11,   2  ! h2x11T+
+  74,   3,  13,   2  ! h2x13T+
+  75,   3,  15,   2  ! h2x15T+
+  76,   3,  10,   2  ! h2x10T+
+  77,   3,  12,   2  ! h2x12T+
+  78,   3,  14,   2  ! h2x14T+
+  79,   3,  16,   2  ! h2x16T+
+  80,   3,   1,   3  ! h2x01T-
+  81,   3,   3,   3  ! h2x03T-
+  82,   3,   5,   3  ! h2x05T-
+  83,   3,   7,   3  ! h2x07T-
+  84,   3,   2,   3  ! h2x02T-
+  85,   3,   4,   3  ! h2x04T-
+  86,   3,   6,   3  ! h2x06T-
+  87,   3,   8,   3  ! h2x08T-
+  88,   3,   9,   3  ! h2x09T-
+  89,   3,  11,   3  ! h2x11T-
+  90,   3,  13,   3  ! h2x13T-
+  91,   3,  15,   3  ! h2x15T-
+  92,   3,  10,   3  ! h2x10T-
+  93,   3,  12,   3  ! h2x12T-
+  94,   3,  14,   3  ! h2x14T-
+  95,   3,  16,   3  ! h2x16T-
+  96,   4,   1,   2  ! h2y01T+
+  97,   4,   3,   2  ! h2y03T+
+  98,   4,   5,   2  ! h2y05T+
+  99,   4,   7,   2  ! h2y07T+
+ 100,   4,   2,   2  ! h2y02T+
+ 101,   4,   4,   2  ! h2y04T+
+ 102,   4,   6,   2  ! h2y06T+
+ 103,   4,   8,   2  ! h2y08T+
+ 104,   4,   9,   2  ! h2y09T+
+ 108,   4,  10,   2  ! h2y10T+
+ 112,   4,   1,   3  ! h2y01T-
+ 113,   4,   3,   3  ! h2y03T-
+ 114,   4,   5,   3  ! h2y05T-
+ 115,   4,   7,   3  ! h2y07T-
+ 116,   4,   2,   3  ! h2y02T-
+ 117,   4,   4,   3  ! h2y04T-
+ 118,   4,   6,   3  ! h2y06T-
+ 119,   4,   8,   3  ! h2y08T-
+ 120,   4,   9,   3  ! h2y09T-
+ 124,   4,  10,   3  ! h2y10T-
diff --git a/MAPS/HMS/DETEC/hdc_htrig.map b/MAPS/HMS/DETEC/hdc_htrig.map
new file mode 100644
index 00000000..b3e0097e
--- /dev/null
+++ b/MAPS/HMS/DETEC/hdc_htrig.map
@@ -0,0 +1,1210 @@
+! THMS_ID=10       ::  ADC,TDC
+! HDC_ID=11        ::  ADC,TDC
+
+
+DETECTOR=10
+
+ROC=1
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=11  ! HMS chambers
+
+ROC=3
+
+SLOT=5
+REFINDEX=0
+ 111,1000,   0,   0
+  96,   3,   1  ! Plane U, wire 1
+  97,   3,   2  ! Plane U, wire 2
+  98,   3,   3  ! Plane U, wire 3
+  99,   3,   4  ! Plane U, wire 4
+ 100,   3,   5  ! Plane U, wire 5
+ 101,   3,   6  ! Plane U, wire 6
+ 102,   3,   7  ! Plane U, wire 7
+ 103,   3,   8  ! Plane U, wire 8
+ 104,   3,   9  ! Plane U, wire 9
+ 105,   3,  10  ! Plane U, wire 10
+ 106,   3,  11  ! Plane U, wire 11
+ 107,   3,  12  ! Plane U, wire 12
+ 108,   3,  13  ! Plane U, wire 13
+ 109,   3,  14  ! Plane U, wire 14
+ 110,   1, 113  ! Plane X, wire 113
+  80,   3,  15  ! Plane U, wire 15
+  81,   3,  16  ! Plane U, wire 16
+  82,   3,  17  ! Plane U, wire 17
+  83,   3,  18  ! Plane U, wire 18
+  84,   3,  19  ! Plane U, wire 19
+  85,   3,  20  ! Plane U, wire 20
+  86,   3,  21  ! Plane U, wire 21
+  87,   3,  22  ! Plane U, wire 22
+  88,   3,  23  ! Plane U, wire 23
+  89,   3,  24  ! Plane U, wire 24
+  90,   3,  25  ! Plane U, wire 25
+  91,   3,  26  ! Plane U, wire 26
+  92,   3,  27  ! Plane U, wire 27
+  93,   3,  28  ! Plane U, wire 28
+  94,   3,  29  ! Plane U, wire 29
+  64,   3,  30  ! Plane U, wire 30
+  65,   3,  31  ! Plane U, wire 31
+  66,   3,  32  ! Plane U, wire 32
+  67,   3,  33  ! Plane U, wire 33
+  68,   3,  34  ! Plane U, wire 34
+  69,   3,  35  ! Plane U, wire 35
+  70,   3,  36  ! Plane U, wire 36
+  71,   3,  37  ! Plane U, wire 37
+  72,   3,  38  ! Plane U, wire 38
+  73,   3,  39  ! Plane U, wire 39
+  74,   3,  40  ! Plane U, wire 40
+  75,   3,  41  ! Plane U, wire 41
+  76,   3,  42  ! Plane U, wire 42
+  77,   3,  43  ! Plane U, wire 43
+  78,   3,  44  ! Plane U, wire 44
+  79,   3,  45  ! Plane U, wire 45
+  48,   3,  46  ! Plane U, wire 46
+  49,   3,  47  ! Plane U, wire 47
+  50,   3,  48  ! Plane U, wire 48
+  51,   3,  49  ! Plane U, wire 49
+  52,   3,  50  ! Plane U, wire 50
+  53,   3,  51  ! Plane U, wire 51
+  54,   3,  52  ! Plane U, wire 52
+  55,   3,  53  ! Plane U, wire 53
+  56,   3,  54  ! Plane U, wire 54
+  57,   3,  55  ! Plane U, wire 55
+  58,   3,  56  ! Plane U, wire 56
+  59,   3,  57  ! Plane U, wire 57
+  60,   3,  58  ! Plane U, wire 58
+  61,   3,  59  ! Plane U, wire 59
+  62,   3,  60  ! Plane U, wire 60
+  32,   3,  61  ! Plane U, wire 61
+  33,   3,  62  ! Plane U, wire 62
+  34,   3,  63  ! Plane U, wire 63
+  35,   3,  64  ! Plane U, wire 64
+  36,   3,  65  ! Plane U, wire 65
+  37,   3,  66  ! Plane U, wire 66
+  38,   3,  67  ! Plane U, wire 67
+  39,   3,  68  ! Plane U, wire 68
+  40,   3,  69  ! Plane U, wire 69
+  41,   3,  70  ! Plane U, wire 70
+  42,   3,  71  ! Plane U, wire 71
+  43,   3,  72  ! Plane U, wire 72
+  44,   3,  73  ! Plane U, wire 73
+  45,   3,  74  ! Plane U, wire 74
+  46,   3,  75  ! Plane U, wire 75
+  47,   3,  76  ! Plane U, wire 76
+  16,   3,  77  ! Plane U, wire 77
+  17,   3,  78  ! Plane U, wire 78
+  18,   3,  79  ! Plane U, wire 79
+  19,   3,  80  ! Plane U, wire 80
+  20,   3,  81  ! Plane U, wire 81
+  21,   3,  82  ! Plane U, wire 82
+  22,   3,  83  ! Plane U, wire 83
+  23,   3,  84  ! Plane U, wire 84
+  24,   3,  85  ! Plane U, wire 85
+  25,   3,  86  ! Plane U, wire 86
+  26,   3,  87  ! Plane U, wire 87
+  27,   3,  88  ! Plane U, wire 88
+  28,   3,  89  ! Plane U, wire 89
+  29,   3,  90  ! Plane U, wire 90
+  30,   3,  91  ! Plane U, wire 91
+   0,   3,  92  ! Plane U, wire 92
+   1,   3,  93  ! Plane U, wire 93
+   2,   3,  94  ! Plane U, wire 94
+   3,   3,  95  ! Plane U, wire 95
+   4,   3,  96  ! Plane U, wire 96
+   5,   3,  97  ! Plane U, wire 97
+   6,   3,  98  ! Plane U, wire 98
+   7,   3,  99  ! Plane U, wire 99
+   8,   3, 100  ! Plane U, wire 100
+   9,   3, 101  ! Plane U, wire 101
+  10,   3, 102  ! Plane U, wire 102
+  11,   3, 103  ! Plane U, wire 103
+  12,   3, 104  ! Plane U, wire 104
+  13,   3, 105  ! Plane U, wire 105
+  14,   3, 106  ! Plane U, wire 106
+  15,   3, 107  ! Plane U, wire 107
+
+SLOT=7
+REFINDEX=0
+  96,   4,   1  ! Plane V, wire 1
+  97,   4,   2  ! Plane V, wire 2
+  98,   4,   3  ! Plane V, wire 3
+  99,   4,   4  ! Plane V, wire 4
+ 100,   4,   5  ! Plane V, wire 5
+ 101,   4,   6  ! Plane V, wire 6
+ 102,   4,   7  ! Plane V, wire 7
+ 103,   4,   8  ! Plane V, wire 8
+ 104,   4,   9  ! Plane V, wire 9
+ 105,   4,  10  ! Plane V, wire 10
+ 106,   4,  11  ! Plane V, wire 11
+ 107,   4,  12  ! Plane V, wire 12
+ 108,   4,  13  ! Plane V, wire 13
+ 109,   4,  14  ! Plane V, wire 14
+ 110,   6, 113  ! Plane X', wire 113
+ 112,   4,  15  ! Plane V, wire 15
+ 113,   4,  16  ! Plane V, wire 16
+ 114,   4,  17  ! Plane V, wire 17
+ 115,   4,  18  ! Plane V, wire 18
+ 116,   4,  19  ! Plane V, wire 19
+ 117,   4,  20  ! Plane V, wire 20
+ 118,   4,  21  ! Plane V, wire 21
+ 119,   4,  22  ! Plane V, wire 22
+ 120,   4,  23  ! Plane V, wire 23
+ 121,   4,  24  ! Plane V, wire 24
+ 122,   4,  25  ! Plane V, wire 25
+ 123,   4,  26  ! Plane V, wire 26
+ 124,   4,  27  ! Plane V, wire 27
+ 125,   4,  28  ! Plane V, wire 28
+ 126,   4,  29  ! Plane V, wire 29
+
+SLOT=8
+REFINDEX=0
+ 127,1000,   0,   1
+   0,   4,  30  ! Plane V, wire 30
+   1,   4,  31  ! Plane V, wire 31
+   2,   4,  32  ! Plane V, wire 32
+   3,   4,  33  ! Plane V, wire 33
+   4,   4,  34  ! Plane V, wire 34
+   5,   4,  35  ! Plane V, wire 35
+   6,   4,  36  ! Plane V, wire 36
+   7,   4,  37  ! Plane V, wire 37
+   8,   4,  38  ! Plane V, wire 38
+   9,   4,  39  ! Plane V, wire 39
+  10,   4,  40  ! Plane V, wire 40
+  11,   4,  41  ! Plane V, wire 41
+  12,   4,  42  ! Plane V, wire 42
+  13,   4,  43  ! Plane V, wire 43
+  14,   4,  44  ! Plane V, wire 44
+  15,   4,  45  ! Plane V, wire 45
+  16,   4,  46  ! Plane V, wire 46
+  17,   4,  47  ! Plane V, wire 47
+  18,   4,  48  ! Plane V, wire 48
+  19,   4,  49  ! Plane V, wire 49
+  20,   4,  50  ! Plane V, wire 50
+  21,   4,  51  ! Plane V, wire 51
+  22,   4,  52  ! Plane V, wire 52
+  23,   4,  53  ! Plane V, wire 53
+  24,   4,  54  ! Plane V, wire 54
+  25,   4,  55  ! Plane V, wire 55
+  26,   4,  56  ! Plane V, wire 56
+  27,   4,  57  ! Plane V, wire 57
+  28,   4,  58  ! Plane V, wire 58
+  29,   4,  59  ! Plane V, wire 59
+  30,   4,  60  ! Plane V, wire 60
+  32,   4,  61  ! Plane V, wire 61
+  33,   4,  62  ! Plane V, wire 62
+  34,   4,  63  ! Plane V, wire 63
+  35,   4,  64  ! Plane V, wire 64
+  36,   4,  65  ! Plane V, wire 65
+  37,   4,  66  ! Plane V, wire 66
+  38,   4,  67  ! Plane V, wire 67
+  39,   4,  68  ! Plane V, wire 68
+  40,   4,  69  ! Plane V, wire 69
+  41,   4,  70  ! Plane V, wire 70
+  42,   4,  71  ! Plane V, wire 71
+  43,   4,  72  ! Plane V, wire 72
+  44,   4,  73  ! Plane V, wire 73
+  45,   4,  74  ! Plane V, wire 74
+  46,   4,  75  ! Plane V, wire 75
+  47,   4,  76  ! Plane V, wire 76
+  48,   4,  77  ! Plane V, wire 77
+  49,   4,  78  ! Plane V, wire 78
+  50,   4,  79  ! Plane V, wire 79
+  51,   4,  80  ! Plane V, wire 80
+  52,   4,  81  ! Plane V, wire 81
+  53,   4,  82  ! Plane V, wire 82
+  54,   4,  83  ! Plane V, wire 83
+  55,   4,  84  ! Plane V, wire 84
+  56,   4,  85  ! Plane V, wire 85
+  57,   4,  86  ! Plane V, wire 86
+  58,   4,  87  ! Plane V, wire 87
+  59,   4,  88  ! Plane V, wire 88
+  60,   4,  89  ! Plane V, wire 89
+  61,   4,  90  ! Plane V, wire 90
+  62,   4,  91  ! Plane V, wire 91
+
+SLOT=4
+REFINDEX=0
+  96,   4,  92  ! Plane V, wire 92
+  97,   4,  93  ! Plane V, wire 93
+  98,   4,  94  ! Plane V, wire 94
+  99,   4,  95  ! Plane V, wire 95
+ 100,   4,  96  ! Plane V, wire 96
+ 101,   4,  97  ! Plane V, wire 97
+ 102,   4,  98  ! Plane V, wire 98
+ 103,   4,  99  ! Plane V, wire 99
+ 104,   4, 100  ! Plane V, wire 100
+ 105,   4, 101  ! Plane V, wire 101
+ 106,   4, 102  ! Plane V, wire 102
+ 107,   4, 103  ! Plane V, wire 103
+ 108,   4, 104  ! Plane V, wire 104
+ 109,   4, 105  ! Plane V, wire 105
+ 110,   4, 106  ! Plane V, wire 106
+ 111,   4, 107  ! Plane V, wire 107
+  80,   1,   1  ! Plane X, wire 1
+  81,   1,   2  ! Plane X, wire 2
+  82,   1,   3  ! Plane X, wire 3
+  83,   1,   4  ! Plane X, wire 4
+  84,   1,   5  ! Plane X, wire 5
+  85,   1,   6  ! Plane X, wire 6
+  86,   1,   7  ! Plane X, wire 7
+  87,   1,   8  ! Plane X, wire 8
+  88,   1,   9  ! Plane X, wire 9
+  89,   1,  10  ! Plane X, wire 10
+  90,   1,  11  ! Plane X, wire 11
+  91,   1,  12  ! Plane X, wire 12
+  92,   1,  13  ! Plane X, wire 13
+  93,   1,  14  ! Plane X, wire 14
+  94,   1,  15  ! Plane X, wire 15
+  95,   1,  16  ! Plane X, wire 16
+  64,   1,  17  ! Plane X, wire 17
+  65,   1,  18  ! Plane X, wire 18
+  66,   1,  19  ! Plane X, wire 19
+  67,   1,  20  ! Plane X, wire 20
+  68,   1,  21  ! Plane X, wire 21
+  69,   1,  22  ! Plane X, wire 22
+  70,   1,  23  ! Plane X, wire 23
+  71,   1,  24  ! Plane X, wire 24
+  72,   1,  25  ! Plane X, wire 25
+  73,   1,  26  ! Plane X, wire 26
+  74,   1,  27  ! Plane X, wire 27
+  75,   1,  28  ! Plane X, wire 28
+  76,   1,  29  ! Plane X, wire 29
+  77,   1,  30  ! Plane X, wire 30
+  78,   1,  31  ! Plane X, wire 31
+  79,   1,  32  ! Plane X, wire 32
+  48,   1,  33  ! Plane X, wire 33
+  49,   1,  34  ! Plane X, wire 34
+  50,   1,  35  ! Plane X, wire 35
+  51,   1,  36  ! Plane X, wire 36
+  52,   1,  37  ! Plane X, wire 37
+  53,   1,  38  ! Plane X, wire 38
+  54,   1,  39  ! Plane X, wire 39
+  55,   1,  40  ! Plane X, wire 40
+  56,   1,  41  ! Plane X, wire 41
+  57,   1,  42  ! Plane X, wire 42
+  58,   1,  43  ! Plane X, wire 43
+  59,   1,  44  ! Plane X, wire 44
+  60,   1,  45  ! Plane X, wire 45
+  61,   1,  46  ! Plane X, wire 46
+  62,   1,  47  ! Plane X, wire 47
+  63,   1,  48  ! Plane X, wire 48
+  32,   1,  49  ! Plane X, wire 49
+  33,   1,  50  ! Plane X, wire 50
+  34,   1,  51  ! Plane X, wire 51
+  35,   1,  52  ! Plane X, wire 52
+  36,   1,  53  ! Plane X, wire 53
+  37,   1,  54  ! Plane X, wire 54
+  38,   1,  55  ! Plane X, wire 55
+  39,   1,  56  ! Plane X, wire 56
+  40,   1,  57  ! Plane X, wire 57
+  41,   1,  58  ! Plane X, wire 58
+  42,   1,  59  ! Plane X, wire 59
+  43,   1,  60  ! Plane X, wire 60
+  44,   1,  61  ! Plane X, wire 61
+  45,   1,  62  ! Plane X, wire 62
+  46,   1,  63  ! Plane X, wire 63
+  47,   1,  64  ! Plane X, wire 64
+  16,   1,  65  ! Plane X, wire 65
+  17,   1,  66  ! Plane X, wire 66
+  18,   1,  67  ! Plane X, wire 67
+  19,   1,  68  ! Plane X, wire 68
+  20,   1,  69  ! Plane X, wire 69
+  21,   1,  70  ! Plane X, wire 70
+  22,   1,  71  ! Plane X, wire 71
+  23,   1,  72  ! Plane X, wire 72
+  24,   1,  73  ! Plane X, wire 73
+  25,   1,  74  ! Plane X, wire 74
+  26,   1,  75  ! Plane X, wire 75
+  27,   1,  76  ! Plane X, wire 76
+  28,   1,  77  ! Plane X, wire 77
+  29,   1,  78  ! Plane X, wire 78
+  30,   1,  79  ! Plane X, wire 79
+  31,   1,  80  ! Plane X, wire 80
+   0,   1,  81  ! Plane X, wire 81
+   1,   1,  82  ! Plane X, wire 82
+   2,   1,  83  ! Plane X, wire 83
+   3,   1,  84  ! Plane X, wire 84
+   4,   1,  85  ! Plane X, wire 85
+   5,   1,  86  ! Plane X, wire 86
+   6,   1,  87  ! Plane X, wire 87
+   7,   1,  88  ! Plane X, wire 88
+   8,   1,  89  ! Plane X, wire 89
+   9,   1,  90  ! Plane X, wire 90
+  10,   1,  91  ! Plane X, wire 91
+  11,   1,  92  ! Plane X, wire 92
+  12,   1,  93  ! Plane X, wire 93
+  13,   1,  94  ! Plane X, wire 94
+  14,   1,  95  ! Plane X, wire 95
+  15,   1,  96  ! Plane X, wire 96
+
+SLOT=7
+REFINDEX=0
+  80,   1,  97  ! Plane X, wire 97
+  81,   1,  98  ! Plane X, wire 98
+  82,   1,  99  ! Plane X, wire 99
+  83,   1, 100  ! Plane X, wire 100
+  84,   1, 101  ! Plane X, wire 101
+  85,   1, 102  ! Plane X, wire 102
+  86,   1, 103  ! Plane X, wire 103
+  87,   1, 104  ! Plane X, wire 104
+  88,   1, 105  ! Plane X, wire 105
+  89,   1, 106  ! Plane X, wire 106
+  90,   1, 107  ! Plane X, wire 107
+  91,   1, 108  ! Plane X, wire 108
+  92,   1, 109  ! Plane X, wire 109
+  93,   1, 110  ! Plane X, wire 110
+  94,   1, 111  ! Plane X, wire 111
+  95,   1, 112  ! Plane X, wire 112
+
+SLOT=4
+REFINDEX=0
+ 112,   6,   1  ! Plane X', wire 1
+ 113,   6,   2  ! Plane X', wire 2
+ 114,   6,   3  ! Plane X', wire 3
+ 115,   6,   4  ! Plane X', wire 4
+ 116,   6,   5  ! Plane X', wire 5
+ 117,   6,   6  ! Plane X', wire 6
+ 118,   6,   7  ! Plane X', wire 7
+ 119,   6,   8  ! Plane X', wire 8
+ 120,   6,   9  ! Plane X', wire 9
+ 121,   6,  10  ! Plane X', wire 10
+ 122,   6,  11  ! Plane X', wire 11
+ 123,   6,  12  ! Plane X', wire 12
+ 124,   6,  13  ! Plane X', wire 13
+ 125,   6,  14  ! Plane X', wire 14
+ 126,   6,  15  ! Plane X', wire 15
+ 127,   6,  16  ! Plane X', wire 16
+
+SLOT=5
+REFINDEX=0
+ 112,   6,  17  ! Plane X', wire 17
+ 113,   6,  18  ! Plane X', wire 18
+ 114,   6,  19  ! Plane X', wire 19
+ 115,   6,  20  ! Plane X', wire 20
+ 116,   6,  21  ! Plane X', wire 21
+ 117,   6,  22  ! Plane X', wire 22
+ 118,   6,  23  ! Plane X', wire 23
+ 119,   6,  24  ! Plane X', wire 24
+ 120,   6,  25  ! Plane X', wire 25
+ 121,   6,  26  ! Plane X', wire 26
+ 122,   6,  27  ! Plane X', wire 27
+ 123,   6,  28  ! Plane X', wire 28
+ 124,   6,  29  ! Plane X', wire 29
+ 125,   6,  30  ! Plane X', wire 30
+ 126,   6,  31  ! Plane X', wire 31
+ 127,   6,  32  ! Plane X', wire 32
+
+SLOT=7
+REFINDEX=0
+   0,   6,  33  ! Plane X', wire 33
+   1,   6,  34  ! Plane X', wire 34
+   2,   6,  35  ! Plane X', wire 35
+   3,   6,  36  ! Plane X', wire 36
+   4,   6,  37  ! Plane X', wire 37
+   5,   6,  38  ! Plane X', wire 38
+   6,   6,  39  ! Plane X', wire 39
+   7,   6,  40  ! Plane X', wire 40
+   8,   6,  41  ! Plane X', wire 41
+   9,   6,  42  ! Plane X', wire 42
+  10,   6,  43  ! Plane X', wire 43
+  11,   6,  44  ! Plane X', wire 44
+  12,   6,  45  ! Plane X', wire 45
+  13,   6,  46  ! Plane X', wire 46
+  14,   6,  47  ! Plane X', wire 47
+  15,   6,  48  ! Plane X', wire 48
+  16,   6,  49  ! Plane X', wire 49
+  17,   6,  50  ! Plane X', wire 50
+  18,   6,  51  ! Plane X', wire 51
+  19,   6,  52  ! Plane X', wire 52
+  20,   6,  53  ! Plane X', wire 53
+  21,   6,  54  ! Plane X', wire 54
+  22,   6,  55  ! Plane X', wire 55
+  23,   6,  56  ! Plane X', wire 56
+  24,   6,  57  ! Plane X', wire 57
+  25,   6,  58  ! Plane X', wire 58
+  26,   6,  59  ! Plane X', wire 59
+  27,   6,  60  ! Plane X', wire 60
+  28,   6,  61  ! Plane X', wire 61
+  29,   6,  62  ! Plane X', wire 62
+  30,   6,  63  ! Plane X', wire 63
+  31,   6,  64  ! Plane X', wire 64
+  32,   6,  65  ! Plane X', wire 65
+  33,   6,  66  ! Plane X', wire 66
+  34,   6,  67  ! Plane X', wire 67
+  35,   6,  68  ! Plane X', wire 68
+  36,   6,  69  ! Plane X', wire 69
+  37,   6,  70  ! Plane X', wire 70
+  38,   6,  71  ! Plane X', wire 71
+  39,   6,  72  ! Plane X', wire 72
+  40,   6,  73  ! Plane X', wire 73
+  41,   6,  74  ! Plane X', wire 74
+  42,   6,  75  ! Plane X', wire 75
+  43,   6,  76  ! Plane X', wire 76
+  44,   6,  77  ! Plane X', wire 77
+  45,   6,  78  ! Plane X', wire 78
+  46,   6,  79  ! Plane X', wire 79
+  47,   6,  80  ! Plane X', wire 80
+  48,   6,  81  ! Plane X', wire 81
+  49,   6,  82  ! Plane X', wire 82
+  50,   6,  83  ! Plane X', wire 83
+  51,   6,  84  ! Plane X', wire 84
+  52,   6,  85  ! Plane X', wire 85
+  53,   6,  86  ! Plane X', wire 86
+  54,   6,  87  ! Plane X', wire 87
+  55,   6,  88  ! Plane X', wire 88
+  56,   6,  89  ! Plane X', wire 89
+  57,   6,  90  ! Plane X', wire 90
+  58,   6,  91  ! Plane X', wire 91
+  59,   6,  92  ! Plane X', wire 92
+  60,   6,  93  ! Plane X', wire 93
+  61,   6,  94  ! Plane X', wire 94
+  62,   6,  95  ! Plane X', wire 95
+  63,   6,  96  ! Plane X', wire 96
+  64,   6,  97  ! Plane X', wire 97
+  65,   6,  98  ! Plane X', wire 98
+  66,   6,  99  ! Plane X', wire 99
+  67,   6, 100  ! Plane X', wire 100
+  68,   6, 101  ! Plane X', wire 101
+  69,   6, 102  ! Plane X', wire 102
+  70,   6, 103  ! Plane X', wire 103
+  71,   6, 104  ! Plane X', wire 104
+  72,   6, 105  ! Plane X', wire 105
+  73,   6, 106  ! Plane X', wire 106
+  74,   6, 107  ! Plane X', wire 107
+  75,   6, 108  ! Plane X', wire 108
+  76,   6, 109  ! Plane X', wire 109
+  77,   6, 110  ! Plane X', wire 110
+  78,   6, 111  ! Plane X', wire 111
+  79,   6, 112  ! Plane X', wire 112
+
+SLOT=8
+REFINDEX=0
+  64,   2,   1  ! Plane Y, wire 1
+  65,   2,   2  ! Plane Y, wire 2
+  66,   2,   3  ! Plane Y, wire 3
+  67,   2,   4  ! Plane Y, wire 4
+  68,   2,   5  ! Plane Y, wire 5
+  69,   2,   6  ! Plane Y, wire 6
+  70,   2,   7  ! Plane Y, wire 7
+  71,   2,   8  ! Plane Y, wire 8
+  72,   2,   9  ! Plane Y, wire 9
+  73,   2,  10  ! Plane Y, wire 10
+  74,   2,  11  ! Plane Y, wire 11
+  75,   2,  12  ! Plane Y, wire 12
+  76,   2,  13  ! Plane Y, wire 13
+  80,   2,  14  ! Plane Y, wire 14
+  81,   2,  15  ! Plane Y, wire 15
+  82,   2,  16  ! Plane Y, wire 16
+  83,   2,  17  ! Plane Y, wire 17
+  84,   2,  18  ! Plane Y, wire 18
+  85,   2,  19  ! Plane Y, wire 19
+  86,   2,  20  ! Plane Y, wire 20
+  87,   2,  21  ! Plane Y, wire 21
+  88,   2,  22  ! Plane Y, wire 22
+  89,   2,  23  ! Plane Y, wire 23
+  90,   2,  24  ! Plane Y, wire 24
+  91,   2,  25  ! Plane Y, wire 25
+  92,   2,  26  ! Plane Y, wire 26
+  96,   2,  27  ! Plane Y, wire 27
+  97,   2,  28  ! Plane Y, wire 28
+  98,   2,  29  ! Plane Y, wire 29
+  99,   2,  30  ! Plane Y, wire 30
+ 100,   2,  31  ! Plane Y, wire 31
+ 101,   2,  32  ! Plane Y, wire 32
+ 102,   2,  33  ! Plane Y, wire 33
+ 103,   2,  34  ! Plane Y, wire 34
+ 104,   2,  35  ! Plane Y, wire 35
+ 105,   2,  36  ! Plane Y, wire 36
+ 106,   2,  37  ! Plane Y, wire 37
+ 107,   2,  38  ! Plane Y, wire 38
+ 108,   2,  39  ! Plane Y, wire 39
+ 112,   2,  40  ! Plane Y, wire 40
+ 113,   2,  41  ! Plane Y, wire 41
+ 114,   2,  42  ! Plane Y, wire 42
+ 115,   2,  43  ! Plane Y, wire 43
+ 116,   2,  44  ! Plane Y, wire 44
+ 117,   2,  45  ! Plane Y, wire 45
+ 118,   2,  46  ! Plane Y, wire 46
+ 119,   2,  47  ! Plane Y, wire 47
+ 120,   2,  48  ! Plane Y, wire 48
+ 121,   2,  49  ! Plane Y, wire 49
+ 122,   2,  50  ! Plane Y, wire 50
+ 123,   2,  51  ! Plane Y, wire 51
+ 124,   2,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   2
+   0,   5,   1  ! Plane Y', wire 1
+   1,   5,   2  ! Plane Y', wire 2
+   2,   5,   3  ! Plane Y', wire 3
+   3,   5,   4  ! Plane Y', wire 4
+   4,   5,   5  ! Plane Y', wire 5
+   5,   5,   6  ! Plane Y', wire 6
+   6,   5,   7  ! Plane Y', wire 7
+   7,   5,   8  ! Plane Y', wire 8
+   8,   5,   9  ! Plane Y', wire 9
+   9,   5,  10  ! Plane Y', wire 10
+  10,   5,  11  ! Plane Y', wire 11
+  11,   5,  12  ! Plane Y', wire 12
+  12,   5,  13  ! Plane Y', wire 13
+  16,   5,  14  ! Plane Y', wire 14
+  17,   5,  15  ! Plane Y', wire 15
+  18,   5,  16  ! Plane Y', wire 16
+  19,   5,  17  ! Plane Y', wire 17
+  20,   5,  18  ! Plane Y', wire 18
+  21,   5,  19  ! Plane Y', wire 19
+  22,   5,  20  ! Plane Y', wire 20
+  23,   5,  21  ! Plane Y', wire 21
+  24,   5,  22  ! Plane Y', wire 22
+  25,   5,  23  ! Plane Y', wire 23
+  26,   5,  24  ! Plane Y', wire 24
+  27,   5,  25  ! Plane Y', wire 25
+  28,   5,  26  ! Plane Y', wire 26
+  32,   5,  27  ! Plane Y', wire 27
+  33,   5,  28  ! Plane Y', wire 28
+  34,   5,  29  ! Plane Y', wire 29
+  35,   5,  30  ! Plane Y', wire 30
+  36,   5,  31  ! Plane Y', wire 31
+  37,   5,  32  ! Plane Y', wire 32
+  38,   5,  33  ! Plane Y', wire 33
+  39,   5,  34  ! Plane Y', wire 34
+  40,   5,  35  ! Plane Y', wire 35
+  41,   5,  36  ! Plane Y', wire 36
+  42,   5,  37  ! Plane Y', wire 37
+  43,   5,  38  ! Plane Y', wire 38
+  44,   5,  39  ! Plane Y', wire 39
+  48,   5,  40  ! Plane Y', wire 40
+  49,   5,  41  ! Plane Y', wire 41
+  50,   5,  42  ! Plane Y', wire 42
+  51,   5,  43  ! Plane Y', wire 43
+  52,   5,  44  ! Plane Y', wire 44
+  53,   5,  45  ! Plane Y', wire 45
+  54,   5,  46  ! Plane Y', wire 46
+  55,   5,  47  ! Plane Y', wire 47
+  56,   5,  48  ! Plane Y', wire 48
+  57,   5,  49  ! Plane Y', wire 49
+  58,   5,  50  ! Plane Y', wire 50
+  59,   5,  51  ! Plane Y', wire 51
+  60,   5,  52  ! Plane Y', wire 52
+
+SLOT=16
+REFINDEX=0
+  96,   9,   1  ! Plane U, wire 1
+  97,   9,   2  ! Plane U, wire 2
+  98,   9,   3  ! Plane U, wire 3
+  99,   9,   4  ! Plane U, wire 4
+ 100,   9,   5  ! Plane U, wire 5
+ 101,   9,   6  ! Plane U, wire 6
+ 102,   9,   7  ! Plane U, wire 7
+ 103,   9,   8  ! Plane U, wire 8
+ 104,   9,   9  ! Plane U, wire 9
+ 105,   9,  10  ! Plane U, wire 10
+ 106,   9,  11  ! Plane U, wire 11
+ 107,   9,  12  ! Plane U, wire 12
+ 108,   9,  13  ! Plane U, wire 13
+ 109,   9,  14  ! Plane U, wire 14
+ 110,   7, 113  ! Plane X, wire 113
+ 112,   9,  15  ! Plane U, wire 15
+ 113,   9,  16  ! Plane U, wire 16
+ 114,   9,  17  ! Plane U, wire 17
+ 115,   9,  18  ! Plane U, wire 18
+ 116,   9,  19  ! Plane U, wire 19
+ 117,   9,  20  ! Plane U, wire 20
+ 118,   9,  21  ! Plane U, wire 21
+ 119,   9,  22  ! Plane U, wire 22
+ 120,   9,  23  ! Plane U, wire 23
+ 121,   9,  24  ! Plane U, wire 24
+ 122,   9,  25  ! Plane U, wire 25
+ 123,   9,  26  ! Plane U, wire 26
+ 124,   9,  27  ! Plane U, wire 27
+ 125,   9,  28  ! Plane U, wire 28
+ 126,   9,  29  ! Plane U, wire 29
+
+SLOT=14
+REFINDEX=0
+   0,   9,  30  ! Plane U, wire 30
+   1,   9,  31  ! Plane U, wire 31
+   2,   9,  32  ! Plane U, wire 32
+   3,   9,  33  ! Plane U, wire 33
+   4,   9,  34  ! Plane U, wire 34
+   5,   9,  35  ! Plane U, wire 35
+   6,   9,  36  ! Plane U, wire 36
+   7,   9,  37  ! Plane U, wire 37
+   8,   9,  38  ! Plane U, wire 38
+   9,   9,  39  ! Plane U, wire 39
+  10,   9,  40  ! Plane U, wire 40
+  11,   9,  41  ! Plane U, wire 41
+  12,   9,  42  ! Plane U, wire 42
+  13,   9,  43  ! Plane U, wire 43
+  14,   9,  44  ! Plane U, wire 44
+  15,   9,  45  ! Plane U, wire 45
+  32,   9,  46  ! Plane U, wire 46
+  33,   9,  47  ! Plane U, wire 47
+  34,   9,  48  ! Plane U, wire 48
+  35,   9,  49  ! Plane U, wire 49
+  36,   9,  50  ! Plane U, wire 50
+  37,   9,  51  ! Plane U, wire 51
+  38,   9,  52  ! Plane U, wire 52
+  39,   9,  53  ! Plane U, wire 53
+  40,   9,  54  ! Plane U, wire 54
+  41,   9,  55  ! Plane U, wire 55
+  42,   9,  56  ! Plane U, wire 56
+  43,   9,  57  ! Plane U, wire 57
+  44,   9,  58  ! Plane U, wire 58
+  45,   9,  59  ! Plane U, wire 59
+  46,   9,  60  ! Plane U, wire 60
+  48,   9,  61  ! Plane U, wire 61
+  49,   9,  62  ! Plane U, wire 62
+  50,   9,  63  ! Plane U, wire 63
+  51,   9,  64  ! Plane U, wire 64
+  52,   9,  65  ! Plane U, wire 65
+  53,   9,  66  ! Plane U, wire 66
+  54,   9,  67  ! Plane U, wire 67
+  55,   9,  68  ! Plane U, wire 68
+  56,   9,  69  ! Plane U, wire 69
+  57,   9,  70  ! Plane U, wire 70
+  58,   9,  71  ! Plane U, wire 71
+  59,   9,  72  ! Plane U, wire 72
+  60,   9,  73  ! Plane U, wire 73
+  61,   9,  74  ! Plane U, wire 74
+  62,   9,  75  ! Plane U, wire 75
+  63,   9,  76  ! Plane U, wire 76
+  64,   9,  77  ! Plane U, wire 77
+  65,   9,  78  ! Plane U, wire 78
+  66,   9,  79  ! Plane U, wire 79
+  67,   9,  80  ! Plane U, wire 80
+  68,   9,  81  ! Plane U, wire 81
+  69,   9,  82  ! Plane U, wire 82
+  70,   9,  83  ! Plane U, wire 83
+  71,   9,  84  ! Plane U, wire 84
+  72,   9,  85  ! Plane U, wire 85
+  73,   9,  86  ! Plane U, wire 86
+  74,   9,  87  ! Plane U, wire 87
+  75,   9,  88  ! Plane U, wire 88
+  76,   9,  89  ! Plane U, wire 89
+  77,   9,  90  ! Plane U, wire 90
+  78,   9,  91  ! Plane U, wire 91
+  80,   9,  92  ! Plane U, wire 92
+  81,   9,  93  ! Plane U, wire 93
+  82,   9,  94  ! Plane U, wire 94
+  83,   9,  95  ! Plane U, wire 95
+  84,   9,  96  ! Plane U, wire 96
+  85,   9,  97  ! Plane U, wire 97
+  86,   9,  98  ! Plane U, wire 98
+  87,   9,  99  ! Plane U, wire 99
+  88,   9, 100  ! Plane U, wire 100
+  89,   9, 101  ! Plane U, wire 101
+  90,   9, 102  ! Plane U, wire 102
+  91,   9, 103  ! Plane U, wire 103
+  92,   9, 104  ! Plane U, wire 104
+  93,   9, 105  ! Plane U, wire 105
+  94,   9, 106  ! Plane U, wire 106
+  95,   9, 107  ! Plane U, wire 107
+
+SLOT=16
+REFINDEX=0
+  80,  10,   1  ! Plane V, wire 1
+  81,  10,   2  ! Plane V, wire 2
+  82,  10,   3  ! Plane V, wire 3
+  83,  10,   4  ! Plane V, wire 4
+  84,  10,   5  ! Plane V, wire 5
+  85,  10,   6  ! Plane V, wire 6
+  86,  10,   7  ! Plane V, wire 7
+  87,  10,   8  ! Plane V, wire 8
+  88,  10,   9  ! Plane V, wire 9
+  89,  10,  10  ! Plane V, wire 10
+  90,  10,  11  ! Plane V, wire 11
+  91,  10,  12  ! Plane V, wire 12
+  92,  10,  13  ! Plane V, wire 13
+  93,  10,  14  ! Plane V, wire 14
+  94,  12, 113  ! Plane X', wire 113
+
+SLOT=14
+REFINDEX=0
+  96,  10,  15  ! Plane V, wire 15
+  97,  10,  16  ! Plane V, wire 16
+  98,  10,  17  ! Plane V, wire 17
+  99,  10,  18  ! Plane V, wire 18
+ 100,  10,  19  ! Plane V, wire 19
+ 101,  10,  20  ! Plane V, wire 20
+ 102,  10,  21  ! Plane V, wire 21
+ 103,  10,  22  ! Plane V, wire 22
+ 104,  10,  23  ! Plane V, wire 23
+ 105,  10,  24  ! Plane V, wire 24
+ 106,  10,  25  ! Plane V, wire 25
+ 107,  10,  26  ! Plane V, wire 26
+ 108,  10,  27  ! Plane V, wire 27
+ 109,  10,  28  ! Plane V, wire 28
+ 110,  10,  29  ! Plane V, wire 29
+ 112,  10,  30  ! Plane V, wire 30
+ 113,  10,  31  ! Plane V, wire 31
+ 114,  10,  32  ! Plane V, wire 32
+ 115,  10,  33  ! Plane V, wire 33
+ 116,  10,  34  ! Plane V, wire 34
+ 117,  10,  35  ! Plane V, wire 35
+ 118,  10,  36  ! Plane V, wire 36
+ 119,  10,  37  ! Plane V, wire 37
+ 120,  10,  38  ! Plane V, wire 38
+ 121,  10,  39  ! Plane V, wire 39
+ 122,  10,  40  ! Plane V, wire 40
+ 123,  10,  41  ! Plane V, wire 41
+ 124,  10,  42  ! Plane V, wire 42
+ 125,  10,  43  ! Plane V, wire 43
+ 126,  10,  44  ! Plane V, wire 44
+ 127,  10,  45  ! Plane V, wire 45
+
+SLOT=17
+REFINDEX=0
+ 127,1000,   0,   3
+   0,  10,  46  ! Plane V, wire 46
+   1,  10,  47  ! Plane V, wire 47
+   2,  10,  48  ! Plane V, wire 48
+   3,  10,  49  ! Plane V, wire 49
+   4,  10,  50  ! Plane V, wire 50
+   5,  10,  51  ! Plane V, wire 51
+   6,  10,  52  ! Plane V, wire 52
+   7,  10,  53  ! Plane V, wire 53
+   8,  10,  54  ! Plane V, wire 54
+   9,  10,  55  ! Plane V, wire 55
+  10,  10,  56  ! Plane V, wire 56
+  11,  10,  57  ! Plane V, wire 57
+  12,  10,  58  ! Plane V, wire 58
+  13,  10,  59  ! Plane V, wire 59
+  14,  10,  60  ! Plane V, wire 60
+  16,  10,  61  ! Plane V, wire 61
+  17,  10,  62  ! Plane V, wire 62
+  18,  10,  63  ! Plane V, wire 63
+  19,  10,  64  ! Plane V, wire 64
+  20,  10,  65  ! Plane V, wire 65
+  21,  10,  66  ! Plane V, wire 66
+  22,  10,  67  ! Plane V, wire 67
+  23,  10,  68  ! Plane V, wire 68
+  24,  10,  69  ! Plane V, wire 69
+  25,  10,  70  ! Plane V, wire 70
+  26,  10,  71  ! Plane V, wire 71
+  27,  10,  72  ! Plane V, wire 72
+  28,  10,  73  ! Plane V, wire 73
+  29,  10,  74  ! Plane V, wire 74
+  30,  10,  75  ! Plane V, wire 75
+  31,  10,  76  ! Plane V, wire 76
+  32,  10,  77  ! Plane V, wire 77
+  33,  10,  78  ! Plane V, wire 78
+  34,  10,  79  ! Plane V, wire 79
+  35,  10,  80  ! Plane V, wire 80
+  36,  10,  81  ! Plane V, wire 81
+  37,  10,  82  ! Plane V, wire 82
+  38,  10,  83  ! Plane V, wire 83
+  39,  10,  84  ! Plane V, wire 84
+  40,  10,  85  ! Plane V, wire 85
+  41,  10,  86  ! Plane V, wire 86
+  42,  10,  87  ! Plane V, wire 87
+  43,  10,  88  ! Plane V, wire 88
+  44,  10,  89  ! Plane V, wire 89
+  45,  10,  90  ! Plane V, wire 90
+  46,  10,  91  ! Plane V, wire 91
+  48,  10,  92  ! Plane V, wire 92
+  49,  10,  93  ! Plane V, wire 93
+  50,  10,  94  ! Plane V, wire 94
+  51,  10,  95  ! Plane V, wire 95
+  52,  10,  96  ! Plane V, wire 96
+  53,  10,  97  ! Plane V, wire 97
+  54,  10,  98  ! Plane V, wire 98
+  55,  10,  99  ! Plane V, wire 99
+  56,  10, 100  ! Plane V, wire 100
+  57,  10, 101  ! Plane V, wire 101
+  58,  10, 102  ! Plane V, wire 102
+  59,  10, 103  ! Plane V, wire 103
+  60,  10, 104  ! Plane V, wire 104
+  61,  10, 105  ! Plane V, wire 105
+  62,  10, 106  ! Plane V, wire 106
+  63,  10, 107  ! Plane V, wire 107
+
+SLOT=13
+REFINDEX=0
+   0,   7,   1  ! Plane X, wire 1
+   1,   7,   2  ! Plane X, wire 2
+   2,   7,   3  ! Plane X, wire 3
+   3,   7,   4  ! Plane X, wire 4
+   4,   7,   5  ! Plane X, wire 5
+   5,   7,   6  ! Plane X, wire 6
+   6,   7,   7  ! Plane X, wire 7
+   7,   7,   8  ! Plane X, wire 8
+   8,   7,   9  ! Plane X, wire 9
+   9,   7,  10  ! Plane X, wire 10
+  10,   7,  11  ! Plane X, wire 11
+  11,   7,  12  ! Plane X, wire 12
+  12,   7,  13  ! Plane X, wire 13
+  13,   7,  14  ! Plane X, wire 14
+  14,   7,  15  ! Plane X, wire 15
+  15,   7,  16  ! Plane X, wire 16
+  16,   7,  17  ! Plane X, wire 17
+  17,   7,  18  ! Plane X, wire 18
+  18,   7,  19  ! Plane X, wire 19
+  19,   7,  20  ! Plane X, wire 20
+  20,   7,  21  ! Plane X, wire 21
+  21,   7,  22  ! Plane X, wire 22
+  22,   7,  23  ! Plane X, wire 23
+  23,   7,  24  ! Plane X, wire 24
+  24,   7,  25  ! Plane X, wire 25
+  25,   7,  26  ! Plane X, wire 26
+  26,   7,  27  ! Plane X, wire 27
+  27,   7,  28  ! Plane X, wire 28
+  28,   7,  29  ! Plane X, wire 29
+  29,   7,  30  ! Plane X, wire 30
+  30,   7,  31  ! Plane X, wire 31
+  31,   7,  32  ! Plane X, wire 32
+  32,   7,  33  ! Plane X, wire 33
+  33,   7,  34  ! Plane X, wire 34
+  34,   7,  35  ! Plane X, wire 35
+  35,   7,  36  ! Plane X, wire 36
+  36,   7,  37  ! Plane X, wire 37
+  37,   7,  38  ! Plane X, wire 38
+  38,   7,  39  ! Plane X, wire 39
+  39,   7,  40  ! Plane X, wire 40
+  40,   7,  41  ! Plane X, wire 41
+  41,   7,  42  ! Plane X, wire 42
+  42,   7,  43  ! Plane X, wire 43
+  43,   7,  44  ! Plane X, wire 44
+  44,   7,  45  ! Plane X, wire 45
+  45,   7,  46  ! Plane X, wire 46
+  46,   7,  47  ! Plane X, wire 47
+  47,   7,  48  ! Plane X, wire 48
+  48,   7,  49  ! Plane X, wire 49
+  49,   7,  50  ! Plane X, wire 50
+  50,   7,  51  ! Plane X, wire 51
+  51,   7,  52  ! Plane X, wire 52
+  52,   7,  53  ! Plane X, wire 53
+  53,   7,  54  ! Plane X, wire 54
+  54,   7,  55  ! Plane X, wire 55
+  55,   7,  56  ! Plane X, wire 56
+  56,   7,  57  ! Plane X, wire 57
+  57,   7,  58  ! Plane X, wire 58
+  58,   7,  59  ! Plane X, wire 59
+  59,   7,  60  ! Plane X, wire 60
+  60,   7,  61  ! Plane X, wire 61
+  61,   7,  62  ! Plane X, wire 62
+  62,   7,  63  ! Plane X, wire 63
+  63,   7,  64  ! Plane X, wire 64
+  64,   7,  65  ! Plane X, wire 65
+  65,   7,  66  ! Plane X, wire 66
+  66,   7,  67  ! Plane X, wire 67
+  67,   7,  68  ! Plane X, wire 68
+  68,   7,  69  ! Plane X, wire 69
+  69,   7,  70  ! Plane X, wire 70
+  70,   7,  71  ! Plane X, wire 71
+  71,   7,  72  ! Plane X, wire 72
+  72,   7,  73  ! Plane X, wire 73
+  73,   7,  74  ! Plane X, wire 74
+  74,   7,  75  ! Plane X, wire 75
+  75,   7,  76  ! Plane X, wire 76
+  76,   7,  77  ! Plane X, wire 77
+  77,   7,  78  ! Plane X, wire 78
+  78,   7,  79  ! Plane X, wire 79
+  79,   7,  80  ! Plane X, wire 80
+  80,   7,  81  ! Plane X, wire 81
+  81,   7,  82  ! Plane X, wire 82
+  82,   7,  83  ! Plane X, wire 83
+  83,   7,  84  ! Plane X, wire 84
+  84,   7,  85  ! Plane X, wire 85
+  85,   7,  86  ! Plane X, wire 86
+  86,   7,  87  ! Plane X, wire 87
+  87,   7,  88  ! Plane X, wire 88
+  88,   7,  89  ! Plane X, wire 89
+  89,   7,  90  ! Plane X, wire 90
+  90,   7,  91  ! Plane X, wire 91
+  91,   7,  92  ! Plane X, wire 92
+  92,   7,  93  ! Plane X, wire 93
+  93,   7,  94  ! Plane X, wire 94
+  94,   7,  95  ! Plane X, wire 95
+  95,   7,  96  ! Plane X, wire 96
+  96,   7,  97  ! Plane X, wire 97
+  97,   7,  98  ! Plane X, wire 98
+  98,   7,  99  ! Plane X, wire 99
+  99,   7, 100  ! Plane X, wire 100
+ 100,   7, 101  ! Plane X, wire 101
+ 101,   7, 102  ! Plane X, wire 102
+ 102,   7, 103  ! Plane X, wire 103
+ 103,   7, 104  ! Plane X, wire 104
+ 104,   7, 105  ! Plane X, wire 105
+ 105,   7, 106  ! Plane X, wire 106
+ 106,   7, 107  ! Plane X, wire 107
+ 107,   7, 108  ! Plane X, wire 108
+ 108,   7, 109  ! Plane X, wire 109
+ 109,   7, 110  ! Plane X, wire 110
+ 110,   7, 111  ! Plane X, wire 111
+ 111,   7, 112  ! Plane X, wire 112
+ 112,  12,   1  ! Plane X', wire 1
+ 113,  12,   2  ! Plane X', wire 2
+ 114,  12,   3  ! Plane X', wire 3
+ 115,  12,   4  ! Plane X', wire 4
+ 116,  12,   5  ! Plane X', wire 5
+ 117,  12,   6  ! Plane X', wire 6
+ 118,  12,   7  ! Plane X', wire 7
+ 119,  12,   8  ! Plane X', wire 8
+ 120,  12,   9  ! Plane X', wire 9
+ 121,  12,  10  ! Plane X', wire 10
+ 122,  12,  11  ! Plane X', wire 11
+ 123,  12,  12  ! Plane X', wire 12
+ 124,  12,  13  ! Plane X', wire 13
+ 125,  12,  14  ! Plane X', wire 14
+ 126,  12,  15  ! Plane X', wire 15
+ 127,  12,  16  ! Plane X', wire 16
+
+SLOT=14
+REFINDEX=0
+  16,  12,  17  ! Plane X', wire 17
+  17,  12,  18  ! Plane X', wire 18
+  18,  12,  19  ! Plane X', wire 19
+  19,  12,  20  ! Plane X', wire 20
+  20,  12,  21  ! Plane X', wire 21
+  21,  12,  22  ! Plane X', wire 22
+  22,  12,  23  ! Plane X', wire 23
+  23,  12,  24  ! Plane X', wire 24
+  24,  12,  25  ! Plane X', wire 25
+  25,  12,  26  ! Plane X', wire 26
+  26,  12,  27  ! Plane X', wire 27
+  27,  12,  28  ! Plane X', wire 28
+  28,  12,  29  ! Plane X', wire 29
+  29,  12,  30  ! Plane X', wire 30
+  30,  12,  31  ! Plane X', wire 31
+  31,  12,  32  ! Plane X', wire 32
+
+SLOT=16
+REFINDEX=0
+   0,  12,  33  ! Plane X', wire 33
+   1,  12,  34  ! Plane X', wire 34
+   2,  12,  35  ! Plane X', wire 35
+   3,  12,  36  ! Plane X', wire 36
+   4,  12,  37  ! Plane X', wire 37
+   5,  12,  38  ! Plane X', wire 38
+   6,  12,  39  ! Plane X', wire 39
+   7,  12,  40  ! Plane X', wire 40
+   8,  12,  41  ! Plane X', wire 41
+   9,  12,  42  ! Plane X', wire 42
+  10,  12,  43  ! Plane X', wire 43
+  11,  12,  44  ! Plane X', wire 44
+  12,  12,  45  ! Plane X', wire 45
+  13,  12,  46  ! Plane X', wire 46
+  14,  12,  47  ! Plane X', wire 47
+  15,  12,  48  ! Plane X', wire 48
+  16,  12,  49  ! Plane X', wire 49
+  17,  12,  50  ! Plane X', wire 50
+  18,  12,  51  ! Plane X', wire 51
+  19,  12,  52  ! Plane X', wire 52
+  20,  12,  53  ! Plane X', wire 53
+  21,  12,  54  ! Plane X', wire 54
+  22,  12,  55  ! Plane X', wire 55
+  23,  12,  56  ! Plane X', wire 56
+  24,  12,  57  ! Plane X', wire 57
+  25,  12,  58  ! Plane X', wire 58
+  26,  12,  59  ! Plane X', wire 59
+  27,  12,  60  ! Plane X', wire 60
+  28,  12,  61  ! Plane X', wire 61
+  29,  12,  62  ! Plane X', wire 62
+  30,  12,  63  ! Plane X', wire 63
+  31,  12,  64  ! Plane X', wire 64
+  32,  12,  65  ! Plane X', wire 65
+  33,  12,  66  ! Plane X', wire 66
+  34,  12,  67  ! Plane X', wire 67
+  35,  12,  68  ! Plane X', wire 68
+  36,  12,  69  ! Plane X', wire 69
+  37,  12,  70  ! Plane X', wire 70
+  38,  12,  71  ! Plane X', wire 71
+  39,  12,  72  ! Plane X', wire 72
+  40,  12,  73  ! Plane X', wire 73
+  41,  12,  74  ! Plane X', wire 74
+  42,  12,  75  ! Plane X', wire 75
+  43,  12,  76  ! Plane X', wire 76
+  44,  12,  77  ! Plane X', wire 77
+  45,  12,  78  ! Plane X', wire 78
+  46,  12,  79  ! Plane X', wire 79
+  47,  12,  80  ! Plane X', wire 80
+  48,  12,  81  ! Plane X', wire 81
+  49,  12,  82  ! Plane X', wire 82
+  50,  12,  83  ! Plane X', wire 83
+  51,  12,  84  ! Plane X', wire 84
+  52,  12,  85  ! Plane X', wire 85
+  53,  12,  86  ! Plane X', wire 86
+  54,  12,  87  ! Plane X', wire 87
+  55,  12,  88  ! Plane X', wire 88
+  56,  12,  89  ! Plane X', wire 89
+  57,  12,  90  ! Plane X', wire 90
+  58,  12,  91  ! Plane X', wire 91
+  59,  12,  92  ! Plane X', wire 92
+  60,  12,  93  ! Plane X', wire 93
+  61,  12,  94  ! Plane X', wire 94
+  62,  12,  95  ! Plane X', wire 95
+  63,  12,  96  ! Plane X', wire 96
+  64,  12,  97  ! Plane X', wire 97
+  65,  12,  98  ! Plane X', wire 98
+  66,  12,  99  ! Plane X', wire 99
+  67,  12, 100  ! Plane X', wire 100
+  68,  12, 101  ! Plane X', wire 101
+  69,  12, 102  ! Plane X', wire 102
+  70,  12, 103  ! Plane X', wire 103
+  71,  12, 104  ! Plane X', wire 104
+  72,  12, 105  ! Plane X', wire 105
+  73,  12, 106  ! Plane X', wire 106
+  74,  12, 107  ! Plane X', wire 107
+  75,  12, 108  ! Plane X', wire 108
+  76,  12, 109  ! Plane X', wire 109
+  77,  12, 110  ! Plane X', wire 110
+  78,  12, 111  ! Plane X', wire 111
+  79,  12, 112  ! Plane X', wire 112
+
+SLOT=17
+REFINDEX=0
+  64,   8,   1  ! Plane Y, wire 1
+  65,   8,   2  ! Plane Y, wire 2
+  66,   8,   3  ! Plane Y, wire 3
+  67,   8,   4  ! Plane Y, wire 4
+  68,   8,   5  ! Plane Y, wire 5
+  69,   8,   6  ! Plane Y, wire 6
+  70,   8,   7  ! Plane Y, wire 7
+  71,   8,   8  ! Plane Y, wire 8
+  72,   8,   9  ! Plane Y, wire 9
+  73,   8,  10  ! Plane Y, wire 10
+  74,   8,  11  ! Plane Y, wire 11
+  75,   8,  12  ! Plane Y, wire 12
+  76,   8,  13  ! Plane Y, wire 13
+  80,   8,  14  ! Plane Y, wire 14
+  81,   8,  15  ! Plane Y, wire 15
+  82,   8,  16  ! Plane Y, wire 16
+  83,   8,  17  ! Plane Y, wire 17
+  84,   8,  18  ! Plane Y, wire 18
+  85,   8,  19  ! Plane Y, wire 19
+  86,   8,  20  ! Plane Y, wire 20
+  87,   8,  21  ! Plane Y, wire 21
+  88,   8,  22  ! Plane Y, wire 22
+  89,   8,  23  ! Plane Y, wire 23
+  90,   8,  24  ! Plane Y, wire 24
+  91,   8,  25  ! Plane Y, wire 25
+  92,   8,  26  ! Plane Y, wire 26
+  96,   8,  27  ! Plane Y, wire 27
+  97,   8,  28  ! Plane Y, wire 28
+  98,   8,  29  ! Plane Y, wire 29
+  99,   8,  30  ! Plane Y, wire 30
+ 100,   8,  31  ! Plane Y, wire 31
+ 101,   8,  32  ! Plane Y, wire 32
+ 102,   8,  33  ! Plane Y, wire 33
+ 103,   8,  34  ! Plane Y, wire 34
+ 104,   8,  35  ! Plane Y, wire 35
+ 105,   8,  36  ! Plane Y, wire 36
+ 106,   8,  37  ! Plane Y, wire 37
+ 107,   8,  38  ! Plane Y, wire 38
+ 108,   8,  39  ! Plane Y, wire 39
+ 112,   8,  40  ! Plane Y, wire 40
+ 113,   8,  41  ! Plane Y, wire 41
+ 114,   8,  42  ! Plane Y, wire 42
+ 115,   8,  43  ! Plane Y, wire 43
+ 116,   8,  44  ! Plane Y, wire 44
+ 117,   8,  45  ! Plane Y, wire 45
+ 118,   8,  46  ! Plane Y, wire 46
+ 119,   8,  47  ! Plane Y, wire 47
+ 120,   8,  48  ! Plane Y, wire 48
+ 121,   8,  49  ! Plane Y, wire 49
+ 122,   8,  50  ! Plane Y, wire 50
+ 123,   8,  51  ! Plane Y, wire 51
+ 124,   8,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   1
+  64,  11,   1  ! Plane Y', wire 1
+  65,  11,   2  ! Plane Y', wire 2
+  66,  11,   3  ! Plane Y', wire 3
+  67,  11,   4  ! Plane Y', wire 4
+  68,  11,   5  ! Plane Y', wire 5
+  69,  11,   6  ! Plane Y', wire 6
+  70,  11,   7  ! Plane Y', wire 7
+  71,  11,   8  ! Plane Y', wire 8
+  72,  11,   9  ! Plane Y', wire 9
+  73,  11,  10  ! Plane Y', wire 10
+  74,  11,  11  ! Plane Y', wire 11
+  75,  11,  12  ! Plane Y', wire 12
+  76,  11,  13  ! Plane Y', wire 13
+  80,  11,  14  ! Plane Y', wire 14
+  81,  11,  15  ! Plane Y', wire 15
+  82,  11,  16  ! Plane Y', wire 16
+  83,  11,  17  ! Plane Y', wire 17
+  84,  11,  18  ! Plane Y', wire 18
+  85,  11,  19  ! Plane Y', wire 19
+  86,  11,  20  ! Plane Y', wire 20
+  87,  11,  21  ! Plane Y', wire 21
+  88,  11,  22  ! Plane Y', wire 22
+  89,  11,  23  ! Plane Y', wire 23
+  90,  11,  24  ! Plane Y', wire 24
+  91,  11,  25  ! Plane Y', wire 25
+  92,  11,  26  ! Plane Y', wire 26
+  96,  11,  27  ! Plane Y', wire 27
+  97,  11,  28  ! Plane Y', wire 28
+  98,  11,  29  ! Plane Y', wire 29
+  99,  11,  30  ! Plane Y', wire 30
+ 100,  11,  31  ! Plane Y', wire 31
+ 101,  11,  32  ! Plane Y', wire 32
+ 102,  11,  33  ! Plane Y', wire 33
+ 103,  11,  34  ! Plane Y', wire 34
+ 104,  11,  35  ! Plane Y', wire 35
+ 105,  11,  36  ! Plane Y', wire 36
+ 106,  11,  37  ! Plane Y', wire 37
+ 107,  11,  38  ! Plane Y', wire 38
+ 108,  11,  39  ! Plane Y', wire 39
+ 112,  11,  40  ! Plane Y', wire 40
+ 113,  11,  41  ! Plane Y', wire 41
+ 114,  11,  42  ! Plane Y', wire 42
+ 115,  11,  43  ! Plane Y', wire 43
+ 116,  11,  44  ! Plane Y', wire 44
+ 117,  11,  45  ! Plane Y', wire 45
+ 118,  11,  46  ! Plane Y', wire 46
+ 119,  11,  47  ! Plane Y', wire 47
+ 120,  11,  48  ! Plane Y', wire 48
+ 121,  11,  49  ! Plane Y', wire 49
+ 122,  11,  50  ! Plane Y', wire 50
+ 123,  11,  51  ! Plane Y', wire 51
+ 124,  11,  52  ! Plane Y', wire 52
diff --git a/MAPS/HMS/DETEC/hhodo.map b/MAPS/HMS/DETEC/hhodo.map
index 2a99b3eb..698489c2 100644
--- a/MAPS/HMS/DETEC/hhodo.map
+++ b/MAPS/HMS/DETEC/hhodo.map
@@ -115,17 +115,19 @@ SLOT=15
     15,      4,      2,      1!    h2y02A-
 SLOT=16
 ! chan   plane     bar     sig
-     0,      4,     10,      1!    h2y10A-
-     1,      4,      9,      1!    h2y09A-
-     2,      4,      8,      1!    h2y08A-
-     3,      4,      7,      1!    h2y07A-
-     4,      4,      6,      1!    h2y06A-
-     5,      4,      5,      1!    h2y05A-
-     6,      4,      4,      1!    h2y04A-
-     7,      4,      3,      1!    h2y03A-
+     0,      4,      3,      1!    h2y03A-
+     1,      4,      4,      1!    h2y04A-
+     2,      4,      5,      1!    h2y05A-
+     3,      4,      6,      1!    h2y06A-
+     4,      4,      7,      1!    h2y07A-
+     5,      4,      8,      1!    h2y08A-
+     6,      4,      9,      1!    h2y09A-
+     7,      4,     10,      1!    h2y10A-
 
 ! Caen 1190 module
 SLOT=20
+REFINDEX=0
+  127,1000,   0,   0
 ! A0
 ! chan   plane     bar     sig
      0,      1,      1,      2!    h1x01T+
diff --git a/MAPS/HMS/DETEC/hhodo_htrig.map b/MAPS/HMS/DETEC/hhodo_htrig.map
new file mode 100644
index 00000000..9d28bae5
--- /dev/null
+++ b/MAPS/HMS/DETEC/hhodo_htrig.map
@@ -0,0 +1,283 @@
+! THMS_ID=10       ::  ADC,TDC
+! HSCIN_ID=13      ::  ADC,TDC
+
+
+DETECTOR=10
+
+ROC=1
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=13
+
+ROC=1
+
+SLOT=8
+   0,   1,   1,   0  ! h1x01A+
+   1,   1,   2,   0  ! h1x02A+
+   2,   1,   3,   0  ! h1x03A+
+   3,   1,   4,   0  ! h1x04A+
+   4,   1,   5,   0  ! h1x05A+
+   5,   1,   6,   0  ! h1x06A+
+   6,   1,   7,   0  ! h1x07A+
+   7,   1,   8,   0  ! h1x08A+
+   8,   1,   9,   0  ! h1x09A+
+   9,   1,  10,   0  ! h1x10A+
+  10,   1,  11,   0  ! h1x11A+
+  11,   1,  12,   0  ! h1x12A+
+  12,   1,  13,   0  ! h1x13A+
+  13,   1,  14,   0  ! h1x14A+
+  14,   1,  15,   0  ! h1x15A+
+  15,   1,  16,   0  ! h1x16A+
+
+SLOT=9
+   0,   1,   1,   1  ! h1x01A-
+   1,   1,   2,   1  ! h1x02A-
+   2,   1,   3,   1  ! h1x03A-
+   3,   1,   4,   1  ! h1x04A-
+   4,   1,   5,   1  ! h1x05A-
+   5,   1,   6,   1  ! h1x06A-
+   6,   1,   7,   1  ! h1x07A-
+   7,   1,   8,   1  ! h1x08A-
+   8,   1,   9,   1  ! h1x09A-
+   9,   1,  10,   1  ! h1x10A-
+  10,   1,  11,   1  ! h1x11A-
+  11,   1,  12,   1  ! h1x12A-
+  12,   1,  13,   1  ! h1x13A-
+  13,   1,  14,   1  ! h1x14A-
+  14,   1,  15,   1  ! h1x15A-
+  15,   1,  16,   1  ! h1x16A-
+
+SLOT=10
+   0,   2,   1,   0  ! h1y01A+
+   1,   2,   2,   0  ! h1y02A+
+   2,   2,   3,   0  ! h1y03A+
+   3,   2,   4,   0  ! h1y04A+
+   4,   2,   5,   0  ! h1y05A+
+   5,   2,   6,   0  ! h1y06A+
+   6,   2,   7,   0  ! h1y07A+
+   7,   2,   8,   0  ! h1y08A+
+   8,   2,   9,   0  ! h1y09A+
+   9,   2,  10,   0  ! h1y10A+
+  10,   2,   1,   1  ! h1y01A-
+  11,   2,   2,   1  ! h1y02A-
+  12,   2,   3,   1  ! h1y03A-
+  13,   2,   4,   1  ! h1y04A-
+  14,   2,   5,   1  ! h1y05A-
+  15,   2,   6,   1  ! h1y06A-
+
+SLOT=13
+   0,   2,   7,   1  ! h1y07A-
+   1,   2,   8,   1  ! h1y08A-
+   2,   2,   9,   1  ! h1y09A-
+   3,   2,  10,   1  ! h1y10A-
+   4,   3,   1,   0  ! h2x01A+
+   5,   3,   2,   0  ! h2x02A+
+   6,   3,   3,   0  ! h2x03A+
+   7,   3,   4,   0  ! h2x04A+
+   8,   3,   5,   0  ! h2x05A+
+   9,   3,   6,   0  ! h2x06A+
+  10,   3,   7,   0  ! h2x07A+
+  11,   3,   8,   0  ! h2x08A+
+  12,   3,   9,   0  ! h2x09A+
+  13,   3,  10,   0  ! h2x10A+
+  14,   3,  11,   0  ! h2x11A+
+  15,   3,  12,   0  ! h2x12A+
+
+SLOT=14
+   0,   3,  13,   0  ! h2x13A+
+   1,   3,  14,   0  ! h2x14A+
+   2,   3,  15,   0  ! h2x15A+
+   3,   3,  16,   0  ! h2x16A+
+   4,   3,   1,   1  ! h2x01A-
+   5,   3,   2,   1  ! h2x02A-
+   6,   3,   3,   1  ! h2x03A-
+   7,   3,   4,   1  ! h2x04A-
+   8,   3,   5,   1  ! h2x05A-
+   9,   3,   6,   1  ! h2x06A-
+  10,   3,   7,   1  ! h2x07A-
+  11,   3,   8,   1  ! h2x08A-
+  12,   3,   9,   1  ! h2x09A-
+  13,   3,  10,   1  ! h2x10A-
+  14,   3,  11,   1  ! h2x11A-
+  15,   3,  12,   1  ! h2x12A-
+
+SLOT=15
+   0,   3,  13,   1  ! h2x13A-
+   1,   3,  14,   1  ! h2x14A-
+   2,   3,  15,   1  ! h2x15A-
+   3,   3,  16,   1  ! h2x16A-
+   4,   4,   1,   0  ! h2y01A+
+   5,   4,   2,   0  ! h2y02A+
+   6,   4,   3,   0  ! h2y03A+
+   7,   4,   4,   0  ! h2y04A+
+   8,   4,   5,   0  ! h2y05A+
+   9,   4,   6,   0  ! h2y06A+
+  10,   4,   7,   0  ! h2y07A+
+  11,   4,   8,   0  ! h2y08A+
+  12,   4,   9,   0  ! h2y09A+
+  13,   4,  10,   0  ! h2y10A+
+  14,   4,   1,   1  ! h2y01A-
+  15,   4,   2,   1  ! h2y02A-
+
+SLOT=16
+   0,   4,   3,   1  ! h2y03A-
+   1,   4,   4,   1  ! h2y04A-
+   2,   4,   5,   1  ! h2y05A-
+   3,   4,   6,   1  ! h2y06A-
+   4,   4,   7,   1  ! h2y07A-
+   5,   4,   8,   1  ! h2y08A-
+   6,   4,   9,   1  ! h2y09A-
+   7,   4,  10,   1  ! h2y10A-
+
+SLOT=20
+REFINDEX=0
+ 127,1000,   0,   0
+   0,   1,   1,   2  ! h1x01T+
+   1,   1,   3,   2  ! h1x03T+
+   2,   1,   5,   2  ! h1x05T+
+   3,   1,   7,   2  ! h1x07T+
+   4,   1,   2,   2  ! h1x02T+
+   5,   1,   4,   2  ! h1x04T+
+   6,   1,   6,   2  ! h1x06T+
+   7,   1,   8,   2  ! h1x08T+
+   8,   1,   9,   2  ! h1x09T+
+   9,   1,  11,   2  ! h1x11T+
+  10,   1,  13,   2  ! h1x13T+
+  11,   1,  15,   2  ! h1x15T+
+  12,   1,  10,   2  ! h1x10T+
+  13,   1,  12,   2  ! h1x12T+
+  14,   1,  14,   2  ! h1x14T+
+  15,   1,  16,   2  ! h1x16T+
+  16,   1,   1,   3  ! h1x01T-
+  17,   1,   3,   3  ! h1x03T-
+  18,   1,   5,   3  ! h1x05T-
+  19,   1,   7,   3  ! h1x07T-
+  20,   1,   2,   3  ! h1x02T-
+  21,   1,   4,   3  ! h1x04T-
+  22,   1,   6,   3  ! h1x06T-
+  23,   1,   8,   3  ! h1x08T-
+  24,   1,   9,   3  ! h1x09T-
+  25,   1,  11,   3  ! h1x11T-
+  26,   1,  13,   3  ! h1x13T-
+  27,   1,  15,   3  ! h1x15T-
+  28,   1,  10,   3  ! h1x10T-
+  29,   1,  12,   3  ! h1x12T-
+  30,   1,  14,   3  ! h1x14T-
+  31,   1,  16,   3  ! h1x16T-
+  32,   2,   1,   2  ! h1y01T+
+  33,   2,   3,   2  ! h1y03T+
+  34,   2,   5,   2  ! h1y05T+
+  35,   2,   7,   2  ! h1y07T+
+  36,   2,   2,   2  ! h1y02T+
+  37,   2,   4,   2  ! h1y04T+
+  38,   2,   6,   2  ! h1y06T+
+  39,   2,   8,   2  ! h1y08T+
+  40,   2,   9,   2  ! h1y09T+
+  44,   2,  10,   2  ! h1y10T+
+  48,   2,   1,   3  ! h1y01T-
+  49,   2,   3,   3  ! h1y03T-
+  50,   2,   5,   3  ! h1y05T-
+  51,   2,   7,   3  ! h1y07T-
+  52,   2,   2,   3  ! h1y02T-
+  53,   2,   4,   3  ! h1y04T-
+  54,   2,   6,   3  ! h1y06T-
+  55,   2,   8,   3  ! h1y08T-
+  56,   2,   9,   3  ! h1y09T-
+  60,   2,  10,   3  ! h1y10T-
+  64,   3,   1,   2  ! h2x01T+
+  65,   3,   3,   2  ! h2x03T+
+  66,   3,   5,   2  ! h2x05T+
+  67,   3,   7,   2  ! h2x07T+
+  68,   3,   2,   2  ! h2x02T+
+  69,   3,   4,   2  ! h2x04T+
+  70,   3,   6,   2  ! h2x06T+
+  71,   3,   8,   2  ! h2x08T+
+  72,   3,   9,   2  ! h2x09T+
+  73,   3,  11,   2  ! h2x11T+
+  74,   3,  13,   2  ! h2x13T+
+  75,   3,  15,   2  ! h2x15T+
+  76,   3,  10,   2  ! h2x10T+
+  77,   3,  12,   2  ! h2x12T+
+  78,   3,  14,   2  ! h2x14T+
+  79,   3,  16,   2  ! h2x16T+
+  80,   3,   1,   3  ! h2x01T-
+  81,   3,   3,   3  ! h2x03T-
+  82,   3,   5,   3  ! h2x05T-
+  83,   3,   7,   3  ! h2x07T-
+  84,   3,   2,   3  ! h2x02T-
+  85,   3,   4,   3  ! h2x04T-
+  86,   3,   6,   3  ! h2x06T-
+  87,   3,   8,   3  ! h2x08T-
+  88,   3,   9,   3  ! h2x09T-
+  89,   3,  11,   3  ! h2x11T-
+  90,   3,  13,   3  ! h2x13T-
+  91,   3,  15,   3  ! h2x15T-
+  92,   3,  10,   3  ! h2x10T-
+  93,   3,  12,   3  ! h2x12T-
+  94,   3,  14,   3  ! h2x14T-
+  95,   3,  16,   3  ! h2x16T-
+  96,   4,   1,   2  ! h2y01T+
+  97,   4,   3,   2  ! h2y03T+
+  98,   4,   5,   2  ! h2y05T+
+  99,   4,   7,   2  ! h2y07T+
+ 100,   4,   2,   2  ! h2y02T+
+ 101,   4,   4,   2  ! h2y04T+
+ 102,   4,   6,   2  ! h2y06T+
+ 103,   4,   8,   2  ! h2y08T+
+ 104,   4,   9,   2  ! h2y09T+
+ 108,   4,  10,   2  ! h2y10T+
+ 112,   4,   1,   3  ! h2y01T-
+ 113,   4,   3,   3  ! h2y03T-
+ 114,   4,   5,   3  ! h2y05T-
+ 115,   4,   7,   3  ! h2y07T-
+ 116,   4,   2,   3  ! h2y02T-
+ 117,   4,   4,   3  ! h2y04T-
+ 118,   4,   6,   3  ! h2y06T-
+ 119,   4,   8,   3  ! h2y08T-
+ 120,   4,   9,   3  ! h2y09T-
+ 124,   4,  10,   3  ! h2y10T-
diff --git a/MAPS/HMS/DETEC/hms_stack.map b/MAPS/HMS/DETEC/hms_stack.map
new file mode 100644
index 00000000..1547c7c6
--- /dev/null
+++ b/MAPS/HMS/DETEC/hms_stack.map
@@ -0,0 +1,1546 @@
+! THMS_ID=10       ::  ADC,TDC
+! HDC_ID=11        ::  TDC
+! HSCIN_ID=13      ::  ADC+,ADC-,TDC+,TDC-
+! HCER_ID=14       ::  (TDC),ADC
+! HCAL_ID=15       ::  ADC
+
+
+DETECTOR=10
+
+ROC=1
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=11  ! HMS chambers
+
+ROC=3
+
+SLOT=5
+REFINDEX=0
+ 111,1000,   0,   0
+  96,   3,   1  ! Plane U, wire 1
+  97,   3,   2  ! Plane U, wire 2
+  98,   3,   3  ! Plane U, wire 3
+  99,   3,   4  ! Plane U, wire 4
+ 100,   3,   5  ! Plane U, wire 5
+ 101,   3,   6  ! Plane U, wire 6
+ 102,   3,   7  ! Plane U, wire 7
+ 103,   3,   8  ! Plane U, wire 8
+ 104,   3,   9  ! Plane U, wire 9
+ 105,   3,  10  ! Plane U, wire 10
+ 106,   3,  11  ! Plane U, wire 11
+ 107,   3,  12  ! Plane U, wire 12
+ 108,   3,  13  ! Plane U, wire 13
+ 109,   3,  14  ! Plane U, wire 14
+ 110,   1, 113  ! Plane X, wire 113
+  80,   3,  15  ! Plane U, wire 15
+  81,   3,  16  ! Plane U, wire 16
+  82,   3,  17  ! Plane U, wire 17
+  83,   3,  18  ! Plane U, wire 18
+  84,   3,  19  ! Plane U, wire 19
+  85,   3,  20  ! Plane U, wire 20
+  86,   3,  21  ! Plane U, wire 21
+  87,   3,  22  ! Plane U, wire 22
+  88,   3,  23  ! Plane U, wire 23
+  89,   3,  24  ! Plane U, wire 24
+  90,   3,  25  ! Plane U, wire 25
+  91,   3,  26  ! Plane U, wire 26
+  92,   3,  27  ! Plane U, wire 27
+  93,   3,  28  ! Plane U, wire 28
+  94,   3,  29  ! Plane U, wire 29
+  64,   3,  30  ! Plane U, wire 30
+  65,   3,  31  ! Plane U, wire 31
+  66,   3,  32  ! Plane U, wire 32
+  67,   3,  33  ! Plane U, wire 33
+  68,   3,  34  ! Plane U, wire 34
+  69,   3,  35  ! Plane U, wire 35
+  70,   3,  36  ! Plane U, wire 36
+  71,   3,  37  ! Plane U, wire 37
+  72,   3,  38  ! Plane U, wire 38
+  73,   3,  39  ! Plane U, wire 39
+  74,   3,  40  ! Plane U, wire 40
+  75,   3,  41  ! Plane U, wire 41
+  76,   3,  42  ! Plane U, wire 42
+  77,   3,  43  ! Plane U, wire 43
+  78,   3,  44  ! Plane U, wire 44
+  79,   3,  45  ! Plane U, wire 45
+  48,   3,  46  ! Plane U, wire 46
+  49,   3,  47  ! Plane U, wire 47
+  50,   3,  48  ! Plane U, wire 48
+  51,   3,  49  ! Plane U, wire 49
+  52,   3,  50  ! Plane U, wire 50
+  53,   3,  51  ! Plane U, wire 51
+  54,   3,  52  ! Plane U, wire 52
+  55,   3,  53  ! Plane U, wire 53
+  56,   3,  54  ! Plane U, wire 54
+  57,   3,  55  ! Plane U, wire 55
+  58,   3,  56  ! Plane U, wire 56
+  59,   3,  57  ! Plane U, wire 57
+  60,   3,  58  ! Plane U, wire 58
+  61,   3,  59  ! Plane U, wire 59
+  62,   3,  60  ! Plane U, wire 60
+  32,   3,  61  ! Plane U, wire 61
+  33,   3,  62  ! Plane U, wire 62
+  34,   3,  63  ! Plane U, wire 63
+  35,   3,  64  ! Plane U, wire 64
+  36,   3,  65  ! Plane U, wire 65
+  37,   3,  66  ! Plane U, wire 66
+  38,   3,  67  ! Plane U, wire 67
+  39,   3,  68  ! Plane U, wire 68
+  40,   3,  69  ! Plane U, wire 69
+  41,   3,  70  ! Plane U, wire 70
+  42,   3,  71  ! Plane U, wire 71
+  43,   3,  72  ! Plane U, wire 72
+  44,   3,  73  ! Plane U, wire 73
+  45,   3,  74  ! Plane U, wire 74
+  46,   3,  75  ! Plane U, wire 75
+  47,   3,  76  ! Plane U, wire 76
+  16,   3,  77  ! Plane U, wire 77
+  17,   3,  78  ! Plane U, wire 78
+  18,   3,  79  ! Plane U, wire 79
+  19,   3,  80  ! Plane U, wire 80
+  20,   3,  81  ! Plane U, wire 81
+  21,   3,  82  ! Plane U, wire 82
+  22,   3,  83  ! Plane U, wire 83
+  23,   3,  84  ! Plane U, wire 84
+  24,   3,  85  ! Plane U, wire 85
+  25,   3,  86  ! Plane U, wire 86
+  26,   3,  87  ! Plane U, wire 87
+  27,   3,  88  ! Plane U, wire 88
+  28,   3,  89  ! Plane U, wire 89
+  29,   3,  90  ! Plane U, wire 90
+  30,   3,  91  ! Plane U, wire 91
+   0,   3,  92  ! Plane U, wire 92
+   1,   3,  93  ! Plane U, wire 93
+   2,   3,  94  ! Plane U, wire 94
+   3,   3,  95  ! Plane U, wire 95
+   4,   3,  96  ! Plane U, wire 96
+   5,   3,  97  ! Plane U, wire 97
+   6,   3,  98  ! Plane U, wire 98
+   7,   3,  99  ! Plane U, wire 99
+   8,   3, 100  ! Plane U, wire 100
+   9,   3, 101  ! Plane U, wire 101
+  10,   3, 102  ! Plane U, wire 102
+  11,   3, 103  ! Plane U, wire 103
+  12,   3, 104  ! Plane U, wire 104
+  13,   3, 105  ! Plane U, wire 105
+  14,   3, 106  ! Plane U, wire 106
+  15,   3, 107  ! Plane U, wire 107
+
+SLOT=7
+REFINDEX=0
+  96,   4,   1  ! Plane V, wire 1
+  97,   4,   2  ! Plane V, wire 2
+  98,   4,   3  ! Plane V, wire 3
+  99,   4,   4  ! Plane V, wire 4
+ 100,   4,   5  ! Plane V, wire 5
+ 101,   4,   6  ! Plane V, wire 6
+ 102,   4,   7  ! Plane V, wire 7
+ 103,   4,   8  ! Plane V, wire 8
+ 104,   4,   9  ! Plane V, wire 9
+ 105,   4,  10  ! Plane V, wire 10
+ 106,   4,  11  ! Plane V, wire 11
+ 107,   4,  12  ! Plane V, wire 12
+ 108,   4,  13  ! Plane V, wire 13
+ 109,   4,  14  ! Plane V, wire 14
+ 110,   6, 113  ! Plane X', wire 113
+ 112,   4,  15  ! Plane V, wire 15
+ 113,   4,  16  ! Plane V, wire 16
+ 114,   4,  17  ! Plane V, wire 17
+ 115,   4,  18  ! Plane V, wire 18
+ 116,   4,  19  ! Plane V, wire 19
+ 117,   4,  20  ! Plane V, wire 20
+ 118,   4,  21  ! Plane V, wire 21
+ 119,   4,  22  ! Plane V, wire 22
+ 120,   4,  23  ! Plane V, wire 23
+ 121,   4,  24  ! Plane V, wire 24
+ 122,   4,  25  ! Plane V, wire 25
+ 123,   4,  26  ! Plane V, wire 26
+ 124,   4,  27  ! Plane V, wire 27
+ 125,   4,  28  ! Plane V, wire 28
+ 126,   4,  29  ! Plane V, wire 29
+
+SLOT=8
+REFINDEX=0
+ 127,1000,   0,   1
+   0,   4,  30  ! Plane V, wire 30
+   1,   4,  31  ! Plane V, wire 31
+   2,   4,  32  ! Plane V, wire 32
+   3,   4,  33  ! Plane V, wire 33
+   4,   4,  34  ! Plane V, wire 34
+   5,   4,  35  ! Plane V, wire 35
+   6,   4,  36  ! Plane V, wire 36
+   7,   4,  37  ! Plane V, wire 37
+   8,   4,  38  ! Plane V, wire 38
+   9,   4,  39  ! Plane V, wire 39
+  10,   4,  40  ! Plane V, wire 40
+  11,   4,  41  ! Plane V, wire 41
+  12,   4,  42  ! Plane V, wire 42
+  13,   4,  43  ! Plane V, wire 43
+  14,   4,  44  ! Plane V, wire 44
+  15,   4,  45  ! Plane V, wire 45
+  16,   4,  46  ! Plane V, wire 46
+  17,   4,  47  ! Plane V, wire 47
+  18,   4,  48  ! Plane V, wire 48
+  19,   4,  49  ! Plane V, wire 49
+  20,   4,  50  ! Plane V, wire 50
+  21,   4,  51  ! Plane V, wire 51
+  22,   4,  52  ! Plane V, wire 52
+  23,   4,  53  ! Plane V, wire 53
+  24,   4,  54  ! Plane V, wire 54
+  25,   4,  55  ! Plane V, wire 55
+  26,   4,  56  ! Plane V, wire 56
+  27,   4,  57  ! Plane V, wire 57
+  28,   4,  58  ! Plane V, wire 58
+  29,   4,  59  ! Plane V, wire 59
+  30,   4,  60  ! Plane V, wire 60
+  32,   4,  61  ! Plane V, wire 61
+  33,   4,  62  ! Plane V, wire 62
+  34,   4,  63  ! Plane V, wire 63
+  35,   4,  64  ! Plane V, wire 64
+  36,   4,  65  ! Plane V, wire 65
+  37,   4,  66  ! Plane V, wire 66
+  38,   4,  67  ! Plane V, wire 67
+  39,   4,  68  ! Plane V, wire 68
+  40,   4,  69  ! Plane V, wire 69
+  41,   4,  70  ! Plane V, wire 70
+  42,   4,  71  ! Plane V, wire 71
+  43,   4,  72  ! Plane V, wire 72
+  44,   4,  73  ! Plane V, wire 73
+  45,   4,  74  ! Plane V, wire 74
+  46,   4,  75  ! Plane V, wire 75
+  47,   4,  76  ! Plane V, wire 76
+  48,   4,  77  ! Plane V, wire 77
+  49,   4,  78  ! Plane V, wire 78
+  50,   4,  79  ! Plane V, wire 79
+  51,   4,  80  ! Plane V, wire 80
+  52,   4,  81  ! Plane V, wire 81
+  53,   4,  82  ! Plane V, wire 82
+  54,   4,  83  ! Plane V, wire 83
+  55,   4,  84  ! Plane V, wire 84
+  56,   4,  85  ! Plane V, wire 85
+  57,   4,  86  ! Plane V, wire 86
+  58,   4,  87  ! Plane V, wire 87
+  59,   4,  88  ! Plane V, wire 88
+  60,   4,  89  ! Plane V, wire 89
+  61,   4,  90  ! Plane V, wire 90
+  62,   4,  91  ! Plane V, wire 91
+
+SLOT=4
+REFINDEX=0
+  96,   4,  92  ! Plane V, wire 92
+  97,   4,  93  ! Plane V, wire 93
+  98,   4,  94  ! Plane V, wire 94
+  99,   4,  95  ! Plane V, wire 95
+ 100,   4,  96  ! Plane V, wire 96
+ 101,   4,  97  ! Plane V, wire 97
+ 102,   4,  98  ! Plane V, wire 98
+ 103,   4,  99  ! Plane V, wire 99
+ 104,   4, 100  ! Plane V, wire 100
+ 105,   4, 101  ! Plane V, wire 101
+ 106,   4, 102  ! Plane V, wire 102
+ 107,   4, 103  ! Plane V, wire 103
+ 108,   4, 104  ! Plane V, wire 104
+ 109,   4, 105  ! Plane V, wire 105
+ 110,   4, 106  ! Plane V, wire 106
+ 111,   4, 107  ! Plane V, wire 107
+  80,   1,   1  ! Plane X, wire 1
+  81,   1,   2  ! Plane X, wire 2
+  82,   1,   3  ! Plane X, wire 3
+  83,   1,   4  ! Plane X, wire 4
+  84,   1,   5  ! Plane X, wire 5
+  85,   1,   6  ! Plane X, wire 6
+  86,   1,   7  ! Plane X, wire 7
+  87,   1,   8  ! Plane X, wire 8
+  88,   1,   9  ! Plane X, wire 9
+  89,   1,  10  ! Plane X, wire 10
+  90,   1,  11  ! Plane X, wire 11
+  91,   1,  12  ! Plane X, wire 12
+  92,   1,  13  ! Plane X, wire 13
+  93,   1,  14  ! Plane X, wire 14
+  94,   1,  15  ! Plane X, wire 15
+  95,   1,  16  ! Plane X, wire 16
+  64,   1,  17  ! Plane X, wire 17
+  65,   1,  18  ! Plane X, wire 18
+  66,   1,  19  ! Plane X, wire 19
+  67,   1,  20  ! Plane X, wire 20
+  68,   1,  21  ! Plane X, wire 21
+  69,   1,  22  ! Plane X, wire 22
+  70,   1,  23  ! Plane X, wire 23
+  71,   1,  24  ! Plane X, wire 24
+  72,   1,  25  ! Plane X, wire 25
+  73,   1,  26  ! Plane X, wire 26
+  74,   1,  27  ! Plane X, wire 27
+  75,   1,  28  ! Plane X, wire 28
+  76,   1,  29  ! Plane X, wire 29
+  77,   1,  30  ! Plane X, wire 30
+  78,   1,  31  ! Plane X, wire 31
+  79,   1,  32  ! Plane X, wire 32
+  48,   1,  33  ! Plane X, wire 33
+  49,   1,  34  ! Plane X, wire 34
+  50,   1,  35  ! Plane X, wire 35
+  51,   1,  36  ! Plane X, wire 36
+  52,   1,  37  ! Plane X, wire 37
+  53,   1,  38  ! Plane X, wire 38
+  54,   1,  39  ! Plane X, wire 39
+  55,   1,  40  ! Plane X, wire 40
+  56,   1,  41  ! Plane X, wire 41
+  57,   1,  42  ! Plane X, wire 42
+  58,   1,  43  ! Plane X, wire 43
+  59,   1,  44  ! Plane X, wire 44
+  60,   1,  45  ! Plane X, wire 45
+  61,   1,  46  ! Plane X, wire 46
+  62,   1,  47  ! Plane X, wire 47
+  63,   1,  48  ! Plane X, wire 48
+  32,   1,  49  ! Plane X, wire 49
+  33,   1,  50  ! Plane X, wire 50
+  34,   1,  51  ! Plane X, wire 51
+  35,   1,  52  ! Plane X, wire 52
+  36,   1,  53  ! Plane X, wire 53
+  37,   1,  54  ! Plane X, wire 54
+  38,   1,  55  ! Plane X, wire 55
+  39,   1,  56  ! Plane X, wire 56
+  40,   1,  57  ! Plane X, wire 57
+  41,   1,  58  ! Plane X, wire 58
+  42,   1,  59  ! Plane X, wire 59
+  43,   1,  60  ! Plane X, wire 60
+  44,   1,  61  ! Plane X, wire 61
+  45,   1,  62  ! Plane X, wire 62
+  46,   1,  63  ! Plane X, wire 63
+  47,   1,  64  ! Plane X, wire 64
+  16,   1,  65  ! Plane X, wire 65
+  17,   1,  66  ! Plane X, wire 66
+  18,   1,  67  ! Plane X, wire 67
+  19,   1,  68  ! Plane X, wire 68
+  20,   1,  69  ! Plane X, wire 69
+  21,   1,  70  ! Plane X, wire 70
+  22,   1,  71  ! Plane X, wire 71
+  23,   1,  72  ! Plane X, wire 72
+  24,   1,  73  ! Plane X, wire 73
+  25,   1,  74  ! Plane X, wire 74
+  26,   1,  75  ! Plane X, wire 75
+  27,   1,  76  ! Plane X, wire 76
+  28,   1,  77  ! Plane X, wire 77
+  29,   1,  78  ! Plane X, wire 78
+  30,   1,  79  ! Plane X, wire 79
+  31,   1,  80  ! Plane X, wire 80
+   0,   1,  81  ! Plane X, wire 81
+   1,   1,  82  ! Plane X, wire 82
+   2,   1,  83  ! Plane X, wire 83
+   3,   1,  84  ! Plane X, wire 84
+   4,   1,  85  ! Plane X, wire 85
+   5,   1,  86  ! Plane X, wire 86
+   6,   1,  87  ! Plane X, wire 87
+   7,   1,  88  ! Plane X, wire 88
+   8,   1,  89  ! Plane X, wire 89
+   9,   1,  90  ! Plane X, wire 90
+  10,   1,  91  ! Plane X, wire 91
+  11,   1,  92  ! Plane X, wire 92
+  12,   1,  93  ! Plane X, wire 93
+  13,   1,  94  ! Plane X, wire 94
+  14,   1,  95  ! Plane X, wire 95
+  15,   1,  96  ! Plane X, wire 96
+
+SLOT=7
+REFINDEX=0
+  80,   1,  97  ! Plane X, wire 97
+  81,   1,  98  ! Plane X, wire 98
+  82,   1,  99  ! Plane X, wire 99
+  83,   1, 100  ! Plane X, wire 100
+  84,   1, 101  ! Plane X, wire 101
+  85,   1, 102  ! Plane X, wire 102
+  86,   1, 103  ! Plane X, wire 103
+  87,   1, 104  ! Plane X, wire 104
+  88,   1, 105  ! Plane X, wire 105
+  89,   1, 106  ! Plane X, wire 106
+  90,   1, 107  ! Plane X, wire 107
+  91,   1, 108  ! Plane X, wire 108
+  92,   1, 109  ! Plane X, wire 109
+  93,   1, 110  ! Plane X, wire 110
+  94,   1, 111  ! Plane X, wire 111
+  95,   1, 112  ! Plane X, wire 112
+
+SLOT=4
+REFINDEX=0
+ 112,   6,   1  ! Plane X', wire 1
+ 113,   6,   2  ! Plane X', wire 2
+ 114,   6,   3  ! Plane X', wire 3
+ 115,   6,   4  ! Plane X', wire 4
+ 116,   6,   5  ! Plane X', wire 5
+ 117,   6,   6  ! Plane X', wire 6
+ 118,   6,   7  ! Plane X', wire 7
+ 119,   6,   8  ! Plane X', wire 8
+ 120,   6,   9  ! Plane X', wire 9
+ 121,   6,  10  ! Plane X', wire 10
+ 122,   6,  11  ! Plane X', wire 11
+ 123,   6,  12  ! Plane X', wire 12
+ 124,   6,  13  ! Plane X', wire 13
+ 125,   6,  14  ! Plane X', wire 14
+ 126,   6,  15  ! Plane X', wire 15
+ 127,   6,  16  ! Plane X', wire 16
+
+SLOT=5
+REFINDEX=0
+ 112,   6,  17  ! Plane X', wire 17
+ 113,   6,  18  ! Plane X', wire 18
+ 114,   6,  19  ! Plane X', wire 19
+ 115,   6,  20  ! Plane X', wire 20
+ 116,   6,  21  ! Plane X', wire 21
+ 117,   6,  22  ! Plane X', wire 22
+ 118,   6,  23  ! Plane X', wire 23
+ 119,   6,  24  ! Plane X', wire 24
+ 120,   6,  25  ! Plane X', wire 25
+ 121,   6,  26  ! Plane X', wire 26
+ 122,   6,  27  ! Plane X', wire 27
+ 123,   6,  28  ! Plane X', wire 28
+ 124,   6,  29  ! Plane X', wire 29
+ 125,   6,  30  ! Plane X', wire 30
+ 126,   6,  31  ! Plane X', wire 31
+ 127,   6,  32  ! Plane X', wire 32
+
+SLOT=7
+REFINDEX=0
+   0,   6,  33  ! Plane X', wire 33
+   1,   6,  34  ! Plane X', wire 34
+   2,   6,  35  ! Plane X', wire 35
+   3,   6,  36  ! Plane X', wire 36
+   4,   6,  37  ! Plane X', wire 37
+   5,   6,  38  ! Plane X', wire 38
+   6,   6,  39  ! Plane X', wire 39
+   7,   6,  40  ! Plane X', wire 40
+   8,   6,  41  ! Plane X', wire 41
+   9,   6,  42  ! Plane X', wire 42
+  10,   6,  43  ! Plane X', wire 43
+  11,   6,  44  ! Plane X', wire 44
+  12,   6,  45  ! Plane X', wire 45
+  13,   6,  46  ! Plane X', wire 46
+  14,   6,  47  ! Plane X', wire 47
+  15,   6,  48  ! Plane X', wire 48
+  16,   6,  49  ! Plane X', wire 49
+  17,   6,  50  ! Plane X', wire 50
+  18,   6,  51  ! Plane X', wire 51
+  19,   6,  52  ! Plane X', wire 52
+  20,   6,  53  ! Plane X', wire 53
+  21,   6,  54  ! Plane X', wire 54
+  22,   6,  55  ! Plane X', wire 55
+  23,   6,  56  ! Plane X', wire 56
+  24,   6,  57  ! Plane X', wire 57
+  25,   6,  58  ! Plane X', wire 58
+  26,   6,  59  ! Plane X', wire 59
+  27,   6,  60  ! Plane X', wire 60
+  28,   6,  61  ! Plane X', wire 61
+  29,   6,  62  ! Plane X', wire 62
+  30,   6,  63  ! Plane X', wire 63
+  31,   6,  64  ! Plane X', wire 64
+  32,   6,  65  ! Plane X', wire 65
+  33,   6,  66  ! Plane X', wire 66
+  34,   6,  67  ! Plane X', wire 67
+  35,   6,  68  ! Plane X', wire 68
+  36,   6,  69  ! Plane X', wire 69
+  37,   6,  70  ! Plane X', wire 70
+  38,   6,  71  ! Plane X', wire 71
+  39,   6,  72  ! Plane X', wire 72
+  40,   6,  73  ! Plane X', wire 73
+  41,   6,  74  ! Plane X', wire 74
+  42,   6,  75  ! Plane X', wire 75
+  43,   6,  76  ! Plane X', wire 76
+  44,   6,  77  ! Plane X', wire 77
+  45,   6,  78  ! Plane X', wire 78
+  46,   6,  79  ! Plane X', wire 79
+  47,   6,  80  ! Plane X', wire 80
+  48,   6,  81  ! Plane X', wire 81
+  49,   6,  82  ! Plane X', wire 82
+  50,   6,  83  ! Plane X', wire 83
+  51,   6,  84  ! Plane X', wire 84
+  52,   6,  85  ! Plane X', wire 85
+  53,   6,  86  ! Plane X', wire 86
+  54,   6,  87  ! Plane X', wire 87
+  55,   6,  88  ! Plane X', wire 88
+  56,   6,  89  ! Plane X', wire 89
+  57,   6,  90  ! Plane X', wire 90
+  58,   6,  91  ! Plane X', wire 91
+  59,   6,  92  ! Plane X', wire 92
+  60,   6,  93  ! Plane X', wire 93
+  61,   6,  94  ! Plane X', wire 94
+  62,   6,  95  ! Plane X', wire 95
+  63,   6,  96  ! Plane X', wire 96
+  64,   6,  97  ! Plane X', wire 97
+  65,   6,  98  ! Plane X', wire 98
+  66,   6,  99  ! Plane X', wire 99
+  67,   6, 100  ! Plane X', wire 100
+  68,   6, 101  ! Plane X', wire 101
+  69,   6, 102  ! Plane X', wire 102
+  70,   6, 103  ! Plane X', wire 103
+  71,   6, 104  ! Plane X', wire 104
+  72,   6, 105  ! Plane X', wire 105
+  73,   6, 106  ! Plane X', wire 106
+  74,   6, 107  ! Plane X', wire 107
+  75,   6, 108  ! Plane X', wire 108
+  76,   6, 109  ! Plane X', wire 109
+  77,   6, 110  ! Plane X', wire 110
+  78,   6, 111  ! Plane X', wire 111
+  79,   6, 112  ! Plane X', wire 112
+
+SLOT=8
+REFINDEX=0
+  64,   2,   1  ! Plane Y, wire 1
+  65,   2,   2  ! Plane Y, wire 2
+  66,   2,   3  ! Plane Y, wire 3
+  67,   2,   4  ! Plane Y, wire 4
+  68,   2,   5  ! Plane Y, wire 5
+  69,   2,   6  ! Plane Y, wire 6
+  70,   2,   7  ! Plane Y, wire 7
+  71,   2,   8  ! Plane Y, wire 8
+  72,   2,   9  ! Plane Y, wire 9
+  73,   2,  10  ! Plane Y, wire 10
+  74,   2,  11  ! Plane Y, wire 11
+  75,   2,  12  ! Plane Y, wire 12
+  76,   2,  13  ! Plane Y, wire 13
+  80,   2,  14  ! Plane Y, wire 14
+  81,   2,  15  ! Plane Y, wire 15
+  82,   2,  16  ! Plane Y, wire 16
+  83,   2,  17  ! Plane Y, wire 17
+  84,   2,  18  ! Plane Y, wire 18
+  85,   2,  19  ! Plane Y, wire 19
+  86,   2,  20  ! Plane Y, wire 20
+  87,   2,  21  ! Plane Y, wire 21
+  88,   2,  22  ! Plane Y, wire 22
+  89,   2,  23  ! Plane Y, wire 23
+  90,   2,  24  ! Plane Y, wire 24
+  91,   2,  25  ! Plane Y, wire 25
+  92,   2,  26  ! Plane Y, wire 26
+  96,   2,  27  ! Plane Y, wire 27
+  97,   2,  28  ! Plane Y, wire 28
+  98,   2,  29  ! Plane Y, wire 29
+  99,   2,  30  ! Plane Y, wire 30
+ 100,   2,  31  ! Plane Y, wire 31
+ 101,   2,  32  ! Plane Y, wire 32
+ 102,   2,  33  ! Plane Y, wire 33
+ 103,   2,  34  ! Plane Y, wire 34
+ 104,   2,  35  ! Plane Y, wire 35
+ 105,   2,  36  ! Plane Y, wire 36
+ 106,   2,  37  ! Plane Y, wire 37
+ 107,   2,  38  ! Plane Y, wire 38
+ 108,   2,  39  ! Plane Y, wire 39
+ 112,   2,  40  ! Plane Y, wire 40
+ 113,   2,  41  ! Plane Y, wire 41
+ 114,   2,  42  ! Plane Y, wire 42
+ 115,   2,  43  ! Plane Y, wire 43
+ 116,   2,  44  ! Plane Y, wire 44
+ 117,   2,  45  ! Plane Y, wire 45
+ 118,   2,  46  ! Plane Y, wire 46
+ 119,   2,  47  ! Plane Y, wire 47
+ 120,   2,  48  ! Plane Y, wire 48
+ 121,   2,  49  ! Plane Y, wire 49
+ 122,   2,  50  ! Plane Y, wire 50
+ 123,   2,  51  ! Plane Y, wire 51
+ 124,   2,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   2
+   0,   5,   1  ! Plane Y', wire 1
+   1,   5,   2  ! Plane Y', wire 2
+   2,   5,   3  ! Plane Y', wire 3
+   3,   5,   4  ! Plane Y', wire 4
+   4,   5,   5  ! Plane Y', wire 5
+   5,   5,   6  ! Plane Y', wire 6
+   6,   5,   7  ! Plane Y', wire 7
+   7,   5,   8  ! Plane Y', wire 8
+   8,   5,   9  ! Plane Y', wire 9
+   9,   5,  10  ! Plane Y', wire 10
+  10,   5,  11  ! Plane Y', wire 11
+  11,   5,  12  ! Plane Y', wire 12
+  12,   5,  13  ! Plane Y', wire 13
+  16,   5,  14  ! Plane Y', wire 14
+  17,   5,  15  ! Plane Y', wire 15
+  18,   5,  16  ! Plane Y', wire 16
+  19,   5,  17  ! Plane Y', wire 17
+  20,   5,  18  ! Plane Y', wire 18
+  21,   5,  19  ! Plane Y', wire 19
+  22,   5,  20  ! Plane Y', wire 20
+  23,   5,  21  ! Plane Y', wire 21
+  24,   5,  22  ! Plane Y', wire 22
+  25,   5,  23  ! Plane Y', wire 23
+  26,   5,  24  ! Plane Y', wire 24
+  27,   5,  25  ! Plane Y', wire 25
+  28,   5,  26  ! Plane Y', wire 26
+  32,   5,  27  ! Plane Y', wire 27
+  33,   5,  28  ! Plane Y', wire 28
+  34,   5,  29  ! Plane Y', wire 29
+  35,   5,  30  ! Plane Y', wire 30
+  36,   5,  31  ! Plane Y', wire 31
+  37,   5,  32  ! Plane Y', wire 32
+  38,   5,  33  ! Plane Y', wire 33
+  39,   5,  34  ! Plane Y', wire 34
+  40,   5,  35  ! Plane Y', wire 35
+  41,   5,  36  ! Plane Y', wire 36
+  42,   5,  37  ! Plane Y', wire 37
+  43,   5,  38  ! Plane Y', wire 38
+  44,   5,  39  ! Plane Y', wire 39
+  48,   5,  40  ! Plane Y', wire 40
+  49,   5,  41  ! Plane Y', wire 41
+  50,   5,  42  ! Plane Y', wire 42
+  51,   5,  43  ! Plane Y', wire 43
+  52,   5,  44  ! Plane Y', wire 44
+  53,   5,  45  ! Plane Y', wire 45
+  54,   5,  46  ! Plane Y', wire 46
+  55,   5,  47  ! Plane Y', wire 47
+  56,   5,  48  ! Plane Y', wire 48
+  57,   5,  49  ! Plane Y', wire 49
+  58,   5,  50  ! Plane Y', wire 50
+  59,   5,  51  ! Plane Y', wire 51
+  60,   5,  52  ! Plane Y', wire 52
+
+SLOT=16
+REFINDEX=0
+  96,   9,   1  ! Plane U, wire 1
+  97,   9,   2  ! Plane U, wire 2
+  98,   9,   3  ! Plane U, wire 3
+  99,   9,   4  ! Plane U, wire 4
+ 100,   9,   5  ! Plane U, wire 5
+ 101,   9,   6  ! Plane U, wire 6
+ 102,   9,   7  ! Plane U, wire 7
+ 103,   9,   8  ! Plane U, wire 8
+ 104,   9,   9  ! Plane U, wire 9
+ 105,   9,  10  ! Plane U, wire 10
+ 106,   9,  11  ! Plane U, wire 11
+ 107,   9,  12  ! Plane U, wire 12
+ 108,   9,  13  ! Plane U, wire 13
+ 109,   9,  14  ! Plane U, wire 14
+ 110,   7, 113  ! Plane X, wire 113
+ 112,   9,  15  ! Plane U, wire 15
+ 113,   9,  16  ! Plane U, wire 16
+ 114,   9,  17  ! Plane U, wire 17
+ 115,   9,  18  ! Plane U, wire 18
+ 116,   9,  19  ! Plane U, wire 19
+ 117,   9,  20  ! Plane U, wire 20
+ 118,   9,  21  ! Plane U, wire 21
+ 119,   9,  22  ! Plane U, wire 22
+ 120,   9,  23  ! Plane U, wire 23
+ 121,   9,  24  ! Plane U, wire 24
+ 122,   9,  25  ! Plane U, wire 25
+ 123,   9,  26  ! Plane U, wire 26
+ 124,   9,  27  ! Plane U, wire 27
+ 125,   9,  28  ! Plane U, wire 28
+ 126,   9,  29  ! Plane U, wire 29
+
+SLOT=14
+REFINDEX=0
+   0,   9,  30  ! Plane U, wire 30
+   1,   9,  31  ! Plane U, wire 31
+   2,   9,  32  ! Plane U, wire 32
+   3,   9,  33  ! Plane U, wire 33
+   4,   9,  34  ! Plane U, wire 34
+   5,   9,  35  ! Plane U, wire 35
+   6,   9,  36  ! Plane U, wire 36
+   7,   9,  37  ! Plane U, wire 37
+   8,   9,  38  ! Plane U, wire 38
+   9,   9,  39  ! Plane U, wire 39
+  10,   9,  40  ! Plane U, wire 40
+  11,   9,  41  ! Plane U, wire 41
+  12,   9,  42  ! Plane U, wire 42
+  13,   9,  43  ! Plane U, wire 43
+  14,   9,  44  ! Plane U, wire 44
+  15,   9,  45  ! Plane U, wire 45
+  32,   9,  46  ! Plane U, wire 46
+  33,   9,  47  ! Plane U, wire 47
+  34,   9,  48  ! Plane U, wire 48
+  35,   9,  49  ! Plane U, wire 49
+  36,   9,  50  ! Plane U, wire 50
+  37,   9,  51  ! Plane U, wire 51
+  38,   9,  52  ! Plane U, wire 52
+  39,   9,  53  ! Plane U, wire 53
+  40,   9,  54  ! Plane U, wire 54
+  41,   9,  55  ! Plane U, wire 55
+  42,   9,  56  ! Plane U, wire 56
+  43,   9,  57  ! Plane U, wire 57
+  44,   9,  58  ! Plane U, wire 58
+  45,   9,  59  ! Plane U, wire 59
+  46,   9,  60  ! Plane U, wire 60
+  48,   9,  61  ! Plane U, wire 61
+  49,   9,  62  ! Plane U, wire 62
+  50,   9,  63  ! Plane U, wire 63
+  51,   9,  64  ! Plane U, wire 64
+  52,   9,  65  ! Plane U, wire 65
+  53,   9,  66  ! Plane U, wire 66
+  54,   9,  67  ! Plane U, wire 67
+  55,   9,  68  ! Plane U, wire 68
+  56,   9,  69  ! Plane U, wire 69
+  57,   9,  70  ! Plane U, wire 70
+  58,   9,  71  ! Plane U, wire 71
+  59,   9,  72  ! Plane U, wire 72
+  60,   9,  73  ! Plane U, wire 73
+  61,   9,  74  ! Plane U, wire 74
+  62,   9,  75  ! Plane U, wire 75
+  63,   9,  76  ! Plane U, wire 76
+  64,   9,  77  ! Plane U, wire 77
+  65,   9,  78  ! Plane U, wire 78
+  66,   9,  79  ! Plane U, wire 79
+  67,   9,  80  ! Plane U, wire 80
+  68,   9,  81  ! Plane U, wire 81
+  69,   9,  82  ! Plane U, wire 82
+  70,   9,  83  ! Plane U, wire 83
+  71,   9,  84  ! Plane U, wire 84
+  72,   9,  85  ! Plane U, wire 85
+  73,   9,  86  ! Plane U, wire 86
+  74,   9,  87  ! Plane U, wire 87
+  75,   9,  88  ! Plane U, wire 88
+  76,   9,  89  ! Plane U, wire 89
+  77,   9,  90  ! Plane U, wire 90
+  78,   9,  91  ! Plane U, wire 91
+  80,   9,  92  ! Plane U, wire 92
+  81,   9,  93  ! Plane U, wire 93
+  82,   9,  94  ! Plane U, wire 94
+  83,   9,  95  ! Plane U, wire 95
+  84,   9,  96  ! Plane U, wire 96
+  85,   9,  97  ! Plane U, wire 97
+  86,   9,  98  ! Plane U, wire 98
+  87,   9,  99  ! Plane U, wire 99
+  88,   9, 100  ! Plane U, wire 100
+  89,   9, 101  ! Plane U, wire 101
+  90,   9, 102  ! Plane U, wire 102
+  91,   9, 103  ! Plane U, wire 103
+  92,   9, 104  ! Plane U, wire 104
+  93,   9, 105  ! Plane U, wire 105
+  94,   9, 106  ! Plane U, wire 106
+  95,   9, 107  ! Plane U, wire 107
+
+SLOT=16
+REFINDEX=0
+  80,  10,   1  ! Plane V, wire 1
+  81,  10,   2  ! Plane V, wire 2
+  82,  10,   3  ! Plane V, wire 3
+  83,  10,   4  ! Plane V, wire 4
+  84,  10,   5  ! Plane V, wire 5
+  85,  10,   6  ! Plane V, wire 6
+  86,  10,   7  ! Plane V, wire 7
+  87,  10,   8  ! Plane V, wire 8
+  88,  10,   9  ! Plane V, wire 9
+  89,  10,  10  ! Plane V, wire 10
+  90,  10,  11  ! Plane V, wire 11
+  91,  10,  12  ! Plane V, wire 12
+  92,  10,  13  ! Plane V, wire 13
+  93,  10,  14  ! Plane V, wire 14
+  94,  12, 113  ! Plane X', wire 113
+
+SLOT=14
+REFINDEX=0
+  96,  10,  15  ! Plane V, wire 15
+  97,  10,  16  ! Plane V, wire 16
+  98,  10,  17  ! Plane V, wire 17
+  99,  10,  18  ! Plane V, wire 18
+ 100,  10,  19  ! Plane V, wire 19
+ 101,  10,  20  ! Plane V, wire 20
+ 102,  10,  21  ! Plane V, wire 21
+ 103,  10,  22  ! Plane V, wire 22
+ 104,  10,  23  ! Plane V, wire 23
+ 105,  10,  24  ! Plane V, wire 24
+ 106,  10,  25  ! Plane V, wire 25
+ 107,  10,  26  ! Plane V, wire 26
+ 108,  10,  27  ! Plane V, wire 27
+ 109,  10,  28  ! Plane V, wire 28
+ 110,  10,  29  ! Plane V, wire 29
+ 112,  10,  30  ! Plane V, wire 30
+ 113,  10,  31  ! Plane V, wire 31
+ 114,  10,  32  ! Plane V, wire 32
+ 115,  10,  33  ! Plane V, wire 33
+ 116,  10,  34  ! Plane V, wire 34
+ 117,  10,  35  ! Plane V, wire 35
+ 118,  10,  36  ! Plane V, wire 36
+ 119,  10,  37  ! Plane V, wire 37
+ 120,  10,  38  ! Plane V, wire 38
+ 121,  10,  39  ! Plane V, wire 39
+ 122,  10,  40  ! Plane V, wire 40
+ 123,  10,  41  ! Plane V, wire 41
+ 124,  10,  42  ! Plane V, wire 42
+ 125,  10,  43  ! Plane V, wire 43
+ 126,  10,  44  ! Plane V, wire 44
+ 127,  10,  45  ! Plane V, wire 45
+
+SLOT=17
+REFINDEX=0
+ 127,1000,   0,   3
+   0,  10,  46  ! Plane V, wire 46
+   1,  10,  47  ! Plane V, wire 47
+   2,  10,  48  ! Plane V, wire 48
+   3,  10,  49  ! Plane V, wire 49
+   4,  10,  50  ! Plane V, wire 50
+   5,  10,  51  ! Plane V, wire 51
+   6,  10,  52  ! Plane V, wire 52
+   7,  10,  53  ! Plane V, wire 53
+   8,  10,  54  ! Plane V, wire 54
+   9,  10,  55  ! Plane V, wire 55
+  10,  10,  56  ! Plane V, wire 56
+  11,  10,  57  ! Plane V, wire 57
+  12,  10,  58  ! Plane V, wire 58
+  13,  10,  59  ! Plane V, wire 59
+  14,  10,  60  ! Plane V, wire 60
+  16,  10,  61  ! Plane V, wire 61
+  17,  10,  62  ! Plane V, wire 62
+  18,  10,  63  ! Plane V, wire 63
+  19,  10,  64  ! Plane V, wire 64
+  20,  10,  65  ! Plane V, wire 65
+  21,  10,  66  ! Plane V, wire 66
+  22,  10,  67  ! Plane V, wire 67
+  23,  10,  68  ! Plane V, wire 68
+  24,  10,  69  ! Plane V, wire 69
+  25,  10,  70  ! Plane V, wire 70
+  26,  10,  71  ! Plane V, wire 71
+  27,  10,  72  ! Plane V, wire 72
+  28,  10,  73  ! Plane V, wire 73
+  29,  10,  74  ! Plane V, wire 74
+  30,  10,  75  ! Plane V, wire 75
+  31,  10,  76  ! Plane V, wire 76
+  32,  10,  77  ! Plane V, wire 77
+  33,  10,  78  ! Plane V, wire 78
+  34,  10,  79  ! Plane V, wire 79
+  35,  10,  80  ! Plane V, wire 80
+  36,  10,  81  ! Plane V, wire 81
+  37,  10,  82  ! Plane V, wire 82
+  38,  10,  83  ! Plane V, wire 83
+  39,  10,  84  ! Plane V, wire 84
+  40,  10,  85  ! Plane V, wire 85
+  41,  10,  86  ! Plane V, wire 86
+  42,  10,  87  ! Plane V, wire 87
+  43,  10,  88  ! Plane V, wire 88
+  44,  10,  89  ! Plane V, wire 89
+  45,  10,  90  ! Plane V, wire 90
+  46,  10,  91  ! Plane V, wire 91
+  48,  10,  92  ! Plane V, wire 92
+  49,  10,  93  ! Plane V, wire 93
+  50,  10,  94  ! Plane V, wire 94
+  51,  10,  95  ! Plane V, wire 95
+  52,  10,  96  ! Plane V, wire 96
+  53,  10,  97  ! Plane V, wire 97
+  54,  10,  98  ! Plane V, wire 98
+  55,  10,  99  ! Plane V, wire 99
+  56,  10, 100  ! Plane V, wire 100
+  57,  10, 101  ! Plane V, wire 101
+  58,  10, 102  ! Plane V, wire 102
+  59,  10, 103  ! Plane V, wire 103
+  60,  10, 104  ! Plane V, wire 104
+  61,  10, 105  ! Plane V, wire 105
+  62,  10, 106  ! Plane V, wire 106
+  63,  10, 107  ! Plane V, wire 107
+
+SLOT=13
+REFINDEX=0
+   0,   7,   1  ! Plane X, wire 1
+   1,   7,   2  ! Plane X, wire 2
+   2,   7,   3  ! Plane X, wire 3
+   3,   7,   4  ! Plane X, wire 4
+   4,   7,   5  ! Plane X, wire 5
+   5,   7,   6  ! Plane X, wire 6
+   6,   7,   7  ! Plane X, wire 7
+   7,   7,   8  ! Plane X, wire 8
+   8,   7,   9  ! Plane X, wire 9
+   9,   7,  10  ! Plane X, wire 10
+  10,   7,  11  ! Plane X, wire 11
+  11,   7,  12  ! Plane X, wire 12
+  12,   7,  13  ! Plane X, wire 13
+  13,   7,  14  ! Plane X, wire 14
+  14,   7,  15  ! Plane X, wire 15
+  15,   7,  16  ! Plane X, wire 16
+  16,   7,  17  ! Plane X, wire 17
+  17,   7,  18  ! Plane X, wire 18
+  18,   7,  19  ! Plane X, wire 19
+  19,   7,  20  ! Plane X, wire 20
+  20,   7,  21  ! Plane X, wire 21
+  21,   7,  22  ! Plane X, wire 22
+  22,   7,  23  ! Plane X, wire 23
+  23,   7,  24  ! Plane X, wire 24
+  24,   7,  25  ! Plane X, wire 25
+  25,   7,  26  ! Plane X, wire 26
+  26,   7,  27  ! Plane X, wire 27
+  27,   7,  28  ! Plane X, wire 28
+  28,   7,  29  ! Plane X, wire 29
+  29,   7,  30  ! Plane X, wire 30
+  30,   7,  31  ! Plane X, wire 31
+  31,   7,  32  ! Plane X, wire 32
+  32,   7,  33  ! Plane X, wire 33
+  33,   7,  34  ! Plane X, wire 34
+  34,   7,  35  ! Plane X, wire 35
+  35,   7,  36  ! Plane X, wire 36
+  36,   7,  37  ! Plane X, wire 37
+  37,   7,  38  ! Plane X, wire 38
+  38,   7,  39  ! Plane X, wire 39
+  39,   7,  40  ! Plane X, wire 40
+  40,   7,  41  ! Plane X, wire 41
+  41,   7,  42  ! Plane X, wire 42
+  42,   7,  43  ! Plane X, wire 43
+  43,   7,  44  ! Plane X, wire 44
+  44,   7,  45  ! Plane X, wire 45
+  45,   7,  46  ! Plane X, wire 46
+  46,   7,  47  ! Plane X, wire 47
+  47,   7,  48  ! Plane X, wire 48
+  48,   7,  49  ! Plane X, wire 49
+  49,   7,  50  ! Plane X, wire 50
+  50,   7,  51  ! Plane X, wire 51
+  51,   7,  52  ! Plane X, wire 52
+  52,   7,  53  ! Plane X, wire 53
+  53,   7,  54  ! Plane X, wire 54
+  54,   7,  55  ! Plane X, wire 55
+  55,   7,  56  ! Plane X, wire 56
+  56,   7,  57  ! Plane X, wire 57
+  57,   7,  58  ! Plane X, wire 58
+  58,   7,  59  ! Plane X, wire 59
+  59,   7,  60  ! Plane X, wire 60
+  60,   7,  61  ! Plane X, wire 61
+  61,   7,  62  ! Plane X, wire 62
+  62,   7,  63  ! Plane X, wire 63
+  63,   7,  64  ! Plane X, wire 64
+  64,   7,  65  ! Plane X, wire 65
+  65,   7,  66  ! Plane X, wire 66
+  66,   7,  67  ! Plane X, wire 67
+  67,   7,  68  ! Plane X, wire 68
+  68,   7,  69  ! Plane X, wire 69
+  69,   7,  70  ! Plane X, wire 70
+  70,   7,  71  ! Plane X, wire 71
+  71,   7,  72  ! Plane X, wire 72
+  72,   7,  73  ! Plane X, wire 73
+  73,   7,  74  ! Plane X, wire 74
+  74,   7,  75  ! Plane X, wire 75
+  75,   7,  76  ! Plane X, wire 76
+  76,   7,  77  ! Plane X, wire 77
+  77,   7,  78  ! Plane X, wire 78
+  78,   7,  79  ! Plane X, wire 79
+  79,   7,  80  ! Plane X, wire 80
+  80,   7,  81  ! Plane X, wire 81
+  81,   7,  82  ! Plane X, wire 82
+  82,   7,  83  ! Plane X, wire 83
+  83,   7,  84  ! Plane X, wire 84
+  84,   7,  85  ! Plane X, wire 85
+  85,   7,  86  ! Plane X, wire 86
+  86,   7,  87  ! Plane X, wire 87
+  87,   7,  88  ! Plane X, wire 88
+  88,   7,  89  ! Plane X, wire 89
+  89,   7,  90  ! Plane X, wire 90
+  90,   7,  91  ! Plane X, wire 91
+  91,   7,  92  ! Plane X, wire 92
+  92,   7,  93  ! Plane X, wire 93
+  93,   7,  94  ! Plane X, wire 94
+  94,   7,  95  ! Plane X, wire 95
+  95,   7,  96  ! Plane X, wire 96
+  96,   7,  97  ! Plane X, wire 97
+  97,   7,  98  ! Plane X, wire 98
+  98,   7,  99  ! Plane X, wire 99
+  99,   7, 100  ! Plane X, wire 100
+ 100,   7, 101  ! Plane X, wire 101
+ 101,   7, 102  ! Plane X, wire 102
+ 102,   7, 103  ! Plane X, wire 103
+ 103,   7, 104  ! Plane X, wire 104
+ 104,   7, 105  ! Plane X, wire 105
+ 105,   7, 106  ! Plane X, wire 106
+ 106,   7, 107  ! Plane X, wire 107
+ 107,   7, 108  ! Plane X, wire 108
+ 108,   7, 109  ! Plane X, wire 109
+ 109,   7, 110  ! Plane X, wire 110
+ 110,   7, 111  ! Plane X, wire 111
+ 111,   7, 112  ! Plane X, wire 112
+ 112,  12,   1  ! Plane X', wire 1
+ 113,  12,   2  ! Plane X', wire 2
+ 114,  12,   3  ! Plane X', wire 3
+ 115,  12,   4  ! Plane X', wire 4
+ 116,  12,   5  ! Plane X', wire 5
+ 117,  12,   6  ! Plane X', wire 6
+ 118,  12,   7  ! Plane X', wire 7
+ 119,  12,   8  ! Plane X', wire 8
+ 120,  12,   9  ! Plane X', wire 9
+ 121,  12,  10  ! Plane X', wire 10
+ 122,  12,  11  ! Plane X', wire 11
+ 123,  12,  12  ! Plane X', wire 12
+ 124,  12,  13  ! Plane X', wire 13
+ 125,  12,  14  ! Plane X', wire 14
+ 126,  12,  15  ! Plane X', wire 15
+ 127,  12,  16  ! Plane X', wire 16
+
+SLOT=14
+REFINDEX=0
+  16,  12,  17  ! Plane X', wire 17
+  17,  12,  18  ! Plane X', wire 18
+  18,  12,  19  ! Plane X', wire 19
+  19,  12,  20  ! Plane X', wire 20
+  20,  12,  21  ! Plane X', wire 21
+  21,  12,  22  ! Plane X', wire 22
+  22,  12,  23  ! Plane X', wire 23
+  23,  12,  24  ! Plane X', wire 24
+  24,  12,  25  ! Plane X', wire 25
+  25,  12,  26  ! Plane X', wire 26
+  26,  12,  27  ! Plane X', wire 27
+  27,  12,  28  ! Plane X', wire 28
+  28,  12,  29  ! Plane X', wire 29
+  29,  12,  30  ! Plane X', wire 30
+  30,  12,  31  ! Plane X', wire 31
+  31,  12,  32  ! Plane X', wire 32
+
+SLOT=16
+REFINDEX=0
+   0,  12,  33  ! Plane X', wire 33
+   1,  12,  34  ! Plane X', wire 34
+   2,  12,  35  ! Plane X', wire 35
+   3,  12,  36  ! Plane X', wire 36
+   4,  12,  37  ! Plane X', wire 37
+   5,  12,  38  ! Plane X', wire 38
+   6,  12,  39  ! Plane X', wire 39
+   7,  12,  40  ! Plane X', wire 40
+   8,  12,  41  ! Plane X', wire 41
+   9,  12,  42  ! Plane X', wire 42
+  10,  12,  43  ! Plane X', wire 43
+  11,  12,  44  ! Plane X', wire 44
+  12,  12,  45  ! Plane X', wire 45
+  13,  12,  46  ! Plane X', wire 46
+  14,  12,  47  ! Plane X', wire 47
+  15,  12,  48  ! Plane X', wire 48
+  16,  12,  49  ! Plane X', wire 49
+  17,  12,  50  ! Plane X', wire 50
+  18,  12,  51  ! Plane X', wire 51
+  19,  12,  52  ! Plane X', wire 52
+  20,  12,  53  ! Plane X', wire 53
+  21,  12,  54  ! Plane X', wire 54
+  22,  12,  55  ! Plane X', wire 55
+  23,  12,  56  ! Plane X', wire 56
+  24,  12,  57  ! Plane X', wire 57
+  25,  12,  58  ! Plane X', wire 58
+  26,  12,  59  ! Plane X', wire 59
+  27,  12,  60  ! Plane X', wire 60
+  28,  12,  61  ! Plane X', wire 61
+  29,  12,  62  ! Plane X', wire 62
+  30,  12,  63  ! Plane X', wire 63
+  31,  12,  64  ! Plane X', wire 64
+  32,  12,  65  ! Plane X', wire 65
+  33,  12,  66  ! Plane X', wire 66
+  34,  12,  67  ! Plane X', wire 67
+  35,  12,  68  ! Plane X', wire 68
+  36,  12,  69  ! Plane X', wire 69
+  37,  12,  70  ! Plane X', wire 70
+  38,  12,  71  ! Plane X', wire 71
+  39,  12,  72  ! Plane X', wire 72
+  40,  12,  73  ! Plane X', wire 73
+  41,  12,  74  ! Plane X', wire 74
+  42,  12,  75  ! Plane X', wire 75
+  43,  12,  76  ! Plane X', wire 76
+  44,  12,  77  ! Plane X', wire 77
+  45,  12,  78  ! Plane X', wire 78
+  46,  12,  79  ! Plane X', wire 79
+  47,  12,  80  ! Plane X', wire 80
+  48,  12,  81  ! Plane X', wire 81
+  49,  12,  82  ! Plane X', wire 82
+  50,  12,  83  ! Plane X', wire 83
+  51,  12,  84  ! Plane X', wire 84
+  52,  12,  85  ! Plane X', wire 85
+  53,  12,  86  ! Plane X', wire 86
+  54,  12,  87  ! Plane X', wire 87
+  55,  12,  88  ! Plane X', wire 88
+  56,  12,  89  ! Plane X', wire 89
+  57,  12,  90  ! Plane X', wire 90
+  58,  12,  91  ! Plane X', wire 91
+  59,  12,  92  ! Plane X', wire 92
+  60,  12,  93  ! Plane X', wire 93
+  61,  12,  94  ! Plane X', wire 94
+  62,  12,  95  ! Plane X', wire 95
+  63,  12,  96  ! Plane X', wire 96
+  64,  12,  97  ! Plane X', wire 97
+  65,  12,  98  ! Plane X', wire 98
+  66,  12,  99  ! Plane X', wire 99
+  67,  12, 100  ! Plane X', wire 100
+  68,  12, 101  ! Plane X', wire 101
+  69,  12, 102  ! Plane X', wire 102
+  70,  12, 103  ! Plane X', wire 103
+  71,  12, 104  ! Plane X', wire 104
+  72,  12, 105  ! Plane X', wire 105
+  73,  12, 106  ! Plane X', wire 106
+  74,  12, 107  ! Plane X', wire 107
+  75,  12, 108  ! Plane X', wire 108
+  76,  12, 109  ! Plane X', wire 109
+  77,  12, 110  ! Plane X', wire 110
+  78,  12, 111  ! Plane X', wire 111
+  79,  12, 112  ! Plane X', wire 112
+
+SLOT=17
+REFINDEX=0
+  64,   8,   1  ! Plane Y, wire 1
+  65,   8,   2  ! Plane Y, wire 2
+  66,   8,   3  ! Plane Y, wire 3
+  67,   8,   4  ! Plane Y, wire 4
+  68,   8,   5  ! Plane Y, wire 5
+  69,   8,   6  ! Plane Y, wire 6
+  70,   8,   7  ! Plane Y, wire 7
+  71,   8,   8  ! Plane Y, wire 8
+  72,   8,   9  ! Plane Y, wire 9
+  73,   8,  10  ! Plane Y, wire 10
+  74,   8,  11  ! Plane Y, wire 11
+  75,   8,  12  ! Plane Y, wire 12
+  76,   8,  13  ! Plane Y, wire 13
+  80,   8,  14  ! Plane Y, wire 14
+  81,   8,  15  ! Plane Y, wire 15
+  82,   8,  16  ! Plane Y, wire 16
+  83,   8,  17  ! Plane Y, wire 17
+  84,   8,  18  ! Plane Y, wire 18
+  85,   8,  19  ! Plane Y, wire 19
+  86,   8,  20  ! Plane Y, wire 20
+  87,   8,  21  ! Plane Y, wire 21
+  88,   8,  22  ! Plane Y, wire 22
+  89,   8,  23  ! Plane Y, wire 23
+  90,   8,  24  ! Plane Y, wire 24
+  91,   8,  25  ! Plane Y, wire 25
+  92,   8,  26  ! Plane Y, wire 26
+  96,   8,  27  ! Plane Y, wire 27
+  97,   8,  28  ! Plane Y, wire 28
+  98,   8,  29  ! Plane Y, wire 29
+  99,   8,  30  ! Plane Y, wire 30
+ 100,   8,  31  ! Plane Y, wire 31
+ 101,   8,  32  ! Plane Y, wire 32
+ 102,   8,  33  ! Plane Y, wire 33
+ 103,   8,  34  ! Plane Y, wire 34
+ 104,   8,  35  ! Plane Y, wire 35
+ 105,   8,  36  ! Plane Y, wire 36
+ 106,   8,  37  ! Plane Y, wire 37
+ 107,   8,  38  ! Plane Y, wire 38
+ 108,   8,  39  ! Plane Y, wire 39
+ 112,   8,  40  ! Plane Y, wire 40
+ 113,   8,  41  ! Plane Y, wire 41
+ 114,   8,  42  ! Plane Y, wire 42
+ 115,   8,  43  ! Plane Y, wire 43
+ 116,   8,  44  ! Plane Y, wire 44
+ 117,   8,  45  ! Plane Y, wire 45
+ 118,   8,  46  ! Plane Y, wire 46
+ 119,   8,  47  ! Plane Y, wire 47
+ 120,   8,  48  ! Plane Y, wire 48
+ 121,   8,  49  ! Plane Y, wire 49
+ 122,   8,  50  ! Plane Y, wire 50
+ 123,   8,  51  ! Plane Y, wire 51
+ 124,   8,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   1
+  64,  11,   1  ! Plane Y', wire 1
+  65,  11,   2  ! Plane Y', wire 2
+  66,  11,   3  ! Plane Y', wire 3
+  67,  11,   4  ! Plane Y', wire 4
+  68,  11,   5  ! Plane Y', wire 5
+  69,  11,   6  ! Plane Y', wire 6
+  70,  11,   7  ! Plane Y', wire 7
+  71,  11,   8  ! Plane Y', wire 8
+  72,  11,   9  ! Plane Y', wire 9
+  73,  11,  10  ! Plane Y', wire 10
+  74,  11,  11  ! Plane Y', wire 11
+  75,  11,  12  ! Plane Y', wire 12
+  76,  11,  13  ! Plane Y', wire 13
+  80,  11,  14  ! Plane Y', wire 14
+  81,  11,  15  ! Plane Y', wire 15
+  82,  11,  16  ! Plane Y', wire 16
+  83,  11,  17  ! Plane Y', wire 17
+  84,  11,  18  ! Plane Y', wire 18
+  85,  11,  19  ! Plane Y', wire 19
+  86,  11,  20  ! Plane Y', wire 20
+  87,  11,  21  ! Plane Y', wire 21
+  88,  11,  22  ! Plane Y', wire 22
+  89,  11,  23  ! Plane Y', wire 23
+  90,  11,  24  ! Plane Y', wire 24
+  91,  11,  25  ! Plane Y', wire 25
+  92,  11,  26  ! Plane Y', wire 26
+  96,  11,  27  ! Plane Y', wire 27
+  97,  11,  28  ! Plane Y', wire 28
+  98,  11,  29  ! Plane Y', wire 29
+  99,  11,  30  ! Plane Y', wire 30
+ 100,  11,  31  ! Plane Y', wire 31
+ 101,  11,  32  ! Plane Y', wire 32
+ 102,  11,  33  ! Plane Y', wire 33
+ 103,  11,  34  ! Plane Y', wire 34
+ 104,  11,  35  ! Plane Y', wire 35
+ 105,  11,  36  ! Plane Y', wire 36
+ 106,  11,  37  ! Plane Y', wire 37
+ 107,  11,  38  ! Plane Y', wire 38
+ 108,  11,  39  ! Plane Y', wire 39
+ 112,  11,  40  ! Plane Y', wire 40
+ 113,  11,  41  ! Plane Y', wire 41
+ 114,  11,  42  ! Plane Y', wire 42
+ 115,  11,  43  ! Plane Y', wire 43
+ 116,  11,  44  ! Plane Y', wire 44
+ 117,  11,  45  ! Plane Y', wire 45
+ 118,  11,  46  ! Plane Y', wire 46
+ 119,  11,  47  ! Plane Y', wire 47
+ 120,  11,  48  ! Plane Y', wire 48
+ 121,  11,  49  ! Plane Y', wire 49
+ 122,  11,  50  ! Plane Y', wire 50
+ 123,  11,  51  ! Plane Y', wire 51
+ 124,  11,  52  ! Plane Y', wire 52
+
+
+DETECTOR=13
+
+ROC=1
+
+SLOT=8
+   0,   1,   1,   0  ! h1x01A+
+   1,   1,   2,   0  ! h1x02A+
+   2,   1,   3,   0  ! h1x03A+
+   3,   1,   4,   0  ! h1x04A+
+   4,   1,   5,   0  ! h1x05A+
+   5,   1,   6,   0  ! h1x06A+
+   6,   1,   7,   0  ! h1x07A+
+   7,   1,   8,   0  ! h1x08A+
+   8,   1,   9,   0  ! h1x09A+
+   9,   1,  10,   0  ! h1x10A+
+  10,   1,  11,   0  ! h1x11A+
+  11,   1,  12,   0  ! h1x12A+
+  12,   1,  13,   0  ! h1x13A+
+  13,   1,  14,   0  ! h1x14A+
+  14,   1,  15,   0  ! h1x15A+
+  15,   1,  16,   0  ! h1x16A+
+
+SLOT=9
+   0,   1,   1,   1  ! h1x01A-
+   1,   1,   2,   1  ! h1x02A-
+   2,   1,   3,   1  ! h1x03A-
+   3,   1,   4,   1  ! h1x04A-
+   4,   1,   5,   1  ! h1x05A-
+   5,   1,   6,   1  ! h1x06A-
+   6,   1,   7,   1  ! h1x07A-
+   7,   1,   8,   1  ! h1x08A-
+   8,   1,   9,   1  ! h1x09A-
+   9,   1,  10,   1  ! h1x10A-
+  10,   1,  11,   1  ! h1x11A-
+  11,   1,  12,   1  ! h1x12A-
+  12,   1,  13,   1  ! h1x13A-
+  13,   1,  14,   1  ! h1x14A-
+  14,   1,  15,   1  ! h1x15A-
+  15,   1,  16,   1  ! h1x16A-
+
+SLOT=10
+   0,   2,   1,   0  ! h1y01A+
+   1,   2,   2,   0  ! h1y02A+
+   2,   2,   3,   0  ! h1y03A+
+   3,   2,   4,   0  ! h1y04A+
+   4,   2,   5,   0  ! h1y05A+
+   5,   2,   6,   0  ! h1y06A+
+   6,   2,   7,   0  ! h1y07A+
+   7,   2,   8,   0  ! h1y08A+
+   8,   2,   9,   0  ! h1y09A+
+   9,   2,  10,   0  ! h1y10A+
+  10,   2,   1,   1  ! h1y01A-
+  11,   2,   2,   1  ! h1y02A-
+  12,   2,   3,   1  ! h1y03A-
+  13,   2,   4,   1  ! h1y04A-
+  14,   2,   5,   1  ! h1y05A-
+  15,   2,   6,   1  ! h1y06A-
+
+SLOT=13
+   0,   2,   7,   1  ! h1y07A-
+   1,   2,   8,   1  ! h1y08A-
+   2,   2,   9,   1  ! h1y09A-
+   3,   2,  10,   1  ! h1y10A-
+   4,   3,   1,   0  ! h2x01A+
+   5,   3,   2,   0  ! h2x02A+
+   6,   3,   3,   0  ! h2x03A+
+   7,   3,   4,   0  ! h2x04A+
+   8,   3,   5,   0  ! h2x05A+
+   9,   3,   6,   0  ! h2x06A+
+  10,   3,   7,   0  ! h2x07A+
+  11,   3,   8,   0  ! h2x08A+
+  12,   3,   9,   0  ! h2x09A+
+  13,   3,  10,   0  ! h2x10A+
+  14,   3,  11,   0  ! h2x11A+
+  15,   3,  12,   0  ! h2x12A+
+
+SLOT=14
+   0,   3,  13,   0  ! h2x13A+
+   1,   3,  14,   0  ! h2x14A+
+   2,   3,  15,   0  ! h2x15A+
+   3,   3,  16,   0  ! h2x16A+
+   4,   3,   1,   1  ! h2x01A-
+   5,   3,   2,   1  ! h2x02A-
+   6,   3,   3,   1  ! h2x03A-
+   7,   3,   4,   1  ! h2x04A-
+   8,   3,   5,   1  ! h2x05A-
+   9,   3,   6,   1  ! h2x06A-
+  10,   3,   7,   1  ! h2x07A-
+  11,   3,   8,   1  ! h2x08A-
+  12,   3,   9,   1  ! h2x09A-
+  13,   3,  10,   1  ! h2x10A-
+  14,   3,  11,   1  ! h2x11A-
+  15,   3,  12,   1  ! h2x12A-
+
+SLOT=15
+   0,   3,  13,   1  ! h2x13A-
+   1,   3,  14,   1  ! h2x14A-
+   2,   3,  15,   1  ! h2x15A-
+   3,   3,  16,   1  ! h2x16A-
+   4,   4,   1,   0  ! h2y01A+
+   5,   4,   2,   0  ! h2y02A+
+   6,   4,   3,   0  ! h2y03A+
+   7,   4,   4,   0  ! h2y04A+
+   8,   4,   5,   0  ! h2y05A+
+   9,   4,   6,   0  ! h2y06A+
+  10,   4,   7,   0  ! h2y07A+
+  11,   4,   8,   0  ! h2y08A+
+  12,   4,   9,   0  ! h2y09A+
+  13,   4,  10,   0  ! h2y10A+
+  14,   4,   1,   1  ! h2y01A-
+  15,   4,   2,   1  ! h2y02A-
+
+SLOT=16
+   0,   4,   3,   1  ! h2y03A-
+   1,   4,   4,   1  ! h2y04A-
+   2,   4,   5,   1  ! h2y05A-
+   3,   4,   6,   1  ! h2y06A-
+   4,   4,   7,   1  ! h2y07A-
+   5,   4,   8,   1  ! h2y08A-
+   6,   4,   9,   1  ! h2y09A-
+   7,   4,  10,   1  ! h2y10A-
+
+SLOT=20
+REFINDEX=0
+ 127,1000,   0,   0
+   0,   1,   1,   2  ! h1x01T+
+   1,   1,   3,   2  ! h1x03T+
+   2,   1,   5,   2  ! h1x05T+
+   3,   1,   7,   2  ! h1x07T+
+   4,   1,   2,   2  ! h1x02T+
+   5,   1,   4,   2  ! h1x04T+
+   6,   1,   6,   2  ! h1x06T+
+   7,   1,   8,   2  ! h1x08T+
+   8,   1,   9,   2  ! h1x09T+
+   9,   1,  11,   2  ! h1x11T+
+  10,   1,  13,   2  ! h1x13T+
+  11,   1,  15,   2  ! h1x15T+
+  12,   1,  10,   2  ! h1x10T+
+  13,   1,  12,   2  ! h1x12T+
+  14,   1,  14,   2  ! h1x14T+
+  15,   1,  16,   2  ! h1x16T+
+  16,   1,   1,   3  ! h1x01T-
+  17,   1,   3,   3  ! h1x03T-
+  18,   1,   5,   3  ! h1x05T-
+  19,   1,   7,   3  ! h1x07T-
+  20,   1,   2,   3  ! h1x02T-
+  21,   1,   4,   3  ! h1x04T-
+  22,   1,   6,   3  ! h1x06T-
+  23,   1,   8,   3  ! h1x08T-
+  24,   1,   9,   3  ! h1x09T-
+  25,   1,  11,   3  ! h1x11T-
+  26,   1,  13,   3  ! h1x13T-
+  27,   1,  15,   3  ! h1x15T-
+  28,   1,  10,   3  ! h1x10T-
+  29,   1,  12,   3  ! h1x12T-
+  30,   1,  14,   3  ! h1x14T-
+  31,   1,  16,   3  ! h1x16T-
+  32,   2,   1,   2  ! h1y01T+
+  33,   2,   3,   2  ! h1y03T+
+  34,   2,   5,   2  ! h1y05T+
+  35,   2,   7,   2  ! h1y07T+
+  36,   2,   2,   2  ! h1y02T+
+  37,   2,   4,   2  ! h1y04T+
+  38,   2,   6,   2  ! h1y06T+
+  39,   2,   8,   2  ! h1y08T+
+  40,   2,   9,   2  ! h1y09T+
+  44,   2,  10,   2  ! h1y10T+
+  48,   2,   1,   3  ! h1y01T-
+  49,   2,   3,   3  ! h1y03T-
+  50,   2,   5,   3  ! h1y05T-
+  51,   2,   7,   3  ! h1y07T-
+  52,   2,   2,   3  ! h1y02T-
+  53,   2,   4,   3  ! h1y04T-
+  54,   2,   6,   3  ! h1y06T-
+  55,   2,   8,   3  ! h1y08T-
+  56,   2,   9,   3  ! h1y09T-
+  60,   2,  10,   3  ! h1y10T-
+  64,   3,   1,   2  ! h2x01T+
+  65,   3,   3,   2  ! h2x03T+
+  66,   3,   5,   2  ! h2x05T+
+  67,   3,   7,   2  ! h2x07T+
+  68,   3,   2,   2  ! h2x02T+
+  69,   3,   4,   2  ! h2x04T+
+  70,   3,   6,   2  ! h2x06T+
+  71,   3,   8,   2  ! h2x08T+
+  72,   3,   9,   2  ! h2x09T+
+  73,   3,  11,   2  ! h2x11T+
+  74,   3,  13,   2  ! h2x13T+
+  75,   3,  15,   2  ! h2x15T+
+  76,   3,  10,   2  ! h2x10T+
+  77,   3,  12,   2  ! h2x12T+
+  78,   3,  14,   2  ! h2x14T+
+  79,   3,  16,   2  ! h2x16T+
+  80,   3,   1,   3  ! h2x01T-
+  81,   3,   3,   3  ! h2x03T-
+  82,   3,   5,   3  ! h2x05T-
+  83,   3,   7,   3  ! h2x07T-
+  84,   3,   2,   3  ! h2x02T-
+  85,   3,   4,   3  ! h2x04T-
+  86,   3,   6,   3  ! h2x06T-
+  87,   3,   8,   3  ! h2x08T-
+  88,   3,   9,   3  ! h2x09T-
+  89,   3,  11,   3  ! h2x11T-
+  90,   3,  13,   3  ! h2x13T-
+  91,   3,  15,   3  ! h2x15T-
+  92,   3,  10,   3  ! h2x10T-
+  93,   3,  12,   3  ! h2x12T-
+  94,   3,  14,   3  ! h2x14T-
+  95,   3,  16,   3  ! h2x16T-
+  96,   4,   1,   2  ! h2y01T+
+  97,   4,   3,   2  ! h2y03T+
+  98,   4,   5,   2  ! h2y05T+
+  99,   4,   7,   2  ! h2y07T+
+ 100,   4,   2,   2  ! h2y02T+
+ 101,   4,   4,   2  ! h2y04T+
+ 102,   4,   6,   2  ! h2y06T+
+ 103,   4,   8,   2  ! h2y08T+
+ 104,   4,   9,   2  ! h2y09T+
+ 108,   4,  10,   2  ! h2y10T+
+ 112,   4,   1,   3  ! h2y01T-
+ 113,   4,   3,   3  ! h2y03T-
+ 114,   4,   5,   3  ! h2y05T-
+ 115,   4,   7,   3  ! h2y07T-
+ 116,   4,   2,   3  ! h2y02T-
+ 117,   4,   4,   3  ! h2y04T-
+ 118,   4,   6,   3  ! h2y06T-
+ 119,   4,   8,   3  ! h2y08T-
+ 120,   4,   9,   3  ! h2y09T-
+ 124,   4,  10,   3  ! h2y10T-
+
+
+DETECTOR=14
+
+ROC=1
+
+SLOT=7
+  14,   1,   1,   0  ! hCER01
+  15,   1,   2,   0  ! hCER02
+
+
+DETECTOR=15
+
+ROC=1
+
+SLOT=3
+   0,   1,   1,   0  ! hA01+
+   1,   1,   2,   0  ! hA02+
+   2,   1,   3,   0  ! hA03+
+   3,   1,   4,   0  ! hA04+
+   4,   1,   5,   0  ! hA05+
+   5,   1,   6,   0  ! hA06+
+   6,   1,   7,   0  ! hA07+
+   7,   1,   8,   0  ! hA08+
+   8,   1,   9,   0  ! hA09+
+   9,   1,  10,   0  ! hA10+
+  10,   1,  11,   0  ! hA11+
+  11,   1,  12,   0  ! hA12+
+  12,   1,  13,   0  ! hA13+
+  13,   1,   1,   1  ! hA01-
+  14,   1,   2,   1  ! hA02-
+  15,   1,   3,   1  ! hA03-
+
+SLOT=4
+   0,   1,   4,   1  ! hA04-
+   1,   1,   5,   1  ! hA05-
+   2,   1,   6,   1  ! hA06-
+   3,   1,   7,   1  ! hA07-
+   4,   1,   8,   1  ! hA08-
+   5,   1,   9,   1  ! hA09-
+   6,   1,  10,   1  ! hA10-
+   7,   1,  11,   1  ! hA11-
+   8,   1,  12,   1  ! hA12-
+   9,   1,  13,   1  ! hA13-
+  10,   2,   1,   0  ! hB01+
+  11,   2,   2,   0  ! hB02+
+  12,   2,   3,   0  ! hB03+
+  13,   2,   4,   0  ! hB04+
+  14,   2,   5,   0  ! hB05+
+  15,   2,   6,   0  ! hB06+
+
+SLOT=5
+   0,   2,   7,   0  ! hB07+
+   1,   2,   8,   0  ! hB08+
+   2,   2,   9,   0  ! hB09+
+   3,   2,  10,   0  ! hB10+
+   4,   2,  11,   0  ! hB11+
+   5,   2,  12,   0  ! hB12+
+   6,   2,  13,   0  ! hB13+
+   7,   2,   1,   1  ! hB01-
+   8,   2,   2,   1  ! hB02-
+   9,   2,   3,   1  ! hB03-
+  10,   2,   4,   1  ! hB04-
+  11,   2,   5,   1  ! hB05-
+  12,   2,   6,   1  ! hB06-
+  13,   2,   7,   1  ! hB07-
+  14,   2,   8,   1  ! hB08-
+  15,   2,   9,   1  ! hB09-
+
+SLOT=6
+   0,   2,  10,   1  ! hB10-
+   1,   2,  11,   1  ! hB11-
+   2,   2,  12,   1  ! hB12-
+   3,   2,  13,   1  ! hB13-
+   4,   3,   1,   0  ! hC01+
+   5,   3,   2,   0  ! hC02+
+   6,   3,   3,   0  ! hC03+
+   7,   3,   4,   0  ! hC04+
+   8,   3,   5,   0  ! hC05+
+   9,   3,   6,   0  ! hC06+
+  10,   3,   7,   0  ! hC07+
+  11,   3,   8,   0  ! hC08+
+  12,   3,   9,   0  ! hC09+
+  13,   3,  10,   0  ! hC10+
+  14,   3,  11,   0  ! hC11+
+  15,   3,  12,   0  ! hC12+
+
+SLOT=7
+   0,   3,  13,   0  ! hC13+
+   1,   4,   1,   0  ! hD01+
+   2,   4,   2,   0  ! hD02+
+   3,   4,   3,   0  ! hD03+
+   4,   4,   4,   0  ! hD04+
+   5,   4,   5,   0  ! hD05+
+   6,   4,   6,   0  ! hD06+
+   7,   4,   7,   0  ! hD07+
+   8,   4,   8,   0  ! hD08+
+   9,   4,   9,   0  ! hD09+
+  10,   4,  10,   0  ! hD10+
+  11,   4,  11,   0  ! hD11+
+  12,   4,  12,   0  ! hD12+
+  13,   4,  13,   0  ! hD13+
diff --git a/MAPS/HMS/DETEC/hms_stack_spring17_current_run.map b/MAPS/HMS/DETEC/hms_stack_spring17_current_run.map
new file mode 100644
index 00000000..93cbf351
--- /dev/null
+++ b/MAPS/HMS/DETEC/hms_stack_spring17_current_run.map
@@ -0,0 +1,1544 @@
+! THMS_ID=10       ::  ADC,TDC
+! HDC_ID=11        ::  TDC
+! HSCIN_ID=13      ::  ADC+,ADC-,TDC+,TDC-
+! HCER_ID=14       ::  (TDC),ADC
+! HCAL_ID=15       ::  ADC
+
+
+DETECTOR=10
+
+ROC=1
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=11  ! HMS chambers
+
+ROC=3
+
+SLOT=5
+REFINDEX=0
+ 111,1000,   0,   0
+  96,   3,   1  ! Plane U, wire 1
+  97,   3,   2  ! Plane U, wire 2
+  98,   3,   3  ! Plane U, wire 3
+  99,   3,   4  ! Plane U, wire 4
+ 100,   3,   5  ! Plane U, wire 5
+ 101,   3,   6  ! Plane U, wire 6
+ 102,   3,   7  ! Plane U, wire 7
+ 103,   3,   8  ! Plane U, wire 8
+ 104,   3,   9  ! Plane U, wire 9
+ 105,   3,  10  ! Plane U, wire 10
+ 106,   3,  11  ! Plane U, wire 11
+ 107,   3,  12  ! Plane U, wire 12
+ 108,   3,  13  ! Plane U, wire 13
+ 109,   3,  14  ! Plane U, wire 14
+ 110,   1, 113  ! Plane X, wire 113
+  80,   3,  15  ! Plane U, wire 15
+  81,   3,  16  ! Plane U, wire 16
+  82,   3,  17  ! Plane U, wire 17
+  83,   3,  18  ! Plane U, wire 18
+  84,   3,  19  ! Plane U, wire 19
+  85,   3,  20  ! Plane U, wire 20
+  86,   3,  21  ! Plane U, wire 21
+  87,   3,  22  ! Plane U, wire 22
+  88,   3,  23  ! Plane U, wire 23
+  89,   3,  24  ! Plane U, wire 24
+  90,   3,  25  ! Plane U, wire 25
+  91,   3,  26  ! Plane U, wire 26
+  92,   3,  27  ! Plane U, wire 27
+  93,   3,  28  ! Plane U, wire 28
+  94,   3,  29  ! Plane U, wire 29
+  64,   3,  30  ! Plane U, wire 30
+  65,   3,  31  ! Plane U, wire 31
+  66,   3,  32  ! Plane U, wire 32
+  67,   3,  33  ! Plane U, wire 33
+  68,   3,  34  ! Plane U, wire 34
+  69,   3,  35  ! Plane U, wire 35
+  70,   3,  36  ! Plane U, wire 36
+  71,   3,  37  ! Plane U, wire 37
+  72,   3,  38  ! Plane U, wire 38
+  73,   3,  39  ! Plane U, wire 39
+  74,   3,  40  ! Plane U, wire 40
+  75,   3,  41  ! Plane U, wire 41
+  76,   3,  42  ! Plane U, wire 42
+  77,   3,  43  ! Plane U, wire 43
+  78,   3,  44  ! Plane U, wire 44
+  79,   3,  45  ! Plane U, wire 45
+  48,   3,  46  ! Plane U, wire 46
+  49,   3,  47  ! Plane U, wire 47
+  50,   3,  48  ! Plane U, wire 48
+  51,   3,  49  ! Plane U, wire 49
+  52,   3,  50  ! Plane U, wire 50
+  53,   3,  51  ! Plane U, wire 51
+  54,   3,  52  ! Plane U, wire 52
+  55,   3,  53  ! Plane U, wire 53
+  56,   3,  54  ! Plane U, wire 54
+  57,   3,  55  ! Plane U, wire 55
+  58,   3,  56  ! Plane U, wire 56
+  59,   3,  57  ! Plane U, wire 57
+  60,   3,  58  ! Plane U, wire 58
+  61,   3,  59  ! Plane U, wire 59
+  62,   3,  60  ! Plane U, wire 60
+  32,   3,  61  ! Plane U, wire 61
+  33,   3,  62  ! Plane U, wire 62
+  34,   3,  63  ! Plane U, wire 63
+  35,   3,  64  ! Plane U, wire 64
+  36,   3,  65  ! Plane U, wire 65
+  37,   3,  66  ! Plane U, wire 66
+  38,   3,  67  ! Plane U, wire 67
+  39,   3,  68  ! Plane U, wire 68
+  40,   3,  69  ! Plane U, wire 69
+  41,   3,  70  ! Plane U, wire 70
+  42,   3,  71  ! Plane U, wire 71
+  43,   3,  72  ! Plane U, wire 72
+  44,   3,  73  ! Plane U, wire 73
+  45,   3,  74  ! Plane U, wire 74
+  46,   3,  75  ! Plane U, wire 75
+  47,   3,  76  ! Plane U, wire 76
+  16,   3,  77  ! Plane U, wire 77
+  17,   3,  78  ! Plane U, wire 78
+  18,   3,  79  ! Plane U, wire 79
+  19,   3,  80  ! Plane U, wire 80
+  20,   3,  81  ! Plane U, wire 81
+  21,   3,  82  ! Plane U, wire 82
+  22,   3,  83  ! Plane U, wire 83
+  23,   3,  84  ! Plane U, wire 84
+  24,   3,  85  ! Plane U, wire 85
+  25,   3,  86  ! Plane U, wire 86
+  26,   3,  87  ! Plane U, wire 87
+  27,   3,  88  ! Plane U, wire 88
+  28,   3,  89  ! Plane U, wire 89
+  29,   3,  90  ! Plane U, wire 90
+  30,   3,  91  ! Plane U, wire 91
+   0,   3,  92  ! Plane U, wire 92
+   1,   3,  93  ! Plane U, wire 93
+   2,   3,  94  ! Plane U, wire 94
+   3,   3,  95  ! Plane U, wire 95
+   4,   3,  96  ! Plane U, wire 96
+   5,   3,  97  ! Plane U, wire 97
+   6,   3,  98  ! Plane U, wire 98
+   7,   3,  99  ! Plane U, wire 99
+   8,   3, 100  ! Plane U, wire 100
+   9,   3, 101  ! Plane U, wire 101
+  10,   3, 102  ! Plane U, wire 102
+  11,   3, 103  ! Plane U, wire 103
+  12,   3, 104  ! Plane U, wire 104
+  13,   3, 105  ! Plane U, wire 105
+  14,   3, 106  ! Plane U, wire 106
+  15,   3, 107  ! Plane U, wire 107
+
+SLOT=7
+REFINDEX=0
+  96,   4,   1  ! Plane V, wire 1
+  97,   4,   2  ! Plane V, wire 2
+  98,   4,   3  ! Plane V, wire 3
+  99,   4,   4  ! Plane V, wire 4
+ 100,   4,   5  ! Plane V, wire 5
+ 101,   4,   6  ! Plane V, wire 6
+ 102,   4,   7  ! Plane V, wire 7
+ 103,   4,   8  ! Plane V, wire 8
+ 104,   4,   9  ! Plane V, wire 9
+ 105,   4,  10  ! Plane V, wire 10
+ 106,   4,  11  ! Plane V, wire 11
+ 107,   4,  12  ! Plane V, wire 12
+ 108,   4,  13  ! Plane V, wire 13
+ 109,   4,  14  ! Plane V, wire 14
+ 110,   6, 113  ! Plane X', wire 113
+ 112,   4,  15  ! Plane V, wire 15
+ 113,   4,  16  ! Plane V, wire 16
+ 114,   4,  17  ! Plane V, wire 17
+ 115,   4,  18  ! Plane V, wire 18
+ 116,   4,  19  ! Plane V, wire 19
+ 117,   4,  20  ! Plane V, wire 20
+ 118,   4,  21  ! Plane V, wire 21
+ 119,   4,  22  ! Plane V, wire 22
+ 120,   4,  23  ! Plane V, wire 23
+ 121,   4,  24  ! Plane V, wire 24
+ 122,   4,  25  ! Plane V, wire 25
+ 123,   4,  26  ! Plane V, wire 26
+ 124,   4,  27  ! Plane V, wire 27
+ 125,   4,  28  ! Plane V, wire 28
+ 126,   4,  29  ! Plane V, wire 29
+
+SLOT=8
+REFINDEX=0
+ 127,1000,   0,   1
+   0,   4,  30  ! Plane V, wire 30
+   1,   4,  31  ! Plane V, wire 31
+   2,   4,  32  ! Plane V, wire 32
+   3,   4,  33  ! Plane V, wire 33
+   4,   4,  34  ! Plane V, wire 34
+   5,   4,  35  ! Plane V, wire 35
+   6,   4,  36  ! Plane V, wire 36
+   7,   4,  37  ! Plane V, wire 37
+   8,   4,  38  ! Plane V, wire 38
+   9,   4,  39  ! Plane V, wire 39
+  10,   4,  40  ! Plane V, wire 40
+  11,   4,  41  ! Plane V, wire 41
+  12,   4,  42  ! Plane V, wire 42
+  13,   4,  43  ! Plane V, wire 43
+  14,   4,  44  ! Plane V, wire 44
+  15,   4,  45  ! Plane V, wire 45
+  16,   4,  46  ! Plane V, wire 46
+  17,   4,  47  ! Plane V, wire 47
+  18,   4,  48  ! Plane V, wire 48
+  19,   4,  49  ! Plane V, wire 49
+  20,   4,  50  ! Plane V, wire 50
+  21,   4,  51  ! Plane V, wire 51
+  22,   4,  52  ! Plane V, wire 52
+  23,   4,  53  ! Plane V, wire 53
+  24,   4,  54  ! Plane V, wire 54
+  25,   4,  55  ! Plane V, wire 55
+  26,   4,  56  ! Plane V, wire 56
+  27,   4,  57  ! Plane V, wire 57
+  28,   4,  58  ! Plane V, wire 58
+  29,   4,  59  ! Plane V, wire 59
+  30,   4,  60  ! Plane V, wire 60
+  32,   4,  61  ! Plane V, wire 61
+  33,   4,  62  ! Plane V, wire 62
+  34,   4,  63  ! Plane V, wire 63
+  35,   4,  64  ! Plane V, wire 64
+  36,   4,  65  ! Plane V, wire 65
+  37,   4,  66  ! Plane V, wire 66
+  38,   4,  67  ! Plane V, wire 67
+  39,   4,  68  ! Plane V, wire 68
+  40,   4,  69  ! Plane V, wire 69
+  41,   4,  70  ! Plane V, wire 70
+  42,   4,  71  ! Plane V, wire 71
+  43,   4,  72  ! Plane V, wire 72
+  44,   4,  73  ! Plane V, wire 73
+  45,   4,  74  ! Plane V, wire 74
+  46,   4,  75  ! Plane V, wire 75
+  47,   4,  76  ! Plane V, wire 76
+  48,   4,  77  ! Plane V, wire 77
+  49,   4,  78  ! Plane V, wire 78
+  50,   4,  79  ! Plane V, wire 79
+  51,   4,  80  ! Plane V, wire 80
+  52,   4,  81  ! Plane V, wire 81
+  53,   4,  82  ! Plane V, wire 82
+  54,   4,  83  ! Plane V, wire 83
+  55,   4,  84  ! Plane V, wire 84
+  56,   4,  85  ! Plane V, wire 85
+  57,   4,  86  ! Plane V, wire 86
+  58,   4,  87  ! Plane V, wire 87
+  59,   4,  88  ! Plane V, wire 88
+  60,   4,  89  ! Plane V, wire 89
+  61,   4,  90  ! Plane V, wire 90
+  62,   4,  91  ! Plane V, wire 91
+
+SLOT=4
+REFINDEX=0
+  96,   4,  92  ! Plane V, wire 92
+  97,   4,  93  ! Plane V, wire 93
+  98,   4,  94  ! Plane V, wire 94
+  99,   4,  95  ! Plane V, wire 95
+ 100,   4,  96  ! Plane V, wire 96
+ 101,   4,  97  ! Plane V, wire 97
+ 102,   4,  98  ! Plane V, wire 98
+ 103,   4,  99  ! Plane V, wire 99
+ 104,   4, 100  ! Plane V, wire 100
+ 105,   4, 101  ! Plane V, wire 101
+ 106,   4, 102  ! Plane V, wire 102
+ 107,   4, 103  ! Plane V, wire 103
+ 108,   4, 104  ! Plane V, wire 104
+ 109,   4, 105  ! Plane V, wire 105
+ 110,   4, 106  ! Plane V, wire 106
+ 111,   4, 107  ! Plane V, wire 107
+  80,   1,   1  ! Plane X, wire 1
+  81,   1,   2  ! Plane X, wire 2
+  82,   1,   3  ! Plane X, wire 3
+  83,   1,   4  ! Plane X, wire 4
+  84,   1,   5  ! Plane X, wire 5
+  85,   1,   6  ! Plane X, wire 6
+  86,   1,   7  ! Plane X, wire 7
+  87,   1,   8  ! Plane X, wire 8
+  88,   1,   9  ! Plane X, wire 9
+  89,   1,  10  ! Plane X, wire 10
+  90,   1,  11  ! Plane X, wire 11
+  91,   1,  12  ! Plane X, wire 12
+  92,   1,  13  ! Plane X, wire 13
+  93,   1,  14  ! Plane X, wire 14
+  94,   1,  15  ! Plane X, wire 15
+  95,   1,  16  ! Plane X, wire 16
+  64,   1,  17  ! Plane X, wire 17
+  65,   1,  18  ! Plane X, wire 18
+  66,   1,  19  ! Plane X, wire 19
+  67,   1,  20  ! Plane X, wire 20
+  68,   1,  21  ! Plane X, wire 21
+  69,   1,  22  ! Plane X, wire 22
+  70,   1,  23  ! Plane X, wire 23
+  71,   1,  24  ! Plane X, wire 24
+  72,   1,  25  ! Plane X, wire 25
+  73,   1,  26  ! Plane X, wire 26
+  74,   1,  27  ! Plane X, wire 27
+  75,   1,  28  ! Plane X, wire 28
+  76,   1,  29  ! Plane X, wire 29
+  77,   1,  30  ! Plane X, wire 30
+  78,   1,  31  ! Plane X, wire 31
+  79,   1,  32  ! Plane X, wire 32
+  48,   1,  33  ! Plane X, wire 33
+  49,   1,  34  ! Plane X, wire 34
+  50,   1,  35  ! Plane X, wire 35
+  51,   1,  36  ! Plane X, wire 36
+  52,   1,  37  ! Plane X, wire 37
+  53,   1,  38  ! Plane X, wire 38
+  54,   1,  39  ! Plane X, wire 39
+  55,   1,  40  ! Plane X, wire 40
+  56,   1,  41  ! Plane X, wire 41
+  57,   1,  42  ! Plane X, wire 42
+  58,   1,  43  ! Plane X, wire 43
+  59,   1,  44  ! Plane X, wire 44
+  60,   1,  45  ! Plane X, wire 45
+  61,   1,  46  ! Plane X, wire 46
+  62,   1,  47  ! Plane X, wire 47
+  63,   1,  48  ! Plane X, wire 48
+  32,   1,  49  ! Plane X, wire 49
+  33,   1,  50  ! Plane X, wire 50
+  34,   1,  51  ! Plane X, wire 51
+  35,   1,  52  ! Plane X, wire 52
+  36,   1,  53  ! Plane X, wire 53
+  37,   1,  54  ! Plane X, wire 54
+  38,   1,  55  ! Plane X, wire 55
+  39,   1,  56  ! Plane X, wire 56
+  40,   1,  57  ! Plane X, wire 57
+  41,   1,  58  ! Plane X, wire 58
+  42,   1,  59  ! Plane X, wire 59
+  43,   1,  60  ! Plane X, wire 60
+  44,   1,  61  ! Plane X, wire 61
+  45,   1,  62  ! Plane X, wire 62
+  46,   1,  63  ! Plane X, wire 63
+  47,   1,  64  ! Plane X, wire 64
+  16,   1,  65  ! Plane X, wire 65
+  17,   1,  66  ! Plane X, wire 66
+  18,   1,  67  ! Plane X, wire 67
+  19,   1,  68  ! Plane X, wire 68
+  20,   1,  69  ! Plane X, wire 69
+  21,   1,  70  ! Plane X, wire 70
+  22,   1,  71  ! Plane X, wire 71
+  23,   1,  72  ! Plane X, wire 72
+  24,   1,  73  ! Plane X, wire 73
+  25,   1,  74  ! Plane X, wire 74
+  26,   1,  75  ! Plane X, wire 75
+  27,   1,  76  ! Plane X, wire 76
+  28,   1,  77  ! Plane X, wire 77
+  29,   1,  78  ! Plane X, wire 78
+  30,   1,  79  ! Plane X, wire 79
+  31,   1,  80  ! Plane X, wire 80
+   0,   1,  81  ! Plane X, wire 81
+   1,   1,  82  ! Plane X, wire 82
+   2,   1,  83  ! Plane X, wire 83
+   3,   1,  84  ! Plane X, wire 84
+   4,   1,  85  ! Plane X, wire 85
+   5,   1,  86  ! Plane X, wire 86
+   6,   1,  87  ! Plane X, wire 87
+   7,   1,  88  ! Plane X, wire 88
+   8,   1,  89  ! Plane X, wire 89
+   9,   1,  90  ! Plane X, wire 90
+  10,   1,  91  ! Plane X, wire 91
+  11,   1,  92  ! Plane X, wire 92
+  12,   1,  93  ! Plane X, wire 93
+  13,   1,  94  ! Plane X, wire 94
+  14,   1,  95  ! Plane X, wire 95
+  15,   1,  96  ! Plane X, wire 96
+
+SLOT=7
+REFINDEX=0
+  80,   1,  97  ! Plane X, wire 97
+  81,   1,  98  ! Plane X, wire 98
+  82,   1,  99  ! Plane X, wire 99
+  83,   1, 100  ! Plane X, wire 100
+  84,   1, 101  ! Plane X, wire 101
+  85,   1, 102  ! Plane X, wire 102
+  86,   1, 103  ! Plane X, wire 103
+  87,   1, 104  ! Plane X, wire 104
+  88,   1, 105  ! Plane X, wire 105
+  89,   1, 106  ! Plane X, wire 106
+  90,   1, 107  ! Plane X, wire 107
+  91,   1, 108  ! Plane X, wire 108
+  92,   1, 109  ! Plane X, wire 109
+  93,   1, 110  ! Plane X, wire 110
+  94,   1, 111  ! Plane X, wire 111
+  95,   1, 112  ! Plane X, wire 112
+
+SLOT=4
+REFINDEX=0
+ 112,   6,   1  ! Plane X', wire 1
+ 113,   6,   2  ! Plane X', wire 2
+ 114,   6,   3  ! Plane X', wire 3
+ 115,   6,   4  ! Plane X', wire 4
+ 116,   6,   5  ! Plane X', wire 5
+ 117,   6,   6  ! Plane X', wire 6
+ 118,   6,   7  ! Plane X', wire 7
+ 119,   6,   8  ! Plane X', wire 8
+ 120,   6,   9  ! Plane X', wire 9
+ 121,   6,  10  ! Plane X', wire 10
+ 122,   6,  11  ! Plane X', wire 11
+ 123,   6,  12  ! Plane X', wire 12
+ 124,   6,  13  ! Plane X', wire 13
+ 125,   6,  14  ! Plane X', wire 14
+ 126,   6,  15  ! Plane X', wire 15
+ 127,   6,  16  ! Plane X', wire 16
+
+SLOT=5
+REFINDEX=0
+ 112,   6,  17  ! Plane X', wire 17
+ 113,   6,  18  ! Plane X', wire 18
+ 114,   6,  19  ! Plane X', wire 19
+ 115,   6,  20  ! Plane X', wire 20
+ 116,   6,  21  ! Plane X', wire 21
+ 117,   6,  22  ! Plane X', wire 22
+ 118,   6,  23  ! Plane X', wire 23
+ 119,   6,  24  ! Plane X', wire 24
+ 120,   6,  25  ! Plane X', wire 25
+ 121,   6,  26  ! Plane X', wire 26
+ 122,   6,  27  ! Plane X', wire 27
+ 123,   6,  28  ! Plane X', wire 28
+ 124,   6,  29  ! Plane X', wire 29
+ 125,   6,  30  ! Plane X', wire 30
+ 126,   6,  31  ! Plane X', wire 31
+ 127,   6,  32  ! Plane X', wire 32
+
+SLOT=7
+REFINDEX=0
+   0,   6,  33  ! Plane X', wire 33
+   1,   6,  34  ! Plane X', wire 34
+   2,   6,  35  ! Plane X', wire 35
+   3,   6,  36  ! Plane X', wire 36
+   4,   6,  37  ! Plane X', wire 37
+   5,   6,  38  ! Plane X', wire 38
+   6,   6,  39  ! Plane X', wire 39
+   7,   6,  40  ! Plane X', wire 40
+   8,   6,  41  ! Plane X', wire 41
+   9,   6,  42  ! Plane X', wire 42
+  10,   6,  43  ! Plane X', wire 43
+  11,   6,  44  ! Plane X', wire 44
+  12,   6,  45  ! Plane X', wire 45
+  13,   6,  46  ! Plane X', wire 46
+  14,   6,  47  ! Plane X', wire 47
+  15,   6,  48  ! Plane X', wire 48
+  16,   6,  49  ! Plane X', wire 49
+  17,   6,  50  ! Plane X', wire 50
+  18,   6,  51  ! Plane X', wire 51
+  19,   6,  52  ! Plane X', wire 52
+  20,   6,  53  ! Plane X', wire 53
+  21,   6,  54  ! Plane X', wire 54
+  22,   6,  55  ! Plane X', wire 55
+  23,   6,  56  ! Plane X', wire 56
+  24,   6,  57  ! Plane X', wire 57
+  25,   6,  58  ! Plane X', wire 58
+  26,   6,  59  ! Plane X', wire 59
+  27,   6,  60  ! Plane X', wire 60
+  28,   6,  61  ! Plane X', wire 61
+  29,   6,  62  ! Plane X', wire 62
+  30,   6,  63  ! Plane X', wire 63
+  31,   6,  64  ! Plane X', wire 64
+  32,   6,  65  ! Plane X', wire 65
+  33,   6,  66  ! Plane X', wire 66
+  34,   6,  67  ! Plane X', wire 67
+  35,   6,  68  ! Plane X', wire 68
+  36,   6,  69  ! Plane X', wire 69
+  37,   6,  70  ! Plane X', wire 70
+  38,   6,  71  ! Plane X', wire 71
+  39,   6,  72  ! Plane X', wire 72
+  40,   6,  73  ! Plane X', wire 73
+  41,   6,  74  ! Plane X', wire 74
+  42,   6,  75  ! Plane X', wire 75
+  43,   6,  76  ! Plane X', wire 76
+  44,   6,  77  ! Plane X', wire 77
+  45,   6,  78  ! Plane X', wire 78
+  46,   6,  79  ! Plane X', wire 79
+  47,   6,  80  ! Plane X', wire 80
+  48,   6,  81  ! Plane X', wire 81
+  49,   6,  82  ! Plane X', wire 82
+  50,   6,  83  ! Plane X', wire 83
+  51,   6,  84  ! Plane X', wire 84
+  52,   6,  85  ! Plane X', wire 85
+  53,   6,  86  ! Plane X', wire 86
+  54,   6,  87  ! Plane X', wire 87
+  55,   6,  88  ! Plane X', wire 88
+  56,   6,  89  ! Plane X', wire 89
+  57,   6,  90  ! Plane X', wire 90
+  58,   6,  91  ! Plane X', wire 91
+  59,   6,  92  ! Plane X', wire 92
+  60,   6,  93  ! Plane X', wire 93
+  61,   6,  94  ! Plane X', wire 94
+  62,   6,  95  ! Plane X', wire 95
+  63,   6,  96  ! Plane X', wire 96
+  64,   6,  97  ! Plane X', wire 97
+  65,   6,  98  ! Plane X', wire 98
+  66,   6,  99  ! Plane X', wire 99
+  67,   6, 100  ! Plane X', wire 100
+  68,   6, 101  ! Plane X', wire 101
+  69,   6, 102  ! Plane X', wire 102
+  70,   6, 103  ! Plane X', wire 103
+  71,   6, 104  ! Plane X', wire 104
+  72,   6, 105  ! Plane X', wire 105
+  73,   6, 106  ! Plane X', wire 106
+  74,   6, 107  ! Plane X', wire 107
+  75,   6, 108  ! Plane X', wire 108
+  76,   6, 109  ! Plane X', wire 109
+  77,   6, 110  ! Plane X', wire 110
+  78,   6, 111  ! Plane X', wire 111
+  79,   6, 112  ! Plane X', wire 112
+
+SLOT=8
+REFINDEX=0
+  64,   2,   1  ! Plane Y, wire 1
+  65,   2,   2  ! Plane Y, wire 2
+  66,   2,   3  ! Plane Y, wire 3
+  67,   2,   4  ! Plane Y, wire 4
+  68,   2,   5  ! Plane Y, wire 5
+  69,   2,   6  ! Plane Y, wire 6
+  70,   2,   7  ! Plane Y, wire 7
+  71,   2,   8  ! Plane Y, wire 8
+  72,   2,   9  ! Plane Y, wire 9
+  73,   2,  10  ! Plane Y, wire 10
+  74,   2,  11  ! Plane Y, wire 11
+  75,   2,  12  ! Plane Y, wire 12
+  76,   2,  13  ! Plane Y, wire 13
+  80,   2,  14  ! Plane Y, wire 14
+  81,   2,  15  ! Plane Y, wire 15
+  82,   2,  16  ! Plane Y, wire 16
+  83,   2,  17  ! Plane Y, wire 17
+  84,   2,  18  ! Plane Y, wire 18
+  85,   2,  19  ! Plane Y, wire 19
+  86,   2,  20  ! Plane Y, wire 20
+  87,   2,  21  ! Plane Y, wire 21
+  88,   2,  22  ! Plane Y, wire 22
+  89,   2,  23  ! Plane Y, wire 23
+  90,   2,  24  ! Plane Y, wire 24
+  91,   2,  25  ! Plane Y, wire 25
+  92,   2,  26  ! Plane Y, wire 26
+  96,   2,  27  ! Plane Y, wire 27
+  97,   2,  28  ! Plane Y, wire 28
+  98,   2,  29  ! Plane Y, wire 29
+  99,   2,  30  ! Plane Y, wire 30
+ 100,   2,  31  ! Plane Y, wire 31
+ 101,   2,  32  ! Plane Y, wire 32
+ 102,   2,  33  ! Plane Y, wire 33
+ 103,   2,  34  ! Plane Y, wire 34
+ 104,   2,  35  ! Plane Y, wire 35
+ 105,   2,  36  ! Plane Y, wire 36
+ 106,   2,  37  ! Plane Y, wire 37
+ 107,   2,  38  ! Plane Y, wire 38
+ 108,   2,  39  ! Plane Y, wire 39
+ 112,   2,  40  ! Plane Y, wire 40
+ 113,   2,  41  ! Plane Y, wire 41
+ 114,   2,  42  ! Plane Y, wire 42
+ 115,   2,  43  ! Plane Y, wire 43
+ 116,   2,  44  ! Plane Y, wire 44
+ 117,   2,  45  ! Plane Y, wire 45
+ 118,   2,  46  ! Plane Y, wire 46
+ 119,   2,  47  ! Plane Y, wire 47
+ 120,   2,  48  ! Plane Y, wire 48
+ 121,   2,  49  ! Plane Y, wire 49
+ 122,   2,  50  ! Plane Y, wire 50
+ 123,   2,  51  ! Plane Y, wire 51
+ 124,   2,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   2
+   0,   5,   1  ! Plane Y', wire 1
+   1,   5,   2  ! Plane Y', wire 2
+   2,   5,   3  ! Plane Y', wire 3
+   3,   5,   4  ! Plane Y', wire 4
+   4,   5,   5  ! Plane Y', wire 5
+   5,   5,   6  ! Plane Y', wire 6
+   6,   5,   7  ! Plane Y', wire 7
+   7,   5,   8  ! Plane Y', wire 8
+   8,   5,   9  ! Plane Y', wire 9
+   9,   5,  10  ! Plane Y', wire 10
+  10,   5,  11  ! Plane Y', wire 11
+  11,   5,  12  ! Plane Y', wire 12
+  12,   5,  13  ! Plane Y', wire 13
+  16,   5,  14  ! Plane Y', wire 14
+  17,   5,  15  ! Plane Y', wire 15
+  18,   5,  16  ! Plane Y', wire 16
+  19,   5,  17  ! Plane Y', wire 17
+  20,   5,  18  ! Plane Y', wire 18
+  21,   5,  19  ! Plane Y', wire 19
+  22,   5,  20  ! Plane Y', wire 20
+  23,   5,  21  ! Plane Y', wire 21
+  24,   5,  22  ! Plane Y', wire 22
+  25,   5,  23  ! Plane Y', wire 23
+  26,   5,  24  ! Plane Y', wire 24
+  27,   5,  25  ! Plane Y', wire 25
+  28,   5,  26  ! Plane Y', wire 26
+  32,   5,  27  ! Plane Y', wire 27
+  33,   5,  28  ! Plane Y', wire 28
+  34,   5,  29  ! Plane Y', wire 29
+  35,   5,  30  ! Plane Y', wire 30
+  36,   5,  31  ! Plane Y', wire 31
+  37,   5,  32  ! Plane Y', wire 32
+  38,   5,  33  ! Plane Y', wire 33
+  39,   5,  34  ! Plane Y', wire 34
+  40,   5,  35  ! Plane Y', wire 35
+  41,   5,  36  ! Plane Y', wire 36
+  42,   5,  37  ! Plane Y', wire 37
+  43,   5,  38  ! Plane Y', wire 38
+  44,   5,  39  ! Plane Y', wire 39
+  48,   5,  40  ! Plane Y', wire 40
+  49,   5,  41  ! Plane Y', wire 41
+  50,   5,  42  ! Plane Y', wire 42
+  51,   5,  43  ! Plane Y', wire 43
+  52,   5,  44  ! Plane Y', wire 44
+  53,   5,  45  ! Plane Y', wire 45
+  54,   5,  46  ! Plane Y', wire 46
+  55,   5,  47  ! Plane Y', wire 47
+  56,   5,  48  ! Plane Y', wire 48
+  57,   5,  49  ! Plane Y', wire 49
+  58,   5,  50  ! Plane Y', wire 50
+  59,   5,  51  ! Plane Y', wire 51
+  60,   5,  52  ! Plane Y', wire 52
+
+SLOT=16
+REFINDEX=0
+  96,   9,   1  ! Plane U, wire 1
+  97,   9,   2  ! Plane U, wire 2
+  98,   9,   3  ! Plane U, wire 3
+  99,   9,   4  ! Plane U, wire 4
+ 100,   9,   5  ! Plane U, wire 5
+ 101,   9,   6  ! Plane U, wire 6
+ 102,   9,   7  ! Plane U, wire 7
+ 103,   9,   8  ! Plane U, wire 8
+ 104,   9,   9  ! Plane U, wire 9
+ 105,   9,  10  ! Plane U, wire 10
+ 106,   9,  11  ! Plane U, wire 11
+ 107,   9,  12  ! Plane U, wire 12
+ 108,   9,  13  ! Plane U, wire 13
+ 109,   9,  14  ! Plane U, wire 14
+ 110,   7, 113  ! Plane X, wire 113
+ 112,   9,  15  ! Plane U, wire 15
+ 113,   9,  16  ! Plane U, wire 16
+ 114,   9,  17  ! Plane U, wire 17
+ 115,   9,  18  ! Plane U, wire 18
+ 116,   9,  19  ! Plane U, wire 19
+ 117,   9,  20  ! Plane U, wire 20
+ 118,   9,  21  ! Plane U, wire 21
+ 119,   9,  22  ! Plane U, wire 22
+ 120,   9,  23  ! Plane U, wire 23
+ 121,   9,  24  ! Plane U, wire 24
+ 122,   9,  25  ! Plane U, wire 25
+ 123,   9,  26  ! Plane U, wire 26
+ 124,   9,  27  ! Plane U, wire 27
+ 125,   9,  28  ! Plane U, wire 28
+ 126,   9,  29  ! Plane U, wire 29
+
+SLOT=14
+REFINDEX=0
+   0,   9,  30  ! Plane U, wire 30
+   1,   9,  31  ! Plane U, wire 31
+   2,   9,  32  ! Plane U, wire 32
+   3,   9,  33  ! Plane U, wire 33
+   4,   9,  34  ! Plane U, wire 34
+   5,   9,  35  ! Plane U, wire 35
+   6,   9,  36  ! Plane U, wire 36
+   7,   9,  37  ! Plane U, wire 37
+   8,   9,  38  ! Plane U, wire 38
+   9,   9,  39  ! Plane U, wire 39
+  10,   9,  40  ! Plane U, wire 40
+  11,   9,  41  ! Plane U, wire 41
+  12,   9,  42  ! Plane U, wire 42
+  13,   9,  43  ! Plane U, wire 43
+  14,   9,  44  ! Plane U, wire 44
+  15,   9,  45  ! Plane U, wire 45
+  32,   9,  46  ! Plane U, wire 46
+  33,   9,  47  ! Plane U, wire 47
+  34,   9,  48  ! Plane U, wire 48
+  35,   9,  49  ! Plane U, wire 49
+  36,   9,  50  ! Plane U, wire 50
+  37,   9,  51  ! Plane U, wire 51
+  38,   9,  52  ! Plane U, wire 52
+  39,   9,  53  ! Plane U, wire 53
+  40,   9,  54  ! Plane U, wire 54
+  41,   9,  55  ! Plane U, wire 55
+  42,   9,  56  ! Plane U, wire 56
+  43,   9,  57  ! Plane U, wire 57
+  44,   9,  58  ! Plane U, wire 58
+  45,   9,  59  ! Plane U, wire 59
+  46,   9,  60  ! Plane U, wire 60
+  48,   9,  61  ! Plane U, wire 61
+  49,   9,  62  ! Plane U, wire 62
+  50,   9,  63  ! Plane U, wire 63
+  51,   9,  64  ! Plane U, wire 64
+  52,   9,  65  ! Plane U, wire 65
+  53,   9,  66  ! Plane U, wire 66
+  54,   9,  67  ! Plane U, wire 67
+  55,   9,  68  ! Plane U, wire 68
+  56,   9,  69  ! Plane U, wire 69
+  57,   9,  70  ! Plane U, wire 70
+  58,   9,  71  ! Plane U, wire 71
+  59,   9,  72  ! Plane U, wire 72
+  60,   9,  73  ! Plane U, wire 73
+  61,   9,  74  ! Plane U, wire 74
+  62,   9,  75  ! Plane U, wire 75
+  63,   9,  76  ! Plane U, wire 76
+  64,   9,  77  ! Plane U, wire 77
+  65,   9,  78  ! Plane U, wire 78
+  66,   9,  79  ! Plane U, wire 79
+  67,   9,  80  ! Plane U, wire 80
+  68,   9,  81  ! Plane U, wire 81
+  69,   9,  82  ! Plane U, wire 82
+  70,   9,  83  ! Plane U, wire 83
+  71,   9,  84  ! Plane U, wire 84
+  72,   9,  85  ! Plane U, wire 85
+  73,   9,  86  ! Plane U, wire 86
+  74,   9,  87  ! Plane U, wire 87
+  75,   9,  88  ! Plane U, wire 88
+  76,   9,  89  ! Plane U, wire 89
+  77,   9,  90  ! Plane U, wire 90
+  78,   9,  91  ! Plane U, wire 91
+  80,   9,  92  ! Plane U, wire 92
+  81,   9,  93  ! Plane U, wire 93
+  82,   9,  94  ! Plane U, wire 94
+  83,   9,  95  ! Plane U, wire 95
+  84,   9,  96  ! Plane U, wire 96
+  85,   9,  97  ! Plane U, wire 97
+  86,   9,  98  ! Plane U, wire 98
+  87,   9,  99  ! Plane U, wire 99
+  88,   9, 100  ! Plane U, wire 100
+  89,   9, 101  ! Plane U, wire 101
+  90,   9, 102  ! Plane U, wire 102
+  91,   9, 103  ! Plane U, wire 103
+  92,   9, 104  ! Plane U, wire 104
+  93,   9, 105  ! Plane U, wire 105
+  94,   9, 106  ! Plane U, wire 106
+  95,   9, 107  ! Plane U, wire 107
+
+SLOT=16
+REFINDEX=0
+  80,  10,   1  ! Plane V, wire 1
+  81,  10,   2  ! Plane V, wire 2
+  82,  10,   3  ! Plane V, wire 3
+  83,  10,   4  ! Plane V, wire 4
+  84,  10,   5  ! Plane V, wire 5
+  85,  10,   6  ! Plane V, wire 6
+  86,  10,   7  ! Plane V, wire 7
+  87,  10,   8  ! Plane V, wire 8
+  88,  10,   9  ! Plane V, wire 9
+  89,  10,  10  ! Plane V, wire 10
+  90,  10,  11  ! Plane V, wire 11
+  91,  10,  12  ! Plane V, wire 12
+  92,  10,  13  ! Plane V, wire 13
+  93,  10,  14  ! Plane V, wire 14
+  94,  12, 113  ! Plane X', wire 113
+
+SLOT=14
+REFINDEX=0
+  96,  10,  15  ! Plane V, wire 15
+  97,  10,  16  ! Plane V, wire 16
+  98,  10,  17  ! Plane V, wire 17
+  99,  10,  18  ! Plane V, wire 18
+ 100,  10,  19  ! Plane V, wire 19
+ 101,  10,  20  ! Plane V, wire 20
+ 102,  10,  21  ! Plane V, wire 21
+ 103,  10,  22  ! Plane V, wire 22
+ 104,  10,  23  ! Plane V, wire 23
+ 105,  10,  24  ! Plane V, wire 24
+ 106,  10,  25  ! Plane V, wire 25
+ 107,  10,  26  ! Plane V, wire 26
+ 108,  10,  27  ! Plane V, wire 27
+ 109,  10,  28  ! Plane V, wire 28
+ 110,  10,  29  ! Plane V, wire 29
+ 112,  10,  30  ! Plane V, wire 30
+ 113,  10,  31  ! Plane V, wire 31
+ 114,  10,  32  ! Plane V, wire 32
+ 115,  10,  33  ! Plane V, wire 33
+ 116,  10,  34  ! Plane V, wire 34
+ 117,  10,  35  ! Plane V, wire 35
+ 118,  10,  36  ! Plane V, wire 36
+ 119,  10,  37  ! Plane V, wire 37
+ 120,  10,  38  ! Plane V, wire 38
+ 121,  10,  39  ! Plane V, wire 39
+ 122,  10,  40  ! Plane V, wire 40
+ 123,  10,  41  ! Plane V, wire 41
+ 124,  10,  42  ! Plane V, wire 42
+ 125,  10,  43  ! Plane V, wire 43
+ 126,  10,  44  ! Plane V, wire 44
+ 127,  10,  45  ! Plane V, wire 45
+
+SLOT=17
+REFINDEX=0
+ 127,1000,   0,   3
+   0,  10,  46  ! Plane V, wire 46
+   1,  10,  47  ! Plane V, wire 47
+   2,  10,  48  ! Plane V, wire 48
+   3,  10,  49  ! Plane V, wire 49
+   4,  10,  50  ! Plane V, wire 50
+   5,  10,  51  ! Plane V, wire 51
+   6,  10,  52  ! Plane V, wire 52
+   7,  10,  53  ! Plane V, wire 53
+   8,  10,  54  ! Plane V, wire 54
+   9,  10,  55  ! Plane V, wire 55
+  10,  10,  56  ! Plane V, wire 56
+  11,  10,  57  ! Plane V, wire 57
+  12,  10,  58  ! Plane V, wire 58
+  13,  10,  59  ! Plane V, wire 59
+  14,  10,  60  ! Plane V, wire 60
+  16,  10,  61  ! Plane V, wire 61
+  17,  10,  62  ! Plane V, wire 62
+  18,  10,  63  ! Plane V, wire 63
+  19,  10,  64  ! Plane V, wire 64
+  20,  10,  65  ! Plane V, wire 65
+  21,  10,  66  ! Plane V, wire 66
+  22,  10,  67  ! Plane V, wire 67
+  23,  10,  68  ! Plane V, wire 68
+  24,  10,  69  ! Plane V, wire 69
+  25,  10,  70  ! Plane V, wire 70
+  26,  10,  71  ! Plane V, wire 71
+  27,  10,  72  ! Plane V, wire 72
+  28,  10,  73  ! Plane V, wire 73
+  29,  10,  74  ! Plane V, wire 74
+  30,  10,  75  ! Plane V, wire 75
+  31,  10,  76  ! Plane V, wire 76
+  32,  10,  77  ! Plane V, wire 77
+  33,  10,  78  ! Plane V, wire 78
+  34,  10,  79  ! Plane V, wire 79
+  35,  10,  80  ! Plane V, wire 80
+  36,  10,  81  ! Plane V, wire 81
+  37,  10,  82  ! Plane V, wire 82
+  38,  10,  83  ! Plane V, wire 83
+  39,  10,  84  ! Plane V, wire 84
+  40,  10,  85  ! Plane V, wire 85
+  41,  10,  86  ! Plane V, wire 86
+  42,  10,  87  ! Plane V, wire 87
+  43,  10,  88  ! Plane V, wire 88
+  44,  10,  89  ! Plane V, wire 89
+  45,  10,  90  ! Plane V, wire 90
+  46,  10,  91  ! Plane V, wire 91
+  48,  10,  92  ! Plane V, wire 92
+  49,  10,  93  ! Plane V, wire 93
+  50,  10,  94  ! Plane V, wire 94
+  51,  10,  95  ! Plane V, wire 95
+  52,  10,  96  ! Plane V, wire 96
+  53,  10,  97  ! Plane V, wire 97
+  54,  10,  98  ! Plane V, wire 98
+  55,  10,  99  ! Plane V, wire 99
+  56,  10, 100  ! Plane V, wire 100
+  57,  10, 101  ! Plane V, wire 101
+  58,  10, 102  ! Plane V, wire 102
+  59,  10, 103  ! Plane V, wire 103
+  60,  10, 104  ! Plane V, wire 104
+  61,  10, 105  ! Plane V, wire 105
+  62,  10, 106  ! Plane V, wire 106
+  63,  10, 107  ! Plane V, wire 107
+
+SLOT=13
+REFINDEX=0
+   0,   7,   1  ! Plane X, wire 1
+   1,   7,   2  ! Plane X, wire 2
+   2,   7,   3  ! Plane X, wire 3
+   3,   7,   4  ! Plane X, wire 4
+   4,   7,   5  ! Plane X, wire 5
+   5,   7,   6  ! Plane X, wire 6
+   6,   7,   7  ! Plane X, wire 7
+   7,   7,   8  ! Plane X, wire 8
+   8,   7,   9  ! Plane X, wire 9
+   9,   7,  10  ! Plane X, wire 10
+  10,   7,  11  ! Plane X, wire 11
+  11,   7,  12  ! Plane X, wire 12
+  12,   7,  13  ! Plane X, wire 13
+  13,   7,  14  ! Plane X, wire 14
+  14,   7,  15  ! Plane X, wire 15
+  15,   7,  16  ! Plane X, wire 16
+  16,   7,  17  ! Plane X, wire 17
+  17,   7,  18  ! Plane X, wire 18
+  18,   7,  19  ! Plane X, wire 19
+  19,   7,  20  ! Plane X, wire 20
+  20,   7,  21  ! Plane X, wire 21
+  21,   7,  22  ! Plane X, wire 22
+  22,   7,  23  ! Plane X, wire 23
+  23,   7,  24  ! Plane X, wire 24
+  24,   7,  25  ! Plane X, wire 25
+  25,   7,  26  ! Plane X, wire 26
+  26,   7,  27  ! Plane X, wire 27
+  27,   7,  28  ! Plane X, wire 28
+  28,   7,  29  ! Plane X, wire 29
+  29,   7,  30  ! Plane X, wire 30
+  30,   7,  31  ! Plane X, wire 31
+  31,   7,  32  ! Plane X, wire 32
+  32,   7,  33  ! Plane X, wire 33
+  33,   7,  34  ! Plane X, wire 34
+  34,   7,  35  ! Plane X, wire 35
+  35,   7,  36  ! Plane X, wire 36
+  36,   7,  37  ! Plane X, wire 37
+  37,   7,  38  ! Plane X, wire 38
+  38,   7,  39  ! Plane X, wire 39
+  39,   7,  40  ! Plane X, wire 40
+  40,   7,  41  ! Plane X, wire 41
+  41,   7,  42  ! Plane X, wire 42
+  42,   7,  43  ! Plane X, wire 43
+  43,   7,  44  ! Plane X, wire 44
+  44,   7,  45  ! Plane X, wire 45
+  45,   7,  46  ! Plane X, wire 46
+  46,   7,  47  ! Plane X, wire 47
+  47,   7,  48  ! Plane X, wire 48
+  48,   7,  49  ! Plane X, wire 49
+  49,   7,  50  ! Plane X, wire 50
+  50,   7,  51  ! Plane X, wire 51
+  51,   7,  52  ! Plane X, wire 52
+  52,   7,  53  ! Plane X, wire 53
+  53,   7,  54  ! Plane X, wire 54
+  54,   7,  55  ! Plane X, wire 55
+  55,   7,  56  ! Plane X, wire 56
+  56,   7,  57  ! Plane X, wire 57
+  57,   7,  58  ! Plane X, wire 58
+  58,   7,  59  ! Plane X, wire 59
+  59,   7,  60  ! Plane X, wire 60
+  60,   7,  61  ! Plane X, wire 61
+  61,   7,  62  ! Plane X, wire 62
+  62,   7,  63  ! Plane X, wire 63
+  63,   7,  64  ! Plane X, wire 64
+  64,   7,  65  ! Plane X, wire 65
+  65,   7,  66  ! Plane X, wire 66
+  66,   7,  67  ! Plane X, wire 67
+  67,   7,  68  ! Plane X, wire 68
+  68,   7,  69  ! Plane X, wire 69
+  69,   7,  70  ! Plane X, wire 70
+  70,   7,  71  ! Plane X, wire 71
+  71,   7,  72  ! Plane X, wire 72
+  72,   7,  73  ! Plane X, wire 73
+  73,   7,  74  ! Plane X, wire 74
+  74,   7,  75  ! Plane X, wire 75
+  75,   7,  76  ! Plane X, wire 76
+  76,   7,  77  ! Plane X, wire 77
+  77,   7,  78  ! Plane X, wire 78
+  78,   7,  79  ! Plane X, wire 79
+  79,   7,  80  ! Plane X, wire 80
+  80,   7,  81  ! Plane X, wire 81
+  81,   7,  82  ! Plane X, wire 82
+  82,   7,  83  ! Plane X, wire 83
+  83,   7,  84  ! Plane X, wire 84
+  84,   7,  85  ! Plane X, wire 85
+  85,   7,  86  ! Plane X, wire 86
+  86,   7,  87  ! Plane X, wire 87
+  87,   7,  88  ! Plane X, wire 88
+  88,   7,  89  ! Plane X, wire 89
+  89,   7,  90  ! Plane X, wire 90
+  90,   7,  91  ! Plane X, wire 91
+  91,   7,  92  ! Plane X, wire 92
+  92,   7,  93  ! Plane X, wire 93
+  93,   7,  94  ! Plane X, wire 94
+  94,   7,  95  ! Plane X, wire 95
+  95,   7,  96  ! Plane X, wire 96
+  96,   7,  97  ! Plane X, wire 97
+  97,   7,  98  ! Plane X, wire 98
+  98,   7,  99  ! Plane X, wire 99
+  99,   7, 100  ! Plane X, wire 100
+ 100,   7, 101  ! Plane X, wire 101
+ 101,   7, 102  ! Plane X, wire 102
+ 102,   7, 103  ! Plane X, wire 103
+ 103,   7, 104  ! Plane X, wire 104
+ 104,   7, 105  ! Plane X, wire 105
+ 105,   7, 106  ! Plane X, wire 106
+ 106,   7, 107  ! Plane X, wire 107
+ 107,   7, 108  ! Plane X, wire 108
+ 108,   7, 109  ! Plane X, wire 109
+ 109,   7, 110  ! Plane X, wire 110
+ 110,   7, 111  ! Plane X, wire 111
+ 111,   7, 112  ! Plane X, wire 112
+ 112,  12,   1  ! Plane X', wire 1
+ 113,  12,   2  ! Plane X', wire 2
+ 114,  12,   3  ! Plane X', wire 3
+ 115,  12,   4  ! Plane X', wire 4
+ 116,  12,   5  ! Plane X', wire 5
+ 117,  12,   6  ! Plane X', wire 6
+ 118,  12,   7  ! Plane X', wire 7
+ 119,  12,   8  ! Plane X', wire 8
+ 120,  12,   9  ! Plane X', wire 9
+ 121,  12,  10  ! Plane X', wire 10
+ 122,  12,  11  ! Plane X', wire 11
+ 123,  12,  12  ! Plane X', wire 12
+ 124,  12,  13  ! Plane X', wire 13
+ 125,  12,  14  ! Plane X', wire 14
+ 126,  12,  15  ! Plane X', wire 15
+ 127,  12,  16  ! Plane X', wire 16
+
+SLOT=14
+REFINDEX=0
+  16,  12,  17  ! Plane X', wire 17
+  17,  12,  18  ! Plane X', wire 18
+  18,  12,  19  ! Plane X', wire 19
+  19,  12,  20  ! Plane X', wire 20
+  20,  12,  21  ! Plane X', wire 21
+  21,  12,  22  ! Plane X', wire 22
+  22,  12,  23  ! Plane X', wire 23
+  23,  12,  24  ! Plane X', wire 24
+  24,  12,  25  ! Plane X', wire 25
+  25,  12,  26  ! Plane X', wire 26
+  26,  12,  27  ! Plane X', wire 27
+  27,  12,  28  ! Plane X', wire 28
+  28,  12,  29  ! Plane X', wire 29
+  29,  12,  30  ! Plane X', wire 30
+  30,  12,  31  ! Plane X', wire 31
+  31,  12,  32  ! Plane X', wire 32
+
+SLOT=16
+REFINDEX=0
+   0,  12,  33  ! Plane X', wire 33
+   1,  12,  34  ! Plane X', wire 34
+   2,  12,  35  ! Plane X', wire 35
+   3,  12,  36  ! Plane X', wire 36
+   4,  12,  37  ! Plane X', wire 37
+   5,  12,  38  ! Plane X', wire 38
+   6,  12,  39  ! Plane X', wire 39
+   7,  12,  40  ! Plane X', wire 40
+   8,  12,  41  ! Plane X', wire 41
+   9,  12,  42  ! Plane X', wire 42
+  10,  12,  43  ! Plane X', wire 43
+  11,  12,  44  ! Plane X', wire 44
+  12,  12,  45  ! Plane X', wire 45
+  13,  12,  46  ! Plane X', wire 46
+  14,  12,  47  ! Plane X', wire 47
+  15,  12,  48  ! Plane X', wire 48
+  16,  12,  49  ! Plane X', wire 49
+  17,  12,  50  ! Plane X', wire 50
+  18,  12,  51  ! Plane X', wire 51
+  19,  12,  52  ! Plane X', wire 52
+  20,  12,  53  ! Plane X', wire 53
+  21,  12,  54  ! Plane X', wire 54
+  22,  12,  55  ! Plane X', wire 55
+  23,  12,  56  ! Plane X', wire 56
+  24,  12,  57  ! Plane X', wire 57
+  25,  12,  58  ! Plane X', wire 58
+  26,  12,  59  ! Plane X', wire 59
+  27,  12,  60  ! Plane X', wire 60
+  28,  12,  61  ! Plane X', wire 61
+  29,  12,  62  ! Plane X', wire 62
+  30,  12,  63  ! Plane X', wire 63
+  31,  12,  64  ! Plane X', wire 64
+  32,  12,  65  ! Plane X', wire 65
+  33,  12,  66  ! Plane X', wire 66
+  34,  12,  67  ! Plane X', wire 67
+  35,  12,  68  ! Plane X', wire 68
+  36,  12,  69  ! Plane X', wire 69
+  37,  12,  70  ! Plane X', wire 70
+  38,  12,  71  ! Plane X', wire 71
+  39,  12,  72  ! Plane X', wire 72
+  40,  12,  73  ! Plane X', wire 73
+  41,  12,  74  ! Plane X', wire 74
+  42,  12,  75  ! Plane X', wire 75
+  43,  12,  76  ! Plane X', wire 76
+  44,  12,  77  ! Plane X', wire 77
+  45,  12,  78  ! Plane X', wire 78
+  46,  12,  79  ! Plane X', wire 79
+  47,  12,  80  ! Plane X', wire 80
+  48,  12,  81  ! Plane X', wire 81
+  49,  12,  82  ! Plane X', wire 82
+  50,  12,  83  ! Plane X', wire 83
+  51,  12,  84  ! Plane X', wire 84
+  52,  12,  85  ! Plane X', wire 85
+  53,  12,  86  ! Plane X', wire 86
+  54,  12,  87  ! Plane X', wire 87
+  55,  12,  88  ! Plane X', wire 88
+  56,  12,  89  ! Plane X', wire 89
+  57,  12,  90  ! Plane X', wire 90
+  58,  12,  91  ! Plane X', wire 91
+  59,  12,  92  ! Plane X', wire 92
+  60,  12,  93  ! Plane X', wire 93
+  61,  12,  94  ! Plane X', wire 94
+  62,  12,  95  ! Plane X', wire 95
+  63,  12,  96  ! Plane X', wire 96
+  64,  12,  97  ! Plane X', wire 97
+  65,  12,  98  ! Plane X', wire 98
+  66,  12,  99  ! Plane X', wire 99
+  67,  12, 100  ! Plane X', wire 100
+  68,  12, 101  ! Plane X', wire 101
+  69,  12, 102  ! Plane X', wire 102
+  70,  12, 103  ! Plane X', wire 103
+  71,  12, 104  ! Plane X', wire 104
+  72,  12, 105  ! Plane X', wire 105
+  73,  12, 106  ! Plane X', wire 106
+  74,  12, 107  ! Plane X', wire 107
+  75,  12, 108  ! Plane X', wire 108
+  76,  12, 109  ! Plane X', wire 109
+  77,  12, 110  ! Plane X', wire 110
+  78,  12, 111  ! Plane X', wire 111
+  79,  12, 112  ! Plane X', wire 112
+
+SLOT=17
+REFINDEX=0
+  64,   8,   1  ! Plane Y, wire 1
+  65,   8,   2  ! Plane Y, wire 2
+  66,   8,   3  ! Plane Y, wire 3
+  67,   8,   4  ! Plane Y, wire 4
+  68,   8,   5  ! Plane Y, wire 5
+  69,   8,   6  ! Plane Y, wire 6
+  70,   8,   7  ! Plane Y, wire 7
+  71,   8,   8  ! Plane Y, wire 8
+  72,   8,   9  ! Plane Y, wire 9
+  73,   8,  10  ! Plane Y, wire 10
+  74,   8,  11  ! Plane Y, wire 11
+  75,   8,  12  ! Plane Y, wire 12
+  76,   8,  13  ! Plane Y, wire 13
+  80,   8,  14  ! Plane Y, wire 14
+  81,   8,  15  ! Plane Y, wire 15
+  82,   8,  16  ! Plane Y, wire 16
+  83,   8,  17  ! Plane Y, wire 17
+  84,   8,  18  ! Plane Y, wire 18
+  85,   8,  19  ! Plane Y, wire 19
+  86,   8,  20  ! Plane Y, wire 20
+  87,   8,  21  ! Plane Y, wire 21
+  88,   8,  22  ! Plane Y, wire 22
+  89,   8,  23  ! Plane Y, wire 23
+  90,   8,  24  ! Plane Y, wire 24
+  91,   8,  25  ! Plane Y, wire 25
+  92,   8,  26  ! Plane Y, wire 26
+  96,   8,  27  ! Plane Y, wire 27
+  97,   8,  28  ! Plane Y, wire 28
+  98,   8,  29  ! Plane Y, wire 29
+  99,   8,  30  ! Plane Y, wire 30
+ 100,   8,  31  ! Plane Y, wire 31
+ 101,   8,  32  ! Plane Y, wire 32
+ 102,   8,  33  ! Plane Y, wire 33
+ 103,   8,  34  ! Plane Y, wire 34
+ 104,   8,  35  ! Plane Y, wire 35
+ 105,   8,  36  ! Plane Y, wire 36
+ 106,   8,  37  ! Plane Y, wire 37
+ 107,   8,  38  ! Plane Y, wire 38
+ 108,   8,  39  ! Plane Y, wire 39
+ 112,   8,  40  ! Plane Y, wire 40
+ 113,   8,  41  ! Plane Y, wire 41
+ 114,   8,  42  ! Plane Y, wire 42
+ 115,   8,  43  ! Plane Y, wire 43
+ 116,   8,  44  ! Plane Y, wire 44
+ 117,   8,  45  ! Plane Y, wire 45
+ 118,   8,  46  ! Plane Y, wire 46
+ 119,   8,  47  ! Plane Y, wire 47
+ 120,   8,  48  ! Plane Y, wire 48
+ 121,   8,  49  ! Plane Y, wire 49
+ 122,   8,  50  ! Plane Y, wire 50
+ 123,   8,  51  ! Plane Y, wire 51
+ 124,   8,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   1
+  64,  11,   1  ! Plane Y', wire 1
+  65,  11,   2  ! Plane Y', wire 2
+  66,  11,   3  ! Plane Y', wire 3
+  67,  11,   4  ! Plane Y', wire 4
+  68,  11,   5  ! Plane Y', wire 5
+  69,  11,   6  ! Plane Y', wire 6
+  70,  11,   7  ! Plane Y', wire 7
+  71,  11,   8  ! Plane Y', wire 8
+  72,  11,   9  ! Plane Y', wire 9
+  73,  11,  10  ! Plane Y', wire 10
+  74,  11,  11  ! Plane Y', wire 11
+  75,  11,  12  ! Plane Y', wire 12
+  76,  11,  13  ! Plane Y', wire 13
+  80,  11,  14  ! Plane Y', wire 14
+  81,  11,  15  ! Plane Y', wire 15
+  82,  11,  16  ! Plane Y', wire 16
+  83,  11,  17  ! Plane Y', wire 17
+  84,  11,  18  ! Plane Y', wire 18
+  85,  11,  19  ! Plane Y', wire 19
+  86,  11,  20  ! Plane Y', wire 20
+  87,  11,  21  ! Plane Y', wire 21
+  88,  11,  22  ! Plane Y', wire 22
+  89,  11,  23  ! Plane Y', wire 23
+  90,  11,  24  ! Plane Y', wire 24
+  91,  11,  25  ! Plane Y', wire 25
+  92,  11,  26  ! Plane Y', wire 26
+  96,  11,  27  ! Plane Y', wire 27
+  97,  11,  28  ! Plane Y', wire 28
+  98,  11,  29  ! Plane Y', wire 29
+  99,  11,  30  ! Plane Y', wire 30
+ 100,  11,  31  ! Plane Y', wire 31
+ 101,  11,  32  ! Plane Y', wire 32
+ 102,  11,  33  ! Plane Y', wire 33
+ 103,  11,  34  ! Plane Y', wire 34
+ 104,  11,  35  ! Plane Y', wire 35
+ 105,  11,  36  ! Plane Y', wire 36
+ 106,  11,  37  ! Plane Y', wire 37
+ 107,  11,  38  ! Plane Y', wire 38
+ 108,  11,  39  ! Plane Y', wire 39
+ 112,  11,  40  ! Plane Y', wire 40
+ 113,  11,  41  ! Plane Y', wire 41
+ 114,  11,  42  ! Plane Y', wire 42
+ 115,  11,  43  ! Plane Y', wire 43
+ 116,  11,  44  ! Plane Y', wire 44
+ 117,  11,  45  ! Plane Y', wire 45
+ 118,  11,  46  ! Plane Y', wire 46
+ 119,  11,  47  ! Plane Y', wire 47
+ 120,  11,  48  ! Plane Y', wire 48
+ 121,  11,  49  ! Plane Y', wire 49
+ 122,  11,  50  ! Plane Y', wire 50
+ 123,  11,  51  ! Plane Y', wire 51
+ 124,  11,  52  ! Plane Y', wire 52
+
+
+DETECTOR=13
+
+ROC=1
+
+SLOT=8
+   0,   1,   1,   0  ! h1x01A+
+   1,   1,   2,   0  ! h1x02A+
+   2,   1,   3,   0  ! h1x03A+
+   3,   1,   4,   0  ! h1x04A+
+   4,   1,   5,   0  ! h1x05A+
+   5,   1,   6,   0  ! h1x06A+
+   6,   1,   7,   0  ! h1x07A+
+   7,   1,   8,   0  ! h1x08A+
+   8,   1,   9,   0  ! h1x09A+
+   9,   1,  10,   0  ! h1x10A+
+  10,   1,  11,   0  ! h1x11A+
+  11,   1,  12,   0  ! h1x12A+
+  12,   1,  13,   0  ! h1x13A+
+  13,   1,  14,   0  ! h1x14A+
+  14,   1,  15,   0  ! h1x15A+
+  15,   1,  16,   0  ! h1x16A+
+
+SLOT=9
+   0,   1,   1,   1  ! h1x01A-
+   1,   1,   2,   1  ! h1x02A-
+   2,   1,   3,   1  ! h1x03A-
+   3,   1,   4,   1  ! h1x04A-
+   4,   1,   5,   1  ! h1x05A-
+   5,   1,   6,   1  ! h1x06A-
+   6,   1,   7,   1  ! h1x07A-
+   7,   1,   8,   1  ! h1x08A-
+   8,   1,   9,   1  ! h1x09A-
+   9,   1,  10,   1  ! h1x10A-
+  10,   1,  11,   1  ! h1x11A-
+  11,   1,  12,   1  ! h1x12A-
+  12,   1,  13,   1  ! h1x13A-
+  13,   1,  14,   1  ! h1x14A-
+  14,   1,  15,   1  ! h1x15A-
+  15,   1,  16,   1  ! h1x16A-
+
+SLOT=10
+   0,   2,   1,   0  ! h1y01A+
+   1,   2,   2,   0  ! h1y02A+
+   2,   2,   3,   0  ! h1y03A+
+   3,   2,   4,   0  ! h1y04A+
+   4,   2,   5,   0  ! h1y05A+
+   5,   2,   6,   0  ! h1y06A+
+   6,   2,   7,   0  ! h1y07A+
+   7,   2,   8,   0  ! h1y08A+
+   8,   2,   9,   0  ! h1y09A+
+   9,   2,  10,   0  ! h1y10A+
+  10,   2,   1,   1  ! h1y01A-
+  11,   2,   2,   1  ! h1y02A-
+  12,   2,   3,   1  ! h1y03A-
+  13,   2,   4,   1  ! h1y04A-
+  14,   2,   5,   1  ! h1y05A-
+  15,   2,   6,   1  ! h1y06A-
+
+SLOT=13
+   0,   2,   7,   1  ! h1y07A-
+   1,   2,   8,   1  ! h1y08A-
+   2,   2,   9,   1  ! h1y09A-
+   3,   2,  10,   1  ! h1y10A-
+   4,   3,   1,   0  ! h2x01A+
+   5,   3,   2,   0  ! h2x02A+
+   6,   3,   3,   0  ! h2x03A+
+   7,   3,   4,   0  ! h2x04A+
+   8,   3,   5,   0  ! h2x05A+
+   9,   3,   6,   0  ! h2x06A+
+  10,   3,   7,   0  ! h2x07A+
+  11,   3,   8,   0  ! h2x08A+
+  12,   3,   9,   0  ! h2x09A+
+  13,   3,  10,   0  ! h2x10A+
+  14,   3,  11,   0  ! h2x11A+
+  15,   3,  12,   0  ! h2x12A+
+
+SLOT=14
+   0,   3,  13,   0  ! h2x13A+
+   1,   3,  14,   0  ! h2x14A+
+   2,   3,  15,   0  ! h2x15A+
+   3,   3,  16,   0  ! h2x16A+
+   4,   3,   1,   1  ! h2x01A-
+   5,   3,   2,   1  ! h2x02A-
+   6,   3,   3,   1  ! h2x03A-
+   7,   3,   4,   1  ! h2x04A-
+   8,   3,   5,   1  ! h2x05A-
+   9,   3,   6,   1  ! h2x06A-
+  10,   3,   7,   1  ! h2x07A-
+  11,   3,   8,   1  ! h2x08A-
+  12,   3,   9,   1  ! h2x09A-
+  13,   3,  10,   1  ! h2x10A-
+  14,   3,  11,   1  ! h2x11A-
+  15,   3,  12,   1  ! h2x12A-
+
+SLOT=15
+   0,   3,  13,   1  ! h2x13A-
+   1,   3,  14,   1  ! h2x14A-
+   2,   3,  15,   1  ! h2x15A-
+   3,   3,  16,   1  ! h2x16A-
+   4,   4,   1,   0  ! h2y01A+
+   5,   4,   2,   0  ! h2y02A+
+   6,   4,   3,   0  ! h2y03A+
+   7,   4,   4,   0  ! h2y04A+
+   8,   4,   5,   0  ! h2y05A+
+   9,   4,   6,   0  ! h2y06A+
+  10,   4,   7,   0  ! h2y07A+
+  11,   4,   8,   0  ! h2y08A+
+  12,   4,   9,   0  ! h2y09A+
+  13,   4,  10,   0  ! h2y10A+
+  14,   4,   1,   1  ! h2y01A-
+  15,   4,   2,   1  ! h2y02A-
+
+SLOT=16
+   0,   4,   3,   1  ! h2y03A-
+   1,   4,   4,   1  ! h2y04A-
+   2,   4,   5,   1  ! h2y05A-
+   3,   4,   6,   1  ! h2y06A-
+   4,   4,   7,   1  ! h2y07A-
+   5,   4,   8,   1  ! h2y08A-
+   6,   4,   9,   1  ! h2y09A-
+   7,   4,  10,   1  ! h2y10A-
+
+SLOT=20
+REFINDEX=0
+ 127,1000,   0,   0
+   0,   1,   1,   2  ! h1x01T+
+   1,   1,   3,   2  ! h1x03T+
+   2,   1,   5,   2  ! h1x05T+
+   3,   1,   7,   2  ! h1x07T+
+   4,   1,   2,   2  ! h1x02T+
+   5,   1,   4,   2  ! h1x04T+
+   6,   1,   6,   2  ! h1x06T+
+   7,   1,   8,   2  ! h1x08T+
+   8,   1,   9,   2  ! h1x09T+
+   9,   1,  11,   2  ! h1x11T+
+  10,   1,  13,   2  ! h1x13T+
+  11,   1,  15,   2  ! h1x15T+
+  12,   1,  10,   2  ! h1x10T+
+  13,   1,  12,   2  ! h1x12T+
+  14,   1,  14,   2  ! h1x14T+
+  15,   1,  16,   2  ! h1x16T+
+  16,   1,   1,   3  ! h1x01T-
+  17,   1,   3,   3  ! h1x03T-
+  18,   1,   5,   3  ! h1x05T-
+  19,   1,   7,   3  ! h1x07T-
+  20,   1,   2,   3  ! h1x02T-
+  21,   1,   4,   3  ! h1x04T-
+  22,   1,   6,   3  ! h1x06T-
+  23,   1,   8,   3  ! h1x08T-
+  24,   1,   9,   3  ! h1x09T-
+  25,   1,  11,   3  ! h1x11T-
+  26,   1,  13,   3  ! h1x13T-
+  27,   1,  15,   3  ! h1x15T-
+  28,   1,  10,   3  ! h1x10T-
+  29,   1,  12,   3  ! h1x12T-
+  30,   1,  14,   3  ! h1x14T-
+  31,   1,  16,   3  ! h1x16T-
+  32,   2,   1,   2  ! h1y01T+
+  33,   2,   3,   2  ! h1y03T+
+  34,   2,   5,   2  ! h1y05T+
+  35,   2,   7,   2  ! h1y07T+
+  36,   2,   2,   2  ! h1y02T+
+  37,   2,   4,   2  ! h1y04T+
+  38,   2,   6,   2  ! h1y06T+
+  39,   2,   8,   2  ! h1y08T+
+  40,   2,   9,   2  ! h1y09T+
+  44,   2,  10,   2  ! h1y10T+
+  48,   2,   1,   3  ! h1y01T-
+  49,   2,   3,   3  ! h1y03T-
+  50,   2,   5,   3  ! h1y05T-
+  51,   2,   7,   3  ! h1y07T-
+  52,   2,   2,   3  ! h1y02T-
+  53,   2,   4,   3  ! h1y04T-
+  54,   2,   6,   3  ! h1y06T-
+  55,   2,   8,   3  ! h1y08T-
+  56,   2,   9,   3  ! h1y09T-
+  60,   2,  10,   3  ! h1y10T-
+  64,   3,   1,   2  ! h2x01T+
+  65,   3,   3,   2  ! h2x03T+
+  66,   3,   5,   2  ! h2x05T+
+  67,   3,   7,   2  ! h2x07T+
+  68,   3,   2,   2  ! h2x02T+
+  69,   3,   4,   2  ! h2x04T+
+  70,   3,   6,   2  ! h2x06T+
+  71,   3,   8,   2  ! h2x08T+
+  72,   3,   9,   2  ! h2x09T+
+  73,   3,  11,   2  ! h2x11T+
+  74,   3,  13,   2  ! h2x13T+
+  75,   3,  15,   2  ! h2x15T+
+  76,   3,  10,   2  ! h2x10T+
+  77,   3,  12,   2  ! h2x12T+
+  78,   3,  14,   2  ! h2x14T+
+  79,   3,  16,   2  ! h2x16T+
+  80,   3,   1,   3  ! h2x01T-
+  81,   3,   3,   3  ! h2x03T-
+  82,   3,   5,   3  ! h2x05T-
+  83,   3,   7,   3  ! h2x07T-
+  84,   3,   2,   3  ! h2x02T-
+  85,   3,   4,   3  ! h2x04T-
+  86,   3,   6,   3  ! h2x06T-
+  87,   3,   8,   3  ! h2x08T-
+  88,   3,   9,   3  ! h2x09T-
+  89,   3,  11,   3  ! h2x11T-
+  90,   3,  13,   3  ! h2x13T-
+  91,   3,  15,   3  ! h2x15T-
+  92,   3,  10,   3  ! h2x10T-
+  93,   3,  12,   3  ! h2x12T-
+  94,   3,  14,   3  ! h2x14T-
+  95,   3,  16,   3  ! h2x16T-
+  96,   4,   1,   2  ! h2y01T+
+  97,   4,   3,   2  ! h2y03T+
+  98,   4,   5,   2  ! h2y05T+
+  99,   4,   7,   2  ! h2y07T+
+ 100,   4,   2,   2  ! h2y02T+
+ 101,   4,   4,   2  ! h2y04T+
+ 102,   4,   6,   2  ! h2y06T+
+ 103,   4,   8,   2  ! h2y08T+
+ 104,   4,   9,   2  ! h2y09T+
+ 108,   4,  10,   2  ! h2y10T+
+ 112,   4,   1,   3  ! h2y01T-
+ 113,   4,   3,   3  ! h2y03T-
+ 114,   4,   5,   3  ! h2y05T-
+ 115,   4,   7,   3  ! h2y07T-
+ 116,   4,   2,   3  ! h2y02T-
+ 117,   4,   4,   3  ! h2y04T-
+ 118,   4,   6,   3  ! h2y06T-
+ 119,   4,   8,   3  ! h2y08T-
+ 120,   4,   9,   3  ! h2y09T-
+ 124,   4,  10,   3  ! h2y10T-
+DETECTOR=14
+
+ROC=1
+
+SLOT=7
+  14,   1,   1,   0  ! hCER01
+  15,   1,   2,   0  ! hCER02
+
+
+DETECTOR=15
+
+ROC=1
+
+SLOT=3
+   0,   1,   1,   0  ! hA01+
+   1,   1,   2,   0  ! hA02+
+   2,   1,   3,   0  ! hA03+
+   3,   1,   4,   0  ! hA04+
+   4,   1,   5,   0  ! hA05+
+   5,   1,   6,   0  ! hA06+
+   6,   1,   7,   0  ! hA07+
+   7,   1,   8,   0  ! hA08+
+   8,   1,   9,   0  ! hA09+
+   9,   1,  10,   0  ! hA10+
+  10,   1,  11,   0  ! hA11+
+  11,   1,  12,   0  ! hA12+
+  12,   1,  13,   0  ! hA13+
+  13,   1,   1,   1  ! hA01-
+  14,   1,   2,   1  ! hA02-
+  15,   1,   3,   1  ! hA03-
+
+SLOT=4
+   0,   1,   4,   1  ! hA04-
+   1,   1,   5,   1  ! hA05-
+   2,   1,   6,   1  ! hA06-
+   3,   1,   7,   1  ! hA07-
+   4,   1,   8,   1  ! hA08-
+   5,   1,   9,   1  ! hA09-
+   6,   1,  10,   1  ! hA10-
+   7,   1,  11,   1  ! hA11-
+   8,   1,  12,   1  ! hA12-
+   9,   1,  13,   1  ! hA13-
+  10,   2,   1,   0  ! hB01+
+  11,   2,   2,   0  ! hB02+
+  12,   2,   3,   0  ! hB03+
+  13,   2,   4,   0  ! hB04+
+  14,   2,   5,   0  ! hB05+
+  15,   2,   6,   0  ! hB06+
+
+SLOT=5
+   0,   2,   7,   0  ! hB07+
+   1,   2,   8,   0  ! hB08+
+   2,   2,   9,   0  ! hB09+
+   3,   2,  10,   0  ! hB10+
+   4,   2,  11,   0  ! hB11+
+   5,   2,  12,   0  ! hB12+
+   6,   2,  13,   0  ! hB13+
+   7,   2,   1,   1  ! hB01-
+   8,   2,   2,   1  ! hB02-
+   9,   2,   3,   1  ! hB03-
+  10,   2,   4,   1  ! hB04-
+  11,   2,   5,   1  ! hB05-
+  12,   2,   6,   1  ! hB06-
+  13,   2,   7,   1  ! hB07-
+  14,   2,   8,   1  ! hB08-
+  15,   2,   9,   1  ! hB09-
+
+SLOT=6
+   0,   2,  10,   1  ! hB10-
+   1,   2,  11,   1  ! hB11-
+   2,   2,  12,   1  ! hB12-
+   3,   2,  13,   1  ! hB13-
+   4,   3,   1,   0  ! hC01+
+   5,   3,   2,   0  ! hC02+
+   6,   3,   3,   0  ! hC03+
+   7,   3,   4,   0  ! hC04+
+   8,   3,   5,   0  ! hC05+
+   9,   3,   6,   0  ! hC06+
+  10,   3,   7,   0  ! hC07+
+  11,   3,   8,   0  ! hC08+
+  12,   3,   9,   0  ! hC09+
+  13,   3,  10,   0  ! hC10+
+  14,   3,  11,   0  ! hC11+
+  15,   3,  12,   0  ! hC12+
+
+SLOT=7
+   0,   3,  13,   0  ! hC13+
+   1,   4,   1,   0  ! hD01+
+   2,   4,   2,   0  ! hD02+
+   3,   4,   3,   0  ! hD03+
+   4,   4,   4,   0  ! hD04+
+   5,   4,   5,   0  ! hD05+
+   6,   4,   6,   0  ! hD06+
+   7,   4,   7,   0  ! hD07+
+   8,   4,   8,   0  ! hD08+
+   9,   4,   9,   0  ! hD09+
+  10,   4,  10,   0  ! hD10+
+  11,   4,  11,   0  ! hD11+
+  12,   4,  12,   0  ! hD12+
+  13,   4,  13,   0  ! hD13+
diff --git a/MAPS/HMS/DETEC/hms_stack_spring17_run_00001_00243.map b/MAPS/HMS/DETEC/hms_stack_spring17_run_00001_00243.map
new file mode 100644
index 00000000..4f7ef430
--- /dev/null
+++ b/MAPS/HMS/DETEC/hms_stack_spring17_run_00001_00243.map
@@ -0,0 +1,1544 @@
+! THMS_ID=10       ::  ADC,TDC
+! HDC_ID=11        ::  TDC
+! HSCIN_ID=13      ::  ADC+,ADC-,TDC+,TDC-
+! HCER_ID=14       ::  (TDC),ADC
+! HCAL_ID=15       ::  ADC
+
+
+DETECTOR=10
+
+ROC=11
+
+SLOT=17
+   8,   1,   1,   0  ! hASUM
+   9,   1,   2,   0  ! hBSUM
+  10,   1,   3,   0  ! hCSUM
+  11,   1,   4,   0  ! hDSUM
+  12,   1,   5,   0  ! hPSHWR
+  13,   1,   6,   0  ! hSHWR
+  14,   1,   7,   0  ! hAERSUM
+  15,   1,   8,   0  ! hCERSUM
+
+SLOT=2
+   0,   2,   1,   1  ! h1X
+   1,   2,   2,   1  ! h1Y
+   2,   2,   3,   1  ! h2X
+   3,   2,   4,   1  ! h2Y
+   4,   2,   5,   1  ! h1T
+   5,   2,   6,   1  ! h2T
+   6,   2,   7,   1  ! hT1
+   7,   2,   8,   1  ! hASUM
+   8,   2,   9,   1  ! hBSUM
+   9,   2,  10,   1  ! hCSUM
+  10,   2,  11,   1  ! hDSUM
+  11,   2,  12,   1  ! hPSHWRLO
+  12,   2,  13,   1  ! hPSHWRHI
+  13,   2,  14,   1  ! hSHWR
+  14,   2,  15,   1  ! hAERSUM
+  15,   2,  16,   1  ! hCERSUM
+
+SLOT=20
+ 127,   2,  17,   1  ! hT2
+
+ROC=3
+
+SLOT=5
+ 111,   2,  18,   1  ! hDCREF1
+
+SLOT=8
+ 127,   2,  19,   1  ! hDCREF2
+
+SLOT=10
+ 127,   2,  20,   1  ! hDCREF3
+
+SLOT=17
+ 127,   2,  21,   1  ! hDCREF4
+
+
+DETECTOR=11  ! HMS chambers
+
+ROC=3
+
+SLOT=5
+REFINDEX=0
+ 111,1000,   0,   0
+  96,   3,   1  ! Plane U, wire 1
+  97,   3,   2  ! Plane U, wire 2
+  98,   3,   3  ! Plane U, wire 3
+  99,   3,   4  ! Plane U, wire 4
+ 100,   3,   5  ! Plane U, wire 5
+ 101,   3,   6  ! Plane U, wire 6
+ 102,   3,   7  ! Plane U, wire 7
+ 103,   3,   8  ! Plane U, wire 8
+ 104,   3,   9  ! Plane U, wire 9
+ 105,   3,  10  ! Plane U, wire 10
+ 106,   3,  11  ! Plane U, wire 11
+ 107,   3,  12  ! Plane U, wire 12
+ 108,   3,  13  ! Plane U, wire 13
+ 109,   3,  14  ! Plane U, wire 14
+ 110,   1, 113  ! Plane X, wire 113
+  80,   3,  15  ! Plane U, wire 15
+  81,   3,  16  ! Plane U, wire 16
+  82,   3,  17  ! Plane U, wire 17
+  83,   3,  18  ! Plane U, wire 18
+  84,   3,  19  ! Plane U, wire 19
+  85,   3,  20  ! Plane U, wire 20
+  86,   3,  21  ! Plane U, wire 21
+  87,   3,  22  ! Plane U, wire 22
+  88,   3,  23  ! Plane U, wire 23
+  89,   3,  24  ! Plane U, wire 24
+  90,   3,  25  ! Plane U, wire 25
+  91,   3,  26  ! Plane U, wire 26
+  92,   3,  27  ! Plane U, wire 27
+  93,   3,  28  ! Plane U, wire 28
+  94,   3,  29  ! Plane U, wire 29
+  64,   3,  30  ! Plane U, wire 30
+  65,   3,  31  ! Plane U, wire 31
+  66,   3,  32  ! Plane U, wire 32
+  67,   3,  33  ! Plane U, wire 33
+  68,   3,  34  ! Plane U, wire 34
+  69,   3,  35  ! Plane U, wire 35
+  70,   3,  36  ! Plane U, wire 36
+  71,   3,  37  ! Plane U, wire 37
+  72,   3,  38  ! Plane U, wire 38
+  73,   3,  39  ! Plane U, wire 39
+  74,   3,  40  ! Plane U, wire 40
+  75,   3,  41  ! Plane U, wire 41
+  76,   3,  42  ! Plane U, wire 42
+  77,   3,  43  ! Plane U, wire 43
+  78,   3,  44  ! Plane U, wire 44
+  79,   3,  45  ! Plane U, wire 45
+  48,   3,  46  ! Plane U, wire 46
+  49,   3,  47  ! Plane U, wire 47
+  50,   3,  48  ! Plane U, wire 48
+  51,   3,  49  ! Plane U, wire 49
+  52,   3,  50  ! Plane U, wire 50
+  53,   3,  51  ! Plane U, wire 51
+  54,   3,  52  ! Plane U, wire 52
+  55,   3,  53  ! Plane U, wire 53
+  56,   3,  54  ! Plane U, wire 54
+  57,   3,  55  ! Plane U, wire 55
+  58,   3,  56  ! Plane U, wire 56
+  59,   3,  57  ! Plane U, wire 57
+  60,   3,  58  ! Plane U, wire 58
+  61,   3,  59  ! Plane U, wire 59
+  62,   3,  60  ! Plane U, wire 60
+  32,   3,  61  ! Plane U, wire 61
+  33,   3,  62  ! Plane U, wire 62
+  34,   3,  63  ! Plane U, wire 63
+  35,   3,  64  ! Plane U, wire 64
+  36,   3,  65  ! Plane U, wire 65
+  37,   3,  66  ! Plane U, wire 66
+  38,   3,  67  ! Plane U, wire 67
+  39,   3,  68  ! Plane U, wire 68
+  40,   3,  69  ! Plane U, wire 69
+  41,   3,  70  ! Plane U, wire 70
+  42,   3,  71  ! Plane U, wire 71
+  43,   3,  72  ! Plane U, wire 72
+  44,   3,  73  ! Plane U, wire 73
+  45,   3,  74  ! Plane U, wire 74
+  46,   3,  75  ! Plane U, wire 75
+  47,   3,  76  ! Plane U, wire 76
+  16,   3,  77  ! Plane U, wire 77
+  17,   3,  78  ! Plane U, wire 78
+  18,   3,  79  ! Plane U, wire 79
+  19,   3,  80  ! Plane U, wire 80
+  20,   3,  81  ! Plane U, wire 81
+  21,   3,  82  ! Plane U, wire 82
+  22,   3,  83  ! Plane U, wire 83
+  23,   3,  84  ! Plane U, wire 84
+  24,   3,  85  ! Plane U, wire 85
+  25,   3,  86  ! Plane U, wire 86
+  26,   3,  87  ! Plane U, wire 87
+  27,   3,  88  ! Plane U, wire 88
+  28,   3,  89  ! Plane U, wire 89
+  29,   3,  90  ! Plane U, wire 90
+  30,   3,  91  ! Plane U, wire 91
+   0,   3,  92  ! Plane U, wire 92
+   1,   3,  93  ! Plane U, wire 93
+   2,   3,  94  ! Plane U, wire 94
+   3,   3,  95  ! Plane U, wire 95
+   4,   3,  96  ! Plane U, wire 96
+   5,   3,  97  ! Plane U, wire 97
+   6,   3,  98  ! Plane U, wire 98
+   7,   3,  99  ! Plane U, wire 99
+   8,   3, 100  ! Plane U, wire 100
+   9,   3, 101  ! Plane U, wire 101
+  10,   3, 102  ! Plane U, wire 102
+  11,   3, 103  ! Plane U, wire 103
+  12,   3, 104  ! Plane U, wire 104
+  13,   3, 105  ! Plane U, wire 105
+  14,   3, 106  ! Plane U, wire 106
+  15,   3, 107  ! Plane U, wire 107
+
+SLOT=7
+REFINDEX=0
+  96,   4,   1  ! Plane V, wire 1
+  97,   4,   2  ! Plane V, wire 2
+  98,   4,   3  ! Plane V, wire 3
+  99,   4,   4  ! Plane V, wire 4
+ 100,   4,   5  ! Plane V, wire 5
+ 101,   4,   6  ! Plane V, wire 6
+ 102,   4,   7  ! Plane V, wire 7
+ 103,   4,   8  ! Plane V, wire 8
+ 104,   4,   9  ! Plane V, wire 9
+ 105,   4,  10  ! Plane V, wire 10
+ 106,   4,  11  ! Plane V, wire 11
+ 107,   4,  12  ! Plane V, wire 12
+ 108,   4,  13  ! Plane V, wire 13
+ 109,   4,  14  ! Plane V, wire 14
+ 110,   6, 113  ! Plane X', wire 113
+ 112,   4,  15  ! Plane V, wire 15
+ 113,   4,  16  ! Plane V, wire 16
+ 114,   4,  17  ! Plane V, wire 17
+ 115,   4,  18  ! Plane V, wire 18
+ 116,   4,  19  ! Plane V, wire 19
+ 117,   4,  20  ! Plane V, wire 20
+ 118,   4,  21  ! Plane V, wire 21
+ 119,   4,  22  ! Plane V, wire 22
+ 120,   4,  23  ! Plane V, wire 23
+ 121,   4,  24  ! Plane V, wire 24
+ 122,   4,  25  ! Plane V, wire 25
+ 123,   4,  26  ! Plane V, wire 26
+ 124,   4,  27  ! Plane V, wire 27
+ 125,   4,  28  ! Plane V, wire 28
+ 126,   4,  29  ! Plane V, wire 29
+
+SLOT=8
+REFINDEX=0
+ 127,1000,   0,   1
+   0,   4,  30  ! Plane V, wire 30
+   1,   4,  31  ! Plane V, wire 31
+   2,   4,  32  ! Plane V, wire 32
+   3,   4,  33  ! Plane V, wire 33
+   4,   4,  34  ! Plane V, wire 34
+   5,   4,  35  ! Plane V, wire 35
+   6,   4,  36  ! Plane V, wire 36
+   7,   4,  37  ! Plane V, wire 37
+   8,   4,  38  ! Plane V, wire 38
+   9,   4,  39  ! Plane V, wire 39
+  10,   4,  40  ! Plane V, wire 40
+  11,   4,  41  ! Plane V, wire 41
+  12,   4,  42  ! Plane V, wire 42
+  13,   4,  43  ! Plane V, wire 43
+  14,   4,  44  ! Plane V, wire 44
+  15,   4,  45  ! Plane V, wire 45
+  16,   4,  46  ! Plane V, wire 46
+  17,   4,  47  ! Plane V, wire 47
+  18,   4,  48  ! Plane V, wire 48
+  19,   4,  49  ! Plane V, wire 49
+  20,   4,  50  ! Plane V, wire 50
+  21,   4,  51  ! Plane V, wire 51
+  22,   4,  52  ! Plane V, wire 52
+  23,   4,  53  ! Plane V, wire 53
+  24,   4,  54  ! Plane V, wire 54
+  25,   4,  55  ! Plane V, wire 55
+  26,   4,  56  ! Plane V, wire 56
+  27,   4,  57  ! Plane V, wire 57
+  28,   4,  58  ! Plane V, wire 58
+  29,   4,  59  ! Plane V, wire 59
+  30,   4,  60  ! Plane V, wire 60
+  32,   4,  61  ! Plane V, wire 61
+  33,   4,  62  ! Plane V, wire 62
+  34,   4,  63  ! Plane V, wire 63
+  35,   4,  64  ! Plane V, wire 64
+  36,   4,  65  ! Plane V, wire 65
+  37,   4,  66  ! Plane V, wire 66
+  38,   4,  67  ! Plane V, wire 67
+  39,   4,  68  ! Plane V, wire 68
+  40,   4,  69  ! Plane V, wire 69
+  41,   4,  70  ! Plane V, wire 70
+  42,   4,  71  ! Plane V, wire 71
+  43,   4,  72  ! Plane V, wire 72
+  44,   4,  73  ! Plane V, wire 73
+  45,   4,  74  ! Plane V, wire 74
+  46,   4,  75  ! Plane V, wire 75
+  47,   4,  76  ! Plane V, wire 76
+  48,   4,  77  ! Plane V, wire 77
+  49,   4,  78  ! Plane V, wire 78
+  50,   4,  79  ! Plane V, wire 79
+  51,   4,  80  ! Plane V, wire 80
+  52,   4,  81  ! Plane V, wire 81
+  53,   4,  82  ! Plane V, wire 82
+  54,   4,  83  ! Plane V, wire 83
+  55,   4,  84  ! Plane V, wire 84
+  56,   4,  85  ! Plane V, wire 85
+  57,   4,  86  ! Plane V, wire 86
+  58,   4,  87  ! Plane V, wire 87
+  59,   4,  88  ! Plane V, wire 88
+  60,   4,  89  ! Plane V, wire 89
+  61,   4,  90  ! Plane V, wire 90
+  62,   4,  91  ! Plane V, wire 91
+
+SLOT=4
+REFINDEX=0
+  96,   4,  92  ! Plane V, wire 92
+  97,   4,  93  ! Plane V, wire 93
+  98,   4,  94  ! Plane V, wire 94
+  99,   4,  95  ! Plane V, wire 95
+ 100,   4,  96  ! Plane V, wire 96
+ 101,   4,  97  ! Plane V, wire 97
+ 102,   4,  98  ! Plane V, wire 98
+ 103,   4,  99  ! Plane V, wire 99
+ 104,   4, 100  ! Plane V, wire 100
+ 105,   4, 101  ! Plane V, wire 101
+ 106,   4, 102  ! Plane V, wire 102
+ 107,   4, 103  ! Plane V, wire 103
+ 108,   4, 104  ! Plane V, wire 104
+ 109,   4, 105  ! Plane V, wire 105
+ 110,   4, 106  ! Plane V, wire 106
+ 111,   4, 107  ! Plane V, wire 107
+  80,   1,   1  ! Plane X, wire 1
+  81,   1,   2  ! Plane X, wire 2
+  82,   1,   3  ! Plane X, wire 3
+  83,   1,   4  ! Plane X, wire 4
+  84,   1,   5  ! Plane X, wire 5
+  85,   1,   6  ! Plane X, wire 6
+  86,   1,   7  ! Plane X, wire 7
+  87,   1,   8  ! Plane X, wire 8
+  88,   1,   9  ! Plane X, wire 9
+  89,   1,  10  ! Plane X, wire 10
+  90,   1,  11  ! Plane X, wire 11
+  91,   1,  12  ! Plane X, wire 12
+  92,   1,  13  ! Plane X, wire 13
+  93,   1,  14  ! Plane X, wire 14
+  94,   1,  15  ! Plane X, wire 15
+  95,   1,  16  ! Plane X, wire 16
+  64,   1,  17  ! Plane X, wire 17
+  65,   1,  18  ! Plane X, wire 18
+  66,   1,  19  ! Plane X, wire 19
+  67,   1,  20  ! Plane X, wire 20
+  68,   1,  21  ! Plane X, wire 21
+  69,   1,  22  ! Plane X, wire 22
+  70,   1,  23  ! Plane X, wire 23
+  71,   1,  24  ! Plane X, wire 24
+  72,   1,  25  ! Plane X, wire 25
+  73,   1,  26  ! Plane X, wire 26
+  74,   1,  27  ! Plane X, wire 27
+  75,   1,  28  ! Plane X, wire 28
+  76,   1,  29  ! Plane X, wire 29
+  77,   1,  30  ! Plane X, wire 30
+  78,   1,  31  ! Plane X, wire 31
+  79,   1,  32  ! Plane X, wire 32
+  48,   1,  33  ! Plane X, wire 33
+  49,   1,  34  ! Plane X, wire 34
+  50,   1,  35  ! Plane X, wire 35
+  51,   1,  36  ! Plane X, wire 36
+  52,   1,  37  ! Plane X, wire 37
+  53,   1,  38  ! Plane X, wire 38
+  54,   1,  39  ! Plane X, wire 39
+  55,   1,  40  ! Plane X, wire 40
+  56,   1,  41  ! Plane X, wire 41
+  57,   1,  42  ! Plane X, wire 42
+  58,   1,  43  ! Plane X, wire 43
+  59,   1,  44  ! Plane X, wire 44
+  60,   1,  45  ! Plane X, wire 45
+  61,   1,  46  ! Plane X, wire 46
+  62,   1,  47  ! Plane X, wire 47
+  63,   1,  48  ! Plane X, wire 48
+  32,   1,  49  ! Plane X, wire 49
+  33,   1,  50  ! Plane X, wire 50
+  34,   1,  51  ! Plane X, wire 51
+  35,   1,  52  ! Plane X, wire 52
+  36,   1,  53  ! Plane X, wire 53
+  37,   1,  54  ! Plane X, wire 54
+  38,   1,  55  ! Plane X, wire 55
+  39,   1,  56  ! Plane X, wire 56
+  40,   1,  57  ! Plane X, wire 57
+  41,   1,  58  ! Plane X, wire 58
+  42,   1,  59  ! Plane X, wire 59
+  43,   1,  60  ! Plane X, wire 60
+  44,   1,  61  ! Plane X, wire 61
+  45,   1,  62  ! Plane X, wire 62
+  46,   1,  63  ! Plane X, wire 63
+  47,   1,  64  ! Plane X, wire 64
+  16,   1,  65  ! Plane X, wire 65
+  17,   1,  66  ! Plane X, wire 66
+  18,   1,  67  ! Plane X, wire 67
+  19,   1,  68  ! Plane X, wire 68
+  20,   1,  69  ! Plane X, wire 69
+  21,   1,  70  ! Plane X, wire 70
+  22,   1,  71  ! Plane X, wire 71
+  23,   1,  72  ! Plane X, wire 72
+  24,   1,  73  ! Plane X, wire 73
+  25,   1,  74  ! Plane X, wire 74
+  26,   1,  75  ! Plane X, wire 75
+  27,   1,  76  ! Plane X, wire 76
+  28,   1,  77  ! Plane X, wire 77
+  29,   1,  78  ! Plane X, wire 78
+  30,   1,  79  ! Plane X, wire 79
+  31,   1,  80  ! Plane X, wire 80
+   0,   1,  81  ! Plane X, wire 81
+   1,   1,  82  ! Plane X, wire 82
+   2,   1,  83  ! Plane X, wire 83
+   3,   1,  84  ! Plane X, wire 84
+   4,   1,  85  ! Plane X, wire 85
+   5,   1,  86  ! Plane X, wire 86
+   6,   1,  87  ! Plane X, wire 87
+   7,   1,  88  ! Plane X, wire 88
+   8,   1,  89  ! Plane X, wire 89
+   9,   1,  90  ! Plane X, wire 90
+  10,   1,  91  ! Plane X, wire 91
+  11,   1,  92  ! Plane X, wire 92
+  12,   1,  93  ! Plane X, wire 93
+  13,   1,  94  ! Plane X, wire 94
+  14,   1,  95  ! Plane X, wire 95
+  15,   1,  96  ! Plane X, wire 96
+
+SLOT=7
+REFINDEX=0
+  80,   1,  97  ! Plane X, wire 97
+  81,   1,  98  ! Plane X, wire 98
+  82,   1,  99  ! Plane X, wire 99
+  83,   1, 100  ! Plane X, wire 100
+  84,   1, 101  ! Plane X, wire 101
+  85,   1, 102  ! Plane X, wire 102
+  86,   1, 103  ! Plane X, wire 103
+  87,   1, 104  ! Plane X, wire 104
+  88,   1, 105  ! Plane X, wire 105
+  89,   1, 106  ! Plane X, wire 106
+  90,   1, 107  ! Plane X, wire 107
+  91,   1, 108  ! Plane X, wire 108
+  92,   1, 109  ! Plane X, wire 109
+  93,   1, 110  ! Plane X, wire 110
+  94,   1, 111  ! Plane X, wire 111
+  95,   1, 112  ! Plane X, wire 112
+
+SLOT=4
+REFINDEX=0
+ 112,   6,   1  ! Plane X', wire 1
+ 113,   6,   2  ! Plane X', wire 2
+ 114,   6,   3  ! Plane X', wire 3
+ 115,   6,   4  ! Plane X', wire 4
+ 116,   6,   5  ! Plane X', wire 5
+ 117,   6,   6  ! Plane X', wire 6
+ 118,   6,   7  ! Plane X', wire 7
+ 119,   6,   8  ! Plane X', wire 8
+ 120,   6,   9  ! Plane X', wire 9
+ 121,   6,  10  ! Plane X', wire 10
+ 122,   6,  11  ! Plane X', wire 11
+ 123,   6,  12  ! Plane X', wire 12
+ 124,   6,  13  ! Plane X', wire 13
+ 125,   6,  14  ! Plane X', wire 14
+ 126,   6,  15  ! Plane X', wire 15
+ 127,   6,  16  ! Plane X', wire 16
+
+SLOT=5
+REFINDEX=0
+ 112,   6,  17  ! Plane X', wire 17
+ 113,   6,  18  ! Plane X', wire 18
+ 114,   6,  19  ! Plane X', wire 19
+ 115,   6,  20  ! Plane X', wire 20
+ 116,   6,  21  ! Plane X', wire 21
+ 117,   6,  22  ! Plane X', wire 22
+ 118,   6,  23  ! Plane X', wire 23
+ 119,   6,  24  ! Plane X', wire 24
+ 120,   6,  25  ! Plane X', wire 25
+ 121,   6,  26  ! Plane X', wire 26
+ 122,   6,  27  ! Plane X', wire 27
+ 123,   6,  28  ! Plane X', wire 28
+ 124,   6,  29  ! Plane X', wire 29
+ 125,   6,  30  ! Plane X', wire 30
+ 126,   6,  31  ! Plane X', wire 31
+ 127,   6,  32  ! Plane X', wire 32
+
+SLOT=7
+REFINDEX=0
+   0,   6,  33  ! Plane X', wire 33
+   1,   6,  34  ! Plane X', wire 34
+   2,   6,  35  ! Plane X', wire 35
+   3,   6,  36  ! Plane X', wire 36
+   4,   6,  37  ! Plane X', wire 37
+   5,   6,  38  ! Plane X', wire 38
+   6,   6,  39  ! Plane X', wire 39
+   7,   6,  40  ! Plane X', wire 40
+   8,   6,  41  ! Plane X', wire 41
+   9,   6,  42  ! Plane X', wire 42
+  10,   6,  43  ! Plane X', wire 43
+  11,   6,  44  ! Plane X', wire 44
+  12,   6,  45  ! Plane X', wire 45
+  13,   6,  46  ! Plane X', wire 46
+  14,   6,  47  ! Plane X', wire 47
+  15,   6,  48  ! Plane X', wire 48
+  16,   6,  49  ! Plane X', wire 49
+  17,   6,  50  ! Plane X', wire 50
+  18,   6,  51  ! Plane X', wire 51
+  19,   6,  52  ! Plane X', wire 52
+  20,   6,  53  ! Plane X', wire 53
+  21,   6,  54  ! Plane X', wire 54
+  22,   6,  55  ! Plane X', wire 55
+  23,   6,  56  ! Plane X', wire 56
+  24,   6,  57  ! Plane X', wire 57
+  25,   6,  58  ! Plane X', wire 58
+  26,   6,  59  ! Plane X', wire 59
+  27,   6,  60  ! Plane X', wire 60
+  28,   6,  61  ! Plane X', wire 61
+  29,   6,  62  ! Plane X', wire 62
+  30,   6,  63  ! Plane X', wire 63
+  31,   6,  64  ! Plane X', wire 64
+  32,   6,  65  ! Plane X', wire 65
+  33,   6,  66  ! Plane X', wire 66
+  34,   6,  67  ! Plane X', wire 67
+  35,   6,  68  ! Plane X', wire 68
+  36,   6,  69  ! Plane X', wire 69
+  37,   6,  70  ! Plane X', wire 70
+  38,   6,  71  ! Plane X', wire 71
+  39,   6,  72  ! Plane X', wire 72
+  40,   6,  73  ! Plane X', wire 73
+  41,   6,  74  ! Plane X', wire 74
+  42,   6,  75  ! Plane X', wire 75
+  43,   6,  76  ! Plane X', wire 76
+  44,   6,  77  ! Plane X', wire 77
+  45,   6,  78  ! Plane X', wire 78
+  46,   6,  79  ! Plane X', wire 79
+  47,   6,  80  ! Plane X', wire 80
+  48,   6,  81  ! Plane X', wire 81
+  49,   6,  82  ! Plane X', wire 82
+  50,   6,  83  ! Plane X', wire 83
+  51,   6,  84  ! Plane X', wire 84
+  52,   6,  85  ! Plane X', wire 85
+  53,   6,  86  ! Plane X', wire 86
+  54,   6,  87  ! Plane X', wire 87
+  55,   6,  88  ! Plane X', wire 88
+  56,   6,  89  ! Plane X', wire 89
+  57,   6,  90  ! Plane X', wire 90
+  58,   6,  91  ! Plane X', wire 91
+  59,   6,  92  ! Plane X', wire 92
+  60,   6,  93  ! Plane X', wire 93
+  61,   6,  94  ! Plane X', wire 94
+  62,   6,  95  ! Plane X', wire 95
+  63,   6,  96  ! Plane X', wire 96
+  64,   6,  97  ! Plane X', wire 97
+  65,   6,  98  ! Plane X', wire 98
+  66,   6,  99  ! Plane X', wire 99
+  67,   6, 100  ! Plane X', wire 100
+  68,   6, 101  ! Plane X', wire 101
+  69,   6, 102  ! Plane X', wire 102
+  70,   6, 103  ! Plane X', wire 103
+  71,   6, 104  ! Plane X', wire 104
+  72,   6, 105  ! Plane X', wire 105
+  73,   6, 106  ! Plane X', wire 106
+  74,   6, 107  ! Plane X', wire 107
+  75,   6, 108  ! Plane X', wire 108
+  76,   6, 109  ! Plane X', wire 109
+  77,   6, 110  ! Plane X', wire 110
+  78,   6, 111  ! Plane X', wire 111
+  79,   6, 112  ! Plane X', wire 112
+
+SLOT=8
+REFINDEX=0
+  64,   2,   1  ! Plane Y, wire 1
+  65,   2,   2  ! Plane Y, wire 2
+  66,   2,   3  ! Plane Y, wire 3
+  67,   2,   4  ! Plane Y, wire 4
+  68,   2,   5  ! Plane Y, wire 5
+  69,   2,   6  ! Plane Y, wire 6
+  70,   2,   7  ! Plane Y, wire 7
+  71,   2,   8  ! Plane Y, wire 8
+  72,   2,   9  ! Plane Y, wire 9
+  73,   2,  10  ! Plane Y, wire 10
+  74,   2,  11  ! Plane Y, wire 11
+  75,   2,  12  ! Plane Y, wire 12
+  76,   2,  13  ! Plane Y, wire 13
+  80,   2,  14  ! Plane Y, wire 14
+  81,   2,  15  ! Plane Y, wire 15
+  82,   2,  16  ! Plane Y, wire 16
+  83,   2,  17  ! Plane Y, wire 17
+  84,   2,  18  ! Plane Y, wire 18
+  85,   2,  19  ! Plane Y, wire 19
+  86,   2,  20  ! Plane Y, wire 20
+  87,   2,  21  ! Plane Y, wire 21
+  88,   2,  22  ! Plane Y, wire 22
+  89,   2,  23  ! Plane Y, wire 23
+  90,   2,  24  ! Plane Y, wire 24
+  91,   2,  25  ! Plane Y, wire 25
+  92,   2,  26  ! Plane Y, wire 26
+  96,   2,  27  ! Plane Y, wire 27
+  97,   2,  28  ! Plane Y, wire 28
+  98,   2,  29  ! Plane Y, wire 29
+  99,   2,  30  ! Plane Y, wire 30
+ 100,   2,  31  ! Plane Y, wire 31
+ 101,   2,  32  ! Plane Y, wire 32
+ 102,   2,  33  ! Plane Y, wire 33
+ 103,   2,  34  ! Plane Y, wire 34
+ 104,   2,  35  ! Plane Y, wire 35
+ 105,   2,  36  ! Plane Y, wire 36
+ 106,   2,  37  ! Plane Y, wire 37
+ 107,   2,  38  ! Plane Y, wire 38
+ 108,   2,  39  ! Plane Y, wire 39
+ 112,   2,  40  ! Plane Y, wire 40
+ 113,   2,  41  ! Plane Y, wire 41
+ 114,   2,  42  ! Plane Y, wire 42
+ 115,   2,  43  ! Plane Y, wire 43
+ 116,   2,  44  ! Plane Y, wire 44
+ 117,   2,  45  ! Plane Y, wire 45
+ 118,   2,  46  ! Plane Y, wire 46
+ 119,   2,  47  ! Plane Y, wire 47
+ 120,   2,  48  ! Plane Y, wire 48
+ 121,   2,  49  ! Plane Y, wire 49
+ 122,   2,  50  ! Plane Y, wire 50
+ 123,   2,  51  ! Plane Y, wire 51
+ 124,   2,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   2
+   0,   5,   1  ! Plane Y', wire 1
+   1,   5,   2  ! Plane Y', wire 2
+   2,   5,   3  ! Plane Y', wire 3
+   3,   5,   4  ! Plane Y', wire 4
+   4,   5,   5  ! Plane Y', wire 5
+   5,   5,   6  ! Plane Y', wire 6
+   6,   5,   7  ! Plane Y', wire 7
+   7,   5,   8  ! Plane Y', wire 8
+   8,   5,   9  ! Plane Y', wire 9
+   9,   5,  10  ! Plane Y', wire 10
+  10,   5,  11  ! Plane Y', wire 11
+  11,   5,  12  ! Plane Y', wire 12
+  12,   5,  13  ! Plane Y', wire 13
+  16,   5,  14  ! Plane Y', wire 14
+  17,   5,  15  ! Plane Y', wire 15
+  18,   5,  16  ! Plane Y', wire 16
+  19,   5,  17  ! Plane Y', wire 17
+  20,   5,  18  ! Plane Y', wire 18
+  21,   5,  19  ! Plane Y', wire 19
+  22,   5,  20  ! Plane Y', wire 20
+  23,   5,  21  ! Plane Y', wire 21
+  24,   5,  22  ! Plane Y', wire 22
+  25,   5,  23  ! Plane Y', wire 23
+  26,   5,  24  ! Plane Y', wire 24
+  27,   5,  25  ! Plane Y', wire 25
+  28,   5,  26  ! Plane Y', wire 26
+  32,   5,  27  ! Plane Y', wire 27
+  33,   5,  28  ! Plane Y', wire 28
+  34,   5,  29  ! Plane Y', wire 29
+  35,   5,  30  ! Plane Y', wire 30
+  36,   5,  31  ! Plane Y', wire 31
+  37,   5,  32  ! Plane Y', wire 32
+  38,   5,  33  ! Plane Y', wire 33
+  39,   5,  34  ! Plane Y', wire 34
+  40,   5,  35  ! Plane Y', wire 35
+  41,   5,  36  ! Plane Y', wire 36
+  42,   5,  37  ! Plane Y', wire 37
+  43,   5,  38  ! Plane Y', wire 38
+  44,   5,  39  ! Plane Y', wire 39
+  48,   5,  40  ! Plane Y', wire 40
+  49,   5,  41  ! Plane Y', wire 41
+  50,   5,  42  ! Plane Y', wire 42
+  51,   5,  43  ! Plane Y', wire 43
+  52,   5,  44  ! Plane Y', wire 44
+  53,   5,  45  ! Plane Y', wire 45
+  54,   5,  46  ! Plane Y', wire 46
+  55,   5,  47  ! Plane Y', wire 47
+  56,   5,  48  ! Plane Y', wire 48
+  57,   5,  49  ! Plane Y', wire 49
+  58,   5,  50  ! Plane Y', wire 50
+  59,   5,  51  ! Plane Y', wire 51
+  60,   5,  52  ! Plane Y', wire 52
+
+SLOT=16
+REFINDEX=0
+  96,   9,   1  ! Plane U, wire 1
+  97,   9,   2  ! Plane U, wire 2
+  98,   9,   3  ! Plane U, wire 3
+  99,   9,   4  ! Plane U, wire 4
+ 100,   9,   5  ! Plane U, wire 5
+ 101,   9,   6  ! Plane U, wire 6
+ 102,   9,   7  ! Plane U, wire 7
+ 103,   9,   8  ! Plane U, wire 8
+ 104,   9,   9  ! Plane U, wire 9
+ 105,   9,  10  ! Plane U, wire 10
+ 106,   9,  11  ! Plane U, wire 11
+ 107,   9,  12  ! Plane U, wire 12
+ 108,   9,  13  ! Plane U, wire 13
+ 109,   9,  14  ! Plane U, wire 14
+ 110,   7, 113  ! Plane X, wire 113
+ 112,   9,  15  ! Plane U, wire 15
+ 113,   9,  16  ! Plane U, wire 16
+ 114,   9,  17  ! Plane U, wire 17
+ 115,   9,  18  ! Plane U, wire 18
+ 116,   9,  19  ! Plane U, wire 19
+ 117,   9,  20  ! Plane U, wire 20
+ 118,   9,  21  ! Plane U, wire 21
+ 119,   9,  22  ! Plane U, wire 22
+ 120,   9,  23  ! Plane U, wire 23
+ 121,   9,  24  ! Plane U, wire 24
+ 122,   9,  25  ! Plane U, wire 25
+ 123,   9,  26  ! Plane U, wire 26
+ 124,   9,  27  ! Plane U, wire 27
+ 125,   9,  28  ! Plane U, wire 28
+ 126,   9,  29  ! Plane U, wire 29
+
+SLOT=14
+REFINDEX=0
+   0,   9,  30  ! Plane U, wire 30
+   1,   9,  31  ! Plane U, wire 31
+   2,   9,  32  ! Plane U, wire 32
+   3,   9,  33  ! Plane U, wire 33
+   4,   9,  34  ! Plane U, wire 34
+   5,   9,  35  ! Plane U, wire 35
+   6,   9,  36  ! Plane U, wire 36
+   7,   9,  37  ! Plane U, wire 37
+   8,   9,  38  ! Plane U, wire 38
+   9,   9,  39  ! Plane U, wire 39
+  10,   9,  40  ! Plane U, wire 40
+  11,   9,  41  ! Plane U, wire 41
+  12,   9,  42  ! Plane U, wire 42
+  13,   9,  43  ! Plane U, wire 43
+  14,   9,  44  ! Plane U, wire 44
+  15,   9,  45  ! Plane U, wire 45
+  32,   9,  46  ! Plane U, wire 46
+  33,   9,  47  ! Plane U, wire 47
+  34,   9,  48  ! Plane U, wire 48
+  35,   9,  49  ! Plane U, wire 49
+  36,   9,  50  ! Plane U, wire 50
+  37,   9,  51  ! Plane U, wire 51
+  38,   9,  52  ! Plane U, wire 52
+  39,   9,  53  ! Plane U, wire 53
+  40,   9,  54  ! Plane U, wire 54
+  41,   9,  55  ! Plane U, wire 55
+  42,   9,  56  ! Plane U, wire 56
+  43,   9,  57  ! Plane U, wire 57
+  44,   9,  58  ! Plane U, wire 58
+  45,   9,  59  ! Plane U, wire 59
+  46,   9,  60  ! Plane U, wire 60
+  48,   9,  61  ! Plane U, wire 61
+  49,   9,  62  ! Plane U, wire 62
+  50,   9,  63  ! Plane U, wire 63
+  51,   9,  64  ! Plane U, wire 64
+  52,   9,  65  ! Plane U, wire 65
+  53,   9,  66  ! Plane U, wire 66
+  54,   9,  67  ! Plane U, wire 67
+  55,   9,  68  ! Plane U, wire 68
+  56,   9,  69  ! Plane U, wire 69
+  57,   9,  70  ! Plane U, wire 70
+  58,   9,  71  ! Plane U, wire 71
+  59,   9,  72  ! Plane U, wire 72
+  60,   9,  73  ! Plane U, wire 73
+  61,   9,  74  ! Plane U, wire 74
+  62,   9,  75  ! Plane U, wire 75
+  63,   9,  76  ! Plane U, wire 76
+  64,   9,  77  ! Plane U, wire 77
+  65,   9,  78  ! Plane U, wire 78
+  66,   9,  79  ! Plane U, wire 79
+  67,   9,  80  ! Plane U, wire 80
+  68,   9,  81  ! Plane U, wire 81
+  69,   9,  82  ! Plane U, wire 82
+  70,   9,  83  ! Plane U, wire 83
+  71,   9,  84  ! Plane U, wire 84
+  72,   9,  85  ! Plane U, wire 85
+  73,   9,  86  ! Plane U, wire 86
+  74,   9,  87  ! Plane U, wire 87
+  75,   9,  88  ! Plane U, wire 88
+  76,   9,  89  ! Plane U, wire 89
+  77,   9,  90  ! Plane U, wire 90
+  78,   9,  91  ! Plane U, wire 91
+  80,   9,  92  ! Plane U, wire 92
+  81,   9,  93  ! Plane U, wire 93
+  82,   9,  94  ! Plane U, wire 94
+  83,   9,  95  ! Plane U, wire 95
+  84,   9,  96  ! Plane U, wire 96
+  85,   9,  97  ! Plane U, wire 97
+  86,   9,  98  ! Plane U, wire 98
+  87,   9,  99  ! Plane U, wire 99
+  88,   9, 100  ! Plane U, wire 100
+  89,   9, 101  ! Plane U, wire 101
+  90,   9, 102  ! Plane U, wire 102
+  91,   9, 103  ! Plane U, wire 103
+  92,   9, 104  ! Plane U, wire 104
+  93,   9, 105  ! Plane U, wire 105
+  94,   9, 106  ! Plane U, wire 106
+  95,   9, 107  ! Plane U, wire 107
+
+SLOT=16
+REFINDEX=0
+  80,  10,   1  ! Plane V, wire 1
+  81,  10,   2  ! Plane V, wire 2
+  82,  10,   3  ! Plane V, wire 3
+  83,  10,   4  ! Plane V, wire 4
+  84,  10,   5  ! Plane V, wire 5
+  85,  10,   6  ! Plane V, wire 6
+  86,  10,   7  ! Plane V, wire 7
+  87,  10,   8  ! Plane V, wire 8
+  88,  10,   9  ! Plane V, wire 9
+  89,  10,  10  ! Plane V, wire 10
+  90,  10,  11  ! Plane V, wire 11
+  91,  10,  12  ! Plane V, wire 12
+  92,  10,  13  ! Plane V, wire 13
+  93,  10,  14  ! Plane V, wire 14
+  94,  12, 113  ! Plane X', wire 113
+
+SLOT=14
+REFINDEX=0
+  96,  10,  15  ! Plane V, wire 15
+  97,  10,  16  ! Plane V, wire 16
+  98,  10,  17  ! Plane V, wire 17
+  99,  10,  18  ! Plane V, wire 18
+ 100,  10,  19  ! Plane V, wire 19
+ 101,  10,  20  ! Plane V, wire 20
+ 102,  10,  21  ! Plane V, wire 21
+ 103,  10,  22  ! Plane V, wire 22
+ 104,  10,  23  ! Plane V, wire 23
+ 105,  10,  24  ! Plane V, wire 24
+ 106,  10,  25  ! Plane V, wire 25
+ 107,  10,  26  ! Plane V, wire 26
+ 108,  10,  27  ! Plane V, wire 27
+ 109,  10,  28  ! Plane V, wire 28
+ 110,  10,  29  ! Plane V, wire 29
+ 112,  10,  30  ! Plane V, wire 30
+ 113,  10,  31  ! Plane V, wire 31
+ 114,  10,  32  ! Plane V, wire 32
+ 115,  10,  33  ! Plane V, wire 33
+ 116,  10,  34  ! Plane V, wire 34
+ 117,  10,  35  ! Plane V, wire 35
+ 118,  10,  36  ! Plane V, wire 36
+ 119,  10,  37  ! Plane V, wire 37
+ 120,  10,  38  ! Plane V, wire 38
+ 121,  10,  39  ! Plane V, wire 39
+ 122,  10,  40  ! Plane V, wire 40
+ 123,  10,  41  ! Plane V, wire 41
+ 124,  10,  42  ! Plane V, wire 42
+ 125,  10,  43  ! Plane V, wire 43
+ 126,  10,  44  ! Plane V, wire 44
+ 127,  10,  45  ! Plane V, wire 45
+
+SLOT=17
+REFINDEX=0
+ 127,1000,   0,   3
+   0,  10,  46  ! Plane V, wire 46
+   1,  10,  47  ! Plane V, wire 47
+   2,  10,  48  ! Plane V, wire 48
+   3,  10,  49  ! Plane V, wire 49
+   4,  10,  50  ! Plane V, wire 50
+   5,  10,  51  ! Plane V, wire 51
+   6,  10,  52  ! Plane V, wire 52
+   7,  10,  53  ! Plane V, wire 53
+   8,  10,  54  ! Plane V, wire 54
+   9,  10,  55  ! Plane V, wire 55
+  10,  10,  56  ! Plane V, wire 56
+  11,  10,  57  ! Plane V, wire 57
+  12,  10,  58  ! Plane V, wire 58
+  13,  10,  59  ! Plane V, wire 59
+  14,  10,  60  ! Plane V, wire 60
+  16,  10,  61  ! Plane V, wire 61
+  17,  10,  62  ! Plane V, wire 62
+  18,  10,  63  ! Plane V, wire 63
+  19,  10,  64  ! Plane V, wire 64
+  20,  10,  65  ! Plane V, wire 65
+  21,  10,  66  ! Plane V, wire 66
+  22,  10,  67  ! Plane V, wire 67
+  23,  10,  68  ! Plane V, wire 68
+  24,  10,  69  ! Plane V, wire 69
+  25,  10,  70  ! Plane V, wire 70
+  26,  10,  71  ! Plane V, wire 71
+  27,  10,  72  ! Plane V, wire 72
+  28,  10,  73  ! Plane V, wire 73
+  29,  10,  74  ! Plane V, wire 74
+  30,  10,  75  ! Plane V, wire 75
+  31,  10,  76  ! Plane V, wire 76
+  32,  10,  77  ! Plane V, wire 77
+  33,  10,  78  ! Plane V, wire 78
+  34,  10,  79  ! Plane V, wire 79
+  35,  10,  80  ! Plane V, wire 80
+  36,  10,  81  ! Plane V, wire 81
+  37,  10,  82  ! Plane V, wire 82
+  38,  10,  83  ! Plane V, wire 83
+  39,  10,  84  ! Plane V, wire 84
+  40,  10,  85  ! Plane V, wire 85
+  41,  10,  86  ! Plane V, wire 86
+  42,  10,  87  ! Plane V, wire 87
+  43,  10,  88  ! Plane V, wire 88
+  44,  10,  89  ! Plane V, wire 89
+  45,  10,  90  ! Plane V, wire 90
+  46,  10,  91  ! Plane V, wire 91
+  48,  10,  92  ! Plane V, wire 92
+  49,  10,  93  ! Plane V, wire 93
+  50,  10,  94  ! Plane V, wire 94
+  51,  10,  95  ! Plane V, wire 95
+  52,  10,  96  ! Plane V, wire 96
+  53,  10,  97  ! Plane V, wire 97
+  54,  10,  98  ! Plane V, wire 98
+  55,  10,  99  ! Plane V, wire 99
+  56,  10, 100  ! Plane V, wire 100
+  57,  10, 101  ! Plane V, wire 101
+  58,  10, 102  ! Plane V, wire 102
+  59,  10, 103  ! Plane V, wire 103
+  60,  10, 104  ! Plane V, wire 104
+  61,  10, 105  ! Plane V, wire 105
+  62,  10, 106  ! Plane V, wire 106
+  63,  10, 107  ! Plane V, wire 107
+
+SLOT=13
+REFINDEX=0
+   0,   7,   1  ! Plane X, wire 1
+   1,   7,   2  ! Plane X, wire 2
+   2,   7,   3  ! Plane X, wire 3
+   3,   7,   4  ! Plane X, wire 4
+   4,   7,   5  ! Plane X, wire 5
+   5,   7,   6  ! Plane X, wire 6
+   6,   7,   7  ! Plane X, wire 7
+   7,   7,   8  ! Plane X, wire 8
+   8,   7,   9  ! Plane X, wire 9
+   9,   7,  10  ! Plane X, wire 10
+  10,   7,  11  ! Plane X, wire 11
+  11,   7,  12  ! Plane X, wire 12
+  12,   7,  13  ! Plane X, wire 13
+  13,   7,  14  ! Plane X, wire 14
+  14,   7,  15  ! Plane X, wire 15
+  15,   7,  16  ! Plane X, wire 16
+  16,   7,  17  ! Plane X, wire 17
+  17,   7,  18  ! Plane X, wire 18
+  18,   7,  19  ! Plane X, wire 19
+  19,   7,  20  ! Plane X, wire 20
+  20,   7,  21  ! Plane X, wire 21
+  21,   7,  22  ! Plane X, wire 22
+  22,   7,  23  ! Plane X, wire 23
+  23,   7,  24  ! Plane X, wire 24
+  24,   7,  25  ! Plane X, wire 25
+  25,   7,  26  ! Plane X, wire 26
+  26,   7,  27  ! Plane X, wire 27
+  27,   7,  28  ! Plane X, wire 28
+  28,   7,  29  ! Plane X, wire 29
+  29,   7,  30  ! Plane X, wire 30
+  30,   7,  31  ! Plane X, wire 31
+  31,   7,  32  ! Plane X, wire 32
+  32,   7,  33  ! Plane X, wire 33
+  33,   7,  34  ! Plane X, wire 34
+  34,   7,  35  ! Plane X, wire 35
+  35,   7,  36  ! Plane X, wire 36
+  36,   7,  37  ! Plane X, wire 37
+  37,   7,  38  ! Plane X, wire 38
+  38,   7,  39  ! Plane X, wire 39
+  39,   7,  40  ! Plane X, wire 40
+  40,   7,  41  ! Plane X, wire 41
+  41,   7,  42  ! Plane X, wire 42
+  42,   7,  43  ! Plane X, wire 43
+  43,   7,  44  ! Plane X, wire 44
+  44,   7,  45  ! Plane X, wire 45
+  45,   7,  46  ! Plane X, wire 46
+  46,   7,  47  ! Plane X, wire 47
+  47,   7,  48  ! Plane X, wire 48
+  48,   7,  49  ! Plane X, wire 49
+  49,   7,  50  ! Plane X, wire 50
+  50,   7,  51  ! Plane X, wire 51
+  51,   7,  52  ! Plane X, wire 52
+  52,   7,  53  ! Plane X, wire 53
+  53,   7,  54  ! Plane X, wire 54
+  54,   7,  55  ! Plane X, wire 55
+  55,   7,  56  ! Plane X, wire 56
+  56,   7,  57  ! Plane X, wire 57
+  57,   7,  58  ! Plane X, wire 58
+  58,   7,  59  ! Plane X, wire 59
+  59,   7,  60  ! Plane X, wire 60
+  60,   7,  61  ! Plane X, wire 61
+  61,   7,  62  ! Plane X, wire 62
+  62,   7,  63  ! Plane X, wire 63
+  63,   7,  64  ! Plane X, wire 64
+  64,   7,  65  ! Plane X, wire 65
+  65,   7,  66  ! Plane X, wire 66
+  66,   7,  67  ! Plane X, wire 67
+  67,   7,  68  ! Plane X, wire 68
+  68,   7,  69  ! Plane X, wire 69
+  69,   7,  70  ! Plane X, wire 70
+  70,   7,  71  ! Plane X, wire 71
+  71,   7,  72  ! Plane X, wire 72
+  72,   7,  73  ! Plane X, wire 73
+  73,   7,  74  ! Plane X, wire 74
+  74,   7,  75  ! Plane X, wire 75
+  75,   7,  76  ! Plane X, wire 76
+  76,   7,  77  ! Plane X, wire 77
+  77,   7,  78  ! Plane X, wire 78
+  78,   7,  79  ! Plane X, wire 79
+  79,   7,  80  ! Plane X, wire 80
+  80,   7,  81  ! Plane X, wire 81
+  81,   7,  82  ! Plane X, wire 82
+  82,   7,  83  ! Plane X, wire 83
+  83,   7,  84  ! Plane X, wire 84
+  84,   7,  85  ! Plane X, wire 85
+  85,   7,  86  ! Plane X, wire 86
+  86,   7,  87  ! Plane X, wire 87
+  87,   7,  88  ! Plane X, wire 88
+  88,   7,  89  ! Plane X, wire 89
+  89,   7,  90  ! Plane X, wire 90
+  90,   7,  91  ! Plane X, wire 91
+  91,   7,  92  ! Plane X, wire 92
+  92,   7,  93  ! Plane X, wire 93
+  93,   7,  94  ! Plane X, wire 94
+  94,   7,  95  ! Plane X, wire 95
+  95,   7,  96  ! Plane X, wire 96
+  96,   7,  97  ! Plane X, wire 97
+  97,   7,  98  ! Plane X, wire 98
+  98,   7,  99  ! Plane X, wire 99
+  99,   7, 100  ! Plane X, wire 100
+ 100,   7, 101  ! Plane X, wire 101
+ 101,   7, 102  ! Plane X, wire 102
+ 102,   7, 103  ! Plane X, wire 103
+ 103,   7, 104  ! Plane X, wire 104
+ 104,   7, 105  ! Plane X, wire 105
+ 105,   7, 106  ! Plane X, wire 106
+ 106,   7, 107  ! Plane X, wire 107
+ 107,   7, 108  ! Plane X, wire 108
+ 108,   7, 109  ! Plane X, wire 109
+ 109,   7, 110  ! Plane X, wire 110
+ 110,   7, 111  ! Plane X, wire 111
+ 111,   7, 112  ! Plane X, wire 112
+ 112,  12,   1  ! Plane X', wire 1
+ 113,  12,   2  ! Plane X', wire 2
+ 114,  12,   3  ! Plane X', wire 3
+ 115,  12,   4  ! Plane X', wire 4
+ 116,  12,   5  ! Plane X', wire 5
+ 117,  12,   6  ! Plane X', wire 6
+ 118,  12,   7  ! Plane X', wire 7
+ 119,  12,   8  ! Plane X', wire 8
+ 120,  12,   9  ! Plane X', wire 9
+ 121,  12,  10  ! Plane X', wire 10
+ 122,  12,  11  ! Plane X', wire 11
+ 123,  12,  12  ! Plane X', wire 12
+ 124,  12,  13  ! Plane X', wire 13
+ 125,  12,  14  ! Plane X', wire 14
+ 126,  12,  15  ! Plane X', wire 15
+ 127,  12,  16  ! Plane X', wire 16
+
+SLOT=14
+REFINDEX=0
+  16,  12,  17  ! Plane X', wire 17
+  17,  12,  18  ! Plane X', wire 18
+  18,  12,  19  ! Plane X', wire 19
+  19,  12,  20  ! Plane X', wire 20
+  20,  12,  21  ! Plane X', wire 21
+  21,  12,  22  ! Plane X', wire 22
+  22,  12,  23  ! Plane X', wire 23
+  23,  12,  24  ! Plane X', wire 24
+  24,  12,  25  ! Plane X', wire 25
+  25,  12,  26  ! Plane X', wire 26
+  26,  12,  27  ! Plane X', wire 27
+  27,  12,  28  ! Plane X', wire 28
+  28,  12,  29  ! Plane X', wire 29
+  29,  12,  30  ! Plane X', wire 30
+  30,  12,  31  ! Plane X', wire 31
+  31,  12,  32  ! Plane X', wire 32
+
+SLOT=16
+REFINDEX=0
+   0,  12,  33  ! Plane X', wire 33
+   1,  12,  34  ! Plane X', wire 34
+   2,  12,  35  ! Plane X', wire 35
+   3,  12,  36  ! Plane X', wire 36
+   4,  12,  37  ! Plane X', wire 37
+   5,  12,  38  ! Plane X', wire 38
+   6,  12,  39  ! Plane X', wire 39
+   7,  12,  40  ! Plane X', wire 40
+   8,  12,  41  ! Plane X', wire 41
+   9,  12,  42  ! Plane X', wire 42
+  10,  12,  43  ! Plane X', wire 43
+  11,  12,  44  ! Plane X', wire 44
+  12,  12,  45  ! Plane X', wire 45
+  13,  12,  46  ! Plane X', wire 46
+  14,  12,  47  ! Plane X', wire 47
+  15,  12,  48  ! Plane X', wire 48
+  16,  12,  49  ! Plane X', wire 49
+  17,  12,  50  ! Plane X', wire 50
+  18,  12,  51  ! Plane X', wire 51
+  19,  12,  52  ! Plane X', wire 52
+  20,  12,  53  ! Plane X', wire 53
+  21,  12,  54  ! Plane X', wire 54
+  22,  12,  55  ! Plane X', wire 55
+  23,  12,  56  ! Plane X', wire 56
+  24,  12,  57  ! Plane X', wire 57
+  25,  12,  58  ! Plane X', wire 58
+  26,  12,  59  ! Plane X', wire 59
+  27,  12,  60  ! Plane X', wire 60
+  28,  12,  61  ! Plane X', wire 61
+  29,  12,  62  ! Plane X', wire 62
+  30,  12,  63  ! Plane X', wire 63
+  31,  12,  64  ! Plane X', wire 64
+  32,  12,  65  ! Plane X', wire 65
+  33,  12,  66  ! Plane X', wire 66
+  34,  12,  67  ! Plane X', wire 67
+  35,  12,  68  ! Plane X', wire 68
+  36,  12,  69  ! Plane X', wire 69
+  37,  12,  70  ! Plane X', wire 70
+  38,  12,  71  ! Plane X', wire 71
+  39,  12,  72  ! Plane X', wire 72
+  40,  12,  73  ! Plane X', wire 73
+  41,  12,  74  ! Plane X', wire 74
+  42,  12,  75  ! Plane X', wire 75
+  43,  12,  76  ! Plane X', wire 76
+  44,  12,  77  ! Plane X', wire 77
+  45,  12,  78  ! Plane X', wire 78
+  46,  12,  79  ! Plane X', wire 79
+  47,  12,  80  ! Plane X', wire 80
+  48,  12,  81  ! Plane X', wire 81
+  49,  12,  82  ! Plane X', wire 82
+  50,  12,  83  ! Plane X', wire 83
+  51,  12,  84  ! Plane X', wire 84
+  52,  12,  85  ! Plane X', wire 85
+  53,  12,  86  ! Plane X', wire 86
+  54,  12,  87  ! Plane X', wire 87
+  55,  12,  88  ! Plane X', wire 88
+  56,  12,  89  ! Plane X', wire 89
+  57,  12,  90  ! Plane X', wire 90
+  58,  12,  91  ! Plane X', wire 91
+  59,  12,  92  ! Plane X', wire 92
+  60,  12,  93  ! Plane X', wire 93
+  61,  12,  94  ! Plane X', wire 94
+  62,  12,  95  ! Plane X', wire 95
+  63,  12,  96  ! Plane X', wire 96
+  64,  12,  97  ! Plane X', wire 97
+  65,  12,  98  ! Plane X', wire 98
+  66,  12,  99  ! Plane X', wire 99
+  67,  12, 100  ! Plane X', wire 100
+  68,  12, 101  ! Plane X', wire 101
+  69,  12, 102  ! Plane X', wire 102
+  70,  12, 103  ! Plane X', wire 103
+  71,  12, 104  ! Plane X', wire 104
+  72,  12, 105  ! Plane X', wire 105
+  73,  12, 106  ! Plane X', wire 106
+  74,  12, 107  ! Plane X', wire 107
+  75,  12, 108  ! Plane X', wire 108
+  76,  12, 109  ! Plane X', wire 109
+  77,  12, 110  ! Plane X', wire 110
+  78,  12, 111  ! Plane X', wire 111
+  79,  12, 112  ! Plane X', wire 112
+
+SLOT=17
+REFINDEX=0
+  64,   8,   1  ! Plane Y, wire 1
+  65,   8,   2  ! Plane Y, wire 2
+  66,   8,   3  ! Plane Y, wire 3
+  67,   8,   4  ! Plane Y, wire 4
+  68,   8,   5  ! Plane Y, wire 5
+  69,   8,   6  ! Plane Y, wire 6
+  70,   8,   7  ! Plane Y, wire 7
+  71,   8,   8  ! Plane Y, wire 8
+  72,   8,   9  ! Plane Y, wire 9
+  73,   8,  10  ! Plane Y, wire 10
+  74,   8,  11  ! Plane Y, wire 11
+  75,   8,  12  ! Plane Y, wire 12
+  76,   8,  13  ! Plane Y, wire 13
+  80,   8,  14  ! Plane Y, wire 14
+  81,   8,  15  ! Plane Y, wire 15
+  82,   8,  16  ! Plane Y, wire 16
+  83,   8,  17  ! Plane Y, wire 17
+  84,   8,  18  ! Plane Y, wire 18
+  85,   8,  19  ! Plane Y, wire 19
+  86,   8,  20  ! Plane Y, wire 20
+  87,   8,  21  ! Plane Y, wire 21
+  88,   8,  22  ! Plane Y, wire 22
+  89,   8,  23  ! Plane Y, wire 23
+  90,   8,  24  ! Plane Y, wire 24
+  91,   8,  25  ! Plane Y, wire 25
+  92,   8,  26  ! Plane Y, wire 26
+  96,   8,  27  ! Plane Y, wire 27
+  97,   8,  28  ! Plane Y, wire 28
+  98,   8,  29  ! Plane Y, wire 29
+  99,   8,  30  ! Plane Y, wire 30
+ 100,   8,  31  ! Plane Y, wire 31
+ 101,   8,  32  ! Plane Y, wire 32
+ 102,   8,  33  ! Plane Y, wire 33
+ 103,   8,  34  ! Plane Y, wire 34
+ 104,   8,  35  ! Plane Y, wire 35
+ 105,   8,  36  ! Plane Y, wire 36
+ 106,   8,  37  ! Plane Y, wire 37
+ 107,   8,  38  ! Plane Y, wire 38
+ 108,   8,  39  ! Plane Y, wire 39
+ 112,   8,  40  ! Plane Y, wire 40
+ 113,   8,  41  ! Plane Y, wire 41
+ 114,   8,  42  ! Plane Y, wire 42
+ 115,   8,  43  ! Plane Y, wire 43
+ 116,   8,  44  ! Plane Y, wire 44
+ 117,   8,  45  ! Plane Y, wire 45
+ 118,   8,  46  ! Plane Y, wire 46
+ 119,   8,  47  ! Plane Y, wire 47
+ 120,   8,  48  ! Plane Y, wire 48
+ 121,   8,  49  ! Plane Y, wire 49
+ 122,   8,  50  ! Plane Y, wire 50
+ 123,   8,  51  ! Plane Y, wire 51
+ 124,   8,  52  ! Plane Y, wire 52
+
+SLOT=10
+REFINDEX=0
+ 127,1000,   0,   1
+  64,  11,   1  ! Plane Y', wire 1
+  65,  11,   2  ! Plane Y', wire 2
+  66,  11,   3  ! Plane Y', wire 3
+  67,  11,   4  ! Plane Y', wire 4
+  68,  11,   5  ! Plane Y', wire 5
+  69,  11,   6  ! Plane Y', wire 6
+  70,  11,   7  ! Plane Y', wire 7
+  71,  11,   8  ! Plane Y', wire 8
+  72,  11,   9  ! Plane Y', wire 9
+  73,  11,  10  ! Plane Y', wire 10
+  74,  11,  11  ! Plane Y', wire 11
+  75,  11,  12  ! Plane Y', wire 12
+  76,  11,  13  ! Plane Y', wire 13
+  80,  11,  14  ! Plane Y', wire 14
+  81,  11,  15  ! Plane Y', wire 15
+  82,  11,  16  ! Plane Y', wire 16
+  83,  11,  17  ! Plane Y', wire 17
+  84,  11,  18  ! Plane Y', wire 18
+  85,  11,  19  ! Plane Y', wire 19
+  86,  11,  20  ! Plane Y', wire 20
+  87,  11,  21  ! Plane Y', wire 21
+  88,  11,  22  ! Plane Y', wire 22
+  89,  11,  23  ! Plane Y', wire 23
+  90,  11,  24  ! Plane Y', wire 24
+  91,  11,  25  ! Plane Y', wire 25
+  92,  11,  26  ! Plane Y', wire 26
+  96,  11,  27  ! Plane Y', wire 27
+  97,  11,  28  ! Plane Y', wire 28
+  98,  11,  29  ! Plane Y', wire 29
+  99,  11,  30  ! Plane Y', wire 30
+ 100,  11,  31  ! Plane Y', wire 31
+ 101,  11,  32  ! Plane Y', wire 32
+ 102,  11,  33  ! Plane Y', wire 33
+ 103,  11,  34  ! Plane Y', wire 34
+ 104,  11,  35  ! Plane Y', wire 35
+ 105,  11,  36  ! Plane Y', wire 36
+ 106,  11,  37  ! Plane Y', wire 37
+ 107,  11,  38  ! Plane Y', wire 38
+ 108,  11,  39  ! Plane Y', wire 39
+ 112,  11,  40  ! Plane Y', wire 40
+ 113,  11,  41  ! Plane Y', wire 41
+ 114,  11,  42  ! Plane Y', wire 42
+ 115,  11,  43  ! Plane Y', wire 43
+ 116,  11,  44  ! Plane Y', wire 44
+ 117,  11,  45  ! Plane Y', wire 45
+ 118,  11,  46  ! Plane Y', wire 46
+ 119,  11,  47  ! Plane Y', wire 47
+ 120,  11,  48  ! Plane Y', wire 48
+ 121,  11,  49  ! Plane Y', wire 49
+ 122,  11,  50  ! Plane Y', wire 50
+ 123,  11,  51  ! Plane Y', wire 51
+ 124,  11,  52  ! Plane Y', wire 52
+
+
+DETECTOR=13
+
+ROC=11
+
+SLOT=8
+   0,   1,   1,   0  ! h1x01A+
+   1,   1,   2,   0  ! h1x02A+
+   2,   1,   3,   0  ! h1x03A+
+   3,   1,   4,   0  ! h1x04A+
+   4,   1,   5,   0  ! h1x05A+
+   5,   1,   6,   0  ! h1x06A+
+   6,   1,   7,   0  ! h1x07A+
+   7,   1,   8,   0  ! h1x08A+
+   8,   1,   9,   0  ! h1x09A+
+   9,   1,  10,   0  ! h1x10A+
+  10,   1,  11,   0  ! h1x11A+
+  11,   1,  12,   0  ! h1x12A+
+  12,   1,  13,   0  ! h1x13A+
+  13,   1,  14,   0  ! h1x14A+
+  14,   1,  15,   0  ! h1x15A+
+  15,   1,  16,   0  ! h1x16A+
+
+SLOT=9
+   0,   1,   1,   1  ! h1x01A-
+   1,   1,   2,   1  ! h1x02A-
+   2,   1,   3,   1  ! h1x03A-
+   3,   1,   4,   1  ! h1x04A-
+   4,   1,   5,   1  ! h1x05A-
+   5,   1,   6,   1  ! h1x06A-
+   6,   1,   7,   1  ! h1x07A-
+   7,   1,   8,   1  ! h1x08A-
+   8,   1,   9,   1  ! h1x09A-
+   9,   1,  10,   1  ! h1x10A-
+  10,   1,  11,   1  ! h1x11A-
+  11,   1,  12,   1  ! h1x12A-
+  12,   1,  13,   1  ! h1x13A-
+  13,   1,  14,   1  ! h1x14A-
+  14,   1,  15,   1  ! h1x15A-
+  15,   1,  16,   1  ! h1x16A-
+
+SLOT=10
+   0,   2,   1,   0  ! h1y01A+
+   1,   2,   2,   0  ! h1y02A+
+   2,   2,   3,   0  ! h1y03A+
+   3,   2,   4,   0  ! h1y04A+
+   4,   2,   5,   0  ! h1y05A+
+   5,   2,   6,   0  ! h1y06A+
+   6,   2,   7,   0  ! h1y07A+
+   7,   2,   8,   0  ! h1y08A+
+   8,   2,   9,   0  ! h1y09A+
+   9,   2,  10,   0  ! h1y10A+
+  10,   2,   1,   1  ! h1y01A-
+  11,   2,   2,   1  ! h1y02A-
+  12,   2,   3,   1  ! h1y03A-
+  13,   2,   4,   1  ! h1y04A-
+  14,   2,   5,   1  ! h1y05A-
+  15,   2,   6,   1  ! h1y06A-
+
+SLOT=13
+   0,   2,   7,   1  ! h1y07A-
+   1,   2,   8,   1  ! h1y08A-
+   2,   2,   9,   1  ! h1y09A-
+   3,   2,  10,   1  ! h1y10A-
+   4,   3,   1,   0  ! h2x01A+
+   5,   3,   2,   0  ! h2x02A+
+   6,   3,   3,   0  ! h2x03A+
+   7,   3,   4,   0  ! h2x04A+
+   8,   3,   5,   0  ! h2x05A+
+   9,   3,   6,   0  ! h2x06A+
+  10,   3,   7,   0  ! h2x07A+
+  11,   3,   8,   0  ! h2x08A+
+  12,   3,   9,   0  ! h2x09A+
+  13,   3,  10,   0  ! h2x10A+
+  14,   3,  11,   0  ! h2x11A+
+  15,   3,  12,   0  ! h2x12A+
+
+SLOT=14
+   0,   3,  13,   0  ! h2x13A+
+   1,   3,  14,   0  ! h2x14A+
+   2,   3,  15,   0  ! h2x15A+
+   3,   3,  16,   0  ! h2x16A+
+   4,   3,   1,   1  ! h2x01A-
+   5,   3,   2,   1  ! h2x02A-
+   6,   3,   3,   1  ! h2x03A-
+   7,   3,   4,   1  ! h2x04A-
+   8,   3,   5,   1  ! h2x05A-
+   9,   3,   6,   1  ! h2x06A-
+  10,   3,   7,   1  ! h2x07A-
+  11,   3,   8,   1  ! h2x08A-
+  12,   3,   9,   1  ! h2x09A-
+  13,   3,  10,   1  ! h2x10A-
+  14,   3,  11,   1  ! h2x11A-
+  15,   3,  12,   1  ! h2x12A-
+
+SLOT=15
+   0,   3,  13,   1  ! h2x13A-
+   1,   3,  14,   1  ! h2x14A-
+   2,   3,  15,   1  ! h2x15A-
+   3,   3,  16,   1  ! h2x16A-
+   4,   4,   1,   0  ! h2y01A+
+   5,   4,   2,   0  ! h2y02A+
+   6,   4,   3,   0  ! h2y03A+
+   7,   4,   4,   0  ! h2y04A+
+   8,   4,   5,   0  ! h2y05A+
+   9,   4,   6,   0  ! h2y06A+
+  10,   4,   7,   0  ! h2y07A+
+  11,   4,   8,   0  ! h2y08A+
+  12,   4,   9,   0  ! h2y09A+
+  13,   4,  10,   0  ! h2y10A+
+  14,   4,   1,   1  ! h2y01A-
+  15,   4,   2,   1  ! h2y02A-
+
+SLOT=16
+   0,   4,   3,   1  ! h2y03A-
+   1,   4,   4,   1  ! h2y04A-
+   2,   4,   5,   1  ! h2y05A-
+   3,   4,   6,   1  ! h2y06A-
+   4,   4,   7,   1  ! h2y07A-
+   5,   4,   8,   1  ! h2y08A-
+   6,   4,   9,   1  ! h2y09A-
+   7,   4,  10,   1  ! h2y10A-
+
+SLOT=20
+REFINDEX=0
+ 127,1000,   0,   0
+   0,   1,   1,   2  ! h1x01T+
+   1,   1,   3,   2  ! h1x03T+
+   2,   1,   5,   2  ! h1x05T+
+   3,   1,   7,   2  ! h1x07T+
+   4,   1,   2,   2  ! h1x02T+
+   5,   1,   4,   2  ! h1x04T+
+   6,   1,   6,   2  ! h1x06T+
+   7,   1,   8,   2  ! h1x08T+
+   8,   1,   9,   2  ! h1x09T+
+   9,   1,  11,   2  ! h1x11T+
+  10,   1,  13,   2  ! h1x13T+
+  11,   1,  15,   2  ! h1x15T+
+  12,   1,  10,   2  ! h1x10T+
+  13,   1,  12,   2  ! h1x12T+
+  14,   1,  14,   2  ! h1x14T+
+  15,   1,  16,   2  ! h1x16T+
+  16,   1,   1,   3  ! h1x01T-
+  17,   1,   3,   3  ! h1x03T-
+  18,   1,   5,   3  ! h1x05T-
+  19,   1,   7,   3  ! h1x07T-
+  20,   1,   2,   3  ! h1x02T-
+  21,   1,   4,   3  ! h1x04T-
+  22,   1,   6,   3  ! h1x06T-
+  23,   1,   8,   3  ! h1x08T-
+  24,   1,   9,   3  ! h1x09T-
+  25,   1,  11,   3  ! h1x11T-
+  26,   1,  13,   3  ! h1x13T-
+  27,   1,  15,   3  ! h1x15T-
+  28,   1,  10,   3  ! h1x10T-
+  29,   1,  12,   3  ! h1x12T-
+  30,   1,  14,   3  ! h1x14T-
+  31,   1,  16,   3  ! h1x16T-
+  32,   2,   1,   2  ! h1y01T+
+  33,   2,   3,   2  ! h1y03T+
+  34,   2,   5,   2  ! h1y05T+
+  35,   2,   7,   2  ! h1y07T+
+  36,   2,   2,   2  ! h1y02T+
+  37,   2,   4,   2  ! h1y04T+
+  38,   2,   6,   2  ! h1y06T+
+  39,   2,   8,   2  ! h1y08T+
+  40,   2,   9,   2  ! h1y09T+
+  44,   2,  10,   2  ! h1y10T+
+  48,   2,   1,   3  ! h1y01T-
+  49,   2,   3,   3  ! h1y03T-
+  50,   2,   5,   3  ! h1y05T-
+  51,   2,   7,   3  ! h1y07T-
+  52,   2,   2,   3  ! h1y02T-
+  53,   2,   4,   3  ! h1y04T-
+  54,   2,   6,   3  ! h1y06T-
+  55,   2,   8,   3  ! h1y08T-
+  56,   2,   9,   3  ! h1y09T-
+  60,   2,  10,   3  ! h1y10T-
+  64,   3,   1,   2  ! h2x01T+
+  65,   3,   3,   2  ! h2x03T+
+  66,   3,   5,   2  ! h2x05T+
+  67,   3,   7,   2  ! h2x07T+
+  68,   3,   2,   2  ! h2x02T+
+  69,   3,   4,   2  ! h2x04T+
+  70,   3,   6,   2  ! h2x06T+
+  71,   3,   8,   2  ! h2x08T+
+  72,   3,   9,   2  ! h2x09T+
+  73,   3,  11,   2  ! h2x11T+
+  74,   3,  13,   2  ! h2x13T+
+  75,   3,  15,   2  ! h2x15T+
+  76,   3,  10,   2  ! h2x10T+
+  77,   3,  12,   2  ! h2x12T+
+  78,   3,  14,   2  ! h2x14T+
+  79,   3,  16,   2  ! h2x16T+
+  80,   3,   1,   3  ! h2x01T-
+  81,   3,   3,   3  ! h2x03T-
+  82,   3,   5,   3  ! h2x05T-
+  83,   3,   7,   3  ! h2x07T-
+  84,   3,   2,   3  ! h2x02T-
+  85,   3,   4,   3  ! h2x04T-
+  86,   3,   6,   3  ! h2x06T-
+  87,   3,   8,   3  ! h2x08T-
+  88,   3,   9,   3  ! h2x09T-
+  89,   3,  11,   3  ! h2x11T-
+  90,   3,  13,   3  ! h2x13T-
+  91,   3,  15,   3  ! h2x15T-
+  92,   3,  10,   3  ! h2x10T-
+  93,   3,  12,   3  ! h2x12T-
+  94,   3,  14,   3  ! h2x14T-
+  95,   3,  16,   3  ! h2x16T-
+  96,   4,   1,   2  ! h2y01T+
+  97,   4,   3,   2  ! h2y03T+
+  98,   4,   5,   2  ! h2y05T+
+  99,   4,   7,   2  ! h2y07T+
+ 100,   4,   2,   2  ! h2y02T+
+ 101,   4,   4,   2  ! h2y04T+
+ 102,   4,   6,   2  ! h2y06T+
+ 103,   4,   8,   2  ! h2y08T+
+ 104,   4,   9,   2  ! h2y09T+
+ 108,   4,  10,   2  ! h2y10T+
+ 112,   4,   1,   3  ! h2y01T-
+ 113,   4,   3,   3  ! h2y03T-
+ 114,   4,   5,   3  ! h2y05T-
+ 115,   4,   7,   3  ! h2y07T-
+ 116,   4,   2,   3  ! h2y02T-
+ 117,   4,   4,   3  ! h2y04T-
+ 118,   4,   6,   3  ! h2y06T-
+ 119,   4,   8,   3  ! h2y08T-
+ 120,   4,   9,   3  ! h2y09T-
+ 124,   4,  10,   3  ! h2y10T-
+DETECTOR=14
+
+ROC=11
+
+SLOT=7
+  14,   1,   1,   0  ! hCER01
+  15,   1,   2,   0  ! hCER02
+
+
+DETECTOR=15
+
+ROC=11
+
+SLOT=3
+   0,   1,   1,   0  ! hA01+
+   1,   1,   2,   0  ! hA02+
+   2,   1,   3,   0  ! hA03+
+   3,   1,   4,   0  ! hA04+
+   4,   1,   5,   0  ! hA05+
+   5,   1,   6,   0  ! hA06+
+   6,   1,   7,   0  ! hA07+
+   7,   1,   8,   0  ! hA08+
+   8,   1,   9,   0  ! hA09+
+   9,   1,  10,   0  ! hA10+
+  10,   1,  11,   0  ! hA11+
+  11,   1,  12,   0  ! hA12+
+  12,   1,  13,   0  ! hA13+
+  13,   1,   1,   1  ! hA01-
+  14,   1,   2,   1  ! hA02-
+  15,   1,   3,   1  ! hA03-
+
+SLOT=4
+   0,   1,   4,   1  ! hA04-
+   1,   1,   5,   1  ! hA05-
+   2,   1,   6,   1  ! hA06-
+   3,   1,   7,   1  ! hA07-
+   4,   1,   8,   1  ! hA08-
+   5,   1,   9,   1  ! hA09-
+   6,   1,  10,   1  ! hA10-
+   7,   1,  11,   1  ! hA11-
+   8,   1,  12,   1  ! hA12-
+   9,   1,  13,   1  ! hA13-
+  10,   2,   1,   0  ! hB01+
+  11,   2,   2,   0  ! hB02+
+  12,   2,   3,   0  ! hB03+
+  13,   2,   4,   0  ! hB04+
+  14,   2,   5,   0  ! hB05+
+  15,   2,   6,   0  ! hB06+
+
+SLOT=5
+   0,   2,   7,   0  ! hB07+
+   1,   2,   8,   0  ! hB08+
+   2,   2,   9,   0  ! hB09+
+   3,   2,  10,   0  ! hB10+
+   4,   2,  11,   0  ! hB11+
+   5,   2,  12,   0  ! hB12+
+   6,   2,  13,   0  ! hB13+
+   7,   2,   1,   1  ! hB01-
+   8,   2,   2,   1  ! hB02-
+   9,   2,   3,   1  ! hB03-
+  10,   2,   4,   1  ! hB04-
+  11,   2,   5,   1  ! hB05-
+  12,   2,   6,   1  ! hB06-
+  13,   2,   7,   1  ! hB07-
+  14,   2,   8,   1  ! hB08-
+  15,   2,   9,   1  ! hB09-
+
+SLOT=6
+   0,   2,  10,   1  ! hB10-
+   1,   2,  11,   1  ! hB11-
+   2,   2,  12,   1  ! hB12-
+   3,   2,  13,   1  ! hB13-
+   4,   3,   1,   0  ! hC01+
+   5,   3,   2,   0  ! hC02+
+   6,   3,   3,   0  ! hC03+
+   7,   3,   4,   0  ! hC04+
+   8,   3,   5,   0  ! hC05+
+   9,   3,   6,   0  ! hC06+
+  10,   3,   7,   0  ! hC07+
+  11,   3,   8,   0  ! hC08+
+  12,   3,   9,   0  ! hC09+
+  13,   3,  10,   0  ! hC10+
+  14,   3,  11,   0  ! hC11+
+  15,   3,  12,   0  ! hC12+
+
+SLOT=7
+   0,   3,  13,   0  ! hC13+
+   1,   4,   1,   0  ! hD01+
+   2,   4,   2,   0  ! hD02+
+   3,   4,   3,   0  ! hD03+
+   4,   4,   4,   0  ! hD04+
+   5,   4,   5,   0  ! hD05+
+   6,   4,   6,   0  ! hD06+
+   7,   4,   7,   0  ! hD07+
+   8,   4,   8,   0  ! hD08+
+   9,   4,   9,   0  ! hD09+
+  10,   4,  10,   0  ! hD10+
+  11,   4,  11,   0  ! hD11+
+  12,   4,  12,   0  ! hD12+
+  13,   4,  13,   0  ! hD13+
diff --git a/MAPS/HMS/DETEC/hraster_simple.map b/MAPS/HMS/DETEC/hraster_simple.map
new file mode 100644
index 00000000..5f27fa71
--- /dev/null
+++ b/MAPS/HMS/DETEC/hraster_simple.map
@@ -0,0 +1,18 @@
+!HMS:
+! THMS_ID=10    ADC,TDC
+
+! Plane = 1 >> ADC Only
+! Plane = 2 >> TDC Only
+
+detector=10
+
+ROC=1
+
+!F250 module
+SLOT=18
+! chan    plane     bar    sig
+     12,      1,      1,     0!  FR-XA
+     13,      1,      2,     0!  FR-XB
+     14,      1,      3,     0!  FR-YA
+     15,      1,      4,     0!  FR-YB
+
diff --git a/MAPS/HMS/DETEC/htrig.map b/MAPS/HMS/DETEC/htrig.map
index 215b7804..679c33f7 100644
--- a/MAPS/HMS/DETEC/htrig.map
+++ b/MAPS/HMS/DETEC/htrig.map
@@ -4,8 +4,7 @@
 ! Plane = 1 >> ADC Only
 ! Plane = 2 >> TDC Only
 
-
-detector=5
+detector=10
 
 ROC=1
 
@@ -45,4 +44,20 @@ SLOT=2
 SLOT=20
 ! D1
 ! chan    plane     bar    sig
-     127,     2,     17      1!  hT2
+     127,     2,     17,      1!  hT2
+
+ROC=3
+
+!CAEN1190 module
+SLOT=5
+! chan    plane     bar    sig
+     111,     2,     18,      1!  hDCREF1
+SLOT=8
+! chan    plane     bar    sig
+     127,     2,     19,      1!  hDCREF2
+SLOT=10
+! chan    plane     bar    sig
+     127,     2,     20,      1!  hDCREF3
+SLOT=17
+! chan    plane     bar    sig
+     127,     2,     21,      1!  hDCREF4
\ No newline at end of file
diff --git a/MAPS/SHMS/DETEC/paero.map b/MAPS/SHMS/DETEC/paero.map
new file mode 100644
index 00000000..86e3d37e
--- /dev/null
+++ b/MAPS/SHMS/DETEC/paero.map
@@ -0,0 +1,24 @@
+! PAERO_ID=25      ::  ::,ADC+,ADC-
+
+
+DETECTOR=25
+
+ROC=2
+
+SLOT=10
+  10,   1,   1,   0  ! pAER01+
+  11,   1,   2,   0  ! pAER02+
+  12,   1,   3,   0  ! pAER03+
+  13,   1,   4,   0  ! pAER04+
+  14,   1,   5,   0  ! pAER05+
+  15,   1,   6,   0  ! pAER06+
+
+SLOT=13
+   0,   1,   7,   0  ! pAER07+
+   1,   1,   1,   1  ! pAER01-
+   2,   1,   2,   1  ! pAER02-
+   3,   1,   3,   1  ! pAER03-
+   4,   1,   4,   1  ! pAER04-
+   5,   1,   5,   1  ! pAER05-
+   6,   1,   6,   1  ! pAER06-
+   7,   1,   7,   1  ! pAER07-
diff --git a/MAPS/SHMS/DETEC/paero_ptrig.map b/MAPS/SHMS/DETEC/paero_ptrig.map
new file mode 100644
index 00000000..4371a2f3
--- /dev/null
+++ b/MAPS/SHMS/DETEC/paero_ptrig.map
@@ -0,0 +1,83 @@
+! TSHMS_ID=20      ::  ::,ADC,TDC
+! PAERO_ID=25      ::  ::,ADC,TDC
+
+
+DETECTOR=20
+
+ROC=2
+
+SLOT=14
+   0,   1,   1,   0  ! pAERSUM
+   1,   1,   2,   0  ! pHGCSUM
+   2,   1,   3,   0  ! pNGCSUM
+
+SLOT=20
+  15,   2,   1,   1  ! pT1
+
+SLOT=19
+  31,   2,   2,   1  ! pT2
+  32,   2,   3,   1  ! p1X
+  33,   2,   4,   1  ! p1Y
+  34,   2,   5,   1  ! p2X
+  35,   2,   6,   1  ! p2Y
+  36,   2,   7,   1  ! p1T
+  37,   2,   8,   1  ! p2T
+  38,   2,   9,   1  ! pT3
+  39,   2,  10,   1  ! pAERSUM
+  40,   2,  11,   1  ! pHGCSUM
+  41,   2,  12,   1  ! pNGCSUM
+
+ROC=6
+
+SLOT=6
+  79,   2,  13,   1  ! pDCREF1
+
+SLOT=7
+  79,   2,  14,   1  ! pDCREF2
+
+SLOT=8
+  79,   2,  15,   1  ! pDCREF3
+
+SLOT=9
+  79,   2,  16,   1  ! pDCREF4
+
+SLOT=10
+  79,   2,  17,   1  ! pDCREF5
+
+SLOT=11
+  47,   2,  18,   1  ! pDCREF6
+
+SLOT=12
+  47,   2,  19,   1  ! pDCREF7
+
+SLOT=13
+  47,   2,  20,   1  ! pDCREF8
+
+SLOT=14
+  15,   2,  21,   1  ! pDCREF9
+
+SLOT=15
+  47,   2,  22,   1  ! pDCREF10
+
+
+DETECTOR=25
+
+ROC=2
+
+SLOT=10
+  10,   1,   1,   0  ! pAER01+
+  11,   1,   2,   0  ! pAER02+
+  12,   1,   3,   0  ! pAER03+
+  13,   1,   4,   0  ! pAER04+
+  14,   1,   5,   0  ! pAER05+
+  15,   1,   6,   0  ! pAER06+
+
+SLOT=13
+   0,   1,   7,   0  ! pAER07+
+   1,   1,   1,   1  ! pAER01-
+   2,   1,   2,   1  ! pAER02-
+   3,   1,   3,   1  ! pAER03-
+   4,   1,   4,   1  ! pAER04-
+   5,   1,   5,   1  ! pAER05-
+   6,   1,   6,   1  ! pAER06-
+   7,   1,   7,   1  ! pAER07-
diff --git a/MAPS/SHMS/DETEC/pcal.map b/MAPS/SHMS/DETEC/pcal.map
index e833bfba..96f05754 100644
--- a/MAPS/SHMS/DETEC/pcal.map
+++ b/MAPS/SHMS/DETEC/pcal.map
@@ -1,291 +1,290 @@
-!SHMS
-! SCAL_ID=26              ADC
+! PCAL_ID=26       ::  ADC
+
+
+DETECTOR=26
 
 ROC=4
-detector=26
 
-!F250 modules
 SLOT=3
-! chan   plane    row      sig
-0, 1, 1, 0
-1, 1, 2, 0
-2, 1, 3, 0
-3, 1, 4, 0
-4, 1, 5, 0
-5, 1, 6, 0
-6, 1, 7, 0
-7, 1, 8, 0
-8, 1, 9, 0
-9, 1, 10, 0
-10, 1, 11, 0
-11, 1, 12, 0
-12, 1, 13, 0
-13, 1, 14, 0
+   0,   1,   1,   0  ! pPRSH1+
+   1,   1,   2,   0  ! pPRSH2+
+   2,   1,   3,   0  ! pPRSH3+
+   3,   1,   4,   0  ! pPRSH4+
+   4,   1,   5,   0  ! pPRSH5+
+   5,   1,   6,   0  ! pPRSH6+
+   6,   1,   7,   0  ! pPRSH7+
+   7,   1,   8,   0  ! pPRSH8+
+   8,   1,   9,   0  ! pPRSH9+
+   9,   1,  10,   0  ! pPRSH10+
+  10,   1,  11,   0  ! pPRSH11+
+  11,   1,  12,   0  ! pPRSH12+
+  12,   1,  13,   0  ! pPRSH13+
+  13,   1,  14,   0  ! pPRSH14+
+
 SLOT=4
-! chan   plane    row      sig
-0, 1, 1, 1
-1, 1, 2, 1
-2, 1, 3, 1
-3, 1, 4, 1
-4, 1, 5, 1
-5, 1, 6, 1
-6, 1, 7, 1
-7, 1, 8, 1
-8, 1, 9, 1
-9, 1, 10, 1
-10, 1, 11, 1
-11, 1, 12, 1
-12, 1, 13, 1
-13, 1, 14, 1
+   0,   1,   1,   1  ! pPRSH1-
+   1,   1,   2,   1  ! pPRSH2-
+   2,   1,   3,   1  ! pPRSH3-
+   3,   1,   4,   1  ! pPRSH4-
+   4,   1,   5,   1  ! pPRSH5-
+   5,   1,   6,   1  ! pPRSH6-
+   6,   1,   7,   1  ! pPRSH7-
+   7,   1,   8,   1  ! pPRSH8-
+   8,   1,   9,   1  ! pPRSH9-
+   9,   1,  10,   1  ! pPRSH10-
+  10,   1,  11,   1  ! pPRSH11-
+  11,   1,  12,   1  ! pPRSH12-
+  12,   1,  13,   1  ! pPRSH13-
+  13,   1,  14,   1  ! pPRSH14-
+
 SLOT=5
-! chan   plane    row      sig
-0, 2, 1, 0 ! Row 1, Column 1
-1, 2, 2, 0 ! Row 2, Column 1
-2, 2, 3, 0 ! Row 3, Column 1
-3, 2, 4, 0 ! Row 4, Column 1
-4, 2, 5, 0 ! Row 5, Column 1
-5, 2, 6, 0 ! Row 6, Column 1
-6, 2, 7, 0 ! Row 7, Column 1
-7, 2, 8, 0 ! Row 8, Column 1
-8, 2, 9, 0 ! Row 9, Column 1
-9, 2, 10, 0 ! Row 10, Column 1
-10, 2, 11, 0 ! Row 11, Column 1
-11, 2, 12, 0 ! Row 12, Column 1
-12, 2, 13, 0 ! Row 13, Column 1
-13, 2, 14, 0 ! Row 14, Column 1
-14, 2, 15, 0 ! Row 15, Column 1
-15, 2, 16, 0 ! Row 16, Column 1
+   0,   2,   1,   0  ! Row 1, Column 1
+   1,   2,   2,   0  ! Row 2, Column 1
+   2,   2,   3,   0  ! Row 3, Column 1
+   3,   2,   4,   0  ! Row 4, Column 1
+   4,   2,   5,   0  ! Row 5, Column 1
+   5,   2,   6,   0  ! Row 6, Column 1
+   6,   2,   7,   0  ! Row 7, Column 1
+   7,   2,   8,   0  ! Row 8, Column 1
+   8,   2,   9,   0  ! Row 9, Column 1
+   9,   2,  10,   0  ! Row 10, Column 1
+  10,   2,  11,   0  ! Row 11, Column 1
+  11,   2,  12,   0  ! Row 12, Column 1
+  12,   2,  13,   0  ! Row 13, Column 1
+  13,   2,  14,   0  ! Row 14, Column 1
+  14,   2,  15,   0  ! Row 15, Column 1
+  15,   2,  16,   0  ! Row 16, Column 1
+
 SLOT=6
-! chan   plane    row      sig
-0, 2, 17, 0 ! Row 1, Column 2
-1, 2, 18, 0 ! Row 2, Column 2
-2, 2, 19, 0 ! Row 3, Column 2
-3, 2, 20, 0 ! Row 4, Column 2
-4, 2, 21, 0 ! Row 5, Column 2
-5, 2, 22, 0 ! Row 6, Column 2
-6, 2, 23, 0 ! Row 7, Column 2
-7, 2, 24, 0 ! Row 8, Column 2
-8, 2, 25, 0 ! Row 9, Column 2
-9, 2, 26, 0 ! Row 10, Column 2
-10, 2, 27, 0 ! Row 11, Column 2
-11, 2, 28, 0 ! Row 12, Column 2
-12, 2, 29, 0 ! Row 13, Column 2
-13, 2, 30, 0 ! Row 14, Column 2
-14, 2, 31, 0 ! Row 15, Column 2
-15, 2, 32, 0 ! Row 16, Column 2
+   0,   2,  17,   0  ! Row 1, Column 2
+   1,   2,  18,   0  ! Row 2, Column 2
+   2,   2,  19,   0  ! Row 3, Column 2
+   3,   2,  20,   0  ! Row 4, Column 2
+   4,   2,  21,   0  ! Row 5, Column 2
+   5,   2,  22,   0  ! Row 6, Column 2
+   6,   2,  23,   0  ! Row 7, Column 2
+   7,   2,  24,   0  ! Row 8, Column 2
+   8,   2,  25,   0  ! Row 9, Column 2
+   9,   2,  26,   0  ! Row 10, Column 2
+  10,   2,  27,   0  ! Row 11, Column 2
+  11,   2,  28,   0  ! Row 12, Column 2
+  12,   2,  29,   0  ! Row 13, Column 2
+  13,   2,  30,   0  ! Row 14, Column 2
+  14,   2,  31,   0  ! Row 15, Column 2
+  15,   2,  32,   0  ! Row 16, Column 2
+
 SLOT=7
-! chan   plane    row      sig
-0, 2, 33, 0 ! Row 1, Column 3
-1, 2, 34, 0 ! Row 2, Column 3
-2, 2, 35, 0 ! Row 3, Column 3
-3, 2, 36, 0 ! Row 4, Column 3
-4, 2, 37, 0 ! Row 5, Column 3
-5, 2, 38, 0 ! Row 6, Column 3
-6, 2, 39, 0 ! Row 7, Column 3
-7, 2, 40, 0 ! Row 8, Column 3
-8, 2, 41, 0 ! Row 9, Column 3
-9, 2, 42, 0 ! Row 10, Column 3
-10, 2, 43, 0 ! Row 11, Column 3
-11, 2, 44, 0 ! Row 12, Column 3
-12, 2, 45, 0 ! Row 13, Column 3
-13, 2, 46, 0 ! Row 14, Column 3
-14, 2, 47, 0 ! Row 15, Column 3
-15, 2, 48, 0 ! Row 16, Column 3
+   0,   2,  33,   0  ! Row 1, Column 3
+   1,   2,  34,   0  ! Row 2, Column 3
+   2,   2,  35,   0  ! Row 3, Column 3
+   3,   2,  36,   0  ! Row 4, Column 3
+   4,   2,  37,   0  ! Row 5, Column 3
+   5,   2,  38,   0  ! Row 6, Column 3
+   6,   2,  39,   0  ! Row 7, Column 3
+   7,   2,  40,   0  ! Row 8, Column 3
+   8,   2,  41,   0  ! Row 9, Column 3
+   9,   2,  42,   0  ! Row 10, Column 3
+  10,   2,  43,   0  ! Row 11, Column 3
+  11,   2,  44,   0  ! Row 12, Column 3
+  12,   2,  45,   0  ! Row 13, Column 3
+  13,   2,  46,   0  ! Row 14, Column 3
+  14,   2,  47,   0  ! Row 15, Column 3
+  15,   2,  48,   0  ! Row 16, Column 3
+
 SLOT=8
-! chan   plane    row      sig
-0, 2, 49, 0 ! Row 1, Column 4
-1, 2, 50, 0 ! Row 2, Column 4
-2, 2, 51, 0 ! Row 3, Column 4
-3, 2, 52, 0 ! Row 4, Column 4
-4, 2, 53, 0 ! Row 5, Column 4
-5, 2, 54, 0 ! Row 6, Column 4
-6, 2, 55, 0 ! Row 7, Column 4
-7, 2, 56, 0 ! Row 8, Column 4
-8, 2, 57, 0 ! Row 9, Column 4
-9, 2, 58, 0 ! Row 10, Column 4
-10, 2, 59, 0 ! Row 11, Column 4
-11, 2, 60, 0 ! Row 12, Column 4
-12, 2, 61, 0 ! Row 13, Column 4
-13, 2, 62, 0 ! Row 14, Column 4
-14, 2, 63, 0 ! Row 15, Column 4
-15, 2, 64, 0 ! Row 16, Column 4
+   0,   2,  49,   0  ! Row 1, Column 4
+   1,   2,  50,   0  ! Row 2, Column 4
+   2,   2,  51,   0  ! Row 3, Column 4
+   3,   2,  52,   0  ! Row 4, Column 4
+   4,   2,  53,   0  ! Row 5, Column 4
+   5,   2,  54,   0  ! Row 6, Column 4
+   6,   2,  55,   0  ! Row 7, Column 4
+   7,   2,  56,   0  ! Row 8, Column 4
+   8,   2,  57,   0  ! Row 9, Column 4
+   9,   2,  58,   0  ! Row 10, Column 4
+  10,   2,  59,   0  ! Row 11, Column 4
+  11,   2,  60,   0  ! Row 12, Column 4
+  12,   2,  61,   0  ! Row 13, Column 4
+  13,   2,  62,   0  ! Row 14, Column 4
+  14,   2,  63,   0  ! Row 15, Column 4
+  15,   2,  64,   0  ! Row 16, Column 4
+
 SLOT=9
-! chan   plane    row      sig
-0, 2, 65, 0 ! Row 1, Column 5
-1, 2, 66, 0 ! Row 2, Column 5
-2, 2, 67, 0 ! Row 3, Column 5
-3, 2, 68, 0 ! Row 4, Column 5
-4, 2, 69, 0 ! Row 5, Column 5
-5, 2, 70, 0 ! Row 6, Column 5
-6, 2, 71, 0 ! Row 7, Column 5
-7, 2, 72, 0 ! Row 8, Column 5
-8, 2, 73, 0 ! Row 9, Column 5
-9, 2, 74, 0 ! Row 10, Column 5
-10, 2, 75, 0 ! Row 11, Column 5
-11, 2, 76, 0 ! Row 12, Column 5
-12, 2, 77, 0 ! Row 13, Column 5
-13, 2, 78, 0 ! Row 14, Column 5
-14, 2, 79, 0 ! Row 15, Column 5
-15, 2, 80, 0 ! Row 16, Column 5
+   0,   2,  65,   0  ! Row 1, Column 5
+   1,   2,  66,   0  ! Row 2, Column 5
+   2,   2,  67,   0  ! Row 3, Column 5
+   3,   2,  68,   0  ! Row 4, Column 5
+   4,   2,  69,   0  ! Row 5, Column 5
+   5,   2,  70,   0  ! Row 6, Column 5
+   6,   2,  71,   0  ! Row 7, Column 5
+   7,   2,  72,   0  ! Row 8, Column 5
+   8,   2,  73,   0  ! Row 9, Column 5
+   9,   2,  74,   0  ! Row 10, Column 5
+  10,   2,  75,   0  ! Row 11, Column 5
+  11,   2,  76,   0  ! Row 12, Column 5
+  12,   2,  77,   0  ! Row 13, Column 5
+  13,   2,  78,   0  ! Row 14, Column 5
+  14,   2,  79,   0  ! Row 15, Column 5
+  15,   2,  80,   0  ! Row 16, Column 5
+
 SLOT=10
-! chan   plane    row      sig
-0, 2, 81, 0 ! Row 1, Column 6
-1, 2, 82, 0 ! Row 2, Column 6
-2, 2, 83, 0 ! Row 3, Column 6
-3, 2, 84, 0 ! Row 4, Column 6
-4, 2, 85, 0 ! Row 5, Column 6
-5, 2, 86, 0 ! Row 6, Column 6
-6, 2, 87, 0 ! Row 7, Column 6
-7, 2, 88, 0 ! Row 8, Column 6
-8, 2, 89, 0 ! Row 9, Column 6
-9, 2, 90, 0 ! Row 10, Column 6
-10, 2, 91, 0 ! Row 11, Column 6
-11, 2, 92, 0 ! Row 12, Column 6
-12, 2, 93, 0 ! Row 13, Column 6
-13, 2, 94, 0 ! Row 14, Column 6
-14, 2, 95, 0 ! Row 15, Column 6
-15, 2, 96, 0 ! Row 16, Column 6
+   0,   2,  81,   0  ! Row 1, Column 6
+   1,   2,  82,   0  ! Row 2, Column 6
+   2,   2,  83,   0  ! Row 3, Column 6
+   3,   2,  84,   0  ! Row 4, Column 6
+   4,   2,  85,   0  ! Row 5, Column 6
+   5,   2,  86,   0  ! Row 6, Column 6
+   6,   2,  87,   0  ! Row 7, Column 6
+   7,   2,  88,   0  ! Row 8, Column 6
+   8,   2,  89,   0  ! Row 9, Column 6
+   9,   2,  90,   0  ! Row 10, Column 6
+  10,   2,  91,   0  ! Row 11, Column 6
+  11,   2,  92,   0  ! Row 12, Column 6
+  12,   2,  93,   0  ! Row 13, Column 6
+  13,   2,  94,   0  ! Row 14, Column 6
+  14,   2,  95,   0  ! Row 15, Column 6
+  15,   2,  96,   0  ! Row 16, Column 6
+
 SLOT=13
-! chan   plane    row      sig
-0, 2, 97, 0 ! Row 1, Column 7
-1, 2, 98, 0 ! Row 2, Column 7
-2, 2, 99, 0 ! Row 3, Column 7
-3, 2, 100, 0 ! Row 4, Column 7
-4, 2, 101, 0 ! Row 5, Column 7
-5, 2, 102, 0 ! Row 6, Column 7
-6, 2, 103, 0 ! Row 7, Column 7
-7, 2, 104, 0 ! Row 8, Column 7
-8, 2, 105, 0 ! Row 9, Column 7
-9, 2, 106, 0 ! Row 10, Column 7
-10, 2, 107, 0 ! Row 11, Column 7
-11, 2, 108, 0 ! Row 12, Column 7
-12, 2, 109, 0 ! Row 13, Column 7
-13, 2, 110, 0 ! Row 14, Column 7
-14, 2, 111, 0 ! Row 15, Column 7
-15, 2, 112, 0 ! Row 16, Column 7
+   0,   2,  97,   0  ! Row 1, Column 7
+   1,   2,  98,   0  ! Row 2, Column 7
+   2,   2,  99,   0  ! Row 3, Column 7
+   3,   2, 100,   0  ! Row 4, Column 7
+   4,   2, 101,   0  ! Row 5, Column 7
+   5,   2, 102,   0  ! Row 6, Column 7
+   6,   2, 103,   0  ! Row 7, Column 7
+   7,   2, 104,   0  ! Row 8, Column 7
+   8,   2, 105,   0  ! Row 9, Column 7
+   9,   2, 106,   0  ! Row 10, Column 7
+  10,   2, 107,   0  ! Row 11, Column 7
+  11,   2, 108,   0  ! Row 12, Column 7
+  12,   2, 109,   0  ! Row 13, Column 7
+  13,   2, 110,   0  ! Row 14, Column 7
+  14,   2, 111,   0  ! Row 15, Column 7
+  15,   2, 112,   0  ! Row 16, Column 7
+
 SLOT=14
-! chan   plane    row      sig
-0, 2, 113, 0 ! Row 1, Column 8
-1, 2, 114, 0 ! Row 2, Column 8
-2, 2, 115, 0 ! Row 3, Column 8
-3, 2, 116, 0 ! Row 4, Column 8
-4, 2, 117, 0 ! Row 5, Column 8
-5, 2, 118, 0 ! Row 6, Column 8
-6, 2, 119, 0 ! Row 7, Column 8
-7, 2, 120, 0 ! Row 8, Column 8
-8, 2, 121, 0 ! Row 9, Column 8
-9, 2, 122, 0 ! Row 10, Column 8
-10, 2, 123, 0 ! Row 11, Column 8
-11, 2, 124, 0 ! Row 12, Column 8
-12, 2, 125, 0 ! Row 13, Column 8
-13, 2, 126, 0 ! Row 14, Column 8
-14, 2, 127, 0 ! Row 15, Column 8
-15, 2, 128, 0 ! Row 16, Column 8
+   0,   2, 113,   0  ! Row 1, Column 8
+   1,   2, 114,   0  ! Row 2, Column 8
+   2,   2, 115,   0  ! Row 3, Column 8
+   3,   2, 116,   0  ! Row 4, Column 8
+   4,   2, 117,   0  ! Row 5, Column 8
+   5,   2, 118,   0  ! Row 6, Column 8
+   6,   2, 119,   0  ! Row 7, Column 8
+   7,   2, 120,   0  ! Row 8, Column 8
+   8,   2, 121,   0  ! Row 9, Column 8
+   9,   2, 122,   0  ! Row 10, Column 8
+  10,   2, 123,   0  ! Row 11, Column 8
+  11,   2, 124,   0  ! Row 12, Column 8
+  12,   2, 125,   0  ! Row 13, Column 8
+  13,   2, 126,   0  ! Row 14, Column 8
+  14,   2, 127,   0  ! Row 15, Column 8
+  15,   2, 128,   0  ! Row 16, Column 8
+
 SLOT=15
-! chan   plane    row      sig
-0, 2, 129, 0 ! Row 1, Column 9
-1, 2, 130, 0 ! Row 2, Column 9
-2, 2, 131, 0 ! Row 3, Column 9
-3, 2, 132, 0 ! Row 4, Column 9
-4, 2, 133, 0 ! Row 5, Column 9
-5, 2, 134, 0 ! Row 6, Column 9
-6, 2, 135, 0 ! Row 7, Column 9
-7, 2, 136, 0 ! Row 8, Column 9
-8, 2, 137, 0 ! Row 9, Column 9
-9, 2, 138, 0 ! Row 10, Column 9
-10, 2, 139, 0 ! Row 11, Column 9
-11, 2, 140, 0 ! Row 12, Column 9
-12, 2, 141, 0 ! Row 13, Column 9
-13, 2, 142, 0 ! Row 14, Column 9
-14, 2, 143, 0 ! Row 15, Column 9
-15, 2, 144, 0 ! Row 16, Column 9
+   0,   2, 129,   0  ! Row 1, Column 9
+   1,   2, 130,   0  ! Row 2, Column 9
+   2,   2, 131,   0  ! Row 3, Column 9
+   3,   2, 132,   0  ! Row 4, Column 9
+   4,   2, 133,   0  ! Row 5, Column 9
+   5,   2, 134,   0  ! Row 6, Column 9
+   6,   2, 135,   0  ! Row 7, Column 9
+   7,   2, 136,   0  ! Row 8, Column 9
+   8,   2, 137,   0  ! Row 9, Column 9
+   9,   2, 138,   0  ! Row 10, Column 9
+  10,   2, 139,   0  ! Row 11, Column 9
+  11,   2, 140,   0  ! Row 12, Column 9
+  12,   2, 141,   0  ! Row 13, Column 9
+  13,   2, 142,   0  ! Row 14, Column 9
+  14,   2, 143,   0  ! Row 15, Column 9
+  15,   2, 144,   0  ! Row 16, Column 9
+
 SLOT=16
-! chan   plane    row      sig
-0, 2, 145, 0 ! Row 1, Column 10
-1, 2, 146, 0 ! Row 2, Column 10
-2, 2, 147, 0 ! Row 3, Column 10
-3, 2, 148, 0 ! Row 4, Column 10
-4, 2, 149, 0 ! Row 5, Column 10
-5, 2, 150, 0 ! Row 6, Column 10
-6, 2, 151, 0 ! Row 7, Column 10
-7, 2, 152, 0 ! Row 8, Column 10
-8, 2, 153, 0 ! Row 9, Column 10
-9, 2, 154, 0 ! Row 10, Column 10
-10, 2, 155, 0 ! Row 11, Column 10
-11, 2, 156, 0 ! Row 12, Column 10
-12, 2, 157, 0 ! Row 13, Column 10
-13, 2, 158, 0 ! Row 14, Column 10
-14, 2, 159, 0 ! Row 15, Column 10
-15, 2, 160, 0 ! Row 16, Column 10
+   0,   2, 145,   0  ! Row 1, Column 10
+   1,   2, 146,   0  ! Row 2, Column 10
+   2,   2, 147,   0  ! Row 3, Column 10
+   3,   2, 148,   0  ! Row 4, Column 10
+   4,   2, 149,   0  ! Row 5, Column 10
+   5,   2, 150,   0  ! Row 6, Column 10
+   6,   2, 151,   0  ! Row 7, Column 10
+   7,   2, 152,   0  ! Row 8, Column 10
+   8,   2, 153,   0  ! Row 9, Column 10
+   9,   2, 154,   0  ! Row 10, Column 10
+  10,   2, 155,   0  ! Row 11, Column 10
+  11,   2, 156,   0  ! Row 12, Column 10
+  12,   2, 157,   0  ! Row 13, Column 10
+  13,   2, 158,   0  ! Row 14, Column 10
+  14,   2, 159,   0  ! Row 15, Column 10
+  15,   2, 160,   0  ! Row 16, Column 10
+
 SLOT=17
-! chan   plane    row      sig
-0, 2, 161, 0 ! Row 1, Column 11
-1, 2, 162, 0 ! Row 2, Column 11
-2, 2, 163, 0 ! Row 3, Column 11
-3, 2, 164, 0 ! Row 4, Column 11
-4, 2, 165, 0 ! Row 5, Column 11
-5, 2, 166, 0 ! Row 6, Column 11
-6, 2, 167, 0 ! Row 7, Column 11
-7, 2, 168, 0 ! Row 8, Column 11
-8, 2, 169, 0 ! Row 9, Column 11
-9, 2, 170, 0 ! Row 10, Column 11
-10, 2, 171, 0 ! Row 11, Column 11
-11, 2, 172, 0 ! Row 12, Column 11
-12, 2, 173, 0 ! Row 13, Column 11
-13, 2, 174, 0 ! Row 14, Column 11
-14, 2, 175, 0 ! Row 15, Column 11
-15, 2, 176, 0 ! Row 16, Column 11
+   0,   2, 161,   0  ! Row 1, Column 11
+   1,   2, 162,   0  ! Row 2, Column 11
+   2,   2, 163,   0  ! Row 3, Column 11
+   3,   2, 164,   0  ! Row 4, Column 11
+   4,   2, 165,   0  ! Row 5, Column 11
+   5,   2, 166,   0  ! Row 6, Column 11
+   6,   2, 167,   0  ! Row 7, Column 11
+   7,   2, 168,   0  ! Row 8, Column 11
+   8,   2, 169,   0  ! Row 9, Column 11
+   9,   2, 170,   0  ! Row 10, Column 11
+  10,   2, 171,   0  ! Row 11, Column 11
+  11,   2, 172,   0  ! Row 12, Column 11
+  12,   2, 173,   0  ! Row 13, Column 11
+  13,   2, 174,   0  ! Row 14, Column 11
+  14,   2, 175,   0  ! Row 15, Column 11
+  15,   2, 176,   0  ! Row 16, Column 11
+
 SLOT=18
-! chan   plane    row      sig
-0, 2, 177, 0 ! Row 1, Column 12
-1, 2, 178, 0 ! Row 2, Column 12
-2, 2, 179, 0 ! Row 3, Column 12
-3, 2, 180, 0 ! Row 4, Column 12
-4, 2, 181, 0 ! Row 5, Column 12
-5, 2, 182, 0 ! Row 6, Column 12
-6, 2, 183, 0 ! Row 7, Column 12
-7, 2, 184, 0 ! Row 8, Column 12
-8, 2, 185, 0 ! Row 9, Column 12
-9, 2, 186, 0 ! Row 10, Column 12
-10, 2, 187, 0 ! Row 11, Column 12
-11, 2, 188, 0 ! Row 12, Column 12
-12, 2, 189, 0 ! Row 13, Column 12
-13, 2, 190, 0 ! Row 14, Column 12
-14, 2, 191, 0 ! Row 15, Column 12
-15, 2, 192, 0 ! Row 16, Column 12
+   0,   2, 177,   0  ! Row 1, Column 12
+   1,   2, 178,   0  ! Row 2, Column 12
+   2,   2, 179,   0  ! Row 3, Column 12
+   3,   2, 180,   0  ! Row 4, Column 12
+   4,   2, 181,   0  ! Row 5, Column 12
+   5,   2, 182,   0  ! Row 6, Column 12
+   6,   2, 183,   0  ! Row 7, Column 12
+   7,   2, 184,   0  ! Row 8, Column 12
+   8,   2, 185,   0  ! Row 9, Column 12
+   9,   2, 186,   0  ! Row 10, Column 12
+  10,   2, 187,   0  ! Row 11, Column 12
+  11,   2, 188,   0  ! Row 12, Column 12
+  12,   2, 189,   0  ! Row 13, Column 12
+  13,   2, 190,   0  ! Row 14, Column 12
+  14,   2, 191,   0  ! Row 15, Column 12
+  15,   2, 192,   0  ! Row 16, Column 12
+
 SLOT=19
-! chan   plane    row      sig
-0, 2, 193, 0 ! Row 1, Column 13
-1, 2, 194, 0 ! Row 2, Column 13
-2, 2, 195, 0 ! Row 3, Column 13
-3, 2, 196, 0 ! Row 4, Column 13
-4, 2, 197, 0 ! Row 5, Column 13
-5, 2, 198, 0 ! Row 6, Column 13
-6, 2, 199, 0 ! Row 7, Column 13
-7, 2, 200, 0 ! Row 8, Column 13
-8, 2, 201, 0 ! Row 9, Column 13
-9, 2, 202, 0 ! Row 10, Column 13
-10, 2, 203, 0 ! Row 11, Column 13
-11, 2, 204, 0 ! Row 12, Column 13
-12, 2, 205, 0 ! Row 13, Column 13
-13, 2, 206, 0 ! Row 14, Column 13
-14, 2, 207, 0 ! Row 15, Column 13
-15, 2, 208, 0 ! Row 16, Column 13
+   0,   2, 193,   0  ! Row 1, Column 13
+   1,   2, 194,   0  ! Row 2, Column 13
+   2,   2, 195,   0  ! Row 3, Column 13
+   3,   2, 196,   0  ! Row 4, Column 13
+   4,   2, 197,   0  ! Row 5, Column 13
+   5,   2, 198,   0  ! Row 6, Column 13
+   6,   2, 199,   0  ! Row 7, Column 13
+   7,   2, 200,   0  ! Row 8, Column 13
+   8,   2, 201,   0  ! Row 9, Column 13
+   9,   2, 202,   0  ! Row 10, Column 13
+  10,   2, 203,   0  ! Row 11, Column 13
+  11,   2, 204,   0  ! Row 12, Column 13
+  12,   2, 205,   0  ! Row 13, Column 13
+  13,   2, 206,   0  ! Row 14, Column 13
+  14,   2, 207,   0  ! Row 15, Column 13
+  15,   2, 208,   0  ! Row 16, Column 13
+
 SLOT=20
-! chan   plane    row      sig
-0, 2, 209, 0 ! Row 1, Column 14
-1, 2, 210, 0 ! Row 2, Column 14
-2, 2, 211, 0 ! Row 3, Column 14
-3, 2, 212, 0 ! Row 4, Column 14
-4, 2, 213, 0 ! Row 5, Column 14
-5, 2, 214, 0 ! Row 6, Column 14
-6, 2, 215, 0 ! Row 7, Column 14
-7, 2, 216, 0 ! Row 8, Column 14
-8, 2, 217, 0 ! Row 9, Column 14
-9, 2, 218, 0 ! Row 10, Column 14
-10, 2, 219, 0 ! Row 11, Column 14
-11, 2, 220, 0 ! Row 12, Column 14
-12, 2, 221, 0 ! Row 13, Column 14
-13, 2, 222, 0 ! Row 14, Column 14
-14, 2, 223, 0 ! Row 15, Column 14
-15, 2, 224, 0 ! Row 16, Column 14
\ No newline at end of file
+   0,   2, 209,   0  ! Row 1, Column 14
+   1,   2, 210,   0  ! Row 2, Column 14
+   2,   2, 211,   0  ! Row 3, Column 14
+   3,   2, 212,   0  ! Row 4, Column 14
+   4,   2, 213,   0  ! Row 5, Column 14
+   5,   2, 214,   0  ! Row 6, Column 14
+   6,   2, 215,   0  ! Row 7, Column 14
+   7,   2, 216,   0  ! Row 8, Column 14
+   8,   2, 217,   0  ! Row 9, Column 14
+   9,   2, 218,   0  ! Row 10, Column 14
+  10,   2, 219,   0  ! Row 11, Column 14
+  11,   2, 220,   0  ! Row 12, Column 14
+  12,   2, 221,   0  ! Row 13, Column 14
+  13,   2, 222,   0  ! Row 14, Column 14
+  14,   2, 223,   0  ! Row 15, Column 14
+  15,   2, 224,   0  ! Row 16, Column 14
diff --git a/MAPS/SHMS/DETEC/pdc.map b/MAPS/SHMS/DETEC/pdc.map
index 1125f423..fec250e4 100644
--- a/MAPS/SHMS/DETEC/pdc.map
+++ b/MAPS/SHMS/DETEC/pdc.map
@@ -1,1232 +1,1337 @@
-!SHMS:
-! PDC_ID=21               TDC
+! PDC_ID=22        ::  TDC
+
+
+DETECTOR=22  ! SHMS chambers
 
 ROC=6
-detector=21 ! SHMS chambers
 
-! Caen 1190 VME Modules >> DC1
 SLOT=9
-77,1,1 ! Plane U, wire 1
-76,1,2 ! Plane U, wire 2
-75,1,3 ! Plane U, wire 3
-74,1,4 ! Plane U, wire 4
-73,1,5 ! Plane U, wire 5
-72,1,6 ! Plane U, wire 6
-71,1,7 ! Plane U, wire 7
-70,1,8 ! Plane U, wire 8
-69,1,9 ! Plane U, wire 9
-68,1,10 ! Plane U, wire 10
-67,1,11 ! Plane U, wire 11
-66,1,12 ! Plane U, wire 12
-65,1,13 ! Plane U, wire 13
-64,1,14 ! Plane U, wire 14
+REFCHAN=79
+  78,   1,   1  ! DC1, Plane U, wire 1
+  77,   1,   2  ! DC1, Plane U, wire 2
+  76,   1,   3  ! DC1, Plane U, wire 3
+  75,   1,   4  ! DC1, Plane U, wire 4
+  74,   1,   5  ! DC1, Plane U, wire 5
+  73,   1,   6  ! DC1, Plane U, wire 6
+  72,   1,   7  ! DC1, Plane U, wire 7
+  71,   1,   8  ! DC1, Plane U, wire 8
+  70,   1,   9  ! DC1, Plane U, wire 9
+  69,   1,  10  ! DC1, Plane U, wire 10
+  68,   1,  11  ! DC1, Plane U, wire 11
+  67,   1,  12  ! DC1, Plane U, wire 12
+  66,   1,  13  ! DC1, Plane U, wire 13
+  65,   1,  14  ! DC1, Plane U, wire 14
+  64,   1,  15  ! DC1, Plane U, wire 15
+
 SLOT=7
-31,1,15 ! Plane U, wire 15
-30,1,16 ! Plane U, wire 16
-29,1,17 ! Plane U, wire 17
-28,1,18 ! Plane U, wire 18
-27,1,19 ! Plane U, wire 19
-26,1,20 ! Plane U, wire 20
-25,1,21 ! Plane U, wire 21
-24,1,22 ! Plane U, wire 22
-23,1,23 ! Plane U, wire 23
-22,1,24 ! Plane U, wire 24
-21,1,25 ! Plane U, wire 25
-20,1,26 ! Plane U, wire 26
-19,1,27 ! Plane U, wire 27
-18,1,28 ! Plane U, wire 28
-17,1,29 ! Plane U, wire 29
-16,1,30 ! Plane U, wire 30
+REFCHAN=79
+  31,   1,  16  ! DC1, Plane U, wire 16
+  30,   1,  17  ! DC1, Plane U, wire 17
+  29,   1,  18  ! DC1, Plane U, wire 18
+  28,   1,  19  ! DC1, Plane U, wire 19
+  27,   1,  20  ! DC1, Plane U, wire 20
+  26,   1,  21  ! DC1, Plane U, wire 21
+  25,   1,  22  ! DC1, Plane U, wire 22
+  24,   1,  23  ! DC1, Plane U, wire 23
+  23,   1,  24  ! DC1, Plane U, wire 24
+  22,   1,  25  ! DC1, Plane U, wire 25
+  21,   1,  26  ! DC1, Plane U, wire 26
+  20,   1,  27  ! DC1, Plane U, wire 27
+  19,   1,  28  ! DC1, Plane U, wire 28
+  18,   1,  29  ! DC1, Plane U, wire 29
+  17,   1,  30  ! DC1, Plane U, wire 30
+  16,   1,  31  ! DC1, Plane U, wire 31
+
 SLOT=6
-95,1,31 ! Plane U, wire 31
-94,1,32 ! Plane U, wire 32
-93,1,33 ! Plane U, wire 33
-92,1,34 ! Plane U, wire 34
-91,1,35 ! Plane U, wire 35
-90,1,36 ! Plane U, wire 36
-89,1,37 ! Plane U, wire 37
-88,1,38 ! Plane U, wire 38
-87,1,39 ! Plane U, wire 39
-86,1,40 ! Plane U, wire 40
-85,1,41 ! Plane U, wire 41
-84,1,42 ! Plane U, wire 42
-83,1,43 ! Plane U, wire 43
-82,1,44 ! Plane U, wire 44
-81,1,45 ! Plane U, wire 45
-80,1,46 ! Plane U, wire 46
-31,1,47 ! Plane U, wire 47
-30,1,48 ! Plane U, wire 48
-29,1,49 ! Plane U, wire 49
-28,1,50 ! Plane U, wire 50
-27,1,51 ! Plane U, wire 51
-26,1,52 ! Plane U, wire 52
-25,1,53 ! Plane U, wire 53
-24,1,54 ! Plane U, wire 54
-23,1,55 ! Plane U, wire 55
-22,1,56 ! Plane U, wire 56
-21,1,57 ! Plane U, wire 57
-20,1,58 ! Plane U, wire 58
-19,1,59 ! Plane U, wire 59
-18,1,60 ! Plane U, wire 60
-17,1,61 ! Plane U, wire 61
-16,1,62 ! Plane U, wire 62
+REFCHAN=79
+  95,   1,  32  ! DC1, Plane U, wire 32
+  94,   1,  33  ! DC1, Plane U, wire 33
+  93,   1,  34  ! DC1, Plane U, wire 34
+  92,   1,  35  ! DC1, Plane U, wire 35
+  91,   1,  36  ! DC1, Plane U, wire 36
+  90,   1,  37  ! DC1, Plane U, wire 37
+  89,   1,  38  ! DC1, Plane U, wire 38
+  88,   1,  39  ! DC1, Plane U, wire 39
+  87,   1,  40  ! DC1, Plane U, wire 40
+  86,   1,  41  ! DC1, Plane U, wire 41
+  85,   1,  42  ! DC1, Plane U, wire 42
+  84,   1,  43  ! DC1, Plane U, wire 43
+  83,   1,  44  ! DC1, Plane U, wire 44
+  82,   1,  45  ! DC1, Plane U, wire 45
+  81,   1,  46  ! DC1, Plane U, wire 46
+  80,   1,  47  ! DC1, Plane U, wire 47
+  31,   1,  48  ! DC1, Plane U, wire 48
+  30,   1,  49  ! DC1, Plane U, wire 49
+  29,   1,  50  ! DC1, Plane U, wire 50
+  28,   1,  51  ! DC1, Plane U, wire 51
+  27,   1,  52  ! DC1, Plane U, wire 52
+  26,   1,  53  ! DC1, Plane U, wire 53
+  25,   1,  54  ! DC1, Plane U, wire 54
+  24,   1,  55  ! DC1, Plane U, wire 55
+  23,   1,  56  ! DC1, Plane U, wire 56
+  22,   1,  57  ! DC1, Plane U, wire 57
+  21,   1,  58  ! DC1, Plane U, wire 58
+  20,   1,  59  ! DC1, Plane U, wire 59
+  19,   1,  60  ! DC1, Plane U, wire 60
+  18,   1,  61  ! DC1, Plane U, wire 61
+  17,   1,  62  ! DC1, Plane U, wire 62
+  16,   1,  63  ! DC1, Plane U, wire 63
+
 SLOT=8
-112,1,63 ! Plane U, wire 63
-113,1,64 ! Plane U, wire 64
-114,1,65 ! Plane U, wire 65
-115,1,66 ! Plane U, wire 66
-116,1,67 ! Plane U, wire 67
-117,1,68 ! Plane U, wire 68
-118,1,69 ! Plane U, wire 69
-119,1,70 ! Plane U, wire 70
-120,1,71 ! Plane U, wire 71
-121,1,72 ! Plane U, wire 72
-122,1,73 ! Plane U, wire 73
-123,1,74 ! Plane U, wire 74
-124,1,75 ! Plane U, wire 75
-125,1,76 ! Plane U, wire 76
-126,1,77 ! Plane U, wire 77
-127,1,78 ! Plane U, wire 78
-48,1,79 ! Plane U, wire 79
-49,1,80 ! Plane U, wire 80
-50,1,81 ! Plane U, wire 81
-51,1,82 ! Plane U, wire 82
-52,1,83 ! Plane U, wire 83
-53,1,84 ! Plane U, wire 84
-54,1,85 ! Plane U, wire 85
-55,1,86 ! Plane U, wire 86
-56,1,87 ! Plane U, wire 87
-57,1,88 ! Plane U, wire 88
-58,1,89 ! Plane U, wire 89
-59,1,90 ! Plane U, wire 90
-60,1,91 ! Plane U, wire 91
-61,1,92 ! Plane U, wire 92
-62,1,93 ! Plane U, wire 93
+REFCHAN=79
+ 112,   1,  64  ! DC1, Plane U, wire 64
+ 113,   1,  65  ! DC1, Plane U, wire 65
+ 114,   1,  66  ! DC1, Plane U, wire 66
+ 115,   1,  67  ! DC1, Plane U, wire 67
+ 116,   1,  68  ! DC1, Plane U, wire 68
+ 117,   1,  69  ! DC1, Plane U, wire 69
+ 118,   1,  70  ! DC1, Plane U, wire 70
+ 119,   1,  71  ! DC1, Plane U, wire 71
+ 120,   1,  72  ! DC1, Plane U, wire 72
+ 121,   1,  73  ! DC1, Plane U, wire 73
+ 122,   1,  74  ! DC1, Plane U, wire 74
+ 123,   1,  75  ! DC1, Plane U, wire 75
+ 124,   1,  76  ! DC1, Plane U, wire 76
+ 125,   1,  77  ! DC1, Plane U, wire 77
+ 126,   1,  78  ! DC1, Plane U, wire 78
+ 127,   1,  79  ! DC1, Plane U, wire 79
+  48,   1,  80  ! DC1, Plane U, wire 80
+  49,   1,  81  ! DC1, Plane U, wire 81
+  50,   1,  82  ! DC1, Plane U, wire 82
+  51,   1,  83  ! DC1, Plane U, wire 83
+  52,   1,  84  ! DC1, Plane U, wire 84
+  53,   1,  85  ! DC1, Plane U, wire 85
+  54,   1,  86  ! DC1, Plane U, wire 86
+  55,   1,  87  ! DC1, Plane U, wire 87
+  56,   1,  88  ! DC1, Plane U, wire 88
+  57,   1,  89  ! DC1, Plane U, wire 89
+  58,   1,  90  ! DC1, Plane U, wire 90
+  59,   1,  91  ! DC1, Plane U, wire 91
+  60,   1,  92  ! DC1, Plane U, wire 92
+  61,   1,  93  ! DC1, Plane U, wire 93
+  62,   1,  94  ! DC1, Plane U, wire 94
+  63,   1,  95  ! DC1, Plane U, wire 95
+
 SLOT=9
-78,1,94 ! Plane U, wire 94
-112,1,95 ! Plane U, wire 95
-113,1,96 ! Plane U, wire 96
-114,1,97 ! Plane U, wire 97
-115,1,98 ! Plane U, wire 98
-116,1,99 ! Plane U, wire 99
-117,1,100 ! Plane U, wire 100
-118,1,101 ! Plane U, wire 101
-119,1,102 ! Plane U, wire 102
-120,1,103 ! Plane U, wire 103
-121,1,104 ! Plane U, wire 104
-122,1,105 ! Plane U, wire 105
-123,1,106 ! Plane U, wire 106
+REFCHAN=79
+ 112,   1,  96  ! DC1, Plane U, wire 96
+ 113,   1,  97  ! DC1, Plane U, wire 97
+ 114,   1,  98  ! DC1, Plane U, wire 98
+ 115,   1,  99  ! DC1, Plane U, wire 99
+ 116,   1, 100  ! DC1, Plane U, wire 100
+ 117,   1, 101  ! DC1, Plane U, wire 101
+ 118,   1, 102  ! DC1, Plane U, wire 102
+ 119,   1, 103  ! DC1, Plane U, wire 103
+ 120,   1, 104  ! DC1, Plane U, wire 104
+ 121,   1, 105  ! DC1, Plane U, wire 105
+ 122,   1, 106  ! DC1, Plane U, wire 106
+ 123,   1, 107  ! DC1, Plane U, wire 107
+
 SLOT=8
-74,2,1 ! Plane U', wire 1
-73,2,2 ! Plane U', wire 2
-72,2,3 ! Plane U', wire 3
-71,2,4 ! Plane U', wire 4
-70,2,5 ! Plane U', wire 5
-69,2,6 ! Plane U', wire 6
-68,2,7 ! Plane U', wire 7
-67,2,8 ! Plane U', wire 8
-66,2,9 ! Plane U', wire 9
-65,2,10 ! Plane U', wire 10
-64,2,11 ! Plane U', wire 11
+REFCHAN=79
+  75,   2,   1  ! DC1, Plane U', wire 1
+  74,   2,   2  ! DC1, Plane U', wire 2
+  73,   2,   3  ! DC1, Plane U', wire 3
+  72,   2,   4  ! DC1, Plane U', wire 4
+  71,   2,   5  ! DC1, Plane U', wire 5
+  70,   2,   6  ! DC1, Plane U', wire 6
+  69,   2,   7  ! DC1, Plane U', wire 7
+  68,   2,   8  ! DC1, Plane U', wire 8
+  67,   2,   9  ! DC1, Plane U', wire 9
+  66,   2,  10  ! DC1, Plane U', wire 10
+  65,   2,  11  ! DC1, Plane U', wire 11
+  64,   2,  12  ! DC1, Plane U', wire 12
+
 SLOT=6
-127,2,12 ! Plane U', wire 12
-126,2,13 ! Plane U', wire 13
-125,2,14 ! Plane U', wire 14
-124,2,15 ! Plane U', wire 15
-123,2,16 ! Plane U', wire 16
-122,2,17 ! Plane U', wire 17
-121,2,18 ! Plane U', wire 18
-120,2,19 ! Plane U', wire 19
-119,2,20 ! Plane U', wire 20
-118,2,21 ! Plane U', wire 21
-117,2,22 ! Plane U', wire 22
-116,2,23 ! Plane U', wire 23
-115,2,24 ! Plane U', wire 24
-114,2,25 ! Plane U', wire 25
-113,2,26 ! Plane U', wire 26
-112,2,27 ! Plane U', wire 27
-47,2,28 ! Plane U', wire 28
-46,2,29 ! Plane U', wire 29
-45,2,30 ! Plane U', wire 30
-44,2,31 ! Plane U', wire 31
-43,2,32 ! Plane U', wire 32
-42,2,33 ! Plane U', wire 33
-41,2,34 ! Plane U', wire 34
-40,2,35 ! Plane U', wire 35
-39,2,36 ! Plane U', wire 36
-38,2,37 ! Plane U', wire 37
-37,2,38 ! Plane U', wire 38
-36,2,39 ! Plane U', wire 39
-35,2,40 ! Plane U', wire 40
-34,2,41 ! Plane U', wire 41
-33,2,42 ! Plane U', wire 42
-SLOT=8
-75,2,43 ! Plane U', wire 43
+REFCHAN=79
+ 127,   2,  13  ! DC1, Plane U', wire 13
+ 126,   2,  14  ! DC1, Plane U', wire 14
+ 125,   2,  15  ! DC1, Plane U', wire 15
+ 124,   2,  16  ! DC1, Plane U', wire 16
+ 123,   2,  17  ! DC1, Plane U', wire 17
+ 122,   2,  18  ! DC1, Plane U', wire 18
+ 121,   2,  19  ! DC1, Plane U', wire 19
+ 120,   2,  20  ! DC1, Plane U', wire 20
+ 119,   2,  21  ! DC1, Plane U', wire 21
+ 118,   2,  22  ! DC1, Plane U', wire 22
+ 117,   2,  23  ! DC1, Plane U', wire 23
+ 116,   2,  24  ! DC1, Plane U', wire 24
+ 115,   2,  25  ! DC1, Plane U', wire 25
+ 114,   2,  26  ! DC1, Plane U', wire 26
+ 113,   2,  27  ! DC1, Plane U', wire 27
+ 112,   2,  28  ! DC1, Plane U', wire 28
+  47,   2,  29  ! DC1, Plane U', wire 29
+  46,   2,  30  ! DC1, Plane U', wire 30
+  45,   2,  31  ! DC1, Plane U', wire 31
+  44,   2,  32  ! DC1, Plane U', wire 32
+  43,   2,  33  ! DC1, Plane U', wire 33
+  42,   2,  34  ! DC1, Plane U', wire 34
+  41,   2,  35  ! DC1, Plane U', wire 35
+  40,   2,  36  ! DC1, Plane U', wire 36
+  39,   2,  37  ! DC1, Plane U', wire 37
+  38,   2,  38  ! DC1, Plane U', wire 38
+  37,   2,  39  ! DC1, Plane U', wire 39
+  36,   2,  40  ! DC1, Plane U', wire 40
+  35,   2,  41  ! DC1, Plane U', wire 41
+  34,   2,  42  ! DC1, Plane U', wire 42
+  33,   2,  43  ! DC1, Plane U', wire 43
+  32,   2,  44  ! DC1, Plane U', wire 44
+
 SLOT=9
-0,2,44 ! Plane U', wire 44
-1,2,45 ! Plane U', wire 45
-2,2,46 ! Plane U', wire 46
-3,2,47 ! Plane U', wire 47
-4,2,48 ! Plane U', wire 48
-5,2,49 ! Plane U', wire 49
-6,2,50 ! Plane U', wire 50
-7,2,51 ! Plane U', wire 51
-8,2,52 ! Plane U', wire 52
-9,2,53 ! Plane U', wire 53
-10,2,54 ! Plane U', wire 54
-11,2,55 ! Plane U', wire 55
-12,2,56 ! Plane U', wire 56
-13,2,57 ! Plane U', wire 57
-14,2,58 ! Plane U', wire 58
-15,2,59 ! Plane U', wire 59
+REFCHAN=79
+   0,   2,  45  ! DC1, Plane U', wire 45
+   1,   2,  46  ! DC1, Plane U', wire 46
+   2,   2,  47  ! DC1, Plane U', wire 47
+   3,   2,  48  ! DC1, Plane U', wire 48
+   4,   2,  49  ! DC1, Plane U', wire 49
+   5,   2,  50  ! DC1, Plane U', wire 50
+   6,   2,  51  ! DC1, Plane U', wire 51
+   7,   2,  52  ! DC1, Plane U', wire 52
+   8,   2,  53  ! DC1, Plane U', wire 53
+   9,   2,  54  ! DC1, Plane U', wire 54
+  10,   2,  55  ! DC1, Plane U', wire 55
+  11,   2,  56  ! DC1, Plane U', wire 56
+  12,   2,  57  ! DC1, Plane U', wire 57
+  13,   2,  58  ! DC1, Plane U', wire 58
+  14,   2,  59  ! DC1, Plane U', wire 59
+  15,   2,  60  ! DC1, Plane U', wire 60
+
 SLOT=8
-96,2,60 ! Plane U', wire 60
-97,2,61 ! Plane U', wire 61
-98,2,62 ! Plane U', wire 62
-99,2,63 ! Plane U', wire 63
-100,2,64 ! Plane U', wire 64
-101,2,65 ! Plane U', wire 65
-102,2,66 ! Plane U', wire 66
-103,2,67 ! Plane U', wire 67
-104,2,68 ! Plane U', wire 68
-105,2,69 ! Plane U', wire 69
-106,2,70 ! Plane U', wire 70
-107,2,71 ! Plane U', wire 71
-108,2,72 ! Plane U', wire 72
-109,2,73 ! Plane U', wire 73
-110,2,74 ! Plane U', wire 74
-111,2,75 ! Plane U', wire 75
+REFCHAN=79
+  96,   2,  61  ! DC1, Plane U', wire 61
+  97,   2,  62  ! DC1, Plane U', wire 62
+  98,   2,  63  ! DC1, Plane U', wire 63
+  99,   2,  64  ! DC1, Plane U', wire 64
+ 100,   2,  65  ! DC1, Plane U', wire 65
+ 101,   2,  66  ! DC1, Plane U', wire 66
+ 102,   2,  67  ! DC1, Plane U', wire 67
+ 103,   2,  68  ! DC1, Plane U', wire 68
+ 104,   2,  69  ! DC1, Plane U', wire 69
+ 105,   2,  70  ! DC1, Plane U', wire 70
+ 106,   2,  71  ! DC1, Plane U', wire 71
+ 107,   2,  72  ! DC1, Plane U', wire 72
+ 108,   2,  73  ! DC1, Plane U', wire 73
+ 109,   2,  74  ! DC1, Plane U', wire 74
+ 110,   2,  75  ! DC1, Plane U', wire 75
+ 111,   2,  76  ! DC1, Plane U', wire 76
+
 SLOT=10
-80,2,76 ! Plane U', wire 76
-81,2,77 ! Plane U', wire 77
-82,2,78 ! Plane U', wire 78
-83,2,79 ! Plane U', wire 79
-84,2,80 ! Plane U', wire 80
-85,2,81 ! Plane U', wire 81
-86,2,82 ! Plane U', wire 82
-87,2,83 ! Plane U', wire 83
-88,2,84 ! Plane U', wire 84
-89,2,85 ! Plane U', wire 85
-90,2,86 ! Plane U', wire 86
-91,2,87 ! Plane U', wire 87
-92,2,88 ! Plane U', wire 88
-93,2,89 ! Plane U', wire 89
-94,2,90 ! Plane U', wire 90
-95,2,91 ! Plane U', wire 91
-16,2,92 ! Plane U', wire 92
-17,2,93 ! Plane U', wire 93
-18,2,94 ! Plane U', wire 94
-19,2,95 ! Plane U', wire 95
-20,2,96 ! Plane U', wire 96
-21,2,97 ! Plane U', wire 97
-22,2,98 ! Plane U', wire 98
-23,2,99 ! Plane U', wire 99
-24,2,100 ! Plane U', wire 100
-25,2,101 ! Plane U', wire 101
-26,2,102 ! Plane U', wire 102
-27,2,103 ! Plane U', wire 103
-28,2,104 ! Plane U', wire 104
-29,2,105 ! Plane U', wire 105
-30,2,106 ! Plane U', wire 106
+REFCHAN=79
+  80,   2,  77  ! DC1, Plane U', wire 77
+  81,   2,  78  ! DC1, Plane U', wire 78
+  82,   2,  79  ! DC1, Plane U', wire 79
+  83,   2,  80  ! DC1, Plane U', wire 80
+  84,   2,  81  ! DC1, Plane U', wire 81
+  85,   2,  82  ! DC1, Plane U', wire 82
+  86,   2,  83  ! DC1, Plane U', wire 83
+  87,   2,  84  ! DC1, Plane U', wire 84
+  88,   2,  85  ! DC1, Plane U', wire 85
+  89,   2,  86  ! DC1, Plane U', wire 86
+  90,   2,  87  ! DC1, Plane U', wire 87
+  91,   2,  88  ! DC1, Plane U', wire 88
+  92,   2,  89  ! DC1, Plane U', wire 89
+  93,   2,  90  ! DC1, Plane U', wire 90
+  94,   2,  91  ! DC1, Plane U', wire 91
+  95,   2,  92  ! DC1, Plane U', wire 92
+  16,   2,  93  ! DC1, Plane U', wire 93
+  17,   2,  94  ! DC1, Plane U', wire 94
+  18,   2,  95  ! DC1, Plane U', wire 95
+  19,   2,  96  ! DC1, Plane U', wire 96
+  20,   2,  97  ! DC1, Plane U', wire 97
+  21,   2,  98  ! DC1, Plane U', wire 98
+  22,   2,  99  ! DC1, Plane U', wire 99
+  23,   2, 100  ! DC1, Plane U', wire 100
+  24,   2, 101  ! DC1, Plane U', wire 101
+  25,   2, 102  ! DC1, Plane U', wire 102
+  26,   2, 103  ! DC1, Plane U', wire 103
+  27,   2, 104  ! DC1, Plane U', wire 104
+  28,   2, 105  ! DC1, Plane U', wire 105
+  29,   2, 106  ! DC1, Plane U', wire 106
+  30,   2, 107  ! DC1, Plane U', wire 107
+
 SLOT=9
-45,5,1 ! Plane V, wire 1
-44,5,2 ! Plane V, wire 2
-43,5,3 ! Plane V, wire 3
-42,5,4 ! Plane V, wire 4
-41,5,5 ! Plane V, wire 5
-40,5,6 ! Plane V, wire 6
-39,5,7 ! Plane V, wire 7
-38,5,8 ! Plane V, wire 8
-37,5,9 ! Plane V, wire 9
-36,5,10 ! Plane V, wire 10
-35,5,11 ! Plane V, wire 11
-34,5,12 ! Plane V, wire 12
-33,5,13 ! Plane V, wire 13
-32,5,14 ! Plane V, wire 14
+REFCHAN=79
+  46,   5,   1  ! DC1, Plane V, wire 1
+  45,   5,   2  ! DC1, Plane V, wire 2
+  44,   5,   3  ! DC1, Plane V, wire 3
+  43,   5,   4  ! DC1, Plane V, wire 4
+  42,   5,   5  ! DC1, Plane V, wire 5
+  41,   5,   6  ! DC1, Plane V, wire 6
+  40,   5,   7  ! DC1, Plane V, wire 7
+  39,   5,   8  ! DC1, Plane V, wire 8
+  38,   5,   9  ! DC1, Plane V, wire 9
+  37,   5,  10  ! DC1, Plane V, wire 10
+  36,   5,  11  ! DC1, Plane V, wire 11
+  35,   5,  12  ! DC1, Plane V, wire 12
+  34,   5,  13  ! DC1, Plane V, wire 13
+  33,   5,  14  ! DC1, Plane V, wire 14
+  32,   5,  15  ! DC1, Plane V, wire 15
+
 SLOT=8
-31,5,15 ! Plane V, wire 15
-30,5,16 ! Plane V, wire 16
-29,5,17 ! Plane V, wire 17
-28,5,18 ! Plane V, wire 18
-27,5,19 ! Plane V, wire 19
-26,5,20 ! Plane V, wire 20
-25,5,21 ! Plane V, wire 21
-24,5,22 ! Plane V, wire 22
-23,5,23 ! Plane V, wire 23
-22,5,24 ! Plane V, wire 24
-21,5,25 ! Plane V, wire 25
-20,5,26 ! Plane V, wire 26
-19,5,27 ! Plane V, wire 27
-18,5,28 ! Plane V, wire 28
-17,5,29 ! Plane V, wire 29
-16,5,30 ! Plane V, wire 30
+REFCHAN=79
+  31,   5,  16  ! DC1, Plane V, wire 16
+  30,   5,  17  ! DC1, Plane V, wire 17
+  29,   5,  18  ! DC1, Plane V, wire 18
+  28,   5,  19  ! DC1, Plane V, wire 19
+  27,   5,  20  ! DC1, Plane V, wire 20
+  26,   5,  21  ! DC1, Plane V, wire 21
+  25,   5,  22  ! DC1, Plane V, wire 22
+  24,   5,  23  ! DC1, Plane V, wire 23
+  23,   5,  24  ! DC1, Plane V, wire 24
+  22,   5,  25  ! DC1, Plane V, wire 25
+  21,   5,  26  ! DC1, Plane V, wire 26
+  20,   5,  27  ! DC1, Plane V, wire 27
+  19,   5,  28  ! DC1, Plane V, wire 28
+  18,   5,  29  ! DC1, Plane V, wire 29
+  17,   5,  30  ! DC1, Plane V, wire 30
+  16,   5,  31  ! DC1, Plane V, wire 31
+
 SLOT=10
-15,5,31 ! Plane V, wire 31
-14,5,32 ! Plane V, wire 32
-13,5,33 ! Plane V, wire 33
-12,5,34 ! Plane V, wire 34
-11,5,35 ! Plane V, wire 35
-10,5,36 ! Plane V, wire 36
-9,5,37 ! Plane V, wire 37
-8,5,38 ! Plane V, wire 38
-7,5,39 ! Plane V, wire 39
-6,5,40 ! Plane V, wire 40
-5,5,41 ! Plane V, wire 41
-4,5,42 ! Plane V, wire 42
-3,5,43 ! Plane V, wire 43
-2,5,44 ! Plane V, wire 44
-1,5,45 ! Plane V, wire 45
-0,5,46 ! Plane V, wire 46
+REFCHAN=79
+  15,   5,  32  ! DC1, Plane V, wire 32
+  14,   5,  33  ! DC1, Plane V, wire 33
+  13,   5,  34  ! DC1, Plane V, wire 34
+  12,   5,  35  ! DC1, Plane V, wire 35
+  11,   5,  36  ! DC1, Plane V, wire 36
+  10,   5,  37  ! DC1, Plane V, wire 37
+   9,   5,  38  ! DC1, Plane V, wire 38
+   8,   5,  39  ! DC1, Plane V, wire 39
+   7,   5,  40  ! DC1, Plane V, wire 40
+   6,   5,  41  ! DC1, Plane V, wire 41
+   5,   5,  42  ! DC1, Plane V, wire 42
+   4,   5,  43  ! DC1, Plane V, wire 43
+   3,   5,  44  ! DC1, Plane V, wire 44
+   2,   5,  45  ! DC1, Plane V, wire 45
+   1,   5,  46  ! DC1, Plane V, wire 46
+   0,   5,  47  ! DC1, Plane V, wire 47
+
 SLOT=9
-63,5,47 ! Plane V, wire 47
-62,5,48 ! Plane V, wire 48
-61,5,49 ! Plane V, wire 49
-60,5,50 ! Plane V, wire 50
-59,5,51 ! Plane V, wire 51
-58,5,52 ! Plane V, wire 52
-57,5,53 ! Plane V, wire 53
-56,5,54 ! Plane V, wire 54
-55,5,55 ! Plane V, wire 55
-54,5,56 ! Plane V, wire 56
-53,5,57 ! Plane V, wire 57
-52,5,58 ! Plane V, wire 58
-51,5,59 ! Plane V, wire 59
-50,5,60 ! Plane V, wire 60
-49,5,61 ! Plane V, wire 61
-48,5,62 ! Plane V, wire 62
+REFCHAN=79
+  63,   5,  48  ! DC1, Plane V, wire 48
+  62,   5,  49  ! DC1, Plane V, wire 49
+  61,   5,  50  ! DC1, Plane V, wire 50
+  60,   5,  51  ! DC1, Plane V, wire 51
+  59,   5,  52  ! DC1, Plane V, wire 52
+  58,   5,  53  ! DC1, Plane V, wire 53
+  57,   5,  54  ! DC1, Plane V, wire 54
+  56,   5,  55  ! DC1, Plane V, wire 55
+  55,   5,  56  ! DC1, Plane V, wire 56
+  54,   5,  57  ! DC1, Plane V, wire 57
+  53,   5,  58  ! DC1, Plane V, wire 58
+  52,   5,  59  ! DC1, Plane V, wire 59
+  51,   5,  60  ! DC1, Plane V, wire 60
+  50,   5,  61  ! DC1, Plane V, wire 61
+  49,   5,  62  ! DC1, Plane V, wire 62
+  48,   5,  63  ! DC1, Plane V, wire 63
+
 SLOT=7
-32,5,63 ! Plane V, wire 63
-33,5,64 ! Plane V, wire 64
-34,5,65 ! Plane V, wire 65
-35,5,66 ! Plane V, wire 66
-36,5,67 ! Plane V, wire 67
-37,5,68 ! Plane V, wire 68
-38,5,69 ! Plane V, wire 69
-39,5,70 ! Plane V, wire 70
-40,5,71 ! Plane V, wire 71
-41,5,72 ! Plane V, wire 72
-42,5,73 ! Plane V, wire 73
-43,5,74 ! Plane V, wire 74
-44,5,75 ! Plane V, wire 75
-45,5,76 ! Plane V, wire 76
-46,5,77 ! Plane V, wire 77
-47,5,78 ! Plane V, wire 78
-96,5,79 ! Plane V, wire 79
-97,5,80 ! Plane V, wire 80
-98,5,81 ! Plane V, wire 81
-99,5,82 ! Plane V, wire 82
-100,5,83 ! Plane V, wire 83
-101,5,84 ! Plane V, wire 84
-102,5,85 ! Plane V, wire 85
-103,5,86 ! Plane V, wire 86
-104,5,87 ! Plane V, wire 87
-105,5,88 ! Plane V, wire 88
-106,5,89 ! Plane V, wire 89
-107,5,90 ! Plane V, wire 90
-108,5,91 ! Plane V, wire 91
-109,5,92 ! Plane V, wire 92
-110,5,93 ! Plane V, wire 93
-111,5,94 ! Plane V, wire 94
-64,5,95 ! Plane V, wire 95
-65,5,96 ! Plane V, wire 96
-66,5,97 ! Plane V, wire 97
-67,5,98 ! Plane V, wire 98
-68,5,99 ! Plane V, wire 99
-69,5,100 ! Plane V, wire 100
-70,5,101 ! Plane V, wire 101
-71,5,102 ! Plane V, wire 102
-72,5,103 ! Plane V, wire 103
-73,5,104 ! Plane V, wire 104
-74,5,105 ! Plane V, wire 105
-SLOT=9
-46,5,106 ! Plane V, wire 106
+REFCHAN=79
+  32,   5,  64  ! DC1, Plane V, wire 64
+  33,   5,  65  ! DC1, Plane V, wire 65
+  34,   5,  66  ! DC1, Plane V, wire 66
+  35,   5,  67  ! DC1, Plane V, wire 67
+  36,   5,  68  ! DC1, Plane V, wire 68
+  37,   5,  69  ! DC1, Plane V, wire 69
+  38,   5,  70  ! DC1, Plane V, wire 70
+  39,   5,  71  ! DC1, Plane V, wire 71
+  40,   5,  72  ! DC1, Plane V, wire 72
+  41,   5,  73  ! DC1, Plane V, wire 73
+  42,   5,  74  ! DC1, Plane V, wire 74
+  43,   5,  75  ! DC1, Plane V, wire 75
+  44,   5,  76  ! DC1, Plane V, wire 76
+  45,   5,  77  ! DC1, Plane V, wire 77
+  46,   5,  78  ! DC1, Plane V, wire 78
+  47,   5,  79  ! DC1, Plane V, wire 79
+  96,   5,  80  ! DC1, Plane V, wire 80
+  97,   5,  81  ! DC1, Plane V, wire 81
+  98,   5,  82  ! DC1, Plane V, wire 82
+  99,   5,  83  ! DC1, Plane V, wire 83
+ 100,   5,  84  ! DC1, Plane V, wire 84
+ 101,   5,  85  ! DC1, Plane V, wire 85
+ 102,   5,  86  ! DC1, Plane V, wire 86
+ 103,   5,  87  ! DC1, Plane V, wire 87
+ 104,   5,  88  ! DC1, Plane V, wire 88
+ 105,   5,  89  ! DC1, Plane V, wire 89
+ 106,   5,  90  ! DC1, Plane V, wire 90
+ 107,   5,  91  ! DC1, Plane V, wire 91
+ 108,   5,  92  ! DC1, Plane V, wire 92
+ 109,   5,  93  ! DC1, Plane V, wire 93
+ 110,   5,  94  ! DC1, Plane V, wire 94
+ 111,   5,  95  ! DC1, Plane V, wire 95
+  64,   5,  96  ! DC1, Plane V, wire 96
+  65,   5,  97  ! DC1, Plane V, wire 97
+  66,   5,  98  ! DC1, Plane V, wire 98
+  67,   5,  99  ! DC1, Plane V, wire 99
+  68,   5, 100  ! DC1, Plane V, wire 100
+  69,   5, 101  ! DC1, Plane V, wire 101
+  70,   5, 102  ! DC1, Plane V, wire 102
+  71,   5, 103  ! DC1, Plane V, wire 103
+  72,   5, 104  ! DC1, Plane V, wire 104
+  73,   5, 105  ! DC1, Plane V, wire 105
+  74,   5, 106  ! DC1, Plane V, wire 106
+  75,   5, 107  ! DC1, Plane V, wire 107
+
 SLOT=10
-74,6,1 ! Plane V', wire 1
-73,6,2 ! Plane V', wire 2
-72,6,3 ! Plane V', wire 3
-71,6,4 ! Plane V', wire 4
-70,6,5 ! Plane V', wire 5
-69,6,6 ! Plane V', wire 6
-68,6,7 ! Plane V', wire 7
-67,6,8 ! Plane V', wire 8
-66,6,9 ! Plane V', wire 9
-65,6,10 ! Plane V', wire 10
-64,6,11 ! Plane V', wire 11
-47,6,12 ! Plane V', wire 12
-46,6,13 ! Plane V', wire 13
-45,6,14 ! Plane V', wire 14
-44,6,15 ! Plane V', wire 15
-43,6,16 ! Plane V', wire 16
-42,6,17 ! Plane V', wire 17
-41,6,18 ! Plane V', wire 18
-40,6,19 ! Plane V', wire 19
-39,6,20 ! Plane V', wire 20
-38,6,21 ! Plane V', wire 21
-37,6,22 ! Plane V', wire 22
-36,6,23 ! Plane V', wire 23
-35,6,24 ! Plane V', wire 24
-34,6,25 ! Plane V', wire 25
-33,6,26 ! Plane V', wire 26
-32,6,27 ! Plane V', wire 27
+REFCHAN=79
+  75,   6,   1  ! DC1, Plane V', wire 1
+  74,   6,   2  ! DC1, Plane V', wire 2
+  73,   6,   3  ! DC1, Plane V', wire 3
+  72,   6,   4  ! DC1, Plane V', wire 4
+  71,   6,   5  ! DC1, Plane V', wire 5
+  70,   6,   6  ! DC1, Plane V', wire 6
+  69,   6,   7  ! DC1, Plane V', wire 7
+  68,   6,   8  ! DC1, Plane V', wire 8
+  67,   6,   9  ! DC1, Plane V', wire 9
+  66,   6,  10  ! DC1, Plane V', wire 10
+  65,   6,  11  ! DC1, Plane V', wire 11
+  64,   6,  12  ! DC1, Plane V', wire 12
+  47,   6,  13  ! DC1, Plane V', wire 13
+  46,   6,  14  ! DC1, Plane V', wire 14
+  45,   6,  15  ! DC1, Plane V', wire 15
+  44,   6,  16  ! DC1, Plane V', wire 16
+  43,   6,  17  ! DC1, Plane V', wire 17
+  42,   6,  18  ! DC1, Plane V', wire 18
+  41,   6,  19  ! DC1, Plane V', wire 19
+  40,   6,  20  ! DC1, Plane V', wire 20
+  39,   6,  21  ! DC1, Plane V', wire 21
+  38,   6,  22  ! DC1, Plane V', wire 22
+  37,   6,  23  ! DC1, Plane V', wire 23
+  36,   6,  24  ! DC1, Plane V', wire 24
+  35,   6,  25  ! DC1, Plane V', wire 25
+  34,   6,  26  ! DC1, Plane V', wire 26
+  33,   6,  27  ! DC1, Plane V', wire 27
+  32,   6,  28  ! DC1, Plane V', wire 28
+
 SLOT=9
-111,6,28 ! Plane V', wire 28
-110,6,29 ! Plane V', wire 29
-109,6,30 ! Plane V', wire 30
-108,6,31 ! Plane V', wire 31
-107,6,32 ! Plane V', wire 32
-106,6,33 ! Plane V', wire 33
-105,6,34 ! Plane V', wire 34
-104,6,35 ! Plane V', wire 35
-103,6,36 ! Plane V', wire 36
-102,6,37 ! Plane V', wire 37
-101,6,38 ! Plane V', wire 38
-100,6,39 ! Plane V', wire 39
-99,6,40 ! Plane V', wire 40
-98,6,41 ! Plane V', wire 41
-97,6,42 ! Plane V', wire 42
-96,6,43 ! Plane V', wire 43
+REFCHAN=79
+ 111,   6,  29  ! DC1, Plane V', wire 29
+ 110,   6,  30  ! DC1, Plane V', wire 30
+ 109,   6,  31  ! DC1, Plane V', wire 31
+ 108,   6,  32  ! DC1, Plane V', wire 32
+ 107,   6,  33  ! DC1, Plane V', wire 33
+ 106,   6,  34  ! DC1, Plane V', wire 34
+ 105,   6,  35  ! DC1, Plane V', wire 35
+ 104,   6,  36  ! DC1, Plane V', wire 36
+ 103,   6,  37  ! DC1, Plane V', wire 37
+ 102,   6,  38  ! DC1, Plane V', wire 38
+ 101,   6,  39  ! DC1, Plane V', wire 39
+ 100,   6,  40  ! DC1, Plane V', wire 40
+  99,   6,  41  ! DC1, Plane V', wire 41
+  98,   6,  42  ! DC1, Plane V', wire 42
+  97,   6,  43  ! DC1, Plane V', wire 43
+  96,   6,  44  ! DC1, Plane V', wire 44
+
 SLOT=8
-80,6,44 ! Plane V', wire 44
-81,6,45 ! Plane V', wire 45
-82,6,46 ! Plane V', wire 46
-83,6,47 ! Plane V', wire 47
-84,6,48 ! Plane V', wire 48
-85,6,49 ! Plane V', wire 49
-86,6,50 ! Plane V', wire 50
-87,6,51 ! Plane V', wire 51
-88,6,52 ! Plane V', wire 52
-89,6,53 ! Plane V', wire 53
-90,6,54 ! Plane V', wire 54
-91,6,55 ! Plane V', wire 55
-92,6,56 ! Plane V', wire 56
-93,6,57 ! Plane V', wire 57
-94,6,58 ! Plane V', wire 58
-95,6,59 ! Plane V', wire 59
+REFCHAN=79
+  80,   6,  45  ! DC1, Plane V', wire 45
+  81,   6,  46  ! DC1, Plane V', wire 46
+  82,   6,  47  ! DC1, Plane V', wire 47
+  83,   6,  48  ! DC1, Plane V', wire 48
+  84,   6,  49  ! DC1, Plane V', wire 49
+  85,   6,  50  ! DC1, Plane V', wire 50
+  86,   6,  51  ! DC1, Plane V', wire 51
+  87,   6,  52  ! DC1, Plane V', wire 52
+  88,   6,  53  ! DC1, Plane V', wire 53
+  89,   6,  54  ! DC1, Plane V', wire 54
+  90,   6,  55  ! DC1, Plane V', wire 55
+  91,   6,  56  ! DC1, Plane V', wire 56
+  92,   6,  57  ! DC1, Plane V', wire 57
+  93,   6,  58  ! DC1, Plane V', wire 58
+  94,   6,  59  ! DC1, Plane V', wire 59
+  95,   6,  60  ! DC1, Plane V', wire 60
+
 SLOT=7
-112,6,60 ! Plane V', wire 60
-113,6,61 ! Plane V', wire 61
-114,6,62 ! Plane V', wire 62
-115,6,63 ! Plane V', wire 63
-116,6,64 ! Plane V', wire 64
-117,6,65 ! Plane V', wire 65
-118,6,66 ! Plane V', wire 66
-119,6,67 ! Plane V', wire 67
-120,6,68 ! Plane V', wire 68
-121,6,69 ! Plane V', wire 69
-122,6,70 ! Plane V', wire 70
-123,6,71 ! Plane V', wire 71
-124,6,72 ! Plane V', wire 72
-125,6,73 ! Plane V', wire 73
-126,6,74 ! Plane V', wire 74
-127,6,75 ! Plane V', wire 75
-80,6,76 ! Plane V', wire 76
-81,6,77 ! Plane V', wire 77
-82,6,78 ! Plane V', wire 78
-83,6,79 ! Plane V', wire 79
-84,6,80 ! Plane V', wire 80
-85,6,81 ! Plane V', wire 81
-86,6,82 ! Plane V', wire 82
-87,6,83 ! Plane V', wire 83
-88,6,84 ! Plane V', wire 84
-89,6,85 ! Plane V', wire 85
-90,6,86 ! Plane V', wire 86
-91,6,87 ! Plane V', wire 87
-92,6,88 ! Plane V', wire 88
-93,6,89 ! Plane V', wire 89
-94,6,90 ! Plane V', wire 90
-95,6,91 ! Plane V', wire 91
+REFCHAN=79
+ 112,   6,  61  ! DC1, Plane V', wire 61
+ 113,   6,  62  ! DC1, Plane V', wire 62
+ 114,   6,  63  ! DC1, Plane V', wire 63
+ 115,   6,  64  ! DC1, Plane V', wire 64
+ 116,   6,  65  ! DC1, Plane V', wire 65
+ 117,   6,  66  ! DC1, Plane V', wire 66
+ 118,   6,  67  ! DC1, Plane V', wire 67
+ 119,   6,  68  ! DC1, Plane V', wire 68
+ 120,   6,  69  ! DC1, Plane V', wire 69
+ 121,   6,  70  ! DC1, Plane V', wire 70
+ 122,   6,  71  ! DC1, Plane V', wire 71
+ 123,   6,  72  ! DC1, Plane V', wire 72
+ 124,   6,  73  ! DC1, Plane V', wire 73
+ 125,   6,  74  ! DC1, Plane V', wire 74
+ 126,   6,  75  ! DC1, Plane V', wire 75
+ 127,   6,  76  ! DC1, Plane V', wire 76
+  80,   6,  77  ! DC1, Plane V', wire 77
+  81,   6,  78  ! DC1, Plane V', wire 78
+  82,   6,  79  ! DC1, Plane V', wire 79
+  83,   6,  80  ! DC1, Plane V', wire 80
+  84,   6,  81  ! DC1, Plane V', wire 81
+  85,   6,  82  ! DC1, Plane V', wire 82
+  86,   6,  83  ! DC1, Plane V', wire 83
+  87,   6,  84  ! DC1, Plane V', wire 84
+  88,   6,  85  ! DC1, Plane V', wire 85
+  89,   6,  86  ! DC1, Plane V', wire 86
+  90,   6,  87  ! DC1, Plane V', wire 87
+  91,   6,  88  ! DC1, Plane V', wire 88
+  92,   6,  89  ! DC1, Plane V', wire 89
+  93,   6,  90  ! DC1, Plane V', wire 90
+  94,   6,  91  ! DC1, Plane V', wire 91
+  95,   6,  92  ! DC1, Plane V', wire 92
+
 SLOT=6
-64,6,92 ! Plane V', wire 92
-65,6,93 ! Plane V', wire 93
-66,6,94 ! Plane V', wire 94
-67,6,95 ! Plane V', wire 95
-68,6,96 ! Plane V', wire 96
-69,6,97 ! Plane V', wire 97
-70,6,98 ! Plane V', wire 98
-71,6,99 ! Plane V', wire 99
-72,6,100 ! Plane V', wire 100
-73,6,101 ! Plane V', wire 101
-74,6,102 ! Plane V', wire 102
-75,6,103 ! Plane V', wire 103
-76,6,104 ! Plane V', wire 104
-77,6,105 ! Plane V', wire 105
-SLOT=10
-75,6,106 ! Plane V', wire 106
+REFCHAN=79
+  64,   6,  93  ! DC1, Plane V', wire 93
+  65,   6,  94  ! DC1, Plane V', wire 94
+  66,   6,  95  ! DC1, Plane V', wire 95
+  67,   6,  96  ! DC1, Plane V', wire 96
+  68,   6,  97  ! DC1, Plane V', wire 97
+  69,   6,  98  ! DC1, Plane V', wire 98
+  70,   6,  99  ! DC1, Plane V', wire 99
+  71,   6, 100  ! DC1, Plane V', wire 100
+  72,   6, 101  ! DC1, Plane V', wire 101
+  73,   6, 102  ! DC1, Plane V', wire 102
+  74,   6, 103  ! DC1, Plane V', wire 103
+  75,   6, 104  ! DC1, Plane V', wire 104
+  76,   6, 105  ! DC1, Plane V', wire 105
+  77,   6, 106  ! DC1, Plane V', wire 106
+  78,   6, 107  ! DC1, Plane V', wire 107
+
 SLOT=8
-14,3,1 ! Plane X, wire 1
-13,3,2 ! Plane X, wire 2
-12,3,3 ! Plane X, wire 3
-11,3,4 ! Plane X, wire 4
-10,3,5 ! Plane X, wire 5
-9,3,6 ! Plane X, wire 6
-8,3,7 ! Plane X, wire 7
-7,3,8 ! Plane X, wire 8
-6,3,9 ! Plane X, wire 9
-5,3,10 ! Plane X, wire 10
-4,3,11 ! Plane X, wire 11
-3,3,12 ! Plane X, wire 12
-2,3,13 ! Plane X, wire 13
-1,3,14 ! Plane X, wire 14
-0,3,15 ! Plane X, wire 15
+REFCHAN=79
+  15,   3,   1  ! DC1, Plane X, wire 1
+  14,   3,   2  ! DC1, Plane X, wire 2
+  13,   3,   3  ! DC1, Plane X, wire 3
+  12,   3,   4  ! DC1, Plane X, wire 4
+  11,   3,   5  ! DC1, Plane X, wire 5
+  10,   3,   6  ! DC1, Plane X, wire 6
+   9,   3,   7  ! DC1, Plane X, wire 7
+   8,   3,   8  ! DC1, Plane X, wire 8
+   7,   3,   9  ! DC1, Plane X, wire 9
+   6,   3,  10  ! DC1, Plane X, wire 10
+   5,   3,  11  ! DC1, Plane X, wire 11
+   4,   3,  12  ! DC1, Plane X, wire 12
+   3,   3,  13  ! DC1, Plane X, wire 13
+   2,   3,  14  ! DC1, Plane X, wire 14
+   1,   3,  15  ! DC1, Plane X, wire 15
+   0,   3,  16  ! DC1, Plane X, wire 16
+
 SLOT=7
-63,3,16 ! Plane X, wire 16
-62,3,17 ! Plane X, wire 17
-61,3,18 ! Plane X, wire 18
-60,3,19 ! Plane X, wire 19
-59,3,20 ! Plane X, wire 20
-58,3,21 ! Plane X, wire 21
-57,3,22 ! Plane X, wire 22
-56,3,23 ! Plane X, wire 23
-55,3,24 ! Plane X, wire 24
-54,3,25 ! Plane X, wire 25
-53,3,26 ! Plane X, wire 26
-52,3,27 ! Plane X, wire 27
-51,3,28 ! Plane X, wire 28
-50,3,29 ! Plane X, wire 29
-49,3,30 ! Plane X, wire 30
-48,3,31 ! Plane X, wire 31
+REFCHAN=79
+  63,   3,  17  ! DC1, Plane X, wire 17
+  62,   3,  18  ! DC1, Plane X, wire 18
+  61,   3,  19  ! DC1, Plane X, wire 19
+  60,   3,  20  ! DC1, Plane X, wire 20
+  59,   3,  21  ! DC1, Plane X, wire 21
+  58,   3,  22  ! DC1, Plane X, wire 22
+  57,   3,  23  ! DC1, Plane X, wire 23
+  56,   3,  24  ! DC1, Plane X, wire 24
+  55,   3,  25  ! DC1, Plane X, wire 25
+  54,   3,  26  ! DC1, Plane X, wire 26
+  53,   3,  27  ! DC1, Plane X, wire 27
+  52,   3,  28  ! DC1, Plane X, wire 28
+  51,   3,  29  ! DC1, Plane X, wire 29
+  50,   3,  30  ! DC1, Plane X, wire 30
+  49,   3,  31  ! DC1, Plane X, wire 31
+  48,   3,  32  ! DC1, Plane X, wire 32
+
 SLOT=6
-63,3,32 ! Plane X, wire 32
-62,3,33 ! Plane X, wire 33
-61,3,34 ! Plane X, wire 34
-60,3,35 ! Plane X, wire 35
-59,3,36 ! Plane X, wire 36
-58,3,37 ! Plane X, wire 37
-57,3,38 ! Plane X, wire 38
-56,3,39 ! Plane X, wire 39
-55,3,40 ! Plane X, wire 40
-54,3,41 ! Plane X, wire 41
-53,3,42 ! Plane X, wire 42
-52,3,43 ! Plane X, wire 43
-51,3,44 ! Plane X, wire 44
-50,3,45 ! Plane X, wire 45
-49,3,46 ! Plane X, wire 46
-SLOT=8
-15,3,47 ! Plane X, wire 47
+REFCHAN=79
+  63,   3,  33  ! DC1, Plane X, wire 33
+  62,   3,  34  ! DC1, Plane X, wire 34
+  61,   3,  35  ! DC1, Plane X, wire 35
+  60,   3,  36  ! DC1, Plane X, wire 36
+  59,   3,  37  ! DC1, Plane X, wire 37
+  58,   3,  38  ! DC1, Plane X, wire 38
+  57,   3,  39  ! DC1, Plane X, wire 39
+  56,   3,  40  ! DC1, Plane X, wire 40
+  55,   3,  41  ! DC1, Plane X, wire 41
+  54,   3,  42  ! DC1, Plane X, wire 42
+  53,   3,  43  ! DC1, Plane X, wire 43
+  52,   3,  44  ! DC1, Plane X, wire 44
+  51,   3,  45  ! DC1, Plane X, wire 45
+  50,   3,  46  ! DC1, Plane X, wire 46
+  49,   3,  47  ! DC1, Plane X, wire 47
+  48,   3,  48  ! DC1, Plane X, wire 48
+
 SLOT=10
-48,3,48 ! Plane X, wire 48
-49,3,49 ! Plane X, wire 49
-50,3,50 ! Plane X, wire 50
-51,3,51 ! Plane X, wire 51
-52,3,52 ! Plane X, wire 52
-53,3,53 ! Plane X, wire 53
-54,3,54 ! Plane X, wire 54
-55,3,55 ! Plane X, wire 55
-56,3,56 ! Plane X, wire 56
-57,3,57 ! Plane X, wire 57
-58,3,58 ! Plane X, wire 58
-59,3,59 ! Plane X, wire 59
-60,3,60 ! Plane X, wire 60
-61,3,61 ! Plane X, wire 61
-62,3,62 ! Plane X, wire 62
-63,3,63 ! Plane X, wire 63
+REFCHAN=79
+  48,   3,  49  ! DC1, Plane X, wire 49
+  49,   3,  50  ! DC1, Plane X, wire 50
+  50,   3,  51  ! DC1, Plane X, wire 51
+  51,   3,  52  ! DC1, Plane X, wire 52
+  52,   3,  53  ! DC1, Plane X, wire 53
+  53,   3,  54  ! DC1, Plane X, wire 54
+  54,   3,  55  ! DC1, Plane X, wire 55
+  55,   3,  56  ! DC1, Plane X, wire 56
+  56,   3,  57  ! DC1, Plane X, wire 57
+  57,   3,  58  ! DC1, Plane X, wire 58
+  58,   3,  59  ! DC1, Plane X, wire 59
+  59,   3,  60  ! DC1, Plane X, wire 60
+  60,   3,  61  ! DC1, Plane X, wire 61
+  61,   3,  62  ! DC1, Plane X, wire 62
+  62,   3,  63  ! DC1, Plane X, wire 63
+  63,   3,  64  ! DC1, Plane X, wire 64
+
 SLOT=9
-80,3,64 ! Plane X, wire 64
-81,3,65 ! Plane X, wire 65
-82,3,66 ! Plane X, wire 66
-83,3,67 ! Plane X, wire 67
-84,3,68 ! Plane X, wire 68
-85,3,69 ! Plane X, wire 69
-86,3,70 ! Plane X, wire 70
-87,3,71 ! Plane X, wire 71
-88,3,72 ! Plane X, wire 72
-89,3,73 ! Plane X, wire 73
-90,3,74 ! Plane X, wire 74
-91,3,75 ! Plane X, wire 75
-92,3,76 ! Plane X, wire 76
-93,3,77 ! Plane X, wire 77
-94,3,78 ! Plane X, wire 78
-29,4,1 ! Plane X', wire 1
-28,4,2 ! Plane X', wire 2
-27,4,3 ! Plane X', wire 3
-26,4,4 ! Plane X', wire 4
-25,4,5 ! Plane X', wire 5
-24,4,6 ! Plane X', wire 6
-23,4,7 ! Plane X', wire 7
-22,4,8 ! Plane X', wire 8
-21,4,9 ! Plane X', wire 9
-20,4,10 ! Plane X', wire 10
-19,4,11 ! Plane X', wire 11
-18,4,12 ! Plane X', wire 12
-17,4,13 ! Plane X', wire 13
-16,4,14 ! Plane X', wire 14
+REFCHAN=79
+  80,   3,  65  ! DC1, Plane X, wire 65
+  81,   3,  66  ! DC1, Plane X, wire 66
+  82,   3,  67  ! DC1, Plane X, wire 67
+  83,   3,  68  ! DC1, Plane X, wire 68
+  84,   3,  69  ! DC1, Plane X, wire 69
+  85,   3,  70  ! DC1, Plane X, wire 70
+  86,   3,  71  ! DC1, Plane X, wire 71
+  87,   3,  72  ! DC1, Plane X, wire 72
+  88,   3,  73  ! DC1, Plane X, wire 73
+  89,   3,  74  ! DC1, Plane X, wire 74
+  90,   3,  75  ! DC1, Plane X, wire 75
+  91,   3,  76  ! DC1, Plane X, wire 76
+  92,   3,  77  ! DC1, Plane X, wire 77
+  93,   3,  78  ! DC1, Plane X, wire 78
+  94,   3,  79  ! DC1, Plane X, wire 79
+  30,   4,   1  ! DC1, Plane X', wire 1
+  29,   4,   2  ! DC1, Plane X', wire 2
+  28,   4,   3  ! DC1, Plane X', wire 3
+  27,   4,   4  ! DC1, Plane X', wire 4
+  26,   4,   5  ! DC1, Plane X', wire 5
+  25,   4,   6  ! DC1, Plane X', wire 6
+  24,   4,   7  ! DC1, Plane X', wire 7
+  23,   4,   8  ! DC1, Plane X', wire 8
+  22,   4,   9  ! DC1, Plane X', wire 9
+  21,   4,  10  ! DC1, Plane X', wire 10
+  20,   4,  11  ! DC1, Plane X', wire 11
+  19,   4,  12  ! DC1, Plane X', wire 12
+  18,   4,  13  ! DC1, Plane X', wire 13
+  17,   4,  14  ! DC1, Plane X', wire 14
+  16,   4,  15  ! DC1, Plane X', wire 15
+
 SLOT=8
-47,4,15 ! Plane X', wire 15
-46,4,16 ! Plane X', wire 16
-45,4,17 ! Plane X', wire 17
-44,4,18 ! Plane X', wire 18
-43,4,19 ! Plane X', wire 19
-42,4,20 ! Plane X', wire 20
-41,4,21 ! Plane X', wire 21
-40,4,22 ! Plane X', wire 22
-39,4,23 ! Plane X', wire 23
-38,4,24 ! Plane X', wire 24
-37,4,25 ! Plane X', wire 25
-36,4,26 ! Plane X', wire 26
-35,4,27 ! Plane X', wire 27
-34,4,28 ! Plane X', wire 28
-33,4,29 ! Plane X', wire 29
-32,4,30 ! Plane X', wire 30
+REFCHAN=79
+  47,   4,  16  ! DC1, Plane X', wire 16
+  46,   4,  17  ! DC1, Plane X', wire 17
+  45,   4,  18  ! DC1, Plane X', wire 18
+  44,   4,  19  ! DC1, Plane X', wire 19
+  43,   4,  20  ! DC1, Plane X', wire 20
+  42,   4,  21  ! DC1, Plane X', wire 21
+  41,   4,  22  ! DC1, Plane X', wire 22
+  40,   4,  23  ! DC1, Plane X', wire 23
+  39,   4,  24  ! DC1, Plane X', wire 24
+  38,   4,  25  ! DC1, Plane X', wire 25
+  37,   4,  26  ! DC1, Plane X', wire 26
+  36,   4,  27  ! DC1, Plane X', wire 27
+  35,   4,  28  ! DC1, Plane X', wire 28
+  34,   4,  29  ! DC1, Plane X', wire 29
+  33,   4,  30  ! DC1, Plane X', wire 30
+  32,   4,  31  ! DC1, Plane X', wire 31
+
 SLOT=7
-0,4,31 ! Plane X', wire 31
-1,4,32 ! Plane X', wire 32
-2,4,33 ! Plane X', wire 33
-3,4,34 ! Plane X', wire 34
-4,4,35 ! Plane X', wire 35
-5,4,36 ! Plane X', wire 36
-6,4,37 ! Plane X', wire 37
-7,4,38 ! Plane X', wire 38
-8,4,39 ! Plane X', wire 39
-9,4,40 ! Plane X', wire 40
-10,4,41 ! Plane X', wire 41
-11,4,42 ! Plane X', wire 42
-12,4,43 ! Plane X', wire 43
-13,4,44 ! Plane X', wire 44
-14,4,45 ! Plane X', wire 45
-15,4,46 ! Plane X', wire 46
-SLOT=6
-96,4,47 ! Plane X', wire 47
-97,4,48 ! Plane X', wire 48
-98,4,49 ! Plane X', wire 49
-99,4,50 ! Plane X', wire 50
-100,4,51 ! Plane X', wire 51
-101,4,52 ! Plane X', wire 52
-102,4,53 ! Plane X', wire 53
-103,4,54 ! Plane X', wire 54
-104,4,55 ! Plane X', wire 55
-105,4,56 ! Plane X', wire 56
-106,4,57 ! Plane X', wire 57
-107,4,58 ! Plane X', wire 58
-108,4,59 ! Plane X', wire 59
-109,4,60 ! Plane X', wire 60
-110,4,61 ! Plane X', wire 61
-111,4,62 ! Plane X', wire 62
-0,4,63 ! Plane X', wire 63
-1,4,64 ! Plane X', wire 64
-2,4,65 ! Plane X', wire 65
-3,4,66 ! Plane X', wire 66
-4,4,67 ! Plane X', wire 67
-5,4,68 ! Plane X', wire 68
-6,4,69 ! Plane X', wire 69
-7,4,70 ! Plane X', wire 70
-8,4,71 ! Plane X', wire 71
-9,4,72 ! Plane X', wire 72
-10,4,73 ! Plane X', wire 73
-11,4,74 ! Plane X', wire 74
-12,4,75 ! Plane X', wire 75
-13,4,76 ! Plane X', wire 76
-14,4,77 ! Plane X', wire 77
-SLOT=9
-30,4,78 ! Plane X', wire 78
+REFCHAN=79
+   0,   4,  32  ! DC1, Plane X', wire 32
+   1,   4,  33  ! DC1, Plane X', wire 33
+   2,   4,  34  ! DC1, Plane X', wire 34
+   3,   4,  35  ! DC1, Plane X', wire 35
+   4,   4,  36  ! DC1, Plane X', wire 36
+   5,   4,  37  ! DC1, Plane X', wire 37
+   6,   4,  38  ! DC1, Plane X', wire 38
+   7,   4,  39  ! DC1, Plane X', wire 39
+   8,   4,  40  ! DC1, Plane X', wire 40
+   9,   4,  41  ! DC1, Plane X', wire 41
+  10,   4,  42  ! DC1, Plane X', wire 42
+  11,   4,  43  ! DC1, Plane X', wire 43
+  12,   4,  44  ! DC1, Plane X', wire 44
+  13,   4,  45  ! DC1, Plane X', wire 45
+  14,   4,  46  ! DC1, Plane X', wire 46
+  15,   4,  47  ! DC1, Plane X', wire 47
 
+SLOT=6
+REFCHAN=79
+  96,   4,  48  ! DC1, Plane X', wire 48
+  97,   4,  49  ! DC1, Plane X', wire 49
+  98,   4,  50  ! DC1, Plane X', wire 50
+  99,   4,  51  ! DC1, Plane X', wire 51
+ 100,   4,  52  ! DC1, Plane X', wire 52
+ 101,   4,  53  ! DC1, Plane X', wire 53
+ 102,   4,  54  ! DC1, Plane X', wire 54
+ 103,   4,  55  ! DC1, Plane X', wire 55
+ 104,   4,  56  ! DC1, Plane X', wire 56
+ 105,   4,  57  ! DC1, Plane X', wire 57
+ 106,   4,  58  ! DC1, Plane X', wire 58
+ 107,   4,  59  ! DC1, Plane X', wire 59
+ 108,   4,  60  ! DC1, Plane X', wire 60
+ 109,   4,  61  ! DC1, Plane X', wire 61
+ 110,   4,  62  ! DC1, Plane X', wire 62
+ 111,   4,  63  ! DC1, Plane X', wire 63
+   0,   4,  64  ! DC1, Plane X', wire 64
+   1,   4,  65  ! DC1, Plane X', wire 65
+   2,   4,  66  ! DC1, Plane X', wire 66
+   3,   4,  67  ! DC1, Plane X', wire 67
+   4,   4,  68  ! DC1, Plane X', wire 68
+   5,   4,  69  ! DC1, Plane X', wire 69
+   6,   4,  70  ! DC1, Plane X', wire 70
+   7,   4,  71  ! DC1, Plane X', wire 71
+   8,   4,  72  ! DC1, Plane X', wire 72
+   9,   4,  73  ! DC1, Plane X', wire 73
+  10,   4,  74  ! DC1, Plane X', wire 74
+  11,   4,  75  ! DC1, Plane X', wire 75
+  12,   4,  76  ! DC1, Plane X', wire 76
+  13,   4,  77  ! DC1, Plane X', wire 77
+  14,   4,  78  ! DC1, Plane X', wire 78
+  15,   4,  79  ! DC1, Plane X', wire 79
 
-! Caen 1190 VME Modules >> DC2
 SLOT=14
-45,12,1 ! Plane U, wire 1
-44,12,2 ! Plane U, wire 2
-43,12,3 ! Plane U, wire 3
-42,12,4 ! Plane U, wire 4
-41,12,5 ! Plane U, wire 5
-40,12,6 ! Plane U, wire 6
-39,12,7 ! Plane U, wire 7
-38,12,8 ! Plane U, wire 8
-37,12,9 ! Plane U, wire 9
-36,12,10 ! Plane U, wire 10
-35,12,11 ! Plane U, wire 11
-34,12,12 ! Plane U, wire 12
-33,12,13 ! Plane U, wire 13
-32,12,14 ! Plane U, wire 14
+REFCHAN=15
+  46,  12,   1  ! DC2, Plane U, wire 1
+  45,  12,   2  ! DC2, Plane U, wire 2
+  44,  12,   3  ! DC2, Plane U, wire 3
+  43,  12,   4  ! DC2, Plane U, wire 4
+  42,  12,   5  ! DC2, Plane U, wire 5
+  41,  12,   6  ! DC2, Plane U, wire 6
+  40,  12,   7  ! DC2, Plane U, wire 7
+  39,  12,   8  ! DC2, Plane U, wire 8
+  38,  12,   9  ! DC2, Plane U, wire 9
+  37,  12,  10  ! DC2, Plane U, wire 10
+  36,  12,  11  ! DC2, Plane U, wire 11
+  35,  12,  12  ! DC2, Plane U, wire 12
+  34,  12,  13  ! DC2, Plane U, wire 13
+  33,  12,  14  ! DC2, Plane U, wire 14
+  32,  12,  15  ! DC2, Plane U, wire 15
+
 SLOT=11
-127,12,15 ! Plane U, wire 15
-126,12,16 ! Plane U, wire 16
-125,12,17 ! Plane U, wire 17
-124,12,18 ! Plane U, wire 18
-123,12,19 ! Plane U, wire 19
-122,12,20 ! Plane U, wire 20
-121,12,21 ! Plane U, wire 21
-120,12,22 ! Plane U, wire 22
-119,12,23 ! Plane U, wire 23
-118,12,24 ! Plane U, wire 24
-117,12,25 ! Plane U, wire 25
-116,12,26 ! Plane U, wire 26
-115,12,27 ! Plane U, wire 27
-114,12,28 ! Plane U, wire 28
-113,12,29 ! Plane U, wire 29
-112,12,30 ! Plane U, wire 30
-63,12,31 ! Plane U, wire 31
-62,12,32 ! Plane U, wire 32
-61,12,33 ! Plane U, wire 33
-60,12,34 ! Plane U, wire 34
-59,12,35 ! Plane U, wire 35
-58,12,36 ! Plane U, wire 36
-57,12,37 ! Plane U, wire 37
-56,12,38 ! Plane U, wire 38
-55,12,39 ! Plane U, wire 39
-54,12,40 ! Plane U, wire 40
-53,12,41 ! Plane U, wire 41
-52,12,42 ! Plane U, wire 42
-51,12,43 ! Plane U, wire 43
-50,12,44 ! Plane U, wire 44
-49,12,45 ! Plane U, wire 45
-48,12,46 ! Plane U, wire 46
+REFCHAN=47
+ 127,  12,  16  ! DC2, Plane U, wire 16
+ 126,  12,  17  ! DC2, Plane U, wire 17
+ 125,  12,  18  ! DC2, Plane U, wire 18
+ 124,  12,  19  ! DC2, Plane U, wire 19
+ 123,  12,  20  ! DC2, Plane U, wire 20
+ 122,  12,  21  ! DC2, Plane U, wire 21
+ 121,  12,  22  ! DC2, Plane U, wire 22
+ 120,  12,  23  ! DC2, Plane U, wire 23
+ 119,  12,  24  ! DC2, Plane U, wire 24
+ 118,  12,  25  ! DC2, Plane U, wire 25
+ 117,  12,  26  ! DC2, Plane U, wire 26
+ 116,  12,  27  ! DC2, Plane U, wire 27
+ 115,  12,  28  ! DC2, Plane U, wire 28
+ 114,  12,  29  ! DC2, Plane U, wire 29
+ 113,  12,  30  ! DC2, Plane U, wire 30
+ 112,  12,  31  ! DC2, Plane U, wire 31
+  63,  12,  32  ! DC2, Plane U, wire 32
+  62,  12,  33  ! DC2, Plane U, wire 33
+  61,  12,  34  ! DC2, Plane U, wire 34
+  60,  12,  35  ! DC2, Plane U, wire 35
+  59,  12,  36  ! DC2, Plane U, wire 36
+  58,  12,  37  ! DC2, Plane U, wire 37
+  57,  12,  38  ! DC2, Plane U, wire 38
+  56,  12,  39  ! DC2, Plane U, wire 39
+  55,  12,  40  ! DC2, Plane U, wire 40
+  54,  12,  41  ! DC2, Plane U, wire 41
+  53,  12,  42  ! DC2, Plane U, wire 42
+  52,  12,  43  ! DC2, Plane U, wire 43
+  51,  12,  44  ! DC2, Plane U, wire 44
+  50,  12,  45  ! DC2, Plane U, wire 45
+  49,  12,  46  ! DC2, Plane U, wire 46
+  48,  12,  47  ! DC2, Plane U, wire 47
+
 SLOT=10
-127,12,47 ! Plane U, wire 47
-126,12,48 ! Plane U, wire 48
-125,12,49 ! Plane U, wire 49
-124,12,50 ! Plane U, wire 50
-123,12,51 ! Plane U, wire 51
-122,12,52 ! Plane U, wire 52
-121,12,53 ! Plane U, wire 53
-120,12,54 ! Plane U, wire 54
-119,12,55 ! Plane U, wire 55
-118,12,56 ! Plane U, wire 56
-117,12,57 ! Plane U, wire 57
-116,12,58 ! Plane U, wire 58
-115,12,59 ! Plane U, wire 59
-114,12,60 ! Plane U, wire 60
-113,12,61 ! Plane U, wire 61
-112,12,62 ! Plane U, wire 62
+REFCHAN=79
+ 127,  12,  48  ! DC2, Plane U, wire 48
+ 126,  12,  49  ! DC2, Plane U, wire 49
+ 125,  12,  50  ! DC2, Plane U, wire 50
+ 124,  12,  51  ! DC2, Plane U, wire 51
+ 123,  12,  52  ! DC2, Plane U, wire 52
+ 122,  12,  53  ! DC2, Plane U, wire 53
+ 121,  12,  54  ! DC2, Plane U, wire 54
+ 120,  12,  55  ! DC2, Plane U, wire 55
+ 119,  12,  56  ! DC2, Plane U, wire 56
+ 118,  12,  57  ! DC2, Plane U, wire 57
+ 117,  12,  58  ! DC2, Plane U, wire 58
+ 116,  12,  59  ! DC2, Plane U, wire 59
+ 115,  12,  60  ! DC2, Plane U, wire 60
+ 114,  12,  61  ! DC2, Plane U, wire 61
+ 113,  12,  62  ! DC2, Plane U, wire 62
+ 112,  12,  63  ! DC2, Plane U, wire 63
+
 SLOT=13
-80,12,63 ! Plane U, wire 63
-81,12,64 ! Plane U, wire 64
-82,12,65 ! Plane U, wire 65
-83,12,66 ! Plane U, wire 66
-84,12,67 ! Plane U, wire 67
-85,12,68 ! Plane U, wire 68
-86,12,69 ! Plane U, wire 69
-87,12,70 ! Plane U, wire 70
-88,12,71 ! Plane U, wire 71
-89,12,72 ! Plane U, wire 72
-90,12,73 ! Plane U, wire 73
-91,12,74 ! Plane U, wire 74
-92,12,75 ! Plane U, wire 75
-93,12,76 ! Plane U, wire 76
-94,12,77 ! Plane U, wire 77
-95,12,78 ! Plane U, wire 78
-16,12,79 ! Plane U, wire 79
-17,12,80 ! Plane U, wire 80
-18,12,81 ! Plane U, wire 81
-19,12,82 ! Plane U, wire 82
-20,12,83 ! Plane U, wire 83
-21,12,84 ! Plane U, wire 84
-22,12,85 ! Plane U, wire 85
-23,12,86 ! Plane U, wire 86
-24,12,87 ! Plane U, wire 87
-25,12,88 ! Plane U, wire 88
-26,12,89 ! Plane U, wire 89
-27,12,90 ! Plane U, wire 90
-28,12,91 ! Plane U, wire 91
-29,12,92 ! Plane U, wire 92
-30,12,93 ! Plane U, wire 93
+REFCHAN=47
+  80,  12,  64  ! DC2, Plane U, wire 64
+  81,  12,  65  ! DC2, Plane U, wire 65
+  82,  12,  66  ! DC2, Plane U, wire 66
+  83,  12,  67  ! DC2, Plane U, wire 67
+  84,  12,  68  ! DC2, Plane U, wire 68
+  85,  12,  69  ! DC2, Plane U, wire 69
+  86,  12,  70  ! DC2, Plane U, wire 70
+  87,  12,  71  ! DC2, Plane U, wire 71
+  88,  12,  72  ! DC2, Plane U, wire 72
+  89,  12,  73  ! DC2, Plane U, wire 73
+  90,  12,  74  ! DC2, Plane U, wire 74
+  91,  12,  75  ! DC2, Plane U, wire 75
+  92,  12,  76  ! DC2, Plane U, wire 76
+  93,  12,  77  ! DC2, Plane U, wire 77
+  94,  12,  78  ! DC2, Plane U, wire 78
+  95,  12,  79  ! DC2, Plane U, wire 79
+  16,  12,  80  ! DC2, Plane U, wire 80
+  17,  12,  81  ! DC2, Plane U, wire 81
+  18,  12,  82  ! DC2, Plane U, wire 82
+  19,  12,  83  ! DC2, Plane U, wire 83
+  20,  12,  84  ! DC2, Plane U, wire 84
+  21,  12,  85  ! DC2, Plane U, wire 85
+  22,  12,  86  ! DC2, Plane U, wire 86
+  23,  12,  87  ! DC2, Plane U, wire 87
+  24,  12,  88  ! DC2, Plane U, wire 88
+  25,  12,  89  ! DC2, Plane U, wire 89
+  26,  12,  90  ! DC2, Plane U, wire 90
+  27,  12,  91  ! DC2, Plane U, wire 91
+  28,  12,  92  ! DC2, Plane U, wire 92
+  29,  12,  93  ! DC2, Plane U, wire 93
+  30,  12,  94  ! DC2, Plane U, wire 94
+  31,  12,  95  ! DC2, Plane U, wire 95
+
 SLOT=14
-46,12,94 ! Plane U, wire 94
-80,12,95 ! Plane U, wire 95
-81,12,96 ! Plane U, wire 96
-82,12,97 ! Plane U, wire 97
-83,12,98 ! Plane U, wire 98
-84,12,99 ! Plane U, wire 99
-85,12,100 ! Plane U, wire 100
-86,12,101 ! Plane U, wire 101
-87,12,102 ! Plane U, wire 102
-88,12,103 ! Plane U, wire 103
-89,12,104 ! Plane U, wire 104
-90,12,105 ! Plane U, wire 105
-91,12,106 ! Plane U, wire 106
+REFCHAN=15
+  80,  12,  96  ! DC2, Plane U, wire 96
+  81,  12,  97  ! DC2, Plane U, wire 97
+  82,  12,  98  ! DC2, Plane U, wire 98
+  83,  12,  99  ! DC2, Plane U, wire 99
+  84,  12, 100  ! DC2, Plane U, wire 100
+  85,  12, 101  ! DC2, Plane U, wire 101
+  86,  12, 102  ! DC2, Plane U, wire 102
+  87,  12, 103  ! DC2, Plane U, wire 103
+  88,  12, 104  ! DC2, Plane U, wire 104
+  89,  12, 105  ! DC2, Plane U, wire 105
+  90,  12, 106  ! DC2, Plane U, wire 106
+  91,  12, 107  ! DC2, Plane U, wire 107
+
 SLOT=13
-42,11,1 ! Plane U', wire 1
-41,11,2 ! Plane U', wire 2
-40,11,3 ! Plane U', wire 3
-39,11,4 ! Plane U', wire 4
-38,11,5 ! Plane U', wire 5
-37,11,6 ! Plane U', wire 6
-36,11,7 ! Plane U', wire 7
-35,11,8 ! Plane U', wire 8
-34,11,9 ! Plane U', wire 9
-33,11,10 ! Plane U', wire 10
-32,11,11 ! Plane U', wire 11
+REFCHAN=47
+  43,  11,   1  ! DC2, Plane U', wire 1
+  42,  11,   2  ! DC2, Plane U', wire 2
+  41,  11,   3  ! DC2, Plane U', wire 3
+  40,  11,   4  ! DC2, Plane U', wire 4
+  39,  11,   5  ! DC2, Plane U', wire 5
+  38,  11,   6  ! DC2, Plane U', wire 6
+  37,  11,   7  ! DC2, Plane U', wire 7
+  36,  11,   8  ! DC2, Plane U', wire 8
+  35,  11,   9  ! DC2, Plane U', wire 9
+  34,  11,  10  ! DC2, Plane U', wire 10
+  33,  11,  11  ! DC2, Plane U', wire 11
+  32,  11,  12  ! DC2, Plane U', wire 12
+
 SLOT=11
-95,11,12 ! Plane U', wire 12
-94,11,13 ! Plane U', wire 13
-93,11,14 ! Plane U', wire 14
-92,11,15 ! Plane U', wire 15
-91,11,16 ! Plane U', wire 16
-90,11,17 ! Plane U', wire 17
-89,11,18 ! Plane U', wire 18
-88,11,19 ! Plane U', wire 19
-87,11,20 ! Plane U', wire 20
-86,11,21 ! Plane U', wire 21
-85,11,22 ! Plane U', wire 22
-84,11,23 ! Plane U', wire 23
-83,11,24 ! Plane U', wire 24
-82,11,25 ! Plane U', wire 25
-81,11,26 ! Plane U', wire 26
-80,11,27 ! Plane U', wire 27
-15,11,28 ! Plane U', wire 28
-14,11,29 ! Plane U', wire 29
-13,11,30 ! Plane U', wire 30
-12,11,31 ! Plane U', wire 31
-11,11,32 ! Plane U', wire 32
-10,11,33 ! Plane U', wire 33
-9,11,34 ! Plane U', wire 34
-8,11,35 ! Plane U', wire 35
-7,11,36 ! Plane U', wire 36
-6,11,37 ! Plane U', wire 37
-5,11,38 ! Plane U', wire 38
-4,11,39 ! Plane U', wire 39
-3,11,40 ! Plane U', wire 40
-2,11,41 ! Plane U', wire 41
-1,11,42 ! Plane U', wire 42
+REFCHAN=47
+  95,  11,  13  ! DC2, Plane U', wire 13
+  94,  11,  14  ! DC2, Plane U', wire 14
+  93,  11,  15  ! DC2, Plane U', wire 15
+  92,  11,  16  ! DC2, Plane U', wire 16
+  91,  11,  17  ! DC2, Plane U', wire 17
+  90,  11,  18  ! DC2, Plane U', wire 18
+  89,  11,  19  ! DC2, Plane U', wire 19
+  88,  11,  20  ! DC2, Plane U', wire 20
+  87,  11,  21  ! DC2, Plane U', wire 21
+  86,  11,  22  ! DC2, Plane U', wire 22
+  85,  11,  23  ! DC2, Plane U', wire 23
+  84,  11,  24  ! DC2, Plane U', wire 24
+  83,  11,  25  ! DC2, Plane U', wire 25
+  82,  11,  26  ! DC2, Plane U', wire 26
+  81,  11,  27  ! DC2, Plane U', wire 27
+  80,  11,  28  ! DC2, Plane U', wire 28
+  15,  11,  29  ! DC2, Plane U', wire 29
+  14,  11,  30  ! DC2, Plane U', wire 30
+  13,  11,  31  ! DC2, Plane U', wire 31
+  12,  11,  32  ! DC2, Plane U', wire 32
+  11,  11,  33  ! DC2, Plane U', wire 33
+  10,  11,  34  ! DC2, Plane U', wire 34
+   9,  11,  35  ! DC2, Plane U', wire 35
+   8,  11,  36  ! DC2, Plane U', wire 36
+   7,  11,  37  ! DC2, Plane U', wire 37
+   6,  11,  38  ! DC2, Plane U', wire 38
+   5,  11,  39  ! DC2, Plane U', wire 39
+   4,  11,  40  ! DC2, Plane U', wire 40
+   3,  11,  41  ! DC2, Plane U', wire 41
+   2,  11,  42  ! DC2, Plane U', wire 42
+   1,  11,  43  ! DC2, Plane U', wire 43
+   0,  11,  44  ! DC2, Plane U', wire 44
+
 SLOT=13
-43,11,43 ! Plane U', wire 43
-96,11,44 ! Plane U', wire 44
-97,11,45 ! Plane U', wire 45
-98,11,46 ! Plane U', wire 46
-99,11,47 ! Plane U', wire 47
-100,11,48 ! Plane U', wire 48
-101,11,49 ! Plane U', wire 49
-102,11,50 ! Plane U', wire 50
-103,11,51 ! Plane U', wire 51
-104,11,52 ! Plane U', wire 52
-105,11,53 ! Plane U', wire 53
-106,11,54 ! Plane U', wire 54
-107,11,55 ! Plane U', wire 55
-108,11,56 ! Plane U', wire 56
-109,11,57 ! Plane U', wire 57
-110,11,58 ! Plane U', wire 58
-111,11,59 ! Plane U', wire 59
-64,11,60 ! Plane U', wire 60
-65,11,61 ! Plane U', wire 61
-66,11,62 ! Plane U', wire 62
-67,11,63 ! Plane U', wire 63
-68,11,64 ! Plane U', wire 64
-69,11,65 ! Plane U', wire 65
-70,11,66 ! Plane U', wire 66
-71,11,67 ! Plane U', wire 67
-72,11,68 ! Plane U', wire 68
-73,11,69 ! Plane U', wire 69
-74,11,70 ! Plane U', wire 70
-75,11,71 ! Plane U', wire 71
-76,11,72 ! Plane U', wire 72
-77,11,73 ! Plane U', wire 73
-78,11,74 ! Plane U', wire 74
-79,11,75 ! Plane U', wire 75
+REFCHAN=47
+  96,  11,  45  ! DC2, Plane U', wire 45
+  97,  11,  46  ! DC2, Plane U', wire 46
+  98,  11,  47  ! DC2, Plane U', wire 47
+  99,  11,  48  ! DC2, Plane U', wire 48
+ 100,  11,  49  ! DC2, Plane U', wire 49
+ 101,  11,  50  ! DC2, Plane U', wire 50
+ 102,  11,  51  ! DC2, Plane U', wire 51
+ 103,  11,  52  ! DC2, Plane U', wire 52
+ 104,  11,  53  ! DC2, Plane U', wire 53
+ 105,  11,  54  ! DC2, Plane U', wire 54
+ 106,  11,  55  ! DC2, Plane U', wire 55
+ 107,  11,  56  ! DC2, Plane U', wire 56
+ 108,  11,  57  ! DC2, Plane U', wire 57
+ 109,  11,  58  ! DC2, Plane U', wire 58
+ 110,  11,  59  ! DC2, Plane U', wire 59
+ 111,  11,  60  ! DC2, Plane U', wire 60
+  64,  11,  61  ! DC2, Plane U', wire 61
+  65,  11,  62  ! DC2, Plane U', wire 62
+  66,  11,  63  ! DC2, Plane U', wire 63
+  67,  11,  64  ! DC2, Plane U', wire 64
+  68,  11,  65  ! DC2, Plane U', wire 65
+  69,  11,  66  ! DC2, Plane U', wire 66
+  70,  11,  67  ! DC2, Plane U', wire 67
+  71,  11,  68  ! DC2, Plane U', wire 68
+  72,  11,  69  ! DC2, Plane U', wire 69
+  73,  11,  70  ! DC2, Plane U', wire 70
+  74,  11,  71  ! DC2, Plane U', wire 71
+  75,  11,  72  ! DC2, Plane U', wire 72
+  76,  11,  73  ! DC2, Plane U', wire 73
+  77,  11,  74  ! DC2, Plane U', wire 74
+  78,  11,  75  ! DC2, Plane U', wire 75
+  79,  11,  76  ! DC2, Plane U', wire 76
+
 SLOT=15
-48,11,76 ! Plane U', wire 76
-49,11,77 ! Plane U', wire 77
-50,11,78 ! Plane U', wire 78
-51,11,79 ! Plane U', wire 79
-52,11,80 ! Plane U', wire 80
-53,11,81 ! Plane U', wire 81
-54,11,82 ! Plane U', wire 82
-55,11,83 ! Plane U', wire 83
-56,11,84 ! Plane U', wire 84
-57,11,85 ! Plane U', wire 85
-58,11,86 ! Plane U', wire 86
-59,11,87 ! Plane U', wire 87
-60,11,88 ! Plane U', wire 88
-61,11,89 ! Plane U', wire 89
-62,11,90 ! Plane U', wire 90
-63,11,91 ! Plane U', wire 91
+REFCHAN=47
+  48,  11,  77  ! DC2, Plane U', wire 77
+  49,  11,  78  ! DC2, Plane U', wire 78
+  50,  11,  79  ! DC2, Plane U', wire 79
+  51,  11,  80  ! DC2, Plane U', wire 80
+  52,  11,  81  ! DC2, Plane U', wire 81
+  53,  11,  82  ! DC2, Plane U', wire 82
+  54,  11,  83  ! DC2, Plane U', wire 83
+  55,  11,  84  ! DC2, Plane U', wire 84
+  56,  11,  85  ! DC2, Plane U', wire 85
+  57,  11,  86  ! DC2, Plane U', wire 86
+  58,  11,  87  ! DC2, Plane U', wire 87
+  59,  11,  88  ! DC2, Plane U', wire 88
+  60,  11,  89  ! DC2, Plane U', wire 89
+  61,  11,  90  ! DC2, Plane U', wire 90
+  62,  11,  91  ! DC2, Plane U', wire 91
+  63,  11,  92  ! DC2, Plane U', wire 92
+
 SLOT=14
-112,11,92 ! Plane U', wire 92
-113,11,93 ! Plane U', wire 93
-114,11,94 ! Plane U', wire 94
-115,11,95 ! Plane U', wire 95
-116,11,96 ! Plane U', wire 96
-117,11,97 ! Plane U', wire 97
-118,11,98 ! Plane U', wire 98
-119,11,99 ! Plane U', wire 99
-120,11,100 ! Plane U', wire 100
-121,11,101 ! Plane U', wire 101
-122,11,102 ! Plane U', wire 102
-123,11,103 ! Plane U', wire 103
-124,11,104 ! Plane U', wire 104
-125,11,105 ! Plane U', wire 105
-126,11,106 ! Plane U', wire 106
-13,8,1 ! Plane V, wire 1
-12,8,2 ! Plane V, wire 2
-11,8,3 ! Plane V, wire 3
-10,8,4 ! Plane V, wire 4
-9,8,5 ! Plane V, wire 5
-8,8,6 ! Plane V, wire 6
-7,8,7 ! Plane V, wire 7
-6,8,8 ! Plane V, wire 8
-5,8,9 ! Plane V, wire 9
-4,8,10 ! Plane V, wire 10
-3,8,11 ! Plane V, wire 11
-2,8,12 ! Plane V, wire 12
-1,8,13 ! Plane V, wire 13
-0,8,14 ! Plane V, wire 14
+REFCHAN=15
+ 112,  11,  93  ! DC2, Plane U', wire 93
+ 113,  11,  94  ! DC2, Plane U', wire 94
+ 114,  11,  95  ! DC2, Plane U', wire 95
+ 115,  11,  96  ! DC2, Plane U', wire 96
+ 116,  11,  97  ! DC2, Plane U', wire 97
+ 117,  11,  98  ! DC2, Plane U', wire 98
+ 118,  11,  99  ! DC2, Plane U', wire 99
+ 119,  11, 100  ! DC2, Plane U', wire 100
+ 120,  11, 101  ! DC2, Plane U', wire 101
+ 121,  11, 102  ! DC2, Plane U', wire 102
+ 122,  11, 103  ! DC2, Plane U', wire 103
+ 123,  11, 104  ! DC2, Plane U', wire 104
+ 124,  11, 105  ! DC2, Plane U', wire 105
+ 125,  11, 106  ! DC2, Plane U', wire 106
+ 126,  11, 107  ! DC2, Plane U', wire 107
+  14,   8,   1  ! DC2, Plane V, wire 1
+  13,   8,   2  ! DC2, Plane V, wire 2
+  12,   8,   3  ! DC2, Plane V, wire 3
+  11,   8,   4  ! DC2, Plane V, wire 4
+  10,   8,   5  ! DC2, Plane V, wire 5
+   9,   8,   6  ! DC2, Plane V, wire 6
+   8,   8,   7  ! DC2, Plane V, wire 7
+   7,   8,   8  ! DC2, Plane V, wire 8
+   6,   8,   9  ! DC2, Plane V, wire 9
+   5,   8,  10  ! DC2, Plane V, wire 10
+   4,   8,  11  ! DC2, Plane V, wire 11
+   3,   8,  12  ! DC2, Plane V, wire 12
+   2,   8,  13  ! DC2, Plane V, wire 13
+   1,   8,  14  ! DC2, Plane V, wire 14
+   0,   8,  15  ! DC2, Plane V, wire 15
+
 SLOT=12
-127,8,15 ! Plane V, wire 15
-126,8,16 ! Plane V, wire 16
-125,8,17 ! Plane V, wire 17
-124,8,18 ! Plane V, wire 18
-123,8,19 ! Plane V, wire 19
-122,8,20 ! Plane V, wire 20
-121,8,21 ! Plane V, wire 21
-120,8,22 ! Plane V, wire 22
-119,8,23 ! Plane V, wire 23
-118,8,24 ! Plane V, wire 24
-117,8,25 ! Plane V, wire 25
-116,8,26 ! Plane V, wire 26
-115,8,27 ! Plane V, wire 27
-114,8,28 ! Plane V, wire 28
-113,8,29 ! Plane V, wire 29
-112,8,30 ! Plane V, wire 30
+REFCHAN=47
+ 127,   8,  16  ! DC2, Plane V, wire 16
+ 126,   8,  17  ! DC2, Plane V, wire 17
+ 125,   8,  18  ! DC2, Plane V, wire 18
+ 124,   8,  19  ! DC2, Plane V, wire 19
+ 123,   8,  20  ! DC2, Plane V, wire 20
+ 122,   8,  21  ! DC2, Plane V, wire 21
+ 121,   8,  22  ! DC2, Plane V, wire 22
+ 120,   8,  23  ! DC2, Plane V, wire 23
+ 119,   8,  24  ! DC2, Plane V, wire 24
+ 118,   8,  25  ! DC2, Plane V, wire 25
+ 117,   8,  26  ! DC2, Plane V, wire 26
+ 116,   8,  27  ! DC2, Plane V, wire 27
+ 115,   8,  28  ! DC2, Plane V, wire 28
+ 114,   8,  29  ! DC2, Plane V, wire 29
+ 113,   8,  30  ! DC2, Plane V, wire 30
+ 112,   8,  31  ! DC2, Plane V, wire 31
+
 SLOT=14
-111,8,31 ! Plane V, wire 31
-110,8,32 ! Plane V, wire 32
-109,8,33 ! Plane V, wire 33
-108,8,34 ! Plane V, wire 34
-107,8,35 ! Plane V, wire 35
-106,8,36 ! Plane V, wire 36
-105,8,37 ! Plane V, wire 37
-104,8,38 ! Plane V, wire 38
-103,8,39 ! Plane V, wire 39
-102,8,40 ! Plane V, wire 40
-101,8,41 ! Plane V, wire 41
-100,8,42 ! Plane V, wire 42
-99,8,43 ! Plane V, wire 43
-98,8,44 ! Plane V, wire 44
-97,8,45 ! Plane V, wire 45
-96,8,46 ! Plane V, wire 46
-31,8,47 ! Plane V, wire 47
-30,8,48 ! Plane V, wire 48
-29,8,49 ! Plane V, wire 49
-28,8,50 ! Plane V, wire 50
-27,8,51 ! Plane V, wire 51
-26,8,52 ! Plane V, wire 52
-25,8,53 ! Plane V, wire 53
-24,8,54 ! Plane V, wire 54
-23,8,55 ! Plane V, wire 55
-22,8,56 ! Plane V, wire 56
-21,8,57 ! Plane V, wire 57
-20,8,58 ! Plane V, wire 58
-19,8,59 ! Plane V, wire 59
-18,8,60 ! Plane V, wire 60
-17,8,61 ! Plane V, wire 61
-16,8,62 ! Plane V, wire 62
+REFCHAN=15
+ 111,   8,  32  ! DC2, Plane V, wire 32
+ 110,   8,  33  ! DC2, Plane V, wire 33
+ 109,   8,  34  ! DC2, Plane V, wire 34
+ 108,   8,  35  ! DC2, Plane V, wire 35
+ 107,   8,  36  ! DC2, Plane V, wire 36
+ 106,   8,  37  ! DC2, Plane V, wire 37
+ 105,   8,  38  ! DC2, Plane V, wire 38
+ 104,   8,  39  ! DC2, Plane V, wire 39
+ 103,   8,  40  ! DC2, Plane V, wire 40
+ 102,   8,  41  ! DC2, Plane V, wire 41
+ 101,   8,  42  ! DC2, Plane V, wire 42
+ 100,   8,  43  ! DC2, Plane V, wire 43
+  99,   8,  44  ! DC2, Plane V, wire 44
+  98,   8,  45  ! DC2, Plane V, wire 45
+  97,   8,  46  ! DC2, Plane V, wire 46
+  96,   8,  47  ! DC2, Plane V, wire 47
+  31,   8,  48  ! DC2, Plane V, wire 48
+  30,   8,  49  ! DC2, Plane V, wire 49
+  29,   8,  50  ! DC2, Plane V, wire 50
+  28,   8,  51  ! DC2, Plane V, wire 51
+  27,   8,  52  ! DC2, Plane V, wire 52
+  26,   8,  53  ! DC2, Plane V, wire 53
+  25,   8,  54  ! DC2, Plane V, wire 54
+  24,   8,  55  ! DC2, Plane V, wire 55
+  23,   8,  56  ! DC2, Plane V, wire 56
+  22,   8,  57  ! DC2, Plane V, wire 57
+  21,   8,  58  ! DC2, Plane V, wire 58
+  20,   8,  59  ! DC2, Plane V, wire 59
+  19,   8,  60  ! DC2, Plane V, wire 60
+  18,   8,  61  ! DC2, Plane V, wire 61
+  17,   8,  62  ! DC2, Plane V, wire 62
+  16,   8,  63  ! DC2, Plane V, wire 63
+
 SLOT=12
-0,8,63 ! Plane V, wire 63
-1,8,64 ! Plane V, wire 64
-2,8,65 ! Plane V, wire 65
-3,8,66 ! Plane V, wire 66
-4,8,67 ! Plane V, wire 67
-5,8,68 ! Plane V, wire 68
-6,8,69 ! Plane V, wire 69
-7,8,70 ! Plane V, wire 70
-8,8,71 ! Plane V, wire 71
-9,8,72 ! Plane V, wire 72
-10,8,73 ! Plane V, wire 73
-11,8,74 ! Plane V, wire 74
-12,8,75 ! Plane V, wire 75
-13,8,76 ! Plane V, wire 76
-14,8,77 ! Plane V, wire 77
-15,8,78 ! Plane V, wire 78
-64,8,79 ! Plane V, wire 79
-65,8,80 ! Plane V, wire 80
-66,8,81 ! Plane V, wire 81
-67,8,82 ! Plane V, wire 82
-68,8,83 ! Plane V, wire 83
-69,8,84 ! Plane V, wire 84
-70,8,85 ! Plane V, wire 85
-71,8,86 ! Plane V, wire 86
-72,8,87 ! Plane V, wire 87
-73,8,88 ! Plane V, wire 88
-74,8,89 ! Plane V, wire 89
-75,8,90 ! Plane V, wire 90
-76,8,91 ! Plane V, wire 91
-77,8,92 ! Plane V, wire 92
-78,8,93 ! Plane V, wire 93
-79,8,94 ! Plane V, wire 94
-32,8,95 ! Plane V, wire 95
-33,8,96 ! Plane V, wire 96
-34,8,97 ! Plane V, wire 97
-35,8,98 ! Plane V, wire 98
-36,8,99 ! Plane V, wire 99
-37,8,100 ! Plane V, wire 100
-38,8,101 ! Plane V, wire 101
-39,8,102 ! Plane V, wire 102
-40,8,103 ! Plane V, wire 103
-41,8,104 ! Plane V, wire 104
-42,8,105 ! Plane V, wire 105
-SLOT=14
-14,8,106 ! Plane V, wire 106
+REFCHAN=47
+   0,   8,  64  ! DC2, Plane V, wire 64
+   1,   8,  65  ! DC2, Plane V, wire 65
+   2,   8,  66  ! DC2, Plane V, wire 66
+   3,   8,  67  ! DC2, Plane V, wire 67
+   4,   8,  68  ! DC2, Plane V, wire 68
+   5,   8,  69  ! DC2, Plane V, wire 69
+   6,   8,  70  ! DC2, Plane V, wire 70
+   7,   8,  71  ! DC2, Plane V, wire 71
+   8,   8,  72  ! DC2, Plane V, wire 72
+   9,   8,  73  ! DC2, Plane V, wire 73
+  10,   8,  74  ! DC2, Plane V, wire 74
+  11,   8,  75  ! DC2, Plane V, wire 75
+  12,   8,  76  ! DC2, Plane V, wire 76
+  13,   8,  77  ! DC2, Plane V, wire 77
+  14,   8,  78  ! DC2, Plane V, wire 78
+  15,   8,  79  ! DC2, Plane V, wire 79
+  64,   8,  80  ! DC2, Plane V, wire 80
+  65,   8,  81  ! DC2, Plane V, wire 81
+  66,   8,  82  ! DC2, Plane V, wire 82
+  67,   8,  83  ! DC2, Plane V, wire 83
+  68,   8,  84  ! DC2, Plane V, wire 84
+  69,   8,  85  ! DC2, Plane V, wire 85
+  70,   8,  86  ! DC2, Plane V, wire 86
+  71,   8,  87  ! DC2, Plane V, wire 87
+  72,   8,  88  ! DC2, Plane V, wire 88
+  73,   8,  89  ! DC2, Plane V, wire 89
+  74,   8,  90  ! DC2, Plane V, wire 90
+  75,   8,  91  ! DC2, Plane V, wire 91
+  76,   8,  92  ! DC2, Plane V, wire 92
+  77,   8,  93  ! DC2, Plane V, wire 93
+  78,   8,  94  ! DC2, Plane V, wire 94
+  79,   8,  95  ! DC2, Plane V, wire 95
+  32,   8,  96  ! DC2, Plane V, wire 96
+  33,   8,  97  ! DC2, Plane V, wire 97
+  34,   8,  98  ! DC2, Plane V, wire 98
+  35,   8,  99  ! DC2, Plane V, wire 99
+  36,   8, 100  ! DC2, Plane V, wire 100
+  37,   8, 101  ! DC2, Plane V, wire 101
+  38,   8, 102  ! DC2, Plane V, wire 102
+  39,   8, 103  ! DC2, Plane V, wire 103
+  40,   8, 104  ! DC2, Plane V, wire 104
+  41,   8, 105  ! DC2, Plane V, wire 105
+  42,   8, 106  ! DC2, Plane V, wire 106
+  43,   8, 107  ! DC2, Plane V, wire 107
+
 SLOT=15
-42,7,1 ! Plane V', wire 1
-41,7,2 ! Plane V', wire 2
-40,7,3 ! Plane V', wire 3
-39,7,4 ! Plane V', wire 4
-38,7,5 ! Plane V', wire 5
-37,7,6 ! Plane V', wire 6
-36,7,7 ! Plane V', wire 7
-35,7,8 ! Plane V', wire 8
-34,7,9 ! Plane V', wire 9
-33,7,10 ! Plane V', wire 10
-32,7,11 ! Plane V', wire 11
-15,7,12 ! Plane V', wire 12
-14,7,13 ! Plane V', wire 13
-13,7,14 ! Plane V', wire 14
-12,7,15 ! Plane V', wire 15
-11,7,16 ! Plane V', wire 16
-10,7,17 ! Plane V', wire 17
-9,7,18 ! Plane V', wire 18
-8,7,19 ! Plane V', wire 19
-7,7,20 ! Plane V', wire 20
-6,7,21 ! Plane V', wire 21
-5,7,22 ! Plane V', wire 22
-4,7,23 ! Plane V', wire 23
-3,7,24 ! Plane V', wire 24
-2,7,25 ! Plane V', wire 25
-1,7,26 ! Plane V', wire 26
-0,7,27 ! Plane V', wire 27
+REFCHAN=47
+  43,   7,   1  ! DC2, Plane V', wire 1
+  42,   7,   2  ! DC2, Plane V', wire 2
+  41,   7,   3  ! DC2, Plane V', wire 3
+  40,   7,   4  ! DC2, Plane V', wire 4
+  39,   7,   5  ! DC2, Plane V', wire 5
+  38,   7,   6  ! DC2, Plane V', wire 6
+  37,   7,   7  ! DC2, Plane V', wire 7
+  36,   7,   8  ! DC2, Plane V', wire 8
+  35,   7,   9  ! DC2, Plane V', wire 9
+  34,   7,  10  ! DC2, Plane V', wire 10
+  33,   7,  11  ! DC2, Plane V', wire 11
+  32,   7,  12  ! DC2, Plane V', wire 12
+  15,   7,  13  ! DC2, Plane V', wire 13
+  14,   7,  14  ! DC2, Plane V', wire 14
+  13,   7,  15  ! DC2, Plane V', wire 15
+  12,   7,  16  ! DC2, Plane V', wire 16
+  11,   7,  17  ! DC2, Plane V', wire 17
+  10,   7,  18  ! DC2, Plane V', wire 18
+   9,   7,  19  ! DC2, Plane V', wire 19
+   8,   7,  20  ! DC2, Plane V', wire 20
+   7,   7,  21  ! DC2, Plane V', wire 21
+   6,   7,  22  ! DC2, Plane V', wire 22
+   5,   7,  23  ! DC2, Plane V', wire 23
+   4,   7,  24  ! DC2, Plane V', wire 24
+   3,   7,  25  ! DC2, Plane V', wire 25
+   2,   7,  26  ! DC2, Plane V', wire 26
+   1,   7,  27  ! DC2, Plane V', wire 27
+   0,   7,  28  ! DC2, Plane V', wire 28
+
 SLOT=14
-79,7,28 ! Plane V', wire 28
-78,7,29 ! Plane V', wire 29
-77,7,30 ! Plane V', wire 30
-76,7,31 ! Plane V', wire 31
-75,7,32 ! Plane V', wire 32
-74,7,33 ! Plane V', wire 33
-73,7,34 ! Plane V', wire 34
-72,7,35 ! Plane V', wire 35
-71,7,36 ! Plane V', wire 36
-70,7,37 ! Plane V', wire 37
-69,7,38 ! Plane V', wire 38
-68,7,39 ! Plane V', wire 39
-67,7,40 ! Plane V', wire 40
-66,7,41 ! Plane V', wire 41
-65,7,42 ! Plane V', wire 42
-64,7,43 ! Plane V', wire 43
+REFCHAN=15
+  79,   7,  29  ! DC2, Plane V', wire 29
+  78,   7,  30  ! DC2, Plane V', wire 30
+  77,   7,  31  ! DC2, Plane V', wire 31
+  76,   7,  32  ! DC2, Plane V', wire 32
+  75,   7,  33  ! DC2, Plane V', wire 33
+  74,   7,  34  ! DC2, Plane V', wire 34
+  73,   7,  35  ! DC2, Plane V', wire 35
+  72,   7,  36  ! DC2, Plane V', wire 36
+  71,   7,  37  ! DC2, Plane V', wire 37
+  70,   7,  38  ! DC2, Plane V', wire 38
+  69,   7,  39  ! DC2, Plane V', wire 39
+  68,   7,  40  ! DC2, Plane V', wire 40
+  67,   7,  41  ! DC2, Plane V', wire 41
+  66,   7,  42  ! DC2, Plane V', wire 42
+  65,   7,  43  ! DC2, Plane V', wire 43
+  64,   7,  44  ! DC2, Plane V', wire 44
+
 SLOT=13
-48,7,44 ! Plane V', wire 44
-49,7,45 ! Plane V', wire 45
-50,7,46 ! Plane V', wire 46
-51,7,47 ! Plane V', wire 47
-52,7,48 ! Plane V', wire 48
-53,7,49 ! Plane V', wire 49
-54,7,50 ! Plane V', wire 50
-55,7,51 ! Plane V', wire 51
-56,7,52 ! Plane V', wire 52
-57,7,53 ! Plane V', wire 53
-58,7,54 ! Plane V', wire 54
-59,7,55 ! Plane V', wire 55
-60,7,56 ! Plane V', wire 56
-61,7,57 ! Plane V', wire 57
-62,7,58 ! Plane V', wire 58
-63,7,59 ! Plane V', wire 59
+REFCHAN=47
+  48,   7,  45  ! DC2, Plane V', wire 45
+  49,   7,  46  ! DC2, Plane V', wire 46
+  50,   7,  47  ! DC2, Plane V', wire 47
+  51,   7,  48  ! DC2, Plane V', wire 48
+  52,   7,  49  ! DC2, Plane V', wire 49
+  53,   7,  50  ! DC2, Plane V', wire 50
+  54,   7,  51  ! DC2, Plane V', wire 51
+  55,   7,  52  ! DC2, Plane V', wire 52
+  56,   7,  53  ! DC2, Plane V', wire 53
+  57,   7,  54  ! DC2, Plane V', wire 54
+  58,   7,  55  ! DC2, Plane V', wire 55
+  59,   7,  56  ! DC2, Plane V', wire 56
+  60,   7,  57  ! DC2, Plane V', wire 57
+  61,   7,  58  ! DC2, Plane V', wire 58
+  62,   7,  59  ! DC2, Plane V', wire 59
+  63,   7,  60  ! DC2, Plane V', wire 60
+
 SLOT=12
-80,7,60 ! Plane V', wire 60
-81,7,61 ! Plane V', wire 61
-82,7,62 ! Plane V', wire 62
-83,7,63 ! Plane V', wire 63
-84,7,64 ! Plane V', wire 64
-85,7,65 ! Plane V', wire 65
-86,7,66 ! Plane V', wire 66
-87,7,67 ! Plane V', wire 67
-88,7,68 ! Plane V', wire 68
-89,7,69 ! Plane V', wire 69
-90,7,70 ! Plane V', wire 70
-91,7,71 ! Plane V', wire 71
-92,7,72 ! Plane V', wire 72
-93,7,73 ! Plane V', wire 73
-94,7,74 ! Plane V', wire 74
-95,7,75 ! Plane V', wire 75
-48,7,76 ! Plane V', wire 76
-49,7,77 ! Plane V', wire 77
-50,7,78 ! Plane V', wire 78
-51,7,79 ! Plane V', wire 79
-52,7,80 ! Plane V', wire 80
-53,7,81 ! Plane V', wire 81
-54,7,82 ! Plane V', wire 82
-55,7,83 ! Plane V', wire 83
-56,7,84 ! Plane V', wire 84
-57,7,85 ! Plane V', wire 85
-58,7,86 ! Plane V', wire 86
-59,7,87 ! Plane V', wire 87
-60,7,88 ! Plane V', wire 88
-61,7,89 ! Plane V', wire 89
-62,7,90 ! Plane V', wire 90
-63,7,91 ! Plane V', wire 91
+REFCHAN=47
+  80,   7,  61  ! DC2, Plane V', wire 61
+  81,   7,  62  ! DC2, Plane V', wire 62
+  82,   7,  63  ! DC2, Plane V', wire 63
+  83,   7,  64  ! DC2, Plane V', wire 64
+  84,   7,  65  ! DC2, Plane V', wire 65
+  85,   7,  66  ! DC2, Plane V', wire 66
+  86,   7,  67  ! DC2, Plane V', wire 67
+  87,   7,  68  ! DC2, Plane V', wire 68
+  88,   7,  69  ! DC2, Plane V', wire 69
+  89,   7,  70  ! DC2, Plane V', wire 70
+  90,   7,  71  ! DC2, Plane V', wire 71
+  91,   7,  72  ! DC2, Plane V', wire 72
+  92,   7,  73  ! DC2, Plane V', wire 73
+  93,   7,  74  ! DC2, Plane V', wire 74
+  94,   7,  75  ! DC2, Plane V', wire 75
+  95,   7,  76  ! DC2, Plane V', wire 76
+  48,   7,  77  ! DC2, Plane V', wire 77
+  49,   7,  78  ! DC2, Plane V', wire 78
+  50,   7,  79  ! DC2, Plane V', wire 79
+  51,   7,  80  ! DC2, Plane V', wire 80
+  52,   7,  81  ! DC2, Plane V', wire 81
+  53,   7,  82  ! DC2, Plane V', wire 82
+  54,   7,  83  ! DC2, Plane V', wire 83
+  55,   7,  84  ! DC2, Plane V', wire 84
+  56,   7,  85  ! DC2, Plane V', wire 85
+  57,   7,  86  ! DC2, Plane V', wire 86
+  58,   7,  87  ! DC2, Plane V', wire 87
+  59,   7,  88  ! DC2, Plane V', wire 88
+  60,   7,  89  ! DC2, Plane V', wire 89
+  61,   7,  90  ! DC2, Plane V', wire 90
+  62,   7,  91  ! DC2, Plane V', wire 91
+  63,   7,  92  ! DC2, Plane V', wire 92
+
 SLOT=11
-32,7,92 ! Plane V', wire 92
-33,7,93 ! Plane V', wire 93
-34,7,94 ! Plane V', wire 94
-35,7,95 ! Plane V', wire 95
-36,7,96 ! Plane V', wire 96
-37,7,97 ! Plane V', wire 97
-38,7,98 ! Plane V', wire 98
-39,7,99 ! Plane V', wire 99
-40,7,100 ! Plane V', wire 100
-41,7,101 ! Plane V', wire 101
-42,7,102 ! Plane V', wire 102
-43,7,103 ! Plane V', wire 103
-44,7,104 ! Plane V', wire 104
-45,7,105 ! Plane V', wire 105
-SLOT=15
-43,7,106 ! Plane V', wire 106
+REFCHAN=47
+  32,   7,  93  ! DC2, Plane V', wire 93
+  33,   7,  94  ! DC2, Plane V', wire 94
+  34,   7,  95  ! DC2, Plane V', wire 95
+  35,   7,  96  ! DC2, Plane V', wire 96
+  36,   7,  97  ! DC2, Plane V', wire 97
+  37,   7,  98  ! DC2, Plane V', wire 98
+  38,   7,  99  ! DC2, Plane V', wire 99
+  39,   7, 100  ! DC2, Plane V', wire 100
+  40,   7, 101  ! DC2, Plane V', wire 101
+  41,   7, 102  ! DC2, Plane V', wire 102
+  42,   7, 103  ! DC2, Plane V', wire 103
+  43,   7, 104  ! DC2, Plane V', wire 104
+  44,   7, 105  ! DC2, Plane V', wire 105
+  45,   7, 106  ! DC2, Plane V', wire 106
+  46,   7, 107  ! DC2, Plane V', wire 107
+
 SLOT=12
-110,10,1 ! Plane X, wire 1
-109,10,2 ! Plane X, wire 2
-108,10,3 ! Plane X, wire 3
-107,10,4 ! Plane X, wire 4
-106,10,5 ! Plane X, wire 5
-105,10,6 ! Plane X, wire 6
-104,10,7 ! Plane X, wire 7
-103,10,8 ! Plane X, wire 8
-102,10,9 ! Plane X, wire 9
-101,10,10 ! Plane X, wire 10
-100,10,11 ! Plane X, wire 11
-99,10,12 ! Plane X, wire 12
-98,10,13 ! Plane X, wire 13
-97,10,14 ! Plane X, wire 14
-96,10,15 ! Plane X, wire 15
-31,10,16 ! Plane X, wire 16
-30,10,17 ! Plane X, wire 17
-29,10,18 ! Plane X, wire 18
-28,10,19 ! Plane X, wire 19
-27,10,20 ! Plane X, wire 20
-26,10,21 ! Plane X, wire 21
-25,10,22 ! Plane X, wire 22
-24,10,23 ! Plane X, wire 23
-23,10,24 ! Plane X, wire 24
-22,10,25 ! Plane X, wire 25
-21,10,26 ! Plane X, wire 26
-20,10,27 ! Plane X, wire 27
-19,10,28 ! Plane X, wire 28
-18,10,29 ! Plane X, wire 29
-17,10,30 ! Plane X, wire 30
-16,10,31 ! Plane X, wire 31
+REFCHAN=47
+ 111,  10,   1  ! DC2, Plane X, wire 1
+ 110,  10,   2  ! DC2, Plane X, wire 2
+ 109,  10,   3  ! DC2, Plane X, wire 3
+ 108,  10,   4  ! DC2, Plane X, wire 4
+ 107,  10,   5  ! DC2, Plane X, wire 5
+ 106,  10,   6  ! DC2, Plane X, wire 6
+ 105,  10,   7  ! DC2, Plane X, wire 7
+ 104,  10,   8  ! DC2, Plane X, wire 8
+ 103,  10,   9  ! DC2, Plane X, wire 9
+ 102,  10,  10  ! DC2, Plane X, wire 10
+ 101,  10,  11  ! DC2, Plane X, wire 11
+ 100,  10,  12  ! DC2, Plane X, wire 12
+  99,  10,  13  ! DC2, Plane X, wire 13
+  98,  10,  14  ! DC2, Plane X, wire 14
+  97,  10,  15  ! DC2, Plane X, wire 15
+  96,  10,  16  ! DC2, Plane X, wire 16
+  31,  10,  17  ! DC2, Plane X, wire 17
+  30,  10,  18  ! DC2, Plane X, wire 18
+  29,  10,  19  ! DC2, Plane X, wire 19
+  28,  10,  20  ! DC2, Plane X, wire 20
+  27,  10,  21  ! DC2, Plane X, wire 21
+  26,  10,  22  ! DC2, Plane X, wire 22
+  25,  10,  23  ! DC2, Plane X, wire 23
+  24,  10,  24  ! DC2, Plane X, wire 24
+  23,  10,  25  ! DC2, Plane X, wire 25
+  22,  10,  26  ! DC2, Plane X, wire 26
+  21,  10,  27  ! DC2, Plane X, wire 27
+  20,  10,  28  ! DC2, Plane X, wire 28
+  19,  10,  29  ! DC2, Plane X, wire 29
+  18,  10,  30  ! DC2, Plane X, wire 30
+  17,  10,  31  ! DC2, Plane X, wire 31
+  16,  10,  32  ! DC2, Plane X, wire 32
+
 SLOT=11
-31,10,32 ! Plane X, wire 32
-30,10,33 ! Plane X, wire 33
-29,10,34 ! Plane X, wire 34
-28,10,35 ! Plane X, wire 35
-27,10,36 ! Plane X, wire 36
-26,10,37 ! Plane X, wire 37
-25,10,38 ! Plane X, wire 38
-24,10,39 ! Plane X, wire 39
-23,10,40 ! Plane X, wire 40
-22,10,41 ! Plane X, wire 41
-21,10,42 ! Plane X, wire 42
-20,10,43 ! Plane X, wire 43
-19,10,44 ! Plane X, wire 44
-18,10,45 ! Plane X, wire 45
-17,10,46 ! Plane X, wire 46
-SLOT=12
-111,10,47 ! Plane X, wire 47
+REFCHAN=47
+  31,  10,  33  ! DC2, Plane X, wire 33
+  30,  10,  34  ! DC2, Plane X, wire 34
+  29,  10,  35  ! DC2, Plane X, wire 35
+  28,  10,  36  ! DC2, Plane X, wire 36
+  27,  10,  37  ! DC2, Plane X, wire 37
+  26,  10,  38  ! DC2, Plane X, wire 38
+  25,  10,  39  ! DC2, Plane X, wire 39
+  24,  10,  40  ! DC2, Plane X, wire 40
+  23,  10,  41  ! DC2, Plane X, wire 41
+  22,  10,  42  ! DC2, Plane X, wire 42
+  21,  10,  43  ! DC2, Plane X, wire 43
+  20,  10,  44  ! DC2, Plane X, wire 44
+  19,  10,  45  ! DC2, Plane X, wire 45
+  18,  10,  46  ! DC2, Plane X, wire 46
+  17,  10,  47  ! DC2, Plane X, wire 47
+  16,  10,  48  ! DC2, Plane X, wire 48
+
 SLOT=15
-16,10,48 ! Plane X, wire 48
-17,10,49 ! Plane X, wire 49
-18,10,50 ! Plane X, wire 50
-19,10,51 ! Plane X, wire 51
-20,10,52 ! Plane X, wire 52
-21,10,53 ! Plane X, wire 53
-22,10,54 ! Plane X, wire 54
-23,10,55 ! Plane X, wire 55
-24,10,56 ! Plane X, wire 56
-25,10,57 ! Plane X, wire 57
-26,10,58 ! Plane X, wire 58
-27,10,59 ! Plane X, wire 59
-28,10,60 ! Plane X, wire 60
-29,10,61 ! Plane X, wire 61
-30,10,62 ! Plane X, wire 62
-31,10,63 ! Plane X, wire 63
+REFCHAN=47
+  16,  10,  49  ! DC2, Plane X, wire 49
+  17,  10,  50  ! DC2, Plane X, wire 50
+  18,  10,  51  ! DC2, Plane X, wire 51
+  19,  10,  52  ! DC2, Plane X, wire 52
+  20,  10,  53  ! DC2, Plane X, wire 53
+  21,  10,  54  ! DC2, Plane X, wire 54
+  22,  10,  55  ! DC2, Plane X, wire 55
+  23,  10,  56  ! DC2, Plane X, wire 56
+  24,  10,  57  ! DC2, Plane X, wire 57
+  25,  10,  58  ! DC2, Plane X, wire 58
+  26,  10,  59  ! DC2, Plane X, wire 59
+  27,  10,  60  ! DC2, Plane X, wire 60
+  28,  10,  61  ! DC2, Plane X, wire 61
+  29,  10,  62  ! DC2, Plane X, wire 62
+  30,  10,  63  ! DC2, Plane X, wire 63
+  31,  10,  64  ! DC2, Plane X, wire 64
+
 SLOT=14
-48,10,64 ! Plane X, wire 64
-49,10,65 ! Plane X, wire 65
-50,10,66 ! Plane X, wire 66
-51,10,67 ! Plane X, wire 67
-52,10,68 ! Plane X, wire 68
-53,10,69 ! Plane X, wire 69
-54,10,70 ! Plane X, wire 70
-55,10,71 ! Plane X, wire 71
-56,10,72 ! Plane X, wire 72
-57,10,73 ! Plane X, wire 73
-58,10,74 ! Plane X, wire 74
-59,10,75 ! Plane X, wire 75
-60,10,76 ! Plane X, wire 76
-61,10,77 ! Plane X, wire 77
-62,10,78 ! Plane X, wire 78
+REFCHAN=15
+  48,  10,  65  ! DC2, Plane X, wire 65
+  49,  10,  66  ! DC2, Plane X, wire 66
+  50,  10,  67  ! DC2, Plane X, wire 67
+  51,  10,  68  ! DC2, Plane X, wire 68
+  52,  10,  69  ! DC2, Plane X, wire 69
+  53,  10,  70  ! DC2, Plane X, wire 70
+  54,  10,  71  ! DC2, Plane X, wire 71
+  55,  10,  72  ! DC2, Plane X, wire 72
+  56,  10,  73  ! DC2, Plane X, wire 73
+  57,  10,  74  ! DC2, Plane X, wire 74
+  58,  10,  75  ! DC2, Plane X, wire 75
+  59,  10,  76  ! DC2, Plane X, wire 76
+  60,  10,  77  ! DC2, Plane X, wire 77
+  61,  10,  78  ! DC2, Plane X, wire 78
+  62,  10,  79  ! DC2, Plane X, wire 79
+
 SLOT=13
-125,9,1 ! Plane X', wire 1
-124,9,2 ! Plane X', wire 2
-123,9,3 ! Plane X', wire 3
-122,9,4 ! Plane X', wire 4
-121,9,5 ! Plane X', wire 5
-120,9,6 ! Plane X', wire 6
-119,9,7 ! Plane X', wire 7
-118,9,8 ! Plane X', wire 8
-117,9,9 ! Plane X', wire 9
-116,9,10 ! Plane X', wire 10
-115,9,11 ! Plane X', wire 11
-114,9,12 ! Plane X', wire 12
-113,9,13 ! Plane X', wire 13
-112,9,14 ! Plane X', wire 14
-15,9,15 ! Plane X', wire 15
-14,9,16 ! Plane X', wire 16
-13,9,17 ! Plane X', wire 17
-12,9,18 ! Plane X', wire 18
-11,9,19 ! Plane X', wire 19
-10,9,20 ! Plane X', wire 20
-9,9,21 ! Plane X', wire 21
-8,9,22 ! Plane X', wire 22
-7,9,23 ! Plane X', wire 23
-6,9,24 ! Plane X', wire 24
-5,9,25 ! Plane X', wire 25
-4,9,26 ! Plane X', wire 26
-3,9,27 ! Plane X', wire 27
-2,9,28 ! Plane X', wire 28
-1,9,29 ! Plane X', wire 29
-0,9,30 ! Plane X', wire 30
+REFCHAN=47
+ 126,   9,   1  ! DC2, Plane X', wire 1
+ 125,   9,   2  ! DC2, Plane X', wire 2
+ 124,   9,   3  ! DC2, Plane X', wire 3
+ 123,   9,   4  ! DC2, Plane X', wire 4
+ 122,   9,   5  ! DC2, Plane X', wire 5
+ 121,   9,   6  ! DC2, Plane X', wire 6
+ 120,   9,   7  ! DC2, Plane X', wire 7
+ 119,   9,   8  ! DC2, Plane X', wire 8
+ 118,   9,   9  ! DC2, Plane X', wire 9
+ 117,   9,  10  ! DC2, Plane X', wire 10
+ 116,   9,  11  ! DC2, Plane X', wire 11
+ 115,   9,  12  ! DC2, Plane X', wire 12
+ 114,   9,  13  ! DC2, Plane X', wire 13
+ 113,   9,  14  ! DC2, Plane X', wire 14
+ 112,   9,  15  ! DC2, Plane X', wire 15
+  15,   9,  16  ! DC2, Plane X', wire 16
+  14,   9,  17  ! DC2, Plane X', wire 17
+  13,   9,  18  ! DC2, Plane X', wire 18
+  12,   9,  19  ! DC2, Plane X', wire 19
+  11,   9,  20  ! DC2, Plane X', wire 20
+  10,   9,  21  ! DC2, Plane X', wire 21
+   9,   9,  22  ! DC2, Plane X', wire 22
+   8,   9,  23  ! DC2, Plane X', wire 23
+   7,   9,  24  ! DC2, Plane X', wire 24
+   6,   9,  25  ! DC2, Plane X', wire 25
+   5,   9,  26  ! DC2, Plane X', wire 26
+   4,   9,  27  ! DC2, Plane X', wire 27
+   3,   9,  28  ! DC2, Plane X', wire 28
+   2,   9,  29  ! DC2, Plane X', wire 29
+   1,   9,  30  ! DC2, Plane X', wire 30
+   0,   9,  31  ! DC2, Plane X', wire 31
+
 SLOT=11
-96,9,31 ! Plane X', wire 31
-97,9,32 ! Plane X', wire 32
-98,9,33 ! Plane X', wire 33
-99,9,34 ! Plane X', wire 34
-100,9,35 ! Plane X', wire 35
-101,9,36 ! Plane X', wire 36
-102,9,37 ! Plane X', wire 37
-103,9,38 ! Plane X', wire 38
-104,9,39 ! Plane X', wire 39
-105,9,40 ! Plane X', wire 40
-106,9,41 ! Plane X', wire 41
-107,9,42 ! Plane X', wire 42
-108,9,43 ! Plane X', wire 43
-109,9,44 ! Plane X', wire 44
-110,9,45 ! Plane X', wire 45
-111,9,46 ! Plane X', wire 46
-64,9,47 ! Plane X', wire 47
-65,9,48 ! Plane X', wire 48
-66,9,49 ! Plane X', wire 49
-67,9,50 ! Plane X', wire 50
-68,9,51 ! Plane X', wire 51
-69,9,52 ! Plane X', wire 52
-70,9,53 ! Plane X', wire 53
-71,9,54 ! Plane X', wire 54
-72,9,55 ! Plane X', wire 55
-73,9,56 ! Plane X', wire 56
-74,9,57 ! Plane X', wire 57
-75,9,58 ! Plane X', wire 58
-76,9,59 ! Plane X', wire 59
-77,9,60 ! Plane X', wire 60
-78,9,61 ! Plane X', wire 61
-79,9,62 ! Plane X', wire 62
+REFCHAN=47
+  96,   9,  32  ! DC2, Plane X', wire 32
+  97,   9,  33  ! DC2, Plane X', wire 33
+  98,   9,  34  ! DC2, Plane X', wire 34
+  99,   9,  35  ! DC2, Plane X', wire 35
+ 100,   9,  36  ! DC2, Plane X', wire 36
+ 101,   9,  37  ! DC2, Plane X', wire 37
+ 102,   9,  38  ! DC2, Plane X', wire 38
+ 103,   9,  39  ! DC2, Plane X', wire 39
+ 104,   9,  40  ! DC2, Plane X', wire 40
+ 105,   9,  41  ! DC2, Plane X', wire 41
+ 106,   9,  42  ! DC2, Plane X', wire 42
+ 107,   9,  43  ! DC2, Plane X', wire 43
+ 108,   9,  44  ! DC2, Plane X', wire 44
+ 109,   9,  45  ! DC2, Plane X', wire 45
+ 110,   9,  46  ! DC2, Plane X', wire 46
+ 111,   9,  47  ! DC2, Plane X', wire 47
+  64,   9,  48  ! DC2, Plane X', wire 48
+  65,   9,  49  ! DC2, Plane X', wire 49
+  66,   9,  50  ! DC2, Plane X', wire 50
+  67,   9,  51  ! DC2, Plane X', wire 51
+  68,   9,  52  ! DC2, Plane X', wire 52
+  69,   9,  53  ! DC2, Plane X', wire 53
+  70,   9,  54  ! DC2, Plane X', wire 54
+  71,   9,  55  ! DC2, Plane X', wire 55
+  72,   9,  56  ! DC2, Plane X', wire 56
+  73,   9,  57  ! DC2, Plane X', wire 57
+  74,   9,  58  ! DC2, Plane X', wire 58
+  75,   9,  59  ! DC2, Plane X', wire 59
+  76,   9,  60  ! DC2, Plane X', wire 60
+  77,   9,  61  ! DC2, Plane X', wire 61
+  78,   9,  62  ! DC2, Plane X', wire 62
+  79,   9,  63  ! DC2, Plane X', wire 63
+
 SLOT=10
-96,9,63 ! Plane X', wire 63
-97,9,64 ! Plane X', wire 64
-98,9,65 ! Plane X', wire 65
-99,9,66 ! Plane X', wire 66
-100,9,67 ! Plane X', wire 67
-101,9,68 ! Plane X', wire 68
-102,9,69 ! Plane X', wire 69
-103,9,70 ! Plane X', wire 70
-104,9,71 ! Plane X', wire 71
-105,9,72 ! Plane X', wire 72
-106,9,73 ! Plane X', wire 73
-107,9,74 ! Plane X', wire 74
-108,9,75 ! Plane X', wire 75
-109,9,76 ! Plane X', wire 76
-110,9,77 ! Plane X', wire 77
-SLOT=13
-126,9,78 ! Plane X', wire 78
\ No newline at end of file
+REFCHAN=79
+  96,   9,  64  ! DC2, Plane X', wire 64
+  97,   9,  65  ! DC2, Plane X', wire 65
+  98,   9,  66  ! DC2, Plane X', wire 66
+  99,   9,  67  ! DC2, Plane X', wire 67
+ 100,   9,  68  ! DC2, Plane X', wire 68
+ 101,   9,  69  ! DC2, Plane X', wire 69
+ 102,   9,  70  ! DC2, Plane X', wire 70
+ 103,   9,  71  ! DC2, Plane X', wire 71
+ 104,   9,  72  ! DC2, Plane X', wire 72
+ 105,   9,  73  ! DC2, Plane X', wire 73
+ 106,   9,  74  ! DC2, Plane X', wire 74
+ 107,   9,  75  ! DC2, Plane X', wire 75
+ 108,   9,  76  ! DC2, Plane X', wire 76
+ 109,   9,  77  ! DC2, Plane X', wire 77
+ 110,   9,  78  ! DC2, Plane X', wire 78
+ 111,   9,  79  ! DC2, Plane X', wire 79
diff --git a/MAPS/SHMS/DETEC/phgcer.map b/MAPS/SHMS/DETEC/phgcer.map
new file mode 100644
index 00000000..51c53141
--- /dev/null
+++ b/MAPS/SHMS/DETEC/phgcer.map
@@ -0,0 +1,12 @@
+! PHGCER_ID=24       ::  ADC
+
+
+DETECTOR=24
+
+ROC=2
+
+SLOT=13
+   8,   1,   1,   0  ! pHGCER01
+   9,   1,   2,   0  ! pHGCER02
+  10,   1,   3,   0  ! pHGCER03
+  11,   1,   4,   0  ! pHGCER04
diff --git a/MAPS/SHMS/DETEC/phgcer_ptrig.map b/MAPS/SHMS/DETEC/phgcer_ptrig.map
new file mode 100644
index 00000000..b67003d2
--- /dev/null
+++ b/MAPS/SHMS/DETEC/phgcer_ptrig.map
@@ -0,0 +1,71 @@
+! TSHMS_ID=20      ::  ::,ADC,TDC
+! PHGCER_ID=24     ::  ::,ADC,TDC
+
+
+DETECTOR=20
+
+ROC=2
+
+SLOT=14
+   0,   1,   1,   0  ! pAERSUM
+   1,   1,   2,   0  ! pHGCERSUM
+   2,   1,   3,   0  ! pNGCERSUM
+
+SLOT=20
+  15,   2,   1,   1  ! pT1
+
+SLOT=19
+  31,   2,   2,   1  ! pT2
+  32,   2,   3,   1  ! p1X
+  33,   2,   4,   1  ! p1Y
+  34,   2,   5,   1  ! p2X
+  35,   2,   6,   1  ! p2Y
+  36,   2,   7,   1  ! p1T
+  37,   2,   8,   1  ! p2T
+  38,   2,   9,   1  ! pT3
+  39,   2,  10,   1  ! pAERSUM
+  40,   2,  11,   1  ! pHGCERSUM
+  41,   2,  12,   1  ! pNGCERSUM
+
+ROC=6
+
+SLOT=6
+  79,   2,  13,   1  ! pDCREF1
+
+SLOT=7
+  79,   2,  14,   1  ! pDCREF2
+
+SLOT=8
+  79,   2,  15,   1  ! pDCREF3
+
+SLOT=9
+  79,   2,  16,   1  ! pDCREF4
+
+SLOT=10
+  79,   2,  17,   1  ! pDCREF5
+
+SLOT=11
+  47,   2,  18,   1  ! pDCREF6
+
+SLOT=12
+  47,   2,  19,   1  ! pDCREF7
+
+SLOT=13
+  47,   2,  20,   1  ! pDCREF8
+
+SLOT=14
+  15,   2,  21,   1  ! pDCREF9
+
+SLOT=15
+  47,   2,  22,   1  ! pDCREF10
+
+
+DETECTOR=24
+
+ROC=2
+
+SLOT=13
+   8,   1,   1,   0  ! pHGCER01
+   9,   1,   2,   0  ! pHGCER02
+  10,   1,   3,   0  ! pHGCER03
+  11,   1,   4,   0  ! pHGCER04
diff --git a/MAPS/SHMS/DETEC/phodo.map b/MAPS/SHMS/DETEC/phodo.map
new file mode 100644
index 00000000..5a8268fc
--- /dev/null
+++ b/MAPS/SHMS/DETEC/phodo.map
@@ -0,0 +1,274 @@
+! PSCIN_ID=23      ::  ::,ADC+,ADC-,TDC+,TDC-
+
+
+DETECTOR=23
+
+ROC=2
+
+SLOT=3
+   0,   1,   1,   0  ! p1x01A+
+   1,   1,   2,   0  ! p1x02A+
+   2,   1,   3,   0  ! p1x03A+
+   3,   1,   4,   0  ! p1x04A+
+   4,   1,   5,   0  ! p1x05A+
+   5,   1,   6,   0  ! p1x06A+
+   6,   1,   7,   0  ! p1x07A+
+   7,   1,   8,   0  ! p1x08A+
+   8,   1,   9,   0  ! p1x09A+
+   9,   1,  10,   0  ! p1x10A+
+  10,   1,  11,   0  ! p1x11A+
+  11,   1,  12,   0  ! p1x12A+
+  12,   1,  13,   0  ! p1x13A+
+  13,   1,   1,   1  ! p1x01A-
+  14,   1,   2,   1  ! p1x02A-
+  15,   1,   3,   1  ! p1x03A-
+
+SLOT=4
+   0,   1,   4,   1  ! p1x04A-
+   1,   1,   5,   1  ! p1x05A-
+   2,   1,   6,   1  ! p1x06A-
+   3,   1,   7,   1  ! p1x07A-
+   4,   1,   8,   1  ! p1x08A-
+   5,   1,   9,   1  ! p1x09A-
+   6,   1,  10,   1  ! p1x10A-
+   7,   1,  11,   1  ! p1x11A-
+   8,   1,  12,   1  ! p1x12A-
+   9,   1,  13,   1  ! p1x13A-
+  10,   2,   1,   1  ! p1y01A-
+  11,   2,   2,   1  ! p1y02A-
+  12,   2,   3,   1  ! p1y03A-
+  13,   2,   4,   1  ! p1y04A-
+  14,   2,   5,   1  ! p1y05A-
+  15,   2,   6,   1  ! p1y06A-
+
+SLOT=5
+   0,   2,   7,   1  ! p1y07A-
+   1,   2,   8,   1  ! p1y08A-
+   2,   2,   9,   1  ! p1y09A-
+   3,   2,  10,   1  ! p1y10A-
+   4,   2,  11,   1  ! p1y11A-
+   5,   2,  12,   1  ! p1y12A-
+   6,   2,  13,   1  ! p1y13A-
+   7,   2,   1,   0  ! p1y01A+
+   8,   2,   2,   0  ! p1y02A+
+   9,   2,   3,   0  ! p1y03A+
+  10,   2,   4,   0  ! p1y04A+
+  11,   2,   5,   0  ! p1y05A+
+  12,   2,   6,   0  ! p1y06A+
+  13,   2,   7,   0  ! p1y07A+
+  14,   2,   8,   0  ! p1y08A+
+  15,   2,   9,   0  ! p1y09A+
+
+SLOT=6
+   0,   2,  10,   0  ! p1y10A+
+   1,   2,  11,   0  ! p1y11A+
+   2,   2,  12,   0  ! p1y12A+
+   3,   2,  13,   0  ! p1y13A+
+   4,   3,   1,   0  ! p2x01A+
+   5,   3,   2,   0  ! p2x02A+
+   6,   3,   3,   0  ! p2x03A+
+   7,   3,   4,   0  ! p2x04A+
+   8,   3,   5,   0  ! p2x05A+
+   9,   3,   6,   0  ! p2x06A+
+  10,   3,   7,   0  ! p2x07A+
+  11,   3,   8,   0  ! p2x08A+
+  12,   3,   9,   0  ! p2x09A+
+  13,   3,  10,   0  ! p2x10A+
+  14,   3,  11,   0  ! p2x11A+
+  15,   3,  12,   0  ! p2x12A+
+
+SLOT=7
+   0,   3,  13,   0  ! p2x13A+
+   1,   3,  14,   0  ! p2x14A+
+   2,   3,   1,   1  ! p2x01A-
+   3,   3,   2,   1  ! p2x02A-
+   4,   3,   3,   1  ! p2x03A-
+   5,   3,   4,   1  ! p2x04A-
+   6,   3,   5,   1  ! p2x05A-
+   7,   3,   6,   1  ! p2x06A-
+   8,   3,   7,   1  ! p2x07A-
+   9,   3,   8,   1  ! p2x08A-
+  10,   3,   9,   1  ! p2x09A-
+  11,   3,  10,   1  ! p2x10A-
+  12,   3,  11,   1  ! p2x11A-
+  13,   3,  12,   1  ! p2x12A-
+  14,   3,  13,   1  ! p2x13A-
+  15,   3,  14,   1  ! p2x14A-
+
+SLOT=8
+   0,   4,   1,   1  ! p2y01A-
+   1,   4,   2,   1  ! p2y02A-
+   2,   4,   3,   1  ! p2y03A-
+   3,   4,   4,   1  ! p2y04A-
+   4,   4,   5,   1  ! p2y05A-
+   5,   4,   6,   1  ! p2y06A-
+   6,   4,   7,   1  ! p2y07A-
+   7,   4,   8,   1  ! p2y08A-
+   8,   4,   9,   1  ! p2y09A-
+   9,   4,  10,   1  ! p2y10A-
+  10,   4,  11,   1  ! p2y11A-
+  11,   4,  12,   1  ! p2y12A-
+  12,   4,  13,   1  ! p2y13A-
+  13,   4,  14,   1  ! p2y14A-
+  14,   4,  15,   1  ! p2y15A-
+  15,   4,  16,   1  ! p2y16A-
+
+SLOT=9
+   0,   4,  17,   1  ! p2y17A-
+   1,   4,  18,   1  ! p2y18A-
+   2,   4,  19,   1  ! p2y19A-
+   3,   4,  20,   1  ! p2y20A-
+   4,   4,  21,   1  ! p2y21A-
+   5,   4,   1,   0  ! p2y01A+
+   6,   4,   2,   0  ! p2y02A+
+   7,   4,   3,   0  ! p2y03A+
+   8,   4,   4,   0  ! p2y04A+
+   9,   4,   5,   0  ! p2y05A+
+  10,   4,   6,   0  ! p2y06A+
+  11,   4,   7,   0  ! p2y07A+
+  12,   4,   8,   0  ! p2y08A+
+  13,   4,   9,   0  ! p2y09A+
+  14,   4,  10,   0  ! p2y10A+
+  15,   4,  11,   0  ! p2y11A+
+
+SLOT=10
+   0,   4,  12,   0  ! p2y12A+
+   1,   4,  13,   0  ! p2y13A+
+   2,   4,  14,   0  ! p2y14A+
+   3,   4,  15,   0  ! p2y15A+
+   4,   4,  16,   0  ! p2y16A+
+   5,   4,  17,   0  ! p2y17A+
+   6,   4,  18,   0  ! p2y18A+
+   7,   4,  19,   0  ! p2y19A+
+   8,   4,  20,   0  ! p2y20A+
+   9,   4,  21,   0  ! p2y21A+
+
+SLOT=20
+REFINDEX=0
+  15,1000,   0,   0
+   0,   1,   1,   2  ! p1x01T+
+   1,   1,   3,   2  ! p1x03T+
+   2,   1,   5,   2  ! p1x05T+
+   3,   1,   7,   2  ! p1x07T+
+   4,   1,   2,   2  ! p1x02T+
+   5,   1,   4,   2  ! p1x04T+
+   6,   1,   6,   2  ! p1x06T+
+   7,   1,   8,   2  ! p1x08T+
+   8,   1,   9,   2  ! p1x09T+
+   9,   1,  11,   2  ! p1x11T+
+  10,   1,  13,   2  ! p1x13T+
+  12,   1,  10,   2  ! p1x10T+
+  13,   1,  12,   2  ! p1x12T+
+  16,   1,   1,   3  ! p1x01T-
+  17,   1,   3,   3  ! p1x03T-
+  18,   1,   5,   3  ! p1x05T-
+  19,   1,   7,   3  ! p1x07T-
+  20,   1,   2,   3  ! p1x02T-
+  21,   1,   4,   3  ! p1x04T-
+  22,   1,   6,   3  ! p1x06T-
+  23,   1,   8,   3  ! p1x08T-
+  24,   1,   9,   3  ! p1x09T-
+  25,   1,  11,   3  ! p1x11T-
+  26,   1,  13,   3  ! p1x13T-
+  28,   1,  10,   3  ! p1x10T-
+  30,   1,  12,   3  ! p1x12T-
+  32,   2,   1,   3  ! p1y01T-
+  33,   2,   3,   3  ! p1y03T-
+  34,   2,   5,   3  ! p1y05T-
+  35,   2,   7,   3  ! p1y07T-
+  36,   2,   2,   3  ! p1y02T-
+  37,   2,   4,   3  ! p1y04T-
+  38,   2,   6,   3  ! p1y06T-
+  39,   2,   8,   3  ! p1y08T-
+  40,   2,   9,   3  ! p1y09T-
+  41,   2,  11,   3  ! p1y11T-
+  42,   2,  13,   3  ! p1y13T-
+  44,   2,  10,   3  ! p1y10T-
+  45,   2,  12,   3  ! p1y12T-
+  48,   2,   1,   2  ! p1y01T+
+  49,   2,   3,   2  ! p1y03T+
+  50,   2,   5,   2  ! p1y05T+
+  51,   2,   7,   2  ! p1y07T+
+  52,   2,   2,   2  ! p1y02T+
+  53,   2,   4,   2  ! p1y04T+
+  54,   2,   6,   2  ! p1y06T+
+  55,   2,   8,   2  ! p1y08T+
+  56,   2,   9,   2  ! p1y09T+
+  57,   2,  11,   2  ! p1y11T+
+  58,   2,  13,   2  ! p1y13T+
+  60,   2,  10,   2  ! p1y10T+
+  61,   2,  12,   2  ! p1y12T+
+  64,   3,   1,   2  ! p2x01T+
+  65,   3,   3,   2  ! p2x03T+
+  66,   3,   5,   2  ! p2x05T+
+  67,   3,   7,   2  ! p2x07T+
+  68,   3,   2,   2  ! p2x02T+
+  69,   3,   4,   2  ! p2x04T+
+  70,   3,   6,   2  ! p2x06T+
+  71,   3,   8,   2  ! p2x08T+
+  72,   3,   9,   2  ! p2x09T+
+  73,   3,  11,   2  ! p2x11T+
+  74,   3,  13,   2  ! p2x13T+
+  76,   3,  10,   2  ! p2x10T+
+  77,   3,  12,   2  ! p2x12T+
+  78,   3,  14,   2  ! p2x14T+
+  80,   3,   1,   3  ! p2x01T-
+  81,   3,   3,   3  ! p2x03T-
+  82,   3,   5,   3  ! p2x05T-
+  83,   3,   7,   3  ! p2x07T-
+  84,   3,   2,   3  ! p2x02T-
+  85,   3,   4,   3  ! p2x04T-
+  86,   3,   6,   3  ! p2x06T-
+  87,   3,   8,   3  ! p2x08T-
+  88,   3,   9,   3  ! p2x09T-
+  89,   3,  11,   3  ! p2x11T-
+  90,   3,  13,   3  ! p2x13T-
+  92,   3,  10,   3  ! p2x10T-
+  93,   3,  12,   3  ! p2x12T-
+  94,   3,  14,   3  ! p2x14T-
+  96,   4,   1,   3  ! p2y01T-
+  97,   4,   3,   3  ! p2y03T-
+  98,   4,   5,   3  ! p2y05T-
+  99,   4,   7,   3  ! p2y07T-
+ 100,   4,   2,   3  ! p2y02T-
+ 101,   4,   4,   3  ! p2y04T-
+ 102,   4,   6,   3  ! p2y06T-
+ 103,   4,   8,   3  ! p2y08T-
+ 104,   4,   9,   3  ! p2y09T-
+ 105,   4,  11,   3  ! p2y11T-
+ 106,   4,  13,   3  ! p2y13T-
+ 107,   4,  15,   3  ! p2y15T-
+ 108,   4,  10,   3  ! p2y10T-
+ 109,   4,  12,   3  ! p2y12T-
+ 110,   4,  14,   3  ! p2y14T-
+ 111,   4,  16,   3  ! p2y16T-
+ 112,   4,  17,   3  ! p2y17T-
+ 113,   4,  19,   3  ! p2y19T-
+ 114,   4,  21,   3  ! p2y21T-
+ 116,   4,  18,   3  ! p2y18T-
+ 117,   4,  20,   3  ! p2y20T-
+
+SLOT=19
+REFINDEX=0
+  31,1000,   0,   1
+   0,   4,   1,   2  ! p2y01T+
+   1,   4,   3,   2  ! p2y03T+
+   2,   4,   5,   2  ! p2y05T+
+   3,   4,   7,   2  ! p2y07T+
+   4,   4,   2,   2  ! p2y02T+
+   5,   4,   4,   2  ! p2y04T+
+   6,   4,   6,   2  ! p2y06T+
+   7,   4,   8,   2  ! p2y08T+
+   8,   4,   9,   2  ! p2y09T+
+   9,   4,  11,   2  ! p2y11T+
+  10,   4,  13,   2  ! p2y13T+
+  11,   4,  15,   2  ! p2y15T+
+  12,   4,  10,   2  ! p2y10T+
+  13,   4,  12,   2  ! p2y12T+
+  14,   4,  14,   2  ! p2y14T+
+  15,   4,  16,   2  ! p2y16T+
+  16,   4,  17,   2  ! p2y17T+
+  17,   4,  19,   2  ! p2y19T+
+  18,   4,  21,   2  ! p2y21T+
+  20,   4,  18,   2  ! p2y18T+
+  21,   4,  20,   2  ! p2y20T+
diff --git a/MAPS/SHMS/DETEC/phodo_ptrig.map b/MAPS/SHMS/DETEC/phodo_ptrig.map
new file mode 100644
index 00000000..8f82c1e6
--- /dev/null
+++ b/MAPS/SHMS/DETEC/phodo_ptrig.map
@@ -0,0 +1,333 @@
+! TSHMS_ID=20      ::  ADC,TDC
+! PSCIN_ID=23      ::  ,ADC+,ADC-,TDC+,TDC-
+
+
+DETECTOR=20
+
+ROC=2
+
+SLOT=14
+   0,   1,   1,   0  ! pAERSUM
+   1,   1,   2,   0  ! pHGCERSUM
+   2,   1,   3,   0  ! pNGCERSUM
+
+SLOT=20
+  15,   2,   1,   1  ! pT1
+
+SLOT=19
+  31,   2,   2,   1  ! pT2
+  32,   2,   3,   1  ! p1X
+  33,   2,   4,   1  ! p1Y
+  34,   2,   5,   1  ! p2X
+  35,   2,   6,   1  ! p2Y
+  36,   2,   7,   1  ! p1T
+  37,   2,   8,   1  ! p2T
+  38,   2,   9,   1  ! pT3
+  39,   2,  10,   1  ! pAERSUM
+  40,   2,  11,   1  ! pHGCERSUM
+  41,   2,  12,   1  ! pNGCERSUM
+
+ROC=6
+
+SLOT=6
+  79,   2,  13,   1  ! pDCREF1
+
+SLOT=7
+  79,   2,  14,   1  ! pDCREF2
+
+SLOT=8
+  79,   2,  15,   1  ! pDCREF3
+
+SLOT=9
+  79,   2,  16,   1  ! pDCREF4
+
+SLOT=10
+  79,   2,  17,   1  ! pDCREF5
+
+SLOT=11
+  47,   2,  18,   1  ! pDCREF6
+
+SLOT=12
+  47,   2,  19,   1  ! pDCREF7
+
+SLOT=13
+  47,   2,  20,   1  ! pDCREF8
+
+SLOT=14
+  15,   2,  21,   1  ! pDCREF9
+
+SLOT=15
+  47,   2,  22,   1  ! pDCREF10
+
+
+DETECTOR=23
+
+ROC=2
+
+SLOT=3
+   0,   1,   1,   0  ! p1x01A+
+   1,   1,   2,   0  ! p1x02A+
+   2,   1,   3,   0  ! p1x03A+
+   3,   1,   4,   0  ! p1x04A+
+   4,   1,   5,   0  ! p1x05A+
+   5,   1,   6,   0  ! p1x06A+
+   6,   1,   7,   0  ! p1x07A+
+   7,   1,   8,   0  ! p1x08A+
+   8,   1,   9,   0  ! p1x09A+
+   9,   1,  10,   0  ! p1x10A+
+  10,   1,  11,   0  ! p1x11A+
+  11,   1,  12,   0  ! p1x12A+
+  12,   1,  13,   0  ! p1x13A+
+  13,   1,   1,   1  ! p1x01A-
+  14,   1,   2,   1  ! p1x02A-
+  15,   1,   3,   1  ! p1x03A-
+
+SLOT=4
+   0,   1,   4,   1  ! p1x04A-
+   1,   1,   5,   1  ! p1x05A-
+   2,   1,   6,   1  ! p1x06A-
+   3,   1,   7,   1  ! p1x07A-
+   4,   1,   8,   1  ! p1x08A-
+   5,   1,   9,   1  ! p1x09A-
+   6,   1,  10,   1  ! p1x10A-
+   7,   1,  11,   1  ! p1x11A-
+   8,   1,  12,   1  ! p1x12A-
+   9,   1,  13,   1  ! p1x13A-
+  10,   2,   1,   1  ! p1y01A-
+  11,   2,   2,   1  ! p1y02A-
+  12,   2,   3,   1  ! p1y03A-
+  13,   2,   4,   1  ! p1y04A-
+  14,   2,   5,   1  ! p1y05A-
+  15,   2,   6,   1  ! p1y06A-
+
+SLOT=5
+   0,   2,   7,   1  ! p1y07A-
+   1,   2,   8,   1  ! p1y08A-
+   2,   2,   9,   1  ! p1y09A-
+   3,   2,  10,   1  ! p1y10A-
+   4,   2,  11,   1  ! p1y11A-
+   5,   2,  12,   1  ! p1y12A-
+   6,   2,  13,   1  ! p1y13A-
+   7,   2,   1,   0  ! p1y01A+
+   8,   2,   2,   0  ! p1y02A+
+   9,   2,   3,   0  ! p1y03A+
+  10,   2,   4,   0  ! p1y04A+
+  11,   2,   5,   0  ! p1y05A+
+  12,   2,   6,   0  ! p1y06A+
+  13,   2,   7,   0  ! p1y07A+
+  14,   2,   8,   0  ! p1y08A+
+  15,   2,   9,   0  ! p1y09A+
+
+SLOT=6
+   0,   2,  10,   0  ! p1y10A+
+   1,   2,  11,   0  ! p1y11A+
+   2,   2,  12,   0  ! p1y12A+
+   3,   2,  13,   0  ! p1y13A+
+   4,   3,   1,   0  ! p2x01A+
+   5,   3,   2,   0  ! p2x02A+
+   6,   3,   3,   0  ! p2x03A+
+   7,   3,   4,   0  ! p2x04A+
+   8,   3,   5,   0  ! p2x05A+
+   9,   3,   6,   0  ! p2x06A+
+  10,   3,   7,   0  ! p2x07A+
+  11,   3,   8,   0  ! p2x08A+
+  12,   3,   9,   0  ! p2x09A+
+  13,   3,  10,   0  ! p2x10A+
+  14,   3,  11,   0  ! p2x11A+
+  15,   3,  12,   0  ! p2x12A+
+
+SLOT=7
+   0,   3,  13,   0  ! p2x13A+
+   1,   3,  14,   0  ! p2x14A+
+   2,   3,   1,   1  ! p2x01A-
+   3,   3,   2,   1  ! p2x02A-
+   4,   3,   3,   1  ! p2x03A-
+   5,   3,   4,   1  ! p2x04A-
+   6,   3,   5,   1  ! p2x05A-
+   7,   3,   6,   1  ! p2x06A-
+   8,   3,   7,   1  ! p2x07A-
+   9,   3,   8,   1  ! p2x08A-
+  10,   3,   9,   1  ! p2x09A-
+  11,   3,  10,   1  ! p2x10A-
+  12,   3,  11,   1  ! p2x11A-
+  13,   3,  12,   1  ! p2x12A-
+  14,   3,  13,   1  ! p2x13A-
+  15,   3,  14,   1  ! p2x14A-
+
+SLOT=8
+   0,   4,   1,   1  ! p2y01A-
+   1,   4,   2,   1  ! p2y02A-
+   2,   4,   3,   1  ! p2y03A-
+   3,   4,   4,   1  ! p2y04A-
+   4,   4,   5,   1  ! p2y05A-
+   5,   4,   6,   1  ! p2y06A-
+   6,   4,   7,   1  ! p2y07A-
+   7,   4,   8,   1  ! p2y08A-
+   8,   4,   9,   1  ! p2y09A-
+   9,   4,  10,   1  ! p2y10A-
+  10,   4,  11,   1  ! p2y11A-
+  11,   4,  12,   1  ! p2y12A-
+  12,   4,  13,   1  ! p2y13A-
+  13,   4,  14,   1  ! p2y14A-
+  14,   4,  15,   1  ! p2y15A-
+  15,   4,  16,   1  ! p2y16A-
+
+SLOT=9
+   0,   4,  17,   1  ! p2y17A-
+   1,   4,  18,   1  ! p2y18A-
+   2,   4,  19,   1  ! p2y19A-
+   3,   4,  20,   1  ! p2y20A-
+   4,   4,  21,   1  ! p2y21A-
+   5,   4,   1,   0  ! p2y01A+
+   6,   4,   2,   0  ! p2y02A+
+   7,   4,   3,   0  ! p2y03A+
+   8,   4,   4,   0  ! p2y04A+
+   9,   4,   5,   0  ! p2y05A+
+  10,   4,   6,   0  ! p2y06A+
+  11,   4,   7,   0  ! p2y07A+
+  12,   4,   8,   0  ! p2y08A+
+  13,   4,   9,   0  ! p2y09A+
+  14,   4,  10,   0  ! p2y10A+
+  15,   4,  11,   0  ! p2y11A+
+
+SLOT=10
+   0,   4,  12,   0  ! p2y12A+
+   1,   4,  13,   0  ! p2y13A+
+   2,   4,  14,   0  ! p2y14A+
+   3,   4,  15,   0  ! p2y15A+
+   4,   4,  16,   0  ! p2y16A+
+   5,   4,  17,   0  ! p2y17A+
+   6,   4,  18,   0  ! p2y18A+
+   7,   4,  19,   0  ! p2y19A+
+   8,   4,  20,   0  ! p2y20A+
+   9,   4,  21,   0  ! p2y21A+
+
+SLOT=20
+REFINDEX=0
+  15,1000,   0,   0
+   0,   1,   1,   2  ! p1x01T+
+   1,   1,   3,   2  ! p1x03T+
+   2,   1,   5,   2  ! p1x05T+
+   3,   1,   7,   2  ! p1x07T+
+   4,   1,   2,   2  ! p1x02T+
+   5,   1,   4,   2  ! p1x04T+
+   6,   1,   6,   2  ! p1x06T+
+   7,   1,   8,   2  ! p1x08T+
+   8,   1,   9,   2  ! p1x09T+
+   9,   1,  11,   2  ! p1x11T+
+  10,   1,  13,   2  ! p1x13T+
+  12,   1,  10,   2  ! p1x10T+
+  13,   1,  12,   2  ! p1x12T+
+  16,   1,   1,   3  ! p1x01T-
+  17,   1,   3,   3  ! p1x03T-
+  18,   1,   5,   3  ! p1x05T-
+  19,   1,   7,   3  ! p1x07T-
+  20,   1,   2,   3  ! p1x02T-
+  21,   1,   4,   3  ! p1x04T-
+  22,   1,   6,   3  ! p1x06T-
+  23,   1,   8,   3  ! p1x08T-
+  24,   1,   9,   3  ! p1x09T-
+  25,   1,  11,   3  ! p1x11T-
+  26,   1,  13,   3  ! p1x13T-
+  28,   1,  10,   3  ! p1x10T-
+  30,   1,  12,   3  ! p1x12T-
+  32,   2,   1,   3  ! p1y01T-
+  33,   2,   3,   3  ! p1y03T-
+  34,   2,   5,   3  ! p1y05T-
+  35,   2,   7,   3  ! p1y07T-
+  36,   2,   2,   3  ! p1y02T-
+  37,   2,   4,   3  ! p1y04T-
+  38,   2,   6,   3  ! p1y06T-
+  39,   2,   8,   3  ! p1y08T-
+  40,   2,   9,   3  ! p1y09T-
+  41,   2,  11,   3  ! p1y11T-
+  42,   2,  13,   3  ! p1y13T-
+  44,   2,  10,   3  ! p1y10T-
+  45,   2,  12,   3  ! p1y12T-
+  48,   2,   1,   2  ! p1y01T+
+  49,   2,   3,   2  ! p1y03T+
+  50,   2,   5,   2  ! p1y05T+
+  51,   2,   7,   2  ! p1y07T+
+  52,   2,   2,   2  ! p1y02T+
+  53,   2,   4,   2  ! p1y04T+
+  54,   2,   6,   2  ! p1y06T+
+  55,   2,   8,   2  ! p1y08T+
+  56,   2,   9,   2  ! p1y09T+
+  57,   2,  11,   2  ! p1y11T+
+  58,   2,  13,   2  ! p1y13T+
+  60,   2,  10,   2  ! p1y10T+
+  61,   2,  12,   2  ! p1y12T+
+  64,   3,   1,   2  ! p2x01T+
+  65,   3,   3,   2  ! p2x03T+
+  66,   3,   5,   2  ! p2x05T+
+  67,   3,   7,   2  ! p2x07T+
+  68,   3,   2,   2  ! p2x02T+
+  69,   3,   4,   2  ! p2x04T+
+  70,   3,   6,   2  ! p2x06T+
+  71,   3,   8,   2  ! p2x08T+
+  72,   3,   9,   2  ! p2x09T+
+  73,   3,  11,   2  ! p2x11T+
+  74,   3,  13,   2  ! p2x13T+
+  76,   3,  10,   2  ! p2x10T+
+  77,   3,  12,   2  ! p2x12T+
+  78,   3,  14,   2  ! p2x14T+
+  80,   3,   1,   3  ! p2x01T-
+  81,   3,   3,   3  ! p2x03T-
+  82,   3,   5,   3  ! p2x05T-
+  83,   3,   7,   3  ! p2x07T-
+  84,   3,   2,   3  ! p2x02T-
+  85,   3,   4,   3  ! p2x04T-
+  86,   3,   6,   3  ! p2x06T-
+  87,   3,   8,   3  ! p2x08T-
+  88,   3,   9,   3  ! p2x09T-
+  89,   3,  11,   3  ! p2x11T-
+  90,   3,  13,   3  ! p2x13T-
+  92,   3,  10,   3  ! p2x10T-
+  93,   3,  12,   3  ! p2x12T-
+  94,   3,  14,   3  ! p2x14T-
+  96,   4,   1,   3  ! p2y01T-
+  97,   4,   3,   3  ! p2y03T-
+  98,   4,   5,   3  ! p2y05T-
+  99,   4,   7,   3  ! p2y07T-
+ 100,   4,   2,   3  ! p2y02T-
+ 101,   4,   4,   3  ! p2y04T-
+ 102,   4,   6,   3  ! p2y06T-
+ 103,   4,   8,   3  ! p2y08T-
+ 104,   4,   9,   3  ! p2y09T-
+ 105,   4,  11,   3  ! p2y11T-
+ 106,   4,  13,   3  ! p2y13T-
+ 107,   4,  15,   3  ! p2y15T-
+ 108,   4,  10,   3  ! p2y10T-
+ 109,   4,  12,   3  ! p2y12T-
+ 110,   4,  14,   3  ! p2y14T-
+ 111,   4,  16,   3  ! p2y16T-
+ 112,   4,  17,   3  ! p2y17T-
+ 113,   4,  19,   3  ! p2y19T-
+ 114,   4,  21,   3  ! p2y21T-
+ 116,   4,  18,   3  ! p2y18T-
+ 117,   4,  20,   3  ! p2y20T-
+
+SLOT=19
+REFINDEX=0
+  31,1000,   0,   1
+   0,   4,   1,   2  ! p2y01T+
+   1,   4,   3,   2  ! p2y03T+
+   2,   4,   5,   2  ! p2y05T+
+   3,   4,   7,   2  ! p2y07T+
+   4,   4,   2,   2  ! p2y02T+
+   5,   4,   4,   2  ! p2y04T+
+   6,   4,   6,   2  ! p2y06T+
+   7,   4,   8,   2  ! p2y08T+
+   8,   4,   9,   2  ! p2y09T+
+   9,   4,  11,   2  ! p2y11T+
+  10,   4,  13,   2  ! p2y13T+
+  11,   4,  15,   2  ! p2y15T+
+  12,   4,  10,   2  ! p2y10T+
+  13,   4,  12,   2  ! p2y12T+
+  14,   4,  14,   2  ! p2y14T+
+  15,   4,  16,   2  ! p2y16T+
+  16,   4,  17,   2  ! p2y17T+
+  17,   4,  19,   2  ! p2y19T+
+  18,   4,  21,   2  ! p2y21T+
+  20,   4,  18,   2  ! p2y18T+
+  21,   4,  20,   2  ! p2y20T+
diff --git a/MAPS/SHMS/DETEC/pngcer.map b/MAPS/SHMS/DETEC/pngcer.map
new file mode 100644
index 00000000..518adeb5
--- /dev/null
+++ b/MAPS/SHMS/DETEC/pngcer.map
@@ -0,0 +1,12 @@
+! PNGCER_ID=21       ::  ADC
+
+
+DETECTOR=21
+
+ROC=2
+
+SLOT=13
+  12,   1,   1,   0  ! pNGCER01
+  13,   1,   2,   0  ! pNGCER02
+  14,   1,   3,   0  ! pNGCER03
+  15,   1,   4,   0  ! pNGCER04
diff --git a/MAPS/SHMS/DETEC/pngcer_ptrig.map b/MAPS/SHMS/DETEC/pngcer_ptrig.map
new file mode 100644
index 00000000..697bbb6d
--- /dev/null
+++ b/MAPS/SHMS/DETEC/pngcer_ptrig.map
@@ -0,0 +1,71 @@
+! TSHMS_ID=20      ::  ::,ADC,TDC
+! PNGCER_ID=21     ::  ::,ADC,TDC
+
+
+DETECTOR=20
+
+ROC=2
+
+SLOT=14
+   0,   1,   1,   0  ! pAERSUM
+   1,   1,   2,   0  ! pHGCERSUM
+   2,   1,   3,   0  ! pNGCERSUM
+
+SLOT=20
+  15,   2,   1,   1  ! pT1
+
+SLOT=19
+  31,   2,   2,   1  ! pT2
+  32,   2,   3,   1  ! p1X
+  33,   2,   4,   1  ! p1Y
+  34,   2,   5,   1  ! p2X
+  35,   2,   6,   1  ! p2Y
+  36,   2,   7,   1  ! p1T
+  37,   2,   8,   1  ! p2T
+  38,   2,   9,   1  ! pT3
+  39,   2,  10,   1  ! pAERSUM
+  40,   2,  11,   1  ! pHGCERSUM
+  41,   2,  12,   1  ! pNGCERSUM
+
+ROC=6
+
+SLOT=6
+  79,   2,  13,   1  ! pDCREF1
+
+SLOT=7
+  79,   2,  14,   1  ! pDCREF2
+
+SLOT=8
+  79,   2,  15,   1  ! pDCREF3
+
+SLOT=9
+  79,   2,  16,   1  ! pDCREF4
+
+SLOT=10
+  79,   2,  17,   1  ! pDCREF5
+
+SLOT=11
+  47,   2,  18,   1  ! pDCREF6
+
+SLOT=12
+  47,   2,  19,   1  ! pDCREF7
+
+SLOT=13
+  47,   2,  20,   1  ! pDCREF8
+
+SLOT=14
+  15,   2,  21,   1  ! pDCREF9
+
+SLOT=15
+  47,   2,  22,   1  ! pDCREF10
+
+
+DETECTOR=21
+
+ROC=2
+
+SLOT=13
+  12,   1,   1,   0  ! pNGCER01
+  13,   1,   2,   0  ! pNGCER02
+  14,   1,   3,   0  ! pNGCER03
+  15,   1,   4,   0  ! pNGCER04
diff --git a/MAPS/SHMS/DETEC/praster_simple.map b/MAPS/SHMS/DETEC/praster_simple.map
new file mode 100644
index 00000000..b0212c9b
--- /dev/null
+++ b/MAPS/SHMS/DETEC/praster_simple.map
@@ -0,0 +1,18 @@
+!HMS:
+! TSHMS_ID=20    ADC,TDC
+
+! Plane = 1 >> ADC Only
+! Plane = 2 >> TDC Only
+
+detector=20
+
+ROC=2
+
+!F250 module
+SLOT=14
+! chan    plane     bar    sig
+     12,      1,      1,     0!  FR-XA
+     13,      1,      2,     0!  FR-XB
+     14,      1,      3,     0!  FR-YA
+     15,      1,      4,     0!  FR-YB
+
diff --git a/MAPS/SHMS/DETEC/ptrig.map b/MAPS/SHMS/DETEC/ptrig.map
new file mode 100644
index 00000000..22a6a97e
--- /dev/null
+++ b/MAPS/SHMS/DETEC/ptrig.map
@@ -0,0 +1,59 @@
+! TSHMS_ID=20      ::  ADC,TDC
+
+
+DETECTOR=20
+
+ROC=2
+
+SLOT=14
+   0,   1,   1,   0  ! pAERSUM
+   1,   1,   2,   0  ! pHGCERSUM
+   2,   1,   3,   0  ! pNGCERSUM
+
+SLOT=20
+  15,   2,   1,   1  ! pT1
+
+SLOT=19
+  31,   2,   2,   1  ! pT2
+  32,   2,   3,   1  ! p1X
+  33,   2,   4,   1  ! p1Y
+  34,   2,   5,   1  ! p2X
+  35,   2,   6,   1  ! p2Y
+  36,   2,   7,   1  ! p1T
+  37,   2,   8,   1  ! p2T
+  38,   2,   9,   1  ! pT3
+  39,   2,  10,   1  ! pAERSUM
+  40,   2,  11,   1  ! pHGCERSUM
+  41,   2,  12,   1  ! pNGCERSUM
+
+ROC=6
+
+SLOT=6
+  79,   2,  13,   1  ! pDCREF1
+
+SLOT=7
+  79,   2,  14,   1  ! pDCREF2
+
+SLOT=8
+  79,   2,  15,   1  ! pDCREF3
+
+SLOT=9
+  79,   2,  16,   1  ! pDCREF4
+
+SLOT=10
+  79,   2,  17,   1  ! pDCREF5
+
+SLOT=11
+  47,   2,  18,   1  ! pDCREF6
+
+SLOT=12
+  47,   2,  19,   1  ! pDCREF7
+
+SLOT=13
+  47,   2,  20,   1  ! pDCREF8
+
+SLOT=14
+  15,   2,  21,   1  ! pDCREF9
+
+SLOT=15
+  47,   2,  22,   1  ! pDCREF10
diff --git a/MAPS/SHMS/DETEC/shms_stack.map b/MAPS/SHMS/DETEC/shms_stack.map
new file mode 100644
index 00000000..c478db5a
--- /dev/null
+++ b/MAPS/SHMS/DETEC/shms_stack.map
@@ -0,0 +1,2008 @@
+! TSHMS_ID=20      ::  ADC,TDC
+! PNGCER_ID=21     ::  ADC
+! PDC_ID=22        ::  TDC
+! PSCIN_ID=23      ::  ,ADC+,ADC-,TDC+,TDC-
+! PHGCER_ID=24     ::  ADC
+! PAERO_ID=25      ::  ,ADC+,ADC-
+! PCAL_ID=26       ::  ADC
+
+
+DETECTOR=20
+
+ROC=2
+
+SLOT=14
+   0,   1,   1,   0  ! pAERSUM
+   1,   1,   2,   0  ! pHGCERSUM
+   2,   1,   3,   0  ! pNGCERSUM
+
+SLOT=20
+  15,   2,   1,   1  ! pT1
+
+SLOT=19
+  31,   2,   2,   1  ! pT2
+  32,   2,   3,   1  ! p1X
+  33,   2,   4,   1  ! p1Y
+  34,   2,   5,   1  ! p2X
+  35,   2,   6,   1  ! p2Y
+  36,   2,   7,   1  ! p1T
+  37,   2,   8,   1  ! p2T
+  38,   2,   9,   1  ! pT3
+  39,   2,  10,   1  ! pAERSUM
+  40,   2,  11,   1  ! pHGCERSUM
+  41,   2,  12,   1  ! pNGCERSUM
+
+ROC=6
+
+SLOT=6
+  79,   2,  13,   1  ! pDCREF1
+
+SLOT=7
+  79,   2,  14,   1  ! pDCREF2
+
+SLOT=8
+  79,   2,  15,   1  ! pDCREF3
+
+SLOT=9
+  79,   2,  16,   1  ! pDCREF4
+
+SLOT=10
+  79,   2,  17,   1  ! pDCREF5
+
+SLOT=11
+  47,   2,  18,   1  ! pDCREF6
+
+SLOT=12
+  47,   2,  19,   1  ! pDCREF7
+
+SLOT=13
+  47,   2,  20,   1  ! pDCREF8
+
+SLOT=14
+  15,   2,  21,   1  ! pDCREF9
+
+SLOT=15
+  47,   2,  22,   1  ! pDCREF10
+
+
+DETECTOR=21
+
+ROC=2
+
+SLOT=13
+  12,   1,   1,   0  ! pNGCER01
+  13,   1,   2,   0  ! pNGCER02
+  14,   1,   3,   0  ! pNGCER03
+  15,   1,   4,   0  ! pNGCER04
+
+
+DETECTOR=22  ! SHMS chambers
+
+ROC=6
+
+SLOT=9
+REFCHAN=79
+  78,   1,   1  ! DC1, Plane U, wire 1
+  77,   1,   2  ! DC1, Plane U, wire 2
+  76,   1,   3  ! DC1, Plane U, wire 3
+  75,   1,   4  ! DC1, Plane U, wire 4
+  74,   1,   5  ! DC1, Plane U, wire 5
+  73,   1,   6  ! DC1, Plane U, wire 6
+  72,   1,   7  ! DC1, Plane U, wire 7
+  71,   1,   8  ! DC1, Plane U, wire 8
+  70,   1,   9  ! DC1, Plane U, wire 9
+  69,   1,  10  ! DC1, Plane U, wire 10
+  68,   1,  11  ! DC1, Plane U, wire 11
+  67,   1,  12  ! DC1, Plane U, wire 12
+  66,   1,  13  ! DC1, Plane U, wire 13
+  65,   1,  14  ! DC1, Plane U, wire 14
+  64,   1,  15  ! DC1, Plane U, wire 15
+
+SLOT=7
+REFCHAN=79
+  31,   1,  16  ! DC1, Plane U, wire 16
+  30,   1,  17  ! DC1, Plane U, wire 17
+  29,   1,  18  ! DC1, Plane U, wire 18
+  28,   1,  19  ! DC1, Plane U, wire 19
+  27,   1,  20  ! DC1, Plane U, wire 20
+  26,   1,  21  ! DC1, Plane U, wire 21
+  25,   1,  22  ! DC1, Plane U, wire 22
+  24,   1,  23  ! DC1, Plane U, wire 23
+  23,   1,  24  ! DC1, Plane U, wire 24
+  22,   1,  25  ! DC1, Plane U, wire 25
+  21,   1,  26  ! DC1, Plane U, wire 26
+  20,   1,  27  ! DC1, Plane U, wire 27
+  19,   1,  28  ! DC1, Plane U, wire 28
+  18,   1,  29  ! DC1, Plane U, wire 29
+  17,   1,  30  ! DC1, Plane U, wire 30
+  16,   1,  31  ! DC1, Plane U, wire 31
+
+SLOT=6
+REFCHAN=79
+  95,   1,  32  ! DC1, Plane U, wire 32
+  94,   1,  33  ! DC1, Plane U, wire 33
+  93,   1,  34  ! DC1, Plane U, wire 34
+  92,   1,  35  ! DC1, Plane U, wire 35
+  91,   1,  36  ! DC1, Plane U, wire 36
+  90,   1,  37  ! DC1, Plane U, wire 37
+  89,   1,  38  ! DC1, Plane U, wire 38
+  88,   1,  39  ! DC1, Plane U, wire 39
+  87,   1,  40  ! DC1, Plane U, wire 40
+  86,   1,  41  ! DC1, Plane U, wire 41
+  85,   1,  42  ! DC1, Plane U, wire 42
+  84,   1,  43  ! DC1, Plane U, wire 43
+  83,   1,  44  ! DC1, Plane U, wire 44
+  82,   1,  45  ! DC1, Plane U, wire 45
+  81,   1,  46  ! DC1, Plane U, wire 46
+  80,   1,  47  ! DC1, Plane U, wire 47
+  31,   1,  48  ! DC1, Plane U, wire 48
+  30,   1,  49  ! DC1, Plane U, wire 49
+  29,   1,  50  ! DC1, Plane U, wire 50
+  28,   1,  51  ! DC1, Plane U, wire 51
+  27,   1,  52  ! DC1, Plane U, wire 52
+  26,   1,  53  ! DC1, Plane U, wire 53
+  25,   1,  54  ! DC1, Plane U, wire 54
+  24,   1,  55  ! DC1, Plane U, wire 55
+  23,   1,  56  ! DC1, Plane U, wire 56
+  22,   1,  57  ! DC1, Plane U, wire 57
+  21,   1,  58  ! DC1, Plane U, wire 58
+  20,   1,  59  ! DC1, Plane U, wire 59
+  19,   1,  60  ! DC1, Plane U, wire 60
+  18,   1,  61  ! DC1, Plane U, wire 61
+  17,   1,  62  ! DC1, Plane U, wire 62
+  16,   1,  63  ! DC1, Plane U, wire 63
+
+SLOT=8
+REFCHAN=79
+ 112,   1,  64  ! DC1, Plane U, wire 64
+ 113,   1,  65  ! DC1, Plane U, wire 65
+ 114,   1,  66  ! DC1, Plane U, wire 66
+ 115,   1,  67  ! DC1, Plane U, wire 67
+ 116,   1,  68  ! DC1, Plane U, wire 68
+ 117,   1,  69  ! DC1, Plane U, wire 69
+ 118,   1,  70  ! DC1, Plane U, wire 70
+ 119,   1,  71  ! DC1, Plane U, wire 71
+ 120,   1,  72  ! DC1, Plane U, wire 72
+ 121,   1,  73  ! DC1, Plane U, wire 73
+ 122,   1,  74  ! DC1, Plane U, wire 74
+ 123,   1,  75  ! DC1, Plane U, wire 75
+ 124,   1,  76  ! DC1, Plane U, wire 76
+ 125,   1,  77  ! DC1, Plane U, wire 77
+ 126,   1,  78  ! DC1, Plane U, wire 78
+ 127,   1,  79  ! DC1, Plane U, wire 79
+  48,   1,  80  ! DC1, Plane U, wire 80
+  49,   1,  81  ! DC1, Plane U, wire 81
+  50,   1,  82  ! DC1, Plane U, wire 82
+  51,   1,  83  ! DC1, Plane U, wire 83
+  52,   1,  84  ! DC1, Plane U, wire 84
+  53,   1,  85  ! DC1, Plane U, wire 85
+  54,   1,  86  ! DC1, Plane U, wire 86
+  55,   1,  87  ! DC1, Plane U, wire 87
+  56,   1,  88  ! DC1, Plane U, wire 88
+  57,   1,  89  ! DC1, Plane U, wire 89
+  58,   1,  90  ! DC1, Plane U, wire 90
+  59,   1,  91  ! DC1, Plane U, wire 91
+  60,   1,  92  ! DC1, Plane U, wire 92
+  61,   1,  93  ! DC1, Plane U, wire 93
+  62,   1,  94  ! DC1, Plane U, wire 94
+  63,   1,  95  ! DC1, Plane U, wire 95
+
+SLOT=9
+REFCHAN=79
+ 112,   1,  96  ! DC1, Plane U, wire 96
+ 113,   1,  97  ! DC1, Plane U, wire 97
+ 114,   1,  98  ! DC1, Plane U, wire 98
+ 115,   1,  99  ! DC1, Plane U, wire 99
+ 116,   1, 100  ! DC1, Plane U, wire 100
+ 117,   1, 101  ! DC1, Plane U, wire 101
+ 118,   1, 102  ! DC1, Plane U, wire 102
+ 119,   1, 103  ! DC1, Plane U, wire 103
+ 120,   1, 104  ! DC1, Plane U, wire 104
+ 121,   1, 105  ! DC1, Plane U, wire 105
+ 122,   1, 106  ! DC1, Plane U, wire 106
+ 123,   1, 107  ! DC1, Plane U, wire 107
+
+SLOT=8
+REFCHAN=79
+  75,   2,   1  ! DC1, Plane U', wire 1
+  74,   2,   2  ! DC1, Plane U', wire 2
+  73,   2,   3  ! DC1, Plane U', wire 3
+  72,   2,   4  ! DC1, Plane U', wire 4
+  71,   2,   5  ! DC1, Plane U', wire 5
+  70,   2,   6  ! DC1, Plane U', wire 6
+  69,   2,   7  ! DC1, Plane U', wire 7
+  68,   2,   8  ! DC1, Plane U', wire 8
+  67,   2,   9  ! DC1, Plane U', wire 9
+  66,   2,  10  ! DC1, Plane U', wire 10
+  65,   2,  11  ! DC1, Plane U', wire 11
+  64,   2,  12  ! DC1, Plane U', wire 12
+
+SLOT=6
+REFCHAN=79
+ 127,   2,  13  ! DC1, Plane U', wire 13
+ 126,   2,  14  ! DC1, Plane U', wire 14
+ 125,   2,  15  ! DC1, Plane U', wire 15
+ 124,   2,  16  ! DC1, Plane U', wire 16
+ 123,   2,  17  ! DC1, Plane U', wire 17
+ 122,   2,  18  ! DC1, Plane U', wire 18
+ 121,   2,  19  ! DC1, Plane U', wire 19
+ 120,   2,  20  ! DC1, Plane U', wire 20
+ 119,   2,  21  ! DC1, Plane U', wire 21
+ 118,   2,  22  ! DC1, Plane U', wire 22
+ 117,   2,  23  ! DC1, Plane U', wire 23
+ 116,   2,  24  ! DC1, Plane U', wire 24
+ 115,   2,  25  ! DC1, Plane U', wire 25
+ 114,   2,  26  ! DC1, Plane U', wire 26
+ 113,   2,  27  ! DC1, Plane U', wire 27
+ 112,   2,  28  ! DC1, Plane U', wire 28
+  47,   2,  29  ! DC1, Plane U', wire 29
+  46,   2,  30  ! DC1, Plane U', wire 30
+  45,   2,  31  ! DC1, Plane U', wire 31
+  44,   2,  32  ! DC1, Plane U', wire 32
+  43,   2,  33  ! DC1, Plane U', wire 33
+  42,   2,  34  ! DC1, Plane U', wire 34
+  41,   2,  35  ! DC1, Plane U', wire 35
+  40,   2,  36  ! DC1, Plane U', wire 36
+  39,   2,  37  ! DC1, Plane U', wire 37
+  38,   2,  38  ! DC1, Plane U', wire 38
+  37,   2,  39  ! DC1, Plane U', wire 39
+  36,   2,  40  ! DC1, Plane U', wire 40
+  35,   2,  41  ! DC1, Plane U', wire 41
+  34,   2,  42  ! DC1, Plane U', wire 42
+  33,   2,  43  ! DC1, Plane U', wire 43
+  32,   2,  44  ! DC1, Plane U', wire 44
+
+SLOT=9
+REFCHAN=79
+   0,   2,  45  ! DC1, Plane U', wire 45
+   1,   2,  46  ! DC1, Plane U', wire 46
+   2,   2,  47  ! DC1, Plane U', wire 47
+   3,   2,  48  ! DC1, Plane U', wire 48
+   4,   2,  49  ! DC1, Plane U', wire 49
+   5,   2,  50  ! DC1, Plane U', wire 50
+   6,   2,  51  ! DC1, Plane U', wire 51
+   7,   2,  52  ! DC1, Plane U', wire 52
+   8,   2,  53  ! DC1, Plane U', wire 53
+   9,   2,  54  ! DC1, Plane U', wire 54
+  10,   2,  55  ! DC1, Plane U', wire 55
+  11,   2,  56  ! DC1, Plane U', wire 56
+  12,   2,  57  ! DC1, Plane U', wire 57
+  13,   2,  58  ! DC1, Plane U', wire 58
+  14,   2,  59  ! DC1, Plane U', wire 59
+  15,   2,  60  ! DC1, Plane U', wire 60
+
+SLOT=8
+REFCHAN=79
+  96,   2,  61  ! DC1, Plane U', wire 61
+  97,   2,  62  ! DC1, Plane U', wire 62
+  98,   2,  63  ! DC1, Plane U', wire 63
+  99,   2,  64  ! DC1, Plane U', wire 64
+ 100,   2,  65  ! DC1, Plane U', wire 65
+ 101,   2,  66  ! DC1, Plane U', wire 66
+ 102,   2,  67  ! DC1, Plane U', wire 67
+ 103,   2,  68  ! DC1, Plane U', wire 68
+ 104,   2,  69  ! DC1, Plane U', wire 69
+ 105,   2,  70  ! DC1, Plane U', wire 70
+ 106,   2,  71  ! DC1, Plane U', wire 71
+ 107,   2,  72  ! DC1, Plane U', wire 72
+ 108,   2,  73  ! DC1, Plane U', wire 73
+ 109,   2,  74  ! DC1, Plane U', wire 74
+ 110,   2,  75  ! DC1, Plane U', wire 75
+ 111,   2,  76  ! DC1, Plane U', wire 76
+
+SLOT=10
+REFCHAN=79
+  80,   2,  77  ! DC1, Plane U', wire 77
+  81,   2,  78  ! DC1, Plane U', wire 78
+  82,   2,  79  ! DC1, Plane U', wire 79
+  83,   2,  80  ! DC1, Plane U', wire 80
+  84,   2,  81  ! DC1, Plane U', wire 81
+  85,   2,  82  ! DC1, Plane U', wire 82
+  86,   2,  83  ! DC1, Plane U', wire 83
+  87,   2,  84  ! DC1, Plane U', wire 84
+  88,   2,  85  ! DC1, Plane U', wire 85
+  89,   2,  86  ! DC1, Plane U', wire 86
+  90,   2,  87  ! DC1, Plane U', wire 87
+  91,   2,  88  ! DC1, Plane U', wire 88
+  92,   2,  89  ! DC1, Plane U', wire 89
+  93,   2,  90  ! DC1, Plane U', wire 90
+  94,   2,  91  ! DC1, Plane U', wire 91
+  95,   2,  92  ! DC1, Plane U', wire 92
+  16,   2,  93  ! DC1, Plane U', wire 93
+  17,   2,  94  ! DC1, Plane U', wire 94
+  18,   2,  95  ! DC1, Plane U', wire 95
+  19,   2,  96  ! DC1, Plane U', wire 96
+  20,   2,  97  ! DC1, Plane U', wire 97
+  21,   2,  98  ! DC1, Plane U', wire 98
+  22,   2,  99  ! DC1, Plane U', wire 99
+  23,   2, 100  ! DC1, Plane U', wire 100
+  24,   2, 101  ! DC1, Plane U', wire 101
+  25,   2, 102  ! DC1, Plane U', wire 102
+  26,   2, 103  ! DC1, Plane U', wire 103
+  27,   2, 104  ! DC1, Plane U', wire 104
+  28,   2, 105  ! DC1, Plane U', wire 105
+  29,   2, 106  ! DC1, Plane U', wire 106
+  30,   2, 107  ! DC1, Plane U', wire 107
+
+SLOT=9
+REFCHAN=79
+  46,   5,   1  ! DC1, Plane V, wire 1
+  45,   5,   2  ! DC1, Plane V, wire 2
+  44,   5,   3  ! DC1, Plane V, wire 3
+  43,   5,   4  ! DC1, Plane V, wire 4
+  42,   5,   5  ! DC1, Plane V, wire 5
+  41,   5,   6  ! DC1, Plane V, wire 6
+  40,   5,   7  ! DC1, Plane V, wire 7
+  39,   5,   8  ! DC1, Plane V, wire 8
+  38,   5,   9  ! DC1, Plane V, wire 9
+  37,   5,  10  ! DC1, Plane V, wire 10
+  36,   5,  11  ! DC1, Plane V, wire 11
+  35,   5,  12  ! DC1, Plane V, wire 12
+  34,   5,  13  ! DC1, Plane V, wire 13
+  33,   5,  14  ! DC1, Plane V, wire 14
+  32,   5,  15  ! DC1, Plane V, wire 15
+
+SLOT=8
+REFCHAN=79
+  31,   5,  16  ! DC1, Plane V, wire 16
+  30,   5,  17  ! DC1, Plane V, wire 17
+  29,   5,  18  ! DC1, Plane V, wire 18
+  28,   5,  19  ! DC1, Plane V, wire 19
+  27,   5,  20  ! DC1, Plane V, wire 20
+  26,   5,  21  ! DC1, Plane V, wire 21
+  25,   5,  22  ! DC1, Plane V, wire 22
+  24,   5,  23  ! DC1, Plane V, wire 23
+  23,   5,  24  ! DC1, Plane V, wire 24
+  22,   5,  25  ! DC1, Plane V, wire 25
+  21,   5,  26  ! DC1, Plane V, wire 26
+  20,   5,  27  ! DC1, Plane V, wire 27
+  19,   5,  28  ! DC1, Plane V, wire 28
+  18,   5,  29  ! DC1, Plane V, wire 29
+  17,   5,  30  ! DC1, Plane V, wire 30
+  16,   5,  31  ! DC1, Plane V, wire 31
+
+SLOT=10
+REFCHAN=79
+  15,   5,  32  ! DC1, Plane V, wire 32
+  14,   5,  33  ! DC1, Plane V, wire 33
+  13,   5,  34  ! DC1, Plane V, wire 34
+  12,   5,  35  ! DC1, Plane V, wire 35
+  11,   5,  36  ! DC1, Plane V, wire 36
+  10,   5,  37  ! DC1, Plane V, wire 37
+   9,   5,  38  ! DC1, Plane V, wire 38
+   8,   5,  39  ! DC1, Plane V, wire 39
+   7,   5,  40  ! DC1, Plane V, wire 40
+   6,   5,  41  ! DC1, Plane V, wire 41
+   5,   5,  42  ! DC1, Plane V, wire 42
+   4,   5,  43  ! DC1, Plane V, wire 43
+   3,   5,  44  ! DC1, Plane V, wire 44
+   2,   5,  45  ! DC1, Plane V, wire 45
+   1,   5,  46  ! DC1, Plane V, wire 46
+   0,   5,  47  ! DC1, Plane V, wire 47
+
+SLOT=9
+REFCHAN=79
+  63,   5,  48  ! DC1, Plane V, wire 48
+  62,   5,  49  ! DC1, Plane V, wire 49
+  61,   5,  50  ! DC1, Plane V, wire 50
+  60,   5,  51  ! DC1, Plane V, wire 51
+  59,   5,  52  ! DC1, Plane V, wire 52
+  58,   5,  53  ! DC1, Plane V, wire 53
+  57,   5,  54  ! DC1, Plane V, wire 54
+  56,   5,  55  ! DC1, Plane V, wire 55
+  55,   5,  56  ! DC1, Plane V, wire 56
+  54,   5,  57  ! DC1, Plane V, wire 57
+  53,   5,  58  ! DC1, Plane V, wire 58
+  52,   5,  59  ! DC1, Plane V, wire 59
+  51,   5,  60  ! DC1, Plane V, wire 60
+  50,   5,  61  ! DC1, Plane V, wire 61
+  49,   5,  62  ! DC1, Plane V, wire 62
+  48,   5,  63  ! DC1, Plane V, wire 63
+
+SLOT=7
+REFCHAN=79
+  32,   5,  64  ! DC1, Plane V, wire 64
+  33,   5,  65  ! DC1, Plane V, wire 65
+  34,   5,  66  ! DC1, Plane V, wire 66
+  35,   5,  67  ! DC1, Plane V, wire 67
+  36,   5,  68  ! DC1, Plane V, wire 68
+  37,   5,  69  ! DC1, Plane V, wire 69
+  38,   5,  70  ! DC1, Plane V, wire 70
+  39,   5,  71  ! DC1, Plane V, wire 71
+  40,   5,  72  ! DC1, Plane V, wire 72
+  41,   5,  73  ! DC1, Plane V, wire 73
+  42,   5,  74  ! DC1, Plane V, wire 74
+  43,   5,  75  ! DC1, Plane V, wire 75
+  44,   5,  76  ! DC1, Plane V, wire 76
+  45,   5,  77  ! DC1, Plane V, wire 77
+  46,   5,  78  ! DC1, Plane V, wire 78
+  47,   5,  79  ! DC1, Plane V, wire 79
+  96,   5,  80  ! DC1, Plane V, wire 80
+  97,   5,  81  ! DC1, Plane V, wire 81
+  98,   5,  82  ! DC1, Plane V, wire 82
+  99,   5,  83  ! DC1, Plane V, wire 83
+ 100,   5,  84  ! DC1, Plane V, wire 84
+ 101,   5,  85  ! DC1, Plane V, wire 85
+ 102,   5,  86  ! DC1, Plane V, wire 86
+ 103,   5,  87  ! DC1, Plane V, wire 87
+ 104,   5,  88  ! DC1, Plane V, wire 88
+ 105,   5,  89  ! DC1, Plane V, wire 89
+ 106,   5,  90  ! DC1, Plane V, wire 90
+ 107,   5,  91  ! DC1, Plane V, wire 91
+ 108,   5,  92  ! DC1, Plane V, wire 92
+ 109,   5,  93  ! DC1, Plane V, wire 93
+ 110,   5,  94  ! DC1, Plane V, wire 94
+ 111,   5,  95  ! DC1, Plane V, wire 95
+  64,   5,  96  ! DC1, Plane V, wire 96
+  65,   5,  97  ! DC1, Plane V, wire 97
+  66,   5,  98  ! DC1, Plane V, wire 98
+  67,   5,  99  ! DC1, Plane V, wire 99
+  68,   5, 100  ! DC1, Plane V, wire 100
+  69,   5, 101  ! DC1, Plane V, wire 101
+  70,   5, 102  ! DC1, Plane V, wire 102
+  71,   5, 103  ! DC1, Plane V, wire 103
+  72,   5, 104  ! DC1, Plane V, wire 104
+  73,   5, 105  ! DC1, Plane V, wire 105
+  74,   5, 106  ! DC1, Plane V, wire 106
+  75,   5, 107  ! DC1, Plane V, wire 107
+
+SLOT=10
+REFCHAN=79
+  75,   6,   1  ! DC1, Plane V', wire 1
+  74,   6,   2  ! DC1, Plane V', wire 2
+  73,   6,   3  ! DC1, Plane V', wire 3
+  72,   6,   4  ! DC1, Plane V', wire 4
+  71,   6,   5  ! DC1, Plane V', wire 5
+  70,   6,   6  ! DC1, Plane V', wire 6
+  69,   6,   7  ! DC1, Plane V', wire 7
+  68,   6,   8  ! DC1, Plane V', wire 8
+  67,   6,   9  ! DC1, Plane V', wire 9
+  66,   6,  10  ! DC1, Plane V', wire 10
+  65,   6,  11  ! DC1, Plane V', wire 11
+  64,   6,  12  ! DC1, Plane V', wire 12
+  47,   6,  13  ! DC1, Plane V', wire 13
+  46,   6,  14  ! DC1, Plane V', wire 14
+  45,   6,  15  ! DC1, Plane V', wire 15
+  44,   6,  16  ! DC1, Plane V', wire 16
+  43,   6,  17  ! DC1, Plane V', wire 17
+  42,   6,  18  ! DC1, Plane V', wire 18
+  41,   6,  19  ! DC1, Plane V', wire 19
+  40,   6,  20  ! DC1, Plane V', wire 20
+  39,   6,  21  ! DC1, Plane V', wire 21
+  38,   6,  22  ! DC1, Plane V', wire 22
+  37,   6,  23  ! DC1, Plane V', wire 23
+  36,   6,  24  ! DC1, Plane V', wire 24
+  35,   6,  25  ! DC1, Plane V', wire 25
+  34,   6,  26  ! DC1, Plane V', wire 26
+  33,   6,  27  ! DC1, Plane V', wire 27
+  32,   6,  28  ! DC1, Plane V', wire 28
+
+SLOT=9
+REFCHAN=79
+ 111,   6,  29  ! DC1, Plane V', wire 29
+ 110,   6,  30  ! DC1, Plane V', wire 30
+ 109,   6,  31  ! DC1, Plane V', wire 31
+ 108,   6,  32  ! DC1, Plane V', wire 32
+ 107,   6,  33  ! DC1, Plane V', wire 33
+ 106,   6,  34  ! DC1, Plane V', wire 34
+ 105,   6,  35  ! DC1, Plane V', wire 35
+ 104,   6,  36  ! DC1, Plane V', wire 36
+ 103,   6,  37  ! DC1, Plane V', wire 37
+ 102,   6,  38  ! DC1, Plane V', wire 38
+ 101,   6,  39  ! DC1, Plane V', wire 39
+ 100,   6,  40  ! DC1, Plane V', wire 40
+  99,   6,  41  ! DC1, Plane V', wire 41
+  98,   6,  42  ! DC1, Plane V', wire 42
+  97,   6,  43  ! DC1, Plane V', wire 43
+  96,   6,  44  ! DC1, Plane V', wire 44
+
+SLOT=8
+REFCHAN=79
+  80,   6,  45  ! DC1, Plane V', wire 45
+  81,   6,  46  ! DC1, Plane V', wire 46
+  82,   6,  47  ! DC1, Plane V', wire 47
+  83,   6,  48  ! DC1, Plane V', wire 48
+  84,   6,  49  ! DC1, Plane V', wire 49
+  85,   6,  50  ! DC1, Plane V', wire 50
+  86,   6,  51  ! DC1, Plane V', wire 51
+  87,   6,  52  ! DC1, Plane V', wire 52
+  88,   6,  53  ! DC1, Plane V', wire 53
+  89,   6,  54  ! DC1, Plane V', wire 54
+  90,   6,  55  ! DC1, Plane V', wire 55
+  91,   6,  56  ! DC1, Plane V', wire 56
+  92,   6,  57  ! DC1, Plane V', wire 57
+  93,   6,  58  ! DC1, Plane V', wire 58
+  94,   6,  59  ! DC1, Plane V', wire 59
+  95,   6,  60  ! DC1, Plane V', wire 60
+
+SLOT=7
+REFCHAN=79
+ 112,   6,  61  ! DC1, Plane V', wire 61
+ 113,   6,  62  ! DC1, Plane V', wire 62
+ 114,   6,  63  ! DC1, Plane V', wire 63
+ 115,   6,  64  ! DC1, Plane V', wire 64
+ 116,   6,  65  ! DC1, Plane V', wire 65
+ 117,   6,  66  ! DC1, Plane V', wire 66
+ 118,   6,  67  ! DC1, Plane V', wire 67
+ 119,   6,  68  ! DC1, Plane V', wire 68
+ 120,   6,  69  ! DC1, Plane V', wire 69
+ 121,   6,  70  ! DC1, Plane V', wire 70
+ 122,   6,  71  ! DC1, Plane V', wire 71
+ 123,   6,  72  ! DC1, Plane V', wire 72
+ 124,   6,  73  ! DC1, Plane V', wire 73
+ 125,   6,  74  ! DC1, Plane V', wire 74
+ 126,   6,  75  ! DC1, Plane V', wire 75
+ 127,   6,  76  ! DC1, Plane V', wire 76
+  80,   6,  77  ! DC1, Plane V', wire 77
+  81,   6,  78  ! DC1, Plane V', wire 78
+  82,   6,  79  ! DC1, Plane V', wire 79
+  83,   6,  80  ! DC1, Plane V', wire 80
+  84,   6,  81  ! DC1, Plane V', wire 81
+  85,   6,  82  ! DC1, Plane V', wire 82
+  86,   6,  83  ! DC1, Plane V', wire 83
+  87,   6,  84  ! DC1, Plane V', wire 84
+  88,   6,  85  ! DC1, Plane V', wire 85
+  89,   6,  86  ! DC1, Plane V', wire 86
+  90,   6,  87  ! DC1, Plane V', wire 87
+  91,   6,  88  ! DC1, Plane V', wire 88
+  92,   6,  89  ! DC1, Plane V', wire 89
+  93,   6,  90  ! DC1, Plane V', wire 90
+  94,   6,  91  ! DC1, Plane V', wire 91
+  95,   6,  92  ! DC1, Plane V', wire 92
+
+SLOT=6
+REFCHAN=79
+  64,   6,  93  ! DC1, Plane V', wire 93
+  65,   6,  94  ! DC1, Plane V', wire 94
+  66,   6,  95  ! DC1, Plane V', wire 95
+  67,   6,  96  ! DC1, Plane V', wire 96
+  68,   6,  97  ! DC1, Plane V', wire 97
+  69,   6,  98  ! DC1, Plane V', wire 98
+  70,   6,  99  ! DC1, Plane V', wire 99
+  71,   6, 100  ! DC1, Plane V', wire 100
+  72,   6, 101  ! DC1, Plane V', wire 101
+  73,   6, 102  ! DC1, Plane V', wire 102
+  74,   6, 103  ! DC1, Plane V', wire 103
+  75,   6, 104  ! DC1, Plane V', wire 104
+  76,   6, 105  ! DC1, Plane V', wire 105
+  77,   6, 106  ! DC1, Plane V', wire 106
+  78,   6, 107  ! DC1, Plane V', wire 107
+
+SLOT=8
+REFCHAN=79
+  15,   3,   1  ! DC1, Plane X, wire 1
+  14,   3,   2  ! DC1, Plane X, wire 2
+  13,   3,   3  ! DC1, Plane X, wire 3
+  12,   3,   4  ! DC1, Plane X, wire 4
+  11,   3,   5  ! DC1, Plane X, wire 5
+  10,   3,   6  ! DC1, Plane X, wire 6
+   9,   3,   7  ! DC1, Plane X, wire 7
+   8,   3,   8  ! DC1, Plane X, wire 8
+   7,   3,   9  ! DC1, Plane X, wire 9
+   6,   3,  10  ! DC1, Plane X, wire 10
+   5,   3,  11  ! DC1, Plane X, wire 11
+   4,   3,  12  ! DC1, Plane X, wire 12
+   3,   3,  13  ! DC1, Plane X, wire 13
+   2,   3,  14  ! DC1, Plane X, wire 14
+   1,   3,  15  ! DC1, Plane X, wire 15
+   0,   3,  16  ! DC1, Plane X, wire 16
+
+SLOT=7
+REFCHAN=79
+  63,   3,  17  ! DC1, Plane X, wire 17
+  62,   3,  18  ! DC1, Plane X, wire 18
+  61,   3,  19  ! DC1, Plane X, wire 19
+  60,   3,  20  ! DC1, Plane X, wire 20
+  59,   3,  21  ! DC1, Plane X, wire 21
+  58,   3,  22  ! DC1, Plane X, wire 22
+  57,   3,  23  ! DC1, Plane X, wire 23
+  56,   3,  24  ! DC1, Plane X, wire 24
+  55,   3,  25  ! DC1, Plane X, wire 25
+  54,   3,  26  ! DC1, Plane X, wire 26
+  53,   3,  27  ! DC1, Plane X, wire 27
+  52,   3,  28  ! DC1, Plane X, wire 28
+  51,   3,  29  ! DC1, Plane X, wire 29
+  50,   3,  30  ! DC1, Plane X, wire 30
+  49,   3,  31  ! DC1, Plane X, wire 31
+  48,   3,  32  ! DC1, Plane X, wire 32
+
+SLOT=6
+REFCHAN=79
+  63,   3,  33  ! DC1, Plane X, wire 33
+  62,   3,  34  ! DC1, Plane X, wire 34
+  61,   3,  35  ! DC1, Plane X, wire 35
+  60,   3,  36  ! DC1, Plane X, wire 36
+  59,   3,  37  ! DC1, Plane X, wire 37
+  58,   3,  38  ! DC1, Plane X, wire 38
+  57,   3,  39  ! DC1, Plane X, wire 39
+  56,   3,  40  ! DC1, Plane X, wire 40
+  55,   3,  41  ! DC1, Plane X, wire 41
+  54,   3,  42  ! DC1, Plane X, wire 42
+  53,   3,  43  ! DC1, Plane X, wire 43
+  52,   3,  44  ! DC1, Plane X, wire 44
+  51,   3,  45  ! DC1, Plane X, wire 45
+  50,   3,  46  ! DC1, Plane X, wire 46
+  49,   3,  47  ! DC1, Plane X, wire 47
+  48,   3,  48  ! DC1, Plane X, wire 48
+
+SLOT=10
+REFCHAN=79
+  48,   3,  49  ! DC1, Plane X, wire 49
+  49,   3,  50  ! DC1, Plane X, wire 50
+  50,   3,  51  ! DC1, Plane X, wire 51
+  51,   3,  52  ! DC1, Plane X, wire 52
+  52,   3,  53  ! DC1, Plane X, wire 53
+  53,   3,  54  ! DC1, Plane X, wire 54
+  54,   3,  55  ! DC1, Plane X, wire 55
+  55,   3,  56  ! DC1, Plane X, wire 56
+  56,   3,  57  ! DC1, Plane X, wire 57
+  57,   3,  58  ! DC1, Plane X, wire 58
+  58,   3,  59  ! DC1, Plane X, wire 59
+  59,   3,  60  ! DC1, Plane X, wire 60
+  60,   3,  61  ! DC1, Plane X, wire 61
+  61,   3,  62  ! DC1, Plane X, wire 62
+  62,   3,  63  ! DC1, Plane X, wire 63
+  63,   3,  64  ! DC1, Plane X, wire 64
+
+SLOT=9
+REFCHAN=79
+  80,   3,  65  ! DC1, Plane X, wire 65
+  81,   3,  66  ! DC1, Plane X, wire 66
+  82,   3,  67  ! DC1, Plane X, wire 67
+  83,   3,  68  ! DC1, Plane X, wire 68
+  84,   3,  69  ! DC1, Plane X, wire 69
+  85,   3,  70  ! DC1, Plane X, wire 70
+  86,   3,  71  ! DC1, Plane X, wire 71
+  87,   3,  72  ! DC1, Plane X, wire 72
+  88,   3,  73  ! DC1, Plane X, wire 73
+  89,   3,  74  ! DC1, Plane X, wire 74
+  90,   3,  75  ! DC1, Plane X, wire 75
+  91,   3,  76  ! DC1, Plane X, wire 76
+  92,   3,  77  ! DC1, Plane X, wire 77
+  93,   3,  78  ! DC1, Plane X, wire 78
+  94,   3,  79  ! DC1, Plane X, wire 79
+  30,   4,   1  ! DC1, Plane X', wire 1
+  29,   4,   2  ! DC1, Plane X', wire 2
+  28,   4,   3  ! DC1, Plane X', wire 3
+  27,   4,   4  ! DC1, Plane X', wire 4
+  26,   4,   5  ! DC1, Plane X', wire 5
+  25,   4,   6  ! DC1, Plane X', wire 6
+  24,   4,   7  ! DC1, Plane X', wire 7
+  23,   4,   8  ! DC1, Plane X', wire 8
+  22,   4,   9  ! DC1, Plane X', wire 9
+  21,   4,  10  ! DC1, Plane X', wire 10
+  20,   4,  11  ! DC1, Plane X', wire 11
+  19,   4,  12  ! DC1, Plane X', wire 12
+  18,   4,  13  ! DC1, Plane X', wire 13
+  17,   4,  14  ! DC1, Plane X', wire 14
+  16,   4,  15  ! DC1, Plane X', wire 15
+
+SLOT=8
+REFCHAN=79
+  47,   4,  16  ! DC1, Plane X', wire 16
+  46,   4,  17  ! DC1, Plane X', wire 17
+  45,   4,  18  ! DC1, Plane X', wire 18
+  44,   4,  19  ! DC1, Plane X', wire 19
+  43,   4,  20  ! DC1, Plane X', wire 20
+  42,   4,  21  ! DC1, Plane X', wire 21
+  41,   4,  22  ! DC1, Plane X', wire 22
+  40,   4,  23  ! DC1, Plane X', wire 23
+  39,   4,  24  ! DC1, Plane X', wire 24
+  38,   4,  25  ! DC1, Plane X', wire 25
+  37,   4,  26  ! DC1, Plane X', wire 26
+  36,   4,  27  ! DC1, Plane X', wire 27
+  35,   4,  28  ! DC1, Plane X', wire 28
+  34,   4,  29  ! DC1, Plane X', wire 29
+  33,   4,  30  ! DC1, Plane X', wire 30
+  32,   4,  31  ! DC1, Plane X', wire 31
+
+SLOT=7
+REFCHAN=79
+   0,   4,  32  ! DC1, Plane X', wire 32
+   1,   4,  33  ! DC1, Plane X', wire 33
+   2,   4,  34  ! DC1, Plane X', wire 34
+   3,   4,  35  ! DC1, Plane X', wire 35
+   4,   4,  36  ! DC1, Plane X', wire 36
+   5,   4,  37  ! DC1, Plane X', wire 37
+   6,   4,  38  ! DC1, Plane X', wire 38
+   7,   4,  39  ! DC1, Plane X', wire 39
+   8,   4,  40  ! DC1, Plane X', wire 40
+   9,   4,  41  ! DC1, Plane X', wire 41
+  10,   4,  42  ! DC1, Plane X', wire 42
+  11,   4,  43  ! DC1, Plane X', wire 43
+  12,   4,  44  ! DC1, Plane X', wire 44
+  13,   4,  45  ! DC1, Plane X', wire 45
+  14,   4,  46  ! DC1, Plane X', wire 46
+  15,   4,  47  ! DC1, Plane X', wire 47
+
+SLOT=6
+REFCHAN=79
+  96,   4,  48  ! DC1, Plane X', wire 48
+  97,   4,  49  ! DC1, Plane X', wire 49
+  98,   4,  50  ! DC1, Plane X', wire 50
+  99,   4,  51  ! DC1, Plane X', wire 51
+ 100,   4,  52  ! DC1, Plane X', wire 52
+ 101,   4,  53  ! DC1, Plane X', wire 53
+ 102,   4,  54  ! DC1, Plane X', wire 54
+ 103,   4,  55  ! DC1, Plane X', wire 55
+ 104,   4,  56  ! DC1, Plane X', wire 56
+ 105,   4,  57  ! DC1, Plane X', wire 57
+ 106,   4,  58  ! DC1, Plane X', wire 58
+ 107,   4,  59  ! DC1, Plane X', wire 59
+ 108,   4,  60  ! DC1, Plane X', wire 60
+ 109,   4,  61  ! DC1, Plane X', wire 61
+ 110,   4,  62  ! DC1, Plane X', wire 62
+ 111,   4,  63  ! DC1, Plane X', wire 63
+   0,   4,  64  ! DC1, Plane X', wire 64
+   1,   4,  65  ! DC1, Plane X', wire 65
+   2,   4,  66  ! DC1, Plane X', wire 66
+   3,   4,  67  ! DC1, Plane X', wire 67
+   4,   4,  68  ! DC1, Plane X', wire 68
+   5,   4,  69  ! DC1, Plane X', wire 69
+   6,   4,  70  ! DC1, Plane X', wire 70
+   7,   4,  71  ! DC1, Plane X', wire 71
+   8,   4,  72  ! DC1, Plane X', wire 72
+   9,   4,  73  ! DC1, Plane X', wire 73
+  10,   4,  74  ! DC1, Plane X', wire 74
+  11,   4,  75  ! DC1, Plane X', wire 75
+  12,   4,  76  ! DC1, Plane X', wire 76
+  13,   4,  77  ! DC1, Plane X', wire 77
+  14,   4,  78  ! DC1, Plane X', wire 78
+  15,   4,  79  ! DC1, Plane X', wire 79
+
+SLOT=14
+REFCHAN=15
+  46,  12,   1  ! DC2, Plane U, wire 1
+  45,  12,   2  ! DC2, Plane U, wire 2
+  44,  12,   3  ! DC2, Plane U, wire 3
+  43,  12,   4  ! DC2, Plane U, wire 4
+  42,  12,   5  ! DC2, Plane U, wire 5
+  41,  12,   6  ! DC2, Plane U, wire 6
+  40,  12,   7  ! DC2, Plane U, wire 7
+  39,  12,   8  ! DC2, Plane U, wire 8
+  38,  12,   9  ! DC2, Plane U, wire 9
+  37,  12,  10  ! DC2, Plane U, wire 10
+  36,  12,  11  ! DC2, Plane U, wire 11
+  35,  12,  12  ! DC2, Plane U, wire 12
+  34,  12,  13  ! DC2, Plane U, wire 13
+  33,  12,  14  ! DC2, Plane U, wire 14
+  32,  12,  15  ! DC2, Plane U, wire 15
+
+SLOT=11
+REFCHAN=47
+ 127,  12,  16  ! DC2, Plane U, wire 16
+ 126,  12,  17  ! DC2, Plane U, wire 17
+ 125,  12,  18  ! DC2, Plane U, wire 18
+ 124,  12,  19  ! DC2, Plane U, wire 19
+ 123,  12,  20  ! DC2, Plane U, wire 20
+ 122,  12,  21  ! DC2, Plane U, wire 21
+ 121,  12,  22  ! DC2, Plane U, wire 22
+ 120,  12,  23  ! DC2, Plane U, wire 23
+ 119,  12,  24  ! DC2, Plane U, wire 24
+ 118,  12,  25  ! DC2, Plane U, wire 25
+ 117,  12,  26  ! DC2, Plane U, wire 26
+ 116,  12,  27  ! DC2, Plane U, wire 27
+ 115,  12,  28  ! DC2, Plane U, wire 28
+ 114,  12,  29  ! DC2, Plane U, wire 29
+ 113,  12,  30  ! DC2, Plane U, wire 30
+ 112,  12,  31  ! DC2, Plane U, wire 31
+  63,  12,  32  ! DC2, Plane U, wire 32
+  62,  12,  33  ! DC2, Plane U, wire 33
+  61,  12,  34  ! DC2, Plane U, wire 34
+  60,  12,  35  ! DC2, Plane U, wire 35
+  59,  12,  36  ! DC2, Plane U, wire 36
+  58,  12,  37  ! DC2, Plane U, wire 37
+  57,  12,  38  ! DC2, Plane U, wire 38
+  56,  12,  39  ! DC2, Plane U, wire 39
+  55,  12,  40  ! DC2, Plane U, wire 40
+  54,  12,  41  ! DC2, Plane U, wire 41
+  53,  12,  42  ! DC2, Plane U, wire 42
+  52,  12,  43  ! DC2, Plane U, wire 43
+  51,  12,  44  ! DC2, Plane U, wire 44
+  50,  12,  45  ! DC2, Plane U, wire 45
+  49,  12,  46  ! DC2, Plane U, wire 46
+  48,  12,  47  ! DC2, Plane U, wire 47
+
+SLOT=10
+REFCHAN=79
+ 127,  12,  48  ! DC2, Plane U, wire 48
+ 126,  12,  49  ! DC2, Plane U, wire 49
+ 125,  12,  50  ! DC2, Plane U, wire 50
+ 124,  12,  51  ! DC2, Plane U, wire 51
+ 123,  12,  52  ! DC2, Plane U, wire 52
+ 122,  12,  53  ! DC2, Plane U, wire 53
+ 121,  12,  54  ! DC2, Plane U, wire 54
+ 120,  12,  55  ! DC2, Plane U, wire 55
+ 119,  12,  56  ! DC2, Plane U, wire 56
+ 118,  12,  57  ! DC2, Plane U, wire 57
+ 117,  12,  58  ! DC2, Plane U, wire 58
+ 116,  12,  59  ! DC2, Plane U, wire 59
+ 115,  12,  60  ! DC2, Plane U, wire 60
+ 114,  12,  61  ! DC2, Plane U, wire 61
+ 113,  12,  62  ! DC2, Plane U, wire 62
+ 112,  12,  63  ! DC2, Plane U, wire 63
+
+SLOT=13
+REFCHAN=47
+  80,  12,  64  ! DC2, Plane U, wire 64
+  81,  12,  65  ! DC2, Plane U, wire 65
+  82,  12,  66  ! DC2, Plane U, wire 66
+  83,  12,  67  ! DC2, Plane U, wire 67
+  84,  12,  68  ! DC2, Plane U, wire 68
+  85,  12,  69  ! DC2, Plane U, wire 69
+  86,  12,  70  ! DC2, Plane U, wire 70
+  87,  12,  71  ! DC2, Plane U, wire 71
+  88,  12,  72  ! DC2, Plane U, wire 72
+  89,  12,  73  ! DC2, Plane U, wire 73
+  90,  12,  74  ! DC2, Plane U, wire 74
+  91,  12,  75  ! DC2, Plane U, wire 75
+  92,  12,  76  ! DC2, Plane U, wire 76
+  93,  12,  77  ! DC2, Plane U, wire 77
+  94,  12,  78  ! DC2, Plane U, wire 78
+  95,  12,  79  ! DC2, Plane U, wire 79
+  16,  12,  80  ! DC2, Plane U, wire 80
+  17,  12,  81  ! DC2, Plane U, wire 81
+  18,  12,  82  ! DC2, Plane U, wire 82
+  19,  12,  83  ! DC2, Plane U, wire 83
+  20,  12,  84  ! DC2, Plane U, wire 84
+  21,  12,  85  ! DC2, Plane U, wire 85
+  22,  12,  86  ! DC2, Plane U, wire 86
+  23,  12,  87  ! DC2, Plane U, wire 87
+  24,  12,  88  ! DC2, Plane U, wire 88
+  25,  12,  89  ! DC2, Plane U, wire 89
+  26,  12,  90  ! DC2, Plane U, wire 90
+  27,  12,  91  ! DC2, Plane U, wire 91
+  28,  12,  92  ! DC2, Plane U, wire 92
+  29,  12,  93  ! DC2, Plane U, wire 93
+  30,  12,  94  ! DC2, Plane U, wire 94
+  31,  12,  95  ! DC2, Plane U, wire 95
+
+SLOT=14
+REFCHAN=15
+  80,  12,  96  ! DC2, Plane U, wire 96
+  81,  12,  97  ! DC2, Plane U, wire 97
+  82,  12,  98  ! DC2, Plane U, wire 98
+  83,  12,  99  ! DC2, Plane U, wire 99
+  84,  12, 100  ! DC2, Plane U, wire 100
+  85,  12, 101  ! DC2, Plane U, wire 101
+  86,  12, 102  ! DC2, Plane U, wire 102
+  87,  12, 103  ! DC2, Plane U, wire 103
+  88,  12, 104  ! DC2, Plane U, wire 104
+  89,  12, 105  ! DC2, Plane U, wire 105
+  90,  12, 106  ! DC2, Plane U, wire 106
+  91,  12, 107  ! DC2, Plane U, wire 107
+
+SLOT=13
+REFCHAN=47
+  43,  11,   1  ! DC2, Plane U', wire 1
+  42,  11,   2  ! DC2, Plane U', wire 2
+  41,  11,   3  ! DC2, Plane U', wire 3
+  40,  11,   4  ! DC2, Plane U', wire 4
+  39,  11,   5  ! DC2, Plane U', wire 5
+  38,  11,   6  ! DC2, Plane U', wire 6
+  37,  11,   7  ! DC2, Plane U', wire 7
+  36,  11,   8  ! DC2, Plane U', wire 8
+  35,  11,   9  ! DC2, Plane U', wire 9
+  34,  11,  10  ! DC2, Plane U', wire 10
+  33,  11,  11  ! DC2, Plane U', wire 11
+  32,  11,  12  ! DC2, Plane U', wire 12
+
+SLOT=11
+REFCHAN=47
+  95,  11,  13  ! DC2, Plane U', wire 13
+  94,  11,  14  ! DC2, Plane U', wire 14
+  93,  11,  15  ! DC2, Plane U', wire 15
+  92,  11,  16  ! DC2, Plane U', wire 16
+  91,  11,  17  ! DC2, Plane U', wire 17
+  90,  11,  18  ! DC2, Plane U', wire 18
+  89,  11,  19  ! DC2, Plane U', wire 19
+  88,  11,  20  ! DC2, Plane U', wire 20
+  87,  11,  21  ! DC2, Plane U', wire 21
+  86,  11,  22  ! DC2, Plane U', wire 22
+  85,  11,  23  ! DC2, Plane U', wire 23
+  84,  11,  24  ! DC2, Plane U', wire 24
+  83,  11,  25  ! DC2, Plane U', wire 25
+  82,  11,  26  ! DC2, Plane U', wire 26
+  81,  11,  27  ! DC2, Plane U', wire 27
+  80,  11,  28  ! DC2, Plane U', wire 28
+  15,  11,  29  ! DC2, Plane U', wire 29
+  14,  11,  30  ! DC2, Plane U', wire 30
+  13,  11,  31  ! DC2, Plane U', wire 31
+  12,  11,  32  ! DC2, Plane U', wire 32
+  11,  11,  33  ! DC2, Plane U', wire 33
+  10,  11,  34  ! DC2, Plane U', wire 34
+   9,  11,  35  ! DC2, Plane U', wire 35
+   8,  11,  36  ! DC2, Plane U', wire 36
+   7,  11,  37  ! DC2, Plane U', wire 37
+   6,  11,  38  ! DC2, Plane U', wire 38
+   5,  11,  39  ! DC2, Plane U', wire 39
+   4,  11,  40  ! DC2, Plane U', wire 40
+   3,  11,  41  ! DC2, Plane U', wire 41
+   2,  11,  42  ! DC2, Plane U', wire 42
+   1,  11,  43  ! DC2, Plane U', wire 43
+   0,  11,  44  ! DC2, Plane U', wire 44
+
+SLOT=13
+REFCHAN=47
+  96,  11,  45  ! DC2, Plane U', wire 45
+  97,  11,  46  ! DC2, Plane U', wire 46
+  98,  11,  47  ! DC2, Plane U', wire 47
+  99,  11,  48  ! DC2, Plane U', wire 48
+ 100,  11,  49  ! DC2, Plane U', wire 49
+ 101,  11,  50  ! DC2, Plane U', wire 50
+ 102,  11,  51  ! DC2, Plane U', wire 51
+ 103,  11,  52  ! DC2, Plane U', wire 52
+ 104,  11,  53  ! DC2, Plane U', wire 53
+ 105,  11,  54  ! DC2, Plane U', wire 54
+ 106,  11,  55  ! DC2, Plane U', wire 55
+ 107,  11,  56  ! DC2, Plane U', wire 56
+ 108,  11,  57  ! DC2, Plane U', wire 57
+ 109,  11,  58  ! DC2, Plane U', wire 58
+ 110,  11,  59  ! DC2, Plane U', wire 59
+ 111,  11,  60  ! DC2, Plane U', wire 60
+  64,  11,  61  ! DC2, Plane U', wire 61
+  65,  11,  62  ! DC2, Plane U', wire 62
+  66,  11,  63  ! DC2, Plane U', wire 63
+  67,  11,  64  ! DC2, Plane U', wire 64
+  68,  11,  65  ! DC2, Plane U', wire 65
+  69,  11,  66  ! DC2, Plane U', wire 66
+  70,  11,  67  ! DC2, Plane U', wire 67
+  71,  11,  68  ! DC2, Plane U', wire 68
+  72,  11,  69  ! DC2, Plane U', wire 69
+  73,  11,  70  ! DC2, Plane U', wire 70
+  74,  11,  71  ! DC2, Plane U', wire 71
+  75,  11,  72  ! DC2, Plane U', wire 72
+  76,  11,  73  ! DC2, Plane U', wire 73
+  77,  11,  74  ! DC2, Plane U', wire 74
+  78,  11,  75  ! DC2, Plane U', wire 75
+  79,  11,  76  ! DC2, Plane U', wire 76
+
+SLOT=15
+REFCHAN=47
+  48,  11,  77  ! DC2, Plane U', wire 77
+  49,  11,  78  ! DC2, Plane U', wire 78
+  50,  11,  79  ! DC2, Plane U', wire 79
+  51,  11,  80  ! DC2, Plane U', wire 80
+  52,  11,  81  ! DC2, Plane U', wire 81
+  53,  11,  82  ! DC2, Plane U', wire 82
+  54,  11,  83  ! DC2, Plane U', wire 83
+  55,  11,  84  ! DC2, Plane U', wire 84
+  56,  11,  85  ! DC2, Plane U', wire 85
+  57,  11,  86  ! DC2, Plane U', wire 86
+  58,  11,  87  ! DC2, Plane U', wire 87
+  59,  11,  88  ! DC2, Plane U', wire 88
+  60,  11,  89  ! DC2, Plane U', wire 89
+  61,  11,  90  ! DC2, Plane U', wire 90
+  62,  11,  91  ! DC2, Plane U', wire 91
+  63,  11,  92  ! DC2, Plane U', wire 92
+
+SLOT=14
+REFCHAN=15
+ 112,  11,  93  ! DC2, Plane U', wire 93
+ 113,  11,  94  ! DC2, Plane U', wire 94
+ 114,  11,  95  ! DC2, Plane U', wire 95
+ 115,  11,  96  ! DC2, Plane U', wire 96
+ 116,  11,  97  ! DC2, Plane U', wire 97
+ 117,  11,  98  ! DC2, Plane U', wire 98
+ 118,  11,  99  ! DC2, Plane U', wire 99
+ 119,  11, 100  ! DC2, Plane U', wire 100
+ 120,  11, 101  ! DC2, Plane U', wire 101
+ 121,  11, 102  ! DC2, Plane U', wire 102
+ 122,  11, 103  ! DC2, Plane U', wire 103
+ 123,  11, 104  ! DC2, Plane U', wire 104
+ 124,  11, 105  ! DC2, Plane U', wire 105
+ 125,  11, 106  ! DC2, Plane U', wire 106
+ 126,  11, 107  ! DC2, Plane U', wire 107
+  14,   8,   1  ! DC2, Plane V, wire 1
+  13,   8,   2  ! DC2, Plane V, wire 2
+  12,   8,   3  ! DC2, Plane V, wire 3
+  11,   8,   4  ! DC2, Plane V, wire 4
+  10,   8,   5  ! DC2, Plane V, wire 5
+   9,   8,   6  ! DC2, Plane V, wire 6
+   8,   8,   7  ! DC2, Plane V, wire 7
+   7,   8,   8  ! DC2, Plane V, wire 8
+   6,   8,   9  ! DC2, Plane V, wire 9
+   5,   8,  10  ! DC2, Plane V, wire 10
+   4,   8,  11  ! DC2, Plane V, wire 11
+   3,   8,  12  ! DC2, Plane V, wire 12
+   2,   8,  13  ! DC2, Plane V, wire 13
+   1,   8,  14  ! DC2, Plane V, wire 14
+   0,   8,  15  ! DC2, Plane V, wire 15
+
+SLOT=12
+REFCHAN=47
+ 127,   8,  16  ! DC2, Plane V, wire 16
+ 126,   8,  17  ! DC2, Plane V, wire 17
+ 125,   8,  18  ! DC2, Plane V, wire 18
+ 124,   8,  19  ! DC2, Plane V, wire 19
+ 123,   8,  20  ! DC2, Plane V, wire 20
+ 122,   8,  21  ! DC2, Plane V, wire 21
+ 121,   8,  22  ! DC2, Plane V, wire 22
+ 120,   8,  23  ! DC2, Plane V, wire 23
+ 119,   8,  24  ! DC2, Plane V, wire 24
+ 118,   8,  25  ! DC2, Plane V, wire 25
+ 117,   8,  26  ! DC2, Plane V, wire 26
+ 116,   8,  27  ! DC2, Plane V, wire 27
+ 115,   8,  28  ! DC2, Plane V, wire 28
+ 114,   8,  29  ! DC2, Plane V, wire 29
+ 113,   8,  30  ! DC2, Plane V, wire 30
+ 112,   8,  31  ! DC2, Plane V, wire 31
+
+SLOT=14
+REFCHAN=15
+ 111,   8,  32  ! DC2, Plane V, wire 32
+ 110,   8,  33  ! DC2, Plane V, wire 33
+ 109,   8,  34  ! DC2, Plane V, wire 34
+ 108,   8,  35  ! DC2, Plane V, wire 35
+ 107,   8,  36  ! DC2, Plane V, wire 36
+ 106,   8,  37  ! DC2, Plane V, wire 37
+ 105,   8,  38  ! DC2, Plane V, wire 38
+ 104,   8,  39  ! DC2, Plane V, wire 39
+ 103,   8,  40  ! DC2, Plane V, wire 40
+ 102,   8,  41  ! DC2, Plane V, wire 41
+ 101,   8,  42  ! DC2, Plane V, wire 42
+ 100,   8,  43  ! DC2, Plane V, wire 43
+  99,   8,  44  ! DC2, Plane V, wire 44
+  98,   8,  45  ! DC2, Plane V, wire 45
+  97,   8,  46  ! DC2, Plane V, wire 46
+  96,   8,  47  ! DC2, Plane V, wire 47
+  31,   8,  48  ! DC2, Plane V, wire 48
+  30,   8,  49  ! DC2, Plane V, wire 49
+  29,   8,  50  ! DC2, Plane V, wire 50
+  28,   8,  51  ! DC2, Plane V, wire 51
+  27,   8,  52  ! DC2, Plane V, wire 52
+  26,   8,  53  ! DC2, Plane V, wire 53
+  25,   8,  54  ! DC2, Plane V, wire 54
+  24,   8,  55  ! DC2, Plane V, wire 55
+  23,   8,  56  ! DC2, Plane V, wire 56
+  22,   8,  57  ! DC2, Plane V, wire 57
+  21,   8,  58  ! DC2, Plane V, wire 58
+  20,   8,  59  ! DC2, Plane V, wire 59
+  19,   8,  60  ! DC2, Plane V, wire 60
+  18,   8,  61  ! DC2, Plane V, wire 61
+  17,   8,  62  ! DC2, Plane V, wire 62
+  16,   8,  63  ! DC2, Plane V, wire 63
+
+SLOT=12
+REFCHAN=47
+   0,   8,  64  ! DC2, Plane V, wire 64
+   1,   8,  65  ! DC2, Plane V, wire 65
+   2,   8,  66  ! DC2, Plane V, wire 66
+   3,   8,  67  ! DC2, Plane V, wire 67
+   4,   8,  68  ! DC2, Plane V, wire 68
+   5,   8,  69  ! DC2, Plane V, wire 69
+   6,   8,  70  ! DC2, Plane V, wire 70
+   7,   8,  71  ! DC2, Plane V, wire 71
+   8,   8,  72  ! DC2, Plane V, wire 72
+   9,   8,  73  ! DC2, Plane V, wire 73
+  10,   8,  74  ! DC2, Plane V, wire 74
+  11,   8,  75  ! DC2, Plane V, wire 75
+  12,   8,  76  ! DC2, Plane V, wire 76
+  13,   8,  77  ! DC2, Plane V, wire 77
+  14,   8,  78  ! DC2, Plane V, wire 78
+  15,   8,  79  ! DC2, Plane V, wire 79
+  64,   8,  80  ! DC2, Plane V, wire 80
+  65,   8,  81  ! DC2, Plane V, wire 81
+  66,   8,  82  ! DC2, Plane V, wire 82
+  67,   8,  83  ! DC2, Plane V, wire 83
+  68,   8,  84  ! DC2, Plane V, wire 84
+  69,   8,  85  ! DC2, Plane V, wire 85
+  70,   8,  86  ! DC2, Plane V, wire 86
+  71,   8,  87  ! DC2, Plane V, wire 87
+  72,   8,  88  ! DC2, Plane V, wire 88
+  73,   8,  89  ! DC2, Plane V, wire 89
+  74,   8,  90  ! DC2, Plane V, wire 90
+  75,   8,  91  ! DC2, Plane V, wire 91
+  76,   8,  92  ! DC2, Plane V, wire 92
+  77,   8,  93  ! DC2, Plane V, wire 93
+  78,   8,  94  ! DC2, Plane V, wire 94
+  79,   8,  95  ! DC2, Plane V, wire 95
+  32,   8,  96  ! DC2, Plane V, wire 96
+  33,   8,  97  ! DC2, Plane V, wire 97
+  34,   8,  98  ! DC2, Plane V, wire 98
+  35,   8,  99  ! DC2, Plane V, wire 99
+  36,   8, 100  ! DC2, Plane V, wire 100
+  37,   8, 101  ! DC2, Plane V, wire 101
+  38,   8, 102  ! DC2, Plane V, wire 102
+  39,   8, 103  ! DC2, Plane V, wire 103
+  40,   8, 104  ! DC2, Plane V, wire 104
+  41,   8, 105  ! DC2, Plane V, wire 105
+  42,   8, 106  ! DC2, Plane V, wire 106
+  43,   8, 107  ! DC2, Plane V, wire 107
+
+SLOT=15
+REFCHAN=47
+  43,   7,   1  ! DC2, Plane V', wire 1
+  42,   7,   2  ! DC2, Plane V', wire 2
+  41,   7,   3  ! DC2, Plane V', wire 3
+  40,   7,   4  ! DC2, Plane V', wire 4
+  39,   7,   5  ! DC2, Plane V', wire 5
+  38,   7,   6  ! DC2, Plane V', wire 6
+  37,   7,   7  ! DC2, Plane V', wire 7
+  36,   7,   8  ! DC2, Plane V', wire 8
+  35,   7,   9  ! DC2, Plane V', wire 9
+  34,   7,  10  ! DC2, Plane V', wire 10
+  33,   7,  11  ! DC2, Plane V', wire 11
+  32,   7,  12  ! DC2, Plane V', wire 12
+  15,   7,  13  ! DC2, Plane V', wire 13
+  14,   7,  14  ! DC2, Plane V', wire 14
+  13,   7,  15  ! DC2, Plane V', wire 15
+  12,   7,  16  ! DC2, Plane V', wire 16
+  11,   7,  17  ! DC2, Plane V', wire 17
+  10,   7,  18  ! DC2, Plane V', wire 18
+   9,   7,  19  ! DC2, Plane V', wire 19
+   8,   7,  20  ! DC2, Plane V', wire 20
+   7,   7,  21  ! DC2, Plane V', wire 21
+   6,   7,  22  ! DC2, Plane V', wire 22
+   5,   7,  23  ! DC2, Plane V', wire 23
+   4,   7,  24  ! DC2, Plane V', wire 24
+   3,   7,  25  ! DC2, Plane V', wire 25
+   2,   7,  26  ! DC2, Plane V', wire 26
+   1,   7,  27  ! DC2, Plane V', wire 27
+   0,   7,  28  ! DC2, Plane V', wire 28
+
+SLOT=14
+REFCHAN=15
+  79,   7,  29  ! DC2, Plane V', wire 29
+  78,   7,  30  ! DC2, Plane V', wire 30
+  77,   7,  31  ! DC2, Plane V', wire 31
+  76,   7,  32  ! DC2, Plane V', wire 32
+  75,   7,  33  ! DC2, Plane V', wire 33
+  74,   7,  34  ! DC2, Plane V', wire 34
+  73,   7,  35  ! DC2, Plane V', wire 35
+  72,   7,  36  ! DC2, Plane V', wire 36
+  71,   7,  37  ! DC2, Plane V', wire 37
+  70,   7,  38  ! DC2, Plane V', wire 38
+  69,   7,  39  ! DC2, Plane V', wire 39
+  68,   7,  40  ! DC2, Plane V', wire 40
+  67,   7,  41  ! DC2, Plane V', wire 41
+  66,   7,  42  ! DC2, Plane V', wire 42
+  65,   7,  43  ! DC2, Plane V', wire 43
+  64,   7,  44  ! DC2, Plane V', wire 44
+
+SLOT=13
+REFCHAN=47
+  48,   7,  45  ! DC2, Plane V', wire 45
+  49,   7,  46  ! DC2, Plane V', wire 46
+  50,   7,  47  ! DC2, Plane V', wire 47
+  51,   7,  48  ! DC2, Plane V', wire 48
+  52,   7,  49  ! DC2, Plane V', wire 49
+  53,   7,  50  ! DC2, Plane V', wire 50
+  54,   7,  51  ! DC2, Plane V', wire 51
+  55,   7,  52  ! DC2, Plane V', wire 52
+  56,   7,  53  ! DC2, Plane V', wire 53
+  57,   7,  54  ! DC2, Plane V', wire 54
+  58,   7,  55  ! DC2, Plane V', wire 55
+  59,   7,  56  ! DC2, Plane V', wire 56
+  60,   7,  57  ! DC2, Plane V', wire 57
+  61,   7,  58  ! DC2, Plane V', wire 58
+  62,   7,  59  ! DC2, Plane V', wire 59
+  63,   7,  60  ! DC2, Plane V', wire 60
+
+SLOT=12
+REFCHAN=47
+  80,   7,  61  ! DC2, Plane V', wire 61
+  81,   7,  62  ! DC2, Plane V', wire 62
+  82,   7,  63  ! DC2, Plane V', wire 63
+  83,   7,  64  ! DC2, Plane V', wire 64
+  84,   7,  65  ! DC2, Plane V', wire 65
+  85,   7,  66  ! DC2, Plane V', wire 66
+  86,   7,  67  ! DC2, Plane V', wire 67
+  87,   7,  68  ! DC2, Plane V', wire 68
+  88,   7,  69  ! DC2, Plane V', wire 69
+  89,   7,  70  ! DC2, Plane V', wire 70
+  90,   7,  71  ! DC2, Plane V', wire 71
+  91,   7,  72  ! DC2, Plane V', wire 72
+  92,   7,  73  ! DC2, Plane V', wire 73
+  93,   7,  74  ! DC2, Plane V', wire 74
+  94,   7,  75  ! DC2, Plane V', wire 75
+  95,   7,  76  ! DC2, Plane V', wire 76
+  48,   7,  77  ! DC2, Plane V', wire 77
+  49,   7,  78  ! DC2, Plane V', wire 78
+  50,   7,  79  ! DC2, Plane V', wire 79
+  51,   7,  80  ! DC2, Plane V', wire 80
+  52,   7,  81  ! DC2, Plane V', wire 81
+  53,   7,  82  ! DC2, Plane V', wire 82
+  54,   7,  83  ! DC2, Plane V', wire 83
+  55,   7,  84  ! DC2, Plane V', wire 84
+  56,   7,  85  ! DC2, Plane V', wire 85
+  57,   7,  86  ! DC2, Plane V', wire 86
+  58,   7,  87  ! DC2, Plane V', wire 87
+  59,   7,  88  ! DC2, Plane V', wire 88
+  60,   7,  89  ! DC2, Plane V', wire 89
+  61,   7,  90  ! DC2, Plane V', wire 90
+  62,   7,  91  ! DC2, Plane V', wire 91
+  63,   7,  92  ! DC2, Plane V', wire 92
+
+SLOT=11
+REFCHAN=47
+  32,   7,  93  ! DC2, Plane V', wire 93
+  33,   7,  94  ! DC2, Plane V', wire 94
+  34,   7,  95  ! DC2, Plane V', wire 95
+  35,   7,  96  ! DC2, Plane V', wire 96
+  36,   7,  97  ! DC2, Plane V', wire 97
+  37,   7,  98  ! DC2, Plane V', wire 98
+  38,   7,  99  ! DC2, Plane V', wire 99
+  39,   7, 100  ! DC2, Plane V', wire 100
+  40,   7, 101  ! DC2, Plane V', wire 101
+  41,   7, 102  ! DC2, Plane V', wire 102
+  42,   7, 103  ! DC2, Plane V', wire 103
+  43,   7, 104  ! DC2, Plane V', wire 104
+  44,   7, 105  ! DC2, Plane V', wire 105
+  45,   7, 106  ! DC2, Plane V', wire 106
+  46,   7, 107  ! DC2, Plane V', wire 107
+
+SLOT=12
+REFCHAN=47
+ 111,  10,   1  ! DC2, Plane X, wire 1
+ 110,  10,   2  ! DC2, Plane X, wire 2
+ 109,  10,   3  ! DC2, Plane X, wire 3
+ 108,  10,   4  ! DC2, Plane X, wire 4
+ 107,  10,   5  ! DC2, Plane X, wire 5
+ 106,  10,   6  ! DC2, Plane X, wire 6
+ 105,  10,   7  ! DC2, Plane X, wire 7
+ 104,  10,   8  ! DC2, Plane X, wire 8
+ 103,  10,   9  ! DC2, Plane X, wire 9
+ 102,  10,  10  ! DC2, Plane X, wire 10
+ 101,  10,  11  ! DC2, Plane X, wire 11
+ 100,  10,  12  ! DC2, Plane X, wire 12
+  99,  10,  13  ! DC2, Plane X, wire 13
+  98,  10,  14  ! DC2, Plane X, wire 14
+  97,  10,  15  ! DC2, Plane X, wire 15
+  96,  10,  16  ! DC2, Plane X, wire 16
+  31,  10,  17  ! DC2, Plane X, wire 17
+  30,  10,  18  ! DC2, Plane X, wire 18
+  29,  10,  19  ! DC2, Plane X, wire 19
+  28,  10,  20  ! DC2, Plane X, wire 20
+  27,  10,  21  ! DC2, Plane X, wire 21
+  26,  10,  22  ! DC2, Plane X, wire 22
+  25,  10,  23  ! DC2, Plane X, wire 23
+  24,  10,  24  ! DC2, Plane X, wire 24
+  23,  10,  25  ! DC2, Plane X, wire 25
+  22,  10,  26  ! DC2, Plane X, wire 26
+  21,  10,  27  ! DC2, Plane X, wire 27
+  20,  10,  28  ! DC2, Plane X, wire 28
+  19,  10,  29  ! DC2, Plane X, wire 29
+  18,  10,  30  ! DC2, Plane X, wire 30
+  17,  10,  31  ! DC2, Plane X, wire 31
+  16,  10,  32  ! DC2, Plane X, wire 32
+
+SLOT=11
+REFCHAN=47
+  31,  10,  33  ! DC2, Plane X, wire 33
+  30,  10,  34  ! DC2, Plane X, wire 34
+  29,  10,  35  ! DC2, Plane X, wire 35
+  28,  10,  36  ! DC2, Plane X, wire 36
+  27,  10,  37  ! DC2, Plane X, wire 37
+  26,  10,  38  ! DC2, Plane X, wire 38
+  25,  10,  39  ! DC2, Plane X, wire 39
+  24,  10,  40  ! DC2, Plane X, wire 40
+  23,  10,  41  ! DC2, Plane X, wire 41
+  22,  10,  42  ! DC2, Plane X, wire 42
+  21,  10,  43  ! DC2, Plane X, wire 43
+  20,  10,  44  ! DC2, Plane X, wire 44
+  19,  10,  45  ! DC2, Plane X, wire 45
+  18,  10,  46  ! DC2, Plane X, wire 46
+  17,  10,  47  ! DC2, Plane X, wire 47
+  16,  10,  48  ! DC2, Plane X, wire 48
+
+SLOT=15
+REFCHAN=47
+  16,  10,  49  ! DC2, Plane X, wire 49
+  17,  10,  50  ! DC2, Plane X, wire 50
+  18,  10,  51  ! DC2, Plane X, wire 51
+  19,  10,  52  ! DC2, Plane X, wire 52
+  20,  10,  53  ! DC2, Plane X, wire 53
+  21,  10,  54  ! DC2, Plane X, wire 54
+  22,  10,  55  ! DC2, Plane X, wire 55
+  23,  10,  56  ! DC2, Plane X, wire 56
+  24,  10,  57  ! DC2, Plane X, wire 57
+  25,  10,  58  ! DC2, Plane X, wire 58
+  26,  10,  59  ! DC2, Plane X, wire 59
+  27,  10,  60  ! DC2, Plane X, wire 60
+  28,  10,  61  ! DC2, Plane X, wire 61
+  29,  10,  62  ! DC2, Plane X, wire 62
+  30,  10,  63  ! DC2, Plane X, wire 63
+  31,  10,  64  ! DC2, Plane X, wire 64
+
+SLOT=14
+REFCHAN=15
+  48,  10,  65  ! DC2, Plane X, wire 65
+  49,  10,  66  ! DC2, Plane X, wire 66
+  50,  10,  67  ! DC2, Plane X, wire 67
+  51,  10,  68  ! DC2, Plane X, wire 68
+  52,  10,  69  ! DC2, Plane X, wire 69
+  53,  10,  70  ! DC2, Plane X, wire 70
+  54,  10,  71  ! DC2, Plane X, wire 71
+  55,  10,  72  ! DC2, Plane X, wire 72
+  56,  10,  73  ! DC2, Plane X, wire 73
+  57,  10,  74  ! DC2, Plane X, wire 74
+  58,  10,  75  ! DC2, Plane X, wire 75
+  59,  10,  76  ! DC2, Plane X, wire 76
+  60,  10,  77  ! DC2, Plane X, wire 77
+  61,  10,  78  ! DC2, Plane X, wire 78
+  62,  10,  79  ! DC2, Plane X, wire 79
+
+SLOT=13
+REFCHAN=47
+ 126,   9,   1  ! DC2, Plane X', wire 1
+ 125,   9,   2  ! DC2, Plane X', wire 2
+ 124,   9,   3  ! DC2, Plane X', wire 3
+ 123,   9,   4  ! DC2, Plane X', wire 4
+ 122,   9,   5  ! DC2, Plane X', wire 5
+ 121,   9,   6  ! DC2, Plane X', wire 6
+ 120,   9,   7  ! DC2, Plane X', wire 7
+ 119,   9,   8  ! DC2, Plane X', wire 8
+ 118,   9,   9  ! DC2, Plane X', wire 9
+ 117,   9,  10  ! DC2, Plane X', wire 10
+ 116,   9,  11  ! DC2, Plane X', wire 11
+ 115,   9,  12  ! DC2, Plane X', wire 12
+ 114,   9,  13  ! DC2, Plane X', wire 13
+ 113,   9,  14  ! DC2, Plane X', wire 14
+ 112,   9,  15  ! DC2, Plane X', wire 15
+  15,   9,  16  ! DC2, Plane X', wire 16
+  14,   9,  17  ! DC2, Plane X', wire 17
+  13,   9,  18  ! DC2, Plane X', wire 18
+  12,   9,  19  ! DC2, Plane X', wire 19
+  11,   9,  20  ! DC2, Plane X', wire 20
+  10,   9,  21  ! DC2, Plane X', wire 21
+   9,   9,  22  ! DC2, Plane X', wire 22
+   8,   9,  23  ! DC2, Plane X', wire 23
+   7,   9,  24  ! DC2, Plane X', wire 24
+   6,   9,  25  ! DC2, Plane X', wire 25
+   5,   9,  26  ! DC2, Plane X', wire 26
+   4,   9,  27  ! DC2, Plane X', wire 27
+   3,   9,  28  ! DC2, Plane X', wire 28
+   2,   9,  29  ! DC2, Plane X', wire 29
+   1,   9,  30  ! DC2, Plane X', wire 30
+   0,   9,  31  ! DC2, Plane X', wire 31
+
+SLOT=11
+REFCHAN=47
+  96,   9,  32  ! DC2, Plane X', wire 32
+  97,   9,  33  ! DC2, Plane X', wire 33
+  98,   9,  34  ! DC2, Plane X', wire 34
+  99,   9,  35  ! DC2, Plane X', wire 35
+ 100,   9,  36  ! DC2, Plane X', wire 36
+ 101,   9,  37  ! DC2, Plane X', wire 37
+ 102,   9,  38  ! DC2, Plane X', wire 38
+ 103,   9,  39  ! DC2, Plane X', wire 39
+ 104,   9,  40  ! DC2, Plane X', wire 40
+ 105,   9,  41  ! DC2, Plane X', wire 41
+ 106,   9,  42  ! DC2, Plane X', wire 42
+ 107,   9,  43  ! DC2, Plane X', wire 43
+ 108,   9,  44  ! DC2, Plane X', wire 44
+ 109,   9,  45  ! DC2, Plane X', wire 45
+ 110,   9,  46  ! DC2, Plane X', wire 46
+ 111,   9,  47  ! DC2, Plane X', wire 47
+  64,   9,  48  ! DC2, Plane X', wire 48
+  65,   9,  49  ! DC2, Plane X', wire 49
+  66,   9,  50  ! DC2, Plane X', wire 50
+  67,   9,  51  ! DC2, Plane X', wire 51
+  68,   9,  52  ! DC2, Plane X', wire 52
+  69,   9,  53  ! DC2, Plane X', wire 53
+  70,   9,  54  ! DC2, Plane X', wire 54
+  71,   9,  55  ! DC2, Plane X', wire 55
+  72,   9,  56  ! DC2, Plane X', wire 56
+  73,   9,  57  ! DC2, Plane X', wire 57
+  74,   9,  58  ! DC2, Plane X', wire 58
+  75,   9,  59  ! DC2, Plane X', wire 59
+  76,   9,  60  ! DC2, Plane X', wire 60
+  77,   9,  61  ! DC2, Plane X', wire 61
+  78,   9,  62  ! DC2, Plane X', wire 62
+  79,   9,  63  ! DC2, Plane X', wire 63
+
+SLOT=10
+REFCHAN=79
+  96,   9,  64  ! DC2, Plane X', wire 64
+  97,   9,  65  ! DC2, Plane X', wire 65
+  98,   9,  66  ! DC2, Plane X', wire 66
+  99,   9,  67  ! DC2, Plane X', wire 67
+ 100,   9,  68  ! DC2, Plane X', wire 68
+ 101,   9,  69  ! DC2, Plane X', wire 69
+ 102,   9,  70  ! DC2, Plane X', wire 70
+ 103,   9,  71  ! DC2, Plane X', wire 71
+ 104,   9,  72  ! DC2, Plane X', wire 72
+ 105,   9,  73  ! DC2, Plane X', wire 73
+ 106,   9,  74  ! DC2, Plane X', wire 74
+ 107,   9,  75  ! DC2, Plane X', wire 75
+ 108,   9,  76  ! DC2, Plane X', wire 76
+ 109,   9,  77  ! DC2, Plane X', wire 77
+ 110,   9,  78  ! DC2, Plane X', wire 78
+ 111,   9,  79  ! DC2, Plane X', wire 79
+
+
+DETECTOR=23
+
+ROC=2
+
+SLOT=3
+   0,   1,   1,   0  ! p1x01A+
+   1,   1,   2,   0  ! p1x02A+
+   2,   1,   3,   0  ! p1x03A+
+   3,   1,   4,   0  ! p1x04A+
+   4,   1,   5,   0  ! p1x05A+
+   5,   1,   6,   0  ! p1x06A+
+   6,   1,   7,   0  ! p1x07A+
+   7,   1,   8,   0  ! p1x08A+
+   8,   1,   9,   0  ! p1x09A+
+   9,   1,  10,   0  ! p1x10A+
+  10,   1,  11,   0  ! p1x11A+
+  11,   1,  12,   0  ! p1x12A+
+  12,   1,  13,   0  ! p1x13A+
+  13,   1,   1,   1  ! p1x01A-
+  14,   1,   2,   1  ! p1x02A-
+  15,   1,   3,   1  ! p1x03A-
+
+SLOT=4
+   0,   1,   4,   1  ! p1x04A-
+   1,   1,   5,   1  ! p1x05A-
+   2,   1,   6,   1  ! p1x06A-
+   3,   1,   7,   1  ! p1x07A-
+   4,   1,   8,   1  ! p1x08A-
+   5,   1,   9,   1  ! p1x09A-
+   6,   1,  10,   1  ! p1x10A-
+   7,   1,  11,   1  ! p1x11A-
+   8,   1,  12,   1  ! p1x12A-
+   9,   1,  13,   1  ! p1x13A-
+  10,   2,   1,   1  ! p1y01A-
+  11,   2,   2,   1  ! p1y02A-
+  12,   2,   3,   1  ! p1y03A-
+  13,   2,   4,   1  ! p1y04A-
+  14,   2,   5,   1  ! p1y05A-
+  15,   2,   6,   1  ! p1y06A-
+
+SLOT=5
+   0,   2,   7,   1  ! p1y07A-
+   1,   2,   8,   1  ! p1y08A-
+   2,   2,   9,   1  ! p1y09A-
+   3,   2,  10,   1  ! p1y10A-
+   4,   2,  11,   1  ! p1y11A-
+   5,   2,  12,   1  ! p1y12A-
+   6,   2,  13,   1  ! p1y13A-
+   7,   2,   1,   0  ! p1y01A+
+   8,   2,   2,   0  ! p1y02A+
+   9,   2,   3,   0  ! p1y03A+
+  10,   2,   4,   0  ! p1y04A+
+  11,   2,   5,   0  ! p1y05A+
+  12,   2,   6,   0  ! p1y06A+
+  13,   2,   7,   0  ! p1y07A+
+  14,   2,   8,   0  ! p1y08A+
+  15,   2,   9,   0  ! p1y09A+
+
+SLOT=6
+   0,   2,  10,   0  ! p1y10A+
+   1,   2,  11,   0  ! p1y11A+
+   2,   2,  12,   0  ! p1y12A+
+   3,   2,  13,   0  ! p1y13A+
+   4,   3,   1,   0  ! p2x01A+
+   5,   3,   2,   0  ! p2x02A+
+   6,   3,   3,   0  ! p2x03A+
+   7,   3,   4,   0  ! p2x04A+
+   8,   3,   5,   0  ! p2x05A+
+   9,   3,   6,   0  ! p2x06A+
+  10,   3,   7,   0  ! p2x07A+
+  11,   3,   8,   0  ! p2x08A+
+  12,   3,   9,   0  ! p2x09A+
+  13,   3,  10,   0  ! p2x10A+
+  14,   3,  11,   0  ! p2x11A+
+  15,   3,  12,   0  ! p2x12A+
+
+SLOT=7
+   0,   3,  13,   0  ! p2x13A+
+   1,   3,  14,   0  ! p2x14A+
+   2,   3,   1,   1  ! p2x01A-
+   3,   3,   2,   1  ! p2x02A-
+   4,   3,   3,   1  ! p2x03A-
+   5,   3,   4,   1  ! p2x04A-
+   6,   3,   5,   1  ! p2x05A-
+   7,   3,   6,   1  ! p2x06A-
+   8,   3,   7,   1  ! p2x07A-
+   9,   3,   8,   1  ! p2x08A-
+  10,   3,   9,   1  ! p2x09A-
+  11,   3,  10,   1  ! p2x10A-
+  12,   3,  11,   1  ! p2x11A-
+  13,   3,  12,   1  ! p2x12A-
+  14,   3,  13,   1  ! p2x13A-
+  15,   3,  14,   1  ! p2x14A-
+
+SLOT=8
+   0,   4,   1,   1  ! p2y01A-
+   1,   4,   2,   1  ! p2y02A-
+   2,   4,   3,   1  ! p2y03A-
+   3,   4,   4,   1  ! p2y04A-
+   4,   4,   5,   1  ! p2y05A-
+   5,   4,   6,   1  ! p2y06A-
+   6,   4,   7,   1  ! p2y07A-
+   7,   4,   8,   1  ! p2y08A-
+   8,   4,   9,   1  ! p2y09A-
+   9,   4,  10,   1  ! p2y10A-
+  10,   4,  11,   1  ! p2y11A-
+  11,   4,  12,   1  ! p2y12A-
+  12,   4,  13,   1  ! p2y13A-
+  13,   4,  14,   1  ! p2y14A-
+  14,   4,  15,   1  ! p2y15A-
+  15,   4,  16,   1  ! p2y16A-
+
+SLOT=9
+   0,   4,  17,   1  ! p2y17A-
+   1,   4,  18,   1  ! p2y18A-
+   2,   4,  19,   1  ! p2y19A-
+   3,   4,  20,   1  ! p2y20A-
+   4,   4,  21,   1  ! p2y21A-
+   5,   4,   1,   0  ! p2y01A+
+   6,   4,   2,   0  ! p2y02A+
+   7,   4,   3,   0  ! p2y03A+
+   8,   4,   4,   0  ! p2y04A+
+   9,   4,   5,   0  ! p2y05A+
+  10,   4,   6,   0  ! p2y06A+
+  11,   4,   7,   0  ! p2y07A+
+  12,   4,   8,   0  ! p2y08A+
+  13,   4,   9,   0  ! p2y09A+
+  14,   4,  10,   0  ! p2y10A+
+  15,   4,  11,   0  ! p2y11A+
+
+SLOT=10
+   0,   4,  12,   0  ! p2y12A+
+   1,   4,  13,   0  ! p2y13A+
+   2,   4,  14,   0  ! p2y14A+
+   3,   4,  15,   0  ! p2y15A+
+   4,   4,  16,   0  ! p2y16A+
+   5,   4,  17,   0  ! p2y17A+
+   6,   4,  18,   0  ! p2y18A+
+   7,   4,  19,   0  ! p2y19A+
+   8,   4,  20,   0  ! p2y20A+
+   9,   4,  21,   0  ! p2y21A+
+
+SLOT=20
+REFINDEX=0
+  15,1000,   0,   0
+   0,   1,   1,   2  ! p1x01T+
+   1,   1,   3,   2  ! p1x03T+
+   2,   1,   5,   2  ! p1x05T+
+   3,   1,   7,   2  ! p1x07T+
+   4,   1,   2,   2  ! p1x02T+
+   5,   1,   4,   2  ! p1x04T+
+   6,   1,   6,   2  ! p1x06T+
+   7,   1,   8,   2  ! p1x08T+
+   8,   1,   9,   2  ! p1x09T+
+   9,   1,  11,   2  ! p1x11T+
+  10,   1,  13,   2  ! p1x13T+
+  12,   1,  10,   2  ! p1x10T+
+  13,   1,  12,   2  ! p1x12T+
+  16,   1,   1,   3  ! p1x01T-
+  17,   1,   3,   3  ! p1x03T-
+  18,   1,   5,   3  ! p1x05T-
+  19,   1,   7,   3  ! p1x07T-
+  20,   1,   2,   3  ! p1x02T-
+  21,   1,   4,   3  ! p1x04T-
+  22,   1,   6,   3  ! p1x06T-
+  23,   1,   8,   3  ! p1x08T-
+  24,   1,   9,   3  ! p1x09T-
+  25,   1,  11,   3  ! p1x11T-
+  26,   1,  13,   3  ! p1x13T-
+  28,   1,  10,   3  ! p1x10T-
+  30,   1,  12,   3  ! p1x12T-
+  32,   2,   1,   3  ! p1y01T-
+  33,   2,   3,   3  ! p1y03T-
+  34,   2,   5,   3  ! p1y05T-
+  35,   2,   7,   3  ! p1y07T-
+  36,   2,   2,   3  ! p1y02T-
+  37,   2,   4,   3  ! p1y04T-
+  38,   2,   6,   3  ! p1y06T-
+  39,   2,   8,   3  ! p1y08T-
+  40,   2,   9,   3  ! p1y09T-
+  41,   2,  11,   3  ! p1y11T-
+  42,   2,  13,   3  ! p1y13T-
+  44,   2,  10,   3  ! p1y10T-
+  45,   2,  12,   3  ! p1y12T-
+  48,   2,   1,   2  ! p1y01T+
+  49,   2,   3,   2  ! p1y03T+
+  50,   2,   5,   2  ! p1y05T+
+  51,   2,   7,   2  ! p1y07T+
+  52,   2,   2,   2  ! p1y02T+
+  53,   2,   4,   2  ! p1y04T+
+  54,   2,   6,   2  ! p1y06T+
+  55,   2,   8,   2  ! p1y08T+
+  56,   2,   9,   2  ! p1y09T+
+  57,   2,  11,   2  ! p1y11T+
+  58,   2,  13,   2  ! p1y13T+
+  60,   2,  10,   2  ! p1y10T+
+  61,   2,  12,   2  ! p1y12T+
+  64,   3,   1,   2  ! p2x01T+
+  65,   3,   3,   2  ! p2x03T+
+  66,   3,   5,   2  ! p2x05T+
+  67,   3,   7,   2  ! p2x07T+
+  68,   3,   2,   2  ! p2x02T+
+  69,   3,   4,   2  ! p2x04T+
+  70,   3,   6,   2  ! p2x06T+
+  71,   3,   8,   2  ! p2x08T+
+  72,   3,   9,   2  ! p2x09T+
+  73,   3,  11,   2  ! p2x11T+
+  74,   3,  13,   2  ! p2x13T+
+  76,   3,  10,   2  ! p2x10T+
+  77,   3,  12,   2  ! p2x12T+
+  78,   3,  14,   2  ! p2x14T+
+  80,   3,   1,   3  ! p2x01T-
+  81,   3,   3,   3  ! p2x03T-
+  82,   3,   5,   3  ! p2x05T-
+  83,   3,   7,   3  ! p2x07T-
+  84,   3,   2,   3  ! p2x02T-
+  85,   3,   4,   3  ! p2x04T-
+  86,   3,   6,   3  ! p2x06T-
+  87,   3,   8,   3  ! p2x08T-
+  88,   3,   9,   3  ! p2x09T-
+  89,   3,  11,   3  ! p2x11T-
+  90,   3,  13,   3  ! p2x13T-
+  92,   3,  10,   3  ! p2x10T-
+  93,   3,  12,   3  ! p2x12T-
+  94,   3,  14,   3  ! p2x14T-
+  96,   4,   1,   3  ! p2y01T-
+  97,   4,   3,   3  ! p2y03T-
+  98,   4,   5,   3  ! p2y05T-
+  99,   4,   7,   3  ! p2y07T-
+ 100,   4,   2,   3  ! p2y02T-
+ 101,   4,   4,   3  ! p2y04T-
+ 102,   4,   6,   3  ! p2y06T-
+ 103,   4,   8,   3  ! p2y08T-
+ 104,   4,   9,   3  ! p2y09T-
+ 105,   4,  11,   3  ! p2y11T-
+ 106,   4,  13,   3  ! p2y13T-
+ 107,   4,  15,   3  ! p2y15T-
+ 108,   4,  10,   3  ! p2y10T-
+ 109,   4,  12,   3  ! p2y12T-
+ 110,   4,  14,   3  ! p2y14T-
+ 111,   4,  16,   3  ! p2y16T-
+ 112,   4,  17,   3  ! p2y17T-
+ 113,   4,  19,   3  ! p2y19T-
+ 114,   4,  21,   3  ! p2y21T-
+ 116,   4,  18,   3  ! p2y18T-
+ 117,   4,  20,   3  ! p2y20T-
+
+SLOT=19
+REFINDEX=0
+  31,1000,   0,   1
+   0,   4,   1,   2  ! p2y01T+
+   1,   4,   3,   2  ! p2y03T+
+   2,   4,   5,   2  ! p2y05T+
+   3,   4,   7,   2  ! p2y07T+
+   4,   4,   2,   2  ! p2y02T+
+   5,   4,   4,   2  ! p2y04T+
+   6,   4,   6,   2  ! p2y06T+
+   7,   4,   8,   2  ! p2y08T+
+   8,   4,   9,   2  ! p2y09T+
+   9,   4,  11,   2  ! p2y11T+
+  10,   4,  13,   2  ! p2y13T+
+  11,   4,  15,   2  ! p2y15T+
+  12,   4,  10,   2  ! p2y10T+
+  13,   4,  12,   2  ! p2y12T+
+  14,   4,  14,   2  ! p2y14T+
+  15,   4,  16,   2  ! p2y16T+
+  16,   4,  17,   2  ! p2y17T+
+  17,   4,  19,   2  ! p2y19T+
+  18,   4,  21,   2  ! p2y21T+
+  20,   4,  18,   2  ! p2y18T+
+  21,   4,  20,   2  ! p2y20T+
+
+
+DETECTOR=24
+
+ROC=2
+
+SLOT=13
+   8,   1,   1,   0  ! pHGCER01
+   9,   1,   2,   0  ! pHGCER02
+  10,   1,   3,   0  ! pHGCER03
+  11,   1,   4,   0  ! pHGCER04
+
+
+DETECTOR=25
+
+ROC=2
+
+SLOT=10
+  10,   1,   1,   0  ! pAER01+
+  11,   1,   2,   0  ! pAER02+
+  12,   1,   3,   0  ! pAER03+
+  13,   1,   4,   0  ! pAER04+
+  14,   1,   5,   0  ! pAER05+
+  15,   1,   6,   0  ! pAER06+
+
+SLOT=13
+   0,   1,   7,   0  ! pAER07+
+   1,   1,   1,   1  ! pAER01-
+   2,   1,   2,   1  ! pAER02-
+   3,   1,   3,   1  ! pAER03-
+   4,   1,   4,   1  ! pAER04-
+   5,   1,   5,   1  ! pAER05-
+   6,   1,   6,   1  ! pAER06-
+   7,   1,   7,   1  ! pAER07-
+
+
+DETECTOR=26
+
+ROC=4
+
+SLOT=3
+   0,   1,   1,   0  ! pPRSH1+
+   1,   1,   2,   0  ! pPRSH2+
+   2,   1,   3,   0  ! pPRSH3+
+   3,   1,   4,   0  ! pPRSH4+
+   4,   1,   5,   0  ! pPRSH5+
+   5,   1,   6,   0  ! pPRSH6+
+   6,   1,   7,   0  ! pPRSH7+
+   7,   1,   8,   0  ! pPRSH8+
+   8,   1,   9,   0  ! pPRSH9+
+   9,   1,  10,   0  ! pPRSH10+
+  10,   1,  11,   0  ! pPRSH11+
+  11,   1,  12,   0  ! pPRSH12+
+  12,   1,  13,   0  ! pPRSH13+
+  13,   1,  14,   0  ! pPRSH14+
+
+SLOT=4
+   0,   1,   1,   1  ! pPRSH1-
+   1,   1,   2,   1  ! pPRSH2-
+   2,   1,   3,   1  ! pPRSH3-
+   3,   1,   4,   1  ! pPRSH4-
+   4,   1,   5,   1  ! pPRSH5-
+   5,   1,   6,   1  ! pPRSH6-
+   6,   1,   7,   1  ! pPRSH7-
+   7,   1,   8,   1  ! pPRSH8-
+   8,   1,   9,   1  ! pPRSH9-
+   9,   1,  10,   1  ! pPRSH10-
+  10,   1,  11,   1  ! pPRSH11-
+  11,   1,  12,   1  ! pPRSH12-
+  12,   1,  13,   1  ! pPRSH13-
+  13,   1,  14,   1  ! pPRSH14-
+
+SLOT=5
+   0,   2,   1,   0  ! Row 1, Column 1
+   1,   2,   2,   0  ! Row 2, Column 1
+   2,   2,   3,   0  ! Row 3, Column 1
+   3,   2,   4,   0  ! Row 4, Column 1
+   4,   2,   5,   0  ! Row 5, Column 1
+   5,   2,   6,   0  ! Row 6, Column 1
+   6,   2,   7,   0  ! Row 7, Column 1
+   7,   2,   8,   0  ! Row 8, Column 1
+   8,   2,   9,   0  ! Row 9, Column 1
+   9,   2,  10,   0  ! Row 10, Column 1
+  10,   2,  11,   0  ! Row 11, Column 1
+  11,   2,  12,   0  ! Row 12, Column 1
+  12,   2,  13,   0  ! Row 13, Column 1
+  13,   2,  14,   0  ! Row 14, Column 1
+  14,   2,  15,   0  ! Row 15, Column 1
+  15,   2,  16,   0  ! Row 16, Column 1
+
+SLOT=6
+   0,   2,  17,   0  ! Row 1, Column 2
+   1,   2,  18,   0  ! Row 2, Column 2
+   2,   2,  19,   0  ! Row 3, Column 2
+   3,   2,  20,   0  ! Row 4, Column 2
+   4,   2,  21,   0  ! Row 5, Column 2
+   5,   2,  22,   0  ! Row 6, Column 2
+   6,   2,  23,   0  ! Row 7, Column 2
+   7,   2,  24,   0  ! Row 8, Column 2
+   8,   2,  25,   0  ! Row 9, Column 2
+   9,   2,  26,   0  ! Row 10, Column 2
+  10,   2,  27,   0  ! Row 11, Column 2
+  11,   2,  28,   0  ! Row 12, Column 2
+  12,   2,  29,   0  ! Row 13, Column 2
+  13,   2,  30,   0  ! Row 14, Column 2
+  14,   2,  31,   0  ! Row 15, Column 2
+  15,   2,  32,   0  ! Row 16, Column 2
+
+SLOT=7
+   0,   2,  33,   0  ! Row 1, Column 3
+   1,   2,  34,   0  ! Row 2, Column 3
+   2,   2,  35,   0  ! Row 3, Column 3
+   3,   2,  36,   0  ! Row 4, Column 3
+   4,   2,  37,   0  ! Row 5, Column 3
+   5,   2,  38,   0  ! Row 6, Column 3
+   6,   2,  39,   0  ! Row 7, Column 3
+   7,   2,  40,   0  ! Row 8, Column 3
+   8,   2,  41,   0  ! Row 9, Column 3
+   9,   2,  42,   0  ! Row 10, Column 3
+  10,   2,  43,   0  ! Row 11, Column 3
+  11,   2,  44,   0  ! Row 12, Column 3
+  12,   2,  45,   0  ! Row 13, Column 3
+  13,   2,  46,   0  ! Row 14, Column 3
+  14,   2,  47,   0  ! Row 15, Column 3
+  15,   2,  48,   0  ! Row 16, Column 3
+
+SLOT=8
+   0,   2,  49,   0  ! Row 1, Column 4
+   1,   2,  50,   0  ! Row 2, Column 4
+   2,   2,  51,   0  ! Row 3, Column 4
+   3,   2,  52,   0  ! Row 4, Column 4
+   4,   2,  53,   0  ! Row 5, Column 4
+   5,   2,  54,   0  ! Row 6, Column 4
+   6,   2,  55,   0  ! Row 7, Column 4
+   7,   2,  56,   0  ! Row 8, Column 4
+   8,   2,  57,   0  ! Row 9, Column 4
+   9,   2,  58,   0  ! Row 10, Column 4
+  10,   2,  59,   0  ! Row 11, Column 4
+  11,   2,  60,   0  ! Row 12, Column 4
+  12,   2,  61,   0  ! Row 13, Column 4
+  13,   2,  62,   0  ! Row 14, Column 4
+  14,   2,  63,   0  ! Row 15, Column 4
+  15,   2,  64,   0  ! Row 16, Column 4
+
+SLOT=9
+   0,   2,  65,   0  ! Row 1, Column 5
+   1,   2,  66,   0  ! Row 2, Column 5
+   2,   2,  67,   0  ! Row 3, Column 5
+   3,   2,  68,   0  ! Row 4, Column 5
+   4,   2,  69,   0  ! Row 5, Column 5
+   5,   2,  70,   0  ! Row 6, Column 5
+   6,   2,  71,   0  ! Row 7, Column 5
+   7,   2,  72,   0  ! Row 8, Column 5
+   8,   2,  73,   0  ! Row 9, Column 5
+   9,   2,  74,   0  ! Row 10, Column 5
+  10,   2,  75,   0  ! Row 11, Column 5
+  11,   2,  76,   0  ! Row 12, Column 5
+  12,   2,  77,   0  ! Row 13, Column 5
+  13,   2,  78,   0  ! Row 14, Column 5
+  14,   2,  79,   0  ! Row 15, Column 5
+  15,   2,  80,   0  ! Row 16, Column 5
+
+SLOT=10
+   0,   2,  81,   0  ! Row 1, Column 6
+   1,   2,  82,   0  ! Row 2, Column 6
+   2,   2,  83,   0  ! Row 3, Column 6
+   3,   2,  84,   0  ! Row 4, Column 6
+   4,   2,  85,   0  ! Row 5, Column 6
+   5,   2,  86,   0  ! Row 6, Column 6
+   6,   2,  87,   0  ! Row 7, Column 6
+   7,   2,  88,   0  ! Row 8, Column 6
+   8,   2,  89,   0  ! Row 9, Column 6
+   9,   2,  90,   0  ! Row 10, Column 6
+  10,   2,  91,   0  ! Row 11, Column 6
+  11,   2,  92,   0  ! Row 12, Column 6
+  12,   2,  93,   0  ! Row 13, Column 6
+  13,   2,  94,   0  ! Row 14, Column 6
+  14,   2,  95,   0  ! Row 15, Column 6
+  15,   2,  96,   0  ! Row 16, Column 6
+
+SLOT=13
+   0,   2,  97,   0  ! Row 1, Column 7
+   1,   2,  98,   0  ! Row 2, Column 7
+   2,   2,  99,   0  ! Row 3, Column 7
+   3,   2, 100,   0  ! Row 4, Column 7
+   4,   2, 101,   0  ! Row 5, Column 7
+   5,   2, 102,   0  ! Row 6, Column 7
+   6,   2, 103,   0  ! Row 7, Column 7
+   7,   2, 104,   0  ! Row 8, Column 7
+   8,   2, 105,   0  ! Row 9, Column 7
+   9,   2, 106,   0  ! Row 10, Column 7
+  10,   2, 107,   0  ! Row 11, Column 7
+  11,   2, 108,   0  ! Row 12, Column 7
+  12,   2, 109,   0  ! Row 13, Column 7
+  13,   2, 110,   0  ! Row 14, Column 7
+  14,   2, 111,   0  ! Row 15, Column 7
+  15,   2, 112,   0  ! Row 16, Column 7
+
+SLOT=14
+   0,   2, 113,   0  ! Row 1, Column 8
+   1,   2, 114,   0  ! Row 2, Column 8
+   2,   2, 115,   0  ! Row 3, Column 8
+   3,   2, 116,   0  ! Row 4, Column 8
+   4,   2, 117,   0  ! Row 5, Column 8
+   5,   2, 118,   0  ! Row 6, Column 8
+   6,   2, 119,   0  ! Row 7, Column 8
+   7,   2, 120,   0  ! Row 8, Column 8
+   8,   2, 121,   0  ! Row 9, Column 8
+   9,   2, 122,   0  ! Row 10, Column 8
+  10,   2, 123,   0  ! Row 11, Column 8
+  11,   2, 124,   0  ! Row 12, Column 8
+  12,   2, 125,   0  ! Row 13, Column 8
+  13,   2, 126,   0  ! Row 14, Column 8
+  14,   2, 127,   0  ! Row 15, Column 8
+  15,   2, 128,   0  ! Row 16, Column 8
+
+SLOT=15
+   0,   2, 129,   0  ! Row 1, Column 9
+   1,   2, 130,   0  ! Row 2, Column 9
+   2,   2, 131,   0  ! Row 3, Column 9
+   3,   2, 132,   0  ! Row 4, Column 9
+   4,   2, 133,   0  ! Row 5, Column 9
+   5,   2, 134,   0  ! Row 6, Column 9
+   6,   2, 135,   0  ! Row 7, Column 9
+   7,   2, 136,   0  ! Row 8, Column 9
+   8,   2, 137,   0  ! Row 9, Column 9
+   9,   2, 138,   0  ! Row 10, Column 9
+  10,   2, 139,   0  ! Row 11, Column 9
+  11,   2, 140,   0  ! Row 12, Column 9
+  12,   2, 141,   0  ! Row 13, Column 9
+  13,   2, 142,   0  ! Row 14, Column 9
+  14,   2, 143,   0  ! Row 15, Column 9
+  15,   2, 144,   0  ! Row 16, Column 9
+
+SLOT=16
+   0,   2, 145,   0  ! Row 1, Column 10
+   1,   2, 146,   0  ! Row 2, Column 10
+   2,   2, 147,   0  ! Row 3, Column 10
+   3,   2, 148,   0  ! Row 4, Column 10
+   4,   2, 149,   0  ! Row 5, Column 10
+   5,   2, 150,   0  ! Row 6, Column 10
+   6,   2, 151,   0  ! Row 7, Column 10
+   7,   2, 152,   0  ! Row 8, Column 10
+   8,   2, 153,   0  ! Row 9, Column 10
+   9,   2, 154,   0  ! Row 10, Column 10
+  10,   2, 155,   0  ! Row 11, Column 10
+  11,   2, 156,   0  ! Row 12, Column 10
+  12,   2, 157,   0  ! Row 13, Column 10
+  13,   2, 158,   0  ! Row 14, Column 10
+  14,   2, 159,   0  ! Row 15, Column 10
+  15,   2, 160,   0  ! Row 16, Column 10
+
+SLOT=17
+   0,   2, 161,   0  ! Row 1, Column 11
+   1,   2, 162,   0  ! Row 2, Column 11
+   2,   2, 163,   0  ! Row 3, Column 11
+   3,   2, 164,   0  ! Row 4, Column 11
+   4,   2, 165,   0  ! Row 5, Column 11
+   5,   2, 166,   0  ! Row 6, Column 11
+   6,   2, 167,   0  ! Row 7, Column 11
+   7,   2, 168,   0  ! Row 8, Column 11
+   8,   2, 169,   0  ! Row 9, Column 11
+   9,   2, 170,   0  ! Row 10, Column 11
+  10,   2, 171,   0  ! Row 11, Column 11
+  11,   2, 172,   0  ! Row 12, Column 11
+  12,   2, 173,   0  ! Row 13, Column 11
+  13,   2, 174,   0  ! Row 14, Column 11
+  14,   2, 175,   0  ! Row 15, Column 11
+  15,   2, 176,   0  ! Row 16, Column 11
+
+SLOT=18
+   0,   2, 177,   0  ! Row 1, Column 12
+   1,   2, 178,   0  ! Row 2, Column 12
+   2,   2, 179,   0  ! Row 3, Column 12
+   3,   2, 180,   0  ! Row 4, Column 12
+   4,   2, 181,   0  ! Row 5, Column 12
+   5,   2, 182,   0  ! Row 6, Column 12
+   6,   2, 183,   0  ! Row 7, Column 12
+   7,   2, 184,   0  ! Row 8, Column 12
+   8,   2, 185,   0  ! Row 9, Column 12
+   9,   2, 186,   0  ! Row 10, Column 12
+  10,   2, 187,   0  ! Row 11, Column 12
+  11,   2, 188,   0  ! Row 12, Column 12
+  12,   2, 189,   0  ! Row 13, Column 12
+  13,   2, 190,   0  ! Row 14, Column 12
+  14,   2, 191,   0  ! Row 15, Column 12
+  15,   2, 192,   0  ! Row 16, Column 12
+
+SLOT=19
+   0,   2, 193,   0  ! Row 1, Column 13
+   1,   2, 194,   0  ! Row 2, Column 13
+   2,   2, 195,   0  ! Row 3, Column 13
+   3,   2, 196,   0  ! Row 4, Column 13
+   4,   2, 197,   0  ! Row 5, Column 13
+   5,   2, 198,   0  ! Row 6, Column 13
+   6,   2, 199,   0  ! Row 7, Column 13
+   7,   2, 200,   0  ! Row 8, Column 13
+   8,   2, 201,   0  ! Row 9, Column 13
+   9,   2, 202,   0  ! Row 10, Column 13
+  10,   2, 203,   0  ! Row 11, Column 13
+  11,   2, 204,   0  ! Row 12, Column 13
+  12,   2, 205,   0  ! Row 13, Column 13
+  13,   2, 206,   0  ! Row 14, Column 13
+  14,   2, 207,   0  ! Row 15, Column 13
+  15,   2, 208,   0  ! Row 16, Column 13
+
+SLOT=20
+   0,   2, 209,   0  ! Row 1, Column 14
+   1,   2, 210,   0  ! Row 2, Column 14
+   2,   2, 211,   0  ! Row 3, Column 14
+   3,   2, 212,   0  ! Row 4, Column 14
+   4,   2, 213,   0  ! Row 5, Column 14
+   5,   2, 214,   0  ! Row 6, Column 14
+   6,   2, 215,   0  ! Row 7, Column 14
+   7,   2, 216,   0  ! Row 8, Column 14
+   8,   2, 217,   0  ! Row 9, Column 14
+   9,   2, 218,   0  ! Row 10, Column 14
+  10,   2, 219,   0  ! Row 11, Column 14
+  11,   2, 220,   0  ! Row 12, Column 14
+  12,   2, 221,   0  ! Row 13, Column 14
+  13,   2, 222,   0  ! Row 14, Column 14
+  14,   2, 223,   0  ! Row 15, Column 14
+  15,   2, 224,   0  ! Row 16, Column 14
diff --git a/MAPS/db_cratemap.dat b/MAPS/db_cratemap.dat
index 054ca6d7..a8397b04 100644
--- a/MAPS/db_cratemap.dat
+++ b/MAPS/db_cratemap.dat
@@ -18,6 +18,7 @@
   19     250     250
   20     1190    1190
 
+
 ==== Crate 2 type vme Bank Decoding
 # slot  model   bank
   3      250     250
diff --git a/MAPS/make_cratemap.sh b/MAPS/make_cratemap.sh
index e6f96ca6..438d879b 100755
--- a/MAPS/make_cratemap.sh
+++ b/MAPS/make_cratemap.sh
@@ -31,7 +31,7 @@ function ask_proceed {
 	exit
     elif [[ $response = "yes" ]]; then
 	proceed
-    else 
+    else
 	echo; echo "Please respond by specifically typing yes or no"; echo; exit
     fi
 }
diff --git a/MAPS/merge_list.txt b/MAPS/merge_list.txt
index cf0279d5..8fe2023f 100644
--- a/MAPS/merge_list.txt
+++ b/MAPS/merge_list.txt
@@ -1,4 +1,8 @@
-haero.map
-hcal.map
+SHMS/DETEC/ptrig.map
+SHMS/DETEC/pdc.map
+SHMS/DETEC/phodo.map
+SHMS/DETEC/phgcer.map
+SHMS/DETEC/pngcer.map
+SHMS/DETEC/pcal.map
+SHMS/DETEC/paero.map
 
-#hhodo.map
diff --git a/MAPS/merge_maps.py b/MAPS/merge_maps.py
index 6f0fab76..2ab97438 100644
--- a/MAPS/merge_maps.py
+++ b/MAPS/merge_maps.py
@@ -51,9 +51,12 @@ class Slot:
     def __init__(self):
         self.ID = -1
         self.comment = ''
-        self.KWs = {kw: -1 for kw in slotKWs}
+        self.KWs = {}
         self.channels = []
 
+        for kw in slotKWs:
+            self.KWs[kw] = -1
+
     def __str__(self):
         string = 'SLOT={0.ID}'.format(self)
         if self.comment != '':
@@ -84,7 +87,7 @@ class Channel:
         return string
 
 
-if (sys.argv[1] == '-h' or len(sys.argv) != 3):
+if (len(sys.argv) != 3 or sys.argv[1] == '-h'):
     print('Call as:')
     print('  merge_maps.py merge_list.txt outfile.map')
     sys.exit()
@@ -134,7 +137,7 @@ for fileName in fileNames:
 
                 KW =  line[1:i].strip()
                 ID = line[i+4:].split()[0].strip()
-                signal = ','.join(line[i+4:].split()[1:])
+                signal = ','.join(line[i+4:].replace('::', '').split()[1:])
 
                 if KW in header['KWs']:
                     print('Detector keyword `{}` already present!'.format(KW))
@@ -233,8 +236,8 @@ with open(mergedName, 'w') as fo:
     for ID, KW, signals in sorted(zip(
         header['IDs'], header['KWs'], header['signals']
     )):
-        IDString = '{}_ID={}'.format(KW, ID)
-        fo.write('! {:15}  ::  {}\n'.format(IDString, signal))
+        IDString = '{0}_ID={1}'.format(KW, ID)
+        fo.write('! {0:15}  ::  {1}\n'.format(IDString, signals))
 
     # Write detector maps sorted by IDs.
     for ID, KW in sorted(zip(
@@ -242,16 +245,16 @@ with open(mergedName, 'w') as fo:
     )):
         for detector in detectors:
             if detector.ID == ID:
-                fo.write('\n\n{}\n'.format(detector))
+                fo.write('\n\n{0}\n'.format(detector))
 
                 for roc in detector.rocs:
-                    fo.write('\n{}\n'.format(roc))
+                    fo.write('\n{0}\n'.format(roc))
 
                     for slot in roc.slots:
-                        fo.write('\n{}'.format(slot))
+                        fo.write('\n{0}'.format(slot))
 
                         for channel in slot.channels:
-                            fo.write('{}\n'.format(channel))
+                            fo.write('{0}\n'.format(channel))
 
 
 print('\nDone.')
diff --git a/PARAM/HMS/CER/hcer.param b/PARAM/HMS/CER/hcer.param
index a23df2e8..14db2ac6 100644
--- a/PARAM/HMS/CER/hcer.param
+++ b/PARAM/HMS/CER/hcer.param
@@ -1,6 +1,6 @@
 hcer_width = 50, 50
 
-hcer_adc_to_npe = 1/145.0, 1/122.0
+hcer_adc_to_npe = 1/6353., 1/8116.
 
 
 hcer_chi2max = 50.
diff --git a/PARAM/HMS/DC/hdc.param b/PARAM/HMS/DC/hdc.param
deleted file mode 100644
index bfa88fd6..00000000
--- a/PARAM/HMS/DC/hdc.param
+++ /dev/null
@@ -1,33 +0,0 @@
-;---------------------------------------------------------------------
-; HMS_TRACKING
-; CTP parameter file containing all tracking parameters for the HMS
-;----------------------------------------------------------------------
-; sigma of wire chamber resolution for each plane
-      hdc_sigma = 0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-                  0.020
-  hdc_tdc_min_win = -25000,-25000,-25000,-25000,-25000,-25000
-  		    -25000,-25000,-25000,-25000,-25000,-25000
-  hdc_tdc_max_win = 25000,25000,25000,25000,25000,25000
-                    25000,25000,25000,25000,25000,25000
-; hms drift chamber tdc's time per channel
-        hdc_tdc_time_per_channel = -0.10
-; hms zero time for drift chambers	!DECREASING this number moves the hdtime plots to LOWER time.
-   hdc_plane_time_zero = -213.0,-213.0,-213.0,-213.0,-213.0,-213.0
-  		        -213.0,-213.0,-213.0,-213.0,-213.0,-213.0
-
-; Dave Abbott's wire velocity correction
-hdc_wire_velocity = 12.0
-hdc_central_time = 7,9,3,4,6,5
-                   7,5,3,4,6,6
-
-
diff --git a/PARAM/HMS/DC/hdc.pos b/PARAM/HMS/DC/hdc.pos
index fdbf2aed..597ab6a8 100644
--- a/PARAM/HMS/DC/hdc.pos
+++ b/PARAM/HMS/DC/hdc.pos
@@ -1,183 +1,94 @@
-; Number of planes installed in HMS detector setup
-      hdc_num_planes = 12
-; Number of chambers installed in HMS detector setup
-      hdc_num_chambers = 2
-; Names of each wire plane
-;
-; Z positions of various planes in HMS chambers
-; hdc_n_zpos is the surveyed Z position of the center of chamber n.
-      hdc_1_zpos = (-40.611-11.312+0.003)
-      hdc_2_zpos = (+40.611-11.312-0.008)
-      
-      hdc_zpos   = hdc_1_zpos - 3.6000
-                   hdc_1_zpos - 1.8000
-                   hdc_1_zpos - 0.0000
-                   hdc_1_zpos + 1.8000
-                   hdc_1_zpos + 3.6000
-                   hdc_1_zpos + 5.4000
-                   hdc_2_zpos - 3.6000
-                   hdc_2_zpos - 1.8000
-                   hdc_2_zpos - 0.0000
-                   hdc_2_zpos + 1.8000
-                   hdc_2_zpos + 3.6000
-                   hdc_2_zpos + 5.4000
-; Angle alpha of wires in wire chamber planes
-        hdc_alpha_angle =  (90. - 0.071)*raddeg
-                           (0.0 - 0.071)*raddeg
-                           (74.925 - 0.071)*raddeg
-                           (105.075 - 0.071)*raddeg
-                           (0.0 - 0.071)*raddeg
-                           (90.0 - 0.071)*raddeg
-                           (89.90814 - 0.153)*raddeg
-                           (0.01611 - 0.153)*raddeg
-                           (74.85 - 0.153)*raddeg
-                           (105.05 - 0.153)*raddeg
-                           (0.01611 - 0.153)*raddeg
-                           (89.90814 - 0.153)*raddeg
-;        hdc_alpha_angle = ( 90.1541 - 0.071)*raddeg
-;                          ( -0.0408 - 0.071)*raddeg
-;                          ( 75.1267 - 0.071)*raddeg
-;                          (105.1267 - 0.071)*raddeg
-;                          ( -0.0408 - 0.071)*raddeg
-;                          ( 90.1541 - 0.071)*raddeg
-;                          ( 90.1095 - 0.153)*raddeg
-;                          ( -0.0370 - 0.153)*raddeg
-;                          ( 75.0904 - 0.153)*raddeg
-;                          (105.0904 - 0.153)*raddeg
-;                          ( -0.0370 - 0.153)*raddeg
-;                          ( 90.1095 - 0.153)*raddeg
-;
-; Angle beta of wires in wire chamber planes
-      hdc_beta_angle =    -0.041*raddeg
-                          -0.041*raddeg
-                          -0.041*raddeg
-                          -0.041*raddeg
-                          -0.041*raddeg
-                          -0.041*raddeg
-                          +0.054*raddeg
-                          +0.054*raddeg
-                          +0.054*raddeg
-                          +0.054*raddeg
-                          +0.054*raddeg
-                          +0.054*raddeg
-; Angle gamma of wires in wire chamber planes
-      hdc_gamma_angle =   +0.0376*raddeg
-                          +0.0376*raddeg
-                          +0.0376*raddeg
-                          +0.0376*raddeg
-                          +0.0376*raddeg
-                          +0.0376*raddeg
-                          -0.145*raddeg
-                          -0.145*raddeg
-                          -0.145*raddeg
-                          -0.145*raddeg
-                          -0.145*raddeg
-                          -0.145*raddeg
-; Pitch
-      hdc_pitch = 1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-                  1.000252
-; Number of wires per plane
-      hdc_nrwire = 113
-                    52
-                   107
-                   107
-                    52
-                   113
-                   113
-                    52
-                   107
-                   107
-                    52
-                   113
-; X,Y position of center of wire chamber
-; increasing dc2 coordinates decreases dpos histograms.
-; new values according to henk and rolf
-      hdc_xcenter = (1.670 - 0.0155 - 0.020)
-                    (2.758 - 0.0155 + 0.040)
-;      hdc_xcenter = (1.670 - 0.0155)
-;                    (2.758 - 0.0155)
-;      hdc_xcenter = 1.670 + 0.15 + 0.0155
-;                    2.758 + 0.16 + 0.0155
-;  Y CENTER CHANGED TO MATCH OPTICS DATA(offset of 1.1 cm in y)
-; new values included according to henk and rolf
-      hdc_ycenter = (1.443 - 0.1699 - 0.0279 - 0.04)
-                    (2.753 - 0.1699 + 0.0279 + 0.04)
-;      hdc_ycenter = (1.443 - 0.1699 - 0.0279 - 0.035)
-;                    (2.753 - 0.1699 + 0.0279 + 0.035)
-;      hdc_ycenter = (1.443 - 0.1699 - 0.0279)
-;                    (2.753 - 0.1699 + 0.0279)
+; CHAMBER POSITION PARAMETERS
 
-;      hdc_ycenter = 0.343 + 1.1 - 0.12 + 0.1699 + 0.0279
-;                    1.653 + 1.1 - 0.22 + 0.1699 - 0.0279
-;      hdc_ycenter = 0.343  THESE ARE THE ORIGINAL Y CENTERS FROM SURVEY DATA
-;                    1.653
-;      hdc_xcenter = 0.0
-;                    1.22
-;      hdc_ycenter = 0.0
-;                    1.24
+; x, y and z position of center for each wire chamber in cm.
+; From SANE with correction from C1768 using 2007 controls.
+hdc_xcenter = 1.6345 - 0.37  ; TODO - final survey
+              2.7825 - 0.40
+hdc_ycenter = 1.2052 - 0.11  ; TODO - final survey
+              2.6510 - 0.06
+hdc_1_zpos = -51.920 - 0.44  ; TODO - final survey
+hdc_2_zpos =  29.291 - 1.76  ; TODO - final survey
 
-; Wire number of center of wire chamber
-; assume 1st wire of 1st dc of a set is closest to edge where counting starts
-       hdc_central_wire = 57.257, 26.240, 54.001, 53.999, 26.760 , 56.743
-                          57.244, 26.242, 53.998, 54.002, 26.758 , 56.756
+; Roll, pitch and yaw for each wire chamber in degrees.
+; From C1768 using 2007 controls.
+pdc_1_roll = 0.155  ; TODO - final survey
+pdc_2_roll = 0.186  ; TODO - final survey
+pdc_1_pitch = 0.080  ; TODO - final survey
+pdc_2_pitch = 0.077  ; TODO - final survey
+pdc_1_yaw = 0.324  ; TODO - final survey
+pdc_2_yaw = 0.118  ; TODO - final survey
 
-;       hdc_central_wire = 57.25, 26.245, 54.0, 54.0, 26.755 , 56.75
-;                          57.24, 26.245, 54.0, 54.0, 26.755 , 56.76
-;       hdc_central_wire = 57.25, 26.25, 54.0, 54.0, 26.75 , 56.75
-;                          57.24, 26.25, 54.0, 54.0, 26.75 , 56.76
-; hdc_chamber_planes    array giving the chamber number for each plane
-      hdc_chamber_planes = 1
-                           1
-                           1
-                           1
-                           1
-                           1
-                           2
-                           2
-                           2
-                           2
-                           2
-                           2
-; The hms readout numbers some planes in reverse order.
-; The following array is a flag on the order number.
-; If hdc_wire_counting(plane) = 0
-;  the wire center is at (wire - hdc_central_wire) * pitch
-; If hdc_wire_counting(plane) = 1
-;  the wire center is at ( hdc_nrwire + 1 - wire - hdc_central_wire) * pitch
-        hdc_wire_counting = 1
-                            1
-                            0
-                            1
-                            0
-                            0
-                            1
-                            1
-                            0
-                            1
-                            0
-                            0
-; The velocity correction is the distance from the center of the wire divided
-; by the velocity of propagation times hdc_drifttime_sign(pln).  +/-1
-; for disc. card at +/- coord. (i.e. top = -x direction, so top readout is +1)
-       hdc_drifttime_sign = -1
-                            -1
-                            -1
-                            -1
-                            -1
-                            -1
-                            -1
-                            -1
-                            -1
-                            -1
-                            -1
-                            -1
+
+; PLANE POSITION PARAMETERS
+
+; Wire number of center of wire chamber for each plane.
+; From SANE.
+hdc_central_wire = 57.257, 26.240, 54.001, 53.999, 26.760 , 56.743
+                   57.244, 26.242, 53.998, 54.002, 26.758 , 56.756
+
+; Distance between wires for each plane in cm.
+; From SANE.
+hdc_pitch = 1.000252, 1.000252, 1.000252, 1.000252, 1.000252, 1.000252
+            1.000252, 1.000252, 1.000252, 1.000252, 1.000252, 1.000252
+
+; Order in which wires are counted in each plane.
+hdc_wire_counting = 1, 1, 0, 1, 0, 0
+                    1, 1, 0, 1, 0, 0
+
+; z position in cm of each plane measured from focal plane.
+; From SANE.
+hdc_zpos = hdc_1_zpos - 3.6
+           hdc_1_zpos - 1.8
+           hdc_1_zpos - 0.0
+           hdc_1_zpos + 1.8
+           hdc_1_zpos + 3.6
+           hdc_1_zpos + 5.4
+           hdc_2_zpos - 3.6
+           hdc_2_zpos - 1.8
+           hdc_2_zpos - 0.0
+           hdc_2_zpos + 1.8
+           hdc_2_zpos + 3.6
+           hdc_2_zpos + 5.4
+
+; Alpha angle of wires for each plane in radians.
+; From SANE.
+hdc_alpha_angle = ( 90.00000 + pdc_1_roll)*raddeg
+                  (  0.00000 + pdc_1_roll)*raddeg
+                  ( 74.92500 + pdc_1_roll)*raddeg
+                  (105.07500 + pdc_1_roll)*raddeg
+                  (  0.00000 + pdc_1_roll)*raddeg
+                  ( 90.00000 + pdc_1_roll)*raddeg
+                  ( 89.90814 + pdc_2_roll)*raddeg
+                  (  0.01611 + pdc_2_roll)*raddeg
+                  ( 74.85000 + pdc_2_roll)*raddeg
+                  (105.05000 + pdc_2_roll)*raddeg
+                  (  0.01611 + pdc_2_roll)*raddeg
+                  ( 89.90814 + pdc_2_roll)*raddeg
+
+; Beta angle of wires for each plane in radians.
+hdc_beta_angle = pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+
+; Gamma angle of wires for each plane in radians
+hdc_gamma_angle = pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
diff --git a/PARAM/HMS/DC/hdc_offsets.param b/PARAM/HMS/DC/hdc_offsets.param
index a5561b27..759fed95 100644
--- a/PARAM/HMS/DC/hdc_offsets.param
+++ b/PARAM/HMS/DC/hdc_offsets.param
@@ -1,3 +1,5 @@
+; deprecated parameters
+
 ; cable id's for HMS Drift Chambers
 ; array is 113,12 (wires,planes) but most planes have less than 113 wires)
 
@@ -122,4 +124,3 @@ hdc_card_delay =  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                   0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                   0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                   0, 0
-
diff --git a/PARAM/HMS/DC/hdc_test_stand.param b/PARAM/HMS/DC/hdc_test_stand.param
index 73a7e92d..53fd4445 100644
--- a/PARAM/HMS/DC/hdc_test_stand.param
+++ b/PARAM/HMS/DC/hdc_test_stand.param
@@ -1,17 +1,17 @@
-; Custom parameter file which should loaded when aiming to
-; analyze HMS drift chamber data with no tracking.
+; TEST-STAND PARAMETERS
+; Custom parameter file which should be loaded when aiming to analyze HMS DC
+; data with no tracking.
 
+; Increase HMS TDC window size.
+hdc_tdc_min_win = -50000, -50000, -50000, -50000, -50000, -50000
+                  -50000, -50000, -50000, -50000, -50000, -50000
+hdc_tdc_max_win = 50000, 50000, 50000, 50000, 50000, 50000
+                  50000, 50000, 50000, 50000, 50000, 50000
 
-; Increase HMS TDC window size
-  hdc_tdc_min_win = -50000,-50000,-50000,-50000,-50000,-50000
-  		    -50000,-50000,-50000,-50000,-50000,-50000
-  hdc_tdc_max_win = 50000,50000,50000,50000,50000,50000
-                    50000,50000,50000,50000,50000,50000
-; Remove hodoscope dependence on tracking
-  hsel_using_scin  = 0
-;  hsel_using_prune = 0
-
-;  Adjust HMS DC plane t = 0
-;   hdc_plane_time_zero = 1500.0,1500.0,1500.0,1500.0,1500.0,1500.0
-;  	                 1500.0,1500.0,1500.0,1500.0,1500.0,1500.0
+; Remove hodoscope dependence on tracking.
+hsel_using_scin  = 0
+; hsel_using_prune = 0
 
+; Adjust HMS DC plane t = 0
+; hdc_plane_time_zero = 1500.0, 1500.0, 1500.0, 1500.0, 1500.0, 1500.0
+;                       1500.0, 1500.0, 1500.0, 1500.0, 1500.0, 1500.0
diff --git a/PARAM/HMS/DC/hdc_tracking.param b/PARAM/HMS/DC/hdc_tracking.param
new file mode 100644
index 00000000..9ca0e789
--- /dev/null
+++ b/PARAM/HMS/DC/hdc_tracking.param
@@ -0,0 +1,30 @@
+; TRACKING PARAMETERS
+
+; Sigma of wire chamber resolution for each plane.
+; From SANE.
+hdc_sigma = 0.020, 0.020, 0.020, 0.020, 0.020, 0.020
+            0.020, 0.020, 0.020, 0.020, 0.020, 0.020
+
+; TDC window limits for each plane.
+hdc_tdc_min_win = -14000, -14000, -14000, -14000, -14000, -14000
+                  -14000, -14000, -14000, -14000, -14000, -14000
+hdc_tdc_max_win = -6000, -6000, -6000, -6000, -6000, -6000
+                  -6000, -6000, -6000, -6000, -8000, -6000
+
+; Conversion factor from TDC clicks to ns.
+hdc_tdc_time_per_channel = -0.10
+
+; Zero time correction for each plane in ns that is added to TDC time.
+; From SANE.
+hdc_plane_time_zero = 1297.19, 1299.88, 1309.39, 1305.01, 1299.32, 1306.23
+                      1313.72, 1310.78, 1315.82, 1316.98, 1308.16, 1316.16
+
+; For wire velocity corrections.
+; From SANE.
+hdc_wire_velocity = 12.0
+hdc_central_time = 7, 9, 3, 4, 6, 5
+                   7, 5, 3, 4, 6, 6
+hdc_drifttime_sign = -1, -1, -1, -1, -1, -1
+                     -1, -1, -1, -1, -1, -1
+hdc_fix_lr = 0
+hdc_fix_propcorr = 0
diff --git a/PARAM/HMS/DC/hdeadwires.param b/PARAM/HMS/DC/hdeadwires.param
index 9d8b527e..fc20ebfa 100644
--- a/PARAM/HMS/DC/hdeadwires.param
+++ b/PARAM/HMS/DC/hdeadwires.param
@@ -1,3 +1,5 @@
+; deprecated parameters
+
 ; list of dead wires in the HMS (plane,wire).  Dead means <20% efficiency.
 hdc_num_deadwires = 6
 
diff --git a/PARAM/HMS/DC/hdriftmap.param b/PARAM/HMS/DC/hdriftmap.param
index 6da2063b..76b2da46 100644
--- a/PARAM/HMS/DC/hdriftmap.param
+++ b/PARAM/HMS/DC/hdriftmap.param
@@ -1,175 +1,190 @@
-; Lookup table
-;number of bins in Meek's time to distance lookup table
-hdriftbins=138
-;number of 1st bin in Meek's table in ns
-hdrift1stbin=-24
-;bin size in ns of Meek's table
+; Contains lookup tables for drift time.
+
+; Number of bins in table.
+hdriftbins = 138
+
+; Time of first bin in ns.
+hdrift1stbin = 0
+
+; Bin size in ns.
 hdriftbinsz=2
-hwc1x1fract=0.0000,0.0001,0.0001,0.0002,0.0003,0.0004,0.0004,0.0005
-0.0007,0.0008,0.0010,0.0012,0.0015,0.0020,0.0028,0.0041,0.0060,0.0086
-0.0121,0.0167,0.0230,0.0311,0.0412,0.0529,0.0658,0.0800,0.0951,0.1114
-0.1284,0.1462,0.1645,0.1838,0.2036,0.2241,0.2451,0.2667,0.2884,0.3099
-0.3319,0.3541,0.3764,0.3989,0.4213,0.4438,0.4662,0.4888,0.5113,0.5334
-0.5555,0.5777,0.5996,0.6208,0.6419,0.6628,0.6838,0.7045,0.7245,0.7446
-0.7639,0.7826,0.8007,0.8181,0.8346,0.8500,0.8646,0.8784,0.8910,0.9029
-0.9134,0.9234,0.9324,0.9405,0.9479,0.9547,0.9608,0.9663,0.9712,0.9756
-0.9795,0.9827,0.9854,0.9878,0.9897,0.9912,0.9925,0.9936,0.9945,0.9952
-0.9957,0.9963,0.9967,0.9971,0.9974,0.9977,0.9979,0.9981,0.9983,0.9984
-0.9986,0.9987,0.9989,0.9990,0.9991,0.9992,0.9992,0.9993,0.9994,0.9995
-0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998
-0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc1y1fract=0.0000,0.0001,0.0001,0.0002,0.0002,0.0003,0.0004,0.0005
-0.0005,0.0006,0.0008,0.0009,0.0011,0.0014,0.0019,0.0025,0.0034,0.0048
-0.0071,0.0109,0.0172,0.0263,0.0385,0.0530,0.0697,0.0879,0.1078,0.1289
-0.1506,0.1727,0.1951,0.2180,0.2406,0.2634,0.2863,0.3092,0.3320,0.3544
-0.3769,0.3986,0.4206,0.4421,0.4634,0.4851,0.5059,0.5269,0.5479,0.5685
-0.5889,0.6096,0.6299,0.6503,0.6704,0.6900,0.7097,0.7289,0.7478,0.7663
-0.7846,0.8022,0.8192,0.8357,0.8517,0.8663,0.8803,0.8931,0.9046,0.9149
-0.9246,0.9328,0.9403,0.9471,0.9529,0.9582,0.9630,0.9672,0.9710,0.9745
-0.9777,0.9802,0.9825,0.9845,0.9864,0.9880,0.9894,0.9906,0.9916,0.9924
-0.9933,0.9940,0.9946,0.9951,0.9957,0.9961,0.9965,0.9969,0.9972,0.9975
-0.9978,0.9980,0.9982,0.9984,0.9986,0.9987,0.9989,0.9990,0.9991,0.9992
-0.9993,0.9994,0.9995,0.9995,0.9996,0.9997,0.9997,0.9998,0.9998,0.9998
-0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc1u1fract=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0001
-0.0001,0.0001,0.0002,0.0002,0.0003,0.0006,0.0013,0.0025,0.0043,0.0071
-0.0108,0.0160,0.0239,0.0345,0.0472,0.0618,0.0783,0.0958,0.1143,0.1339
-0.1539,0.1743,0.1957,0.2175,0.2394,0.2614,0.2839,0.3061,0.3280,0.3503
-0.3724,0.3944,0.4163,0.4382,0.4595,0.4808,0.5023,0.5232,0.5442,0.5652
-0.5861,0.6064,0.6270,0.6474,0.6676,0.6880,0.7077,0.7272,0.7464,0.7654
-0.7838,0.8016,0.8187,0.8350,0.8502,0.8644,0.8778,0.8901,0.9014,0.9119
-0.9214,0.9297,0.9374,0.9441,0.9504,0.9559,0.9608,0.9653,0.9693,0.9730
-0.9764,0.9793,0.9818,0.9841,0.9861,0.9877,0.9891,0.9903,0.9914,0.9923
-0.9930,0.9936,0.9942,0.9948,0.9952,0.9957,0.9961,0.9965,0.9968,0.9971
-0.9975,0.9977,0.9979,0.9981,0.9983,0.9985,0.9987,0.9988,0.9990,0.9991
-0.9992,0.9993,0.9994,0.9994,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997
-0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999
-0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc1v1fract=0.0000,0.0000,0.0000,0.0000,0.0001,0.0001,0.0001,0.0001
-0.0002,0.0002,0.0003,0.0003,0.0004,0.0005,0.0006,0.0009,0.0014,0.0025
-0.0046,0.0087,0.0152,0.0250,0.0373,0.0519,0.0688,0.0872,0.1066,0.1271
-0.1481,0.1695,0.1911,0.2126,0.2344,0.2566,0.2792,0.3017,0.3238,0.3460
-0.3680,0.3900,0.4117,0.4334,0.4545,0.4761,0.4973,0.5184,0.5390,0.5597
-0.5801,0.6006,0.6215,0.6418,0.6621,0.6822,0.7018,0.7213,0.7403,0.7590
-0.7775,0.7958,0.8132,0.8303,0.8465,0.8616,0.8758,0.8885,0.9002,0.9109
-0.9205,0.9291,0.9368,0.9437,0.9498,0.9554,0.9602,0.9650,0.9691,0.9728
-0.9761,0.9791,0.9817,0.9839,0.9859,0.9875,0.9890,0.9901,0.9912,0.9921
-0.9929,0.9936,0.9942,0.9947,0.9952,0.9956,0.9960,0.9964,0.9967,0.9971
-0.9973,0.9976,0.9978,0.9981,0.9982,0.9984,0.9986,0.9988,0.9989,0.9990
-0.9991,0.9992,0.9993,0.9994,0.9995,0.9995,0.9996,0.9997,0.9997,0.9997
-0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc1y2fract=0.0000,0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0002
-0.0003,0.0003,0.0004,0.0005,0.0007,0.0009,0.0012,0.0016,0.0026,0.0043
-0.0073,0.0121,0.0198,0.0299,0.0427,0.0578,0.0749,0.0937,0.1139,0.1347
-0.1561,0.1781,0.2003,0.2230,0.2455,0.2679,0.2901,0.3122,0.3344,0.3568
-0.3789,0.4010,0.4232,0.4450,0.4663,0.4873,0.5085,0.5298,0.5506,0.5714
-0.5921,0.6128,0.6332,0.6529,0.6729,0.6925,0.7119,0.7314,0.7501,0.7685
-0.7863,0.8038,0.8209,0.8371,0.8523,0.8667,0.8800,0.8925,0.9039,0.9140
-0.9230,0.9312,0.9388,0.9456,0.9516,0.9569,0.9617,0.9660,0.9697,0.9732
-0.9763,0.9789,0.9814,0.9835,0.9853,0.9870,0.9884,0.9895,0.9906,0.9915
-0.9923,0.9931,0.9938,0.9944,0.9949,0.9954,0.9959,0.9963,0.9966,0.9970
-0.9973,0.9975,0.9977,0.9980,0.9982,0.9984,0.9986,0.9987,0.9989,0.9990
-0.9992,0.9993,0.9994,0.9995,0.9995,0.9996,0.9997,0.9997,0.9998,0.9998
-0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc1x2fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0002,0.0003
-0.0003,0.0004,0.0005,0.0006,0.0007,0.0009,0.0012,0.0018,0.0029,0.0048
-0.0076,0.0120,0.0183,0.0265,0.0369,0.0489,0.0625,0.0771,0.0930,0.1097
-0.1272,0.1458,0.1650,0.1846,0.2051,0.2256,0.2469,0.2688,0.2909,0.3128
-0.3351,0.3573,0.3798,0.4024,0.4247,0.4470,0.4691,0.4913,0.5136,0.5353
-0.5571,0.5792,0.6009,0.6223,0.6434,0.6643,0.6853,0.7060,0.7262,0.7460
-0.7651,0.7841,0.8026,0.8201,0.8363,0.8521,0.8665,0.8803,0.8930,0.9044
-0.9151,0.9247,0.9337,0.9419,0.9492,0.9558,0.9617,0.9671,0.9718,0.9761
-0.9797,0.9828,0.9854,0.9876,0.9895,0.9910,0.9923,0.9933,0.9941,0.9949
-0.9955,0.9959,0.9964,0.9967,0.9971,0.9973,0.9976,0.9978,0.9980,0.9983
-0.9984,0.9986,0.9987,0.9988,0.9990,0.9991,0.9992,0.9993,0.9993,0.9994
-0.9994,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9998,0.9998
-0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc2x1fract=0.0000,0.0001,0.0002,0.0002,0.0003,0.0003,0.0004,0.0005
-0.0006,0.0007,0.0008,0.0010,0.0012,0.0014,0.0017,0.0022,0.0030,0.0044
-0.0069,0.0107,0.0160,0.0233,0.0321,0.0431,0.0554,0.0692,0.0839,0.1000
-0.1171,0.1348,0.1536,0.1728,0.1927,0.2131,0.2343,0.2559,0.2775,0.2991
-0.3213,0.3438,0.3664,0.3889,0.4113,0.4338,0.4566,0.4789,0.5017,0.5242
-0.5464,0.5681,0.5901,0.6114,0.6331,0.6551,0.6761,0.6973,0.7178,0.7382
-0.7584,0.7776,0.7963,0.8145,0.8318,0.8481,0.8634,0.8775,0.8905,0.9025
-0.9135,0.9234,0.9326,0.9407,0.9478,0.9544,0.9606,0.9659,0.9708,0.9750
-0.9787,0.9819,0.9846,0.9870,0.9890,0.9906,0.9919,0.9930,0.9939,0.9947
-0.9953,0.9959,0.9964,0.9968,0.9971,0.9975,0.9977,0.9979,0.9982,0.9983
-0.9985,0.9986,0.9987,0.9989,0.9990,0.9991,0.9992,0.9993,0.9993,0.9994
-0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998
-0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc2y1fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0001,0.0001,0.0002
-0.0002,0.0003,0.0003,0.0004,0.0005,0.0006,0.0008,0.0011,0.0017,0.0027
-0.0047,0.0083,0.0142,0.0233,0.0356,0.0507,0.0682,0.0876,0.1083,0.1304
-0.1533,0.1769,0.2002,0.2235,0.2469,0.2702,0.2935,0.3167,0.3394,0.3618
-0.3847,0.4074,0.4295,0.4515,0.4733,0.4946,0.5158,0.5368,0.5576,0.5783
-0.5991,0.6201,0.6404,0.6610,0.6811,0.7011,0.7206,0.7397,0.7587,0.7775
-0.7958,0.8131,0.8303,0.8467,0.8624,0.8770,0.8904,0.9028,0.9140,0.9238
-0.9326,0.9404,0.9473,0.9535,0.9591,0.9639,0.9681,0.9719,0.9752,0.9782
-0.9808,0.9831,0.9850,0.9867,0.9881,0.9894,0.9905,0.9916,0.9924,0.9932
-0.9938,0.9944,0.9950,0.9955,0.9959,0.9962,0.9965,0.9969,0.9971,0.9974
-0.9976,0.9978,0.9980,0.9983,0.9984,0.9986,0.9987,0.9988,0.9990,0.9991
-0.9992,0.9993,0.9994,0.9995,0.9995,0.9996,0.9997,0.9997,0.9998,0.9998
-0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc2u1fract=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0001
-0.0001,0.0001,0.0001,0.0002,0.0002,0.0002,0.0003,0.0004,0.0006,0.0012
-0.0024,0.0052,0.0107,0.0196,0.0320,0.0474,0.0652,0.0852,0.1066,0.1288
-0.1509,0.1737,0.1965,0.2199,0.2431,0.2663,0.2895,0.3123,0.3350,0.3577
-0.3800,0.4019,0.4240,0.4457,0.4668,0.4882,0.5093,0.5302,0.5510,0.5716
-0.5920,0.6121,0.6323,0.6525,0.6723,0.6919,0.7113,0.7306,0.7497,0.7685
-0.7869,0.8046,0.8222,0.8393,0.8555,0.8704,0.8844,0.8973,0.9087,0.9193
-0.9283,0.9363,0.9435,0.9498,0.9553,0.9602,0.9646,0.9686,0.9721,0.9752
-0.9779,0.9804,0.9827,0.9846,0.9863,0.9878,0.9891,0.9902,0.9912,0.9920
-0.9927,0.9933,0.9939,0.9944,0.9949,0.9952,0.9956,0.9959,0.9963,0.9966
-0.9969,0.9972,0.9974,0.9977,0.9979,0.9981,0.9983,0.9984,0.9986,0.9988
-0.9989,0.9990,0.9991,0.9993,0.9994,0.9995,0.9995,0.9996,0.9996,0.9997
-0.9997,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999
-0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc2v1fract=0.0000,0.0000,0.0000,0.0000,0.0001,0.0001,0.0001,0.0001
-0.0001,0.0002,0.0002,0.0003,0.0003,0.0004,0.0006,0.0008,0.0012,0.0020
-0.0038,0.0077,0.0148,0.0252,0.0386,0.0549,0.0738,0.0941,0.1152,0.1374
-0.1601,0.1827,0.2055,0.2288,0.2519,0.2750,0.2981,0.3207,0.3434,0.3662
-0.3881,0.4102,0.4315,0.4530,0.4746,0.4960,0.5171,0.5381,0.5585,0.5791
-0.5993,0.6196,0.6395,0.6594,0.6790,0.6989,0.7177,0.7370,0.7558,0.7744
-0.7926,0.8108,0.8278,0.8440,0.8595,0.8745,0.8879,0.9005,0.9115,0.9218
-0.9307,0.9385,0.9454,0.9514,0.9566,0.9614,0.9657,0.9695,0.9730,0.9760
-0.9789,0.9813,0.9834,0.9853,0.9869,0.9883,0.9895,0.9906,0.9915,0.9922
-0.9929,0.9936,0.9941,0.9947,0.9952,0.9955,0.9959,0.9963,0.9967,0.9970
-0.9973,0.9976,0.9978,0.9980,0.9982,0.9984,0.9986,0.9987,0.9989,0.9991
-0.9992,0.9993,0.9994,0.9995,0.9996,0.9996,0.9997,0.9997,0.9998,0.9998
-0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc2y2fract=0.0000,0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0002
-0.0002,0.0003,0.0004,0.0005,0.0006,0.0007,0.0010,0.0014,0.0022,0.0035
-0.0058,0.0097,0.0163,0.0258,0.0382,0.0539,0.0715,0.0912,0.1122,0.1341
-0.1573,0.1803,0.2038,0.2275,0.2514,0.2749,0.2984,0.3215,0.3442,0.3667
-0.3893,0.4112,0.4332,0.4549,0.4767,0.4985,0.5191,0.5403,0.5612,0.5817
-0.6025,0.6231,0.6436,0.6642,0.6839,0.7036,0.7235,0.7427,0.7617,0.7803
-0.7984,0.8159,0.8328,0.8491,0.8645,0.8788,0.8919,0.9043,0.9152,0.9250
-0.9337,0.9414,0.9482,0.9541,0.9595,0.9641,0.9683,0.9721,0.9753,0.9782
-0.9807,0.9829,0.9849,0.9866,0.9881,0.9894,0.9905,0.9914,0.9922,0.9929
-0.9936,0.9942,0.9948,0.9952,0.9956,0.9960,0.9964,0.9967,0.9970,0.9972
-0.9975,0.9977,0.9979,0.9981,0.9983,0.9985,0.9987,0.9988,0.9989,0.9990
-0.9991,0.9993,0.9994,0.9994,0.9995,0.9996,0.9996,0.9997,0.9997,0.9998
-0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-hwc2x2fract=0.0000,0.0001,0.0001,0.0001,0.0002,0.0002,0.0003,0.0003
-0.0004,0.0005,0.0006,0.0007,0.0009,0.0012,0.0016,0.0023,0.0039,0.0064
-0.0100,0.0151,0.0223,0.0316,0.0430,0.0561,0.0707,0.0864,0.1032,0.1212
-0.1397,0.1592,0.1791,0.1996,0.2206,0.2422,0.2638,0.2856,0.3081,0.3308
-0.3534,0.3759,0.3990,0.4214,0.4438,0.4662,0.4885,0.5107,0.5324,0.5543
-0.5762,0.5979,0.6196,0.6411,0.6621,0.6828,0.7033,0.7238,0.7438,0.7632
-0.7824,0.8007,0.8182,0.8352,0.8514,0.8666,0.8806,0.8934,0.9052,0.9160
-0.9256,0.9346,0.9426,0.9498,0.9561,0.9617,0.9670,0.9715,0.9755,0.9790
-0.9820,0.9846,0.9869,0.9888,0.9904,0.9917,0.9929,0.9938,0.9946,0.9952
-0.9958,0.9962,0.9966,0.9970,0.9973,0.9976,0.9978,0.9981,0.9982,0.9984
-0.9986,0.9987,0.9989,0.9990,0.9991,0.9992,0.9993,0.9994,0.9994,0.9995
-0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998
-0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000
-1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
+
+hwc1x1fract=0.010023,0.02089,0.03447,0.04935,0.06575,0.08402,0.10200,0.12423,0.14634
+0.16998,0.19415,0.21953,0.24499,0.27093,0.29692,0.32473,0.35047,0.37690,0.40394
+0.42992,0.45336,0.47963,0.50230,0.52635,0.54813,0.56996,0.59016,0.61065,0.62920
+0.64844,0.66679,0.68574,0.70162,0.71678,0.73165,0.74483,0.75784,0.77005,0.78160
+0.79268,0.80387,0.81305,0.82177,0.83115,0.83968,0.84812,0.85552,0.86292,0.87007
+0.87706,0.88434,0.89113,0.89715,0.90252,0.90753,0.91275,0.91836,0.92350,0.92778
+0.93198,0.93518,0.93829,0.94140,0.94520,0.94795,0.95106,0.95356,0.95567,0.95854
+0.96048,0.96213,0.96399,0.96629,0.96803,0.96941,0.97074,0.97244,0.97389,0.97466
+0.97571,0.97676,0.97749,0.97846,0.97935,0.98020,0.98072,0.98157,0.98202,0.98270
+0.98359,0.98436,0.98493,0.98529,0.98590,0.98687,0.98719,0.98751,0.98788,0.98816
+0.98917,0.99026,0.99091,0.99143,0.99176,0.99208,0.99244,0.99301,0.99333,0.99366
+0.99402,0.99454,0.99503,0.99527,0.99531,0.99568,0.99584,0.99628,0.99652,0.99677
+0.99701,0.99725,0.99737,0.99762,0.99790,0.99822,0.99838,0.99855,0.99867,0.99891
+0.99907,0.99923,0.99931,0.99947,0.99956,0.99960,0.99968,0.99980,1.00000
+
+hwc1y1fract=0.00162,0.00410,0.00874,0.01608,0.02777,0.04416,0.06347,0.08629,0.11324
+0.14260,0.17061,0.20166,0.23171,0.26391,0.29387,0.32348,0.35131,0.37870,0.40658
+0.43190,0.45648,0.48171,0.50458,0.52625,0.54752,0.56734,0.58701,0.60511,0.62250
+0.63875,0.65587,0.67149,0.68714,0.70098,0.71436,0.72782,0.74135,0.75419,0.76638
+0.77834,0.78985,0.80100,0.81165,0.82198,0.83167,0.84023,0.84957,0.85800,0.86578
+0.87321,0.88071,0.88743,0.89357,0.89954,0.90462,0.90961,0.91417,0.91794,0.92182
+0.92513,0.92877,0.93207,0.93566,0.93877,0.94216,0.94562,0.94850,0.95137,0.95474
+0.95775,0.96064,0.96376,0.96602,0.96842,0.97090,0.97299,0.97496,0.97645,0.97813
+0.97933,0.98064,0.98204,0.98341,0.98401,0.98488,0.98558,0.98621,0.98685,0.98751
+0.98802,0.98878,0.98922,0.98967,0.99009,0.99049,0.99106,0.99173,0.99222,0.99286
+0.99352,0.99381,0.99430,0.99461,0.99477,0.99499,0.99517,0.99523,0.99528,0.99548
+0.99583,0.99607,0.99663,0.99718,0.99747,0.99763,0.99776,0.99800,0.99820,0.99829
+0.99836,0.99871,0.99887,0.99894,0.99907,0.99916,0.99931,0.99936,0.99942,0.99949
+0.99949,0.99962,0.99962,0.99965,0.99971,0.99978,0.99987,0.99991,1.00000
+
+hwc1u1fract=0.00398,0.00892,0.01588,0.02362,0.03275,0.04395,0.05640,0.07043,0.08642
+0.10347,0.12247,0.14388,0.16656,0.18915,0.21351,0.23952,0.26565,0.29077,0.31672
+0.34270,0.36939,0.39584,0.42072,0.44496,0.47035,0.49415,0.51666,0.53922,0.55969
+0.58013,0.60069,0.61901,0.63677,0.65447,0.66982,0.68619,0.70148,0.71571,0.72926
+0.74260,0.75541,0.76681,0.77786,0.78993,0.80021,0.81073,0.82012,0.82911,0.83812
+0.84551,0.85332,0.86080,0.86793,0.87429,0.88118,0.88687,0.89226,0.89759,0.90209
+0.90701,0.91137,0.91670,0.92180,0.92580,0.92990,0.93390,0.93803,0.94165,0.94513
+0.94787,0.95158,0.95499,0.95741,0.95985,0.96233,0.96463,0.96707,0.96931,0.97090
+0.97273,0.97440,0.97599,0.97747,0.97882,0.97985,0.98103,0.98221,0.98303,0.98389
+0.98465,0.98577,0.98642,0.98736,0.98781,0.98819,0.98866,0.98940,0.98990,0.99063
+0.99116,0.99158,0.99211,0.99234,0.99261,0.99305,0.99346,0.99373,0.99390,0.99423
+0.99443,0.99455,0.99473,0.99485,0.99508,0.99526,0.99576,0.99608,0.99655,0.99697
+0.99735,0.99756,0.99773,0.99782,0.99800,0.99835,0.99853,0.99873,0.99888,0.99903
+0.99906,0.99909,0.99912,0.99915,0.99935,0.99953,0.99973,0.99988,1.00000
+
+hwc1v1fract=0.00580,0.01330,0.02203,0.03243,0.04381,0.05702,0.07421,0.09286,0.11261
+0.13579,0.16045,0.18710,0.21364,0.24161,0.27088,0.30018,0.32624,0.35515,0.38228
+0.40902,0.43640,0.46161,0.48598,0.50878,0.53129,0.55264,0.57352,0.59338,0.61242
+0.63096,0.64823,0.66457,0.68041,0.69542,0.70880,0.72317,0.73596,0.74839,0.76118
+0.77281,0.78341,0.79296,0.80242,0.81290,0.82220,0.83093,0.83863,0.84603,0.85294
+0.85970,0.86660,0.87204,0.87795,0.88356,0.88967,0.89455,0.89942,0.90432,0.90858
+0.91280,0.91664,0.92005,0.92365,0.92683,0.93022,0.93348,0.93695,0.94022,0.94346
+0.94627,0.94926,0.95197,0.95433,0.95625,0.95859,0.96087,0.96278,0.96447,0.96642
+0.96833,0.96997,0.97169,0.97304,0.97453,0.97546,0.97664,0.97749,0.97856,0.97943
+0.98019,0.98138,0.98231,0.98332,0.98400,0.98473,0.98527,0.98572,0.98636,0.98684
+0.98766,0.98825,0.98879,0.98929,0.98972,0.99014,0.99025,0.99065,0.99098,0.99129
+0.99180,0.99217,0.99256,0.99273,0.99307,0.99355,0.99380,0.99414,0.99445,0.99459
+0.99501,0.99524,0.99563,0.99577,0.99594,0.99617,0.99648,0.99665,0.99696,0.99715
+0.99732,0.99755,0.99777,0.99828,0.99870,0.99899,0.99935,0.99961,1.00000
+
+hwc1y2fract=0.00133,0.00393,0.00838,0.01486,0.02499,0.03933,0.05745,0.08036,0.10760
+0.13765,0.16835,0.20049,0.23275,0.26415,0.29454,0.32368,0.35300,0.38126,0.40584
+0.43187,0.45559,0.48100,0.50321,0.52668,0.54773,0.56822,0.58772,0.60622,0.62490
+0.64176,0.65784,0.67377,0.68768,0.70234,0.71524,0.72963,0.74249,0.75433,0.76655
+0.77793,0.78810,0.79967,0.81040,0.81961,0.82924,0.83836,0.84769,0.85542,0.86312
+0.87130,0.87810,0.88472,0.89041,0.89579,0.90089,0.90530,0.90948,0.91379,0.91800
+0.92204,0.92606,0.92979,0.93365,0.93736,0.94117,0.94445,0.94829,0.95150,0.95489
+0.95823,0.96139,0.96444,0.96684,0.96943,0.97149,0.97352,0.97578,0.97759,0.97956
+0.98136,0.98272,0.98405,0.98507,0.98581,0.98658,0.98724,0.98803,0.98830,0.98898
+0.98963,0.99015,0.99060,0.99094,0.99148,0.99182,0.99236,0.99311,0.99354,0.99406
+0.99449,0.99478,0.99517,0.99535,0.99564,0.99580,0.99616,0.99634,0.99659,0.99675
+0.99697,0.99715,0.99724,0.99742,0.99747,0.99756,0.99776,0.99794,0.99815,0.99824
+0.99835,0.99844,0.99849,0.99867,0.99887,0.99905,0.99921,0.99934,0.99937,0.99944
+0.99959,0.99971,0.99973,0.99982,0.99982,0.99989,0.99989,0.99993,1.00000
+
+hwc1x2fract=0.00841,0.01726,0.02881,0.04040,0.05336,0.06825,0.08367,0.10129,0.12053
+0.14234,0.16343,0.18757,0.21164,0.23530,0.26214,0.28874,0.31559,0.34235,0.36887
+0.39386,0.41990,0.44565,0.47161,0.49406,0.51773,0.54067,0.56264,0.58417,0.60578
+0.62397,0.64272,0.66180,0.67995,0.69625,0.71319,0.72828,0.74353,0.75794,0.77170
+0.78462,0.79689,0.80856,0.81838,0.82836,0.83863,0.84740,0.85512,0.86289,0.86961
+0.87686,0.88342,0.88921,0.89509,0.89996,0.90571,0.91034,0.91589,0.92100,0.92519
+0.92901,0.93279,0.93625,0.93976,0.94269,0.94555,0.94801,0.95086,0.95255,0.95489
+0.95686,0.95851,0.96080,0.96306,0.96551,0.96708,0.96881,0.97058,0.97183,0.97364
+0.97497,0.97642,0.97767,0.97871,0.97980,0.98060,0.98125,0.98217,0.98330,0.98418
+0.98479,0.98555,0.98624,0.98684,0.98736,0.98801,0.98841,0.98881,0.98905,0.98934
+0.98966,0.98998,0.99042,0.99086,0.99123,0.99171,0.99215,0.99260,0.99304,0.99320
+0.99344,0.99364,0.99372,0.99388,0.99408,0.99433,0.99441,0.99457,0.99497,0.99533
+0.99545,0.99561,0.99585,0.99618,0.99634,0.99658,0.99690,0.99722,0.99759,0.99779
+0.99827,0.99839,0.99851,0.99875,0.99891,0.99907,0.99928,0.99936,1.00000
+
+hwc2x1fract=0.00489,0.01088,0.01743,0.02515,0.03469,0.04551,0.05803,0.07238,0.08804
+0.10482,0.12312,0.14230,0.16288,0.18402,0.20636,0.22862,0.25139,0.27465,0.29794
+0.32047,0.34303,0.36674,0.38892,0.41062,0.43218,0.45276,0.47297,0.49268,0.51171
+0.53078,0.54890,0.56641,0.58346,0.60024,0.61612,0.63105,0.64642,0.66105,0.67572
+0.68937,0.70297,0.71572,0.72826,0.74060,0.75229,0.76376,0.77455,0.78465,0.79466
+0.80490,0.81415,0.82324,0.83128,0.83896,0.84689,0.85404,0.86116,0.86806,0.87427
+0.88051,0.88590,0.89172,0.89708,0.90202,0.90726,0.91166,0.91587,0.92056,0.92494
+0.92916,0.93336,0.93726,0.94074,0.94426,0.94757,0.95091,0.95388,0.95674,0.95971
+0.96235,0.96474,0.96697,0.96907,0.97083,0.97260,0.97442,0.97593,0.97739,0.97885
+0.98012,0.98125,0.98223,0.98310,0.98410,0.98493,0.98575,0.98646,0.98696,0.98754
+0.98841,0.98916,0.98968,0.99022,0.99088,0.99141,0.99191,0.99238,0.99290,0.99325
+0.99366,0.99404,0.99429,0.99464,0.99489,0.99521,0.99543,0.99571,0.99591,0.99620
+0.99650,0.99678,0.99699,0.99718,0.99743,0.99756,0.99776,0.99795,0.99809,0.99834
+0.99851,0.99872,0.99889,0.99902,0.99921,0.99934,0.99957,0.99979,1.00000
+
+hwc2y1fract=0.00221,0.00495,0.00877,0.01359,0.01918,0.02666,0.03473,0.04453,0.05562
+0.06888,0.08430,0.10080,0.11868,0.13789,0.15831,0.17942,0.20056,0.22237,0.24468
+0.26619,0.28820,0.31000,0.33257,0.35403,0.37524,0.39523,0.41537,0.43443,0.45304
+0.47131,0.48902,0.50591,0.52232,0.53901,0.55511,0.57012,0.58441,0.59808,0.61189
+0.62548,0.63822,0.65113,0.66312,0.67418,0.68568,0.69683,0.70825,0.71871,0.72914
+0.73905,0.74884,0.75813,0.76768,0.77716,0.78611,0.79438,0.80331,0.81189,0.82009
+0.82850,0.83629,0.84389,0.85158,0.85900,0.86678,0.87377,0.88068,0.88771,0.89401
+0.90018,0.90600,0.91200,0.91741,0.92284,0.92790,0.93250,0.93698,0.94118,0.94546
+0.94904,0.95186,0.95503,0.95770,0.96039,0.96265,0.96469,0.96642,0.96838,0.97023
+0.97188,0.97330,0.97468,0.97581,0.97715,0.97842,0.97955,0.98063,0.98187,0.98302
+0.98403,0.98500,0.98580,0.98659,0.98742,0.98817,0.98888,0.98961,0.99026,0.99088
+0.99152,0.99212,0.99272,0.99307,0.99355,0.99399,0.99438,0.99471,0.99520,0.99560
+0.99588,0.99628,0.99659,0.99681,0.99707,0.99725,0.99758,0.99785,0.99817,0.99837
+0.99860,0.99886,0.99904,0.99922,0.99943,0.99960,0.99972,0.99985,1.00000
+
+hwc2u1fract=0.00379,0.00830,0.01338,0.01995,0.02761,0.03638,0.04694,0.05922,0.07375
+0.08955,0.10704,0.12618,0.14574,0.16695,0.18863,0.21090,0.23311,0.25590,0.27876
+0.30145,0.32359,0.34586,0.36832,0.38955,0.41039,0.43098,0.45070,0.46956,0.48793
+0.50551,0.52244,0.53887,0.55513,0.57053,0.58600,0.60085,0.61520,0.62895,0.64265
+0.65593,0.66914,0.68230,0.69489,0.70698,0.71870,0.73022,0.74153,0.75262,0.76300
+0.77321,0.78328,0.79281,0.80256,0.81130,0.81985,0.82823,0.83583,0.84322,0.85012
+0.85631,0.86292,0.86858,0.87376,0.87917,0.88455,0.88999,0.89527,0.90022,0.90505
+0.90965,0.91432,0.91881,0.92310,0.92726,0.93122,0.93480,0.93841,0.94194,0.94551
+0.94864,0.95138,0.95435,0.95712,0.95979,0.96205,0.96442,0.96639,0.96824,0.96984
+0.97150,0.97299,0.97440,0.97569,0.97689,0.97784,0.97903,0.98002,0.98118,0.98220
+0.98310,0.98393,0.98465,0.98544,0.98623,0.98704,0.98769,0.98833,0.98891,0.98954
+0.99009,0.99065,0.99102,0.99155,0.99217,0.99258,0.99300,0.99337,0.99373,0.99411
+0.99441,0.99464,0.99498,0.99543,0.99594,0.99647,0.99691,0.99719,0.99749,0.99779
+0.99816,0.99837,0.99859,0.99886,0.99907,0.99933,0.99951,0.99971,1.00000
+
+hwc2v1fract=0.00288,0.00650,0.01128,0.01757,0.02438,0.03290,0.04248,0.05390,0.06736
+0.08262,0.09958,0.11796,0.13723,0.15713,0.17782,0.19995,0.22219,0.24485,0.26757
+0.29009,0.31224,0.33420,0.35570,0.37722,0.39805,0.41826,0.43765,0.45671,0.47523
+0.49369,0.51095,0.52765,0.54328,0.55853,0.57339,0.58869,0.60327,0.61736,0.63120
+0.64387,0.65678,0.66940,0.68187,0.69366,0.70560,0.71742,0.72889,0.74019,0.75072
+0.76101,0.77074,0.78032,0.78953,0.79846,0.80751,0.81551,0.82353,0.83101,0.83786
+0.84461,0.85116,0.85747,0.86350,0.86901,0.87446,0.87982,0.88511,0.89009,0.89497
+0.89970,0.90455,0.90930,0.91405,0.91846,0.92265,0.92678,0.93073,0.93466,0.93813
+0.94127,0.94425,0.94726,0.95006,0.95268,0.95521,0.95755,0.96004,0.96219,0.96412
+0.96592,0.96767,0.96928,0.97076,0.97205,0.97339,0.97469,0.97595,0.97706,0.97811
+0.97917,0.98012,0.98131,0.98230,0.98322,0.98395,0.98476,0.98549,0.98614,0.98663
+0.98723,0.98788,0.98863,0.98916,0.98978,0.99023,0.99081,0.99155,0.99224,0.99273
+0.99325,0.99367,0.99411,0.99448,0.99484,0.99533,0.99590,0.99621,0.99652,0.99691
+0.99741,0.99780,0.99827,0.99853,0.99882,0.99908,0.99943,0.99975,1.00000
+
+hwc2y2fract=0.00160,0.00444,0.01062,0.02252,0.04178,0.06667,0.09457,0.12185,0.14828
+0.17321,0.19657,0.21935,0.24123,0.26183,0.28100,0.29932,0.31591,0.33280,0.34835
+0.36309,0.37696,0.39136,0.40499,0.41801,0.43102,0.44397,0.45626,0.46859,0.48057
+0.49258,0.50376,0.51498,0.52613,0.53714,0.54779,0.55825,0.56813,0.57848,0.58849
+0.59807,0.60775,0.61726,0.62647,0.63596,0.64509,0.65415,0.66298,0.67160,0.68001
+0.68776,0.69576,0.70352,0.71119,0.71877,0.72641,0.73385,0.74144,0.74869,0.75599
+0.76358,0.77097,0.77815,0.78552,0.79244,0.80001,0.80698,0.81437,0.82208,0.83020
+0.83830,0.84634,0.85478,0.86309,0.87142,0.87935,0.88763,0.89541,0.90281,0.90996
+0.91614,0.92222,0.92753,0.93246,0.93710,0.94136,0.94546,0.94895,0.95198,0.95471
+0.95757,0.96005,0.96271,0.96498,0.96713,0.96909,0.97090,0.97241,0.97381,0.97511
+0.97650,0.97790,0.97906,0.98010,0.98125,0.98232,0.98334,0.98436,0.98519,0.98596
+0.98661,0.98723,0.98782,0.98860,0.98924,0.98985,0.99050,0.99123,0.99176,0.99228
+0.99283,0.99333,0.99383,0.99424,0.99473,0.99521,0.99569,0.99610,0.99650,0.99682
+0.99725,0.99755,0.99788,0.99824,0.99860,0.99896,0.99931,0.99969,1.00000
+
+hwc2x2fract=0.00395,0.00888,0.01485,0.02199,0.03022,0.04000,0.05108,0.06378,0.07859
+0.09479,0.11265,0.13127,0.15138,0.17208,0.19378,0.21665,0.24001,0.26354,0.28690
+0.30961,0.33310,0.35610,0.37755,0.39974,0.42105,0.44105,0.46108,0.48066,0.49966
+0.51830,0.53617,0.55306,0.56918,0.58553,0.60128,0.61669,0.63218,0.64669,0.66098
+0.67478,0.68766,0.70075,0.71356,0.72610,0.73756,0.74866,0.75939,0.76957,0.78017
+0.78974,0.79904,0.80810,0.81654,0.82494,0.83299,0.84084,0.84793,0.85505,0.86163
+0.86789,0.87423,0.87983,0.88542,0.89043,0.89547,0.90085,0.90593,0.91055,0.91521
+0.91932,0.92351,0.92783,0.93138,0.93526,0.93878,0.94227,0.94577,0.94897,0.95221
+0.95493,0.95768,0.96030,0.96269,0.96491,0.96710,0.96910,0.97089,0.97257,0.97413
+0.97544,0.97682,0.97818,0.97948,0.98063,0.98176,0.98267,0.98355,0.98439,0.98520
+0.98593,0.98657,0.98725,0.98788,0.98845,0.98911,0.98961,0.99009,0.99048,0.99097
+0.99139,0.99190,0.99219,0.99251,0.99288,0.99319,0.99365,0.99404,0.99445,0.99482
+0.99518,0.99556,0.99586,0.99612,0.99637,0.99667,0.99709,0.99737,0.99761,0.99781
+0.99796,0.99810,0.99829,0.99861,0.99895,0.99915,0.99949,0.99973,1.00000
diff --git a/PARAM/HMS/GEN/hcana.param b/PARAM/HMS/GEN/hcana.param
index d5677d21..da2f2c65 100644
--- a/PARAM/HMS/GEN/hcana.param
+++ b/PARAM/HMS/GEN/hcana.param
@@ -8,13 +8,9 @@ href_nsperchan = 0.1
 href_offset = 0.0
 ;
 
-hhodo_num_planes = 4
-hhodo_plane_names = "1x 1y 2x 2y"
-
 hcal_num_layers = 4
 
 rraster_num_signals = 4
-htofusinginvadc=0
  hcer_tot_pmts = 2
 # Exclusion band width for the calorimeter's fiducial volume.
 hcal_fv_delta = 5.
@@ -29,20 +25,5 @@ hcal_layer_names = "1pr 2ta 3ta 4ta"
 
 haero_num_pairs = 8
 
-# Names of planes so that parameter names can be constructed
-hdc_plane_names = "1x1 1y1 1u1 1v1 1y2 1x2 2x1 2y1 2u1 2v1 2y2 2x2"
-
 # The following were defined in REPLAY.PARAM
 h_recon_coeff_filename =    'DATFILES/hms_recon_coeff.dat'  ;hms optics matrix
-
-# The following are set to zero to replicate historical ENGINE behavior
-# For new analyses they should be set to 1.  If not defined here,
-# hcana will default 1, the new and correct behaviour.
-
-# If 1, Let a hit have different L/R assignment for different space points
-# instead of L/R assignment from first sp it appears in.
-hdc_fix_lr = 0
-# If 1, don't do the the propagation along the wire each time the hit
-# appears in a space point.  (Which means the correction accumulates)
-hdc_fix_propcorr = 0
-
diff --git a/PARAM/HMS/GEN/htracking.param b/PARAM/HMS/GEN/htracking.param
index 99b502a6..3ee7a1ea 100644
--- a/PARAM/HMS/GEN/htracking.param
+++ b/PARAM/HMS/GEN/htracking.param
@@ -1,26 +1,25 @@
-; hms pattern recognition and tracking code parameters
-; hmax_pr_hits is the maximum number of decoded hits allowed in a chamber for
-;              pattern recognition to proceed. This protexts against unusual
-;              kami kaze events which hang the analyzer to a long time.
-;
-        hmax_pr_hits =    35, 35
-; maximum number of possible focal plane tracks, must be <= 20
-        hntracks_max_fp = 10
-; if h_remove_sppt_if_one_y_plane=1 then remove space point if space point
-;    contains only one y plane.
-; Recommend h_remove_sppt_if_one_y_plane=0.  
-        h_remove_sppt_if_one_y_plane=0
-; hminhit(i)   minimum number of hits in each space point (one for each chamber)
-	hmin_hit =     5, 5
-; hmin_combos(i) minimum number of pairs in each space point ( one per chamber)
-; should be 3/3 for 4/6 tracking, and 4/4 for 5/6 tracking (JRA)
-	hmin_combos = 4, 4 
-; hspace_point_criterion(i) minimum separation of distinct space points
-; recommended value for hspace_point_criterion ( based on meeting
-; Feb 2003) 
-       hspace_point_criterion = 1.0, 1.0
+; Maximum number of hits allowed in chambers for pattern recognition to proceed (one for each chamber)
+hmax_pr_hits = 35, 35
+
+; Maximum number of possible focal plane tracks, must be <= 20
+hntracks_max_fp = 10
+
+; Remove space point if space point contains only one y plane (0 recommended)
+h_remove_sppt_if_one_y_plane = 0
+
+; Minimum number of hits in each space point (one per chamber)
+hmin_hit = 4, 4
+
+; Minimum number of pairs in each space point (one per chamber)
+; Should be 3/3 for 4/6 tracking, and 4/4 for 5/6 tracking
+hmin_combos = 3, 3 
+
+; Minimum separation of distinct space points
+hspace_point_criterion = 1.0, 1.0
+
+; Maximum difference between xp returned by stub and expected xp
+hstub_max_xpdiff = .05
 
-        hstub_max_xpdiff = .05
 ;
 ; The following four criteria are applied to the stub fit results at the
 ; focal plane position to link stubs to tracks
@@ -61,8 +60,11 @@
 
 ; hstat_maxchisq          chisquared limit for tracks used to measure hodo. eff.
   hstat_maxchisq = 10.
+; if both hsel_using_scin = 0 and hsel_using_prune = 0 then best chi2 track is used.
 ; hsel_using_scin         uses scintillator for track selection
-  hsel_using_scin = 1
+  hsel_using_scin = 0
+; hsel_using_prune         using prune
+  hsel_using_prune = 0
 ; hstat_slop              distance from center of scin. to count as expecting hit
   hstat_slop = 2.
 ; hstat_mineff            warning level for scin. effic.
diff --git a/PARAM/HMS/HODO/hhodo.param b/PARAM/HMS/HODO/hhodo.param
index 0621446a..27b0e24f 100644
--- a/PARAM/HMS/HODO/hhodo.param
+++ b/PARAM/HMS/HODO/hhodo.param
@@ -1,15 +1,27 @@
-; hstart_time_center  center of allowed time window                             
+hcosmicflag=1
+; for now manually set hte FADC mode
+;  1 == Use the pulse int - pulse ped
+;  2 == Use the sample integral - known ped
+;  3 == Use the sample integral - sample ped
+; if not set then defaults to use the raw pulse integral
+hhodo_adc_mode=1
+; 
+; hhodo_tdc_offset is array of time offsets for all paddles in a plane
+;   to move the tdc to between 0 and 4000 channels.
+  hhodo_tdc_offset = 1120, 1120, 1120, 1120
+;  hhodo_tdc_offset = 1000, 1000, 1000, 1000
+; hstart_time_center  center of allowed time window (ns)
    hstart_time_center = 32.                                                     
 ; hstart_time_slop    1/2 width of time window                                  
-   hstart_time_slop = 25.                                                       
+   hstart_time_slop = 100.                                                       
 ; hscin_tdc_min       minimum tdc value in hms scin                             
-    hscin_tdc_min = 0                                                           
+    hscin_tdc_min = -500                                                           
 ; hscin_tdc_max       maximum allowed tdc value                                 
    hscin_tdc_max = 4000                                                         
 ; hscin_tdc_to_time   scin tdc time per channel                                 
-   hscin_tdc_to_time = 0.0259                                                   
+   hscin_tdc_to_time = 0.1                                                  
 ; tof and you figured out good values
-   htof_tolerance = 3.0
+   htof_tolerance = 50.0
 ;                                                                               
 ; hms_tof_params                                                                
 ; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width               
@@ -17,24 +29,130 @@
 ;    hhodo_pos_coord and hhodo_neg_coord are not yet used                       
 ;                                                                               
      hhodo_slop     =    2.,  2.,  4.,  4.                                      
+;   
+htofusinginvadc=1
 ;                                                                               
-     hhodo_vel_light =  14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-                        14.0,14.8,15.5,15.8                                     
-;                                                                               
+                                                                                
+hhodo_pos_invadc_offset = 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000 
+
+;
+hhodo_neg_invadc_offset = 2.63295,0.592977,0.810207,2.17447
+1.6381,-2.44172,-0.167998,1.613
+2.12397,-1.11413,1.12234,2.70131
+2.23737,-3.22432,-0.0328571,2.88366
+1.84971,-2.55502,-0.325019,2.75559
+1.77137,-1.90664,-0.0557544,1.354
+1.86089,-1.9991,-1.08851,-2.15107
+2.74336,-2.60574,0.388706,3.63254
+1.53963,-1.67298,-1.06672,3.14031
+2.25306,-2.75735,0.900716,2.54422
+1.72962,0.0,-0.000925926,0.0
+0.136985,0.0,-1.90318,0.0
+1.06083,0.0,-4.18178,0.0
+1.92537,0.0,-0.688612,0.0
+1.36458,0.0,0.641606,0.0
+1.95569,0.0,-1.16377,0.0
+ 
+;
+hhodo_pos_invadc_linear = 15.0,15.0,15.0,15.0        
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+hhodo_neg_invadc_linear = 15.0,15.0,15.0,15.0        
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+
+hhodo_pos_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+hhodo_neg_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+     hhodo_vel_light =  15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+ ;                                                                               
       hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3                                 
                         .3,.3,.3,.3,.3,.3,.3,.3                                 
                         .3,.3,.3,.3,.3,.3,.3,.3                                 
@@ -53,111 +171,8 @@
                         .3,.3,.3,.3,.3,.3,.3,.3                                 
                         .3,.3,.3,.3,.3,.3,.3,.3                                 
                                                                                 
-  hhodo_pos_minph = 125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                                                                                
-  hhodo_neg_minph = 125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-                    125,135,125,120                                             
-  hhodo_pos_phc_coeff = -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                        -1.45,-1.1,-1.,-1.2                                     
-                                                                                
-  hhodo_neg_phc_coeff = -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                        -1.3,-1.1,-1.2,-1.4                                     
-                                                                                
-                                                                                
-; csa 9/8/98 -- I had to hand-twaddle a few of the values                       
-; based on (relative) offsets of older hhodo.param                              
-                                                                                
-                                                                                
-hhodo_pos_time_offset =   6.7992,   0.0000,  -7.1126,   4.7475
-                         -1.1436,   0.4026,  -0.1443,   8.8108
-                          5.1911,   1.7935,  -7.0357,   7.7590
-                          5.6115,   0.1231,  -4.3477,  12.8552
-                          1.2354,  -6.4896,   8.6617,   9.3857
-                          1.8675,  -0.3651,  -4.7731,   7.9034
-                          6.4738,  -1.0463,   1.1786,   8.9740
-                          4.5395,   2.3368,  -4.4623,   4.5968
-                          2.6241,  -2.4480,  -6.4964,   6.2390
-                          4.2056,   0.0000,  -0.8924,  -1.2482
-                          6.1303,   0.0000,  -7.9503,   0.0000
-                          5.5326,   0.0000,  -0.3564,   0.0000
-                          4.3238,   0.0000,   0.8133,   0.0000
-                          1.7467,   0.0000,   1.9021,   0.0000
-                          4.1333,   0.0000,  -5.4523,   0.0000
-                          0.9416,   0.0000,   1.0158,   0.0000
-hhodo_neg_time_offset =  -2.1515,   0.0000,   2.5771,  11.2323
-                         -1.6547,  -2.2888,  10.1063,  13.3595
-                         -3.8050,  -4.1933,   3.4133,  15.0118
-                          0.7925,  -1.9592,  10.9311,  15.1057
-                         -1.2621,  -4.6538,   2.3474,  10.2752
-                         -2.9459,   1.2711,   9.6479,   7.8567
-                          1.2439,  -3.4946,   3.7283,  10.7897
-                         -4.8205,   1.1743,   8.5908,  11.1753
-                         -6.3324,  -5.2290,   0.2444,  14.7184
-                          1.8168,   0.0000,  11.2387,  15.5869
-                          0.4240,   0.0000,   8.2657,   0.0000
-                         -0.9945,   0.0000,   9.2381,   0.0000
-                         -2.3217,   0.0000,   5.1855,   0.0000
-                         -5.1166,   0.0000,  10.0781,   0.0000
-                          0.2537,   0.0000,   6.2455,   0.0000
-                          7.0554,   0.0000,  12.8714,   0.0000
                                                                                 
+                                                                               
 ;                                                                               
 hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000                   
                       1000,1000,1000,1000,1000,1000,1000,1000                   
@@ -175,5 +190,140 @@ hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000
                       1000,1000,1000,1000,1000,1000,1000,1000                   
                       1000,1000,1000,1000,1000,1000,1000,1000                   
                       1000,1000,1000,1000,1000,1000,1000,1000                   
-                      1000,1000,1000,1000,1000,1000,1000,1000                   
-                                                                                
+                      1000,1000,1000,1000,1000,1000,1000,1000  
+; new param                 
+hhodo_pos_invadc_offset =   -0.00,   -0.00,   -0.70,   -0.00
+                            -0.00,   -0.00,   -0.31,   -2.63
+                            -0.00,    0.13,   -1.03,   -0.58
+                             1.43,   -0.51,   -0.87,   -0.63
+                             0.60,   -0.75,   -0.66,   -1.54
+                             1.73,   -0.66,   -0.82,   -1.46
+                             0.89,    0.08,   -0.92,   -0.88
+                             2.10,    0.20,   -0.32,   -0.39
+                             0.31,   -0.89,   -1.14,   -2.15
+                            -0.00,   -0.00,   -1.52,   -0.00
+                             0.80,   -0.00,   -0.75,   -0.00
+                            -0.25,   -0.00,   -2.36,   -0.00
+                             0.54,   -0.00,   -0.00,   -0.00
+                             0.47,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+
+hhodo_neg_invadc_offset =   -0.00,   -0.00,   -0.97,   -0.00
+                            -0.00,   -0.00,    0.06,   -2.16
+                            -0.00,   -0.58,   -1.60,   -0.95
+                            -0.09,    0.95,   -0.45,   -0.49
+                            -0.79,   -0.05,    0.21,   -1.82
+                             0.32,   -1.02,   -0.05,   -0.52
+                             0.02,    0.19,    0.90,    3.75
+                            -0.35,    0.35,    0.26,   -1.65
+                            -0.27,   -1.32,    0.33,   -2.44
+                            -1.42,   -0.00,   -1.48,   -0.00
+                             0.14,   -0.00,    0.14,   -0.00
+                             0.24,   -0.00,   -0.06,   -0.00
+                             0.16,   -0.00,   -0.00,   -0.00
+                            -0.83,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+
+hhodo_pos_invadc_linear =   15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            14.56,   15.00,   15.00,   15.00
+                            12.91,   15.00,   15.00,   15.00
+                            12.81,   14.97,   15.00,   15.00
+                            14.29,   15.00,   15.00,   15.00
+                            12.94,   14.21,   14.85,   15.00
+                            13.27,   13.60,   15.00,   15.00
+                            13.44,   15.00,   15.00,   15.00
+                            14.24,   15.00,   15.00,   15.00
+                            13.24,   15.00,   14.33,   15.00
+                            13.20,   15.00,   15.00,   15.00
+                            13.94,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+
+hhodo_neg_invadc_linear =   15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   14.56,   15.00,   15.00
+                            14.55,   14.16,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            13.47,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            14.69,   14.21,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            14.74,   15.00,   15.00,   15.00
+                            14.66,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            13.71,   15.00,   15.00,   15.00
+                            12.33,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+
+hhodo_pos_invadc_adc=    -0.00,    -0.00,   106.88,    -0.00
+                        -0.00,    -0.00,   109.67,   122.91
+                        -0.00,   102.28,   127.88,   117.82
+                       100.32,    76.55,   109.30,   139.97
+                        72.45,    90.73,   111.62,   121.49
+                        59.46,    83.45,   116.54,   123.92
+                        95.04,    91.79,   125.49,   127.74
+                        62.95,    53.50,   113.46,   106.91
+                        78.26,    49.84,   100.37,   141.06
+                        73.52,    -0.00,   101.78,    -0.00
+                        94.23,    -0.00,   129.39,    -0.00
+                        75.59,    -0.00,    94.17,    -0.00
+                        79.87,    -0.00,    -0.00,    -0.00
+                        63.90,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+
+hhodo_neg_invadc_adc=    -0.00,    -0.00,   128.32,    -0.00
+                        -0.00,    -0.00,   113.16,   159.99
+                        -0.00,    68.41,   116.51,   119.18
+                        73.18,    65.95,   112.50,   122.16
+                        96.71,    91.23,    96.00,   103.37
+                        52.93,    87.48,   103.59,   122.65
+                        72.72,    82.28,   118.40,   140.72
+                        76.58,    68.02,   104.25,   120.16
+                        73.69,    98.85,    91.95,   119.78
+                        72.26,    -0.00,    89.16,    -0.00
+                        70.89,    -0.00,   113.44,    -0.00
+                        72.26,    -0.00,   101.96,    -0.00
+                        76.14,    -0.00,    -0.00,    -0.00
+                        36.51,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+
+hhodo_pos_sigma =  100.00,  100.00,    0.28,  100.00
+                   100.00,  100.00,    0.31,    0.47
+                   100.00,    0.27,    0.33,    0.34
+                     0.26,    0.32,    0.35,    0.44
+                     0.30,    0.30,    0.33,    0.51
+                     0.38,    0.28,    0.22,    0.41
+                     0.25,    0.30,    0.32,    0.46
+                     0.35,    0.30,    0.31,    0.34
+                     0.26,    0.25,    0.24,    0.41
+                     0.27,  100.00,    0.27,  100.00
+                     0.25,  100.00,    0.37,  100.00
+                     0.26,  100.00,    0.24,  100.00
+                     0.34,  100.00,  100.00,  100.00
+                     0.37,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
+
+hhodo_neg_sigma =  100.00,  100.00,    0.32,  100.00
+                   100.00,  100.00,    0.33,    0.52
+                   100.00,    0.31,    0.35,    0.31
+                     0.25,    0.30,    0.34,    0.32
+                     0.28,    0.32,    0.27,    0.56
+                     0.36,    0.33,    0.28,    0.31
+                     0.26,    0.31,    0.37,    0.42
+                     0.32,    0.30,    0.28,    0.33
+                     0.24,    0.28,    0.20,    0.44
+                     0.27,  100.00,    0.24,  100.00
+                     0.24,  100.00,    0.29,  100.00
+                     0.25,  100.00,    0.25,  100.00
+                     0.28,  100.00,  100.00,  100.00
+                     0.33,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
diff --git a/PARAM/HMS/HODO/hhodo.pos b/PARAM/HMS/HODO/hhodo.pos
index 2e37fd06..d543d89a 100644
--- a/PARAM/HMS/HODO/hhodo.pos
+++ b/PARAM/HMS/HODO/hhodo.pos
@@ -1,3 +1,7 @@
+
+hhodo_num_planes = 4
+hhodo_plane_names = "1x 1y 2x 2y"
+;
       hpathlength_central = 2500
 ; Z positions of hodoscopes
       hscin_1x_zpos =  (89.14-11.31)
diff --git a/PARAM/HMS/HODO/hhodo_3of4trigger.param b/PARAM/HMS/HODO/hhodo_3of4trigger.param
new file mode 100644
index 00000000..c59e5c44
--- /dev/null
+++ b/PARAM/HMS/HODO/hhodo_3of4trigger.param
@@ -0,0 +1,191 @@
+hcosmicflag=1
+; for now manually set hte FADC mode
+;  1 == Use the pulse int - pulse ped
+;  2 == Use the sample integral - known ped
+;  3 == Use the sample integral - sample ped
+; if not set then defaults to use the raw pulse integral
+hhodo_adc_mode=1
+; 
+; hhodo_tdc_offset is array of time offsets for all paddles in a plane
+;   to move the tdc to between 0 and 4000 channels.
+  hhodo_tdc_offset = 1050, 1050, 1050, 1050
+; hstart_time_center  center of allowed time window (ns)
+   hstart_time_center = 32.                                                     
+; hstart_time_slop    1/2 width of time window                                  
+   hstart_time_slop = 25.                                                       
+; hscin_tdc_min       minimum tdc value in hms scin                             
+    hscin_tdc_min = 0                                                           
+; hscin_tdc_max       maximum allowed tdc value                                 
+   hscin_tdc_max = 4000                                                         
+; hscin_tdc_to_time   scin tdc time per channel                                 
+   hscin_tdc_to_time = 0.1                                                  
+; tof and you figured out good values
+   htof_tolerance = 30.0
+;                                                                               
+; hms_tof_params                                                                
+; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width               
+; are all calculated within h_init_scin                                         
+;    hhodo_pos_coord and hhodo_neg_coord are not yet used                       
+;                                                                               
+     hhodo_slop     =    2.,  2.,  4.,  4.                                      
+;   
+htofusinginvadc=1
+;                                                                               
+                                                                                
+hhodo_pos_invadc_offset =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+hhodo_neg_invadc_offset =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+hhodo_pos_invadc_linear =   14.0,14.8,15.5,15.8        
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+hhodo_neg_invadc_linear =   14.0,14.8,15.5,15.8        
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+ 
+hhodo_pos_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+hhodo_neg_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+     hhodo_vel_light =  14.0,14.8,15.5,15.8        
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+;                                                                               
+      hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+;                                                                               
+      hhodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                                                                                
+                                                                                
+                                                                               
+;                                                                               
+hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+;                                                                               
+hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                                                                                
diff --git a/PARAM/HMS/HODO/hhodo_4of4trigger.param b/PARAM/HMS/HODO/hhodo_4of4trigger.param
new file mode 100644
index 00000000..54596af4
--- /dev/null
+++ b/PARAM/HMS/HODO/hhodo_4of4trigger.param
@@ -0,0 +1,191 @@
+hcosmicflag=1
+; for now manually set hte FADC mode
+;  1 == Use the pulse int - pulse ped
+;  2 == Use the sample integral - known ped
+;  3 == Use the sample integral - sample ped
+; if not set then defaults to use the raw pulse integral
+hhodo_adc_mode=1
+; 
+; hhodo_tdc_offset is array of time offsets for all paddles in a plane
+;   to move the tdc to between 0 and 4000 channels.
+  hhodo_tdc_offset = 1280, 1280, 1280, 1290
+; hstart_time_center  center of allowed time window (ns)
+   hstart_time_center = 32.                                                     
+; hstart_time_slop    1/2 width of time window                                  
+   hstart_time_slop = 25.                                                       
+; hscin_tdc_min       minimum tdc value in hms scin                             
+    hscin_tdc_min = 0                                                           
+; hscin_tdc_max       maximum allowed tdc value                                 
+   hscin_tdc_max = 4000                                                         
+; hscin_tdc_to_time   scin tdc time per channel                                 
+   hscin_tdc_to_time = 0.1                                                  
+; tof and you figured out good values
+   htof_tolerance = 30.0
+;                                                                               
+; hms_tof_params                                                                
+; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width               
+; are all calculated within h_init_scin                                         
+;    hhodo_pos_coord and hhodo_neg_coord are not yet used                       
+;                                                                               
+     hhodo_slop     =    2.,  2.,  4.,  4.                                      
+;   
+htofusinginvadc=1
+;                                                                               
+                                                                                
+hhodo_pos_invadc_offset =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+hhodo_neg_invadc_offset =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+hhodo_pos_invadc_linear =   14.0,14.8,15.5,15.8        
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+hhodo_neg_invadc_linear =   14.0,14.8,15.5,15.8        
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+ 
+hhodo_pos_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+hhodo_neg_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+     hhodo_vel_light =  14.0,14.8,15.5,15.8        
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8      
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8   
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8 
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8
+                        14.0,14.8,15.5,15.8  
+                        14.0,14.8,15.5,15.8  
+;                                                                               
+      hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+;                                                                               
+      hhodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                        .3,.3,.3,.3,.3,.3,.3,.3                                 
+                                                                                
+                                                                                
+                                                                               
+;                                                                               
+hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+;                                                                               
+hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                      1000,1000,1000,1000,1000,1000,1000,1000                   
+                                                                                
diff --git a/PARAM/HMS/HODO/htofcal.param b/PARAM/HMS/HODO/htofcal.param
new file mode 100644
index 00000000..8ace7125
--- /dev/null
+++ b/PARAM/HMS/HODO/htofcal.param
@@ -0,0 +1,2 @@
+hdumptof=1
+hdumptof_filename="CALIBRATION/hodo_calib/hfort.37"
diff --git a/PARAM/README.md b/PARAM/README.md
new file mode 100644
index 00000000..397425b8
--- /dev/null
+++ b/PARAM/README.md
@@ -0,0 +1,218 @@
+# Notes
+
+## Naming
+
+* `X` stands for spectrometer name:
+    * `h` for HMS
+    * `p` for SHMS
+    * `s` for SOS
+* `Y` stands for plane name.
+* `N` stands for sequential number
+
+## Constants
+
+* `raddeg = 3.14159265/180`
+    * Conversion from degrees to radians.
+    * real
+    * `DBASE/general.param`
+* `cminch = 2.54`
+    * Conversion from inches to cm.
+    * real
+    * `DBASE/general.param`
+
+
+# Tracking
+
+* `Xsel_using_scin = 0`
+    * Use scintillator for track selection.
+    * {0, 1} bool
+    * `THcHallCSpectrometer::fSelUsingScin`
+
+# Drift chambers
+
+## `Xdc.param`
+
+* `Xdc_num_chambers`
+    * Number of drift chambers in detector.
+    * int
+    * `THcDC::fNChambers`
+* `Xdc_num_planes`
+    * Total number of drift chamber planes in detector.
+    * int
+    * `THcDC::fNPlanes`
+* `Xdc_plane_names`
+    * Names of planes.
+    * string
+    * `THcDC::Setup::planenamelist`
+* `Xdc_chamber_planes`
+    * Index of chamber that each plane belongs to. Chamber number starts with 1.
+    * [int]
+    * `THcDC::fNChamber`
+* `Xdc_nrwire`
+    * Number of wires in each plane.
+    * [int]
+    * `THcDC::fNWires`
+
+## `Xdc.pos`
+
+* `Xdc_xcenter`
+    * x position in cm of center for each wire chamber.
+    * [double]
+    * `THcDC::fXCenter`
+* `Xdc_ycenter`
+    * y position in cm of center for each wire chamber.
+    * [double]
+    * `THcDC::fYCenter`
+* `Xdc_N_zpos`
+    * z position in cm of center for each wire chamber.
+    * double
+    * internal only
+* `Xdc_N_roll`
+    * Roll in degrees for each wire chamber. Added to `Xdc_alpha_angle`.
+    * double
+    * internal only
+* `Xdc_N_pitch`
+    * Pitch in degrees for each wire chamber. Added to `Xdc_beta_angle`.
+    * double
+    * internal only
+* `Xdc_N_yaw`
+    * Yaw in degrees for each wire chamber. Added to `Xdc_gamma_angle`.
+    * double
+    * internal only
+
+
+* `Xdc_central_wire`
+    * Wire number of center of wire chamber for each plane. Basically, this is
+      number of imaginary wire, that would cross center of plane. Wire numbers
+      start with 1.
+    * [double]
+    * `THcDC::fCentralWire`
+* `Xdc_pitch`
+    * Distance between wires for each plane in cm.
+    * [double]
+    * `THcDC::fPitch`
+* `Xdc_wire_counting`
+    * Order in which wires are counted in each plane.
+        * `Xdc_wire_counting == 0` : `center = (wire - Xdc_central_wire) * pitch`
+        * `Xdc_wire_counting == 1` : `center = (Xdc_nrwire + 1 - wire -
+           Xdc_central_wire) * pitch`
+    * [{0, 1}]
+    * `THcDC::fWireOrder`
+* `Xdc_zpos`
+    * Position along z in cm of each plane measured from focal plane.
+    * [double]
+    * `THcDC::fZPos`
+* `Xdc_alpha_angle`
+    * Angle $\alpha$ of wires for each plane in radians. Basically the angle of
+      the wires. See also [link][SOS_tracking].
+    * [double]
+    * `THcDC::fAlphaAngle`
+* `Xdc_beta_angle`
+    * Angle $\beta$ of wires for each plane in radians. See also
+      [link][SOS_tracking].
+    * [double]
+    * `THcDC::fBetaAngle`
+* `Xdc_gamma_angle`
+    * Angle $\gamma$ of wires for each plane in radians. See also
+      [link][SOS_tracking].
+    * [double]
+    * `THcDC::fGammaAngle`
+
+[SOS_tracking]: https://hallcweb.jlab.org/DocDB/0008/000812/001/SOS_Tracking.pdf (Tracking in the SOS Spectrometer)
+
+## `Xdc_tracking.param`
+
+* `Xdc_sigma`
+    * Sigma of wire chamber resolution for each plane.
+    * [double]
+    * `THcDC::fSigma`
+* `Xdc_tdc_min_win`
+* TDC window lower limit for each plane.
+    * [int]
+    * `THcDC::fTdcWinMin`
+    * `Xdc_tdc_max_win`
+* TDC window higher limit for each plane.
+    * [int]
+    * `THcDC::fTdcWinMax`
+    * `Xdc_tdc_time_per_channel`
+* Conversion factor from TDC clicks to ns.
+    * CAEN 1190 : 100 ps/click
+    * double
+    * `THcDC::fNSperChan`
+* `Xdc_plane_time_zero`
+    * Zero time correction for each plane in ns that is added to TDC time.
+    * [double]
+    * `THcDC::fPlaneTimeZero`
+* `Xdc_wire_velocity`
+    * Wire velocity.
+    * double
+    * `THcDC::fWireVelocity`
+* `Xdc_central_time`
+    * Used for wire velocity correction in each plane.
+    * [int]
+    * `THcDC::fCentralTime`
+* `Xdc_drifttime_sign`
+    * Used for wire velocity correction in each plane.
+    * [{-1, 1}]
+    * `THcDC::fDriftTimeSign`
+* `Xdc_fix_lr`
+    * Used for wire velocity correction in each plane.
+        * Let hit have different L/R assignment for different space point.
+        * Should be 0 to mimic ENGINE behavior but 1 for more correct behavior.
+    * {0, 1} bool
+    * `THcDC::fFixLR`
+* `Xdc_fix_propcorr`
+    * Used for wire velocity correction in each plane.
+        * Do propagation along wire each time hit appears in a space point.
+    * {0, 1} bool
+    * `THcDC::fFixPropagationCorrection`
+
+### Velocity correction
+
+The velocity correction is the distance from the center of the wire divided by
+the velocity of propagation times Xdc_drifttime_sign(plane). +/-1 for disc. card
+at +/- coord. (i.e. top = -x direction, so top readout is +1)
+
+## `Xdriftmap.param`
+
+Contains lookup table for drift time.
+
+* `Xdriftbins`
+    * Number of bins in table.
+    * int
+    * `THcDriftChamberPlane::ReadDatabase::NumDriftMapBins`
+* `Xdrift1stbin`
+    * Time of first bin in ns.
+    * double
+    * `THcDriftChamberPlane::ReadDatabase::DriftMapFirstBin`
+* `Xdriftbinsz`
+    * Bin size in ns.
+    * double
+    * `THcDriftChamberPlane::ReadDatabase::DriftMapBinSize`
+* `XwcYfract`
+    * Drift time lookup table entries for plane Y.
+    * [double]
+    * `THcDriftChamberPlane::ReadDatabase::DriftMap`
+
+## Deprecated
+
+* `Xdc_num_deadwires`
+    * Number of dead wires in drift chambers (< 20 % efficiency)
+    * int
+* `Xdc_deadwire_plane`
+    * Plane number for each dead wire.
+    * [int]
+* `Xdc_deadwire_num`
+    * Wire number for each dead wire.
+    * [int]
+
+
+* `Xdc_card_no`
+    * Index of connector card for each wire.
+        * Single array for all planes.
+        * Wires start with plane 1, wire 1.
+        * For each plane there must be 'max number of wires' entries.
+    * [int]
+* `Xdc_card_delay`
+    * Cable delays for each connector card.
+    * [int]
diff --git a/PARAM/SHMS/AERO/paero.param b/PARAM/SHMS/AERO/paero.param
new file mode 100644
index 00000000..a469a7b9
--- /dev/null
+++ b/PARAM/SHMS/AERO/paero.param
@@ -0,0 +1,12 @@
+
+
+paero_pos_gain = 1./496.7, 1./467.5, 1./554.3, 1./766.1, 1./412.1, 1./517.9, 1./435.6, 1./500.,
+
+paero_neg_gain = 1./586.8, 1./536.5, 1./690.5, 1./563.1, 1./574.4, 1./432.7, 1./601.5, 1./500.,
+
+     paero_pos_ped_limit =  1000., 1000., 1000., 1000.,
+                            1000., 1000., 1000., 1000.,
+
+     paero_neg_ped_limit =  1000., 1000., 1000., 1000.,
+                            1000., 1000., 1000., 1000.,
+
diff --git a/PARAM/SHMS/CAL/pcal.param b/PARAM/SHMS/CAL/pcal.param
new file mode 100644
index 00000000..cde530b5
--- /dev/null
+++ b/PARAM/SHMS/CAL/pcal.param
@@ -0,0 +1,65 @@
+
+pcal_array = 1
+pcal_layer_names = "pr fly"
+pcal_pr_nr = 14 # Num of rows in preshower
+pcal_num_layers = 1
+pcal_arr_nrows = 16
+pcal_arr_ncolumns = 14
+
+pcal_arr_front_x = 1.0
+pcal_arr_front_y = 1.0
+pcal_arr_front_z = 1.0
+pcal_arr_xstep = 1.0
+pcal_arr_ystep = 1.0
+pcal_arr_zsize = 1.0
+pcal_arr_ped_limit = 1.0
+pcal_arr_cal_const = 1.0
+pcal_arr_gain_cor = 1.0
+
+
+; Exclusion bandwidth for calorimeter fiducial volume.
+pcal_fv_delta = 5
+# Constants for the coordiante correction of the calorimeter energy depositions
+pcal_a_cor = 200.
+pcal_b_cor = 8000.
+pcal_c_cor = 64.36, 64.36	# for positive and negative sides
+pcal_d_cor =  1.66,  1.66
+
+; Parameters copied from HMS
+; Slop in x possitino.  Allowed distance between track and edge of block
+pcal_slop = 7.5 
+
+pcal_pr_thick = 10.0
+; Z Position of from of preshower
+pcal_pr_zpos = 200.0
+
+pcal_pr_left  =  35.0
+pcal_pr_right = -35.0
+pcal_pr_top   = (-69.0-1.4)
+                 (-59.0-1.4)
+                 (-49.0-1.4)
+                 (-39.0-1.4)
+                 (-29.0-1.4)
+                 (-19.0-1.4)
+                 ( -9.0-1.4)
+                 (  1.0-1.4)
+                 ( 11.0-1.4)
+                 ( 21.0-1.4)
+                 ( 31.0-1.4)
+                 ( 41.0-1.4)
+                 ( 51.0-1.4)
+                 ( 61.0-1.4)
+pcal_pos_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,
+        0.001,0.001,0.001,0.001,0.001,0.001
+pcal_neg_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,
+        0.001,0.001,0.001,0.001,0.001,0.001
+pcal_pos_ped_limit=1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,
+	1000,1000,1000,1000
+pcal_neg_ped_limit=1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,
+	1000,1000,1000,1000
+
+pcal_pos_gain_cor=1.0/411.2, 1.0/378.6, 1.0/357.9, 1.0/254.8, 1.0/315.6, 1.0/331.0, 1.0/264.6, 1.0/305.4, 1.0/149.8, 1.0/380.6, 1.0/183.1, 1.0/206.5, 1.0/139.8, 1.0/163.
+pcal_neg_gain_cor=1.0/466.2, 1.0/514.7, 1.0/325.5, 1.0/247.8, 1.0/322.0, 1.0/176.2, 1.0/161.9, 1.0/197.7, 1.0/269.9, 1.0/241.6, 1.0/193.7, 1.0/337.5, 1.0/237.3, 1.0/82.0
+
+pcal_min_peds = 500
+
diff --git a/PARAM/SHMS/DC/pdc.param b/PARAM/SHMS/DC/pdc.param
index 56517a04..767a8946 100644
--- a/PARAM/SHMS/DC/pdc.param
+++ b/PARAM/SHMS/DC/pdc.param
@@ -1,25 +1,19 @@
-;---------------------------------------------------------------------
-; SHMS_TRACKING
-; CTP parameter file containing all tracking parameters for the HMS
-;----------------------------------------------------------------------
+; GENERAL PARAMETERS
 
-; sigma of wire chabmer resolution for each plane
-  pdc_sigma = 0.02, 0.02, 0.02, 0.02, 0.02, 0.02 
-  	      0.02, 0.02, 0.02, 0.02, 0.02, 0.02
+; Number of drift chambers.
+pdc_num_chambers = 2
 
-; tdc window, wide limits for now
-  pdc_tdc_min_win = -55000,-55000,-55000,-55000,-55000,-55000
-  		    -55000,-55000,-55000,-55000,-55000,-55000
-  pdc_tdc_max_win = 55000,55000,55000,55000,55000,55000
-  		    55000,55000,55000,55000,55000,55000
+; Total number of planes.
+pdc_num_planes = 12
 
-; conversion from tdc lciks to ns
-  pdc_tdc_time_per_channel = -0.10 ; CAEN1190 TDC step size = 100ps
+; Names of planes.
+pdc_plane_names = "1u1 1u2 1x1 1x2 1v1 1v2 2v2 2v1 2x2 2x1 2u2 2u1"  ; TODO
 
-; zero time, decreasing moves sdtime plots to lower time
-  pdc_plane_time_zero = 120.0,120.0,120.0,120.0,120.0,120.0
-  		      	120.0,120.0,120.0,120.0,120.0,120.0
+; Chamber index for each plane.
+pdc_chamber_planes = 1, 1, 1, 1, 1, 1
+                     2, 2, 2, 2, 2, 2
 
-; wire velocity
-  pdc_wire_velocity = 13.0
-  pdc_central_time = 1,1,1,1,1,1,1,1,1,1,1,1
+; Number of wires in each plane.
+; Should be 109 and 80, but edge sense wire were not strung.
+pdc_nrwire = 107, 107, 79, 79, 107, 107
+             107, 107, 79, 79, 107, 107
diff --git a/PARAM/SHMS/DC/pdc.param.ori b/PARAM/SHMS/DC/pdc.param.ori
deleted file mode 100644
index 7d1d76cf..00000000
--- a/PARAM/SHMS/DC/pdc.param.ori
+++ /dev/null
@@ -1,14 +0,0 @@
-
-ppartmass = 0.139
-phodo_num_planes = 1
-
-; Scintillator parameters
-pref_npaddles = 6
-pref_nsperchan = 0.1
-pref_offset = 0.0
-
-
-
-
-
-
diff --git a/PARAM/SHMS/DC/pdc.param.ori.dnd b/PARAM/SHMS/DC/pdc.param.ori.dnd
deleted file mode 100644
index 4ba25d48..00000000
--- a/PARAM/SHMS/DC/pdc.param.ori.dnd
+++ /dev/null
@@ -1,377 +0,0 @@
-
-raddeg=3.14159265/180
-
-; Parameters we need to keep THcHallCSpectrometer Happy
-p_recon_coeff_filename = ""
-ptheta_offset = 0.0
-pphi_offset = 0.0
-pdelta_offset = 0.0
-pthetacentral_offset = 0.0
-p_oopcentral_offset = 0.0
-ppcentral_offset = 0.0
-ppcentral = 0.0
-ptheta_lab = 0.0
-ppartmass = 0.139
-phodo_num_planes = 1
-
-; Scintillator parameters
-pref_npaddles = 6
-pref_nsperchan = 0.1
-pref_offset = 0.0
-;
-
-; Number of chambers in test setup
-
-
-  pdc_num_chambers = 2
-  pdc_num_planes = 12
-  pdc_tdc_time_per_channel = -0.10 ; TDC step size  100ps?
-  pdc_wire_velocity = 13.0
-  pdc_central_time = 1,1,1,1,1,1,1,1,1,1,1,1
-  pdc_plane_names = "1u1 1u2 1x1 1x2 1v1 1v2 2v2 2v1 2x2 2x1 2u2 2u1
-  pdc_xcenter = 0.0, 0.0
-  pdc_ycenter = 0.0, 0.0
-; Order in which wires are readout
-  pdc_wire_counting = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-; If pdc_wire_counting(plane) = 0
-;  the wire center is at (wire - pdc_central_wire) * pitch
-; If pdc_wire_counting(plane) = 1
-;  the wire center is at ( pdc_nrwire + 1 - wire - pdc_central_wire) * pitch
-
-; The velocity correction is the distance from the center of the wire divided
-; by the velocity of propagation times pdc_drifttime_sign(pln).  +/-1
-; for disc. card at +/- coord. (i.e. top = -x direction, so top readout is +1)
-;
-; These are guesses taken from the SOS Chambers
-;
-  pdc_drifttime_sign = 1, -1, -1, 1, 1, -1,  1, -1, -1, 1, 1, -1
-;
-; Wire number of center of wire chamber
-; Note the convention : x : low number =  -x , u,v : low number = "-x"
-; x1 and x2, u1 and u2, v1 and v2 are offset by half a cell length
-; assume 1st wire of 1st dc of a set is closest to edge where counting starts
-; (These taken from SOS.  Will be different for SHMS
-      pdc_central_wire = 54.25
-                         53.75
-                         40.25
-                         40.75
-                         54.25
-                         53.75 
-			 53.75
-			 54.25
-			 40.75
-			 40.25
-			 53.75
-			 54.25
-
-; sigma of wire chabmer resolution for each plane
-  pdc_sigma = 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02
-
-; tdc window.  Wide limits for now
-  pdc_tdc_min_win = -55000,-55000,-55000,-55000,-55000,-55000,-55000,-55000,-55000,-55000,-55000,-55000
-  pdc_tdc_max_win = 55000,55000,55000,55000,55000,55000,55000,55000,55000,55000,55000,55000
-; zero time.  Decreasing moves sdtime plots to lower time
-  pdc_plane_time_zero = 120.0,120.0,120.0,120.0,120.0,120.0,120.0,120.0,120.0,120.0,120.0,120.0
-  pdc_chamber_planes = 1,1,1,1,1,1,2,2,2,2,2,2  ;  Chamber # for each plane
-
-
-; pdc_1_zpos = -14.5*2.54
-  pdc_1_zpos = 0    ; Don't try to project to scintillators
-
-; Use geometry of SOS chambers for now
-  pdc_zpos   = pdc_1_zpos - 1.5875
-               pdc_1_zpos - 0.9525
-               pdc_1_zpos - 0.3175
-               pdc_1_zpos + 0.3175
-               pdc_1_zpos + 0.9525
-               pdc_1_zpos + 1.5875
-	       pdc_1_zpos - 1.5875	  
-               pdc_1_zpos - 0.9525
-               pdc_1_zpos - 0.3175
-               pdc_1_zpos + 0.3175
-               pdc_1_zpos + 0.9525
-               pdc_1_zpos + 1.5875
-
-; Angle alpha of wires in wire chamber planes
-  pdc_roll = 0.0 ; SOS chambers had roll as installed
-  pdc_alpha_angle = (30-pdc_roll)*raddeg
-  		    (30-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
-		    (30-pdc_roll)*raddeg
-  		    (30-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
-  pdc_beta = 0.0
-  pdc_beta_angle = pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-		   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-
-  pdc_gamma = 0.0
-  pdc_gamma_angle = pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-		    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-  pdc_pitch = 1.0000
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-	      1.0000	      
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-; Number of wires per plane
-      pdc_nrwire = 107
-                   107
-                   79
-                   79
-                   107
-                   107
-		   107
-                   107
-                   79
-                   79
-                   107
-                   107
-
-; Tracking parameters
-
-  pmax_pr_hits = 25, 25
-  pmin_hit = 5, 5
-  pmin_combos = 6, 6
-  pspace_point_criterion = 1.2, 1.2
-
-; The following four criteria are applied to the stub fit results at the
-; focal plane position to link stubs to tracks
-  pntracks_max_fp = 10
-  pxt_track_criterion = 100.0
-  pyt_track_criterion = 2.0
-  pxpt_track_criterion = 1.0
-  pypt_track_criterion = 1.0
-
-  psingle_stub = 1 ; make a track of all single stubs
-                   ; normally 0
-  pSmallAngleApprox = 0 ; No small angle approximation for
-                        ; cosmic ray tests
-
-; Compatibility parameters.  Should be zero to precisely mimic ENGINE
-; behavior, but one for more correct behavior
-pdc_fix_lr = 1 ; Let hit have different L/R assignment for different space point
-pdc_fix_propcorr = 1 ; do propagation along wire each time hit appeears
-                     ; in a space point
-
-; Debugging flags - not all these implemented in hcana
-pdebuglinkstubs = 0 ; Dump link stub results
-pdebugprintrawdc = 0 ; Dump PDC_RAW_DC bank
-pdebugprintdecodeddc = 0 ; Dump PDC_DECODED_DC bank
-pdebugflagpr = 0 ; Dump intermediate pattern recognition results
-pdebugflagstubs= 0 ; Dump stub fit results
-pdebugtrackprint = 0 ; Dump focal plane track fit results
-pdebugstubchisq = 0; Dump chi2 of left-right fits
-
-; Drift map parameters
-pdriftbins = 138
-; Number of 1st bin in table
-pdrift1stbin = -24
-; Bin size in ns
-pdriftbinsz = 2
-; Drift maps simply copied from the SOS chambers
-pwc1u1fract=0.0002,0.0005,0.0009,0.0011,0.0015,0.0018,0.0022,0.0027
-0.0029,0.0033,0.0038,0.0044,0.0048,0.0051,0.0057,0.0070,0.0090,0.0121
-0.0167,0.0217,0.0282,0.0371,0.0467,0.0582,0.0723,0.0873,0.1038,0.1211
-0.1409,0.1609,0.1826,0.2060,0.2302,0.2542,0.2796,0.3043,0.3294,0.3555
-0.3819,0.4085,0.4343,0.4618,0.4890,0.5140,0.5384,0.5635,0.5880,0.6100
-0.6311,0.6522,0.6722,0.6928,0.7120,0.7316,0.7495,0.7684,0.7853,0.8026
-0.8191,0.8334,0.8491,0.8629,0.8771,0.8888,0.8994,0.9089,0.9170,0.9242
-0.9308,0.9364,0.9411,0.9457,0.9496,0.9538,0.9571,0.9602,0.9630,0.9654
-0.9679,0.9698,0.9718,0.9735,0.9750,0.9765,0.9778,0.9791,0.9804,0.9815
-0.9825,0.9833,0.9844,0.9851,0.9855,0.9862,0.9870,0.9874,0.9877,0.9883
-0.9889,0.9893,0.9895,0.9898,0.9901,0.9904,0.9910,0.9918,0.9923,0.9927
-0.9930,0.9935,0.9937,0.9941,0.9943,0.9947,0.9949,0.9952,0.9957,0.9962
-0.9964,0.9966,0.9970,0.9973,0.9975,0.9977,0.9979,0.9982,0.9986,0.9988
-0.9990,0.9991,0.9994,0.9995,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000
-pwc1x1fract=0.0004,0.0006,0.0008,0.0010,0.0012,0.0015,0.0017,0.0021
-0.0025,0.0028,0.0031,0.0033,0.0036,0.0041,0.0045,0.0051,0.0060,0.0075
-0.0104,0.0138,0.0191,0.0265,0.0356,0.0463,0.0596,0.0743,0.0916,0.1114
-0.1316,0.1533,0.1757,0.1988,0.2209,0.2455,0.2689,0.2945,0.3196,0.3437
-0.3697,0.3950,0.4196,0.4448,0.4702,0.4953,0.5186,0.5416,0.5650,0.5877
-0.6099,0.6316,0.6519,0.6719,0.6909,0.7099,0.7277,0.7463,0.7645,0.7821
-0.7979,0.8154,0.8320,0.8477,0.8612,0.8740,0.8865,0.8973,0.9077,0.9161
-0.9234,0.9301,0.9351,0.9406,0.9454,0.9497,0.9531,0.9570,0.9605,0.9631
-0.9660,0.9690,0.9713,0.9728,0.9748,0.9762,0.9775,0.9786,0.9800,0.9807
-0.9818,0.9827,0.9833,0.9843,0.9849,0.9857,0.9861,0.9866,0.9871,0.9877
-0.9883,0.9887,0.9891,0.9895,0.9898,0.9901,0.9907,0.9913,0.9916,0.9918
-0.9921,0.9925,0.9929,0.9931,0.9935,0.9940,0.9944,0.9946,0.9949,0.9952
-0.9956,0.9960,0.9966,0.9968,0.9970,0.9972,0.9974,0.9976,0.9979,0.9980
-0.9984,0.9985,0.9988,0.9990,0.9991,0.9993,0.9996,0.9998,0.9999,1.0000
-pwc1v1fract=0.0002,0.0006,0.0008,0.0011,0.0013,0.0016,0.0019,0.0020
-0.0022,0.0025,0.0030,0.0035,0.0038,0.0042,0.0049,0.0057,0.0076,0.0103
-0.0149,0.0200,0.0273,0.0353,0.0455,0.0574,0.0719,0.0865,0.1045,0.1224
-0.1416,0.1630,0.1844,0.2074,0.2317,0.2555,0.2807,0.3046,0.3298,0.3553
-0.3826,0.4075,0.4316,0.4563,0.4823,0.5065,0.5315,0.5554,0.5781,0.6014
-0.6235,0.6434,0.6643,0.6853,0.7050,0.7238,0.7415,0.7602,0.7787,0.7975
-0.8152,0.8307,0.8456,0.8595,0.8723,0.8851,0.8957,0.9043,0.9126,0.9205
-0.9276,0.9330,0.9383,0.9437,0.9484,0.9521,0.9553,0.9582,0.9607,0.9634
-0.9657,0.9676,0.9701,0.9722,0.9738,0.9755,0.9767,0.9781,0.9794,0.9804
-0.9814,0.9825,0.9835,0.9842,0.9847,0.9853,0.9861,0.9866,0.9871,0.9878
-0.9882,0.9888,0.9891,0.9897,0.9900,0.9903,0.9909,0.9910,0.9917,0.9919
-0.9924,0.9929,0.9937,0.9939,0.9944,0.9948,0.9954,0.9956,0.9961,0.9966
-0.9968,0.9972,0.9974,0.9978,0.9980,0.9981,0.9984,0.9986,0.9989,0.9991
-0.9995,0.9996,0.9998,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc1u2fract=0.0003,0.0004,0.0008,0.0011,0.0015,0.0018,0.0021,0.0024
-0.0027,0.0030,0.0033,0.0037,0.0039,0.0043,0.0046,0.0049,0.0059,0.0073
-0.0094,0.0129,0.0184,0.0267,0.0352,0.0446,0.0563,0.0707,0.0863,0.1030
-0.1206,0.1411,0.1629,0.1845,0.2087,0.2325,0.2578,0.2837,0.3091,0.3357
-0.3606,0.3867,0.4119,0.4362,0.4608,0.4857,0.5099,0.5349,0.5587,0.5814
-0.6047,0.6260,0.6480,0.6685,0.6892,0.7099,0.7282,0.7456,0.7643,0.7812
-0.7988,0.8141,0.8309,0.8454,0.8616,0.8738,0.8847,0.8955,0.9049,0.9133
-0.9199,0.9274,0.9341,0.9399,0.9445,0.9489,0.9529,0.9561,0.9593,0.9620
-0.9645,0.9667,0.9689,0.9701,0.9720,0.9740,0.9756,0.9771,0.9785,0.9796
-0.9808,0.9816,0.9823,0.9832,0.9839,0.9846,0.9854,0.9860,0.9867,0.9874
-0.9876,0.9881,0.9885,0.9889,0.9895,0.9900,0.9902,0.9907,0.9910,0.9916
-0.9919,0.9923,0.9927,0.9930,0.9934,0.9937,0.9942,0.9945,0.9949,0.9953
-0.9957,0.9962,0.9965,0.9968,0.9971,0.9973,0.9976,0.9979,0.9981,0.9984
-0.9986,0.9988,0.9989,0.9993,0.9995,0.9998,0.9999,0.9999,1.0000,1.0000
-pwc1x2fract=0.0002,0.0005,0.0008,0.0011,0.0014,0.0017,0.0021,0.0025
-0.0027,0.0031,0.0032,0.0034,0.0040,0.0045,0.0052,0.0065,0.0083,0.0112
-0.0150,0.0200,0.0264,0.0341,0.0435,0.0560,0.0701,0.0862,0.1027,0.1210
-0.1417,0.1628,0.1833,0.2069,0.2301,0.2547,0.2799,0.3062,0.3314,0.3582
-0.3860,0.4141,0.4390,0.4656,0.4903,0.5161,0.5410,0.5649,0.5874,0.6090
-0.6298,0.6507,0.6721,0.6923,0.7117,0.7312,0.7510,0.7706,0.7881,0.8052
-0.8204,0.8360,0.8525,0.8666,0.8793,0.8906,0.9019,0.9103,0.9194,0.9274
-0.9340,0.9397,0.9442,0.9483,0.9523,0.9557,0.9596,0.9625,0.9653,0.9678
-0.9698,0.9718,0.9732,0.9751,0.9768,0.9782,0.9793,0.9804,0.9813,0.9821
-0.9828,0.9834,0.9842,0.9848,0.9852,0.9857,0.9861,0.9864,0.9872,0.9877
-0.9880,0.9886,0.9889,0.9894,0.9898,0.9903,0.9908,0.9915,0.9921,0.9924
-0.9927,0.9930,0.9935,0.9939,0.9943,0.9945,0.9949,0.9952,0.9957,0.9960
-0.9963,0.9965,0.9967,0.9972,0.9975,0.9979,0.9980,0.9985,0.9987,0.9988
-0.9990,0.9991,0.9992,0.9995,0.9997,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc1v2fract=0.0004,0.0006,0.0008,0.0012,0.0013,0.0016,0.0018,0.0021
-0.0024,0.0027,0.0029,0.0032,0.0036,0.0039,0.0043,0.0049,0.0063,0.0080
-0.0113,0.0155,0.0218,0.0300,0.0397,0.0508,0.0645,0.0793,0.0949,0.1135
-0.1343,0.1560,0.1786,0.2019,0.2250,0.2498,0.2756,0.3011,0.3270,0.3526
-0.3778,0.4042,0.4299,0.4570,0.4821,0.5077,0.5311,0.5540,0.5784,0.6010
-0.6219,0.6429,0.6633,0.6830,0.7023,0.7214,0.7403,0.7590,0.7786,0.7948
-0.8118,0.8288,0.8444,0.8587,0.8725,0.8842,0.8946,0.9044,0.9136,0.9208
-0.9264,0.9323,0.9377,0.9428,0.9472,0.9506,0.9541,0.9576,0.9602,0.9635
-0.9656,0.9675,0.9695,0.9715,0.9732,0.9751,0.9768,0.9777,0.9789,0.9802
-0.9809,0.9819,0.9828,0.9835,0.9841,0.9850,0.9858,0.9863,0.9866,0.9870
-0.9875,0.9880,0.9884,0.9888,0.9894,0.9899,0.9901,0.9905,0.9909,0.9912
-0.9917,0.9919,0.9922,0.9926,0.9931,0.9936,0.9941,0.9945,0.9951,0.9954
-0.9959,0.9962,0.9964,0.9967,0.9969,0.9971,0.9975,0.9978,0.9980,0.9983
-0.9986,0.9988,0.9991,0.9995,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000
-
-pwc2u1fract=0.0002,0.0005,0.0009,0.0011,0.0015,0.0018,0.0022,0.0027
-0.0029,0.0033,0.0038,0.0044,0.0048,0.0051,0.0057,0.0070,0.0090,0.0121
-0.0167,0.0217,0.0282,0.0371,0.0467,0.0582,0.0723,0.0873,0.1038,0.1211
-0.1409,0.1609,0.1826,0.2060,0.2302,0.2542,0.2796,0.3043,0.3294,0.3555
-0.3819,0.4085,0.4343,0.4618,0.4890,0.5140,0.5384,0.5635,0.5880,0.6100
-0.6311,0.6522,0.6722,0.6928,0.7120,0.7316,0.7495,0.7684,0.7853,0.8026
-0.8191,0.8334,0.8491,0.8629,0.8771,0.8888,0.8994,0.9089,0.9170,0.9242
-0.9308,0.9364,0.9411,0.9457,0.9496,0.9538,0.9571,0.9602,0.9630,0.9654
-0.9679,0.9698,0.9718,0.9735,0.9750,0.9765,0.9778,0.9791,0.9804,0.9815
-0.9825,0.9833,0.9844,0.9851,0.9855,0.9862,0.9870,0.9874,0.9877,0.9883
-0.9889,0.9893,0.9895,0.9898,0.9901,0.9904,0.9910,0.9918,0.9923,0.9927
-0.9930,0.9935,0.9937,0.9941,0.9943,0.9947,0.9949,0.9952,0.9957,0.9962
-0.9964,0.9966,0.9970,0.9973,0.9975,0.9977,0.9979,0.9982,0.9986,0.9988
-0.9990,0.9991,0.9994,0.9995,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000
-pwc2x1fract=0.0004,0.0006,0.0008,0.0010,0.0012,0.0015,0.0017,0.0021
-0.0025,0.0028,0.0031,0.0033,0.0036,0.0041,0.0045,0.0051,0.0060,0.0075
-0.0104,0.0138,0.0191,0.0265,0.0356,0.0463,0.0596,0.0743,0.0916,0.1114
-0.1316,0.1533,0.1757,0.1988,0.2209,0.2455,0.2689,0.2945,0.3196,0.3437
-0.3697,0.3950,0.4196,0.4448,0.4702,0.4953,0.5186,0.5416,0.5650,0.5877
-0.6099,0.6316,0.6519,0.6719,0.6909,0.7099,0.7277,0.7463,0.7645,0.7821
-0.7979,0.8154,0.8320,0.8477,0.8612,0.8740,0.8865,0.8973,0.9077,0.9161
-0.9234,0.9301,0.9351,0.9406,0.9454,0.9497,0.9531,0.9570,0.9605,0.9631
-0.9660,0.9690,0.9713,0.9728,0.9748,0.9762,0.9775,0.9786,0.9800,0.9807
-0.9818,0.9827,0.9833,0.9843,0.9849,0.9857,0.9861,0.9866,0.9871,0.9877
-0.9883,0.9887,0.9891,0.9895,0.9898,0.9901,0.9907,0.9913,0.9916,0.9918
-0.9921,0.9925,0.9929,0.9931,0.9935,0.9940,0.9944,0.9946,0.9949,0.9952
-0.9956,0.9960,0.9966,0.9968,0.9970,0.9972,0.9974,0.9976,0.9979,0.9980
-0.9984,0.9985,0.9988,0.9990,0.9991,0.9993,0.9996,0.9998,0.9999,1.0000
-pwc2v1fract=0.0002,0.0006,0.0008,0.0011,0.0013,0.0016,0.0019,0.0020
-0.0022,0.0025,0.0030,0.0035,0.0038,0.0042,0.0049,0.0057,0.0076,0.0103
-0.0149,0.0200,0.0273,0.0353,0.0455,0.0574,0.0719,0.0865,0.1045,0.1224
-0.1416,0.1630,0.1844,0.2074,0.2317,0.2555,0.2807,0.3046,0.3298,0.3553
-0.3826,0.4075,0.4316,0.4563,0.4823,0.5065,0.5315,0.5554,0.5781,0.6014
-0.6235,0.6434,0.6643,0.6853,0.7050,0.7238,0.7415,0.7602,0.7787,0.7975
-0.8152,0.8307,0.8456,0.8595,0.8723,0.8851,0.8957,0.9043,0.9126,0.9205
-0.9276,0.9330,0.9383,0.9437,0.9484,0.9521,0.9553,0.9582,0.9607,0.9634
-0.9657,0.9676,0.9701,0.9722,0.9738,0.9755,0.9767,0.9781,0.9794,0.9804
-0.9814,0.9825,0.9835,0.9842,0.9847,0.9853,0.9861,0.9866,0.9871,0.9878
-0.9882,0.9888,0.9891,0.9897,0.9900,0.9903,0.9909,0.9910,0.9917,0.9919
-0.9924,0.9929,0.9937,0.9939,0.9944,0.9948,0.9954,0.9956,0.9961,0.9966
-0.9968,0.9972,0.9974,0.9978,0.9980,0.9981,0.9984,0.9986,0.9989,0.9991
-0.9995,0.9996,0.9998,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc2u2fract=0.0003,0.0004,0.0008,0.0011,0.0015,0.0018,0.0021,0.0024
-0.0027,0.0030,0.0033,0.0037,0.0039,0.0043,0.0046,0.0049,0.0059,0.0073
-0.0094,0.0129,0.0184,0.0267,0.0352,0.0446,0.0563,0.0707,0.0863,0.1030
-0.1206,0.1411,0.1629,0.1845,0.2087,0.2325,0.2578,0.2837,0.3091,0.3357
-0.3606,0.3867,0.4119,0.4362,0.4608,0.4857,0.5099,0.5349,0.5587,0.5814
-0.6047,0.6260,0.6480,0.6685,0.6892,0.7099,0.7282,0.7456,0.7643,0.7812
-0.7988,0.8141,0.8309,0.8454,0.8616,0.8738,0.8847,0.8955,0.9049,0.9133
-0.9199,0.9274,0.9341,0.9399,0.9445,0.9489,0.9529,0.9561,0.9593,0.9620
-0.9645,0.9667,0.9689,0.9701,0.9720,0.9740,0.9756,0.9771,0.9785,0.9796
-0.9808,0.9816,0.9823,0.9832,0.9839,0.9846,0.9854,0.9860,0.9867,0.9874
-0.9876,0.9881,0.9885,0.9889,0.9895,0.9900,0.9902,0.9907,0.9910,0.9916
-0.9919,0.9923,0.9927,0.9930,0.9934,0.9937,0.9942,0.9945,0.9949,0.9953
-0.9957,0.9962,0.9965,0.9968,0.9971,0.9973,0.9976,0.9979,0.9981,0.9984
-0.9986,0.9988,0.9989,0.9993,0.9995,0.9998,0.9999,0.9999,1.0000,1.0000
-pwc2x2fract=0.0002,0.0005,0.0008,0.0011,0.0014,0.0017,0.0021,0.0025
-0.0027,0.0031,0.0032,0.0034,0.0040,0.0045,0.0052,0.0065,0.0083,0.0112
-0.0150,0.0200,0.0264,0.0341,0.0435,0.0560,0.0701,0.0862,0.1027,0.1210
-0.1417,0.1628,0.1833,0.2069,0.2301,0.2547,0.2799,0.3062,0.3314,0.3582
-0.3860,0.4141,0.4390,0.4656,0.4903,0.5161,0.5410,0.5649,0.5874,0.6090
-0.6298,0.6507,0.6721,0.6923,0.7117,0.7312,0.7510,0.7706,0.7881,0.8052
-0.8204,0.8360,0.8525,0.8666,0.8793,0.8906,0.9019,0.9103,0.9194,0.9274
-0.9340,0.9397,0.9442,0.9483,0.9523,0.9557,0.9596,0.9625,0.9653,0.9678
-0.9698,0.9718,0.9732,0.9751,0.9768,0.9782,0.9793,0.9804,0.9813,0.9821
-0.9828,0.9834,0.9842,0.9848,0.9852,0.9857,0.9861,0.9864,0.9872,0.9877
-0.9880,0.9886,0.9889,0.9894,0.9898,0.9903,0.9908,0.9915,0.9921,0.9924
-0.9927,0.9930,0.9935,0.9939,0.9943,0.9945,0.9949,0.9952,0.9957,0.9960
-0.9963,0.9965,0.9967,0.9972,0.9975,0.9979,0.9980,0.9985,0.9987,0.9988
-0.9990,0.9991,0.9992,0.9995,0.9997,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc2v2fract=0.0004,0.0006,0.0008,0.0012,0.0013,0.0016,0.0018,0.0021
-0.0024,0.0027,0.0029,0.0032,0.0036,0.0039,0.0043,0.0049,0.0063,0.0080
-0.0113,0.0155,0.0218,0.0300,0.0397,0.0508,0.0645,0.0793,0.0949,0.1135
-0.1343,0.1560,0.1786,0.2019,0.2250,0.2498,0.2756,0.3011,0.3270,0.3526
-0.3778,0.4042,0.4299,0.4570,0.4821,0.5077,0.5311,0.5540,0.5784,0.6010
-0.6219,0.6429,0.6633,0.6830,0.7023,0.7214,0.7403,0.7590,0.7786,0.7948
-0.8118,0.8288,0.8444,0.8587,0.8725,0.8842,0.8946,0.9044,0.9136,0.9208
-0.9264,0.9323,0.9377,0.9428,0.9472,0.9506,0.9541,0.9576,0.9602,0.9635
-0.9656,0.9675,0.9695,0.9715,0.9732,0.9751,0.9768,0.9777,0.9789,0.9802
-0.9809,0.9819,0.9828,0.9835,0.9841,0.9850,0.9858,0.9863,0.9866,0.9870
-0.9875,0.9880,0.9884,0.9888,0.9894,0.9899,0.9901,0.9905,0.9909,0.9912
-0.9917,0.9919,0.9922,0.9926,0.9931,0.9936,0.9941,0.9945,0.9951,0.9954
-0.9959,0.9962,0.9964,0.9967,0.9969,0.9971,0.9975,0.9978,0.9980,0.9983
-0.9986,0.9988,0.9991,0.9995,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000
-
-;
-; Not sure why this is here
-; Makes the analyzer happy
-pdc_2_zpos = 0, 0
\ No newline at end of file
diff --git a/PARAM/SHMS/DC/pdc.pos b/PARAM/SHMS/DC/pdc.pos
index 99e5299a..ee065a50 100644
--- a/PARAM/SHMS/DC/pdc.pos
+++ b/PARAM/SHMS/DC/pdc.pos
@@ -1,134 +1,92 @@
-; Number of planes installed in SHMS detector setup
-  pdc_num_planes = 12
-; Number of chambers installed in SHMS detector setup
-  pdc_num_chambers = 2
+; CHAMBER POSITION PARAMETERS
 
+; x, y and z position of center for each wire chamber in cm.
+; From survey C1771.
+pdc_xcenter = -0.036, 0.008  ; TODO - final survey
+pdc_ycenter =  0.019, 0.013  ; TODO - final survey
+pdc_1_zpos = -40 - 0.656  ; TODO - final survey
+pdc_2_zpos =  40 - 0.668  ; TODO - final survey
 
-; Z positions of various planes in SHMS chambers
-; Use geometry of previous SOS chambers for now
+; Roll, pitch and yaw for each wire chamber in degrees.
+; From survey C1771.
+pdc_1_roll = 180.0  ; TODO - survey
+pdc_2_roll = 180.0  ; TODO - survey
+pdc_1_pitch = -0.006  ; TODO - final survey
+pdc_2_pitch =  0.001  ; TODO - final survey
+pdc_1_yaw = -0.006  ; TODO - final survey
+pdc_2_yaw = -0.035  ; TODO - final survey
 
-; pdc_1_zpos = -14.5*2.54
-  pdc_1_zpos = 0 ; Chamber 1, do not try to project to scintillators
-  pdc_2_zpos = 0, 0 ; Chamber 2
 
-; Use geometry of SOS chambers for now
-  pdc_zpos   = pdc_1_zpos - 1.5875
-               pdc_1_zpos - 0.9525
-               pdc_1_zpos - 0.3175
-               pdc_1_zpos + 0.3175
-               pdc_1_zpos + 0.9525
-               pdc_1_zpos + 1.5875
-	       pdc_1_zpos - 1.5875	  
-               pdc_1_zpos - 0.9525
-               pdc_1_zpos - 0.3175
-               pdc_1_zpos + 0.3175
-               pdc_1_zpos + 0.9525
-               pdc_1_zpos + 1.5875
+; PLANE POSITION PARAMETERS
 
-; Angle alpha of wires in wire chamber planes
-  pdc_roll = 0.0 ; SOS chambers had roll as installed
-  pdc_alpha_angle = (30-pdc_roll)*raddeg
-  		    (30-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
-		    (30-pdc_roll)*raddeg
-  		    (30-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (90-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
-  		    (150-pdc_roll)*raddeg
+; Wire number of center of wire chamber for each plane.
+; From technical drawings.
+pdc_central_wire = 54.25, 53.75, 40.25, 39.75, 54.25, 53.75
+                   53.75, 54.25, 39.75, 40.25, 53.75, 54.25
 
-  pdc_beta = 0.0
-  pdc_beta_angle = pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-		   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
-                   pdc_beta
+; Distance between wires for each plane in cm.
+; From technical drawings.
+pdc_pitch = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
+            1.0, 1.0, 1.0, 1.0, 1.0, 1.0
 
-  pdc_gamma = 0.0
-  pdc_gamma_angle = pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-		    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-                    pdc_gamma
-  pdc_pitch = 1.0000
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-	      1.0000	      
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-              1.0000
-; Number of wires per plane
-      pdc_nrwire = 107
-                   107
-                   79
-                   79
-                   107
-                   107
-		   107
-                   107
-                   79
-                   79
-                   107
-                   107
+; Order in which wires are counted in each plane.
+pdc_wire_counting = 0, 0, 0, 0, 0, 0
+                    0, 0, 0, 0, 0, 0
 
-; X,Y position of center of wire chamber
-  pdc_xcenter = 0.0, 0.0
-  pdc_ycenter = 0.0, 0.0
+; z position in cm of each plane measured from focal plane.
+; From technical drawings.
+pdc_zpos = pdc_1_zpos - 0.68701*cminch
+           pdc_1_zpos - 0.43701*cminch
+           pdc_1_zpos - 0.18701*cminch
+           pdc_1_zpos + 0.18701*cminch
+           pdc_1_zpos + 0.43701*cminch
+           pdc_1_zpos + 0.68701*cminch
+           pdc_2_zpos - 0.68701*cminch
+           pdc_2_zpos - 0.43701*cminch
+           pdc_2_zpos - 0.18701*cminch
+           pdc_2_zpos + 0.18701*cminch
+           pdc_2_zpos + 0.43701*cminch
+           pdc_2_zpos + 0.68701*cminch
 
-; Wire number of center of wire chamber
-; Note the convention : x : low number =  -x , u,v : low number = "-x"
-; x1 and x2, u1 and u2, v1 and v2 are offset by half a cell length
-; assume 1st wire of 1st dc of a set is closest to edge where counting starts
-; (These taken from SOS.  Will be different for SHMS
-      pdc_central_wire = 54.25
-                         53.75
-                         40.25
-                         40.75
-                         54.25
-                         53.75 
-			 53.75
-			 54.25
-			 40.75
-			 40.25
-			 53.75
-			 54.25
+; Alpha angle of wires for each plane in radians.
+; From technical drawings.
+pdc_alpha_angle = ( 30 + pdc_1_roll)*raddeg
+                  ( 30 + pdc_1_roll)*raddeg
+                  ( 90 + pdc_1_roll)*raddeg
+                  ( 90 + pdc_1_roll)*raddeg
+                  (150 + pdc_1_roll)*raddeg
+                  (150 + pdc_1_roll)*raddeg
+                  ( 30 + pdc_2_roll)*raddeg
+                  ( 30 + pdc_2_roll)*raddeg
+                  ( 90 + pdc_2_roll)*raddeg
+                  ( 90 + pdc_2_roll)*raddeg
+                  (150 + pdc_2_roll)*raddeg
+                  (150 + pdc_2_roll)*raddeg
 
-;  Chamber # for each plane
-pdc_chamber_planes = 1,1,1,1,1,1,2,2,2,2,2,2  
+; Beta angle of wires for each plane in radians.
+pdc_beta_angle = pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_1_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
+                 pdc_2_pitch*raddeg
 
-; Order in which wires are readout
-  pdc_wire_counting = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-; If pdc_wire_counting(plane) = 0
-;  the wire center is at (wire - pdc_central_wire) * pitch
-; If pdc_wire_counting(plane) = 1
-;  the wire center is at ( pdc_nrwire + 1 - wire - pdc_central_wire) * pitch
-
-; The velocity correction is the distance from the center of the wire divided
-; by the velocity of propagation times pdc_drifttime_sign(pln).  +/-1
-; for disc. card at +/- coord. (i.e. top = -x direction, so top readout is +1)
-;
-; These are guesses taken from the SOS Chambers
-;
-  pdc_drifttime_sign = 1, -1, -1, 1, 1, -1,  1, -1, -1, 1, 1, -1
\ No newline at end of file
+; Gamma angle of wires for each plane in radians
+pdc_gamma_angle = pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_1_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
+                  pdc_2_yaw*raddeg
diff --git a/PARAM/SHMS/DC/pdc_test_stand.param b/PARAM/SHMS/DC/pdc_test_stand.param
new file mode 100644
index 00000000..be39f3af
--- /dev/null
+++ b/PARAM/SHMS/DC/pdc_test_stand.param
@@ -0,0 +1,5 @@
+; TEST-STAND PARAMETERS
+; Custom parameter file which should be loaded when aiming to analyze HMS DC
+; data with no tracking.
+
+psel_using_scin = 0
diff --git a/PARAM/SHMS/DC/pdc_tracking.param b/PARAM/SHMS/DC/pdc_tracking.param
new file mode 100644
index 00000000..13f409cb
--- /dev/null
+++ b/PARAM/SHMS/DC/pdc_tracking.param
@@ -0,0 +1,27 @@
+; TRACKING PARAMETERS
+
+; Sigma of wire chamber resolution for each plane.
+pdc_sigma = 0.02, 0.02, 0.02, 0.02, 0.02, 0.02  ; TODO - SOS values for now
+            0.02, 0.02, 0.02, 0.02, 0.02, 0.02
+
+; TDC window limits for each plane.
+pdc_tdc_min_win = -55000, -55000, -55000, -55000, -55000, -55000  ; TODO - wide limits for now
+                  -55000, -55000, -55000, -55000, -55000, -55000
+pdc_tdc_max_win = 55000, 55000, 55000, 55000, 55000, 55000  ; TODO - wide limits for now
+                  55000, 55000, 55000, 55000, 55000, 55000
+
+; Conversion factor from TDC clicks to ns.
+pdc_tdc_time_per_channel = -0.10
+
+; Zero time correction for each plane in ns that is added to TDC time.
+pdc_plane_time_zero = 1283.82, 1283.30, 1286.73, 1283.56, 1282.57, 1284.30
+                      1283.94, 1283.34, 1286.95, 1286.46, 1286.37, 1284.47
+
+; For wire velocity corrections.
+pdc_wire_velocity = 13.0  ; TODO
+pdc_central_time = 0, 0, 0, 0, 0, 0  ; TODO - no correction for now
+                   0, 0, 0, 0, 0, 0
+pdc_drifttime_sign = 0, 0, 0, 0, 0, 0  ; TODO - no correction for now
+                     0, 0, 0, 0, 0, 0
+pdc_fix_lr = 1
+pdc_fix_propcorr = 1
diff --git a/PARAM/SHMS/DC/pdriftmap.param b/PARAM/SHMS/DC/pdriftmap.param
index d6a16be8..052b8dcc 100644
--- a/PARAM/SHMS/DC/pdriftmap.param
+++ b/PARAM/SHMS/DC/pdriftmap.param
@@ -1,177 +1,175 @@
-; Lookup table
-; Drift map parameters
+; Lookup Table: RUN 437
+; number of bins in Carlos's time to distance lookup table
 pdriftbins = 138
-; Number of 1st bin in table
-pdrift1stbin = -24
-; Bin size in ns
-pdriftbinsz = 2
-; Drift maps simply copied from the SOS chambers
-pwc1u1fract=0.0002,0.0005,0.0009,0.0011,0.0015,0.0018,0.0022,0.0027
-0.0029,0.0033,0.0038,0.0044,0.0048,0.0051,0.0057,0.0070,0.0090,0.0121
-0.0167,0.0217,0.0282,0.0371,0.0467,0.0582,0.0723,0.0873,0.1038,0.1211
-0.1409,0.1609,0.1826,0.2060,0.2302,0.2542,0.2796,0.3043,0.3294,0.3555
-0.3819,0.4085,0.4343,0.4618,0.4890,0.5140,0.5384,0.5635,0.5880,0.6100
-0.6311,0.6522,0.6722,0.6928,0.7120,0.7316,0.7495,0.7684,0.7853,0.8026
-0.8191,0.8334,0.8491,0.8629,0.8771,0.8888,0.8994,0.9089,0.9170,0.9242
-0.9308,0.9364,0.9411,0.9457,0.9496,0.9538,0.9571,0.9602,0.9630,0.9654
-0.9679,0.9698,0.9718,0.9735,0.9750,0.9765,0.9778,0.9791,0.9804,0.9815
-0.9825,0.9833,0.9844,0.9851,0.9855,0.9862,0.9870,0.9874,0.9877,0.9883
-0.9889,0.9893,0.9895,0.9898,0.9901,0.9904,0.9910,0.9918,0.9923,0.9927
-0.9930,0.9935,0.9937,0.9941,0.9943,0.9947,0.9949,0.9952,0.9957,0.9962
-0.9964,0.9966,0.9970,0.9973,0.9975,0.9977,0.9979,0.9982,0.9986,0.9988
-0.9990,0.9991,0.9994,0.9995,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000
-pwc1x1fract=0.0004,0.0006,0.0008,0.0010,0.0012,0.0015,0.0017,0.0021
-0.0025,0.0028,0.0031,0.0033,0.0036,0.0041,0.0045,0.0051,0.0060,0.0075
-0.0104,0.0138,0.0191,0.0265,0.0356,0.0463,0.0596,0.0743,0.0916,0.1114
-0.1316,0.1533,0.1757,0.1988,0.2209,0.2455,0.2689,0.2945,0.3196,0.3437
-0.3697,0.3950,0.4196,0.4448,0.4702,0.4953,0.5186,0.5416,0.5650,0.5877
-0.6099,0.6316,0.6519,0.6719,0.6909,0.7099,0.7277,0.7463,0.7645,0.7821
-0.7979,0.8154,0.8320,0.8477,0.8612,0.8740,0.8865,0.8973,0.9077,0.9161
-0.9234,0.9301,0.9351,0.9406,0.9454,0.9497,0.9531,0.9570,0.9605,0.9631
-0.9660,0.9690,0.9713,0.9728,0.9748,0.9762,0.9775,0.9786,0.9800,0.9807
-0.9818,0.9827,0.9833,0.9843,0.9849,0.9857,0.9861,0.9866,0.9871,0.9877
-0.9883,0.9887,0.9891,0.9895,0.9898,0.9901,0.9907,0.9913,0.9916,0.9918
-0.9921,0.9925,0.9929,0.9931,0.9935,0.9940,0.9944,0.9946,0.9949,0.9952
-0.9956,0.9960,0.9966,0.9968,0.9970,0.9972,0.9974,0.9976,0.9979,0.9980
-0.9984,0.9985,0.9988,0.9990,0.9991,0.9993,0.9996,0.9998,0.9999,1.0000
-pwc1v1fract=0.0002,0.0006,0.0008,0.0011,0.0013,0.0016,0.0019,0.0020
-0.0022,0.0025,0.0030,0.0035,0.0038,0.0042,0.0049,0.0057,0.0076,0.0103
-0.0149,0.0200,0.0273,0.0353,0.0455,0.0574,0.0719,0.0865,0.1045,0.1224
-0.1416,0.1630,0.1844,0.2074,0.2317,0.2555,0.2807,0.3046,0.3298,0.3553
-0.3826,0.4075,0.4316,0.4563,0.4823,0.5065,0.5315,0.5554,0.5781,0.6014
-0.6235,0.6434,0.6643,0.6853,0.7050,0.7238,0.7415,0.7602,0.7787,0.7975
-0.8152,0.8307,0.8456,0.8595,0.8723,0.8851,0.8957,0.9043,0.9126,0.9205
-0.9276,0.9330,0.9383,0.9437,0.9484,0.9521,0.9553,0.9582,0.9607,0.9634
-0.9657,0.9676,0.9701,0.9722,0.9738,0.9755,0.9767,0.9781,0.9794,0.9804
-0.9814,0.9825,0.9835,0.9842,0.9847,0.9853,0.9861,0.9866,0.9871,0.9878
-0.9882,0.9888,0.9891,0.9897,0.9900,0.9903,0.9909,0.9910,0.9917,0.9919
-0.9924,0.9929,0.9937,0.9939,0.9944,0.9948,0.9954,0.9956,0.9961,0.9966
-0.9968,0.9972,0.9974,0.9978,0.9980,0.9981,0.9984,0.9986,0.9989,0.9991
-0.9995,0.9996,0.9998,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc1u2fract=0.0003,0.0004,0.0008,0.0011,0.0015,0.0018,0.0021,0.0024
-0.0027,0.0030,0.0033,0.0037,0.0039,0.0043,0.0046,0.0049,0.0059,0.0073
-0.0094,0.0129,0.0184,0.0267,0.0352,0.0446,0.0563,0.0707,0.0863,0.1030
-0.1206,0.1411,0.1629,0.1845,0.2087,0.2325,0.2578,0.2837,0.3091,0.3357
-0.3606,0.3867,0.4119,0.4362,0.4608,0.4857,0.5099,0.5349,0.5587,0.5814
-0.6047,0.6260,0.6480,0.6685,0.6892,0.7099,0.7282,0.7456,0.7643,0.7812
-0.7988,0.8141,0.8309,0.8454,0.8616,0.8738,0.8847,0.8955,0.9049,0.9133
-0.9199,0.9274,0.9341,0.9399,0.9445,0.9489,0.9529,0.9561,0.9593,0.9620
-0.9645,0.9667,0.9689,0.9701,0.9720,0.9740,0.9756,0.9771,0.9785,0.9796
-0.9808,0.9816,0.9823,0.9832,0.9839,0.9846,0.9854,0.9860,0.9867,0.9874
-0.9876,0.9881,0.9885,0.9889,0.9895,0.9900,0.9902,0.9907,0.9910,0.9916
-0.9919,0.9923,0.9927,0.9930,0.9934,0.9937,0.9942,0.9945,0.9949,0.9953
-0.9957,0.9962,0.9965,0.9968,0.9971,0.9973,0.9976,0.9979,0.9981,0.9984
-0.9986,0.9988,0.9989,0.9993,0.9995,0.9998,0.9999,0.9999,1.0000,1.0000
-pwc1x2fract=0.0002,0.0005,0.0008,0.0011,0.0014,0.0017,0.0021,0.0025
-0.0027,0.0031,0.0032,0.0034,0.0040,0.0045,0.0052,0.0065,0.0083,0.0112
-0.0150,0.0200,0.0264,0.0341,0.0435,0.0560,0.0701,0.0862,0.1027,0.1210
-0.1417,0.1628,0.1833,0.2069,0.2301,0.2547,0.2799,0.3062,0.3314,0.3582
-0.3860,0.4141,0.4390,0.4656,0.4903,0.5161,0.5410,0.5649,0.5874,0.6090
-0.6298,0.6507,0.6721,0.6923,0.7117,0.7312,0.7510,0.7706,0.7881,0.8052
-0.8204,0.8360,0.8525,0.8666,0.8793,0.8906,0.9019,0.9103,0.9194,0.9274
-0.9340,0.9397,0.9442,0.9483,0.9523,0.9557,0.9596,0.9625,0.9653,0.9678
-0.9698,0.9718,0.9732,0.9751,0.9768,0.9782,0.9793,0.9804,0.9813,0.9821
-0.9828,0.9834,0.9842,0.9848,0.9852,0.9857,0.9861,0.9864,0.9872,0.9877
-0.9880,0.9886,0.9889,0.9894,0.9898,0.9903,0.9908,0.9915,0.9921,0.9924
-0.9927,0.9930,0.9935,0.9939,0.9943,0.9945,0.9949,0.9952,0.9957,0.9960
-0.9963,0.9965,0.9967,0.9972,0.9975,0.9979,0.9980,0.9985,0.9987,0.9988
-0.9990,0.9991,0.9992,0.9995,0.9997,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc1v2fract=0.0004,0.0006,0.0008,0.0012,0.0013,0.0016,0.0018,0.0021
-0.0024,0.0027,0.0029,0.0032,0.0036,0.0039,0.0043,0.0049,0.0063,0.0080
-0.0113,0.0155,0.0218,0.0300,0.0397,0.0508,0.0645,0.0793,0.0949,0.1135
-0.1343,0.1560,0.1786,0.2019,0.2250,0.2498,0.2756,0.3011,0.3270,0.3526
-0.3778,0.4042,0.4299,0.4570,0.4821,0.5077,0.5311,0.5540,0.5784,0.6010
-0.6219,0.6429,0.6633,0.6830,0.7023,0.7214,0.7403,0.7590,0.7786,0.7948
-0.8118,0.8288,0.8444,0.8587,0.8725,0.8842,0.8946,0.9044,0.9136,0.9208
-0.9264,0.9323,0.9377,0.9428,0.9472,0.9506,0.9541,0.9576,0.9602,0.9635
-0.9656,0.9675,0.9695,0.9715,0.9732,0.9751,0.9768,0.9777,0.9789,0.9802
-0.9809,0.9819,0.9828,0.9835,0.9841,0.9850,0.9858,0.9863,0.9866,0.9870
-0.9875,0.9880,0.9884,0.9888,0.9894,0.9899,0.9901,0.9905,0.9909,0.9912
-0.9917,0.9919,0.9922,0.9926,0.9931,0.9936,0.9941,0.9945,0.9951,0.9954
-0.9959,0.9962,0.9964,0.9967,0.9969,0.9971,0.9975,0.9978,0.9980,0.9983
-0.9986,0.9988,0.9991,0.9995,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000
-
-pwc2u1fract=0.0002,0.0005,0.0009,0.0011,0.0015,0.0018,0.0022,0.0027
-0.0029,0.0033,0.0038,0.0044,0.0048,0.0051,0.0057,0.0070,0.0090,0.0121
-0.0167,0.0217,0.0282,0.0371,0.0467,0.0582,0.0723,0.0873,0.1038,0.1211
-0.1409,0.1609,0.1826,0.2060,0.2302,0.2542,0.2796,0.3043,0.3294,0.3555
-0.3819,0.4085,0.4343,0.4618,0.4890,0.5140,0.5384,0.5635,0.5880,0.6100
-0.6311,0.6522,0.6722,0.6928,0.7120,0.7316,0.7495,0.7684,0.7853,0.8026
-0.8191,0.8334,0.8491,0.8629,0.8771,0.8888,0.8994,0.9089,0.9170,0.9242
-0.9308,0.9364,0.9411,0.9457,0.9496,0.9538,0.9571,0.9602,0.9630,0.9654
-0.9679,0.9698,0.9718,0.9735,0.9750,0.9765,0.9778,0.9791,0.9804,0.9815
-0.9825,0.9833,0.9844,0.9851,0.9855,0.9862,0.9870,0.9874,0.9877,0.9883
-0.9889,0.9893,0.9895,0.9898,0.9901,0.9904,0.9910,0.9918,0.9923,0.9927
-0.9930,0.9935,0.9937,0.9941,0.9943,0.9947,0.9949,0.9952,0.9957,0.9962
-0.9964,0.9966,0.9970,0.9973,0.9975,0.9977,0.9979,0.9982,0.9986,0.9988
-0.9990,0.9991,0.9994,0.9995,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000
-pwc2x1fract=0.0004,0.0006,0.0008,0.0010,0.0012,0.0015,0.0017,0.0021
-0.0025,0.0028,0.0031,0.0033,0.0036,0.0041,0.0045,0.0051,0.0060,0.0075
-0.0104,0.0138,0.0191,0.0265,0.0356,0.0463,0.0596,0.0743,0.0916,0.1114
-0.1316,0.1533,0.1757,0.1988,0.2209,0.2455,0.2689,0.2945,0.3196,0.3437
-0.3697,0.3950,0.4196,0.4448,0.4702,0.4953,0.5186,0.5416,0.5650,0.5877
-0.6099,0.6316,0.6519,0.6719,0.6909,0.7099,0.7277,0.7463,0.7645,0.7821
-0.7979,0.8154,0.8320,0.8477,0.8612,0.8740,0.8865,0.8973,0.9077,0.9161
-0.9234,0.9301,0.9351,0.9406,0.9454,0.9497,0.9531,0.9570,0.9605,0.9631
-0.9660,0.9690,0.9713,0.9728,0.9748,0.9762,0.9775,0.9786,0.9800,0.9807
-0.9818,0.9827,0.9833,0.9843,0.9849,0.9857,0.9861,0.9866,0.9871,0.9877
-0.9883,0.9887,0.9891,0.9895,0.9898,0.9901,0.9907,0.9913,0.9916,0.9918
-0.9921,0.9925,0.9929,0.9931,0.9935,0.9940,0.9944,0.9946,0.9949,0.9952
-0.9956,0.9960,0.9966,0.9968,0.9970,0.9972,0.9974,0.9976,0.9979,0.9980
-0.9984,0.9985,0.9988,0.9990,0.9991,0.9993,0.9996,0.9998,0.9999,1.0000
-pwc2v1fract=0.0002,0.0006,0.0008,0.0011,0.0013,0.0016,0.0019,0.0020
-0.0022,0.0025,0.0030,0.0035,0.0038,0.0042,0.0049,0.0057,0.0076,0.0103
-0.0149,0.0200,0.0273,0.0353,0.0455,0.0574,0.0719,0.0865,0.1045,0.1224
-0.1416,0.1630,0.1844,0.2074,0.2317,0.2555,0.2807,0.3046,0.3298,0.3553
-0.3826,0.4075,0.4316,0.4563,0.4823,0.5065,0.5315,0.5554,0.5781,0.6014
-0.6235,0.6434,0.6643,0.6853,0.7050,0.7238,0.7415,0.7602,0.7787,0.7975
-0.8152,0.8307,0.8456,0.8595,0.8723,0.8851,0.8957,0.9043,0.9126,0.9205
-0.9276,0.9330,0.9383,0.9437,0.9484,0.9521,0.9553,0.9582,0.9607,0.9634
-0.9657,0.9676,0.9701,0.9722,0.9738,0.9755,0.9767,0.9781,0.9794,0.9804
-0.9814,0.9825,0.9835,0.9842,0.9847,0.9853,0.9861,0.9866,0.9871,0.9878
-0.9882,0.9888,0.9891,0.9897,0.9900,0.9903,0.9909,0.9910,0.9917,0.9919
-0.9924,0.9929,0.9937,0.9939,0.9944,0.9948,0.9954,0.9956,0.9961,0.9966
-0.9968,0.9972,0.9974,0.9978,0.9980,0.9981,0.9984,0.9986,0.9989,0.9991
-0.9995,0.9996,0.9998,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc2u2fract=0.0003,0.0004,0.0008,0.0011,0.0015,0.0018,0.0021,0.0024
-0.0027,0.0030,0.0033,0.0037,0.0039,0.0043,0.0046,0.0049,0.0059,0.0073
-0.0094,0.0129,0.0184,0.0267,0.0352,0.0446,0.0563,0.0707,0.0863,0.1030
-0.1206,0.1411,0.1629,0.1845,0.2087,0.2325,0.2578,0.2837,0.3091,0.3357
-0.3606,0.3867,0.4119,0.4362,0.4608,0.4857,0.5099,0.5349,0.5587,0.5814
-0.6047,0.6260,0.6480,0.6685,0.6892,0.7099,0.7282,0.7456,0.7643,0.7812
-0.7988,0.8141,0.8309,0.8454,0.8616,0.8738,0.8847,0.8955,0.9049,0.9133
-0.9199,0.9274,0.9341,0.9399,0.9445,0.9489,0.9529,0.9561,0.9593,0.9620
-0.9645,0.9667,0.9689,0.9701,0.9720,0.9740,0.9756,0.9771,0.9785,0.9796
-0.9808,0.9816,0.9823,0.9832,0.9839,0.9846,0.9854,0.9860,0.9867,0.9874
-0.9876,0.9881,0.9885,0.9889,0.9895,0.9900,0.9902,0.9907,0.9910,0.9916
-0.9919,0.9923,0.9927,0.9930,0.9934,0.9937,0.9942,0.9945,0.9949,0.9953
-0.9957,0.9962,0.9965,0.9968,0.9971,0.9973,0.9976,0.9979,0.9981,0.9984
-0.9986,0.9988,0.9989,0.9993,0.9995,0.9998,0.9999,0.9999,1.0000,1.0000
-pwc2x2fract=0.0002,0.0005,0.0008,0.0011,0.0014,0.0017,0.0021,0.0025
-0.0027,0.0031,0.0032,0.0034,0.0040,0.0045,0.0052,0.0065,0.0083,0.0112
-0.0150,0.0200,0.0264,0.0341,0.0435,0.0560,0.0701,0.0862,0.1027,0.1210
-0.1417,0.1628,0.1833,0.2069,0.2301,0.2547,0.2799,0.3062,0.3314,0.3582
-0.3860,0.4141,0.4390,0.4656,0.4903,0.5161,0.5410,0.5649,0.5874,0.6090
-0.6298,0.6507,0.6721,0.6923,0.7117,0.7312,0.7510,0.7706,0.7881,0.8052
-0.8204,0.8360,0.8525,0.8666,0.8793,0.8906,0.9019,0.9103,0.9194,0.9274
-0.9340,0.9397,0.9442,0.9483,0.9523,0.9557,0.9596,0.9625,0.9653,0.9678
-0.9698,0.9718,0.9732,0.9751,0.9768,0.9782,0.9793,0.9804,0.9813,0.9821
-0.9828,0.9834,0.9842,0.9848,0.9852,0.9857,0.9861,0.9864,0.9872,0.9877
-0.9880,0.9886,0.9889,0.9894,0.9898,0.9903,0.9908,0.9915,0.9921,0.9924
-0.9927,0.9930,0.9935,0.9939,0.9943,0.9945,0.9949,0.9952,0.9957,0.9960
-0.9963,0.9965,0.9967,0.9972,0.9975,0.9979,0.9980,0.9985,0.9987,0.9988
-0.9990,0.9991,0.9992,0.9995,0.9997,1.0000,1.0000,1.0000,1.0000,1.0000
-pwc2v2fract=0.0004,0.0006,0.0008,0.0012,0.0013,0.0016,0.0018,0.0021
-0.0024,0.0027,0.0029,0.0032,0.0036,0.0039,0.0043,0.0049,0.0063,0.0080
-0.0113,0.0155,0.0218,0.0300,0.0397,0.0508,0.0645,0.0793,0.0949,0.1135
-0.1343,0.1560,0.1786,0.2019,0.2250,0.2498,0.2756,0.3011,0.3270,0.3526
-0.3778,0.4042,0.4299,0.4570,0.4821,0.5077,0.5311,0.5540,0.5784,0.6010
-0.6219,0.6429,0.6633,0.6830,0.7023,0.7214,0.7403,0.7590,0.7786,0.7948
-0.8118,0.8288,0.8444,0.8587,0.8725,0.8842,0.8946,0.9044,0.9136,0.9208
-0.9264,0.9323,0.9377,0.9428,0.9472,0.9506,0.9541,0.9576,0.9602,0.9635
-0.9656,0.9675,0.9695,0.9715,0.9732,0.9751,0.9768,0.9777,0.9789,0.9802
-0.9809,0.9819,0.9828,0.9835,0.9841,0.9850,0.9858,0.9863,0.9866,0.9870
-0.9875,0.9880,0.9884,0.9888,0.9894,0.9899,0.9901,0.9905,0.9909,0.9912
-0.9917,0.9919,0.9922,0.9926,0.9931,0.9936,0.9941,0.9945,0.9951,0.9954
-0.9959,0.9962,0.9964,0.9967,0.9969,0.9971,0.9975,0.9978,0.9980,0.9983
-0.9986,0.9988,0.9991,0.9995,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000
\ No newline at end of file
+; number of 1st bin in Carlos's table in ns
+pdrift1stbin=0
+; bin size in ns
+pdriftbinsz=2
+pwc1u1fract=0.0020958,0.00550,0.01002,0.01739,0.02577,0.03772,0.04948,0.06559,0.08364
+0.10279,0.12221,0.14307,0.16406,0.18584,0.20811,0.23051,0.25228,0.27458,0.29806
+0.31974,0.34080,0.36412,0.38678,0.40832,0.43010,0.45152,0.47421,0.49602,0.51701
+0.53846,0.56007,0.58198,0.60153,0.62259,0.64276,0.66234,0.68271,0.70063,0.72034
+0.73878,0.75744,0.77483,0.79075,0.80817,0.82274,0.83898,0.85205,0.86623,0.87825
+0.89020,0.90140,0.91057,0.92020,0.92776,0.93441,0.94158,0.94708,0.95216,0.95635
+0.96054,0.96447,0.96788,0.97099,0.97377,0.97675,0.97934,0.98120,0.98294,0.98481
+0.98654,0.98860,0.99004,0.99132,0.99230,0.99339,0.99404,0.99515,0.99584,0.99653
+0.99695,0.99745,0.99800,0.99826,0.99849,0.99882,0.99915,0.99925,0.99941,0.99954
+0.99967,0.99977,0.99980,0.99980,0.99987,0.99993,0.99993,0.99997,0.99997,0.99997
+0.99997,0.99997,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc1u2fract=0.00192,0.00536,0.01094,0.01854,0.02916,0.04075,0.05474,0.07176,0.08975
+0.11056,0.13105,0.15306,0.17436,0.19660,0.21781,0.24115,0.26408,0.28814,0.31077
+0.33350,0.35671,0.37931,0.40110,0.42399,0.44561,0.46795,0.48964,0.51143,0.53266
+0.55299,0.57546,0.59595,0.61543,0.63533,0.65579,0.67469,0.69323,0.71099,0.72852
+0.74609,0.76472,0.78174,0.79804,0.81421,0.82970,0.84343,0.85765,0.87162,0.88343
+0.89532,0.90613,0.91607,0.92412,0.93107,0.93769,0.94428,0.94883,0.95354,0.95724
+0.96110,0.96458,0.96779,0.97029,0.97312,0.97565,0.97792,0.98026,0.98266,0.98487
+0.98665,0.98851,0.98977,0.99127,0.99224,0.99308,0.99403,0.99493,0.99597,0.99643
+0.99711,0.99756,0.99786,0.99802,0.99854,0.99890,0.99919,0.99929,0.99935,0.99951
+0.99964,0.99974,0.99984,0.99987,0.99990,0.99990,0.99990,0.99990,0.99994,0.99994
+0.99994,0.99997,0.99997,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc1x1fract=0.00604,0.01330,0.02308,0.03473,0.04813,0.06361,0.08088,0.09973,0.11789
+0.13855,0.15859,0.18048,0.20144,0.22475,0.24776,0.26958,0.29143,0.31348,0.33685
+0.35851,0.37901,0.39974,0.42242,0.44375,0.46547,0.48686,0.50839,0.52964,0.55256
+0.57292,0.59316,0.61379,0.63334,0.65192,0.67226,0.69124,0.70831,0.72782,0.74680
+0.76429,0.78120,0.79787,0.81335,0.82811,0.84214,0.85650,0.87020,0.88221,0.89327
+0.90324,0.91206,0.92034,0.92787,0.93543,0.94187,0.94702,0.95111,0.95471,0.95798
+0.96200,0.96544,0.96854,0.97158,0.97402,0.97643,0.97891,0.98079,0.98257,0.98409
+0.98567,0.98739,0.98914,0.99066,0.99165,0.99294,0.99422,0.99488,0.99584,0.99640
+0.99706,0.99752,0.99799,0.99825,0.99842,0.99878,0.99891,0.99908,0.99927,0.99934
+0.99954,0.99960,0.99964,0.99967,0.99970,0.99970,0.99977,0.99987,0.99987,0.99993
+0.99993,0.99993,0.99993,0.99997,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc1x2fract=0.00262,0.00736,0.01364,0.02145,0.03149,0.04365,0.05850,0.07521,0.09336
+0.11409,0.13596,0.15849,0.17942,0.20123,0.22396,0.24655,0.26751,0.29037,0.31038
+0.33356,0.35491,0.37637,0.39811,0.41904,0.43843,0.45975,0.47989,0.50095,0.52302
+0.54388,0.56465,0.58508,0.60532,0.62478,0.64424,0.66343,0.68249,0.70067,0.71699
+0.73511,0.75374,0.77078,0.78834,0.80407,0.81999,0.83503,0.85050,0.86315,0.87587
+0.88771,0.89854,0.90736,0.91619,0.92384,0.93114,0.93705,0.94301,0.94804,0.95219
+0.95631,0.96014,0.96334,0.96622,0.96923,0.97201,0.97463,0.97741,0.97996,0.98182
+0.98349,0.98519,0.98699,0.98878,0.99029,0.99212,0.99313,0.99428,0.99500,0.99572
+0.99601,0.99650,0.99702,0.99745,0.99794,0.99837,0.99863,0.99879,0.99895,0.99915
+0.99922,0.99928,0.99944,0.99948,0.99957,0.99961,0.99964,0.99967,0.99967,0.99967
+0.99971,0.99974,0.99974,0.99977,0.99977,0.99980,0.99980,0.99984,0.99984,0.99984
+0.99984,0.99984,0.99987,0.99987,0.99990,0.99990,0.99990,0.99990,0.99993,0.99993
+0.99993,0.99993,0.99993,0.99993,0.99993,0.99993,0.99993,0.99993,0.99993,0.99993
+0.99993,0.99997,0.99997,0.99997,0.99997,1.00000,1.00000,1.00000,1.00000
+pwc1v1fract=0.00587,0.01226,0.02231,0.03338,0.04752,0.06370,0.08110,0.09998,0.12120
+0.14212,0.16364,0.18562,0.20819,0.23067,0.25255,0.27584,0.29838,0.31980,0.34280
+0.36468,0.38594,0.40953,0.43039,0.45280,0.47507,0.49725,0.51913,0.54075,0.56114
+0.58138,0.60115,0.62309,0.64342,0.66115,0.68069,0.69911,0.71599,0.73444,0.75210
+0.76947,0.78617,0.80225,0.81731,0.83349,0.84756,0.86078,0.87346,0.88546,0.89620
+0.90612,0.91515,0.92319,0.93021,0.93650,0.94171,0.94705,0.95087,0.95542,0.95888
+0.96326,0.96622,0.96939,0.97196,0.97443,0.97690,0.97927,0.98181,0.98359,0.98540
+0.98718,0.98890,0.99028,0.99183,0.99285,0.99433,0.99502,0.99591,0.99641,0.99700
+0.99740,0.99769,0.99806,0.99839,0.99858,0.99871,0.99895,0.99914,0.99934,0.99951
+0.99964,0.99970,0.99977,0.99984,0.99990,0.99993,0.99993,0.99993,0.99997,0.99997
+0.99997,0.99997,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc1v2fract=0.00340,0.00893,0.01651,0.02543,0.03609,0.04979,0.06568,0.08337,0.10194
+0.12119,0.14185,0.16438,0.18602,0.20930,0.23231,0.25553,0.27583,0.29930,0.32258
+0.34478,0.36697,0.38927,0.41196,0.43308,0.45629,0.47891,0.50062,0.52233,0.54204
+0.56355,0.58389,0.60442,0.62498,0.64329,0.66307,0.68370,0.70181,0.72126,0.73875
+0.75477,0.77295,0.78887,0.80365,0.81797,0.83297,0.84749,0.86158,0.87485,0.88610
+0.89646,0.90617,0.91467,0.92334,0.93059,0.93674,0.94217,0.94733,0.95158,0.95606
+0.96021,0.96325,0.96587,0.96920,0.97208,0.97496,0.97754,0.97963,0.98179,0.98382
+0.98532,0.98686,0.98885,0.99019,0.99114,0.99222,0.99304,0.99405,0.99487,0.99552
+0.99637,0.99696,0.99722,0.99761,0.99804,0.99830,0.99859,0.99879,0.99886,0.99905
+0.99922,0.99938,0.99944,0.99957,0.99964,0.99967,0.99971,0.99974,0.99974,0.99977
+0.99977,0.99980,0.99984,0.99984,0.99984,0.99984,0.99984,0.99984,0.99984,0.99984
+0.99984,0.99984,0.99984,0.99987,0.99987,0.99987,0.99987,0.99987,0.99987,0.99987
+0.99987,0.99987,0.99987,0.99987,0.99987,0.99987,0.99987,0.99987,0.99987,0.99987
+0.99990,0.99990,0.99993,0.99997,0.99997,0.99997,1.00000,1.00000,1.00000
+pwc2v2fract=0.00355,0.00811,0.01463,0.02407,0.03587,0.04919,0.06677,0.08541,0.10400
+0.12540,0.14794,0.17011,0.19288,0.21693,0.23949,0.26299,0.28650,0.30951,0.33287
+0.35488,0.37780,0.39963,0.42181,0.44353,0.46490,0.48629,0.50656,0.52717,0.54784
+0.56852,0.58965,0.60916,0.62797,0.64653,0.66474,0.68310,0.70099,0.71828,0.73546
+0.75155,0.76685,0.78194,0.79734,0.81166,0.82645,0.83962,0.85270,0.86479,0.87595
+0.88651,0.89623,0.90495,0.91333,0.92068,0.92721,0.93332,0.93810,0.94279,0.94743
+0.95203,0.95604,0.95939,0.96229,0.96514,0.96786,0.97076,0.97319,0.97559,0.97771
+0.97986,0.98193,0.98360,0.98553,0.98730,0.98893,0.99021,0.99108,0.99205,0.99300
+0.99375,0.99470,0.99540,0.99585,0.99629,0.99679,0.99719,0.99765,0.99799,0.99832
+0.99846,0.99862,0.99894,0.99903,0.99914,0.99923,0.99937,0.99953,0.99964,0.99968
+0.99975,0.99982,0.99982,0.99984,0.99987,0.99987,0.99991,0.99993,0.99995,0.99996
+0.99996,0.99996,0.99996,0.99998,0.99998,0.99998,0.99998,0.99998,0.99998,0.99998
+0.99998,0.99998,0.99998,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc2v1fract=0.00372,0.00848,0.01548,0.02441,0.03573,0.04956,0.06476,0.08295,0.10351
+0.12426,0.14625,0.16946,0.19199,0.21540,0.23858,0.26192,0.28639,0.30861,0.33119
+0.35334,0.37566,0.39810,0.42021,0.44146,0.46266,0.48382,0.50582,0.52804,0.54885
+0.56798,0.58801,0.60859,0.62777,0.64688,0.66520,0.68353,0.70152,0.71956,0.73761
+0.75335,0.76982,0.78458,0.79995,0.81450,0.82748,0.84073,0.85341,0.86489,0.87527
+0.88573,0.89487,0.90394,0.91159,0.91911,0.92546,0.93130,0.93661,0.94148,0.94587
+0.94992,0.95404,0.95789,0.96136,0.96449,0.96755,0.97010,0.97255,0.97491,0.97713
+0.97915,0.98114,0.98275,0.98458,0.98592,0.98751,0.98881,0.99004,0.99134,0.99221
+0.99298,0.99396,0.99456,0.99526,0.99597,0.99640,0.99714,0.99754,0.99778,0.99816
+0.99841,0.99861,0.99882,0.99897,0.99915,0.99920,0.99937,0.99944,0.99953,0.99964
+0.99971,0.99976,0.99978,0.99982,0.99986,0.99986,0.99989,0.99996,0.99998,0.99998
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc2x2fract=0.00273,0.00715,0.01355,0.02204,0.03274,0.04612,0.06183,0.08042,0.09892
+0.11876,0.14088,0.16295,0.18590,0.20896,0.23253,0.25474,0.27887,0.30140,0.32319
+0.34527,0.36878,0.39027,0.41159,0.43320,0.45397,0.47620,0.49685,0.51873,0.53997
+0.56079,0.58000,0.59982,0.61994,0.63833,0.65730,0.67629,0.69488,0.71185,0.72945
+0.74559,0.76034,0.77572,0.79084,0.80480,0.81885,0.83163,0.84497,0.85717,0.86887
+0.87936,0.88973,0.89888,0.90758,0.91469,0.92266,0.92871,0.93477,0.93975,0.94473
+0.94887,0.95311,0.95691,0.96043,0.96402,0.96686,0.96950,0.97235,0.97469,0.97770
+0.97983,0.98189,0.98345,0.98514,0.98657,0.98803,0.98942,0.99069,0.99178,0.99271
+0.99365,0.99440,0.99512,0.99586,0.99630,0.99685,0.99718,0.99764,0.99805,0.99826
+0.99845,0.99870,0.99887,0.99896,0.99908,0.99926,0.99944,0.99954,0.99958,0.99961
+0.99968,0.99974,0.99974,0.99975,0.99982,0.99982,0.99984,0.99986,0.99989,0.99991
+0.99993,0.99993,0.99995,0.99995,0.99996,0.99996,0.99996,0.99996,0.99996,0.99996
+0.99996,0.99996,0.99996,0.99996,0.99996,0.99996,0.99996,0.99996,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc2x1fract=0.00269,0.00655,0.01238,0.02026,0.03076,0.04237,0.05721,0.07286,0.09074
+0.10990,0.13086,0.15127,0.17513,0.19808,0.21996,0.24259,0.26537,0.28700,0.30956
+0.33140,0.35472,0.37650,0.39789,0.41888,0.44103,0.46255,0.48301,0.50454,0.52595
+0.54652,0.56800,0.58817,0.60742,0.62763,0.64721,0.66513,0.68315,0.70174,0.71896
+0.73531,0.75199,0.76820,0.78380,0.79914,0.81382,0.82846,0.84117,0.85393,0.86529
+0.87711,0.88755,0.89691,0.90553,0.91347,0.92066,0.92770,0.93366,0.93864,0.94362
+0.94777,0.95195,0.95612,0.95964,0.96283,0.96603,0.96896,0.97175,0.97480,0.97722
+0.97963,0.98193,0.98357,0.98535,0.98699,0.98833,0.98957,0.99091,0.99207,0.99304
+0.99378,0.99456,0.99544,0.99616,0.99677,0.99721,0.99761,0.99778,0.99812,0.99846
+0.99870,0.99892,0.99919,0.99937,0.99951,0.99959,0.99971,0.99971,0.99976,0.99976
+0.99978,0.99978,0.99983,0.99985,0.99988,0.99990,0.99990,0.99992,0.99992,0.99992
+0.99992,0.99992,0.99992,0.99993,0.99995,0.99995,0.99995,0.99995,0.99995,0.99995
+0.99995,0.99995,0.99997,0.99998,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc2u2fract=0.00237,0.00581,0.01068,0.01782,0.02712,0.03875,0.05280,0.06868,0.08541
+0.10517,0.12528,0.14629,0.16884,0.19099,0.21299,0.23643,0.25869,0.28213,0.30434
+0.32678,0.34909,0.37174,0.39436,0.41625,0.43794,0.45954,0.48214,0.50378,0.52612
+0.54676,0.56720,0.58734,0.60833,0.62706,0.64672,0.66643,0.68381,0.70311,0.72117
+0.73876,0.75651,0.77290,0.78840,0.80271,0.81762,0.83198,0.84523,0.85838,0.87054
+0.88217,0.89223,0.90219,0.91106,0.91891,0.92627,0.93193,0.93753,0.94300,0.94747
+0.95198,0.95570,0.95922,0.96280,0.96595,0.96887,0.97174,0.97436,0.97680,0.97881
+0.98093,0.98278,0.98473,0.98631,0.98770,0.98939,0.99066,0.99200,0.99297,0.99412
+0.99487,0.99556,0.99620,0.99659,0.99711,0.99744,0.99782,0.99821,0.99859,0.99886
+0.99900,0.99919,0.99928,0.99940,0.99952,0.99955,0.99962,0.99966,0.99969,0.99978
+0.99979,0.99986,0.99986,0.99990,0.99993,0.99995,0.99995,0.99995,0.99995,0.99995
+0.99995,0.99995,0.99997,0.99997,0.99998,0.99998,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+pwc2u1fract=0.00286,0.00678,0.01311,0.02071,0.03000,0.04184,0.05560,0.07218,0.08949
+0.10886,0.12878,0.15013,0.17143,0.19400,0.21638,0.23885,0.26210,0.28499,0.30799
+0.33149,0.35450,0.37694,0.39903,0.42079,0.44323,0.46431,0.48507,0.50695,0.52818
+0.54926,0.57110,0.59212,0.61239,0.63161,0.65112,0.67003,0.68866,0.70782,0.72560
+0.74401,0.76115,0.77812,0.79482,0.80987,0.82598,0.84019,0.85395,0.86640,0.87848
+0.88970,0.89967,0.90845,0.91686,0.92449,0.93102,0.93708,0.94241,0.94746,0.95154
+0.95614,0.95993,0.96300,0.96655,0.96970,0.97251,0.97476,0.97719,0.97971,0.98181
+0.98349,0.98540,0.98741,0.98885,0.99029,0.99135,0.99259,0.99369,0.99464,0.99538
+0.99599,0.99672,0.99729,0.99767,0.99797,0.99822,0.99866,0.99885,0.99898,0.99919
+0.99929,0.99931,0.99939,0.99954,0.99958,0.99966,0.99970,0.99971,0.99975,0.99980
+0.99981,0.99983,0.99986,0.99988,0.99990,0.99992,0.99992,0.99992,0.99992,0.99992
+0.99993,0.99993,0.99995,0.99997,0.99997,0.99997,0.99997,0.99997,0.99997,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
+1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000
diff --git a/PARAM/SHMS/GEN/pcana.param b/PARAM/SHMS/GEN/pcana.param
index d58c0f93..8524663d 100644
--- a/PARAM/SHMS/GEN/pcana.param
+++ b/PARAM/SHMS/GEN/pcana.param
@@ -1,19 +1,18 @@
 ; Parameters we need to keep THcHallCSpectrometer Happy
-p_recon_coeff_filename = ""
+p_recon_coeff_filename = "DATFILES/SHMS_fr3_rec__order_5.dat"
 
 ppartmass = 0.139
-phodo_num_planes = 1
 
 ; Scintillator parameters
 pref_npaddles = 6
 pref_nsperchan = 0.1
 pref_offset = 0.0
 
-; Names of planes so that parameter names can be constructed
-pdc_plane_names = "1u1 1u2 1x1 1x2 1v1 1v2 2v2 2v1 2x2 2x1 2u2 2u1"
+; Number of aerogel pairs of pmt's
+paero_num_pairs = 7
 
-; Compatibility parameters.  Should be zero to precisely mimic ENGINE
-; behavior, but one for more correct behavior
-pdc_fix_lr = 1 ; Let hit have different L/R assignment for different space point
-pdc_fix_propcorr = 1 ; do propagation along wire each time hit appeears
-                     ; in a space point
\ No newline at end of file
+; Number of heavy gas Cherenkov PMT's
+phgcer_tot_pmts = 4
+
+; Number of noble gas Cherenkov PMT's
+pngcer_tot_pmts = 4
diff --git a/PARAM/SHMS/GEN/pdebug.param b/PARAM/SHMS/GEN/pdebug.param
index 3e1149e0..e36705b5 100644
--- a/PARAM/SHMS/GEN/pdebug.param
+++ b/PARAM/SHMS/GEN/pdebug.param
@@ -5,4 +5,17 @@ pdebugprintdecodeddc = 0 ; Dump PDC_DECODED_DC bank
 pdebugflagpr = 0 ; Dump intermediate pattern recognition results
 pdebugflagstubs= 0 ; Dump stub fit results
 pdebugtrackprint = 0 ; Dump focal plane track fit results
-pdebugstubchisq = 0; Dump chi2 of left-right fits
\ No newline at end of file
+pdebugstubchisq = 0; Dump chi2 of left-right fits
+
+;  pluno     fortran lun for output
+      pluno = 66
+; pdebugdumptof           Dump timing information for fitting offsets
+      pdebugdumptof = 0
+; pdebugdumpcal           Dump calorimeter information for fitting gains
+      pdebugdumpcal = 0
+; number of pedestal events required to overwrite orig. peds.
+  phodo_min_peds = 500
+  pcal_min_peds  = 500
+  pcer_min_peds  = 500
+  paero_min_peds  = 500
+  pmisc_min_peds  = 500
diff --git a/PARAM/SHMS/GEN/ptracking.param b/PARAM/SHMS/GEN/ptracking.param
index 1de167cf..bb63238c 100644
--- a/PARAM/SHMS/GEN/ptracking.param
+++ b/PARAM/SHMS/GEN/ptracking.param
@@ -13,7 +13,7 @@ pmin_hit = 5, 5
 pmin_combos = 6, 6
 ; hspace_point_criterion(i) minimum separation of distinct space points
 ; recommended value for hspace_point_criterion ( based on meeting
-; Feb 2003) 
+; Feb 2003)
   pspace_point_criterion = 1.2, 1.2
 
 ; The following four criteria are applied to the stub fit results at the
@@ -25,12 +25,72 @@ pntracks_max_fp = 10
 ; focal plane position to link stubs to tracks
   pntracks_max_fp = 10
   pxt_track_criterion = 100.0
-  pyt_track_criterion = 2.0
+  pyt_track_criterion = 20.0
   pxpt_track_criterion = 1.0
   pypt_track_criterion = 1.0
 
 ; Make a track of all single stubs normally 0
-  psingle_stub = 1 
+  psingle_stub = 0
 
 ; No small angle approximation for cosmic ray tests
-  pSmallAngleApprox = 0
\ No newline at end of file
+  pSmallAngleApprox = 0
+
+; Crude track selection criteria in h_physics
+; psel_chi2_fpperdegmax   maximum chi2 per degree of freedom for track
+  psel_chi2_fpperdegmax = 2000000.
+; psel_dedx1min           minimum dedx to chose best track in scin 1
+  psel_dedx1min = -100000
+; psel_dedx1max           maximum dedx to chose best track in scin 1
+  psel_dedx1max = 1000000.
+; psel_betamin            minimum track beta to chose best track
+  psel_betamin  = -100000
+; psel_betamax            maximum track beta to chose best track
+  psel_betamax  = 100000.
+; psel_etmin              minimum track et to chose best track
+  psel_etmin = 0.05
+; psel_etmax              maximum track et to chose best track
+  psel_etmax = 100000.
+; psel_ndegreesmin        minimum number of degrees of freedom for track
+  psel_ndegreesmin = 1
+
+
+; pstat_maxchisq          chisquared limit for tracks used to measure hodo. eff.
+  pstat_maxchisq = 10.
+; if both psel_using_scin = 0 and psel_using_prune = 0 then best chi2 track is used.
+; psel_using_scin         uses scintillator for track selection
+  psel_using_scin = 0
+; psel_using_prune         using prune
+  psel_using_prune = 0
+; pstat_slop              distance from center of scin. to count as expecting hit
+  pstat_slop = 2.
+; pstat_mineff            warning level for scin. effic.
+  pstat_mineff = .95
+; pstat_cal_maxchisq      cpisquared limit for tracks used to measure cal. eff.
+  pstat_cal_maxchisq = 10.
+; pstat_cal_slop          distance from center of block to count as expecting hit
+  pstat_cal_slop = 2.
+; phgcer_min_eff            warning level for cerenkov effic.
+  phgcer_min_eff = .98
+; phgcer_threshold          threshold for good hit (for measureing effic.)
+  phgcer_threshold = 0.5
+; pngcer_min_eff            warning level for cerenkov effic.
+  pngcer_min_eff = .98
+; pngcer_threshold          threshold for good hit (for measureing effic.)
+  pngcer_threshold = 0.5
+; pdc_min_eff             warning level for dc raw effic.(1 per plane)
+  pdc_min_eff = .96,.98,.96,.98,.98,.94
+                .96,.98,.98,.98,.98,.96
+; pdc_min_wire_eff        warning level for wire effic, measured using tracking
+  pdc_min_wire_eff = .85
+; pdc_min_plane_eff        warning level for plane effic, measured using tracking
+  pdc_min_plane_eff = .95,.95,.95,.95,.95,.95
+                      .95,.95,.95,.95,.95,.95
+;Derek added this for scintillator based fiducial cuts.  Everything from
+;loscin to hiscin inclusive will be included as "good" scintillator hits.
+  pxloscin  = 4, 4
+  pxhiscin  = 13, 13
+  pyloscin  = 4, 4
+  pyhiscin  = 7, 7
+;  ptrack_eff_test_scin_planes is the number of planes nec needed to
+;  set sweet spot to true. 4 is extra clean, 3 is good enough for e-'s.
+  ptrack_eff_test_num_scin_planes = 3
diff --git a/PARAM/SHMS/GEN/shmsflags.param b/PARAM/SHMS/GEN/shmsflags.param
index 56ef41f5..78493f50 100644
--- a/PARAM/SHMS/GEN/shmsflags.param
+++ b/PARAM/SHMS/GEN/shmsflags.param
@@ -1,6 +1,6 @@
 
-; The hdelta_offset,htheta_offset,hphi_offset effect the
-; reconstructed target quantities. Used in h_targ_trans.f 
+; The pdelta_offset,ptheta_offset,pphi_offset effect the
+; reconstructed target quantities. 
 ; For transport x is in the dispersive direction with + down
 ;               y is in the horizontal + towards small angles.
 ;               z is along the central optics axis.
@@ -8,7 +8,7 @@
 ;    but for unknown reasons the yp offset is named  htheta_offset
 ;    and  the xp offset is named  hphi_offset
 ; Do not to change these values, since these are the zero order
-;  CMOP matrix elements. If you do change then your hms sieve
+;  CMOP matrix elements. If you do change then your shms sieve
 ;  plots will be screwed up.
 
 pdelta_offset = 0.0
@@ -16,13 +16,11 @@ ptheta_offset = 0.0
 pphi_offset = 0.0
 
 ; The following offsets are applied to the central kinematic variables
-;  in h_apply_offsets.f  . These might be modified by an experiment
+; These might be modified by an experiment
 ;  after doing calibration with elastic ep.
 
 pthetacentral_offset = 0.0
 p_oopcentral_offset = 0.0
 ppcentral_offset = 0.0
-ppcentral = 0.0
-ptheta_lab = 0.0
 
 
diff --git a/PARAM/SHMS/HGCER/phgcer.param b/PARAM/SHMS/HGCER/phgcer.param
new file mode 100644
index 00000000..dbe8d0a6
--- /dev/null
+++ b/PARAM/SHMS/HGCER/phgcer.param
@@ -0,0 +1,24 @@
+phgcer_width = 50, 50
+
+phgcer_adc_to_npe = 1/145.0, 1/122.0
+
+
+phgcer_chi2max = 50.
+phgcer_beta_min = 0.8
+phgcer_beta_max = 1.2
+phgcer_et_min = 0.95
+phgcer_et_max = 5.0
+phgcer_mirror_zpos = 230
+; phgcer_region: 8 values for each region (1 per mirror + sum)
+; central x,y,dx,dy values and x,y,dx,dy half widths.
+phgcer_region =   30,  -30,   0,
+                 0,    0,   0,
+                 0,    0,   0,
+                 0,    0,   0,
+                20,   20,  60,
+                30,   30,  30,
+                .1,   .1,  .1,
+                .1,   .1,  .1
+
+phgcer_ped_limit =  1000,1000
+	       
diff --git a/PARAM/SHMS/HODO/phodo.param b/PARAM/SHMS/HODO/phodo.param
new file mode 100644
index 00000000..aaa4ea23
--- /dev/null
+++ b/PARAM/SHMS/HODO/phodo.param
@@ -0,0 +1,411 @@
+pcosmicflag=1
+; for now manually set hte FADC mode
+;  1 == Use the pulse int - pulse ped
+;  2 == Use the sample integral - known ped
+;  3 == Use the sample integral - sample ped
+; if not set then defaults to use the raw pulse integral
+phodo_adc_mode=1
+; 
+; hhodo_tdc_offset is array of time offsets for all paddles in a plane
+;   to move the tdc to between 0 and 4000 channels.
+  phodo_tdc_offset = 1860, 2000, 2060, 2000
+; pstart_time_center  center of allowed time window                             
+   pstart_time_center = 32.                                                     
+; hstart_time_slop    1/2 width of time window                                  
+   pstart_time_slop = 100.                                                       
+; pscin_tdc_min       minimum tdc value in hms scin                             
+    pscin_tdc_min = -500                                                           
+; pscin_tdc_max       maximum allowed tdc value                                 
+   pscin_tdc_max = 1000                                                        
+; pscin_tdc_to_time   scin tdc time per channel                                 
+   pscin_tdc_to_time = 0.1                                                   
+; tof and you figured out good values
+   ptof_tolerance = 100.0
+;                                                                               
+; shms_tof_params                                                              
+; pnum_scin_counters, phodo_zpos, phodo_center_coord, phodo_width               
+; are all calculated within p_init_scin                                         
+;    phodo_pos_coord and phodo_neg_coord are not yet used                       
+;                                                                               
+     phodo_slop     =    2.,  2.,  4.,  4.    
+;                                  
+ptofusinginvadc=1
+;                                                                               
+                                                                                
+phodo_pos_invadc_offset =   -5.0000,   -5.0000,  0.000,   0.000
+ -5.0000,   -2.0000,  0.000,   0.000
+ -5.0000,   -2.0000,  +10.000,   0.000
+ -5.0000,   -4.0000,  0.000,   0.000
+ -5.0000,   -4.0000,  +10.000,   0.000
+ -5.0000,   -5.0000,  0.000,   0.000
+ -5.0000,   -6.0000,  0.000,   -14.000
+ -5.0000,   -4.0000,  0.000,   -14.000
+ -5.0000,   -5.0000,  0.000,   -14.000
+ -5.0000,   +6.0000,  0.000,   -14.000
+ -5.0000,   0.0000,  0.000,   -14.000
+ -5.0000,   +5.0000,  0.000,   -14.000
+ -5.0000,   -7.0000,  0.000,   -14.000
+ 0.000,   0.0000,  0.000,   -14.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+phodo_neg_invadc_offset =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  +10.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  +10.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   -14.000
+ 0.000,   0.0000,  0.000,   -14.000
+ 0.000,   0.0000,  0.000,   -14.000
+ 0.000,   +10.0000,  0.000,   -14.000
+ 0.000,   0.0000,  0.000,   -14.000
+ 0.000,   +10.0000,  0.000,   -14.000
+ 0.000,   0.0000,  0.000,   -14.000
+ 0.000,   0.0000,  0.000,  -14.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+phodo_pos_invadc_linear =   15.0,15.0,15.0,15.0        
+                        15.0,15.0,15.0,15.0      
+                        15.0,15.0,15.0,15.0      
+                        15.0,15.0,15.0,15.0   
+                        15.0,15.0,15.0,15.0   
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0 
+                        15.0,15.0,15.0,15.0 
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0  
+phodo_neg_invadc_linear =   15.0,15.0,15.0,15.0        
+                        15.0,15.0,15.0,15.0      
+                        15.0,15.0,15.0,15.0      
+                        15.0,15.0,15.0,15.0   
+                        15.0,15.0,15.0,15.0   
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0 
+                        15.0,15.0,15.0,15.0 
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0
+                        15.0,15.0,15.0,15.0  
+                        15.0,15.0,15.0,15.0  
+ 
+phodo_pos_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;
+phodo_neg_invadc_adc =   0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+ 0.000,   0.0000,  0.000,   0.000
+;                                                                               
+     phodo_vel_light =  15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                        15.0,15.0,15.0,15.0                                     
+                                                                               
+      phodo_pos_sigma = .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+;                                                                               
+      phodo_neg_sigma = .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+                        .3,.3,.3,.3,                                 
+;                                                                               
+phodo_pos_ped_limit = 1000,1000,1000,1000 
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000 
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+ ;                                                                               
+phodo_neg_ped_limit = 1000,1000,1000,1000 
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000 
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                      1000,1000,1000,1000
+                      1000,1000,1000,1000                   
+                                                                               
+
+phodo_pos_invadc_offset =   -0.00,   -0.00,    0.59,   -0.00
+                            -6.26,   -4.09,    0.45,   -0.00
+                            -2.48,   -1.94,   12.41,   -0.00
+                             1.98,   -2.95,    0.44,   -0.00
+                            -1.71,   -4.57,    9.75,   -0.00
+                            -2.48,   -5.36,    0.15,   -0.00
+                             0.39,   -3.34,    0.75,   -0.00
+                            -7.06,   -3.12,    0.21,   -0.00
+                            -1.75,   -3.79,    1.52,   -0.00
+                            -0.00,    5.02,    1.58,   -0.00
+                            -3.67,   -3.57,    0.80,   -0.00
+                             0.76,   11.15,    2.28,   -0.00
+                            -0.00,   -0.00,    3.28,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+
+phodo_neg_invadc_offset =   -0.00,   -0.00,   -5.36,   -0.00
+                            -7.60,   -2.32,   -5.24,   -0.00
+                             0.62,   -3.65,   15.02,   -0.00
+                            -4.07,   -3.42,   -6.21,   -0.00
+                            -2.60,   -3.61,   10.43,   -0.00
+                            -5.70,   -2.98,   -7.00,   -0.00
+                             1.23,   -2.53,   -5.65,   -0.00
+                            -2.39,   -4.13,   -5.78,   -0.00
+                            -1.38,   -3.39,   -7.54,   -0.00
+                            -2.56,    7.05,   -5.93,   -0.00
+                             1.84,   -4.38,   -3.91,   -0.00
+                            -3.23,    9.84,   -3.06,   -0.00
+                            -0.00,   -0.00,   -5.95,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+                            -0.00,   -0.00,   -0.00,   -0.00
+
+phodo_pos_invadc_linear =   15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   14.97,   15.00
+                            14.28,   13.33,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            14.76,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+
+phodo_neg_invadc_linear =   15.00,   15.00,   15.00,   15.00
+                            13.91,   14.43,   15.00,   15.00
+                            14.52,   14.76,   15.00,   15.00
+                            14.68,   14.14,   15.00,   15.00
+                            14.94,   14.70,   15.00,   15.00
+                            14.34,   14.14,   15.00,   15.00
+                            14.82,   13.94,   15.00,   15.00
+                            15.00,   14.33,   15.00,   15.00
+                            14.77,   13.76,   15.00,   15.00
+                            15.00,   14.75,   14.42,   15.00
+                            15.00,   13.69,   13.56,   15.00
+                            13.75,   13.13,   13.73,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+                            15.00,   15.00,   15.00,   15.00
+
+phodo_pos_invadc_adc=    -0.00,    -0.00,   112.14,    -0.00
+                        85.63,   100.91,    83.19,    -0.00
+                        96.42,    36.41,   116.39,    -0.00
+                       121.38,    90.00,   118.14,    -0.00
+                       114.06,    92.90,   100.01,    -0.00
+                       110.24,    92.14,   103.32,    -0.00
+                       125.76,    84.99,   122.10,    -0.00
+                        92.38,    91.90,   130.47,    -0.00
+                       116.53,    85.91,    98.54,    -0.00
+                       122.36,   111.70,   113.37,    -0.00
+                       104.33,    74.85,    80.05,    -0.00
+                       122.25,   100.68,   145.77,    -0.00
+                        -0.00,    -0.00,   134.86,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+
+phodo_neg_invadc_adc=    -0.00,    -0.00,   115.40,    -0.00
+                       100.70,    83.97,   103.44,    -0.00
+                       112.43,    84.04,   158.78,    -0.00
+                       119.43,    89.05,   118.05,    -0.00
+                       101.78,    89.03,   123.62,    -0.00
+                        97.26,    87.19,   108.87,    -0.00
+                       121.57,    78.91,   104.65,    -0.00
+                       110.95,    85.20,   170.10,    -0.00
+                       109.62,    78.24,   104.81,    -0.00
+                       113.38,   111.82,    60.35,    -0.00
+                       126.61,    78.83,    62.49,    -0.00
+                        91.82,    87.61,    62.81,    -0.00
+                        -0.00,    -0.00,   155.93,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+                        -0.00,    -0.00,    -0.00,    -0.00
+
+phodo_pos_sigma =  100.00,  100.00,    0.67,  100.00
+                     0.60,    0.57,    0.84,  100.00
+                     0.49,    0.64,    0.64,  100.00
+                     0.61,    0.50,    0.65,  100.00
+                     0.59,    0.63,    0.82,  100.00
+                     0.72,    0.56,    0.62,  100.00
+                     0.51,    0.52,    0.68,  100.00
+                     0.65,    0.56,    0.92,  100.00
+                     0.69,    0.49,    0.67,  100.00
+                     0.66,    0.60,    1.69,  100.00
+                     0.56,    0.54,    1.72,  100.00
+                     0.57,    0.51,    1.49,  100.00
+                   100.00,  100.00,    2.01,  100.00
+                   100.00,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
+
+phodo_neg_sigma =  100.00,  100.00,    0.58,  100.00
+                     0.66,    0.61,    0.74,  100.00
+                     0.53,    0.61,    0.60,  100.00
+                     0.57,    0.46,    0.91,  100.00
+                     0.55,    0.62,    0.85,  100.00
+                     0.65,    0.51,    0.67,  100.00
+                     0.49,    0.53,    0.62,  100.00
+                     0.64,    0.54,    0.85,  100.00
+                     0.65,    0.54,    0.67,  100.00
+                     0.71,    0.62,    1.27,  100.00
+                     0.75,    0.53,    1.67,  100.00
+                     0.51,    0.57,    1.33,  100.00
+                   100.00,  100.00,    2.07,  100.00
+                   100.00,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
+                   100.00,  100.00,  100.00,  100.00
diff --git a/PARAM/SHMS/HODO/phodo.pos b/PARAM/SHMS/HODO/phodo.pos
new file mode 100644
index 00000000..fc5d3077
--- /dev/null
+++ b/PARAM/SHMS/HODO/phodo.pos
@@ -0,0 +1,101 @@
+phodo_num_planes = 4
+phodo_plane_names = "1x 1y 2x 2y"
+      ppathlength_central = 1800
+; Z positions of hodoscopes
+      pscin_1x_zpos =  56.3-9.5
+      pscin_1y_zpos =  56.3+9.5
+      pscin_2x_zpos =  276.35-9.5
+      pscin_2y_zpos =  276.35+9.5
+      pscin_1x_dzpos = 1.0
+      pscin_1y_dzpos = 1.0
+      pscin_2x_dzpos = 1.0
+      pscin_2y_dzpos = 1.0
+      pscin_1x_size = 8.0
+      pscin_1y_size = 8.0
+      pscin_2x_size = 8.0
+      pscin_2y_size = 8.0
+      pscin_1x_spacing = 7.5
+      pscin_1y_spacing = 7.5
+      pscin_2x_spacing = 7.5
+      pscin_2y_spacing = 7.5
+; Number of hodoscope paddles per layer
+      pscin_1x_nr = 13
+      pscin_1y_nr = 13
+      pscin_2x_nr = 14
+      pscin_2y_nr = 21
+; X,Y positions of hodoscope paddles
+      pscin_1x_left  =  50.
+      pscin_1x_right = -50
+      pscin_1x_offset=  0.0
+      pscin_1x_center= -42.
+                       -35.
+                       -28.
+                       -21.
+                       -14.
+                       -7.
+                        0.0
+                        7.
+                        14.
+                        21.
+                        28.
+                        35.
+                        42.
+;
+      pscin_1y_top   = -50
+      pscin_1y_bot   =  50
+      pscin_1y_offset=  0.0
+      pscin_1y_center= +42.
+                       +35.
+                       +28.
+                       +21.
+                       +14.
+                       +7.
+                        0.0
+                        -7.
+                        -14.
+                        -21.
+                        -28.
+                        -35.
+                        -42. 
+      pscin_2x_left  =  55.
+      pscin_2x_right =  -55.
+      pscin_2x_offset=  0.0
+      pscin_2x_center=  -58.5
+                        -49.5
+                        -40.5
+                        -31.5
+                        -22.5
+                        -13.5
+                        -4.5
+                         4.5
+                         13.5
+                         22.5
+                         31.5
+                         40.5 
+                         49.5
+                         58.5
+      pscin_2y_top   = -55
+      pscin_2y_bot   =  55
+      pscin_2y_offset=  0.0
+      pscin_2y_center=  50.
+                        45.
+                        40.
+                        35.
+                        30.
+                        25.
+                        20.
+                        15.
+                        10.
+                         5.
+                         0.
+                        -5.
+                        -10.
+                        -15.
+                        -20.
+                        -25.
+                        -30.
+                        -35.
+                        -40.
+                        -45.
+                        -50.
+                        
diff --git a/PARAM/SHMS/HODO/ptofcal.param b/PARAM/SHMS/HODO/ptofcal.param
new file mode 100644
index 00000000..3f0ae425
--- /dev/null
+++ b/PARAM/SHMS/HODO/ptofcal.param
@@ -0,0 +1,2 @@
+pdumptof=1
+pdumptof_filename="CALIBRATION/hodo_calib/pfort.37"
diff --git a/PARAM/SHMS/NGCER/pngcer.param b/PARAM/SHMS/NGCER/pngcer.param
new file mode 100644
index 00000000..09b551b1
--- /dev/null
+++ b/PARAM/SHMS/NGCER/pngcer.param
@@ -0,0 +1,24 @@
+pngcer_width = 50, 50
+
+pngcer_adc_to_npe = 1/145.0, 1/122.0
+
+
+pngcer_chi2max = 50.
+pngcer_beta_min = 0.8
+pngcer_beta_max = 1.2
+pngcer_et_min = 0.95
+pngcer_et_max = 5.0
+pngcer_mirror_zpos = 230
+; pngcer_region: 8 values for each region (1 per mirror + sum)
+; central x,y,dx,dy values and x,y,dx,dy half widths.
+pngcer_region =   30,  -30,   0,
+                 0,    0,   0,
+                 0,    0,   0,
+                 0,    0,   0,
+                20,   20,  60,
+                30,   30,  30,
+                .1,   .1,  .1,
+                .1,   .1,  .1
+
+pngcer_ped_limit =  1000,1000
+	       
diff --git a/PARAM/TRIG/thms.param b/PARAM/TRIG/thms.param
index 54d1f0e5..8bfc6951 100644
--- a/PARAM/TRIG/thms.param
+++ b/PARAM/TRIG/thms.param
@@ -1,8 +1,8 @@
 t_hms_numAdc = 8
-t_hms_numTdc = 17
+t_hms_numTdc = 21
 
-; bar num:        1     2     3     4     5      6     7       8
+; bar num:                1     2     3     4     5      6     7       8
 t_hms_adcNames = "hASUM hBSUM hCSUM hDSUM hPSHWR hSHWR hAERSUM hCERSUM"
 
-; bar num:        1   2   3   4   5   6   7   8     9     10    11    12       13       14    15      16      17
-t_hms_tdcNames = "h1X h1Y h2X h2Y h1T h2T hT1 hASUM hBSUM hCSUM hDSUM hPSHWRLO hPSHWRHI hSHWR hAERSUM hCERSUM hT2"
+; bar num:              1   2   3   4   5   6   7   8     9     10    11    12       13       14    15      16      17    18      19     20      21
+t_hms_tdcNames = "h1X h1Y h2X h2Y h1T h2T hT1 hASUM hBSUM hCSUM hDSUM hPSHWRLO hPSHWRHI hSHWR hAERSUM hCERSUM hT2 hDCREF1 hDCREF2 hDCREF3 hDCREF4"
diff --git a/PARAM/TRIG/thms_raster.param b/PARAM/TRIG/thms_raster.param
new file mode 100644
index 00000000..7888eccf
--- /dev/null
+++ b/PARAM/TRIG/thms_raster.param
@@ -0,0 +1,7 @@
+t_hms_numAdc = 4
+t_hms_numTdc = 1
+
+; bar num:                1     2     3     4     5      6     7       8
+t_hms_adcNames = "hFRXA hFRYA hFRXB hFRYB"
+t_hms_tdcNames = "hFRXA"
+
diff --git a/PARAM/TRIG/tshms.param b/PARAM/TRIG/tshms.param
new file mode 100644
index 00000000..d30f2aca
--- /dev/null
+++ b/PARAM/TRIG/tshms.param
@@ -0,0 +1,8 @@
+t_shms_numAdc = 3
+t_shms_numTdc = 22
+
+; bar num:            1       2       3
+t_shms_adcNames = "pAERSUM pHGCSUM pNGCSUM"
+
+; 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
diff --git a/PARAM/TRIG/tshms_raster.param b/PARAM/TRIG/tshms_raster.param
new file mode 100644
index 00000000..7898b042
--- /dev/null
+++ b/PARAM/TRIG/tshms_raster.param
@@ -0,0 +1,7 @@
+t_shms_numAdc = 4
+t_shms_numTdc = 1
+
+; bar num:                1     2     3     4     5      6     7       8
+t_shms_adcNames = "pFRXA pFRYA pFRXB pFRYB"
+t_shms_tdcNames = "pFRXA"
+
diff --git a/SCRIPTS/HMS/hhodo_analysis.C b/SCRIPTS/HMS/hhodo_analysis.C
new file mode 100644
index 00000000..f4f0fb1d
--- /dev/null
+++ b/SCRIPTS/HMS/hhodo_analysis.C
@@ -0,0 +1,140 @@
+
+// Custom analysis of the hodoscope individual channels
+// Author: Eric Pooser, pooser@jlab.org, 01/06/2017
+// Script adapted from hcana/examples/hhodrawhists.C
+
+//#include "TF1.h"
+
+#define NPLANES  4
+#define NSIDES   2
+#define NSIGNALS 2
+#define MAXBARS  16
+
+TString  SPECTROMETER = "H";
+TString  DETECTOR     = "hod";
+
+TString  plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+Int_t    nbars[NPLANES]       = {16, 10, 16, 10};
+TString  sides[NSIDES]        = {"neg", "pos"};
+TString  signals[NSIGNALS]    = {"adc", "tdc"};
+
+static const Double_t ADC_MIN   = 0.0;
+static const Double_t ADC_MAX   = 25000.0;
+static const Int_t    ADC_NBINS = 2500;
+
+static const Double_t TDC_MIN   = 0.0;
+static const Double_t TDC_MAX   = 8000.0;
+static const Int_t    TDC_NBINS = 800;
+
+Int_t    nhits[NPLANES][NSIDES][NSIGNALS];
+Double_t paddles[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+Double_t values[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+
+TH1F *h[NPLANES*NSIDES*NSIGNALS*MAXBARS];
+TFile *rif, *rof;
+
+TTree *T;
+
+TString base_name, ndata_name, padlist_name, vallist_name;
+
+Int_t nbins, hmin, hmax, hindex, hindex_base;
+
+TString ibarname, title, name;
+
+Int_t ibar;
+Double_t val;
+
+void hhodo_analysis(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  } 
+
+  // Define root in/out files
+  rif  = new TFile(Form("ROOTfiles/hhodo_htrig_replay_%d.root", RunNumber), "READ");
+  rof = new TFile(Form("ROOTfiles/hhodo_analysis_%d.root", RunNumber), "RECREATE");
+  rif->cd();
+  
+  // Acquire tree from root in file
+  T = new TTree();
+  T = (TTree*) rif->Get("T");
+
+  for(Int_t iplane = 0; iplane < NPLANES; iplane++) {
+    for(Int_t iside = 0; iside < NSIDES; iside++) {
+      for(Int_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	base_name = SPECTROMETER + "." + DETECTOR + "." +
+	  plane_names[iplane] + "." + sides[iside] + signals[isignal];
+	ndata_name   = "Ndata." + base_name + "pad";
+	padlist_name = base_name + "pad";
+	vallist_name = base_name + "val";
+
+	// Set branch addresses
+	T->SetBranchAddress(ndata_name,   &nhits[iplane][iside][isignal]);
+	T->SetBranchAddress(padlist_name, &paddles[iplane][iside][isignal][0]);
+	T->SetBranchAddress(vallist_name, &values[iplane][iside][isignal][0]);
+
+	// Create histograms
+	// ADC and TDC histogram for each
+	if(signals[isignal] == "adc")
+	  nbins = ADC_NBINS; hmin = ADC_MIN; hmax = ADC_MAX;
+	if(signals[isignal] == "tdc")
+	  nbins = TDC_NBINS; hmin = TDC_MIN; hmax = TDC_MAX;
+	
+	rof->cd();
+	for(Int_t ibar = 0; ibar < nbars[iplane]; ibar++) {
+	  hindex = iplane*NSIDES*NSIGNALS*MAXBARS
+	    + iside*NSIGNALS*MAXBARS + isignal*MAXBARS + ibar;
+	  ibarname = Form("%d", ibar + 1);
+	  title = "h" + plane_names[iplane] + ibarname + sides[iside]
+	    + " " + signals[isignal];
+	  name = "h"; name += Form("%d", hindex);
+	  //  cout << name << " " << title << " " << nbins << " " << hmin << " "
+	  //       << hmax << endl;
+	  h[hindex] = new TH1F(name, title, nbins, hmin, hmax);
+	}
+	rif->cd();
+
+      }  // Signal loop
+    }  // Side loop
+  }  // Plane loop
+
+  // Loop over the events, filling the histograms
+  for(Int_t ievent = 0, N = T->GetEntries(); ievent < N; ievent++) {
+    T->GetEntry(ievent);
+    for(Int_t iplane = 0; iplane < NPLANES; iplane++){
+      for(Int_t iside = 0;iside < NSIDES; iside++) {
+	for(Int_t isignal = 0;isignal < NSIGNALS; isignal++) {
+
+	  hindex_base = iplane*NSIDES*NSIGNALS*MAXBARS
+	    + iside*NSIGNALS*MAXBARS + isignal*MAXBARS;
+
+	  for(Int_t ihit = 0; ihit < nhits[iplane][iside][isignal]; ihit++) {
+	    ibar = TMath::Nint(paddles[iplane][iside][isignal][ihit]) - 1;
+	    val = values[iplane][iside][isignal][ihit];
+	    hindex = hindex_base + ibar;
+	    h[hindex]->Fill(val);
+	  }  // Hit loop
+	}  // Signal loop
+      }  // Side loop
+    }  // Plane loop
+
+    // Display or save the histograms
+
+  }
+
+  // Write the root out file
+  rof->cd(); rof->Write();
+  
+}
diff --git a/SCRIPTS/HMS/replay_epics_test.C b/SCRIPTS/HMS/replay_epics_test.C
new file mode 100644
index 00000000..78a56f46
--- /dev/null
+++ b/SCRIPTS/HMS/replay_epics_test.C
@@ -0,0 +1,110 @@
+void replay_epics_test(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/epics_variable_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/thms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hhodo_htrig.map");
+
+  // debug : testing epics variable in Ttree
+  // gHaEvtHandlers->Add (new THaEpicsEvtHandler("epics","HC EPICS event type 180"));
+  
+  // 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);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // Add EPICS variables
+  //  THaEpics* epics = new THcEpics("T", "Epics");
+  //   gHaApps->AddDetector(epics);
+
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/HODO/hhodoana.def");
+ analyzer->SetCutFile("DEF-files/HMS/HODO/hhodoana_cuts.def");    // optional
+
+ analyzer->SetOdefFile("DEF-files/HMS/EPICS/epics.def");  // Call EPICS variables  K.Park
+
+ // 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/HMS/replay_hcal_test_stand.C b/SCRIPTS/HMS/replay_hcal_test_stand.C
new file mode 100644
index 00000000..25f09d30
--- /dev/null
+++ b/SCRIPTS/HMS/replay_hcal_test_stand.C
@@ -0,0 +1,94 @@
+void replay_hcal_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/hcal_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hcal.map");
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS");
+  gHaApps->Add(HMS);
+  // Add hodoscope to HMS apparatus
+  THcShower* cal = new THcShower("cal", "Calorimeter");
+  HMS->AddDetector(cal);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/CAL/hcalana.def");
+ analyzer->SetCutFile("DEF-files/HMS/CAL/hcalana_cuts.def");    // optional
+
+ // 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/HMS/replay_hcer_test_stand.C b/SCRIPTS/HMS/replay_hcer_test_stand.C
new file mode 100644
index 00000000..83c50244
--- /dev/null
+++ b/SCRIPTS/HMS/replay_hcer_test_stand.C
@@ -0,0 +1,104 @@
+void replay_hcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/hcer_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/thms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hcer_htrig.map");
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS");
+  gHaApps->Add(HMS);
+  // Add hodoscope to HMS apparatus
+  THcCherenkov* cer = new THcCherenkov("cer", "Heavy Gas Cherenkov");
+  HMS->AddDetector(cer);
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/CER/hcerana.def");
+ analyzer->SetCutFile("DEF-files/HMS/CER/hcerana_cuts.def");    // optional
+
+ // 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/HMS/replay_hdc_test_stand.C b/SCRIPTS/HMS/replay_hdc_test_stand.C
index a8bfad8a..f45e0c3f 100644
--- a/SCRIPTS/HMS/replay_hdc_test_stand.C
+++ b/SCRIPTS/HMS/replay_hdc_test_stand.C
@@ -16,8 +16,8 @@ void replay_hdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
   }
 
   // Create file name patterns.
-  const char* RunFileNamePattern = "raw/test_%d.dat";
-  const char* ROOTFileNamePattern = "ROOTfiles/test_%d.root";
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/hdc_replay_%d.root";
   // Add variables to global list.
   gHcParms->Define("gen_run_number", "Run Number", RunNumber);
   gHcParms->AddString("g_ctp_database_filename", "DBASE/standard.database");
@@ -31,27 +31,34 @@ void replay_hdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
 
   // Load params for HMS DC test stand configuration
   gHcParms->Load("PARAM/HMS/DC/hdc_test_stand.param");
+  gHcParms->Load("PARAM/TRIG/thms.param");
 
   // Load the Hall C style detector map
   gHcDetectorMap = new THcDetectorMap();
   //gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename"));
-  gHcDetectorMap->Load("MAPS/HMS/DETEC/hdc.map");
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hdc_htrig.map");
 
   // Set up the equipment to be analyzed.
   THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS");
   gHaApps->Add(HMS);
-  // Add HMS drift chambers
-  HMS->AddDetector(new THcDC("dc", "Drift Chambers"));
-
-  // Additional detectors:
-  //HMS->AddDetector(new THcHodoscope("hod", "Hodoscope"));
-  //HMS->AddDetector(new THcShower("cal", "Shower"));
-  //
-  //THcCherenkov* cherenkov = new THcCherenkov("cher", "Gas Cerenkov");
-  //HMS->AddDetector(cherenkov);
-  //THcAerogel* aerogel = new THcAerogel("aero", "Aerogel Cerenkov");
-  //HMS->AddDetector(aerogel);
-  //
+  // Add drift chambers to HMS apparatus
+  THcDC* dc = new THcDC("dc", "Drift Chambers");
+  HMS->AddDetector(dc);
+  // 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);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
   //THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("HS", "HC scaler event type 0");
   //hscaler->SetDebugFile("HScaler.txt");
   //gHaEvtHandlers->Add(hscaler);
diff --git a/SCRIPTS/HMS/replay_hhodo_test_stand.C b/SCRIPTS/HMS/replay_hhodo_test_stand.C
new file mode 100644
index 00000000..867c771a
--- /dev/null
+++ b/SCRIPTS/HMS/replay_hhodo_test_stand.C
@@ -0,0 +1,104 @@
+void replay_hhodo_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/hhodo_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/thms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hhodo_htrig.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);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/HODO/hhodoana.def");
+ analyzer->SetCutFile("DEF-files/HMS/HODO/hhodoana_cuts.def");    // optional
+
+ // 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/HMS/replay_hms.C b/SCRIPTS/HMS/replay_hms.C
new file mode 100644
index 00000000..c51371b8
--- /dev/null
+++ b/SCRIPTS/HMS/replay_hms.C
@@ -0,0 +1,117 @@
+void replay_hms(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/hms_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/thms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hms_stack.map");
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS");
+  gHaApps->Add(HMS);
+  // Add drift chambers to HMS apparatus
+  THcDC* dc = new THcDC("dc", "Drift Chambers");
+  HMS->AddDetector(dc);
+  // Add hodoscope to HMS apparatus
+  THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
+  HMS->AddDetector(hod);
+  // Add Cherenkov to HMS apparatus
+  THcCherenkov* cer = new THcCherenkov("cer", "Heavy Gas Cherenkov");
+  HMS->AddDetector(cer);
+  // Add calorimeter to HMS apparatus
+  THcShower* cal = new THcShower("cal", "Calorimeter");
+  HMS->AddDetector(cal);
+
+  // Include golden track information
+  THaGoldenTrack* gtr = new THaGoldenTrack("H.gtr", "HMS Golden Track", "H");
+  gHaPhysics->Add(gtr);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/GEN/hstackana.def");
+ analyzer->SetCutFile("DEF-files/HMS/GEN/hstackana_cuts.def");    // optional
+
+ // 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/HMS/replay_hms_raster_simple.C b/SCRIPTS/HMS/replay_hms_raster_simple.C
new file mode 100644
index 00000000..36843a12
--- /dev/null
+++ b/SCRIPTS/HMS/replay_hms_raster_simple.C
@@ -0,0 +1,100 @@
+void replay_hms_raster_simple(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/hms_raster_simple_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/thms_raster.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hraster_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);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/RASTER/hms_raster_simple.def");
+ analyzer->SetCutFile("DEF-files/HMS/RASTER/hms_raster_simple_cuts.def");    // optional
+
+ // 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/HMS/replay_hms_report.C b/SCRIPTS/HMS/replay_hms_report.C
new file mode 100644
index 00000000..249057d5
--- /dev/null
+++ b/SCRIPTS/HMS/replay_hms_report.C
@@ -0,0 +1,121 @@
+void replay_hms_report(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/hms_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/thms.param");
+  // Load params for HODO tof calibration. 
+  // gHcParms->Load("PARAM/HMS/HODO/htofcal.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  if ( RunNumber > 243) {
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hms_stack_spring17_current_run.map");
+  } else {
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/hms_stack_spring17_run_00001_00243.map");
+  }
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS");
+  gHaApps->Add(HMS);
+  // Add drift chambers to HMS apparatus
+  THcDC* dc = new THcDC("dc", "Drift Chambers");
+  HMS->AddDetector(dc);
+  // Add hodoscope to HMS apparatus
+  THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
+  HMS->AddDetector(hod);
+  // Add Cherenkov to HMS apparatus
+  THcCherenkov* cer = new THcCherenkov("cer", "Heavy Gas Cherenkov");
+  HMS->AddDetector(cer);
+  // Add calorimeter to HMS apparatus
+  THcShower* cal = new THcShower("cal", "Calorimeter");
+  HMS->AddDetector(cal);
+
+  // Include golden track information
+  THaGoldenTrack* gtr = new THaGoldenTrack("H.gtr", "HMS Golden Track", "H");
+  gHaPhysics->Add(gtr);
+
+  // Add handler for prestart event 125.
+  if ( RunNumber > 243) {
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+  }
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/GEN/hstackana_report.def");
+ analyzer->SetCutFile("DEF-files/HMS/GEN/hstackana_report_cuts.def");    // optional
+
+ // File to record cuts accounting information
+  analyzer->SetSummaryFile(Form("REPORT_OUTPUT/HMS/summary_%05d.report", RunNumber));    // optional
+
+  // Start the actual analysis.
+  analyzer->Process(run);
+  // Create report file from template.
+  analyzer->PrintReport("TEMPLATES/hstackana.template",Form("REPORT_OUTPUT/HMS/replay_hms_%05d.report", RunNumber));
+}
diff --git a/SCRIPTS/HMS/replay_htrig_test_stand.C b/SCRIPTS/HMS/replay_htrig_test_stand.C
new file mode 100644
index 00000000..70effe5a
--- /dev/null
+++ b/SCRIPTS/HMS/replay_htrig_test_stand.C
@@ -0,0 +1,97 @@
+void replay_htrig_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/htrig_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS DC test stand configuration
+  gHcParms->Load("PARAM/TRIG/thms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/HMS/DETEC/htrig.map");
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
+  TRG->AddDetector(hms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/HMS/TRIG/htrigana.def");
+ analyzer->SetCutFile("DEF-files/HMS/TRIG/htrigana_cuts.def");    // optional
+
+ // 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_%d.report", RunNumber)
+  //);
+}
diff --git a/SCRIPTS/SHMS/replay_paero_test_stand.C b/SCRIPTS/SHMS/replay_paero_test_stand.C
new file mode 100644
index 00000000..aabfbfa8
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_paero_test_stand.C
@@ -0,0 +1,104 @@
+void replay_paero_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/paero_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/tshms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/paero_ptrig.map");
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  gHaApps->Add(SHMS);
+  // Add aeroscope to HMS apparatus
+  THcAerogel* aero = new THcAerogel("aero", "Aerogel");
+  SHMS->AddDetector(aero);
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/SHMS/AERO/paeroana.def");
+ analyzer->SetCutFile("DEF-files/SHMS/AERO/paeroana_cuts.def");    // optional
+
+ // 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_pcal_test_stand.C b/SCRIPTS/SHMS/replay_pcal_test_stand.C
new file mode 100644
index 00000000..278a8e54
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_pcal_test_stand.C
@@ -0,0 +1,94 @@
+void replay_pcal_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/pcal_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/pcal.map");
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  gHaApps->Add(SHMS);
+  // Add hodoscope to HMS apparatus
+  THcShower* cal = new THcShower("cal", "Calorimeter");
+  SHMS->AddDetector(cal);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/SHMS/CAL/pcalana.def");
+ analyzer->SetCutFile("DEF-files/SHMS/CAL/pcalana_cuts.def");    // optional
+
+ // 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_pdc_test_stand.C b/SCRIPTS/SHMS/replay_pdc_test_stand.C
index 1cb39342..9fcbf867 100644
--- a/SCRIPTS/SHMS/replay_pdc_test_stand.C
+++ b/SCRIPTS/SHMS/replay_pdc_test_stand.C
@@ -16,8 +16,8 @@ void replay_pdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
   }
 
   // Create file name patterns.
-  const char* RunFileNamePattern = "raw/shms_dc_00%d.dat";
-  const char* ROOTFileNamePattern = "ROOTfiles/shms_dc_00%d.root";
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/pdc_replay_%d.root";
   // Add variables to global list.
   gHcParms->Define("gen_run_number", "Run Number", RunNumber);
   gHcParms->AddString("g_ctp_database_filename", "DBASE/standard.database");
@@ -29,6 +29,9 @@ void replay_pdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
   gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
   gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
 
+  // Load params for HMS DC test stand configuration
+  gHcParms->Load("PARAM/SHMS/DC/pdc_test_stand.param");
+
   gHcDetectorMap = new THcDetectorMap();
   //gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename"));
   gHcDetectorMap->Load("MAPS/SHMS/DETEC/pdc.map");
@@ -36,10 +39,13 @@ void replay_pdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
   // Set up the equipment to be analyzed.
   THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
   gHaApps->Add(SHMS);
-
   // Add SHMS drift chambers
   SHMS->AddDetector(new THcDC("dc", "Drift Chambers"));
 
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
   // Additional detectors:
   //HMS->AddDetector(new THcHodoscope("hod", "Hodoscope"));
   //HMS->AddDetector(new THcShower("cal", "Shower"));
diff --git a/SCRIPTS/SHMS/replay_phgcer_test_stand.C b/SCRIPTS/SHMS/replay_phgcer_test_stand.C
new file mode 100644
index 00000000..53e1a432
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_phgcer_test_stand.C
@@ -0,0 +1,104 @@
+void replay_phgcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/phgcer_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/tshms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/phgcer_ptrig.map");
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  gHaApps->Add(SHMS);
+  // Add hodoscope to HMS apparatus
+  THcCherenkov* hgcer = new THcCherenkov("hgcer", "Heavy Gas Cherenkov");
+  SHMS->AddDetector(hgcer);
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/SHMS/HGCER/phgcerana.def");
+ analyzer->SetCutFile("DEF-files/SHMS/HGCER/phgcerana_cuts.def");    // optional
+
+ // 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_phodo_test_stand.C b/SCRIPTS/SHMS/replay_phodo_test_stand.C
new file mode 100644
index 00000000..77a0707d
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_phodo_test_stand.C
@@ -0,0 +1,104 @@
+void replay_phodo_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/phodo_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/tshms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/phodo_ptrig.map");
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  gHaApps->Add(SHMS);
+  // Add hodoscope to HMS apparatus
+  THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
+  SHMS->AddDetector(hod);
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/SHMS/HODO/phodoana.def");
+ analyzer->SetCutFile("DEF-files/SHMS/HODO/phodoana_cuts.def");    // optional
+
+ // 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_pngcer_test_stand.C b/SCRIPTS/SHMS/replay_pngcer_test_stand.C
new file mode 100644
index 00000000..5efeae36
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_pngcer_test_stand.C
@@ -0,0 +1,104 @@
+void replay_pngcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/pngcer_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/tshms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/pngcer_ptrig.map");
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  gHaApps->Add(SHMS);
+  // Add hodoscope to HMS apparatus
+  THcCherenkov* ngcer = new THcCherenkov("ngcer", "Noble Gas Cherenkov");
+  SHMS->AddDetector(ngcer);
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/SHMS/NGCER/pngcerana.def");
+ analyzer->SetCutFile("DEF-files/SHMS/NGCER/pngcerana_cuts.def");    // optional
+
+ // 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_ptrig_test_stand.C b/SCRIPTS/SHMS/replay_ptrig_test_stand.C
new file mode 100644
index 00000000..4c046bfe
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_ptrig_test_stand.C
@@ -0,0 +1,97 @@
+void replay_ptrig_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/ptrig_replay_%.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS DC test stand configuration
+  gHcParms->Load("PARAM/TRIG/tshms.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/ptrig.map");
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/SHMS/TRIG/ptrigana.def");
+ analyzer->SetCutFile("DEF-files/SHMS/TRIG/ptrigana_cuts.def");    // optional
+
+ // 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.C b/SCRIPTS/SHMS/replay_shms.C
new file mode 100644
index 00000000..b5c23b70
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_shms.C
@@ -0,0 +1,126 @@
+void replay_shms(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/shms_stack.map");
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  gHaApps->Add(SHMS);
+  // Add Noble Gas Cherenkov to SHMS apparatus
+  THcCherenkov* ngcer = new THcCherenkov("ngcer", "Noble Gas Cherenkov");
+  SHMS->AddDetector(ngcer);
+  // Add drift chambers to SHMS apparatus
+  THcDC* dc = new THcDC("dc", "Drift Chambers");
+  SHMS->AddDetector(dc);
+  // Add hodoscope to SHMS apparatus
+  THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
+  SHMS->AddDetector(hod);
+  // Add Heavy Gas Cherenkov to SHMS apparatus
+  THcCherenkov* hgcer = new THcCherenkov("hgcer", "Heavy Gas Cherenkov");
+  SHMS->AddDetector(hgcer);
+  // Add Heavy Gas Cherenkov to SHMS apparatus
+  THcAerogel* aero = new THcAerogel("aero", "Aerogel");
+  SHMS->AddDetector(aero);
+  // Add calorimeter to SHMS apparatus
+  THcShower* cal = new THcShower("cal", "Calorimeter");
+  SHMS->AddDetector(cal);
+
+  // Include golden track information
+  THaGoldenTrack* gtr = new THaGoldenTrack("P.gtr", "SHMS Golden Track", "P");
+  gHaPhysics->Add(gtr);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+  analyzer->SetEvent(event);
+  analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+  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
+
+  // 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)
+  //);
+}
diff --git a/SCRIPTS/SHMS/replay_shms_raster_simple.C b/SCRIPTS/SHMS/replay_shms_raster_simple.C
new file mode 100644
index 00000000..0310699e
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_shms_raster_simple.C
@@ -0,0 +1,100 @@
+void replay_shms_raster_simple(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/shms_raster_simple_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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 HMS trigger configuration
+  gHcParms->Load("PARAM/TRIG/tshms_raster.param");
+
+  // Load the Hall C style detector map
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/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);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+ analyzer->SetEvent(event);
+ analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+ analyzer->SetOutFile(ROOTFileName.Data());
+ analyzer->SetOdefFile("DEF-files/SHMS/RASTER/shms_raster_simple.def");
+ analyzer->SetCutFile("DEF-files/SHMS/RASTER/shms_raster_simple_cuts.def");    // optional
+
+ // 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_report.C b/SCRIPTS/SHMS/replay_shms_report.C
new file mode 100644
index 00000000..42549df6
--- /dev/null
+++ b/SCRIPTS/SHMS/replay_shms_report.C
@@ -0,0 +1,124 @@
+void replay_shms_report(Int_t RunNumber=0, Int_t MaxEvent=0) {
+
+  // Get RunNumber and MaxEvent if not provided.
+  if(RunNumber == 0) {
+    cout << "Enter a Run Number (-1 to exit): ";
+    cin >> RunNumber;
+    if( RunNumber<=0 ) return;
+  }
+  if(MaxEvent == 0) {
+    cout << "\nNumber of Events to analyze: ";
+    cin >> MaxEvent;
+    if(MaxEvent == 0) {
+      cerr << "...Invalid entry\n";
+      exit;
+    }
+  }
+
+  // Create file name patterns.
+  const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
+  const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_%d.root";
+  // Add variables to global list.
+  gHcParms->Define("gen_run_number", "Run Number", RunNumber);
+  gHcParms->AddString("g_ctp_database_filename", "DBASE/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
+  gHcDetectorMap = new THcDetectorMap();
+  gHcDetectorMap->Load("MAPS/SHMS/DETEC/shms_stack.map");
+
+  // Add trigger apparatus
+  THaApparatus* TRG = new THcTrigApp("T", "TRG");
+  gHaApps->Add(TRG);
+  // Add trigger detector to trigger apparatus
+  THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
+  TRG->AddDetector(shms);
+
+  // Set up the equipment to be analyzed.
+  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  gHaApps->Add(SHMS);
+  // Add Noble Gas Cherenkov to SHMS apparatus
+  THcCherenkov* ngcer = new THcCherenkov("ngcer", "Noble Gas Cherenkov");
+  SHMS->AddDetector(ngcer);
+  // Add drift chambers to SHMS apparatus
+  THcDC* dc = new THcDC("dc", "Drift Chambers");
+  SHMS->AddDetector(dc);
+  // Add hodoscope to SHMS apparatus
+  THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
+  SHMS->AddDetector(hod);
+  // Add Heavy Gas Cherenkov to SHMS apparatus
+  THcCherenkov* hgcer = new THcCherenkov("hgcer", "Heavy Gas Cherenkov");
+  SHMS->AddDetector(hgcer);
+  // Add Heavy Gas Cherenkov to SHMS apparatus
+  THcAerogel* aero = new THcAerogel("aero", "Aerogel");
+  SHMS->AddDetector(aero);
+  // Add calorimeter to SHMS apparatus
+  THcShower* cal = new THcShower("cal", "Calorimeter");
+  SHMS->AddDetector(cal);
+
+  // Include golden track information
+  THaGoldenTrack* gtr = new THaGoldenTrack("P.gtr", "SHMS Golden Track", "P");
+  gHaPhysics->Add(gtr);
+
+  // Add handler for prestart event 125.
+  THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
+  gHaEvtHandlers->Add(ev125);
+
+  // 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
+  // tests/cuts, loops over Acpparatus's and PhysicsModules,
+  // and executes the output routines.
+  THcAnalyzer* analyzer = new THcAnalyzer;
+
+  // A simple event class to be output to the resulting tree.
+  // Creating your own descendant of THaEvent is one way of
+  // defining and controlling the output.
+  THaEvent* event = new THaEvent;
+
+  // Define the run(s) that we want to analyze.
+  // We just set up one, but this could be many.
+  char RunFileName[100];
+  sprintf(RunFileName, RunFileNamePattern, RunNumber);
+  THaRun* run = new THaRun(RunFileName);
+
+  // Eventually need to learn to skip over, or properly analyze
+  // the pedestal events
+  run->SetEventRange(1, MaxEvent);    // Physics Event number, does not
+                                      // include scaler or control events.
+  run->SetNscan(1);
+  run->SetDataRequired(0x7);
+  run->Print();
+
+  // Define the analysis parameters
+  TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
+  analyzer->SetCountMode(2);    // 0 = counter is # of physics triggers
+                                // 1 = counter is # of all decode reads
+                                // 2 = counter is event number
+  analyzer->SetEvent(event);
+  analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
+  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
+
+  // 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));
+}
diff --git a/TEMPLATES/dcana.template b/TEMPLATES/dcana.template
index d09f84e6..c8bf3424 100644
--- a/TEMPLATES/dcana.template
+++ b/TEMPLATES/dcana.template
@@ -1 +1,49 @@
            Standalone drift chamber analysis report template
+
+hmsDC1Planes6     {hmsDC1Planes6hits.npassed}  
+hmsDC2Planes6  	  {hmsDC2Planes6hits.npassed}  
+	       	   	       
+hmsDC1x1Planes5	  {hmsDC1_5hits_x1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_x1.npassed}
+hmsDC1y1Planes5	  {hmsDC1_5hits_y1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_y1.npassed}
+hmsDC1u1Planes5	  {hmsDC1_5hits_u1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_u1.npassed}
+hmsDC1v1Planes5	  {hmsDC1_5hits_v1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_v1.npassed}
+hmsDC1x2Planes5	  {hmsDC1_5hits_y2.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_y2.npassed} 
+hmsDC1y2Planes5	  {hmsDC1_5hits_x2.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_x2.npassed}
+	       	   	       
+hmsDC2x1Planes5	  {hmsDC2_5hits_x1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_x1.npassed}
+hmsDC2y1Planes5	  {hmsDC2_5hits_y1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_y1.npassed}
+hmsDC2u1Planes5	  {hmsDC2_5hits_u1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_u1.npassed}
+hmsDC2v1Planes5	  {hmsDC2_5hits_v1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_v1.npassed}
+hmsDC2x2Planes5	  {hmsDC2_5hits_y2.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_y2.npassed} 
+hmsDC2y2Planes5	  {hmsDC2_5hits_x2.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_x2.npassed}
+	       	   	       
+
+*****************************
+*HMS TRACKING EFFICIENCIES *
+*****************************
+htrig                          :   {hmscoin_event.npassed}
+hhitslt = passed hits/cham     :   {hmsHitsLt.npassed}
+hhitsplanes = +planes >= 5/6   :   {hmsHitsPlanes.npassed}
+hhitsplanessps = + sps         :   {hSpacePoints.npassed}
+hhitsplanesspsstubs +stub      :   {hSpacePointsStub.npassed}
+hsfoundtrack                   :   {hFoundTrack.npassed}
+hscleantrack                   :   {hCleanTrack.npassed}
+hstublt = passed stub tests    :   {hStubLT.npassed}
+h1hitslt                       :   {hms1HitsLt.npassed}
+h2hitslt                       :   {hms2HitsLt.npassed}
+h1planesgt                     :   {hmsDC1PlanesGT.npassed}
+h2planesgt                     :   {hmsDC2PlanesGT.npassed}
+hplanesgt = gt 5 planes/cham   :   {hmsPlanseGT.npassed}
+f1hspacepoints                 :   {f1HSpacePoints.npassed}
+f2hspacepoints                 :   {f2HSpacePoints.npassed}
+htest1=p hits/planes, f sp     :   {hTest1.npassed}
+htest2=p sp, f stubs           :   {hTest2.npassed}
+hdid                           :   {HMSScinDid.npassed}
+hdide                          :   {HMSScinDide.npassed}
+hdidh                          :   {HMSScinDidh.npassed}
+hscinshould                    :   {HMSScinShould.npassed}
+hscinshoulde                   :   {HMSScinShoulde.npassed}
+hscinshouldh                   :   {HMSScinShouldh.npassed}
+SING FID TRACK EFFIC           : {HMSScinDid.npassed/(HMSScinShould.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShould.npassed-HMSScinDid.npassed)/(HMSScinShould.npassed+.0001)):%8.4f}
+E SING FID TRACK EFFIC         : {HMSScinDide.npassed/(HMSScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShoulde.npassed-HMSScinDide.npassed)/(HMSScinShoulde.npassed+.0001)):%8.4f}
+HADRON SING FID TRACK EFFIC    : {HMSScinDidh.npassed/(HMSScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShouldh.npassed-HMSScinDidh.npassed)/(HMSScinShouldh.npassed+.0001)):%8.4f}
diff --git a/TEMPLATES/hstackana.template b/TEMPLATES/hstackana.template
new file mode 100644
index 00000000..0bffaf19
--- /dev/null
+++ b/TEMPLATES/hstackana.template
@@ -0,0 +1,64 @@
+Run #{gen_run_number}
+           Standalone drift chamber analysis report template
+The names of the HMS drift chamber planes are: 
+{hdc_plane_names}
+Horizontal drift chamber z positions:
+Chamber 1: {hdc_zpos[0]:%6.2f} {hdc_zpos[1]:%6.2f} {hdc_zpos[2]:%6.2f} 
+           {hdc_zpos[3]:%6.2f} {hdc_zpos[4]:%6.2f} {hdc_zpos[5]:%6.2f} 
+Chamber 2: {hdc_zpos[6]:%6.2f} {hdc_zpos[7]:%6.2f} {hdc_zpos[8]:%6.2f} 
+           {hdc_zpos[9]:%6.2f} {hdc_zpos[10]:%6.2f} {hdc_zpos[11]:%6.2f}
+
+All triggers:  {all_trigs.npassed}
+ 
+hmsDC1Planes_large  Counts:  {hmsDC1Planes_large.npassed} /all_trigs : {hmsDC1Planes_large.npassed/all_trigs.npassed}
+hmsDC2Planes_large  Counts:	  {hmsDC2Planes_large.npassed}  /all_trigs : {hmsDC2Planes_large.npassed/all_trigs.npassed}  
+
+hmsDC1Planes6     Counts: {hmsDC1Planes6hits.npassed} /all_trigs : {hmsDC1Planes6hits.npassed/all_trigs.npassed}
+hmsDC2Planes6  	  Counts: {hmsDC2Planes6hits.npassed} /all_trigs : {hmsDC2Planes6hits.npassed/all_trigs.npassed}  
+
+hmsDC1x1Planes5	  Counts: {hmsDC1_5hits_x1.npassed} eff : {hmsDC1_6hits_x1.npassed/hmsDC1_5hits_x1.npassed}
+hmsDC1u1Planes5	  Counts: {hmsDC1_5hits_u1.npassed} eff : {hmsDC1_6hits_u1.npassed/hmsDC1_5hits_u1.npassed}
+hmsDC1y2Planes5	  Counts: {hmsDC1_5hits_y2.npassed} eff : {hmsDC1_6hits_y2.npassed/hmsDC1_5hits_y2.npassed}
+hmsDC1v1Planes5	  Counts: {hmsDC1_5hits_v1.npassed} eff : {hmsDC1_6hits_v1.npassed/hmsDC1_5hits_v1.npassed}
+hmsDC1y1Planes5	  Counts: {hmsDC1_5hits_y1.npassed} eff : {hmsDC1_6hits_y1.npassed/hmsDC1_5hits_y1.npassed}
+hmsDC1x2Planes5	  Counts: {hmsDC1_5hits_x2.npassed} eff : {hmsDC1_6hits_x2.npassed/hmsDC1_5hits_x2.npassed}
+
+
+hmsDC2x1Planes5	  Counts: {hmsDC2_5hits_x1.npassed} eff : {hmsDC2_6hits_x1.npassed/hmsDC2_5hits_x1.npassed}
+hmsDC2u1Planes5	  Counts: {hmsDC2_5hits_u1.npassed} eff : {hmsDC2_6hits_u1.npassed/hmsDC2_5hits_u1.npassed}
+hmsDC2y2Planes5	  Counts: {hmsDC2_5hits_y2.npassed} eff : {hmsDC2_6hits_y2.npassed/hmsDC2_5hits_y2.npassed}
+hmsDC2v1Planes5	  Counts: {hmsDC2_5hits_v1.npassed} eff : {hmsDC2_6hits_v1.npassed/hmsDC2_5hits_v1.npassed}
+hmsDC2y1Planes5	  Counts: {hmsDC2_5hits_y1.npassed} eff : {hmsDC2_6hits_y1.npassed/hmsDC2_5hits_y1.npassed}
+hmsDC2x2Planes5	  Counts: {hmsDC2_5hits_x2.npassed} eff : {hmsDC2_6hits_x2.npassed/hmsDC2_5hits_x2.npassed}
+	       	                      	       
+	       	   	       
+
+*****************************
+*HMS TRACKING EFFICIENCIES *
+*****************************
+htrig                          :   {hmscoin_event.npassed}
+hhitslt = passed hits/cham     :   {hmsHitsLt.npassed}
+hhitsplanes = +planes >= 5/6   :   {hmsHitsPlanes.npassed}
+hhitsplanessps = + sps         :   {hSpacePoints.npassed}
+hhitsplanesspsstubs +stub      :   {hSpacePointsStub.npassed}
+hsfoundtrack                   :   {hFoundTrack.npassed}
+hscleantrack                   :   {hCleanTrack.npassed}
+hstublt = passed stub tests    :   {hStubLT.npassed}
+h1hitslt                       :   {hms1HitsLt.npassed}
+h2hitslt                       :   {hms2HitsLt.npassed}
+h1planesgt                     :   {hmsDC1PlanesGT.npassed}
+h2planesgt                     :   {hmsDC2PlanesGT.npassed}
+hplanesgt = gt 5 planes/cham   :   {hmsPlanesGT.npassed}
+f1hspacepoints                 :   {f1HSpacePoints.npassed}
+f2hspacepoints                 :   {f2HSpacePoints.npassed}
+htest1=p hits/planes, f sp     :   {hTest1.npassed}
+htest2=p sp, f stubs           :   {hTest2.npassed}
+hdid                           :   {HMSScinDid.npassed}
+hdide                          :   {HMSScinDide.npassed}
+hdidh                          :   {HMSScinDidh.npassed}
+hscinshould                    :   {HMSScinShould.npassed}
+hscinshoulde                   :   {HMSScinShoulde.npassed}
+hscinshouldh                   :   {HMSScinShouldh.npassed}
+SING FID TRACK EFFIC           : {HMSScinDid.npassed/(HMSScinShould.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShould.npassed-HMSScinDid.npassed)/(HMSScinShould.npassed+.0001)):%8.4f}
+E SING FID TRACK EFFIC         : {HMSScinDide.npassed/(HMSScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShoulde.npassed-HMSScinDide.npassed)/(HMSScinShoulde.npassed+.0001)):%8.4f}
+HADRON SING FID TRACK EFFIC    : {HMSScinDidh.npassed/(HMSScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShouldh.npassed-HMSScinDidh.npassed)/(HMSScinShouldh.npassed+.0001)):%8.4f}
diff --git a/TEMPLATES/pstackana.template b/TEMPLATES/pstackana.template
new file mode 100644
index 00000000..e1ce7848
--- /dev/null
+++ b/TEMPLATES/pstackana.template
@@ -0,0 +1,64 @@
+Run #{gen_run_number}
+           Standalone drift chamber analysis report template
+The names of the HMS 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}
+
+All triggers:  {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 *
+*****************************
+htrig                          :   {shmscoin_event.npassed}
+hhitslt = passed hits/cham     :   {shmsHitsLt.npassed}
+hhitsplanes = +planes >= 5/6   :   {shmsHitsPlanes.npassed}
+hhitsplanessps = + sps         :   {hSpacePoints.npassed}
+hhitsplanesspsstubs +stub      :   {hSpacePointsStub.npassed}
+hsfoundtrack                   :   {hFoundTrack.npassed}
+hscleantrack                   :   {hCleanTrack.npassed}
+hstublt = passed stub tests    :   {hStubLT.npassed}
+h1hitslt                       :   {shms1HitsLt.npassed}
+h2hitslt                       :   {shms2HitsLt.npassed}
+h1planesgt                     :   {shmsDC1PlanesGT.npassed}
+h2planesgt                     :   {shmsDC2PlanesGT.npassed}
+hplanesgt = gt 5 planes/cham   :   {shmsPlanesGT.npassed}
+f1hspacepoints                 :   {f1HSpacePoints.npassed}
+f2hspacepoints                 :   {f2HSpacePoints.npassed}
+htest1=p hits/planes, f sp     :   {hTest1.npassed}
+htest2=p sp, f stubs           :   {hTest2.npassed}
+hdid                           :   {shmsScinDid.npassed}
+hdide                          :   {shmsScinDide.npassed}
+hdidh                          :   {shmsScinDidh.npassed}
+hscinshould                    :   {shmsScinShould.npassed}
+hscinshoulde                   :   {shmsScinShoulde.npassed}
+hscinshouldh                   :   {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/onlineGUI/.gitignore b/onlineGUI/.gitignore
index 504e5397..b7de8db4 100644
--- a/onlineGUI/.gitignore
+++ b/onlineGUI/.gitignore
@@ -1,3 +1,6 @@
 online
 *.o
 *.d
+*#
+onlineDict.C
+.root_history
diff --git a/onlineGUI/.rootrc b/onlineGUI/.rootrc
new file mode 100644
index 00000000..22df0bce
--- /dev/null
+++ b/onlineGUI/.rootrc
@@ -0,0 +1,2 @@
+Rint.History: .root_history
+Unix.*.Root.MacroPath: .:$(ROOTSYS)/macros:./Macros
diff --git a/onlineGUI/Config/HMS/GEN/hallc_onlana.cfg b/onlineGUI/Config/HMS/GEN/hallc_onlana.cfg
new file mode 100644
index 00000000..f9dc3e1a
--- /dev/null
+++ b/onlineGUI/Config/HMS/GEN/hallc_onlana.cfg
@@ -0,0 +1,200 @@
+protorootfile ../ROOTfiles/hms_replay_XXXXX.root
+guicolor orange
+canvassize 1600 800
+#canvassize 800 800
+newpage 2 2
+title HMS Drift Chamber Reference Times
+hdc_ref1
+hdc_ref2
+hdc_ref3
+hdc_ref4
+newpage 4 3
+title HMS Drift Chamber Wire Maps
+hdc1x1_wirenum
+hdc2x1_wirenum
+hdc1y1_wirenum
+hdc2y1_wirenum
+hdc1u1_wirenum
+hdc2u1_wirenum
+hdc1v1_wirenum 
+hdc2v1_wirenum 
+hdc1y2_wirenum
+hdc2y2_wirenum
+hdc1x2_wirenum 
+hdc2x2_wirenum
+newpage 4 3 logz
+title HMS Drift Chamber TDC Times
+hdc1x1_wirenum_vs_tdc -nostat
+hdc2x1_wirenum_vs_tdc -nostat
+hdc1y1_wirenum_vs_tdc -nostat
+hdc2y1_wirenum_vs_tdc -nostat
+hdc1u1_wirenum_vs_tdc -nostat
+hdc2u1_wirenum_vs_tdc -nostat
+hdc1v1_wirenum_vs_tdc -nostat
+hdc2v1_wirenum_vs_tdc -nostat
+hdc1y2_wirenum_vs_tdc -nostat
+hdc2y2_wirenum_vs_tdc -nostat
+hdc1x2_wirenum_vs_tdc -nostat
+hdc2x2_wirenum_vs_tdc -nostat
+newpage 4 3
+title HMS Drift Chamber Residuals
+hdc1x1_wirenum_vs_resid -nostat
+hdc2x1_wirenum_vs_resid -nostat
+hdc1y1_wirenum_vs_resid -nostat
+hdc2y1_wirenum_vs_resid -nostat
+hdc1u1_wirenum_vs_resid -nostat
+hdc2u1_wirenum_vs_resid -nostat
+hdc1v1_wirenum_vs_resid -nostat
+hdc2v1_wirenum_vs_resid -nostat
+hdc1y2_wirenum_vs_resid -nostat
+hdc2y2_wirenum_vs_resid -nostat
+hdc1x2_wirenum_vs_resid -nostat
+hdc2x2_wirenum_vs_resid -nostat
+newpage 2 1 logz
+title HMS Drift Chamber Focal Plane
+hdc_xfp_vs_yxp -nostat
+hdc_xfpp_vs_yxpp -nostat
+newpage 2 3 logz
+title HMS Hodoscope 1X+ (Left)
+hhodo_1x_pos_adc_occu -nostat
+hhodo_1x_pos_tdc_occu -nostat
+hhodo_1x_pos_ped_vs_pad -nostat
+hhodo_1x_pos_pi_vs_pad -nostat
+hhodo_1x_pos_pamp_vs_pad -nostat
+hhodo_1x_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title HMS Hodoscope 1X- (Left)
+hhodo_1x_neg_adc_occu -nostat
+hhodo_1x_neg_tdc_occu -nostat
+hhodo_1x_neg_ped_vs_pad -nostat
+hhodo_1x_neg_pi_vs_pad -nostat
+hhodo_1x_neg_pamp_vs_pad -nostat
+hhodo_1x_neg_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title HMS Hodoscope 1Y+ (Left)
+hhodo_1y_pos_adc_occu -nostat
+hhodo_1y_pos_tdc_occu -nostat
+hhodo_1y_pos_ped_vs_pad -nostat
+hhodo_1y_pos_pi_vs_pad -nostat
+hhodo_1y_pos_pamp_vs_pad -nostat
+hhodo_1y_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title HMS Hodoscope 1Y- (Left)
+hhodo_1y_neg_adc_occu -nostat
+hhodo_1y_neg_tdc_occu -nostat
+hhodo_1y_neg_ped_vs_pad -nostat
+hhodo_1y_neg_pi_vs_pad -nostat
+hhodo_1y_neg_pamp_vs_pad -nostat
+hhodo_1y_neg_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title HMS Hodoscope 2X+ (Left)
+hhodo_2x_pos_adc_occu -nostat
+hhodo_2x_pos_tdc_occu -nostat
+hhodo_2x_pos_ped_vs_pad -nostat
+hhodo_2x_pos_pi_vs_pad -nostat
+hhodo_2x_pos_pamp_vs_pad -nostat
+hhodo_2x_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title HMS Hodoscope 2X- (Left)
+hhodo_2x_neg_adc_occu -nostat
+hhodo_2x_neg_tdc_occu -nostat
+hhodo_2x_neg_ped_vs_pad -nostat
+hhodo_2x_neg_pi_vs_pad -nostat
+hhodo_2x_neg_pamp_vs_pad -nostat
+hhodo_2x_neg_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title HMS Hodoscope 2Y+ (Left)
+hhodo_2y_pos_adc_occu -nostat
+hhodo_2y_pos_tdc_occu -nostat
+hhodo_2y_pos_ped_vs_pad -nostat
+hhodo_2y_pos_pi_vs_pad -nostat
+hhodo_2y_pos_pamp_vs_pad -nostat
+hhodo_2y_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title HMS Hodoscope 2Y- (Left)
+hhodo_2y_neg_adc_occu -nostat
+hhodo_2y_neg_tdc_occu -nostat
+hhodo_2y_neg_ped_vs_pad -nostat
+hhodo_2y_neg_pi_vs_pad -nostat
+hhodo_2y_neg_pamp_vs_pad -nostat
+hhodo_2y_neg_tdc_time_vs_pad -nostat
+newpage 2 2 logz 
+title HMS Heavy Gas Cherenkov
+hgcer_occu -nostat
+hgcer_ped_vs_cntr -nostat
+hgcer_pi_vs_cntr -nostat
+hgcer_pamp_vs_cntr -nostat
+newpage 2 2 logz 
+title HMS Pre-Shower Layer A Positive (Left)
+hcal_hA_pos_occu -nostat
+hcal_hA_pos_ped_blk -nostat
+hcal_hA_pos_pi_blk -nostat
+hcal_hA_pos_pamp_blk -nostat
+newpage 2 2 logz
+title HMS Pre-Shower Layer A Negative (Right)
+hcal_hA_neg_occu -nostat 
+hcal_hA_neg_ped_blk -nostat
+hcal_hA_neg_pi_blk -nostat
+hcal_hA_neg_pamp_blk -nostat
+newpage 2 2 logz 
+title HMS Pre-Shower Layer B Positive (Left)
+hcal_hB_pos_occu -nostat
+hcal_hB_pos_ped_blk -nostat
+hcal_hB_pos_pi_blk -nostat
+hcal_hB_pos_pamp_blk -nostat
+newpage 2 2 logz
+title HMS Pre-Shower Layer B Negative (Right)
+hcal_hB_neg_occu -nostat 
+hcal_hB_neg_ped_blk -nostat
+hcal_hB_neg_pi_blk -nostat
+hcal_hB_neg_pamp_blk -nostat
+newpage 2 2 logz
+title HMS Shower Layer C Negative (Right)
+hcal_hC_occu -nostat
+hcal_hC_ped_blk -nostat
+hcal_hC_pi_blk -nostat
+hcal_hC_pamp_blk -nostat
+newpage 2 2 logz
+title HMS Shower Layer D Negative (Right)
+hcal_hD_occu -nostat
+hcal_hD_ped_blk -nostat
+hcal_hD_pi_blk -nostat
+hcal_hD_pamp_blk -nostat
+newpage 2 2 logy
+title HMS Cherenkov Sum
+htrig_hCERsum_pped
+htrig_hCERsum_pint 
+htrig_hCERsum_pamp
+htrig_hCERsum_tdc_time
+newpage 4 4 logy
+title HMS Calorimeter Layer Sums
+htrig_hAsum_pped
+htrig_hBsum_pped
+htrig_hCsum_pped
+htrig_hDsum_pped
+htrig_hAsum_pint
+htrig_hBsum_pint
+htrig_hCsum_pint
+htrig_hDsum_pint
+htrig_hAsum_pamp
+htrig_hBsum_pamp
+htrig_hCsum_pamp
+htrig_hDsum_pamp
+htrig_hAsum_tdc_time
+htrig_hBsum_tdc_time
+htrig_hCsum_tdc_time
+htrig_hDsum_tdc_time
+newpage 2 3 logy
+title HMS Shower Sums
+htrig_hpreShwr_adc_pped
+htrig_hshwr_adc_pped
+htrig_hpreShwr_adc_pint
+htrig_hshwr_adc_pint
+htrig_hpreShwr_adc_pamp
+htrig_hshwr_adc_pamp
+newpage 3 1 logy
+title HMS Shower TDC Times
+htrig_hpreShwrLow_tdc
+htrig_hpreShwrHigh_tdc
+htrig_hshwr_tdc
+
diff --git a/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg b/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg
new file mode 100644
index 00000000..3f6f3f06
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg
@@ -0,0 +1,363 @@
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1 Neg ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x16")
+newpage 4 4
+title X1 Pos ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x16")
+newpage 3 4
+title Y1 Neg ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y10")
+newpage 3 4
+title Y1 Pos ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y10")
+newpage 4 4
+title X2 Neg ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x16")
+newpage 4 4
+title X2 Pos ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x16")
+newpage 3 4
+title Y2 Neg ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y10")
+newpage 3 4
+title Y2 Pos ADc v TDC
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y10")
+newpage 4 4
+title X1 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg1x1","uhshouldneg1x1")
+macro Macros/hodo_efficiency.C("uhdidneg1x2","uhshouldneg1x2")
+macro Macros/hodo_efficiency.C("uhdidneg1x3","uhshouldneg1x3")
+macro Macros/hodo_efficiency.C("uhdidneg1x4","uhshouldneg1x4")
+macro Macros/hodo_efficiency.C("uhdidneg1x5","uhshouldneg1x5")
+macro Macros/hodo_efficiency.C("uhdidneg1x6","uhshouldneg1x6")
+macro Macros/hodo_efficiency.C("uhdidneg1x7","uhshouldneg1x7")
+macro Macros/hodo_efficiency.C("uhdidneg1x8","uhshouldneg1x8")
+macro Macros/hodo_efficiency.C("uhdidneg1x9","uhshouldneg1x9")
+macro Macros/hodo_efficiency.C("uhdidneg1x10","uhshouldneg1x10")
+macro Macros/hodo_efficiency.C("uhdidneg1x11","uhshouldneg1x11")
+macro Macros/hodo_efficiency.C("uhdidneg1x12","uhshouldneg1x12")
+macro Macros/hodo_efficiency.C("uhdidneg1x13","uhshouldneg1x13")
+macro Macros/hodo_efficiency.C("uhdidneg1x14","uhshouldneg1x14")
+macro Macros/hodo_efficiency.C("uhdidneg1x15","uhshouldneg1x15")
+macro Macros/hodo_efficiency.C("uhdidneg1x16","uhshouldneg1x16")
+newpage 4 4
+title X1 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos1x1","uhshouldpos1x1")
+macro Macros/hodo_efficiency.C("uhdidpos1x2","uhshouldpos1x2")
+macro Macros/hodo_efficiency.C("uhdidpos1x3","uhshouldpos1x3")
+macro Macros/hodo_efficiency.C("uhdidpos1x4","uhshouldpos1x4")
+macro Macros/hodo_efficiency.C("uhdidpos1x5","uhshouldpos1x5")
+macro Macros/hodo_efficiency.C("uhdidpos1x6","uhshouldpos1x6")
+macro Macros/hodo_efficiency.C("uhdidpos1x7","uhshouldpos1x7")
+macro Macros/hodo_efficiency.C("uhdidpos1x8","uhshouldpos1x8")
+macro Macros/hodo_efficiency.C("uhdidpos1x9","uhshouldpos1x9")
+macro Macros/hodo_efficiency.C("uhdidpos1x10","uhshouldpos1x10")
+macro Macros/hodo_efficiency.C("uhdidpos1x11","uhshouldpos1x11")
+macro Macros/hodo_efficiency.C("uhdidpos1x12","uhshouldpos1x12")
+macro Macros/hodo_efficiency.C("uhdidpos1x13","uhshouldpos1x13")
+macro Macros/hodo_efficiency.C("uhdidpos1x14","uhshouldpos1x14")
+macro Macros/hodo_efficiency.C("uhdidpos1x15","uhshouldpos1x15")
+macro Macros/hodo_efficiency.C("uhdidpos1x16","uhshouldpos1x16")
+newpage 3 4
+title Y1 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg1y1","uhshouldneg1y1")
+macro Macros/hodo_efficiency.C("uhdidneg1y2","uhshouldneg1y2")
+macro Macros/hodo_efficiency.C("uhdidneg1y3","uhshouldneg1y3")
+macro Macros/hodo_efficiency.C("uhdidneg1y4","uhshouldneg1y4")
+macro Macros/hodo_efficiency.C("uhdidneg1y5","uhshouldneg1y5")
+macro Macros/hodo_efficiency.C("uhdidneg1y6","uhshouldneg1y6")
+macro Macros/hodo_efficiency.C("uhdidneg1y7","uhshouldneg1y7")
+macro Macros/hodo_efficiency.C("uhdidneg1y8","uhshouldneg1y8")
+macro Macros/hodo_efficiency.C("uhdidneg1y9","uhshouldneg1y9")
+macro Macros/hodo_efficiency.C("uhdidneg1y10","uhshouldneg1y10")
+newpage 3 4
+title Y1 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos1y1","uhshouldpos1y1")
+macro Macros/hodo_efficiency.C("uhdidpos1y2","uhshouldpos1y2")
+macro Macros/hodo_efficiency.C("uhdidpos1y3","uhshouldpos1y3")
+macro Macros/hodo_efficiency.C("uhdidpos1y4","uhshouldpos1y4")
+macro Macros/hodo_efficiency.C("uhdidpos1y5","uhshouldpos1y5")
+macro Macros/hodo_efficiency.C("uhdidpos1y6","uhshouldpos1y6")
+macro Macros/hodo_efficiency.C("uhdidpos1y7","uhshouldpos1y7")
+macro Macros/hodo_efficiency.C("uhdidpos1y8","uhshouldpos1y8")
+macro Macros/hodo_efficiency.C("uhdidpos1y9","uhshouldpos1y9")
+macro Macros/hodo_efficiency.C("uhdidpos1y10","uhshouldpos1y10")
+newpage 4 4
+title X2 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg2x1","uhshouldneg2x1")
+macro Macros/hodo_efficiency.C("uhdidneg2x2","uhshouldneg2x2")
+macro Macros/hodo_efficiency.C("uhdidneg2x3","uhshouldneg2x3")
+macro Macros/hodo_efficiency.C("uhdidneg2x4","uhshouldneg2x4")
+macro Macros/hodo_efficiency.C("uhdidneg2x5","uhshouldneg2x5")
+macro Macros/hodo_efficiency.C("uhdidneg2x6","uhshouldneg2x6")
+macro Macros/hodo_efficiency.C("uhdidneg2x7","uhshouldneg2x7")
+macro Macros/hodo_efficiency.C("uhdidneg2x8","uhshouldneg2x8")
+macro Macros/hodo_efficiency.C("uhdidneg2x9","uhshouldneg2x9")
+macro Macros/hodo_efficiency.C("uhdidneg2x10","uhshouldneg2x10")
+macro Macros/hodo_efficiency.C("uhdidneg2x11","uhshouldneg2x11")
+macro Macros/hodo_efficiency.C("uhdidneg2x12","uhshouldneg2x12")
+macro Macros/hodo_efficiency.C("uhdidneg2x13","uhshouldneg2x13")
+macro Macros/hodo_efficiency.C("uhdidneg2x14","uhshouldneg2x14")
+macro Macros/hodo_efficiency.C("uhdidneg2x15","uhshouldneg2x15")
+macro Macros/hodo_efficiency.C("uhdidneg2x16","uhshouldneg2x16")
+newpage 4 4
+title X2 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos2x1","uhshouldpos2x1")
+macro Macros/hodo_efficiency.C("uhdidpos2x2","uhshouldpos2x2")
+macro Macros/hodo_efficiency.C("uhdidpos2x3","uhshouldpos2x3")
+macro Macros/hodo_efficiency.C("uhdidpos2x4","uhshouldpos2x4")
+macro Macros/hodo_efficiency.C("uhdidpos2x5","uhshouldpos2x5")
+macro Macros/hodo_efficiency.C("uhdidpos2x6","uhshouldpos2x6")
+macro Macros/hodo_efficiency.C("uhdidpos2x7","uhshouldpos2x7")
+macro Macros/hodo_efficiency.C("uhdidpos2x8","uhshouldpos2x8")
+macro Macros/hodo_efficiency.C("uhdidpos2x9","uhshouldpos2x9")
+macro Macros/hodo_efficiency.C("uhdidpos2x10","uhshouldpos2x10")
+macro Macros/hodo_efficiency.C("uhdidpos2x11","uhshouldpos2x11")
+macro Macros/hodo_efficiency.C("uhdidpos2x12","uhshouldpos2x12")
+macro Macros/hodo_efficiency.C("uhdidpos2x13","uhshouldpos2x13")
+macro Macros/hodo_efficiency.C("uhdidpos2x14","uhshouldpos2x14")
+macro Macros/hodo_efficiency.C("uhdidpos2x15","uhshouldpos2x15")
+macro Macros/hodo_efficiency.C("uhdidpos2x16","uhshouldpos2x16")
+newpage 3 4
+title Y2 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg2y1","uhshouldneg2y1")
+macro Macros/hodo_efficiency.C("uhdidneg2y2","uhshouldneg2y2")
+macro Macros/hodo_efficiency.C("uhdidneg2y3","uhshouldneg2y3")
+macro Macros/hodo_efficiency.C("uhdidneg2y4","uhshouldneg2y4")
+macro Macros/hodo_efficiency.C("uhdidneg2y5","uhshouldneg2y5")
+macro Macros/hodo_efficiency.C("uhdidneg2y6","uhshouldneg2y6")
+macro Macros/hodo_efficiency.C("uhdidneg2y7","uhshouldneg2y7")
+macro Macros/hodo_efficiency.C("uhdidneg2y8","uhshouldneg2y8")
+macro Macros/hodo_efficiency.C("uhdidneg2y9","uhshouldneg2y9")
+macro Macros/hodo_efficiency.C("uhdidneg2y10","uhshouldneg2y10")
+newpage 3 4
+title Y2 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos2y1","uhshouldpos2y1")
+macro Macros/hodo_efficiency.C("uhdidpos2y2","uhshouldpos2y2")
+macro Macros/hodo_efficiency.C("uhdidpos2y3","uhshouldpos2y3")
+macro Macros/hodo_efficiency.C("uhdidpos2y4","uhshouldpos2y4")
+macro Macros/hodo_efficiency.C("uhdidpos2y5","uhshouldpos2y5")
+macro Macros/hodo_efficiency.C("uhdidpos2y6","uhshouldpos2y6")
+macro Macros/hodo_efficiency.C("uhdidpos2y7","uhshouldpos2y7")
+macro Macros/hodo_efficiency.C("uhdidpos2y8","uhshouldpos2y8")
+macro Macros/hodo_efficiency.C("uhdidpos2y9","uhshouldpos2y9")
+macro Macros/hodo_efficiency.C("uhdidpos2y10","uhshouldpos2y10")
+newpage 4 4
+title X1 ADC int Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x16")
+newpage 3 4
+title Y1  ADC int Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y10")
+newpage 4 4
+title X2  ADC int Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x16")
+newpage 3 4
+title Y2  ADC int Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y10")
+newpage 4 4
+title X1 TDC Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x16")
+newpage 3 4
+title Y1 TDC Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y10")
+newpage 4 4
+title X2 TDC Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x16")
+newpage 3 4
+title Y2 TDC Pos vs Neg
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y10")
diff --git a/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg b/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg
new file mode 100644
index 00000000..edd09396
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg
@@ -0,0 +1,123 @@
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1+ ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x16")
+newpage 4 4
+title X1- ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x16")
+newpage 3 4
+title Y1+ ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y10")
+newpage 3 4
+title Y1- ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y10")
+newpage 4 4
+title X2+ ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x16")
+newpage 4 4
+title X2- ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x10")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x11")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x12")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x13")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x14")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x15")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x16")
+newpage 3 4
+title Y2+ ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y10")
+newpage 3 4
+title Y2- ADC vs Dis
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y1")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y2")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y3")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y4")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y5")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y6")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y7")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y8")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y9")
+macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y10")
diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodo_1x.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodo_1x.cfg
new file mode 100644
index 00000000..b0ebc09e
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/raw_hhodo_1x.cfg
@@ -0,0 +1,327 @@
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title HMS X1+ Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1x1posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x2posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x3posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x4posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x5posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x6posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x7posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x8posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x9posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x10posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x11posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x12posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x13posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x14posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x15posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x16posTimeRaw")
+newpage 4 4
+title HMS X1- Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1x1negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x2negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x3negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x4negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x5negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x6negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x7negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x8negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x9negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x10negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x11negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x12negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x13negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x14negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x15negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1x16negTimeRaw")
+newpage 4 4
+title HMS X1+ TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1x1posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x2posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x3posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x4posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x5posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x6posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x7posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x8posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x9posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x10posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x11posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x12posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x13posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x14posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x15posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x16posTime")
+newpage 4 4
+title HMS X1- TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1x1negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x2negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x3negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x4negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x5negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x6negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x7negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x8negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x9negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x10negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x11negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x12negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x13negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x14negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x15negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1x16negTime")
+newpage 4 4
+title HMS X1+ FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1x1posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16posPedRaw")
+newpage 4 4
+title HMS X1- FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1x1negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16negPedRaw")
+newpage 4 4
+title HMS X1+ FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1x1posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x2posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x3posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x4posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x5posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x6posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x7posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x8posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x9posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x10posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x11posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x12posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x13posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x14posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x15posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x16posPed")
+newpage 4 4
+title HMS X1- FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1x1negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x2negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x3negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x4negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x5negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x6negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x7negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x8negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x9negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x10negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x11negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x12negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x13negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x14negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x15negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1x16negPed")
+newpage 4 4
+title HMS X1+ FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1x1posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16posPulseIntRaw")
+newpage 4 4
+title HMS X1- FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1x1negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16negPulseIntRaw")
+newpage 4 4
+title HMS X1+ FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1x1posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x2posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x3posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x4posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x5posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x6posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x7posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x8posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x9posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x10posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x11posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x12posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x13posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x14posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x15posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x16posPulseInt")
+newpage 4 4
+title HMS X1- FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1x1negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x2negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x3negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x4negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x5negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x6negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x7negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x8negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x9negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x10negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x11negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x12negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x13negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x14negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x15negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1x16negPulseInt")
+newpage 4 4
+title HMS X1+ FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc1x1posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16posPulseAmpRaw")
+newpage 4 4
+title HMS X1- FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc1x1negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16negPulseAmpRaw")
+newpage 4 4
+title HMS X1+ FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc1x1posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x2posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x3posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x4posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x5posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x6posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x7posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x8posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x9posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x10posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x11posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x12posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x13posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x14posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x15posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x16posPulseAmp")
+newpage 4 4
+title HMS X1- FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc1x1negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x2negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x3negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x4negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x5negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x6negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x7negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x8negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x9negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x10negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x11negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x12negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x13negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x14negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x15negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1x16negPulseAmp")
+newpage 4 4
+title HMS X1+ FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc1x1posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16posPulseTimeRaw")
+newpage 4 4
+title HMS X1- FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc1x1negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x2negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x3negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x4negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x5negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x6negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x7negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x8negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x9negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x10negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x11negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x12negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x13negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x14negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x15negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1x16negPulseTimeRaw")
diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodo_1y.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodo_1y.cfg
new file mode 100644
index 00000000..073778aa
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/raw_hhodo_1y.cfg
@@ -0,0 +1,219 @@
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 3 4
+title HMS Y1+ Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1y1posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y2posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y3posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y4posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y5posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y6posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y7posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y8posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y9posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y10posTimeRaw")
+newpage 3 4
+title HMS Y1- Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1y1negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y2negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y3negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y4negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y5negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y6negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y7negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y8negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y9negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc1y10negTimeRaw")
+newpage 3 4
+title HMS Y1+ TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1y1posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y2posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y3posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y4posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y5posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y6posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y7posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y8posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y9posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y10posTime")
+newpage 3 4
+title HMS Y1- TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc1y1negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y2negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y3negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y4negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y5negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y6negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y7negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y8negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y9negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc1y10negTime")
+newpage 3 4
+title HMS Y1+ FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1y1posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10posPedRaw")
+newpage 3 4
+title HMS Y1- FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1y1negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10negPedRaw")
+newpage 3 4
+title HMS Y1+ FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1y1posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y2posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y3posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y4posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y5posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y6posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y7posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y8posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y9posPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y10posPed")
+newpage 3 4
+title HMS Y1- FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc1y1negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y2negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y3negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y4negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y5negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y6negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y7negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y8negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y9negPed")
+macro Macros/rawdraw_hhodo.C("uhadc1y10negPed")
+newpage 3 4
+title HMS Y1+ FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1y1posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10posPulseIntRaw")
+newpage 3 4
+title HMS Y1- FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1y1negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10negPulseIntRaw")
+newpage 3 4
+title HMS Y1+ FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1y1posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y2posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y3posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y4posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y5posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y6posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y7posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y8posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y9posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y10posPulseInt")
+newpage 3 4
+title HMS Y1- FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc1y1negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y2negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y3negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y4negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y5negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y6negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y7negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y8negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y9negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc1y10negPulseInt")
+newpage 3 4
+title HMS Y1+ FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc1y1posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10posPulseAmpRaw")
+newpage 3 4
+title HMS Y1- FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc1y1negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10negPulseAmpRaw")
+newpage 3 4
+title HMS Y1+ FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc1y1posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y2posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y3posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y4posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y5posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y6posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y7posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y8posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y9posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y10posPulseAmp")
+newpage 3 4
+title HMS Y1- FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc1y1negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y2negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y3negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y4negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y5negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y6negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y7negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y8negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y9negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc1y10negPulseAmp")
+newpage 3 4
+title HMS Y1+ FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc1y1posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10posPulseTimeRaw")
+newpage 3 4
+title HMS Y1- FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc1y1negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y2negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y3negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y4negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y5negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y6negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y7negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y8negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y9negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc1y10negPulseTimeRaw")
diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg
new file mode 100644
index 00000000..4754dad3
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg
@@ -0,0 +1,304 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1 ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x16")
+newpage 3 4
+title Y1  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y10")
+newpage 4 4
+title X2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x16")
+newpage 3 4
+title Y2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y10")
+newpage 4 4
+title X1 ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x16")
+newpage 3 4
+title Y1  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y10")
+newpage 4 4
+title X2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x16")
+newpage 3 4
+title Y2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y10")
+newpage 4 4
+title X1 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x16")
+newpage 3 4
+title Y1 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y10")
+newpage 4 4
+title X2 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x16")
+newpage 3 4
+title Y2 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y10")
+newpage 4 4
+title X1- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x10neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x11neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x12neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x13neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x14neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x15neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x16neg")
+newpage 4 4
+title X1+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x10pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x11pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x12pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x13pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x14pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x15pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x16pos")
+newpage 3 4
+title Y1- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y10neg")
+newpage 3 4
+title Y1+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y10pos")
+newpage 4 4
+title X2- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x10neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x11neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x12neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x13neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x14neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x15neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x16neg")
+newpage 4 4
+title X2+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x10pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x11pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x12pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x13pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x14pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x15pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x16pos")
+newpage 3 4
+title Y2- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y10neg")
+newpage 3 4
+title Y2+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y10pos")
diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodo_2x.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodo_2x.cfg
new file mode 100644
index 00000000..81ca7007
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/raw_hhodo_2x.cfg
@@ -0,0 +1,327 @@
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title HMS X2+ Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2x1posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x2posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x3posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x4posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x5posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x6posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x7posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x8posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x9posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x10posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x11posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x12posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x13posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x14posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x15posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x16posTimeRaw")
+newpage 4 4
+title HMS X2- Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2x1negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x2negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x3negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x4negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x5negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x6negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x7negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x8negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x9negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x10negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x11negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x12negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x13negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x14negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x15negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2x16negTimeRaw")
+newpage 4 4
+title HMS X2+ TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2x1posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x2posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x3posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x4posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x5posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x6posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x7posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x8posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x9posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x10posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x11posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x12posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x13posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x14posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x15posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x16posTime")
+newpage 4 4
+title HMS X2- TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2x1negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x2negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x3negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x4negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x5negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x6negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x7negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x8negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x9negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x10negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x11negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x12negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x13negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x14negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x15negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2x16negTime")
+newpage 4 4
+title HMS X2+ FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2x1posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16posPedRaw")
+newpage 4 4
+title HMS X2- FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2x1negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16negPedRaw")
+newpage 4 4
+title HMS X2+ FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2x1posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x2posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x3posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x4posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x5posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x6posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x7posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x8posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x9posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x10posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x11posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x12posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x13posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x14posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x15posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x16posPed")
+newpage 4 4
+title HMS X2- FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2x1negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x2negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x3negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x4negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x5negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x6negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x7negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x8negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x9negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x10negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x11negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x12negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x13negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x14negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x15negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2x16negPed")
+newpage 4 4
+title HMS X2+ FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2x1posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16posPulseIntRaw")
+newpage 4 4
+title HMS X2- FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2x1negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16negPulseIntRaw")
+newpage 4 4
+title HMS X2+ FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2x1posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x2posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x3posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x4posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x5posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x6posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x7posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x8posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x9posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x10posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x11posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x12posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x13posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x14posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x15posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x16posPulseInt")
+newpage 4 4
+title HMS X2- FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2x1negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x2negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x3negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x4negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x5negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x6negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x7negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x8negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x9negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x10negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x11negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x12negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x13negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x14negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x15negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2x16negPulseInt")
+newpage 4 4
+title HMS X2+ FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc2x1posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16posPulseAmpRaw")
+newpage 4 4
+title HMS X2- FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc2x1negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16negPulseAmpRaw")
+newpage 4 4
+title HMS X2+ FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc2x1posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x2posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x3posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x4posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x5posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x6posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x7posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x8posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x9posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x10posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x11posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x12posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x13posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x14posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x15posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x16posPulseAmp")
+newpage 4 4
+title HMS X2- FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc2x1negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x2negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x3negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x4negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x5negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x6negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x7negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x8negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x9negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x10negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x11negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x12negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x13negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x14negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x15negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2x16negPulseAmp")
+newpage 4 4
+title HMS X2+ FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc2x1posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16posPulseTimeRaw")
+newpage 4 4
+title HMS X2- FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc2x1negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x2negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x3negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x4negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x5negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x6negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x7negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x8negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x9negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x10negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x11negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x12negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x13negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x14negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x15negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2x16negPulseTimeRaw")
diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodo_2y.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodo_2y.cfg
new file mode 100644
index 00000000..b7aeb03e
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/raw_hhodo_2y.cfg
@@ -0,0 +1,219 @@
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 3 4
+title HMS Y2+ Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2y1posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y2posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y3posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y4posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y5posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y6posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y7posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y8posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y9posTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y10posTimeRaw")
+newpage 3 4
+title HMS Y2- Raw TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2y1negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y2negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y3negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y4negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y5negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y6negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y7negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y8negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y9negTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhtdc2y10negTimeRaw")
+newpage 3 4
+title HMS Y2+ TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2y1posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y2posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y3posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y4posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y5posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y6posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y7posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y8posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y9posTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y10posTime")
+newpage 3 4
+title HMS Y2- TDCs
+macro Macros/rawdraw_hhodo.C("uhtdc2y1negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y2negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y3negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y4negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y5negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y6negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y7negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y8negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y9negTime")
+macro Macros/rawdraw_hhodo.C("uhtdc2y10negTime")
+newpage 3 4
+title HMS Y2+ FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2y1posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9posPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10posPedRaw")
+newpage 3 4
+title HMS Y2- FADC Raw Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2y1negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9negPedRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10negPedRaw")
+newpage 3 4
+title HMS Y2+ FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2y1posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y2posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y3posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y4posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y5posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y6posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y7posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y8posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y9posPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y10posPed")
+newpage 3 4
+title HMS Y2- FADC Pedestals
+macro Macros/rawdraw_hhodo.C("uhadc2y1negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y2negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y3negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y4negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y5negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y6negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y7negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y8negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y9negPed")
+macro Macros/rawdraw_hhodo.C("uhadc2y10negPed")
+newpage 3 4
+title HMS Y2+ FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2y1posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9posPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10posPulseIntRaw")
+newpage 3 4
+title HMS Y2- FADC Raw Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2y1negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9negPulseIntRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10negPulseIntRaw")
+newpage 3 4
+title HMS Y2+ FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2y1posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y2posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y3posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y4posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y5posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y6posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y7posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y8posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y9posPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y10posPulseInt")
+newpage 3 4
+title HMS Y2- FADC Integrals
+macro Macros/rawdraw_hhodo.C("uhadc2y1negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y2negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y3negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y4negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y5negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y6negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y7negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y8negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y9negPulseInt")
+macro Macros/rawdraw_hhodo.C("uhadc2y10negPulseInt")
+newpage 3 4
+title HMS Y2+ FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc2y1posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9posPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10posPulseAmpRaw")
+newpage 3 4
+title HMS Y2- FADC Amplitudes Raw
+macro Macros/rawdraw_hhodo.C("uhadc2y1negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9negPulseAmpRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10negPulseAmpRaw")
+newpage 3 4
+title HMS Y2+ FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc2y1posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y2posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y3posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y4posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y5posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y6posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y7posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y8posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y9posPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y10posPulseAmp")
+newpage 3 4
+title HMS Y2- FADC Amplitudes
+macro Macros/rawdraw_hhodo.C("uhadc2y1negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y2negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y3negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y4negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y5negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y6negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y7negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y8negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y9negPulseAmp")
+macro Macros/rawdraw_hhodo.C("uhadc2y10negPulseAmp")
+newpage 3 4
+title HMS Y2+ FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc2y1posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9posPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10posPulseTimeRaw")
+newpage 3 4
+title HMS Y2- FADC Times Raw
+macro Macros/rawdraw_hhodo.C("uhadc2y1negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y2negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y3negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y4negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y5negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y6negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y7negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y8negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y9negPulseTimeRaw")
+macro Macros/rawdraw_hhodo.C("uhadc2y10negPulseTimeRaw")
diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodoana.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodoana.cfg
new file mode 100644
index 00000000..bcf99634
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/raw_hhodoana.cfg
@@ -0,0 +1,130 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 2 2
+title HMS Hodo Nhits
+hhodo_1x_multi
+hhodo_1y_multi
+hhodo_2x_multi
+hhodo_2y_multi
+newpage 2 2
+title HMS Hodo Raw ADC Occupancy
+macro Macros/overlay.C("hhodo_1x_pos_adc_occu","hhodo_1x_neg_adc_occu")
+macro Macros/overlay.C("hhodo_1y_pos_adc_occu","hhodo_1y_neg_adc_occu")
+macro Macros/overlay.C("hhodo_2x_pos_adc_occu","hhodo_2x_neg_adc_occu")
+macro Macros/overlay.C("hhodo_2y_pos_adc_occu","hhodo_2y_neg_adc_occu")
+newpage 2 2
+title HMS Hodo Raw TDC Occupancy
+macro Macros/overlay.C("hhodo_1x_pos_tdc_occu","hhodo_1x_neg_tdc_occu")
+macro Macros/overlay.C("hhodo_1y_pos_tdc_occu","hhodo_1y_neg_tdc_occu")
+macro Macros/overlay.C("hhodo_2x_pos_tdc_occu","hhodo_2x_neg_tdc_occu")
+macro Macros/overlay.C("hhodo_2y_pos_tdc_occu","hhodo_2y_neg_tdc_occu")
+newpage 2 2
+title HMS Hodo Raw Ped PMT+
+hhodo_1x_pos_rawped_vs_pad -type colz
+hhodo_1y_pos_rawped_vs_pad -type colz
+hhodo_2x_pos_rawped_vs_pad -type colz
+hhodo_2y_pos_rawped_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw Ped PMT-
+hhodo_1x_neg_rawped_vs_pad -type colz
+hhodo_1y_neg_rawped_vs_pad -type colz
+hhodo_2x_neg_rawped_vs_pad -type colz
+hhodo_2y_neg_rawped_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw Int PMT+
+hhodo_1x_pos_rawpi_vs_pad -type colz
+hhodo_1y_pos_rawpi_vs_pad -type colz
+hhodo_2x_pos_rawpi_vs_pad -type colz
+hhodo_2y_pos_rawpi_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw Int PMT-
+hhodo_1x_neg_rawpi_vs_pad -type colz
+hhodo_1y_neg_rawpi_vs_pad -type colz
+hhodo_2x_neg_rawpi_vs_pad -type colz
+hhodo_2y_neg_rawpi_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw Peak PMT+
+hhodo_1x_pos_rawpamp_vs_pad -type colz
+hhodo_1y_pos_rawpamp_vs_pad -type colz
+hhodo_2x_pos_rawpamp_vs_pad -type colz
+hhodo_2y_pos_rawpamp_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw Peak PMT-
+hhodo_1x_neg_rawpamp_vs_pad -type colz
+hhodo_1y_neg_rawpamp_vs_pad -type colz
+hhodo_2x_neg_rawpamp_vs_pad -type colz
+hhodo_2y_neg_rawpamp_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw Adc Time PMT+
+hhodo_1x_pos_rawptime_vs_pad -type colz
+hhodo_1y_pos_rawptime_vs_pad -type colz
+hhodo_2x_pos_rawptime_vs_pad -type colz
+hhodo_2y_pos_rawptime_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw ADc Time PMT-
+hhodo_1x_neg_rawptime_vs_pad -type colz
+hhodo_1y_neg_rawptime_vs_pad -type colz
+hhodo_2x_neg_rawptime_vs_pad -type colz
+hhodo_2y_neg_rawptime_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw TDC time PMT+
+hhodo_1x_pos_raw_tdc_time_vs_pad -type colz
+hhodo_1y_pos_raw_tdc_time_vs_pad -type colz
+hhodo_2x_pos_raw_tdc_time_vs_pad -type colz
+hhodo_2y_pos_raw_tdc_time_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Raw  TDC time PMT-
+hhodo_1x_neg_raw_tdc_time_vs_pad -type colz
+hhodo_1y_neg_raw_tdc_time_vs_pad -type colz
+hhodo_2x_neg_raw_tdc_time_vs_pad -type colz
+hhodo_2y_neg_raw_tdc_time_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Ped PMT+
+hhodo_1x_pos_ped_vs_pad -type colz
+hhodo_1y_pos_ped_vs_pad -type colz
+hhodo_2x_pos_ped_vs_pad -type colz
+hhodo_2y_pos_ped_vs_pad -type colz
+newpage 2 2
+title HMS Hodo Ped PMT-
+hhodo_1x_neg_ped_vs_pad -type colz
+hhodo_1y_neg_ped_vs_pad -type colz
+hhodo_2x_neg_ped_vs_pad -type colz
+hhodo_2y_neg_ped_vs_pad -type colz
+newpage 2 2
+title HMS Hodo ADC Int PMT+
+hhodo_1x_pos_pi_vs_pad -type colz
+hhodo_1y_pos_pi_vs_pad -type colz
+hhodo_2x_pos_pi_vs_pad -type colz
+hhodo_2y_pos_pi_vs_pad -type colz
+newpage 2 2
+title HMS Hodo ADC Int PMT-
+hhodo_1x_neg_pi_vs_pad -type colz
+hhodo_1y_neg_pi_vs_pad -type colz
+hhodo_2x_neg_pi_vs_pad -type colz
+hhodo_2y_neg_pi_vs_pad -type colz
+newpage 2 2
+title HMS Hodo ADC Peak PMT+
+hhodo_1x_pos_pamp_vs_pad -type colz
+hhodo_1y_pos_pamp_vs_pad -type colz
+hhodo_2x_pos_pamp_vs_pad -type colz
+hhodo_2y_pos_pamp_vs_pad -type colz
+newpage 2 2
+title HMS Hodo ADc Peak PMT-
+hhodo_1x_neg_pamp_vs_pad -type colz
+hhodo_1y_neg_pamp_vs_pad -type colz
+hhodo_2x_neg_pamp_vs_pad -type colz
+hhodo_2y_neg_pamp_vs_pad -type colz
+newpage 2 2
+title HMS Hodo TDC time PMT+
+hhodo_1x_pos_tdc_time_vs_pad -type colz
+hhodo_1y_pos_tdc_time_vs_pad -type colz
+hhodo_2x_pos_tdc_time_vs_pad -type colz
+hhodo_2y_pos_tdc_time_vs_pad -type colz
+newpage 2 2
+title HMS Hodo  TDC time PMT-
+hhodo_1x_neg_tdc_time_vs_pad -type colz
+hhodo_1y_neg_tdc_time_vs_pad -type colz
+hhodo_2x_neg_tdc_time_vs_pad -type colz
+hhodo_2y_neg_tdc_time_vs_pad -type colz
diff --git a/onlineGUI/Config/HMS/RASTER/simple_raster.cfg b/onlineGUI/Config/HMS/RASTER/simple_raster.cfg
new file mode 100644
index 00000000..16bc0673
--- /dev/null
+++ b/onlineGUI/Config/HMS/RASTER/simple_raster.cfg
@@ -0,0 +1,20 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/hms_raster_simple_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 2 2
+title HMS 1D Raster Raw ADC
+hFRXA
+hFRXB
+hFRYA
+hFRYB
+newpage 2 2
+title HMS 1D Raster (Volts)
+hFRXA_V
+hFRXB_V
+hFRYA_V
+hFRYB_V
+newpage 1 2
+title HMS Hodo Raw Ped PMT+
+hFRA_XvsY -type colz
+hFRB_XvsY -type colz
diff --git a/onlineGUI/Config/SHMS/GEN/hallc_onlana.cfg b/onlineGUI/Config/SHMS/GEN/hallc_onlana.cfg
new file mode 100644
index 00000000..56384302
--- /dev/null
+++ b/onlineGUI/Config/SHMS/GEN/hallc_onlana.cfg
@@ -0,0 +1,191 @@
+protorootfile ../ROOTfiles/shms_replay_XXXXX.root
+guicolor orange
+canvassize 1600 800
+#canvassize 800 800
+newpage 2 2 logz 
+title SHMS Noble Gas Cherenkov
+pngcer_occu -nostat
+pngcer_ped_vs_cntr -nostat
+pngcer_pi_vs_cntr -nostat
+pngcer_amp_vs_cntr -nostat
+newpage 4 3
+title SHMS Drift Chamber Reference Times
+pdc_ref1
+pdc_ref2
+pdc_ref3
+pdc_ref4
+pdc_ref5
+pdc_ref6
+pdc_ref7
+pdc_ref8
+pdc_ref9
+pdc_ref10
+newpage 4 3
+title SHMS Drift Chamber Wire Maps
+pdc1u1_wirenum
+pdc2u1_wirenum
+pdc1u2_wirenum
+pdc2u2_wirenum
+pdc1x1_wirenum
+pdc2x1_wirenum
+pdc1x2_wirenum 
+pdc2x2_wirenum 
+pdc1v1_wirenum
+pdc2v1_wirenum
+pdc1v2_wirenum 
+pdc2v2_wirenum
+newpage 4 3 logz
+title SHMS Drift Chamber TDC Times
+pdc1u1_wirenum_vs_tdc -nostat
+pdc2u1_wirenum_vs_tdc -nostat
+pdc1u2_wirenum_vs_tdc -nostat
+pdc2u2_wirenum_vs_tdc -nostat
+pdc1x1_wirenum_vs_tdc -nostat
+pdc2x1_wirenum_vs_tdc -nostat
+pdc1x2_wirenum_vs_tdc -nostat
+pdc2x2_wirenum_vs_tdc -nostat
+pdc1v1_wirenum_vs_tdc -nostat
+pdc2v1_wirenum_vs_tdc -nostat
+pdc1v2_wirenum_vs_tdc -nostat
+pdc2v2_wirenum_vs_tdc -nostat
+newpage 4 3
+title SHMS Drift Chamber Residuals
+pdc1u1_wirenum_vs_resid -nostat
+pdc2u1_wirenum_vs_resid -nostat
+pdc1u2_wirenum_vs_resid -nostat
+pdc2u2_wirenum_vs_resid -nostat
+pdc1x1_wirenum_vs_resid -nostat
+pdc2x1_wirenum_vs_resid -nostat
+pdc1x2_wirenum_vs_resid -nostat
+pdc2x2_wirenum_vs_resid -nostat
+pdc1v1_wirenum_vs_resid -nostat
+pdc2v1_wirenum_vs_resid -nostat
+pdc1v2_wirenum_vs_resid -nostat
+pdc2v2_wirenum_vs_resid -nostat
+newpage 2 1 logz
+title SHMS Drift Chamber Focal Plane
+pdc_xfp_vs_yxp -nostat
+pdc_xfpp_vs_yxpp -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 1X+ (Left)
+phodo_1x_pos_adc_occu -nostat
+phodo_1x_pos_tdc_occu -nostat
+phodo_1x_pos_ped_vs_pad -nostat
+phodo_1x_pos_pi_vs_pad -nostat
+phodo_1x_pos_pamp_vs_pad -nostat
+phodo_1x_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 1X- (Left)
+phodo_1x_neg_adc_occu -nostat
+phodo_1x_neg_tdc_occu -nostat
+phodo_1x_neg_ped_vs_pad -nostat
+phodo_1x_neg_pi_vs_pad -nostat
+phodo_1x_neg_pamp_vs_pad -nostat
+phodo_1x_neg_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 1Y+ (Left)
+phodo_1y_pos_adc_occu -nostat
+phodo_1y_pos_tdc_occu -nostat
+phodo_1y_pos_ped_vs_pad -nostat
+phodo_1y_pos_pi_vs_pad -nostat
+phodo_1y_pos_pamp_vs_pad -nostat
+phodo_1y_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 1Y- (Left)
+phodo_1y_neg_adc_occu -nostat
+phodo_1y_neg_tdc_occu -nostat
+phodo_1y_neg_ped_vs_pad -nostat
+phodo_1y_neg_pi_vs_pad -nostat
+phodo_1y_neg_pamp_vs_pad -nostat
+phodo_1y_neg_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 2X+ (Left)
+phodo_2x_pos_adc_occu -nostat
+phodo_2x_pos_tdc_occu -nostat
+phodo_2x_pos_ped_vs_pad -nostat
+phodo_2x_pos_pi_vs_pad -nostat
+phodo_2x_pos_pamp_vs_pad -nostat
+phodo_2x_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 2X- (Left)
+phodo_2x_neg_adc_occu -nostat
+phodo_2x_neg_tdc_occu -nostat
+phodo_2x_neg_ped_vs_pad -nostat
+phodo_2x_neg_pi_vs_pad -nostat
+phodo_2x_neg_pamp_vs_pad -nostat
+phodo_2x_neg_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 2Y+ (Left)
+phodo_2y_pos_adc_occu -nostat
+phodo_2y_pos_tdc_occu -nostat
+phodo_2y_pos_ped_vs_pad -nostat
+phodo_2y_pos_pi_vs_pad -nostat
+phodo_2y_pos_pamp_vs_pad -nostat
+phodo_2y_pos_tdc_time_vs_pad -nostat
+newpage 2 3 logz
+title SHMS Hodoscope 2Y- (Left)
+phodo_2y_neg_adc_occu -nostat
+phodo_2y_neg_tdc_occu -nostat
+phodo_2y_neg_ped_vs_pad -nostat
+phodo_2y_neg_pi_vs_pad -nostat
+phodo_2y_neg_pamp_vs_pad -nostat
+phodo_2y_neg_tdc_time_vs_pad -nostat
+newpage 2 2 logz 
+title SHMS Heavy Gas Cherenkov
+phgcer_occu -nostat
+phgcer_ped_vs_cntr -nostat
+phgcer_pi_vs_cntr -nostat
+phgcer_amp_vs_cntr -nostat
+newpage 2 2 logz 
+title SHMS Aerogel Positive (Left)
+paero_pos_occu -nostat
+paero_pos_ped_vs_cntr -nostat
+paero_pos_pi_vs_cntr -nostat
+paero_pos_amp_vs_cntr -nostat
+newpage 2 2 logz
+title SHMS Aerogel Negative (Right)
+paero_neg_occu -nostat
+paero_neg_ped_vs_cntr -nostat 
+paero_neg_pi_vs_cntr -nostat
+paero_neg_amp_vs_cntr -nostat
+newpage 2 2 logz
+title SHMS Pre-Shower Positive (Left)
+pcal_prshwr_pos_occu -nostat
+pcal_prshwr_pos_ped_blk -nostat
+pcal_prshwr_pos_pi_blk -nostat
+pcal_prshwr_pos_amp_blk -nostat
+newpage 2 2 logz
+title SHMS Pre-Shower Negative (Right)
+pcal_prshwr_neg_occu -nostat 
+pcal_prshwr_neg_ped_blk -nostat
+pcal_prshwr_neg_pi_blk -nostat
+pcal_prshwr_neg_amp_blk -nostat
+newpage 2 2 logz
+title SHMS Shower
+pcal_shwr_occu -nostat
+pcal_shwr_ped_blk -nostat
+pcal_shwr_pi_blk -nostat
+pcal_shwr_amp_blk -nostat
+newpage 4 3 logz
+title SHMS HGC/NGC Sums
+ptrig_pngc_sum_pped
+ptrig_pngc_sum_pint
+ptrig_pngc_sum_pamp
+ptrig_pngc_sum_ptime
+ptrig_pngc_sum_tdc
+ptrig_phgc_sum_pped
+ptrig_phgc_sum_pint
+ptrig_phgc_sum_pamp
+ptrig_phgc_sum_ptime
+ptrig_phgc_sum_tdc
+newpage 3 3 logy
+title SHMS Trigger Times
+ptrig_p1x_tdc
+ptrig_p1y_tdc
+ptrig_p2x_tdc
+ptrig_p2y_tdc
+ptrig_p1T_tdc
+ptrig_p2T_tdc
+ptrig_pT1_tdc
+ptrig_pT2_tdc
+ptrig_pT3_tdc
\ No newline at end of file
diff --git a/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg b/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg
new file mode 100644
index 00000000..a3e090af
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg
@@ -0,0 +1,367 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 1 1
+title Beta notrack
+macro Macros/gooddraw_2d_phodo.C("hbeta")
+newpage 2 2
+title fptime
+macro Macros/gooddraw_2d_phodo.C("fptime1x")
+macro Macros/gooddraw_2d_phodo.C("fptime1y")
+macro Macros/gooddraw_2d_phodo.C("fptime2x")
+macro Macros/gooddraw_2d_phodo.C("fptime2y")
+newpage 2 2
+title fptime
+macro Macros/gooddraw_2d_phodo.C("fptime1x_pad")
+macro Macros/gooddraw_2d_phodo.C("fptime1y_pad")
+macro Macros/gooddraw_2d_phodo.C("fptime2x_pad")
+macro Macros/gooddraw_2d_phodo.C("fptime2y_pad")
+newpage 4 4
+title X1 Neg ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x13")
+newpage 4 4
+title X1 Pos ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x13")
+newpage 4 4
+title Y1 Neg ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y13")
+newpage 4 4
+title Y1 Pos ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y13")
+newpage 4 4
+title X2 Neg ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x14")
+newpage 4 4
+title X2 Pos ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x14")
+newpage 3 4
+title Y2 Neg ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y16")
+newpage 3 4
+title Y2 Pos ADc v TDC
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y16")
+newpage 4 4
+title X1 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg1x1","uhshouldneg1x1")
+macro Macros/hodo_efficiency.C("uhdidneg1x2","uhshouldneg1x2")
+macro Macros/hodo_efficiency.C("uhdidneg1x3","uhshouldneg1x3")
+macro Macros/hodo_efficiency.C("uhdidneg1x4","uhshouldneg1x4")
+macro Macros/hodo_efficiency.C("uhdidneg1x5","uhshouldneg1x5")
+macro Macros/hodo_efficiency.C("uhdidneg1x6","uhshouldneg1x6")
+macro Macros/hodo_efficiency.C("uhdidneg1x7","uhshouldneg1x7")
+macro Macros/hodo_efficiency.C("uhdidneg1x8","uhshouldneg1x8")
+macro Macros/hodo_efficiency.C("uhdidneg1x9","uhshouldneg1x9")
+macro Macros/hodo_efficiency.C("uhdidneg1x10","uhshouldneg1x10")
+macro Macros/hodo_efficiency.C("uhdidneg1x11","uhshouldneg1x11")
+macro Macros/hodo_efficiency.C("uhdidneg1x12","uhshouldneg1x12")
+macro Macros/hodo_efficiency.C("uhdidneg1x13","uhshouldneg1x13")
+newpage 4 4
+title X1 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos1x1","uhshouldpos1x1")
+macro Macros/hodo_efficiency.C("uhdidpos1x2","uhshouldpos1x2")
+macro Macros/hodo_efficiency.C("uhdidpos1x3","uhshouldpos1x3")
+macro Macros/hodo_efficiency.C("uhdidpos1x4","uhshouldpos1x4")
+macro Macros/hodo_efficiency.C("uhdidpos1x5","uhshouldpos1x5")
+macro Macros/hodo_efficiency.C("uhdidpos1x6","uhshouldpos1x6")
+macro Macros/hodo_efficiency.C("uhdidpos1x7","uhshouldpos1x7")
+macro Macros/hodo_efficiency.C("uhdidpos1x8","uhshouldpos1x8")
+macro Macros/hodo_efficiency.C("uhdidpos1x9","uhshouldpos1x9")
+macro Macros/hodo_efficiency.C("uhdidpos1x10","uhshouldpos1x10")
+macro Macros/hodo_efficiency.C("uhdidpos1x11","uhshouldpos1x11")
+macro Macros/hodo_efficiency.C("uhdidpos1x12","uhshouldpos1x12")
+macro Macros/hodo_efficiency.C("uhdidpos1x13","uhshouldpos1x13")
+newpage 3 4
+title Y1 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg1y1","uhshouldneg1y1")
+macro Macros/hodo_efficiency.C("uhdidneg1y2","uhshouldneg1y2")
+macro Macros/hodo_efficiency.C("uhdidneg1y3","uhshouldneg1y3")
+macro Macros/hodo_efficiency.C("uhdidneg1y4","uhshouldneg1y4")
+macro Macros/hodo_efficiency.C("uhdidneg1y5","uhshouldneg1y5")
+macro Macros/hodo_efficiency.C("uhdidneg1y6","uhshouldneg1y6")
+macro Macros/hodo_efficiency.C("uhdidneg1y7","uhshouldneg1y7")
+macro Macros/hodo_efficiency.C("uhdidneg1y8","uhshouldneg1y8")
+macro Macros/hodo_efficiency.C("uhdidneg1y9","uhshouldneg1y9")
+macro Macros/hodo_efficiency.C("uhdidneg1y10","uhshouldneg1y10")
+macro Macros/hodo_efficiency.C("uhdidneg1y11","uhshouldneg1y11")
+macro Macros/hodo_efficiency.C("uhdidneg1y12","uhshouldneg1y12")
+macro Macros/hodo_efficiency.C("uhdidneg1y13","uhshouldneg1y13")
+newpage 3 4
+title Y1 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos1y1","uhshouldpos1y1")
+macro Macros/hodo_efficiency.C("uhdidpos1y2","uhshouldpos1y2")
+macro Macros/hodo_efficiency.C("uhdidpos1y3","uhshouldpos1y3")
+macro Macros/hodo_efficiency.C("uhdidpos1y4","uhshouldpos1y4")
+macro Macros/hodo_efficiency.C("uhdidpos1y5","uhshouldpos1y5")
+macro Macros/hodo_efficiency.C("uhdidpos1y6","uhshouldpos1y6")
+macro Macros/hodo_efficiency.C("uhdidpos1y7","uhshouldpos1y7")
+macro Macros/hodo_efficiency.C("uhdidpos1y8","uhshouldpos1y8")
+macro Macros/hodo_efficiency.C("uhdidpos1y9","uhshouldpos1y9")
+macro Macros/hodo_efficiency.C("uhdidpos1y10","uhshouldpos1y10")
+macro Macros/hodo_efficiency.C("uhdidpos1y11","uhshouldpos1y11")
+macro Macros/hodo_efficiency.C("uhdidpos1y12","uhshouldpos1y12")
+macro Macros/hodo_efficiency.C("uhdidpos1y13","uhshouldpos1y13")
+newpage 4 4
+title X2 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg2x1","uhshouldneg2x1")
+macro Macros/hodo_efficiency.C("uhdidneg2x2","uhshouldneg2x2")
+macro Macros/hodo_efficiency.C("uhdidneg2x3","uhshouldneg2x3")
+macro Macros/hodo_efficiency.C("uhdidneg2x4","uhshouldneg2x4")
+macro Macros/hodo_efficiency.C("uhdidneg2x5","uhshouldneg2x5")
+macro Macros/hodo_efficiency.C("uhdidneg2x6","uhshouldneg2x6")
+macro Macros/hodo_efficiency.C("uhdidneg2x7","uhshouldneg2x7")
+macro Macros/hodo_efficiency.C("uhdidneg2x8","uhshouldneg2x8")
+macro Macros/hodo_efficiency.C("uhdidneg2x9","uhshouldneg2x9")
+macro Macros/hodo_efficiency.C("uhdidneg2x10","uhshouldneg2x10")
+macro Macros/hodo_efficiency.C("uhdidneg2x11","uhshouldneg2x11")
+macro Macros/hodo_efficiency.C("uhdidneg2x12","uhshouldneg2x12")
+macro Macros/hodo_efficiency.C("uhdidneg2x13","uhshouldneg2x13")
+macro Macros/hodo_efficiency.C("uhdidneg2x14","uhshouldneg2x14")
+newpage 4 4
+title X2 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos2x1","uhshouldpos2x1")
+macro Macros/hodo_efficiency.C("uhdidpos2x2","uhshouldpos2x2")
+macro Macros/hodo_efficiency.C("uhdidpos2x3","uhshouldpos2x3")
+macro Macros/hodo_efficiency.C("uhdidpos2x4","uhshouldpos2x4")
+macro Macros/hodo_efficiency.C("uhdidpos2x5","uhshouldpos2x5")
+macro Macros/hodo_efficiency.C("uhdidpos2x6","uhshouldpos2x6")
+macro Macros/hodo_efficiency.C("uhdidpos2x7","uhshouldpos2x7")
+macro Macros/hodo_efficiency.C("uhdidpos2x8","uhshouldpos2x8")
+macro Macros/hodo_efficiency.C("uhdidpos2x9","uhshouldpos2x9")
+macro Macros/hodo_efficiency.C("uhdidpos2x10","uhshouldpos2x10")
+macro Macros/hodo_efficiency.C("uhdidpos2x11","uhshouldpos2x11")
+macro Macros/hodo_efficiency.C("uhdidpos2x12","uhshouldpos2x12")
+macro Macros/hodo_efficiency.C("uhdidpos2x13","uhshouldpos2x13")
+macro Macros/hodo_efficiency.C("uhdidpos2x14","uhshouldpos2x14")
+newpage 3 4
+title Y2 Eff Neg PMT
+macro Macros/hodo_efficiency.C("uhdidneg2y7","uhshouldneg2y7")
+macro Macros/hodo_efficiency.C("uhdidneg2y8","uhshouldneg2y8")
+macro Macros/hodo_efficiency.C("uhdidneg2y9","uhshouldneg2y9")
+macro Macros/hodo_efficiency.C("uhdidneg2y10","uhshouldneg2y10")
+macro Macros/hodo_efficiency.C("uhdidneg2y11","uhshouldneg2y11")
+macro Macros/hodo_efficiency.C("uhdidneg2y12","uhshouldneg2y12")
+macro Macros/hodo_efficiency.C("uhdidneg2y13","uhshouldneg2y13")
+macro Macros/hodo_efficiency.C("uhdidneg2y14","uhshouldneg2y14")
+macro Macros/hodo_efficiency.C("uhdidneg2y15","uhshouldneg2y15")
+macro Macros/hodo_efficiency.C("uhdidneg2y16","uhshouldneg2y16")
+newpage 3 4
+title Y2 Eff Pos PMT
+macro Macros/hodo_efficiency.C("uhdidpos2y7","uhshouldpos2y7")
+macro Macros/hodo_efficiency.C("uhdidpos2y8","uhshouldpos2y8")
+macro Macros/hodo_efficiency.C("uhdidpos2y9","uhshouldpos2y9")
+macro Macros/hodo_efficiency.C("uhdidpos2y10","uhshouldpos2y10")
+macro Macros/hodo_efficiency.C("uhdidpos2y11","uhshouldpos2y11")
+macro Macros/hodo_efficiency.C("uhdidpos2y12","uhshouldpos2y12")
+macro Macros/hodo_efficiency.C("uhdidpos2y13","uhshouldpos2y13")
+macro Macros/hodo_efficiency.C("uhdidpos2y14","uhshouldpos2y14")
+macro Macros/hodo_efficiency.C("uhdidpos2y15","uhshouldpos2y15")
+macro Macros/hodo_efficiency.C("uhdidpos2y16","uhshouldpos2y16")
+newpage 4 4
+title X1 ADC int Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x13")
+newpage 3 4
+title Y1  ADC int Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y13")
+newpage 4 4
+title X2  ADC int Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x14")
+newpage 3 4
+title Y2  ADC int Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y16")
+newpage 4 4
+title X1 TDC Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x13")
+newpage 3 4
+title Y1 TDC Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y13")
+newpage 4 4
+title X2 TDC Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x14")
+newpage 3 4
+title Y2 TDC Pos vs Neg
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y16")
diff --git a/onlineGUI/Config/SHMS/HODO/good_phodo_2d_dis.cfg b/onlineGUI/Config/SHMS/HODO/good_phodo_2d_dis.cfg
new file mode 100644
index 00000000..15452cad
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/good_phodo_2d_dis.cfg
@@ -0,0 +1,293 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x13")
+newpage 4 4
+title X1- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x13")
+newpage 4 4
+title Y1+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y13")
+newpage 4 4
+title Y1- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y13")
+newpage 4 4
+title X2+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x14")
+newpage 4 4
+title X2- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x14")
+newpage 3 3
+title Y2+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y16")
+newpage 3 3
+title Y2- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y16")
+newpage 4 4
+title X1+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x13")
+newpage 4 4
+title X1- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x13")
+newpage 4 4
+title Y1+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y13")
+newpage 4 4
+title Y1- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y13")
+newpage 4 4
+title X2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x14")
+newpage 4 4
+title X2- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x14")
+newpage 3 4
+title Y2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y16")
+newpage 3 4
+title Y2- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y16")
+newpage 4 4
+title X1+ tdc diff vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x13")
+newpage 4 4
+title Y1+ tdc diff vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y13")
+newpage 4 4
+title X2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x14")
+newpage 3 4
+title Y2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y16")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_1x.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_1x.cfg
new file mode 100644
index 00000000..bf655d26
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_1x.cfg
@@ -0,0 +1,273 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title HMS X1+ Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1x1posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x2posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x3posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x4posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x5posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x6posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x7posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x8posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x9posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x10posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x11posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x12posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x13posTimeRaw")
+newpage 4 4
+title HMS X1- Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1x1negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x2negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x3negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x4negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x5negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x6negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x7negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x8negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x9negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x10negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x11negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x12negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1x13negTimeRaw")
+newpage 4 4
+title HMS X1+ TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1x1posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x2posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x3posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x4posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x5posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x6posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x7posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x8posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x9posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x10posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x11posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x12posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x13posTime")
+newpage 4 4
+title HMS X1- TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1x1negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x2negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x3negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x4negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x5negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x6negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x7negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x8negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x9negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x10negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x11negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x12negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1x13negTime")
+newpage 4 4
+title HMS X1+ FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1x1posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13posPedRaw")
+newpage 4 4
+title HMS X1- FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1x1negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13negPedRaw")
+newpage 4 4
+title HMS X1+ FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1x1posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x2posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x3posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x4posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x5posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x6posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x7posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x8posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x9posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x10posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x11posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x12posPed")
+macro Macros/rawdraw_phodo.C("uhadc1x13posPed")
+newpage 4 4
+title HMS X1- FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1x1negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x2negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x3negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x4negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x5negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x6negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x7negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x8negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x9negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x10negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x11negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x12negPed")
+macro Macros/rawdraw_phodo.C("uhadc1x13negPed")
+newpage 4 4
+title HMS X1+ FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc1x1posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13posPulseIntRaw")
+newpage 4 4
+title HMS X1- FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc1x1negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13negPulseIntRaw")
+newpage 4 4
+title HMS X1+ FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc1x1posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x2posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x3posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x4posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x5posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x6posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x7posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x8posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x9posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x10posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x11posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x12posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x13posPulseInt")
+newpage 4 4
+title HMS X1- FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc1x1negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x2negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x3negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x4negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x5negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x6negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x7negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x8negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x9negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x10negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x11negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x12negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1x13negPulseInt")
+newpage 4 4
+title HMS X1+ FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc1x1posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13posPulseAmpRaw")
+newpage 4 4
+title HMS X1- FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc1x1negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13negPulseAmpRaw")
+newpage 4 4
+title HMS X1+ FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc1x1posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x2posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x3posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x4posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x5posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x6posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x7posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x8posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x9posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x10posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x11posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x12posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x13posPulseAmp")
+newpage 4 4
+title HMS X1- FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc1x1negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x2negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x3negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x4negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x5negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x6negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x7negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x8negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x9negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x10negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x11negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x12negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1x13negPulseAmp")
+newpage 4 4
+title HMS X1+ FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc1x1posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13posPulseTimeRaw")
+newpage 4 4
+title HMS X1- FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc1x1negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x2negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x3negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x4negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x5negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x6negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x7negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x8negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x9negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x10negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x11negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x12negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1x13negPulseTimeRaw")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_1y.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_1y.cfg
new file mode 100644
index 00000000..f96b971f
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_1y.cfg
@@ -0,0 +1,270 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 3 4
+title HMS Y1+ Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1y1posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y2posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y3posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y4posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y5posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y6posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y7posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y8posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y9posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y10posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y11posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y12posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y13posTimeRaw")
+newpage 3 4
+title HMS Y1- Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1y1negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y2negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y3negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y4negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y5negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y6negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y7negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y8negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y9negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y10negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y11negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y12negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc1y13negTimeRaw")
+newpage 3 4
+title HMS Y1+ TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1y1posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y2posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y3posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y4posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y5posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y6posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y7posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y8posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y9posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y10posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y11posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y12posTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y13posTime")
+newpage 3 4
+title HMS Y1- TDCs
+macro Macros/rawdraw_phodo.C("uhtdc1y1negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y2negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y3negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y4negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y5negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y6negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y7negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y8negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y9negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y10negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y11negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y12negTime")
+macro Macros/rawdraw_phodo.C("uhtdc1y13negTime")
+newpage 3 4
+title HMS Y1+ FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1y1posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y11posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y12posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y13posPedRaw")
+newpage 3 4
+title HMS Y1- FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1y1negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y11negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y12negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y13negPedRaw")
+newpage 3 4
+title HMS Y1+ FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1y1posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y2posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y3posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y4posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y5posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y6posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y7posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y8posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y9posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y10posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y11posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y12posPed")
+macro Macros/rawdraw_phodo.C("uhadc1y13posPed")
+newpage 3 4
+title HMS Y1- FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc1y1negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y2negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y3negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y4negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y5negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y6negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y7negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y8negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y9negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y10negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y11negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y12negPed")
+macro Macros/rawdraw_phodo.C("uhadc1y13negPed")
+newpage 3 4
+title HMS Y1+ FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc1y1posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y11posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y12posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y13posPulseIntRaw")
+newpage 3 4
+title HMS Y1- FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc1y1negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y11negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y12negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y13negPulseIntRaw")
+newpage 3 4
+title HMS Y1+ FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc1y1posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y2posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y3posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y4posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y5posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y6posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y7posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y8posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y9posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y10posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y11posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y12posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y13posPulseInt")
+newpage 3 4
+title HMS Y1- FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc1y1negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y2negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y3negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y4negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y5negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y6negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y7negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y8negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y9negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y10negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y11negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y12negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc1y13negPulseInt")
+newpage 3 4
+title HMS Y1+ FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc1y1posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10posPulseAmpRaw")
+newpage 3 4
+title HMS Y1- FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc1y1negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y11negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y12negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y13negPulseAmpRaw")
+newpage 3 4
+title HMS Y1+ FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc1y1posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y2posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y3posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y4posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y5posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y6posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y7posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y8posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y9posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y10posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y11posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y12posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y13posPulseAmp")
+newpage 3 4
+title HMS Y1- FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc1y1negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y2negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y3negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y4negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y5negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y6negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y7negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y8negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y9negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y10negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y11negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y12negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc1y13negPulseAmp")
+newpage 3 4
+title HMS Y1+ FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc1y1posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y11posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y12posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y13posPulseTimeRaw")
+newpage 3 4
+title HMS Y1- FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc1y1negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y2negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y3negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y4negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y5negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y6negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y7negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y8negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y9negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y10negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y11negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y12negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc1y13negPulseTimeRaw")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg
new file mode 100644
index 00000000..af177db3
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg
@@ -0,0 +1,306 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1 ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x13")
+newpage 4 4
+title Y1  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y13")
+newpage 4 4
+title X2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x14")
+newpage 3 4
+title Y2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y16")
+newpage 4 4
+title X1 ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x13")
+newpage 4 4
+title Y1  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y13")
+newpage 4 4
+title X2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x14")
+newpage 3 4
+title Y2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y16")
+newpage 3 4
+title Y2  ADC int cut Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y16")
+newpage 4 4
+title X1 TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x13")
+newpage 4 4
+title Y1  TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y13")
+newpage 4 4
+title X2  TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x14")
+newpage 3 4
+title Y2  TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y16")
+newpage 4 4
+title X1-  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1x1neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x2neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x3neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x4neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x5neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x6neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x13neg")
+newpage 4 4
+title X1+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1x1pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x2pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x3pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x4pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x5pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x6pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x13pos")
+newpage 4 4
+title Y1-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1y1neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y2neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y3neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y4neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y5neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y6neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y13neg")
+newpage 4 4
+title Y1+   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1y1pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y2pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y3pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y4pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y5pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y6pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y13pos")
+newpage 4 4
+title X2-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2x1neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x2neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x3neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x4neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x5neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x6neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x13neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x14neg")
+newpage 4 4
+title X2-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2x1pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x2pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x3pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x4pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x5pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x6pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x13pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x14pos")
+newpage 3 4
+title Y2-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2y7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y13neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y14neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y15neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y16neg")
+newpage 3 4
+title Y2+   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2y7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y13pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y14pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y15pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y16pos")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_2d_pad.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d_pad.cfg
new file mode 100644
index 00000000..a2fa99c2
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d_pad.cfg
@@ -0,0 +1,120 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1 Neg TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x13")
+newpage 4 4
+title X1 Pos TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x13")
+newpage 4 4
+title Y1 Neg TDC vs X1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y13")
+newpage 4 4
+title Y1 Pos TDC vs X1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y13")
+newpage 4 4
+title X2 Neg TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x14")
+newpage 4 4
+title X2 Pos TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x14")
+newpage 3 3
+title Y2 Neg TDC vs X2 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y16")
+newpage 3 3
+title Y2 Pos TDC vs X2 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y16")
+
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_2x.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_2x.cfg
new file mode 100644
index 00000000..8ef90da9
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_2x.cfg
@@ -0,0 +1,291 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title HMS X2+ Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2x1posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x2posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x3posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x4posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x5posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x6posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x7posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x8posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x9posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x10posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x11posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x12posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x13posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x14posTimeRaw")
+newpage 4 4
+title HMS X2- Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2x1negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x2negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x3negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x4negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x5negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x6negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x7negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x8negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x9negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x10negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x11negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x12negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x13negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2x14negTimeRaw")
+newpage 4 4
+title HMS X2+ TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2x1posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x2posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x3posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x4posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x5posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x6posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x7posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x8posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x9posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x10posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x11posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x12posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x13posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x14posTime")
+newpage 4 4
+title HMS X2- TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2x1negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x2negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x3negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x4negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x5negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x6negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x7negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x8negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x9negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x10negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x11negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x12negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x13negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2x14negTime")
+newpage 4 4
+title HMS X2+ FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2x1posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14posPedRaw")
+newpage 4 4
+title HMS X2- FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2x1negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14negPedRaw")
+newpage 4 4
+title HMS X2+ FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2x1posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x2posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x3posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x4posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x5posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x6posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x7posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x8posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x9posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x10posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x11posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x12posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x13posPed")
+macro Macros/rawdraw_phodo.C("uhadc2x14posPed")
+newpage 4 4
+title HMS X2- FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2x1negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x2negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x3negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x4negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x5negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x6negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x7negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x8negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x9negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x10negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x11negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x12negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x13negPed")
+macro Macros/rawdraw_phodo.C("uhadc2x14negPed")
+newpage 4 4
+title HMS X2+ FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc2x1posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14posPulseIntRaw")
+newpage 4 4
+title HMS X2- FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc2x1negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14negPulseIntRaw")
+newpage 4 4
+title HMS X2+ FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc2x1posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x2posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x3posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x4posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x5posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x6posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x7posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x8posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x9posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x10posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x11posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x12posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x13posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x14posPulseInt")
+newpage 4 4
+title HMS X2- FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc2x1negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x2negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x3negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x4negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x5negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x6negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x7negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x8negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x9negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x10negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x11negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x12negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x13negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2x14negPulseInt")
+newpage 4 4
+title HMS X2+ FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc2x1posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14posPulseAmpRaw")
+newpage 4 4
+title HMS X2- FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc2x1negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14negPulseAmpRaw")
+newpage 4 4
+title HMS X2+ FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc2x1posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x2posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x3posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x4posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x5posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x6posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x7posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x8posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x9posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x10posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x11posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x12posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x13posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x14posPulseAmp")
+newpage 4 4
+title HMS X2- FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc2x1negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x2negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x3negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x4negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x5negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x6negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x7negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x8negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x9negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x10negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x11negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x12negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x13negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2x14negPulseAmp")
+newpage 4 4
+title HMS X2+ FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc2x1posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14posPulseTimeRaw")
+newpage 4 4
+title HMS X2- FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc2x1negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x2negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x3negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x4negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x5negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x6negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x7negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x8negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x9negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x10negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x11negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x12negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x13negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2x14negPulseTimeRaw")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_2y.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_2y.cfg
new file mode 100644
index 00000000..c14971fb
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_2y.cfg
@@ -0,0 +1,417 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 5 4
+title HMS Y2+ Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2y1posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y2posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y3posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y4posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y5posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y6posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y7posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y8posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y9posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y10posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y11posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y12posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y13posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y14posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y15posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y16posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y17posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y18posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y19posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y20posTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y21posTimeRaw")
+newpage 3 4
+title HMS Y2- Raw TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2y1negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y2negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y3negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y4negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y5negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y6negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y7negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y8negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y9negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y10negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y11negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y12negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y13negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y14negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y15negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y16negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y17negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y18negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y19negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y20negTimeRaw")
+macro Macros/rawdraw_phodo.C("uhtdc2y21negTimeRaw")
+newpage 3 4
+title HMS Y2+ TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2y1posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y2posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y3posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y4posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y5posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y6posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y7posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y8posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y9posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y10posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y11posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y12posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y13posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y14posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y15posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y16posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y17posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y18posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y19posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y20posTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y21posTime")
+newpage 3 4
+title HMS Y2- TDCs
+macro Macros/rawdraw_phodo.C("uhtdc2y1negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y2negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y3negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y4negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y5negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y6negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y7negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y8negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y9negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y10negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y11negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y12negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y13negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y14negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y15negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y16negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y17negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y18negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y19negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y20negTime")
+macro Macros/rawdraw_phodo.C("uhtdc2y21negTime")
+newpage 3 4
+title HMS Y2+ FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2y1posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y21posPedRaw")
+newpage 3 4
+title HMS Y2- FADC Raw Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2y1negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20negPedRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y21negPedRaw")
+newpage 3 4
+title HMS Y2+ FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2y1posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y2posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y3posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y4posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y5posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y6posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y7posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y8posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y9posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y10posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y11posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y12posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y13posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y14posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y15posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y16posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y17posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y18posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y19posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPed")
+macro Macros/rawdraw_phodo.C("uhadc2y21posPed")
+newpage 3 4
+title HMS Y2- FADC Pedestals
+macro Macros/rawdraw_phodo.C("uhadc2y1negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y2negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y3negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y4negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y5negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y6negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y7negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y8negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y9negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y10negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y11negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y12negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y13negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y14negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y15negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y16negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y17negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y18negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y19negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y20negPed")
+macro Macros/rawdraw_phodo.C("uhadc2y21negPed")
+newpage 3 4
+title HMS Y2+ FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc2y1posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y21posPulseIntRaw")
+newpage 3 4
+title HMS Y2- FADC Raw Integrals
+macro Macros/rawdraw_phodo.C("uhadc2y1negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20negPulseIntRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y21negPulseIntRaw")
+newpage 3 4
+title HMS Y2+ FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc2y1posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y2posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y3posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y4posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y5posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y6posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y7posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y8posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y9posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y10posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y11posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y12posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y13posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y14posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y15posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y16posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y17posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y18posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y19posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y21posPulseInt")
+newpage 3 4
+title HMS Y2- FADC Integrals
+macro Macros/rawdraw_phodo.C("uhadc2y1negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y2negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y3negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y4negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y5negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y6negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y7negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y8negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y9negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y10negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y11negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y12negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y13negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y14negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y15negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y16negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y17negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y18negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y19negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y20negPulseInt")
+macro Macros/rawdraw_phodo.C("uhadc2y21negPulseInt")
+newpage 3 4
+title HMS Y2+ FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc2y1posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPulseAmpRaw")
+newpage 3 4
+title HMS Y2- FADC Amplitudes Raw
+macro Macros/rawdraw_phodo.C("uhadc2y1negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20negPulseAmpRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y21negPulseAmpRaw")
+newpage 3 4
+title HMS Y2+ FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc2y1posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y2posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y3posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y4posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y5posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y6posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y7posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y8posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y9posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y10posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y11posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y12posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y13posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y14posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y15posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y16posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y17posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y18posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y19posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y21posPulseAmp")
+newpage 3 4
+title HMS Y2- FADC Amplitudes
+macro Macros/rawdraw_phodo.C("uhadc2y1negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y2negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y3negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y4negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y5negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y6negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y7negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y8negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y9negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y10negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y11negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y12negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y13negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y14negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y15negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y16negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y17negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y18negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y19negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y20negPulseAmp")
+macro Macros/rawdraw_phodo.C("uhadc2y21negPulseAmp")
+newpage 3 4
+title HMS Y2+ FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc2y1posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20posPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y21posPulseTimeRaw")
+newpage 3 4
+title HMS Y2- FADC Times Raw
+macro Macros/rawdraw_phodo.C("uhadc2y1negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y2negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y3negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y4negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y5negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y6negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y7negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y8negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y9negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y10negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y11negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y12negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y13negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y14negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y15negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y16negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y17negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y18negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y19negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y20negPulseTimeRaw")
+macro Macros/rawdraw_phodo.C("uhadc2y21negPulseTimeRaw")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg
new file mode 100644
index 00000000..758bdd23
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg
@@ -0,0 +1,130 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 2 2
+title SHMS Hodo Nhits
+phodo_1x_multi
+phodo_1y_multi
+phodo_2x_multi
+phodo_2y_multi
+newpage 2 2
+title SHMS Hodo Raw ADC Occupancy
+macro Macros/overlay.C("phodo_1x_pos_adc_occu","phodo_1x_neg_adc_occu")
+macro Macros/overlay.C("phodo_1y_pos_adc_occu","phodo_1y_neg_adc_occu")
+macro Macros/overlay.C("phodo_2x_pos_adc_occu","phodo_2x_neg_adc_occu")
+macro Macros/overlay.C("phodo_2y_pos_adc_occu","phodo_2y_neg_adc_occu")
+newpage 2 2
+title SHMS Hodo Raw TDC Occupancy
+macro Macros/overlay.C("phodo_1x_pos_tdc_occu","phodo_1x_neg_tdc_occu")
+macro Macros/overlay.C("phodo_1y_pos_tdc_occu","phodo_1y_neg_tdc_occu")
+macro Macros/overlay.C("phodo_2x_pos_tdc_occu","phodo_2x_neg_tdc_occu")
+macro Macros/overlay.C("phodo_2y_pos_tdc_occu","phodo_2y_neg_tdc_occu")
+newpage 2 2
+title SHMS Hodo Raw Ped PMT+
+phodo_1x_pos_rawped_vs_pad -type colz
+phodo_1y_pos_rawped_vs_pad -type colz
+phodo_2x_pos_rawped_vs_pad -type colz
+phodo_2y_pos_rawped_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw Ped PMT-
+phodo_1x_neg_rawped_vs_pad -type colz
+phodo_1y_neg_rawped_vs_pad -type colz
+phodo_2x_neg_rawped_vs_pad -type colz
+phodo_2y_neg_rawped_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw Int PMT+
+phodo_1x_pos_rawpi_vs_pad -type colz
+phodo_1y_pos_rawpi_vs_pad -type colz
+phodo_2x_pos_rawpi_vs_pad -type colz
+phodo_2y_pos_rawpi_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw Int PMT-
+phodo_1x_neg_rawpi_vs_pad -type colz
+phodo_1y_neg_rawpi_vs_pad -type colz
+phodo_2x_neg_rawpi_vs_pad -type colz
+phodo_2y_neg_rawpi_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw Peak PMT+
+phodo_1x_pos_rawpamp_vs_pad -type colz
+phodo_1y_pos_rawpamp_vs_pad -type colz
+phodo_2x_pos_rawpamp_vs_pad -type colz
+phodo_2y_pos_rawpamp_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw Peak PMT-
+phodo_1x_neg_rawpamp_vs_pad -type colz
+phodo_1y_neg_rawpamp_vs_pad -type colz
+phodo_2x_neg_rawpamp_vs_pad -type colz
+phodo_2y_neg_rawpamp_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw Adc Time PMT+
+phodo_1x_pos_rawptime_vs_pad -type colz
+phodo_1y_pos_rawptime_vs_pad -type colz
+phodo_2x_pos_rawptime_vs_pad -type colz
+phodo_2y_pos_rawptime_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw ADc Time PMT-
+phodo_1x_neg_rawptime_vs_pad -type colz
+phodo_1y_neg_rawptime_vs_pad -type colz
+phodo_2x_neg_rawptime_vs_pad -type colz
+phodo_2y_neg_rawptime_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw TDC time PMT+
+phodo_1x_pos_raw_tdc_time_vs_pad -type colz
+phodo_1y_pos_raw_tdc_time_vs_pad -type colz
+phodo_2x_pos_raw_tdc_time_vs_pad -type colz
+phodo_2y_pos_raw_tdc_time_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Raw  TDC time PMT-
+phodo_1x_neg_raw_tdc_time_vs_pad -type colz
+phodo_1y_neg_raw_tdc_time_vs_pad -type colz
+phodo_2x_neg_raw_tdc_time_vs_pad -type colz
+phodo_2y_neg_raw_tdc_time_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Ped PMT+
+phodo_1x_pos_ped_vs_pad -type colz
+phodo_1y_pos_ped_vs_pad -type colz
+phodo_2x_pos_ped_vs_pad -type colz
+phodo_2y_pos_ped_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo Ped PMT-
+phodo_1x_neg_ped_vs_pad -type colz
+phodo_1y_neg_ped_vs_pad -type colz
+phodo_2x_neg_ped_vs_pad -type colz
+phodo_2y_neg_ped_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo ADC Int PMT+
+phodo_1x_pos_pi_vs_pad -type colz
+phodo_1y_pos_pi_vs_pad -type colz
+phodo_2x_pos_pi_vs_pad -type colz
+phodo_2y_pos_pi_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo ADC Int PMT-
+phodo_1x_neg_pi_vs_pad -type colz
+phodo_1y_neg_pi_vs_pad -type colz
+phodo_2x_neg_pi_vs_pad -type colz
+phodo_2y_neg_pi_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo ADC Peak PMT+
+phodo_1x_pos_pamp_vs_pad -type colz
+phodo_1y_pos_pamp_vs_pad -type colz
+phodo_2x_pos_pamp_vs_pad -type colz
+phodo_2y_pos_pamp_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo ADc Peak PMT-
+phodo_1x_neg_pamp_vs_pad -type colz
+phodo_1y_neg_pamp_vs_pad -type colz
+phodo_2x_neg_pamp_vs_pad -type colz
+phodo_2y_neg_pamp_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo TDC time PMT+
+phodo_1x_pos_tdc_time_vs_pad -type colz
+phodo_1y_pos_tdc_time_vs_pad -type colz
+phodo_2x_pos_tdc_time_vs_pad -type colz
+phodo_2y_pos_tdc_time_vs_pad -type colz
+newpage 2 2
+title SHMS Hodo  TDC time PMT-
+phodo_1x_neg_tdc_time_vs_pad -type colz
+phodo_1y_neg_tdc_time_vs_pad -type colz
+phodo_2x_neg_tdc_time_vs_pad -type colz
+phodo_2y_neg_tdc_time_vs_pad -type colz
diff --git a/onlineGUI/Config/SHMS/RASTER/simple_raster.cfg b/onlineGUI/Config/SHMS/RASTER/simple_raster.cfg
new file mode 100644
index 00000000..670f32da
--- /dev/null
+++ b/onlineGUI/Config/SHMS/RASTER/simple_raster.cfg
@@ -0,0 +1,20 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/shms_raster_simple_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 2 2
+title HMS 1D Raster Raw ADC
+pFRXA
+pFRXB
+pFRYA
+pFRYB
+newpage 2 2
+title HMS 1D Raster (Volts)
+pFRXA_V
+pFRXB_V
+pFRYA_V
+pFRYB_V
+newpage 1 2
+title HMS Hodo Raw Ped PMT+
+pFRA_XvsY -type colz
+pFRB_XvsY -type colz
diff --git a/onlineGUI/Config/kpp.cfg b/onlineGUI/Config/kpp.cfg
new file mode 100755
index 00000000..3ba6650a
--- /dev/null
+++ b/onlineGUI/Config/kpp.cfg
@@ -0,0 +1,121 @@
+protorootfile ../ROOTfiles/shms_replay_XXXXX.root
+guicolor orange
+canvassize 1600 800
+#canvassize 800 800
+newpage 3 3
+title Trigger Times
+macro Macros/kpp_analysis.C("h_p1X_tdc")
+macro Macros/kpp_analysis.C("h_p1Y_tdc")
+macro Macros/kpp_analysis.C("h_p2X_tdc")
+macro Macros/kpp_analysis.C("h_p2Y_tdc")
+macro Macros/kpp_analysis.C("h_p1T_tdc")
+macro Macros/kpp_analysis.C("h_p2T_tdc")
+macro Macros/kpp_analysis.C("h_pT1_tdc")
+macro Macros/kpp_analysis.C("h_pT2_tdc")
+macro Macros/kpp_analysis.C("h_pT3_tdc")
+newpage 4 3
+title Hodoscope Plane Reference Times
+macro Macros/kpp_analysis.C("h_p1XmpT2_tdc")
+macro Macros/kpp_analysis.C("h_p1YmpT2_tdc")
+macro Macros/kpp_analysis.C("h_p2XmpT2_tdc")
+macro Macros/kpp_analysis.C("h_p2YmpT2_tdc")
+macro Macros/kpp_analysis.C("h_p1XmpT3_tdc")
+macro Macros/kpp_analysis.C("h_p1YmpT3_tdc")
+macro Macros/kpp_analysis.C("h_p2XmpT3_tdc")
+macro Macros/kpp_analysis.C("h_p2YmpT3_tdc")
+macro Macros/kpp_analysis.C("h_p1TmpT2_tdc")
+macro Macros/kpp_analysis.C("h_p1TmpT3_tdc")
+macro Macros/kpp_analysis.C("h_p2TmpT2_tdc")
+macro Macros/kpp_analysis.C("h_p2TmpT3_tdc")
+newpage 2 2 logz
+title Negative Hodoscope Corrected TDC Times
+macro Macros/kpp_analysis.C("h2_p1X_negTdcCorr")
+macro Macros/kpp_analysis.C("h2_p1Y_negTdcCorr")
+macro Macros/kpp_analysis.C("h2_p2X_negTdcCorr")
+macro Macros/kpp_analysis.C("h2_p2Y_negTdcCorr")
+newpage 2 2 logz
+title Positive Hodoscope Corrected TDC Times
+macro Macros/kpp_analysis.C("h2_p1X_posTdcCorr")
+macro Macros/kpp_analysis.C("h2_p1Y_posTdcCorr")
+macro Macros/kpp_analysis.C("h2_p2X_posTdcCorr")
+macro Macros/kpp_analysis.C("h2_p2Y_posTdcCorr")
+newpage 2 2 logz
+title Negative Hodoscope Pulse Time - TDC Time
+macro Macros/kpp_analysis.C("h2_p1Xneg_pt_tt_diff")
+macro Macros/kpp_analysis.C("h2_p1Yneg_pt_tt_diff")
+macro Macros/kpp_analysis.C("h2_p2Xneg_pt_tt_diff")
+macro Macros/kpp_analysis.C("h2_p2Yneg_pt_tt_diff")
+newpage 2 2 logz
+title Positive Hodoscope Pulse Time - TDC Time
+macro Macros/kpp_analysis.C("h2_p1Xpos_pt_tt_diff")
+macro Macros/kpp_analysis.C("h2_p1Ypos_pt_tt_diff")
+macro Macros/kpp_analysis.C("h2_p2Xpos_pt_tt_diff")
+macro Macros/kpp_analysis.C("h2_p2Ypos_pt_tt_diff")
+newpage 2 2 logz
+title Hodoscope Corrected TDC Time Differences
+macro Macros/kpp_analysis.C("h2_p1X_tdcCorrDiff")
+macro Macros/kpp_analysis.C("h2_p1Y_tdcCorrDiff")
+macro Macros/kpp_analysis.C("h2_p2X_tdcCorrDiff")
+macro Macros/kpp_analysis.C("h2_p2Y_tdcCorrDiff")
+newpage 2 2 
+title Plane Times
+macro Macros/kpp_analysis.C("h_p1X_plTime")
+macro Macros/kpp_analysis.C("h_p1Y_plTime")
+macro Macros/kpp_analysis.C("h_p2X_plTime")
+macro Macros/kpp_analysis.C("h_p2Y_plTime")
+newpage 2 2
+title Focal Plane Times
+macro Macros/kpp_analysis.C("h_p1X_fpTime")
+macro Macros/kpp_analysis.C("h_p1Y_fpTime")
+macro Macros/kpp_analysis.C("h_p2X_fpTime")
+macro Macros/kpp_analysis.C("h_p2Y_fpTime")
+newpage 2 3 logz
+title Aerogel ADC Pulse Times
+macro Macros/kpp_analysis.C("h2_paero_posPulseTime_pT1_diff")
+macro Macros/kpp_analysis.C("h2_paero_negPulseTime_pT1_diff")
+macro Macros/kpp_analysis.C("h2_paero_posPulseTime_pT2_diff")
+macro Macros/kpp_analysis.C("h2_paero_negPulseTime_pT2_diff")
+macro Macros/kpp_analysis.C("h2_paero_posPulseTime_pT3_diff")
+macro Macros/kpp_analysis.C("h2_paero_negPulseTime_pT3_diff")
+newpage 2 3 logz
+title Pre-Shower ADC Pulse Times
+macro Macros/kpp_analysis.C("h2_ppshwr_posPulseTime_pT1_diff")
+macro Macros/kpp_analysis.C("h2_ppshwr_negPulseTime_pT1_diff")
+macro Macros/kpp_analysis.C("h2_ppshwr_posPulseTime_pT2_diff")
+macro Macros/kpp_analysis.C("h2_ppshwr_negPulseTime_pT2_diff")
+macro Macros/kpp_analysis.C("h2_ppshwr_posPulseTime_pT3_diff")
+macro Macros/kpp_analysis.C("h2_ppshwr_negPulseTime_pT3_diff")
+newpage 3 1 logz
+title Shower ADC Pulse Times
+macro Macros/kpp_analysis.C("h2_pshwr_pulseTime_pT1_diff")
+macro Macros/kpp_analysis.C("h2_pshwr_pulseTime_pT2_diff")
+macro Macros/kpp_analysis.C("h2_pshwr_pulseTime_pT3_diff")
+newpage 3 1 logz
+title Heavy Gas ADC Pulse Times
+macro Macros/kpp_analysis.C("h2_phgc_pulseTime_pT1_diff")
+macro Macros/kpp_analysis.C("h2_phgc_pulseTime_pT2_diff")
+macro Macros/kpp_analysis.C("h2_phgc_pulseTime_pT3_diff")
+newpage 3 1 logz
+title Noble Gas ADC Pulse Times
+macro Macros/kpp_analysis.C("h2_pngc_pulseTime_pT1_diff")
+macro Macros/kpp_analysis.C("h2_pngc_pulseTime_pT2_diff")
+macro Macros/kpp_analysis.C("h2_pngc_pulseTime_pT3_diff")
+newpage 3 2
+title Detector ADC Sums
+macro Macros/kpp_analysis.C("h_paero_sum")
+macro Macros/kpp_analysis.C("h_phgc_sum")
+macro Macros/kpp_analysis.C("h_pngc_sum")
+macro Macros/kpp_analysis.C("h_ppshwr_sum")
+macro Macros/kpp_analysis.C("h_pshwr_sum")
+macro Macros/kpp_analysis.C("h_ptotshwr_sum")
+newpage 2 2 logz
+title SHMS Particle Identification
+macro Macros/kpp_analysis.C("h2_pshwr_vs_phgcer")
+macro Macros/kpp_analysis.C("h2_pshwr_vs_pngcer")
+macro Macros/kpp_analysis.C("h2_pshwr_vs_ppshwr")
+macro Macros/kpp_analysis.C("h2_EdivP_vs_P")
+
+
+
+
+
diff --git a/onlineGUI/Config/rawhmshodo.cfg b/onlineGUI/Config/rawhmshodo.cfg
new file mode 100755
index 00000000..21ec6189
--- /dev/null
+++ b/onlineGUI/Config/rawhmshodo.cfg
@@ -0,0 +1,243 @@
+protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+guicolor lightblue
+canvassize 1600 800
+newpage 4 4
+title HMS X1+ Raw TDCS
+macro Macros/rawdraw.C("uhtdc1x1posTime")
+macro Macros/rawdraw.C("uhtdc1x2posTime")
+macro Macros/rawdraw.C("uhtdc1x3posTime")
+macro Macros/rawdraw.C("uhtdc1x4posTime")
+macro Macros/rawdraw.C("uhtdc1x5posTime")
+macro Macros/rawdraw.C("uhtdc1x6posTime")
+macro Macros/rawdraw.C("uhtdc1x7posTime")
+macro Macros/rawdraw.C("uhtdc1x8posTime")
+macro Macros/rawdraw.C("uhtdc1x9posTime")
+macro Macros/rawdraw.C("uhtdc1x10posTime")
+macro Macros/rawdraw.C("uhtdc1x11posTime")
+macro Macros/rawdraw.C("uhtdc1x12posTime")
+macro Macros/rawdraw.C("uhtdc1x13posTime")
+macro Macros/rawdraw.C("uhtdc1x14posTime")
+macro Macros/rawdraw.C("uhtdc1x15posTime")
+macro Macros/rawdraw.C("uhtdc1x16posTime")
+newpage 4 4
+title HMS X1- Raw TDCS
+macro Macros/rawdraw.C("uhtdc1x1negTime")
+macro Macros/rawdraw.C("uhtdc1x2negTime")
+macro Macros/rawdraw.C("uhtdc1x3negTime")
+macro Macros/rawdraw.C("uhtdc1x4negTime")
+macro Macros/rawdraw.C("uhtdc1x5negTime")
+macro Macros/rawdraw.C("uhtdc1x6negTime")
+macro Macros/rawdraw.C("uhtdc1x7negTime")
+macro Macros/rawdraw.C("uhtdc1x8negTime")
+macro Macros/rawdraw.C("uhtdc1x9negTime")
+macro Macros/rawdraw.C("uhtdc1x10negTime")
+macro Macros/rawdraw.C("uhtdc1x11negTime")
+macro Macros/rawdraw.C("uhtdc1x12negTime")
+macro Macros/rawdraw.C("uhtdc1x13negTime")
+macro Macros/rawdraw.C("uhtdc1x14negTime")
+macro Macros/rawdraw.C("uhtdc1x15negTime")
+macro Macros/rawdraw.C("uhtdc1x16negTime")
+newpage 4 4
+title HMS X1+ Raw ADCS
+macro Macros/rawdraw.C("uhadc1x1posPed")
+macro Macros/rawdraw.C("uhadc1x2posPed")
+macro Macros/rawdraw.C("uhadc1x3posPed")
+macro Macros/rawdraw.C("uhadc1x4posPed")
+macro Macros/rawdraw.C("uhadc1x5posPed")
+macro Macros/rawdraw.C("uhadc1x6posPed")
+macro Macros/rawdraw.C("uhadc1x7posPed")
+macro Macros/rawdraw.C("uhadc1x8posPed")
+macro Macros/rawdraw.C("uhadc1x9posPed")
+macro Macros/rawdraw.C("uhadc1x10posPed")
+macro Macros/rawdraw.C("uhadc1x11posPed")
+macro Macros/rawdraw.C("uhadc1x12posPed")
+macro Macros/rawdraw.C("uhadc1x13posPed")
+macro Macros/rawdraw.C("uhadc1x14posPed")
+macro Macros/rawdraw.C("uhadc1x15posPed")
+macro Macros/rawdraw.C("uhadc1x16posPed")
+newpage 4 4
+title HMS X1- Raw ADCS
+macro Macros/rawdraw.C("uhadc1x1negPed")
+macro Macros/rawdraw.C("uhadc1x2negPed")
+macro Macros/rawdraw.C("uhadc1x3negPed")
+macro Macros/rawdraw.C("uhadc1x4negPed")
+macro Macros/rawdraw.C("uhadc1x5negPed")
+macro Macros/rawdraw.C("uhadc1x6negPed")
+macro Macros/rawdraw.C("uhadc1x7negPed")
+macro Macros/rawdraw.C("uhadc1x8negPed")
+macro Macros/rawdraw.C("uhadc1x9negPed")
+macro Macros/rawdraw.C("uhadc1x10negPed")
+macro Macros/rawdraw.C("uhadc1x11negPed")
+macro Macros/rawdraw.C("uhadc1x12negPed")
+macro Macros/rawdraw.C("uhadc1x13negPed")
+macro Macros/rawdraw.C("uhadc1x14negPed")
+macro Macros/rawdraw.C("uhadc1x15negPed")
+macro Macros/rawdraw.C("uhadc1x16negPed")
+newpage 4 4
+title HMS Y1+ Raw TDCS
+macro Macros/rawdraw.C("uhtdc1y1posTime")
+macro Macros/rawdraw.C("uhtdc1y2posTime")
+macro Macros/rawdraw.C("uhtdc1y3posTime")
+macro Macros/rawdraw.C("uhtdc1y4posTime")
+macro Macros/rawdraw.C("uhtdc1y5posTime")
+macro Macros/rawdraw.C("uhtdc1y6posTime")
+macro Macros/rawdraw.C("uhtdc1y7posTime")
+macro Macros/rawdraw.C("uhtdc1y8posTime")
+macro Macros/rawdraw.C("uhtdc1y9posTime")
+macro Macros/rawdraw.C("uhtdc1y10posTime")
+newpage 4 4
+title HMS Y1- Raw TDCS
+macro Macros/rawdraw.C("uhtdc1y1negTime")
+macro Macros/rawdraw.C("uhtdc1y2negTime")
+macro Macros/rawdraw.C("uhtdc1y3negTime")
+macro Macros/rawdraw.C("uhtdc1y4negTime")
+macro Macros/rawdraw.C("uhtdc1y5negTime")
+macro Macros/rawdraw.C("uhtdc1y6negTime")
+macro Macros/rawdraw.C("uhtdc1y7negTime")
+macro Macros/rawdraw.C("uhtdc1y8negTime")
+macro Macros/rawdraw.C("uhtdc1y9negTime")
+macro Macros/rawdraw.C("uhtdc1y10negTime")
+newpage 4 4
+title HMS Y1+ Raw ADCS
+macro Macros/rawdraw.C("uhadc1y1posPed")
+macro Macros/rawdraw.C("uhadc1y2posPed")
+macro Macros/rawdraw.C("uhadc1y3posPed")
+macro Macros/rawdraw.C("uhadc1y4posPed")
+macro Macros/rawdraw.C("uhadc1y5posPed")
+macro Macros/rawdraw.C("uhadc1y6posPed")
+macro Macros/rawdraw.C("uhadc1y7posPed")
+macro Macros/rawdraw.C("uhadc1y8posPed")
+macro Macros/rawdraw.C("uhadc1y9posPed")
+macro Macros/rawdraw.C("uhadc1y10posPed")
+newpage 4 4
+title HMS Y1- Raw ADCS
+macro Macros/rawdraw.C("uhadc1y1negPed")
+macro Macros/rawdraw.C("uhadc1y2negPed")
+macro Macros/rawdraw.C("uhadc1y3negPed")
+macro Macros/rawdraw.C("uhadc1y4negPed")
+macro Macros/rawdraw.C("uhadc1y5negPed")
+macro Macros/rawdraw.C("uhadc1y6negPed")
+macro Macros/rawdraw.C("uhadc1y7negPed")
+macro Macros/rawdraw.C("uhadc1y8negPed")
+macro Macros/rawdraw.C("uhadc1y9negPed")
+macro Macros/rawdraw.C("uhadc1y10negPed")
+newpage 4 4
+title HMS X2+ Raw TDCS
+macro Macros/rawdraw.C("uhtdc2x1posTime")
+macro Macros/rawdraw.C("uhtdc2x2posTime")
+macro Macros/rawdraw.C("uhtdc2x3posTime")
+macro Macros/rawdraw.C("uhtdc2x4posTime")
+macro Macros/rawdraw.C("uhtdc2x5posTime")
+macro Macros/rawdraw.C("uhtdc2x6posTime")
+macro Macros/rawdraw.C("uhtdc2x7posTime")
+macro Macros/rawdraw.C("uhtdc2x8posTime")
+macro Macros/rawdraw.C("uhtdc2x9posTime")
+macro Macros/rawdraw.C("uhtdc2x10posTime")
+macro Macros/rawdraw.C("uhtdc2x11posTime")
+macro Macros/rawdraw.C("uhtdc2x12posTime")
+macro Macros/rawdraw.C("uhtdc2x13posTime")
+macro Macros/rawdraw.C("uhtdc2x14posTime")
+macro Macros/rawdraw.C("uhtdc2x15posTime")
+macro Macros/rawdraw.C("uhtdc2x16posTime")
+newpage 4 4
+title HMS X2- Raw TDCS
+macro Macros/rawdraw.C("uhtdc2x1negTime")
+macro Macros/rawdraw.C("uhtdc2x2negTime")
+macro Macros/rawdraw.C("uhtdc2x3negTime")
+macro Macros/rawdraw.C("uhtdc2x4negTime")
+macro Macros/rawdraw.C("uhtdc2x5negTime")
+macro Macros/rawdraw.C("uhtdc2x6negTime")
+macro Macros/rawdraw.C("uhtdc2x7negTime")
+macro Macros/rawdraw.C("uhtdc2x8negTime")
+macro Macros/rawdraw.C("uhtdc2x9negTime")
+macro Macros/rawdraw.C("uhtdc2x10negTime")
+macro Macros/rawdraw.C("uhtdc2x11negTime")
+macro Macros/rawdraw.C("uhtdc2x12negTime")
+macro Macros/rawdraw.C("uhtdc2x13negTime")
+macro Macros/rawdraw.C("uhtdc2x14negTime")
+macro Macros/rawdraw.C("uhtdc2x15negTime")
+macro Macros/rawdraw.C("uhtdc2x16negTime")
+newpage 4 4
+title HMS X2+ Raw ADCS
+macro Macros/rawdraw.C("uhadc2x1posPed")
+macro Macros/rawdraw.C("uhadc2x2posPed")
+macro Macros/rawdraw.C("uhadc2x3posPed")
+macro Macros/rawdraw.C("uhadc2x4posPed")
+macro Macros/rawdraw.C("uhadc2x5posPed")
+macro Macros/rawdraw.C("uhadc2x6posPed")
+macro Macros/rawdraw.C("uhadc2x7posPed")
+macro Macros/rawdraw.C("uhadc2x8posPed")
+macro Macros/rawdraw.C("uhadc2x9posPed")
+macro Macros/rawdraw.C("uhadc2x10posPed")
+macro Macros/rawdraw.C("uhadc2x11posPed")
+macro Macros/rawdraw.C("uhadc2x12posPed")
+macro Macros/rawdraw.C("uhadc2x13posPed")
+macro Macros/rawdraw.C("uhadc2x14posPed")
+macro Macros/rawdraw.C("uhadc2x15posPed")
+macro Macros/rawdraw.C("uhadc2x16posPed")
+newpage 4 4
+title HMS X2- Raw ADCS
+macro Macros/rawdraw.C("uhadc2x1negPed")
+macro Macros/rawdraw.C("uhadc2x2negPed")
+macro Macros/rawdraw.C("uhadc2x3negPed")
+macro Macros/rawdraw.C("uhadc2x4negPed")
+macro Macros/rawdraw.C("uhadc2x5negPed")
+macro Macros/rawdraw.C("uhadc2x6negPed")
+macro Macros/rawdraw.C("uhadc2x7negPed")
+macro Macros/rawdraw.C("uhadc2x8negPed")
+macro Macros/rawdraw.C("uhadc2x9negPed")
+macro Macros/rawdraw.C("uhadc2x10negPed")
+macro Macros/rawdraw.C("uhadc2x11negPed")
+macro Macros/rawdraw.C("uhadc2x12negPed")
+macro Macros/rawdraw.C("uhadc2x13negPed")
+macro Macros/rawdraw.C("uhadc2x14negPed")
+macro Macros/rawdraw.C("uhadc2x15negPed")
+macro Macros/rawdraw.C("uhadc2x16negPed")
+newpage 4 4
+title HMS Y2+ Raw TDCS
+macro Macros/rawdraw.C("uhtdc2y1posTime")
+macro Macros/rawdraw.C("uhtdc2y2posTime")
+macro Macros/rawdraw.C("uhtdc2y3posTime")
+macro Macros/rawdraw.C("uhtdc2y4posTime")
+macro Macros/rawdraw.C("uhtdc2y5posTime")
+macro Macros/rawdraw.C("uhtdc2y6posTime")
+macro Macros/rawdraw.C("uhtdc2y7posTime")
+macro Macros/rawdraw.C("uhtdc2y8posTime")
+macro Macros/rawdraw.C("uhtdc2y9posTime")
+macro Macros/rawdraw.C("uhtdc2y10posTime")
+newpage 4 4
+title HMS Y2- Raw TDCS
+macro Macros/rawdraw.C("uhtdc2y1negTime")
+macro Macros/rawdraw.C("uhtdc2y2negTime")
+macro Macros/rawdraw.C("uhtdc2y3negTime")
+macro Macros/rawdraw.C("uhtdc2y4negTime")
+macro Macros/rawdraw.C("uhtdc2y5negTime")
+macro Macros/rawdraw.C("uhtdc2y6negTime")
+macro Macros/rawdraw.C("uhtdc2y7negTime")
+macro Macros/rawdraw.C("uhtdc2y8negTime")
+macro Macros/rawdraw.C("uhtdc2y9negTime")
+macro Macros/rawdraw.C("uhtdc2y10negTime")
+newpage 4 4
+title HMS Y2+ Raw ADCS
+macro Macros/rawdraw.C("uhadc2y1posPed")
+macro Macros/rawdraw.C("uhadc2y2posPed")
+macro Macros/rawdraw.C("uhadc2y3posPed")
+macro Macros/rawdraw.C("uhadc2y4posPed")
+macro Macros/rawdraw.C("uhadc2y5posPed")
+macro Macros/rawdraw.C("uhadc2y6posPed")
+macro Macros/rawdraw.C("uhadc2y7posPed")
+macro Macros/rawdraw.C("uhadc2y8posPed")
+macro Macros/rawdraw.C("uhadc2y9posPed")
+macro Macros/rawdraw.C("uhadc2y10posPed")
+newpage 4 4
+title HMS Y2- Raw ADCS
+macro Macros/rawdraw.C("uhadc2y1negPed")
+macro Macros/rawdraw.C("uhadc2y2negPed")
+macro Macros/rawdraw.C("uhadc2y3negPed")
+macro Macros/rawdraw.C("uhadc2y4negPed")
+macro Macros/rawdraw.C("uhadc2y5negPed")
+macro Macros/rawdraw.C("uhadc2y6negPed")
+macro Macros/rawdraw.C("uhadc2y7negPed")
+macro Macros/rawdraw.C("uhadc2y8negPed")
+macro Macros/rawdraw.C("uhadc2y9negPed")
+macro Macros/rawdraw.C("uhadc2y10negPed")
diff --git a/onlineGUI/Config/standard.cfg b/onlineGUI/Config/standard.cfg
new file mode 100755
index 00000000..5057a8d9
--- /dev/null
+++ b/onlineGUI/Config/standard.cfg
@@ -0,0 +1,57 @@
+protorootfile ../../engine_comparison/hcana_replay/Rootfiles/replay_baryon_XXXXX.root
+guicolor lightblue
+canvassize 500 800
+
+definecut thtarcut abs(H.tr.tg_th)<0.01
+definecut phtarcut abs(H.tr.tg_ph)<0.01
+definecut ytarcut abs(H.tr.tg_y)<4
+definecut tarcut phtarcut&&thtarcut
+
+newpage 2 2
+title HMS focal plane/target
+H.dc.x:H.dc.y -type scat
+H.tr.tg_y ytarcut -title "Target Position"
+RB.raster.frx:RB.raster.fry -type colz
+H.tr.tg_ph:H.tr.tg_th phtarcut&&thtarcut -type colz -title "Target Xp vs Yp"
+
+newpage 2 3
+title HMS DC Wire Maps (Red=DC2)
+macro    Macros/overlay.C("hdc1x1_wm","hdc2x1_wm")
+macro    Macros/overlay.C("hdc1y1_wm","hdc2y1_wm")
+macro    Macros/overlay.C("hdc1u1_wm","hdc2u1_wm")
+macro    Macros/overlay.C("hdc1v1_wm","hdc2v1_wm")
+macro    Macros/overlay.C("hdc1y2_wm","hdc2y2_wm")
+macro    Macros/overlay.C("hdc1x2_wm","hdc2x2_wm")
+
+newpage 2 3
+title HDC1&2 drift distance (Red=DC2)
+macro    Macros/overlay.C("hdc1x1_dd","hdc2x1_dd")
+macro    Macros/overlay.C("hdc1y1_dd","hdc2y1_dd")
+macro    Macros/overlay.C("hdc1u1_dd","hdc2u1_dd")
+macro    Macros/overlay.C("hdc1v1_dd","hdc2v1_dd")
+macro    Macros/overlay.C("hdc1y2_dd","hdc2y2_dd")
+macro    Macros/overlay.C("hdc1x2_dd","hdc2x2_dd")
+
+
+newpage 2 3
+title HDC1&2 drift time (Red=DC2)
+macro    Macros/overlay.C("hdc1x1_dt","hdc2x1_dt")
+macro    Macros/overlay.C("hdc1y1_dt","hdc2y1_dt")
+macro    Macros/overlay.C("hdc1u1_dt","hdc2u1_dt")
+macro    Macros/overlay.C("hdc1v1_dt","hdc2v1_dt")
+macro    Macros/overlay.C("hdc1y2_dt","hdc2y2_dt")
+macro    Macros/overlay.C("hdc1x2_dt","hdc2x2_dt")
+
+newpage 2 4
+title HMS Hodo Hits
+macro Macros/overlay.C("hpostdc1","hnegtdc1")
+macro Macros/overlay.C("hposadc1","hnegadc1")
+macro Macros/overlay.C("hpostdc2","hnegtdc2")
+macro Macros/overlay.C("hposadc2","hnegadc2")
+macro Macros/overlay.C("hpostdc3","hnegtdc3")
+macro Macros/overlay.C("hposadc3","hnegadc3")
+macro Macros/overlay.C("hpostdc4","hnegtdc4")
+macro Macros/overlay.C("hposadc4","hnegadc4")
+
+
+
diff --git a/onlineGUI/Macros/gooddraw_2d_hhodo.C b/onlineGUI/Macros/gooddraw_2d_hhodo.C
new file mode 100644
index 00000000..4c28b069
--- /dev/null
+++ b/onlineGUI/Macros/gooddraw_2d_hhodo.C
@@ -0,0 +1,286 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 16;  
+  const UInt_t MAXHITS  = 16*16;  
+  const UInt_t NSIGNALS = 2;
+  const UInt_t NADCSIGNALS = 1;
+  const UInt_t NTDCSIGNALS = 3;
+
+  const TString SPECTROMETER = "H";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const TString plane_check_names[NPLANES] = {"1y", "1x", "2y", "2x"};
+  const UInt_t  nbars[NPLANES] = {16, 10, 16, 10};
+  const UInt_t  nbars_check[NPLANES] = {10, 16, 10, 16};
+  const TString sides[NSIDES] = {"GoodNeg", "GoodPos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"PulseInt"};
+  const Double_t adc_min[NADCSIGNALS] = {0};
+  const Double_t adc_max[NADCSIGNALS] = {5000};
+  const Int_t adc_nbins[NADCSIGNALS] = {500};
+  const TString tdc_signals[NTDCSIGNALS] = {"Chan", "TimeCorr", "TimeTOFCorr"};
+  const Double_t tdc_min[NTDCSIGNALS] = {0.,0.,0.};
+  const Double_t tdc_max[NTDCSIGNALS] = {4000.,50.,50.};
+  const Int_t tdc_nbins[NTDCSIGNALS] = {100,500,500};
+ 
+  Double_t adcbit_to_pC = 1.0/(50*4096)*4*1000. ;// 1V/(50 Ohms)/4096*4ns* = .020 pC
+  Double_t adcpeak_to_mV = 1.0/4096.*1000;// 1.0V per 4096 bits
+  Double_t fac_for_disc[4]= {2.0,2.,2.,2.};// Factor to have ADC at FADC match signal at discriminatir assuming split of 2/3 to 1/3( 2Y plane has linear FI/FO not a splitter)
+ 
+  Int_t nhits[NPLANES];
+  Double_t adc_tdc_ymin[4]={20.,20.,20.,20.};
+  Double_t adc_tdc_ymax[4]={45.,45.,45.,45.};
+  Int_t nhits_temp;
+  Double_t paddles[NPLANES][MAXHITS];
+
+
+  Double_t adc_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+
+
+  //
+  TH2F* htdc_tdc[NPLANES*MAXBARS];
+  TH2F* hadc_adc[NPLANES*MAXBARS];
+  TH2F* hadc_adc_good[NPLANES*MAXBARS];
+  TH2F* hadc_tdc[NPLANES*MAXBARS][2];
+  /*
+  make histogram of plane ADC versus position in perpendicalur plane
+   */
+  TH2F* hadc_dis[NPLANES*MAXBARS][2];
+  Int_t dis_bin[4]={10,16,10,16};
+  Double_t dis_min[4];
+  Double_t dis_max[4];
+  Double_t dis_center_pad1[4]={33.75,-56.25,33.75,-56.25};
+  Double_t dis_sign[4]={-1.,1.,-1.,1.};
+  Double_t dis_space=7.5;
+  //
+  TH2F*   hpadx;
+  TH2F*   hpadxy1;
+  TH2F*   hpady;
+  hpadx= new TH2F("hpadx",";paddle X1;paddle X2",16,1,17,16,1,17);
+  hpadxy1= new TH2F("hpadxy1",";paddle X1;paddle Y1",16,1,17,10,1,11);
+  hpady= new TH2F("hpady",";paddle Y1;paddle Y2",10,1,11,10,1,11);
+  //
+  /*
+Histograms for Neg and Pos PMT efficiencies as function of paddle in other perpendicular plane
+    Each X1 paddle efficiency as function of Y1 paddle.
+    Each Y1 paddle efficiency as function of X1 paddle.
+    Each X2 paddle efficiency as function of Y2 paddle.
+    Each Y2 paddle efficiency as function of X2 paddle.
+Tree has data in which at least one PMT had a good TDC time. 
+If the other PMT did not have a good time then its TDC =-999.
+For each event
+Set good_should=kTRUE if  nhits==1 all planes.
+Loop through all hits in each plane ip=0,3
+  If good_should=kTRUE and tdc_neg_val>0 good_neg[ip][bar]=kTRUE 
+  If good_should=kTRUE and tdc_pos_val>0 good_neg[ip][bar]=kTRUE 
+endloop
+Loop through all planes and all bars in that plane ib=0,nbars[ip]
+  if good_pos[ip][ib] then negative end should have had a hit
+         fill "should" neg PMT histogram with perpendicular paddle  
+  if good_pos[ip][ib] and good_neg[ip][ib] 
+         fill "did"  neg PMT  histogram with perpendicular paddle  
+  if good_neg[ip][ib] then positive end should have had a hit
+         fill "should" pos PMT histogram with perpendicular paddle  
+  if good_pos[ip][ib] and good_neg[ip][ib] 
+         fill "did"  pos PMT  histogram with perpendicular paddle 
+end event
+Efficiency is ratio of did/should which is calculated using hodo_efficiency.C   
+   */
+  TH1F* hgood_neg_should[4][16];
+  TH1F* hgood_pos_should[4][16];
+  TH1F* hgood_neg_did[4][16];
+  TH1F* hgood_pos_did[4][16];
+  //
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "TDC 1ns/chan "+plane_names[ip]+i2dbarname+"; Neg ; Pos ";
+	      TString h2dtname="uh2dtdc"+plane_names[ip]+i2dbarname;
+              htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,200,25,75,200,25,75.);
+		TString h2dnegtitle= "Neg PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg ";
+	        TString h2dnegname="uhdidneg"+plane_names[ip]+i2dbarname;
+                 hgood_neg_did[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1);
+		TString h2dnegtitle= "Neg PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg ";
+	        TString h2dnegname="uhshouldneg"+plane_names[ip]+i2dbarname;
+                 hgood_neg_should[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1);
+		TString h2dpostitle= "Pos PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos ";
+	        TString h2dposname="uhdidpos"+plane_names[ip]+i2dbarname;
+                 hgood_pos_did[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1);
+		TString h2dpostitle="Pos PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos ";
+	        TString h2dposname="uhshouldpos"+plane_names[ip]+i2dbarname;
+                 hgood_pos_should[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1);
+ 	    }
+  }
+  //
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)";
+	      TString h2dtname="uh2dadcint"+plane_names[ip]+i2dbarname;
+	      hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.);
+	      TString h2dttitle= "Good TDC ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)";
+	      TString h2dtname="uh2dadcintgtdc"+plane_names[ip]+i2dbarname;
+	      hadc_adc_good[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC);  Time (ns)";
+	      TString h2dtname="uh2dadcvtdcneg"+plane_names[ip]+i2dbarname;
+	      hadc_tdc[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,50,0,100,50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC);  Time (ns)";
+	      TString h2dtname="uh2dadcvtdcpos"+plane_names[ip]+i2dbarname;
+	      hadc_tdc[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,50,0,100,50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; Pos (cm); Adc (pC)";
+	      TString h2dtname="uh2dadcvdisneg"+plane_names[ip]+i2dbarname;
+	      hadc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],dis_sign[ip]*dis_center_pad1[ip]-dis_space/2.,-dis_sign[ip]*dis_center_pad1[ip]+dis_space/2.,50,0,100);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; Pos (cm); Adc (pC)";
+	      TString h2dtname="uh2dadcvdispos"+plane_names[ip]+i2dbarname;
+	      hadc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],dis_sign[ip]*dis_center_pad1[ip]-dis_space/2.,-dis_sign[ip]*dis_center_pad1[ip]+dis_space/2.,50,0,100);
+	    }
+  }
+  // set up branches
+
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	  TString base2_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip];
+	  TString ndata_name = "Ndata."+base2_name+".GoodPaddle";
+	  T->SetBranchAddress(ndata_name, &nhits[ip]);
+	  TString paddle_name = base2_name+".GoodPaddle";
+	  T->SetBranchAddress(paddle_name, &paddles[ip][0]);
+	  //s          cout << ip << " " << paddle_name << endl;
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+      for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	if(signals[isignal] == "Adc") {  
+	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    TString adclist_name = adc_base_name+adc_signals[iadcsignal];
+	    T->SetBranchAddress(adclist_name, &adc_values[ip][iside][iadcsignal][0]);
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    TString tdclist_name = tdc_base_name+tdc_signals[itdcsignal];
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	}
+      } // isginal
+    } //iside
+  } // ip
+  // Loop over the events, filling the histograms
+  Bool_t good_should;
+  Double_t good_pad[4];
+  Double_t good_adc[4][2];
+  Int_t check_plane[4]={1,0,3,2};
+  Bool_t good_neg[4][16],good_pos[4][16];
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    T->GetEntry(iev);
+    if (iev%10000==0) cout << " iev = " << iev << endl;
+     // get events with x paddle number equal and y paddle equal
+    //
+       good_should=kFALSE;
+      for(UInt_t ip = 0; ip < NPLANES; ip++){ 
+     for(UInt_t ib = 0; ib < nbars[ip]; ib++){ 
+       good_neg[ip][ib]=kFALSE;
+       good_pos[ip][ib]=kFALSE;
+     }
+     }
+    if (nhits[0]==1&&nhits[1]==1&&nhits[2]==1&&nhits[3]==1) good_should = kTRUE;
+      for(UInt_t ip = 0; ip < NPLANES; ip++){ 
+	//	 cout << iev << " " << ip << " " << nhits[ip]<< endl;
+		for(Int_t ihit = 0; ihit < nhits[ip]; ihit++)  {
+ 		UInt_t bar = TMath::Nint(paddles[ip][ihit]) - 1;
+		Double_t tdc_neg_val = tdc_values[ip][0][1][ihit];
+		Double_t tdc_pos_val =tdc_values[ip][1][1][ihit];
+		Double_t adc_neg_val = adc_values[ip][0][0][ihit]*adcbit_to_pC;
+		Double_t adc_pos_val = adc_values[ip][1][0][ihit]*adcbit_to_pC;
+		//		cout << " " << ihit << " " << bar << " "  << tdc_neg_val << endl;
+		htdc_tdc[ip*MAXBARS+bar]->Fill(tdc_neg_val,tdc_pos_val);
+		//		if (tdc_neg_val > 0 && tdc_pos_val >0) hadc_adc[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val);
+		hadc_adc[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val);
+		if (tdc_pos_val>0 && tdc_neg_val>0 ) {
+                  hadc_adc_good[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val);
+		  hadc_tdc[ip*MAXBARS+bar][0]->Fill(adc_neg_val,tdc_neg_val);
+		  hadc_tdc[ip*MAXBARS+bar][1]->Fill(adc_pos_val,tdc_pos_val);
+		}
+		good_pad[ip]=bar+1;
+                good_adc[ip][0]=adc_neg_val;
+                good_adc[ip][1]=adc_pos_val;
+                if (good_should && tdc_neg_val>0 ) good_neg[ip][bar]=kTRUE;
+                if (good_should && tdc_pos_val>0 ) good_pos[ip][bar]=kTRUE;
+		}
+	}
+      //
+     if (good_should   ) {
+     for(UInt_t ip = 0; ip < NPLANES; ip++){ 
+       //       cout << " ip = " << ip << " " << good_should<< endl;
+	 //	 cout << " pad =  " << good_pad[check_plane[ip]] << " check_plane = " << check_plane[ip] << endl;
+          for(UInt_t ib = 0; ib < nbars[ip]; ib++){ 
+	    //	    cout << ib << " " << good_neg[ip][ib] << " " << good_pos[ip][ib] << endl;
+          if (good_pos[ip][ib]) hgood_neg_should[ip][ib]->Fill(good_pad[check_plane[ip]]);
+          if (good_neg[ip][ib]) hgood_pos_should[ip][ib]->Fill(good_pad[check_plane[ip]]);
+          if (good_neg[ip][ib] && good_pos[ip][ib]) {
+               hgood_neg_did[ip][ib]->Fill(good_pad[check_plane[ip]]);
+               hgood_pos_did[ip][ib]->Fill(good_pad[check_plane[ip]]);
+               hadc_dis[ip*MAXBARS+ib][0]->Fill(dis_center_pad1[ip]+dis_sign[ip]*dis_space*(good_pad[check_plane[ip]]-1),good_adc[ip][0]);
+               hadc_dis[ip*MAXBARS+ib][1]->Fill(dis_center_pad1[ip]+dis_sign[ip]*dis_space*(good_pad[check_plane[ip]]-1),good_adc[ip][1]);
+	  }
+ 	  }
+      }
+     }
+  } // loop over entries
+    //
+  return;
+}
+
+
+
+void gooddraw_2d_hhodo(TString histname) {
+
+  TH1F* h1d;
+  TH2F* h2d;
+
+  h1d = (TH1F*) gDirectory->Get(histname);
+  h2d = (TH2F*) gDirectory->Get(histname);
+  if(!h1d && !h2d) {
+    UserScript();
+    h1d = (TH1F*) gDirectory->Get(histname);
+    h2d = (TH2F*) gDirectory->Get(histname);
+    if(!h1d || !h2d) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  if (h2d) {
+  h2d->SetStats(0);
+  h2d->Draw("colz");
+    h2d->GetXaxis()->SetTitleOffset(.6);
+    h2d->GetXaxis()->SetTitleSize(0.08);
+    h2d->GetYaxis()->SetTitleOffset(.6);
+    h2d->GetYaxis()->SetTitleSize(0.08);
+      }
+  else {
+    cout << "1d  drawing   " << histname << endl;
+  h1d->SetStats(0);
+  h1d->Draw();
+    h1d->GetXaxis()->SetTitleOffset(.6);
+    h1d->GetXaxis()->SetTitleSize(0.08);
+    h1d->GetYaxis()->SetTitleOffset(.6);
+    h1d->GetYaxis()->SetTitleSize(0.08);
+  }
+}
+
diff --git a/onlineGUI/Macros/gooddraw_2d_phodo.C b/onlineGUI/Macros/gooddraw_2d_phodo.C
new file mode 100644
index 00000000..e4141adf
--- /dev/null
+++ b/onlineGUI/Macros/gooddraw_2d_phodo.C
@@ -0,0 +1,325 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 21;  
+  const UInt_t MAXHITS  = 16*16;  
+  const UInt_t NSIGNALS = 2;
+  const UInt_t NADCSIGNALS = 1;
+  const UInt_t NTDCSIGNALS = 3;
+
+  const TString SPECTROMETER = "P";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const TString plane_check_names[NPLANES] = {"1y", "1x", "2y", "2x"};
+  const UInt_t  nbars[NPLANES] = {13, 13, 14, 21};
+  const UInt_t  nbars_check[NPLANES] = {13, 13, 21, 14};
+  const TString sides[NSIDES] = {"GoodNeg", "GoodPos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"PulseInt"};
+  const Double_t adc_min[NADCSIGNALS] = {0};
+  const Double_t adc_max[NADCSIGNALS] = {5000};
+  const Int_t adc_nbins[NADCSIGNALS] = {500};
+  const TString tdc_signals[NTDCSIGNALS] = {"Chan", "TimeCorr", "TimeTOFCorr"};
+  const Double_t tdc_min[NTDCSIGNALS] = {0.,0.,0.};
+  const Double_t tdc_max[NTDCSIGNALS] = {4000.,50.,50.};
+  const Int_t tdc_nbins[NTDCSIGNALS] = {100,500,500};
+ 
+  Double_t adcbit_to_pC = 1.0/(50*4096)*4*1000. ;// 1V/(50 Ohms)/4096*4ns* = .020 pC
+  Double_t adcpeak_to_mV = 1.0/4096.*1000;// 1.0V per 4096 bits
+  Double_t fac_for_disc[4]= {2.0,2.,2.,2.};// Factor to have ADC at FADC match signal at discriminatir assuming split of 2/3 to 1/3( 2Y plane has linear FI/FO not a splitter)
+ 
+  Int_t nhits[NPLANES];
+    Double_t adc_tdc_ymin[4]={-20.,-20.,-20.,-20.};
+    Double_t adc_tdc_ymax[4]={45.,45.,70.,70.};
+    Double_t adc_hmin[4]={0.,0.,0.,0.};
+    Double_t adc_hmax[4]={75.,75.,75.,200.};
+    Int_t nhits_temp;
+  Double_t paddles[NPLANES][MAXHITS];
+  const TString opp_plane[4] = {";Y1 plane paddle number; Adc (pC)",";X1 plane paddle number; Adc (pC)",";X1 plane paddle number; Adc (pC)",";X2 plane paddle number; Adc (pC)"};
+  const TString opp_planet[4] = {";Y1 plane paddle number; tdc (ns)",";X1 plane paddle number; tdc (ns)",";X1 plane paddle number; tdc (ns)",";X2 plane paddle number; tdc (ns)"};
+  const TString opp_planetdiff[4] = {";Y1 plane paddle number; tdc diff(ns)",";X1 plane paddle number; tdc diff (ns)",";X1 plane paddle number; tdc diff(ns)",";X2 plane paddle number; tdc diff (ns)"};
+
+
+  Double_t adc_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+
+
+  //
+  TH2F* htdc_tdc[NPLANES*MAXBARS];
+  TH2F* hadc_adc[NPLANES*MAXBARS];
+  TH2F* hadc_adc_good[NPLANES*MAXBARS];
+  TH2F* hadc_tdc[NPLANES*MAXBARS][2];
+  /*
+  make histogram of plane ADC versus position in perpendicalur plane
+   */
+  TH2F* hadc_dis[NPLANES*MAXBARS][2];
+  TH2F* htdc_dis[NPLANES*MAXBARS][2];
+  TH2F* htdcdiff_dis[NPLANES*MAXBARS];
+  Int_t dis_bin[4]={13,13,13,14};
+  Double_t dis_min[4];
+  Double_t dis_max[4];
+  Double_t dis_center_pad1[4]={-33.75,-56.25,-33.75,-56.25};
+  Double_t dis_sign[4]={1.,1.,1.,1.};
+  Double_t dis_space=7.5;
+   /*
+Histograms for Neg and Pos PMT efficiencies as function of paddle in other perpendicular plane
+    Each X1 paddle efficiency as function of Y1 paddle.
+    Each Y1 paddle efficiency as function of X1 paddle.
+    Each X2 paddle efficiency as function of Y2 paddle.
+    Each Y2 paddle efficiency as function of X2 paddle.
+Tree has data in which at least one PMT had a good TDC time. 
+If the other PMT did not have a good time then its TDC =-999.
+For each event
+Set good_should=kTRUE if  nhits==1 all planes.
+Loop through all hits in each plane ip=0,3
+  If good_should=kTRUE and tdc_neg_val>0 good_neg[ip][bar]=kTRUE 
+  If good_should=kTRUE and tdc_pos_val>0 good_neg[ip][bar]=kTRUE 
+endloop
+Loop through all planes and all bars in that plane ib=0,nbars[ip]
+  if good_pos[ip][ib] then negative end should have had a hit
+         fill "should" neg PMT histogram with perpendicular paddle  
+  if good_pos[ip][ib] and good_neg[ip][ib] 
+         fill "did"  neg PMT  histogram with perpendicular paddle  
+  if good_neg[ip][ib] then positive end should have had a hit
+         fill "should" pos PMT histogram with perpendicular paddle  
+  if good_pos[ip][ib] and good_neg[ip][ib] 
+         fill "did"  pos PMT  histogram with perpendicular paddle 
+end event
+Efficiency is ratio of did/should which is calculated using hodo_efficiency.C   
+   */
+  TH1F* hgood_neg_should[4][MAXBARS];
+  TH1F* hgood_pos_should[4][MAXBARS];
+  TH1F* hgood_neg_did[4][MAXBARS];
+  TH1F* hgood_pos_did[4][MAXBARS];
+  //
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "TDC 1ns/chan "+plane_names[ip]+i2dbarname+"; Neg ; Pos ";
+	      TString h2dtname="uh2dtdc"+plane_names[ip]+i2dbarname;
+              htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,0,50,100,0,50.);
+		TString h2dnegtitle= "Neg PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg ";
+	        TString h2dnegname="uhdidneg"+plane_names[ip]+i2dbarname;
+                 hgood_neg_did[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1);
+		TString h2dnegtitle= "Neg PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg ";
+	        TString h2dnegname="uhshouldneg"+plane_names[ip]+i2dbarname;
+                 hgood_neg_should[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1);
+		TString h2dpostitle= "Pos PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos ";
+	        TString h2dposname="uhdidpos"+plane_names[ip]+i2dbarname;
+                 hgood_pos_did[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1);
+		TString h2dpostitle="Pos PMT Pad  "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos ";
+	        TString h2dposname="uhshouldpos"+plane_names[ip]+i2dbarname;
+                 hgood_pos_should[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1);
+ 	    }
+  }
+  //
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)";
+	      TString h2dtname="uh2dadcint"+plane_names[ip]+i2dbarname;
+	      hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],50,adc_hmin[ip],adc_hmax[ip]);
+	      TString h2dttitle= "Good TDC ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)";
+	      TString h2dtname="uh2dadcintgtdc"+plane_names[ip]+i2dbarname;
+	      hadc_adc_good[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],50,adc_hmin[ip],adc_hmax[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC);  Time (ns)";
+	      TString h2dtname="uh2dadcvtdcneg"+plane_names[ip]+i2dbarname;
+	      hadc_tdc[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC);  Time (ns)";
+	      TString h2dtname="uh2dadcvtdcpos"+plane_names[ip]+i2dbarname;
+	      hadc_tdc[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
+	      TString h2dtname="uh2dadcvdisneg"+plane_names[ip]+i2dbarname;
+	      hadc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,50,0,adc_hmax[ip]);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
+	      TString h2dtname="uh2dadcvdispos"+plane_names[ip]+i2dbarname;
+	      hadc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,50,0,adc_hmax[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+opp_planet[ip];
+	      TString h2dtname="uh2dtdcvdisneg"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,40,-80,80);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+opp_planet[ip];
+	      TString h2dtname="uh2dtdcvdispos"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,40,-80,80);
+	      TString h2dttitle= "PMT Pad "+plane_names[ip]+i2dbarname+opp_planetdiff[ip];
+	      TString h2dtname="uh2dtdcdiffvdis"+plane_names[ip]+i2dbarname;
+	      htdcdiff_dis[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,40,-20,20);
+	    }
+  }
+  // set up branches
+          Double_t betanotrack;
+	  TString beta_name = SPECTROMETER+"."+DETECTOR+".betanotrack";
+	  T->SetBranchAddress(beta_name, &betanotrack);
+          TH1F* hbeta= new TH1F("hbeta","; Beta ;COunts",150,-1.5,1.5);
+          Double_t fptime[4];
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".1x.fptime";
+	  T->SetBranchAddress(fpname, &fptime[0]);
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".1y.fptime";
+	  T->SetBranchAddress(fpname, &fptime[1]);
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".2x.fptime";
+	  T->SetBranchAddress(fpname, &fptime[2]);
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".2y.fptime";
+	  T->SetBranchAddress(fpname, &fptime[3]);
+          TH1F* hfptime[4];
+          hfptime[0]= new TH1F("fptime1x","; fptime 1x ;COunts",50,0,50);
+          hfptime[1]= new TH1F("fptime1y","; fptime 1y ;COunts",50,0,50);
+          hfptime[2]= new TH1F("fptime2x","; fptime 2x ;COunts",50,0,50);
+          hfptime[3]= new TH1F("fptime2y","; fptime 2y ;COunts",50,0,50);
+          TH2F* hfptime_pad[4];
+          hfptime_pad[0]= new TH2F("fptime1x_pad","; fptime 1x ;Paddle",50,0,50,14,0,14);
+          hfptime_pad[1]= new TH2F("fptime1y_pad","; fptime 1y ;Paddle",50,0,50,14,0,14);
+          hfptime_pad[2]= new TH2F("fptime2x_pad","; fptime 2x ;Paddle",50,0,50,15,0,15);
+          hfptime_pad[3]= new TH2F("fptime2y_pad","; fptime 2y ;Paddle",50,0,50,22,0,22);
+
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	  TString base2_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip];
+	  TString ndata_name = "Ndata."+base2_name+".GoodPaddle";
+	  T->SetBranchAddress(ndata_name, &nhits[ip]);
+	  TString paddle_name = base2_name+".GoodPaddle";
+	  T->SetBranchAddress(paddle_name, &paddles[ip][0]);
+	  //s          cout << ip << " " << paddle_name << endl;
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+      for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	if(signals[isignal] == "Adc") {  
+	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    TString adclist_name = adc_base_name+adc_signals[iadcsignal];
+	    T->SetBranchAddress(adclist_name, &adc_values[ip][iside][iadcsignal][0]);
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    TString tdclist_name = tdc_base_name+tdc_signals[itdcsignal];
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	}
+      } // isginal
+    } //iside
+  } // ip
+  // Loop over the events, filling the histograms
+  Bool_t good_should;
+  Double_t good_pad[4];
+  Double_t good_adc[4][2];
+  Double_t good_tdc[4][2];
+  Int_t check_plane[4]={1,0,0,2};
+  Bool_t good_neg[4][MAXBARS],good_pos[4][MAXBARS];
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    T->GetEntry(iev);
+    if (iev%10000==0) cout << " iev = " << iev << endl;
+     // get events with x paddle number equal and y paddle equal
+    //
+       good_should=kFALSE;
+      for(UInt_t ip = 0; ip < NPLANES; ip++){ 
+     for(UInt_t ib = 0; ib < nbars[ip]; ib++){ 
+       good_neg[ip][ib]=kFALSE;
+       good_pos[ip][ib]=kFALSE;
+     }
+     }
+    if (nhits[0]==1&&nhits[1]==1&&nhits[2]==1&&nhits[3]<=1) good_should = kTRUE;
+    if ( good_should)  hbeta->Fill(betanotrack);
+      for(UInt_t ip = 0; ip < NPLANES; ip++){ 
+		  if ( good_should) hfptime[ip]->Fill(fptime[ip]);
+	//		 cout << iev << " plane = " << ip+1 << " nhits =  " << nhits[ip]<< endl;
+		for(Int_t ihit = 0; ihit < nhits[ip]; ihit++)  {
+ 		UInt_t bar = TMath::Nint(paddles[ip][ihit]) - 1;
+		Double_t tdc_neg_val = tdc_values[ip][0][1][ihit];
+		Double_t tdc_pos_val =tdc_values[ip][1][1][ihit];
+		Double_t adc_neg_val = adc_values[ip][0][0][ihit]*adcbit_to_pC;
+		Double_t adc_pos_val = adc_values[ip][1][0][ihit]*adcbit_to_pC;
+		//	cout << " " << ihit << " " << bar << " "  << tdc_neg_val << endl;
+		hadc_adc[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val);
+		if (good_should && tdc_pos_val>0 && tdc_neg_val>0 && adc_neg_val > 5. &&  adc_pos_val > 5. ) {
+		  htdc_tdc[ip*MAXBARS+bar]->Fill(tdc_neg_val,tdc_pos_val);
+                  hadc_adc_good[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val);
+		  hadc_tdc[ip*MAXBARS+bar][0]->Fill(adc_neg_val,tdc_neg_val);
+		  hadc_tdc[ip*MAXBARS+bar][1]->Fill(adc_pos_val,tdc_neg_val);
+                  hfptime_pad[ip]->Fill(fptime[ip],float(bar+1));
+		}
+		good_pad[ip]=bar+1;
+                good_adc[ip][0]=adc_neg_val;
+                good_adc[ip][1]=adc_pos_val;
+                good_tdc[ip][0]=tdc_neg_val;
+                good_tdc[ip][1]=tdc_pos_val;
+                if (good_should && tdc_pos_val>0 && tdc_neg_val>0&& adc_neg_val > 5. &&  adc_pos_val > 5.  ) good_neg[ip][bar]=kTRUE;
+                if (good_should && tdc_pos_val>0  && tdc_neg_val>0&& adc_neg_val > 5. &&  adc_pos_val > 5.  ) good_pos[ip][bar]=kTRUE;
+		}
+	}
+      //
+     if (good_should   ) {
+     for(UInt_t ip = 0; ip < NPLANES; ip++){ 
+       //       cout << " ip = " << ip << " " << good_should<< endl;
+	 //	 cout << " pad =  " << good_pad[check_plane[ip]] << " check_plane = " << check_plane[ip] << endl;
+          for(UInt_t ib = 0; ib < nbars[ip]; ib++){ 
+	    //	    cout << ib << " " << good_neg[ip][ib] << " " << good_pos[ip][ib] << endl;
+          if (good_pos[ip][ib]) hgood_neg_should[ip][ib]->Fill(good_pad[check_plane[ip]]);
+          if (good_neg[ip][ib]) hgood_pos_should[ip][ib]->Fill(good_pad[check_plane[ip]]);
+          if (good_neg[ip][ib] && good_pos[ip][ib]) {
+               hgood_neg_did[ip][ib]->Fill(good_pad[check_plane[ip]]);
+               hgood_pos_did[ip][ib]->Fill(good_pad[check_plane[ip]]);
+               hadc_dis[ip*MAXBARS+ib][0]->Fill(good_pad[check_plane[ip]],good_adc[ip][0]);
+               hadc_dis[ip*MAXBARS+ib][1]->Fill(good_pad[check_plane[ip]],good_adc[ip][1]);
+               htdc_dis[ip*MAXBARS+ib][0]->Fill(good_pad[check_plane[ip]],good_tdc[ip][0]);
+               htdc_dis[ip*MAXBARS+ib][1]->Fill(good_pad[check_plane[ip]],good_tdc[ip][1]);
+               htdcdiff_dis[ip*MAXBARS+ib]->Fill(good_pad[check_plane[ip]],good_tdc[ip][1]-good_tdc[ip][0]);
+	  }
+ 	  }
+      }
+     }
+  } // loop over entries
+    //
+  return;
+}
+
+
+
+void gooddraw_2d_phodo(TString histname) {
+
+  TH1F* h1d;
+  TH2F* h2d;
+
+  h1d = (TH1F*) gDirectory->Get(histname);
+  h2d = (TH2F*) gDirectory->Get(histname);
+  if(!h1d && !h2d) {
+    UserScript();
+    h1d = (TH1F*) gDirectory->Get(histname);
+    h2d = (TH2F*) gDirectory->Get(histname);
+    if(!h1d || !h2d) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  if (h2d) {
+  h2d->SetStats(0);
+  h2d->Draw("colz");
+    h2d->GetXaxis()->SetTitleOffset(.6);
+    h2d->GetXaxis()->SetTitleSize(0.08);
+    h2d->GetYaxis()->SetTitleOffset(.6);
+    h2d->GetYaxis()->SetTitleSize(0.08);
+      }
+  else {
+    cout << "1d  drawing   " << histname << endl;
+  h1d->SetStats(0);
+  h1d->Draw();
+    h1d->GetXaxis()->SetTitleOffset(.6);
+    h1d->GetXaxis()->SetTitleSize(0.08);
+    h1d->GetYaxis()->SetTitleOffset(.6);
+    h1d->GetYaxis()->SetTitleSize(0.08);
+  }
+}
+
diff --git a/onlineGUI/Macros/hodo_efficiency.C b/onlineGUI/Macros/hodo_efficiency.C
new file mode 100644
index 00000000..a8dd7cd0
--- /dev/null
+++ b/onlineGUI/Macros/hodo_efficiency.C
@@ -0,0 +1,24 @@
+void hodo_efficiency(TString hist1name, TString hist2name){
+  TH1F* H1;
+  TH1F* H2;
+  
+  H1 = (TH1F*) gDirectory->Get(hist1name);
+  H2 = (TH1F*) gDirectory->Get(hist2name);
+  if (H1 && H2) {
+    H1->Sumw2();
+    H2->Sumw2();
+    TH1F* Hratio=(TH1F*)H1->Clone();
+    Hratio->Divide(H1,H2,1,1,"B");
+    Hratio->SetStats(0);
+    Hratio->SetMinimum(0.95);
+    Hratio->SetMaximum(1.05);
+    Hratio->Draw("EP");
+    Hratio->GetXaxis()->SetTitleOffset(.6);
+    Hratio->GetXaxis()->SetTitleSize(0.08);
+    Hratio->GetYaxis()->SetTitleOffset(.6);
+    Hratio->GetYaxis()->SetTitleSize(0.08);
+  } else {
+    if (!H1) cout << " Histogram " << hist1name << " does not exist" << endl;
+    if (!H2) cout << " Histogram " << hist2name << " does not exist" << endl;
+  }
+}
diff --git a/onlineGUI/Macros/kpp_analysis.C b/onlineGUI/Macros/kpp_analysis.C
new file mode 100644
index 00000000..b4b866a2
--- /dev/null
+++ b/onlineGUI/Macros/kpp_analysis.C
@@ -0,0 +1,686 @@
+
+void UserScript() {
+
+  // Declare constants
+  static const Double_t clk2tdc     = 0.100;
+  static const Double_t clk2adc     = 0.0625;
+  static const UInt_t   ndcRefTimes = 10;
+
+  static const UInt_t nbars_1x = 13;
+  static const UInt_t nbars_1y = 13;
+  static const UInt_t nbars_2x = 14;
+  static const UInt_t nbars_2y = 21;
+
+  static const UInt_t nshwr_blks      = 224;
+  static const UInt_t npos_pshwr_blks = 14;
+  static const UInt_t nneg_pshwr_blks = 14;
+
+  static const UInt_t nhgc_pmts = 4;
+  static const UInt_t nngc_pmts = 4;
+
+  static const UInt_t npos_aero_pmts = 7;
+  static const UInt_t nneg_aero_pmts = 7;
+
+  static const UInt_t maxTdcHits = 128;
+  static const UInt_t maxAdcHits = 4;
+
+  static const Double_t pshwr_adc2GeV = 0.001;
+  static const Double_t shwr_adc2GeV  = 0.0005;
+
+  static const Double_t hgc_adc2npe = 1./205.;
+  static const Double_t ngc_adc2npe = 1./150.;
+
+  static const Double_t aero_adc2npe = 1./500.;
+
+  static const UInt_t maxNumTracks = 10;
+
+  // =:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+
+  // Declare variables
+  Double_t p1X_tdcTime, p1Y_tdcTime, p2X_tdcTime, p2Y_tdcTime;
+  Double_t p1T_tdcTime, p2T_tdcTime;
+  Double_t pT1_tdcTime, pT2_tdcTime, pT3_tdcTime;
+  Double_t pDCREF_tdcTime[ndcRefTimes];
+
+  // Hodoscope hits
+  Int_t    p1X_negAdcHits, p1Y_negAdcHits, p2X_negAdcHits, p2Y_negAdcHits;
+  Int_t    p1X_negTdcHits, p1Y_negTdcHits, p2X_negTdcHits, p2Y_negTdcHits;
+  Double_t p1X_negAdcPaddle[maxAdcHits*nbars_1x], p1Y_negAdcPaddle[maxAdcHits*nbars_1y];
+  Double_t p2X_negAdcPaddle[maxAdcHits*nbars_2x], p2Y_negAdcPaddle[maxAdcHits*nbars_2y];
+  Double_t p1X_negTdcPaddle[maxTdcHits*nbars_1x], p1Y_negTdcPaddle[maxTdcHits*nbars_1y];
+  Double_t p2X_negTdcPaddle[maxTdcHits*nbars_2x], p2Y_negTdcPaddle[maxTdcHits*nbars_2y];
+  Double_t p1X_negAdcPulseTime[maxAdcHits*nbars_1x], p1Y_negAdcPulseTime[maxAdcHits*nbars_1y];
+  Double_t p2X_negAdcPulseTime[maxAdcHits*nbars_2x], p2Y_negAdcPulseTime[maxAdcHits*nbars_2y];
+  Double_t p1X_negTdcTime[maxTdcHits*nbars_1x], p1Y_negTdcTime[maxTdcHits*nbars_1y];
+  Double_t p2X_negTdcTime[maxTdcHits*nbars_2x], p2Y_negTdcTime[maxTdcHits*nbars_2y];
+  Int_t    p1X_posAdcHits, p1Y_posAdcHits, p2X_posAdcHits, p2Y_posAdcHits;
+  Int_t    p1X_posTdcHits, p1Y_posTdcHits, p2X_posTdcHits, p2Y_posTdcHits;
+  Double_t p1X_posAdcPaddle[maxAdcHits*nbars_1x], p1Y_posAdcPaddle[maxAdcHits*nbars_1y];
+  Double_t p2X_posAdcPaddle[maxAdcHits*nbars_2x], p2Y_posAdcPaddle[maxAdcHits*nbars_2y];
+  Double_t p1X_posTdcPaddle[maxTdcHits*nbars_1x], p1Y_posTdcPaddle[maxTdcHits*nbars_1y];
+  Double_t p2X_posTdcPaddle[maxTdcHits*nbars_2x], p2Y_posTdcPaddle[maxTdcHits*nbars_2y];
+  Double_t p1X_posAdcPulseTime[maxAdcHits*nbars_1x], p1Y_posAdcPulseTime[maxAdcHits*nbars_1y];
+  Double_t p2X_posAdcPulseTime[maxAdcHits*nbars_2x], p2Y_posAdcPulseTime[maxAdcHits*nbars_2y];
+  Double_t p1X_posTdcTime[maxTdcHits*nbars_1x], p1Y_posTdcTime[maxTdcHits*nbars_1y];
+  Double_t p2X_posTdcTime[maxTdcHits*nbars_2x], p2Y_posTdcTime[maxTdcHits*nbars_2y];
+
+  // "Good" hodo hits
+  Int_t    p1X_nGoodHodoHits, p1Y_nGoodHodoHits, p2X_nGoodHodoHits, p2Y_nGoodHodoHits;
+  Double_t p1X_goodPaddle[maxAdcHits*nbars_1x], p1Y_goodPaddle[maxAdcHits*nbars_1y];
+  Double_t p2X_goodPaddle[maxAdcHits*nbars_2x], p2Y_goodPaddle[maxAdcHits*nbars_2y];
+  Double_t p1X_goodNegTdcTimeCorr[maxTdcHits*nbars_1x], p1Y_goodNegTdcTimeCorr[maxTdcHits*nbars_1y];
+  Double_t p2X_goodNegTdcTimeCorr[maxTdcHits*nbars_2x], p2Y_goodNegTdcTimeCorr[maxTdcHits*nbars_2y];
+  Double_t p1X_goodPosTdcTimeCorr[maxTdcHits*nbars_1x], p1Y_goodPosTdcTimeCorr[maxTdcHits*nbars_1y];
+  Double_t p2X_goodPosTdcTimeCorr[maxTdcHits*nbars_2x], p2Y_goodPosTdcTimeCorr[maxTdcHits*nbars_2y];
+
+  // Hodoscope focal plane times
+  Double_t p1X_fpTime, p1Y_fpTime, p2X_fpTime, p2Y_fpTime;
+  Double_t p1X_plTime, p1Y_plTime, p2X_plTime, p2Y_plTime;
+
+  // Aerogel ADC
+  Int_t paero_posHits, paero_negHits;
+  Double_t paero_posPmt[maxAdcHits*npos_aero_pmts], paero_negPmt[maxAdcHits*nneg_aero_pmts];
+  Double_t paero_posPulseTime[maxAdcHits*npos_aero_pmts], paero_negPulseTime[maxAdcHits*nneg_aero_pmts];
+  Double_t paero_posPulseInt[maxAdcHits*npos_aero_pmts], paero_negPulseInt[maxAdcHits*nneg_aero_pmts];
+
+  // Pre-Shower ADC
+  Int_t ppshwr_posHits, ppshwr_negHits;
+  Double_t ppshwr_posPmt[maxAdcHits*npos_pshwr_blks], ppshwr_negPmt[maxAdcHits*nneg_pshwr_blks];
+  Double_t ppshwr_posPulseTime[maxAdcHits*npos_pshwr_blks], ppshwr_negPulseTime[maxAdcHits*nneg_pshwr_blks];
+  Double_t ppshwr_posPulseInt[maxAdcHits*npos_pshwr_blks], ppshwr_negPulseInt[maxAdcHits*nneg_pshwr_blks];
+
+  // Shower ADC
+  Int_t pshwr_hits;
+  Double_t pshwr_pmt[maxAdcHits*nshwr_blks], pshwr_pulseTime[maxAdcHits*nshwr_blks];
+  Double_t pshwr_pulseInt[maxAdcHits*nshwr_blks];
+
+  // Heavy gas Cherenkov ADC
+  Int_t phgc_hits;
+  Double_t phgc_pmt[maxAdcHits*nhgc_pmts], phgc_pulseTime[maxAdcHits*nhgc_pmts];
+  Double_t phgc_pulseInt[maxAdcHits*nhgc_pmts];
+
+  // Noble gas Cherenkov ADC
+  Int_t pngc_hits;
+  Double_t pngc_pmt[maxAdcHits*nngc_pmts], pngc_pulseTime[maxAdcHits*nngc_pmts];
+  Double_t pngc_pulseInt[maxAdcHits*nngc_pmts];
+
+  // Tracking information
+  Int_t ntracks;
+  Double_t trk_pmag[maxNumTracks];
+
+  Long64_t nentries;
+
+  // =:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+
+  // Declare Histos
+  TH1F *h_p1X_tdc, *h_p1Y_tdc, *h_p2X_tdc, *h_p2Y_tdc;
+  TH1F *h_p1T_tdc, *h_p2T_tdc;
+  TH1F *h_pT1_tdc, *h_pT2_tdc, *h_pT3_tdc;
+  TH1F *h_p1XmpT2_tdc, *h_p1YmpT2_tdc, *h_p2XmpT2_tdc, *h_p2YmpT2_tdc;
+  TH1F *h_p1XmpT3_tdc, *h_p1YmpT3_tdc, *h_p2XmpT3_tdc, *h_p2YmpT3_tdc;
+  TH1F *h_p1TmpT2_tdc, *h_p2TmpT2_tdc, *h_p1TmpT3_tdc, *h_p2TmpT3_tdc;
+  TH1F *h_pDCREF_tdc[ndcRefTimes];
+
+  TH2F *h2_p1Xneg_pt_tt_diff, *h2_p1Yneg_pt_tt_diff, *h2_p2Xneg_pt_tt_diff, *h2_p2Yneg_pt_tt_diff;
+  TH2F *h2_p1Xpos_pt_tt_diff, *h2_p1Ypos_pt_tt_diff, *h2_p2Xpos_pt_tt_diff, *h2_p2Ypos_pt_tt_diff;
+
+  TH1F *h_p1X_fpTime, *h_p1Y_fpTime, *h_p2X_fpTime, *h_p2Y_fpTime;
+  TH1F *h_p1X_plTime, *h_p1Y_plTime, *h_p2X_plTime, *h_p2Y_plTime;
+
+  TH2F *h2_p1X_negTdcCorr, *h2_p1Y_negTdcCorr, *h2_p2X_negTdcCorr, *h2_p2Y_negTdcCorr;
+  TH2F *h2_p1X_posTdcCorr, *h2_p1Y_posTdcCorr, *h2_p2X_posTdcCorr, *h2_p2Y_posTdcCorr;
+  TH2F *h2_p1X_tdcCorrDiff, *h2_p1Y_tdcCorrDiff, *h2_p2X_tdcCorrDiff, *h2_p2Y_tdcCorrDiff;
+
+  TH2F *h2_paero_posPulseTime_pT1_diff, *h2_paero_negPulseTime_pT1_diff;
+  TH2F *h2_paero_posPulseTime_pT2_diff, *h2_paero_negPulseTime_pT2_diff;
+  TH2F *h2_paero_posPulseTime_pT3_diff, *h2_paero_negPulseTime_pT3_diff;
+
+  TH2F *h2_ppshwr_posPulseTime_pT1_diff, *h2_ppshwr_negPulseTime_pT1_diff;
+  TH2F *h2_ppshwr_posPulseTime_pT2_diff, *h2_ppshwr_negPulseTime_pT2_diff;
+  TH2F *h2_ppshwr_posPulseTime_pT3_diff, *h2_ppshwr_negPulseTime_pT3_diff;
+
+  TH2F *h2_pshwr_pulseTime_pT1_diff;
+  TH2F *h2_pshwr_pulseTime_pT2_diff;
+  TH2F *h2_pshwr_pulseTime_pT3_diff;
+
+  TH2F *h2_phgc_pulseTime_pT1_diff;
+  TH2F *h2_phgc_pulseTime_pT2_diff;
+  TH2F *h2_phgc_pulseTime_pT3_diff;
+
+  TH2F *h2_pngc_pulseTime_pT1_diff;
+  TH2F *h2_pngc_pulseTime_pT2_diff;
+  TH2F *h2_pngc_pulseTime_pT3_diff;
+
+  TH2F *h2_pshwr_vs_phgcer, *h2_pshwr_vs_pngcer, *h2_pshwr_vs_ppshwr;
+  TH1F *h_paero_sum, *h_ppshwr_sum, *h_pshwr_sum, *h_ptotshwr_sum, *h_phgc_sum, *h_pngc_sum;
+
+  TH2F *h2_EdivP_vs_P;
+
+  // =:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+
+  // Declare trees
+  TTree *T = (TTree*) gDirectory->Get("T");
+
+  // Acquire the number of entries
+  nentries = T->GetEntries();
+
+  // Acquire the branches
+  // Trigger time information
+  T->SetBranchAddress("T.shms.p1X_tdcTime", &p1X_tdcTime);
+  T->SetBranchAddress("T.shms.p1Y_tdcTime", &p1Y_tdcTime);
+  T->SetBranchAddress("T.shms.p2X_tdcTime", &p2X_tdcTime);
+  T->SetBranchAddress("T.shms.p2Y_tdcTime", &p2Y_tdcTime);
+  T->SetBranchAddress("T.shms.p1T_tdcTime", &p1T_tdcTime);
+  T->SetBranchAddress("T.shms.p2T_tdcTime", &p2T_tdcTime);
+  T->SetBranchAddress("T.shms.pT1_tdcTime", &pT1_tdcTime);
+  T->SetBranchAddress("T.shms.pT2_tdcTime", &pT2_tdcTime);
+  T->SetBranchAddress("T.shms.pT3_tdcTime", &pT3_tdcTime);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  // DC reference times
+  for (UInt_t iref = 0; iref < ndcRefTimes; iref++)
+    T->SetBranchAddress(Form("T.shms.pDCREF%d_tdcTime", iref+1), &pDCREF_tdcTime[iref]);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  // Hodoscope focal plane time calculation
+  T->SetBranchAddress("P.hod.1x.fptime", &p1X_fpTime);
+  T->SetBranchAddress("P.hod.1y.fptime", &p1Y_fpTime);
+  T->SetBranchAddress("P.hod.2x.fptime", &p2X_fpTime);
+  T->SetBranchAddress("P.hod.2y.fptime", &p2Y_fpTime);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  // Hodoscope ADC information
+  T->SetBranchAddress("Ndata.P.hod.1x.negAdcCounter", &p1X_negAdcHits);
+  T->SetBranchAddress("Ndata.P.hod.1y.negAdcCounter", &p1Y_negAdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2x.negAdcCounter", &p2X_negAdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2y.negAdcCounter", &p2Y_negAdcHits);
+  T->SetBranchAddress("P.hod.1x.negAdcCounter", p1X_negAdcPaddle);
+  T->SetBranchAddress("P.hod.1y.negAdcCounter", p1Y_negAdcPaddle);
+  T->SetBranchAddress("P.hod.2x.negAdcCounter", p2X_negAdcPaddle);
+  T->SetBranchAddress("P.hod.2y.negAdcCounter", p2Y_negAdcPaddle);
+  T->SetBranchAddress("P.hod.1x.negAdcPulseTimeRaw", p1X_negAdcPulseTime);
+  T->SetBranchAddress("P.hod.1y.negAdcPulseTimeRaw", p1Y_negAdcPulseTime);
+  T->SetBranchAddress("P.hod.2x.negAdcPulseTimeRaw", p2X_negAdcPulseTime);
+  T->SetBranchAddress("P.hod.2y.negAdcPulseTimeRaw", p2Y_negAdcPulseTime);
+  T->SetBranchAddress("Ndata.P.hod.1x.posAdcCounter", &p1X_posAdcHits);
+  T->SetBranchAddress("Ndata.P.hod.1y.posAdcCounter", &p1Y_posAdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2x.posAdcCounter", &p2X_posAdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2y.posAdcCounter", &p2Y_posAdcHits);
+  T->SetBranchAddress("P.hod.1x.posAdcCounter", p1X_posAdcPaddle);
+  T->SetBranchAddress("P.hod.1y.posAdcCounter", p1Y_posAdcPaddle);
+  T->SetBranchAddress("P.hod.2x.posAdcCounter", p2X_posAdcPaddle);
+  T->SetBranchAddress("P.hod.2y.posAdcCounter", p2Y_posAdcPaddle);
+  T->SetBranchAddress("P.hod.1x.posAdcPulseTimeRaw", p1X_posAdcPulseTime);
+  T->SetBranchAddress("P.hod.1y.posAdcPulseTimeRaw", p1Y_posAdcPulseTime);
+  T->SetBranchAddress("P.hod.2x.posAdcPulseTimeRaw", p2X_posAdcPulseTime);
+  T->SetBranchAddress("P.hod.2y.posAdcPulseTimeRaw", p2Y_posAdcPulseTime);
+  // Hodoscope TDC information
+  T->SetBranchAddress("Ndata.P.hod.1x.negTdcCounter", &p1X_negTdcHits);
+  T->SetBranchAddress("Ndata.P.hod.1y.negTdcCounter", &p1Y_negTdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2x.negTdcCounter", &p2X_negTdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2y.negTdcCounter", &p2Y_negTdcHits);
+  T->SetBranchAddress("P.hod.1x.negTdcCounter", p1X_negTdcPaddle);
+  T->SetBranchAddress("P.hod.1y.negTdcCounter", p1Y_negTdcPaddle);
+  T->SetBranchAddress("P.hod.2x.negTdcCounter", p2X_negTdcPaddle);
+  T->SetBranchAddress("P.hod.2y.negTdcCounter", p2Y_negTdcPaddle);
+  T->SetBranchAddress("P.hod.1x.negTdcTime", p1X_negTdcTime);
+  T->SetBranchAddress("P.hod.1y.negTdcTime", p1Y_negTdcTime);
+  T->SetBranchAddress("P.hod.2x.negTdcTime", p2X_negTdcTime);
+  T->SetBranchAddress("P.hod.2y.negTdcTime", p2Y_negTdcTime);
+  T->SetBranchAddress("Ndata.P.hod.1x.posTdcCounter", &p1X_posTdcHits);
+  T->SetBranchAddress("Ndata.P.hod.1y.posTdcCounter", &p1Y_posTdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2x.posTdcCounter", &p2X_posTdcHits);
+  T->SetBranchAddress("Ndata.P.hod.2y.posTdcCounter", &p2Y_posTdcHits);
+  T->SetBranchAddress("P.hod.1x.posTdcCounter", p1X_posTdcPaddle);
+  T->SetBranchAddress("P.hod.1y.posTdcCounter", p1Y_posTdcPaddle);
+  T->SetBranchAddress("P.hod.2x.posTdcCounter", p2X_posTdcPaddle);
+  T->SetBranchAddress("P.hod.2y.posTdcCounter", p2Y_posTdcPaddle);
+  T->SetBranchAddress("P.hod.1x.posTdcTime", p1X_posTdcTime);
+  T->SetBranchAddress("P.hod.1y.posTdcTime", p1Y_posTdcTime);
+  T->SetBranchAddress("P.hod.2x.posTdcTime", p2X_posTdcTime);
+  T->SetBranchAddress("P.hod.2y.posTdcTime", p2Y_posTdcTime);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  // "Good" hodoscope hits
+  // Hodoscope corrected times (not corrected for TOF to focal plane)
+  T->SetBranchAddress("Ndata.P.hod.1x.GoodPaddle", &p1X_nGoodHodoHits);
+  T->SetBranchAddress("Ndata.P.hod.1y.GoodPaddle", &p1Y_nGoodHodoHits);
+  T->SetBranchAddress("Ndata.P.hod.2x.GoodPaddle", &p2X_nGoodHodoHits);
+  T->SetBranchAddress("Ndata.P.hod.2y.GoodPaddle", &p2Y_nGoodHodoHits);
+  T->SetBranchAddress("P.hod.1x.GoodPaddle", p1X_goodPaddle);
+  T->SetBranchAddress("P.hod.1y.GoodPaddle", p1Y_goodPaddle);
+  T->SetBranchAddress("P.hod.2x.GoodPaddle", p2X_goodPaddle);
+  T->SetBranchAddress("P.hod.2y.GoodPaddle", p2Y_goodPaddle);
+  T->SetBranchAddress("P.hod.1x.GoodNegTdcTimeCorr", p1X_goodNegTdcTimeCorr);
+  T->SetBranchAddress("P.hod.1y.GoodNegTdcTimeCorr", p1Y_goodNegTdcTimeCorr);
+  T->SetBranchAddress("P.hod.2x.GoodNegTdcTimeCorr", p2X_goodNegTdcTimeCorr);
+  T->SetBranchAddress("P.hod.2y.GoodNegTdcTimeCorr", p2Y_goodNegTdcTimeCorr);
+  T->SetBranchAddress("P.hod.1x.GoodPosTdcTimeCorr", p1X_goodPosTdcTimeCorr);
+  T->SetBranchAddress("P.hod.1y.GoodPosTdcTimeCorr", p1Y_goodPosTdcTimeCorr);
+  T->SetBranchAddress("P.hod.2x.GoodPosTdcTimeCorr", p2X_goodPosTdcTimeCorr);
+  T->SetBranchAddress("P.hod.2y.GoodPosTdcTimeCorr", p2Y_goodPosTdcTimeCorr);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  T->SetBranchAddress("Ndata.P.aero.negAdcCounter", &paero_negHits);
+  T->SetBranchAddress("Ndata.P.aero.posAdcCounter", &paero_posHits);
+  T->SetBranchAddress("P.aero.negAdcCounter", paero_negPmt);
+  T->SetBranchAddress("P.aero.posAdcCounter", paero_posPmt);
+  T->SetBranchAddress("P.aero.negAdcPulseTimeRaw", paero_negPulseTime);
+  T->SetBranchAddress("P.aero.posAdcPulseTimeRaw", paero_posPulseTime);
+  T->SetBranchAddress("P.aero.negAdcPulseInt", paero_negPulseInt);
+  T->SetBranchAddress("P.aero.posAdcPulseInt", paero_posPulseInt);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  T->SetBranchAddress("Ndata.P.cal.pr.negAdcCounter", &ppshwr_negHits);
+  T->SetBranchAddress("Ndata.P.cal.pr.posAdcCounter", &ppshwr_posHits);
+  T->SetBranchAddress("P.cal.pr.negAdcCounter", ppshwr_negPmt);
+  T->SetBranchAddress("P.cal.pr.posAdcCounter", ppshwr_posPmt);
+  T->SetBranchAddress("P.cal.pr.negAdcPulseTimeRaw", ppshwr_negPulseTime);
+  T->SetBranchAddress("P.cal.pr.posAdcPulseTimeRaw", ppshwr_posPulseTime);
+  T->SetBranchAddress("P.cal.pr.negAdcPulseInt", ppshwr_negPulseInt);
+  T->SetBranchAddress("P.cal.pr.posAdcPulseInt", ppshwr_posPulseInt);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  T->SetBranchAddress("Ndata.P.cal.fly.adcCounter", &pshwr_hits);
+  T->SetBranchAddress("P.cal.fly.adcCounter", pshwr_pmt);
+  T->SetBranchAddress("P.cal.fly.adcPulseTimeRaw", pshwr_pulseTime);
+  T->SetBranchAddress("P.cal.fly.adcPulseInt", pshwr_pulseInt);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  T->SetBranchAddress("Ndata.P.hgcer.adcCounter", &phgc_hits);
+  T->SetBranchAddress("P.hgcer.adcCounter", phgc_pmt);
+  T->SetBranchAddress("P.hgcer.adcPulseTimeRaw", phgc_pulseTime);
+  T->SetBranchAddress("P.hgcer.adcPulseInt", phgc_pulseInt);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  T->SetBranchAddress("Ndata.P.ngcer.adcCounter", &pngc_hits);
+  T->SetBranchAddress("P.ngcer.adcCounter", pngc_pmt);
+  T->SetBranchAddress("P.ngcer.adcPulseTimeRaw", pngc_pulseTime);
+  T->SetBranchAddress("P.ngcer.adcPulseInt", pngc_pulseInt);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  T->SetBranchAddress("Ndata.P.tr.p", &ntracks);
+  T->SetBranchAddress("P.tr.p", trk_pmag);
+
+  // =:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+
+  // Create histos
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h_p1X_tdc = new TH1F("h_p1X_tdc", "S1X Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_p1Y_tdc = new TH1F("h_p1Y_tdc", "S1Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_p2X_tdc = new TH1F("h_p2X_tdc", "S2X Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_p2Y_tdc = new TH1F("h_p2Y_tdc", "S2Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_p1T_tdc = new TH1F("h_p1T_tdc", "S1X/S1Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_p2T_tdc = new TH1F("h_p2T_tdc", "S2X/S2Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_pT1_tdc = new TH1F("h_pT1_tdc", "Hodoscope Trigger (Slot 20 Channel 15); TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_pT2_tdc = new TH1F("h_pT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31); TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  h_pT3_tdc = new TH1F("h_pT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38); TDC Time (ns); Counts / 1 ns", 300, 0, 300);
+  for (UInt_t iref = 0; iref < ndcRefTimes; iref++)
+    h_pDCREF_tdc[iref] = new TH1F(Form("h_pDCREF%d_tdc", iref+1), Form("DC Reference Time %d; TDC Time (ns); Counts / 1 ns", iref+1), 200, 400, 600);
+  h_p1XmpT2_tdc = new TH1F("h_p1XmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1X; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p1YmpT2_tdc = new TH1F("h_p1YmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p2XmpT2_tdc = new TH1F("h_p2XmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2X; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p2YmpT2_tdc = new TH1F("h_p2YmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p1TmpT2_tdc = new TH1F("h_p1TmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p2TmpT2_tdc = new TH1F("h_p2TmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p1XmpT3_tdc = new TH1F("h_p1XmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1X; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p1YmpT3_tdc = new TH1F("h_p1YmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p2XmpT3_tdc = new TH1F("h_p2XmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2X; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p2YmpT3_tdc = new TH1F("h_p2YmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p1TmpT3_tdc = new TH1F("h_p1TmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+  h_p2TmpT3_tdc = new TH1F("h_p2TmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2; TDC Time (ns); Counts / 1 ns", 150, 0, 150);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_p1Xneg_pt_tt_diff = new TH2F("h2_p1Xneg_pt_tt_diff", "S1X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1x, 0.5, nbars_1x + 0.5, 300, 0, 300);
+  h2_p1Yneg_pt_tt_diff = new TH2F("h2_p1Yneg_pt_tt_diff", "S1Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1y, 0.5, nbars_1y + 0.5, 300, 0, 300);
+  h2_p2Xneg_pt_tt_diff = new TH2F("h2_p2Xneg_pt_tt_diff", "S2X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2x, 0.5, nbars_2x + 0.5, 300, 0, 300);
+  h2_p2Yneg_pt_tt_diff = new TH2F("h2_p2Yneg_pt_tt_diff", "S2Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2y, 0.5, nbars_2y + 0.5, 300, 0, 300);
+  h2_p1Xpos_pt_tt_diff = new TH2F("h2_p1Xpos_pt_tt_diff", "S1X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1x, 0.5, nbars_1x + 0.5, 300, 0, 300);
+  h2_p1Ypos_pt_tt_diff = new TH2F("h2_p1Ypos_pt_tt_diff", "S1Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1y, 0.5, nbars_1y + 0.5, 300, 0, 300);
+  h2_p2Xpos_pt_tt_diff = new TH2F("h2_p2Xpos_pt_tt_diff", "S2X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2x, 0.5, nbars_2x + 0.5, 300, 0, 300);
+  h2_p2Ypos_pt_tt_diff = new TH2F("h2_p2Ypos_pt_tt_diff", "S2Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2y, 0.5, nbars_2y + 0.5, 300, 0, 300);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h_p1X_fpTime = new TH1F("h_p1X_fpTime", "S1X Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100);
+  h_p1Y_fpTime = new TH1F("h_p1Y_fpTime", "S1Y Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100);
+  h_p2X_fpTime = new TH1F("h_p2X_fpTime", "S2X Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100);
+  h_p2Y_fpTime = new TH1F("h_p2Y_fpTime", "S2Y Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100);
+
+  h_p1X_plTime = new TH1F("h_p1X_plTime", "S1X Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100);
+  h_p1Y_plTime = new TH1F("h_p1Y_plTime", "S1Y Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100);
+  h_p2X_plTime = new TH1F("h_p2X_plTime", "S2X Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100);
+  h_p2Y_plTime = new TH1F("h_p2Y_plTime", "S2Y Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_p1X_negTdcCorr = new TH2F("h2_p1X_negTdcCorr", "S1X- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1x, 0.5, nbars_1x + 0.5, 200, -100, 100);
+  h2_p1Y_negTdcCorr = new TH2F("h2_p1Y_negTdcCorr", "S1Y- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1y, 0.5, nbars_1y + 0.5, 200, -100, 100);
+  h2_p2X_negTdcCorr = new TH2F("h2_p2X_negTdcCorr", "S2X- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2x, 0.5, nbars_2x + 0.5, 200, -100, 100);
+  h2_p2Y_negTdcCorr = new TH2F("h2_p2Y_negTdcCorr", "S2Y- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2y, 0.5, nbars_2y + 0.5, 200, -100, 100);
+  h2_p1X_posTdcCorr = new TH2F("h2_p1X_posTdcCorr", "S1X+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1x, 0.5, nbars_1x + 0.5, 200, -100, 100);
+  h2_p1Y_posTdcCorr = new TH2F("h2_p1Y_posTdcCorr", "S1Y+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1y, 0.5, nbars_1y + 0.5, 200, -100, 100);
+  h2_p2X_posTdcCorr = new TH2F("h2_p2X_posTdcCorr", "S2X+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2x, 0.5, nbars_2x + 0.5, 200, -100, 100);
+  h2_p2Y_posTdcCorr = new TH2F("h2_p2Y_posTdcCorr", "S2Y+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2y, 0.5, nbars_2y + 0.5, 200, -100, 100);
+  h2_p1X_tdcCorrDiff = new TH2F("h2_p1X_tdcCorrDiff", "S1X-/S1X+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1x, 0.5, nbars_1x + 0.5, 100, -50, 50);
+  h2_p1Y_tdcCorrDiff = new TH2F("h2_p1Y_tdcCorrDiff", "S1Y-/S1Y+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1y, 0.5, nbars_1y + 0.5, 100, -50, 50);
+  h2_p2X_tdcCorrDiff = new TH2F("h2_p2X_tdcCorrDiff", "S2X-/S2X+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2x, 0.5, nbars_2x + 0.5, 100, -50, 50);
+  h2_p2Y_tdcCorrDiff = new TH2F("h2_p2Y_tdcCorrDiff", "S2Y-/S2Y+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2y, 0.5, nbars_2y + 0.5, 100, -50, 50);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_paero_negPulseTime_pT1_diff = new TH2F("h2_paero_negPulseTime_pT1_diff", "SHMS Negative Aerogel ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nneg_aero_pmts, 0.5, nneg_aero_pmts + 0.5, 300, -300, 0);
+  h2_paero_negPulseTime_pT2_diff = new TH2F("h2_paero_negPulseTime_pT2_diff", "SHMS Negative Aerogel ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nneg_aero_pmts, 0.5, nneg_aero_pmts + 0.5, 300, -300, 0);
+  h2_paero_negPulseTime_pT3_diff = new TH2F("h2_paero_negPulseTime_pT3_diff", "SHMS Negative Aerogel ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nneg_aero_pmts, 0.5, nneg_aero_pmts + 0.5, 300, -300, 0);
+  h2_paero_posPulseTime_pT1_diff = new TH2F("h2_paero_posPulseTime_pT1_diff", "SHMS Positive Aerogel ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", npos_aero_pmts, 0.5, npos_aero_pmts + 0.5, 300, -300, 0);
+  h2_paero_posPulseTime_pT2_diff = new TH2F("h2_paero_posPulseTime_pT2_diff", "SHMS Positive Aerogel ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", npos_aero_pmts, 0.5, npos_aero_pmts + 0.5, 300, -300, 0);
+  h2_paero_posPulseTime_pT3_diff = new TH2F("h2_paero_posPulseTime_pT3_diff", "SHMS Positive Aerogel ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", npos_aero_pmts, 0.5, npos_aero_pmts + 0.5, 300, -300, 0);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_ppshwr_negPulseTime_pT1_diff = new TH2F("h2_ppshwr_negPulseTime_pT1_diff", "SHMS Negative Pre Shower ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nneg_pshwr_blks, 0.5, nneg_pshwr_blks + 0.5, 300, -300, 0);
+  h2_ppshwr_negPulseTime_pT2_diff = new TH2F("h2_ppshwr_negPulseTime_pT2_diff", "SHMS Negative Pre Shower ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nneg_pshwr_blks, 0.5, nneg_pshwr_blks + 0.5, 300, -300, 0);
+  h2_ppshwr_negPulseTime_pT3_diff = new TH2F("h2_ppshwr_negPulseTime_pT3_diff", "SHMS Negative Pre Shower ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nneg_pshwr_blks, 0.5, nneg_pshwr_blks + 0.5, 300, -300, 0);
+  h2_ppshwr_posPulseTime_pT1_diff = new TH2F("h2_ppshwr_posPulseTime_pT1_diff", "SHMS Positive Pre Shower ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", npos_pshwr_blks, 0.5, npos_pshwr_blks + 0.5, 300, -300, 0);
+  h2_ppshwr_posPulseTime_pT2_diff = new TH2F("h2_ppshwr_posPulseTime_pT2_diff", "SHMS Positive Pre Shower ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", npos_pshwr_blks, 0.5, npos_pshwr_blks + 0.5, 300, -300, 0);
+  h2_ppshwr_posPulseTime_pT3_diff = new TH2F("h2_ppshwr_posPulseTime_pT3_diff", "SHMS Positive Pre Shower ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", npos_pshwr_blks, 0.5, npos_pshwr_blks + 0.5, 300, -300, 0);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_pshwr_pulseTime_pT1_diff = new TH2F("h2_pshwr_pulseTime_pT1_diff", "SHMS Shower ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nshwr_blks, 0.5, nshwr_blks + 0.5, 300, -300, 0);
+  h2_pshwr_pulseTime_pT2_diff = new TH2F("h2_pshwr_pulseTime_pT2_diff", "SHMS Shower ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nshwr_blks, 0.5, nshwr_blks + 0.5, 300, -300, 0);
+  h2_pshwr_pulseTime_pT3_diff = new TH2F("h2_pshwr_pulseTime_pT3_diff", "SHMS Shower ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nshwr_blks, 0.5, nshwr_blks + 0.5, 300, -300, 0);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_phgc_pulseTime_pT1_diff = new TH2F("h2_phgc_pulseTime_pT1_diff", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nhgc_pmts, 0.5, nhgc_pmts + 0.5, 300, -300, 0);
+  h2_phgc_pulseTime_pT2_diff = new TH2F("h2_phgc_pulseTime_pT2_diff", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nhgc_pmts, 0.5, nhgc_pmts + 0.5, 300, -300, 0);
+  h2_phgc_pulseTime_pT3_diff = new TH2F("h2_phgc_pulseTime_pT3_diff", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nhgc_pmts, 0.5, nhgc_pmts + 0.5, 300, -300, 0);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_pngc_pulseTime_pT1_diff = new TH2F("h2_pngc_pulseTime_pT1_diff", "SHMS Noble Gas Cherenkov ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nngc_pmts, 0.5, nngc_pmts + 0.5, 300, -300, 0);
+  h2_pngc_pulseTime_pT2_diff = new TH2F("h2_pngc_pulseTime_pT2_diff", "SHMS Noble Gas Cherenkov ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nngc_pmts, 0.5, nngc_pmts + 0.5, 300, -300, 0);
+  h2_pngc_pulseTime_pT3_diff = new TH2F("h2_pngc_pulseTime_pT3_diff", "SHMS Noble Gas Cherenkov ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nngc_pmts, 0.5, nngc_pmts + 0.5, 300, -300, 0);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_pshwr_vs_phgcer = new TH2F ("h2_pshwr_vs_phgcer", "SHMS Shower vs. Heavy Gas Cherenkov; Number of HGC Photoelectrons / 1 Photoelectron; Shower Energy / 1 MeV", 500, 0, 500, 4000, 0, 4);
+  h2_pshwr_vs_pngcer = new TH2F ("h2_pshwr_vs_pngcer", "SHMS Shower vs. Noble Gas Cherenkov; Number of NGC Photoelectrons / 1 Photoelectron; Shower Energy / 1 MeV", 500, 0, 500, 4000, 0, 4);
+  h2_pshwr_vs_ppshwr = new TH2F ("h2_pshwr_vs_ppshwr", "SHMS Shower vs. Pre-Shower; Pre-Shower Energy / 1 MeV; Shower Energy / 1 MeV", 4000, 0, 4, 4000, 0, 4);
+  h_paero_sum = new TH1F ("h_paero_sum", "SHMS Number of Aerogrel Photoelectrons; Number of Aerogel Photoelectrons; Counts / 1 Photoelectron", 500, 0, 500);
+  h_ppshwr_sum = new TH1F ("h_ppshwr_sum", "SHMS Pre-Shower Energy; Pre-Shower Energy; Counts / 10 MeV", 4000, 0, 4);
+  h_pshwr_sum = new TH1F ("h_pshwr_sum", "SHMS Shower Energy; Shower Energy; Counts / 10 MeV", 4000, 0, 4);
+  h_ptotshwr_sum = new TH1F ("h_ptotshwr_sum", "SHMS Total Shower Energy; Total Shower Energy; Counts / 10 MeV", 1200, 0, 12);
+  h_phgc_sum = new TH1F ("h_phgc_sum", "SHMS Number of HGC Photoelectrons; Number of HGC Photoelectrons; Counts / 1 Photoelectron", 500, 0, 500);
+  h_pngc_sum = new TH1F ("h_pngc_sum", "SHMS Number of NGC Photoelectrons; Number of NGC Photoelectrons; Counts / 1 Photoelectron", 500, 0, 500);
+
+  // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//
+
+  h2_EdivP_vs_P = new TH2F ("h2_EdivP_vs_P", "SHMS E/p vs. p; p (geV); E/p", 600, 0, 6, 100, 0, 1);
+
+  // =:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+
+  // Loop of entries in tree
+  for(UInt_t ievent = 0; ievent < nentries; ievent++) {
+
+    T->GetEntry(ievent);
+
+    // cout << "========================" << endl;
+    // cout << "Event Number = " << ievent << endl;
+    // cout << "========================" << endl;
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    // Fill "good" hit histos
+    for (UInt_t igoodhit = 0; igoodhit < p1X_nGoodHodoHits; igoodhit++) {
+      h2_p1X_negTdcCorr->Fill(p1X_goodPaddle[igoodhit], p1X_goodNegTdcTimeCorr[igoodhit]);
+      h2_p1X_posTdcCorr->Fill(p1X_goodPaddle[igoodhit], p1X_goodPosTdcTimeCorr[igoodhit]);
+      h2_p1X_tdcCorrDiff->Fill(p1X_goodPaddle[igoodhit], p1X_goodPosTdcTimeCorr[igoodhit] - p1X_goodNegTdcTimeCorr[igoodhit]);
+      if (TMath::Abs(p1X_goodPosTdcTimeCorr[igoodhit] - p1X_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue;
+      h_p1X_plTime->Fill(p1X_goodPosTdcTimeCorr[igoodhit]);
+    }
+    for (UInt_t igoodhit = 0; igoodhit < p1Y_nGoodHodoHits; igoodhit++) {
+      h2_p1Y_negTdcCorr->Fill(p1Y_goodPaddle[igoodhit], p1Y_goodNegTdcTimeCorr[igoodhit]);
+      h2_p1Y_posTdcCorr->Fill(p1Y_goodPaddle[igoodhit], p1Y_goodPosTdcTimeCorr[igoodhit]);
+      h2_p1Y_tdcCorrDiff->Fill(p1Y_goodPaddle[igoodhit], p1Y_goodPosTdcTimeCorr[igoodhit] - p1Y_goodNegTdcTimeCorr[igoodhit]);
+      if (TMath::Abs(p1Y_goodPosTdcTimeCorr[igoodhit] - p1Y_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue;
+      h_p1Y_plTime->Fill(p1Y_goodPosTdcTimeCorr[igoodhit]);
+    }
+    for (UInt_t igoodhit = 0; igoodhit < p2X_nGoodHodoHits; igoodhit++) {
+      h2_p2X_negTdcCorr->Fill(p2X_goodPaddle[igoodhit], p2X_goodNegTdcTimeCorr[igoodhit]);
+      h2_p2X_posTdcCorr->Fill(p2X_goodPaddle[igoodhit], p2X_goodPosTdcTimeCorr[igoodhit]);
+      h2_p2X_tdcCorrDiff->Fill(p2X_goodPaddle[igoodhit], p2X_goodPosTdcTimeCorr[igoodhit] - p2X_goodNegTdcTimeCorr[igoodhit]);
+      if (TMath::Abs(p2X_goodPosTdcTimeCorr[igoodhit] - p2X_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue;
+      h_p2X_plTime->Fill(p2X_goodPosTdcTimeCorr[igoodhit]);
+    }
+    for (UInt_t igoodhit = 0; igoodhit < p2Y_nGoodHodoHits; igoodhit++) {
+      h2_p2Y_negTdcCorr->Fill(p2Y_goodPaddle[igoodhit], p2Y_goodNegTdcTimeCorr[igoodhit]);
+      h2_p2Y_posTdcCorr->Fill(p2Y_goodPaddle[igoodhit], p2Y_goodPosTdcTimeCorr[igoodhit]);
+      h2_p2Y_tdcCorrDiff->Fill(p2Y_goodPaddle[igoodhit], p2Y_goodPosTdcTimeCorr[igoodhit] - p2Y_goodNegTdcTimeCorr[igoodhit]);
+      if (TMath::Abs(p2Y_goodPosTdcTimeCorr[igoodhit] - p2Y_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue;
+      h_p2Y_plTime->Fill(p2Y_goodPosTdcTimeCorr[igoodhit]);
+    }
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    // Fill pulse/tdc time difference histos
+
+    // cout << "Num of ADC Hits = " << p1X_negAdcHits << endl;
+    // cout << "ADC Paddle Number = " << p1X_negAdcPaddle[iadchit] << endl;
+    // cout << "Num of TDC Hits = " << p1X_negTdcHits << endl;
+    // cout << "TDC Paddle Number = " << p1X_negTdcPaddle[itdchit] << endl;
+
+    for (UInt_t iadchit = 0; iadchit < p1X_negAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p1X_negTdcHits; itdchit++) {
+	if (p1X_negAdcPaddle[iadchit] != p1X_negTdcPaddle[itdchit]) continue;
+	h2_p1Xneg_pt_tt_diff->Fill(p1X_negAdcPaddle[iadchit], p1X_negAdcPulseTime[iadchit]*clk2adc - p1X_negTdcTime[itdchit]*clk2tdc);
+      }
+    }
+    for (UInt_t iadchit = 0; iadchit < p1Y_negAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p1Y_negTdcHits; itdchit++) {
+	if (p1Y_negAdcPaddle[iadchit] != p1Y_negTdcPaddle[itdchit]) continue;
+	h2_p1Yneg_pt_tt_diff->Fill(p1Y_negAdcPaddle[iadchit], p1Y_negAdcPulseTime[iadchit]*clk2adc - p1Y_negTdcTime[itdchit]*clk2tdc);
+      }
+    }
+    for (UInt_t iadchit = 0; iadchit < p2X_negAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p2X_negTdcHits; itdchit++) {
+	if (p2X_negAdcPaddle[iadchit] != p2X_negTdcPaddle[itdchit]) continue;
+	h2_p2Xneg_pt_tt_diff->Fill(p2X_negAdcPaddle[iadchit], p2X_negAdcPulseTime[iadchit]*clk2adc - p2X_negTdcTime[itdchit]*clk2tdc);
+      }
+    }
+    for (UInt_t iadchit = 0; iadchit < p2Y_negAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p2Y_negTdcHits; itdchit++) {
+	if (p2Y_negAdcPaddle[iadchit] != p2Y_negTdcPaddle[itdchit]) continue;
+	h2_p2Yneg_pt_tt_diff->Fill(p2Y_negAdcPaddle[iadchit], p2Y_negAdcPulseTime[iadchit]*clk2adc - p2Y_negTdcTime[itdchit]*clk2tdc);
+      }
+    }
+    for (UInt_t iadchit = 0; iadchit < p1X_posAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p1X_posTdcHits; itdchit++) {
+	if (p1X_posAdcPaddle[iadchit] != p1X_posTdcPaddle[itdchit]) continue;
+	h2_p1Xpos_pt_tt_diff->Fill(p1X_posAdcPaddle[iadchit], p1X_posAdcPulseTime[iadchit]*clk2adc - p1X_posTdcTime[itdchit]*clk2tdc);
+      }
+    }
+    for (UInt_t iadchit = 0; iadchit < p1Y_posAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p1Y_posTdcHits; itdchit++) {
+	if (p1Y_nGoodHodoHits < 1) continue;
+	if (p1Y_posAdcPaddle[iadchit] != p1Y_posTdcPaddle[itdchit]) continue;
+	h2_p1Ypos_pt_tt_diff->Fill(p1Y_posAdcPaddle[iadchit], p1Y_posAdcPulseTime[iadchit]*clk2adc - p1Y_posTdcTime[itdchit]*clk2tdc);
+      }
+    }
+    for (UInt_t iadchit = 0; iadchit < p2X_posAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p2X_posTdcHits; itdchit++) {
+	if (p2X_posAdcPaddle[iadchit] != p2X_posTdcPaddle[itdchit]) continue;
+	h2_p2Xpos_pt_tt_diff->Fill(p2X_posAdcPaddle[iadchit], p2X_posAdcPulseTime[iadchit]*clk2adc - p2X_posTdcTime[itdchit]*clk2tdc);
+      }
+    }
+    for (UInt_t iadchit = 0; iadchit < p2Y_posAdcHits; iadchit++) {
+      for (UInt_t itdchit = 0; itdchit < p2Y_posTdcHits; itdchit++) {
+	if (p2Y_posAdcPaddle[iadchit] != p2Y_posTdcPaddle[itdchit]) continue;
+	h2_p2Ypos_pt_tt_diff->Fill(p2Y_posAdcPaddle[iadchit], p2Y_posAdcPulseTime[iadchit]*clk2adc - p2Y_posTdcTime[itdchit]*clk2tdc);
+      }
+    }
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    // Fill trigger time histos
+    if (p1X_tdcTime != 0.0) h_p1X_tdc->Fill(p1X_tdcTime*clk2tdc);
+    if (p1Y_tdcTime != 0.0) h_p1Y_tdc->Fill(p1Y_tdcTime*clk2tdc);
+    if (p2X_tdcTime != 0.0) h_p2X_tdc->Fill(p2X_tdcTime*clk2tdc);
+    if (p2Y_tdcTime != 0.0) h_p2Y_tdc->Fill(p2Y_tdcTime*clk2tdc);
+    if (p1T_tdcTime != 0.0) h_p1T_tdc->Fill(p1T_tdcTime*clk2tdc);
+    if (p2T_tdcTime != 0.0) h_p2T_tdc->Fill(p2T_tdcTime*clk2tdc);
+
+    h_pT1_tdc->Fill(pT1_tdcTime*clk2tdc);
+    h_pT2_tdc->Fill(pT2_tdcTime*clk2tdc);
+    h_pT3_tdc->Fill(pT3_tdcTime*clk2tdc);
+
+    for (UInt_t iref = 0; iref < ndcRefTimes; iref++)
+      h_pDCREF_tdc[iref]->Fill(pDCREF_tdcTime[iref]*clk2tdc);
+
+    if (p1X_tdcTime != 0.0) h_p1XmpT2_tdc->Fill((pT2_tdcTime - p1X_tdcTime)*clk2tdc);
+    if (p1Y_tdcTime != 0.0) h_p1YmpT2_tdc->Fill((pT2_tdcTime - p1Y_tdcTime)*clk2tdc);
+    if (p2X_tdcTime != 0.0) h_p2XmpT2_tdc->Fill((pT2_tdcTime - p2X_tdcTime)*clk2tdc);
+    if (p2Y_tdcTime != 0.0) h_p2YmpT2_tdc->Fill((pT2_tdcTime - p2Y_tdcTime)*clk2tdc);
+    if (p1T_tdcTime != 0.0) h_p1TmpT2_tdc->Fill((pT2_tdcTime - p1T_tdcTime)*clk2tdc);
+    if (p2T_tdcTime != 0.0) h_p2TmpT2_tdc->Fill((pT2_tdcTime - p2T_tdcTime)*clk2tdc);
+
+    if (p1X_tdcTime != 0.0) h_p1XmpT3_tdc->Fill((pT3_tdcTime - p1X_tdcTime)*clk2tdc);
+    if (p1Y_tdcTime != 0.0) h_p1YmpT3_tdc->Fill((pT3_tdcTime - p1Y_tdcTime)*clk2tdc);
+    if (p2X_tdcTime != 0.0) h_p2XmpT3_tdc->Fill((pT3_tdcTime - p2X_tdcTime)*clk2tdc);
+    if (p2Y_tdcTime != 0.0) h_p2YmpT3_tdc->Fill((pT3_tdcTime - p2Y_tdcTime)*clk2tdc);
+    if (p1T_tdcTime != 0.0) h_p1TmpT3_tdc->Fill((pT3_tdcTime - p1T_tdcTime)*clk2tdc);
+    if (p2T_tdcTime != 0.0) h_p2TmpT3_tdc->Fill((pT3_tdcTime - p2T_tdcTime)*clk2tdc);
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    h_p1X_fpTime->Fill(p1X_fpTime); h_p1Y_fpTime->Fill(p1Y_fpTime);
+    h_p2X_fpTime->Fill(p2X_fpTime); h_p2Y_fpTime->Fill(p2Y_fpTime);
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    Double_t paero_sum = 0.0;
+    for (UInt_t iaerohit = 0; iaerohit < paero_negHits; iaerohit++) {
+      h2_paero_negPulseTime_pT1_diff->Fill(paero_negPmt[iaerohit], paero_negPulseTime[iaerohit]*clk2adc - pT1_tdcTime*clk2tdc);
+      h2_paero_negPulseTime_pT2_diff->Fill(paero_negPmt[iaerohit], paero_negPulseTime[iaerohit]*clk2adc - pT2_tdcTime*clk2tdc);
+      h2_paero_negPulseTime_pT3_diff->Fill(paero_negPmt[iaerohit], paero_negPulseTime[iaerohit]*clk2adc - pT3_tdcTime*clk2tdc);
+      paero_sum += paero_negPulseInt[iaerohit]*aero_adc2npe;
+    }
+    for (UInt_t iaerohit = 0; iaerohit < paero_posHits; iaerohit++) {
+      h2_paero_posPulseTime_pT1_diff->Fill(paero_posPmt[iaerohit], paero_posPulseTime[iaerohit]*clk2adc - pT1_tdcTime*clk2tdc);
+      h2_paero_posPulseTime_pT2_diff->Fill(paero_posPmt[iaerohit], paero_posPulseTime[iaerohit]*clk2adc - pT2_tdcTime*clk2tdc);
+      h2_paero_posPulseTime_pT3_diff->Fill(paero_posPmt[iaerohit], paero_posPulseTime[iaerohit]*clk2adc - pT3_tdcTime*clk2tdc);
+      paero_sum += paero_posPulseInt[iaerohit]*aero_adc2npe;
+    }
+    if (paero_sum != 0.0) h_paero_sum->Fill(paero_sum);
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    Double_t ppshwr_sum = 0.0;
+    for (UInt_t ipshwrhit = 0; ipshwrhit < ppshwr_negHits; ipshwrhit++) {
+      h2_ppshwr_negPulseTime_pT1_diff->Fill(ppshwr_negPmt[ipshwrhit], ppshwr_negPulseTime[ipshwrhit]*clk2adc - pT1_tdcTime*clk2tdc);
+      h2_ppshwr_negPulseTime_pT2_diff->Fill(ppshwr_negPmt[ipshwrhit], ppshwr_negPulseTime[ipshwrhit]*clk2adc - pT2_tdcTime*clk2tdc);
+      h2_ppshwr_negPulseTime_pT3_diff->Fill(ppshwr_negPmt[ipshwrhit], ppshwr_negPulseTime[ipshwrhit]*clk2adc - pT3_tdcTime*clk2tdc);
+      ppshwr_sum += ppshwr_negPulseInt[ipshwrhit]*pshwr_adc2GeV;
+    }
+    for (UInt_t ipshwrhit = 0; ipshwrhit < ppshwr_posHits; ipshwrhit++) {
+      h2_ppshwr_posPulseTime_pT1_diff->Fill(ppshwr_posPmt[ipshwrhit], ppshwr_posPulseTime[ipshwrhit]*clk2adc - pT1_tdcTime*clk2tdc);
+      h2_ppshwr_posPulseTime_pT2_diff->Fill(ppshwr_posPmt[ipshwrhit], ppshwr_posPulseTime[ipshwrhit]*clk2adc - pT2_tdcTime*clk2tdc);
+      h2_ppshwr_posPulseTime_pT3_diff->Fill(ppshwr_posPmt[ipshwrhit], ppshwr_posPulseTime[ipshwrhit]*clk2adc - pT3_tdcTime*clk2tdc);
+      ppshwr_sum += ppshwr_posPulseInt[ipshwrhit]*pshwr_adc2GeV;
+    }
+    if (ppshwr_sum != 0.0) h_ppshwr_sum->Fill(ppshwr_sum);
+
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    Double_t pshwr_sum = 0.0;
+    for (UInt_t ishwrhit = 0; ishwrhit < pshwr_hits; ishwrhit++) {
+      h2_pshwr_pulseTime_pT1_diff->Fill(pshwr_pmt[ishwrhit], pshwr_pulseTime[ishwrhit]*clk2adc - pT1_tdcTime*clk2tdc);
+      h2_pshwr_pulseTime_pT2_diff->Fill(pshwr_pmt[ishwrhit], pshwr_pulseTime[ishwrhit]*clk2adc - pT2_tdcTime*clk2tdc);
+      h2_pshwr_pulseTime_pT3_diff->Fill(pshwr_pmt[ishwrhit], pshwr_pulseTime[ishwrhit]*clk2adc - pT3_tdcTime*clk2tdc);
+      pshwr_sum += pshwr_pulseInt[ishwrhit]*shwr_adc2GeV;
+    }
+    if (pshwr_sum != 0.0) h_pshwr_sum->Fill(pshwr_sum);
+    if ((ppshwr_sum + pshwr_sum) != 0.0) h_ptotshwr_sum->Fill(ppshwr_sum + pshwr_sum);
+    if (ppshwr_sum != 0.0 && pshwr_sum != 0.0) {
+      h2_pshwr_vs_ppshwr->Fill(ppshwr_sum, pshwr_sum);   
+    }
+    
+    for (UInt_t itrack = 0; itrack < ntracks; itrack++)
+      if (trk_pmag != 0.0 && ntracks == 1) h2_EdivP_vs_P->Fill(trk_pmag[0], (ppshwr_sum + pshwr_sum)/trk_pmag[0]);
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    Double_t phgc_sum = 0.0;
+    for (UInt_t ihgchit = 0; ihgchit < phgc_hits; ihgchit++) {
+      h2_phgc_pulseTime_pT1_diff->Fill(phgc_pmt[ihgchit], phgc_pulseTime[ihgchit]*clk2adc - pT1_tdcTime*clk2tdc);
+      h2_phgc_pulseTime_pT2_diff->Fill(phgc_pmt[ihgchit], phgc_pulseTime[ihgchit]*clk2adc - pT2_tdcTime*clk2tdc);
+      h2_phgc_pulseTime_pT3_diff->Fill(phgc_pmt[ihgchit], phgc_pulseTime[ihgchit]*clk2adc - pT3_tdcTime*clk2tdc);
+      phgc_sum += phgc_pulseInt[ihgchit]*hgc_adc2npe;
+    }
+    if (phgc_sum != 0.0) h_phgc_sum->Fill(phgc_sum);
+    if (phgc_sum != 0.0 && (ppshwr_sum + pshwr_sum) != 0.0) h2_pshwr_vs_phgcer->Fill(phgc_sum, ppshwr_sum + pshwr_sum);
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    Double_t pngc_sum = 0.0;
+    for (UInt_t ingchit = 0; ingchit < pngc_hits; ingchit++) {
+      h2_pngc_pulseTime_pT1_diff->Fill(pngc_pmt[ingchit], pngc_pulseTime[ingchit]*clk2adc - pT1_tdcTime*clk2tdc);
+      h2_pngc_pulseTime_pT2_diff->Fill(pngc_pmt[ingchit], pngc_pulseTime[ingchit]*clk2adc - pT2_tdcTime*clk2tdc);
+      h2_pngc_pulseTime_pT3_diff->Fill(pngc_pmt[ingchit], pngc_pulseTime[ingchit]*clk2adc - pT3_tdcTime*clk2tdc);
+      pngc_sum += pngc_pulseInt[ingchit]*ngc_adc2npe;
+    }
+    if (pngc_sum != 0.0) h_pngc_sum->Fill(pngc_sum);
+    if (pngc_sum != 0.0 && (ppshwr_sum + pshwr_sum) != 0.0) h2_pshwr_vs_pngcer->Fill(pngc_sum, ppshwr_sum + pshwr_sum);
+
+    // ==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
+
+    if ((ievent)%1000 == 0)
+      cout << "ievent = " << ievent << endl;
+
+  }  // Entries loop
+}  // UserScript function
+
+void kpp_analysis(TString histname) {
+
+  // Grab the histo
+  TH1F *h1d;
+  TH2F *h2d;
+
+  h1d = dynamic_cast <TH1F*> (gDirectory->Get(histname));
+  h2d = dynamic_cast <TH2F*> (gDirectory->Get(histname));
+
+  // Grab histo directly if it does not already exist
+  if(!h1d && !h2d) {
+    UserScript();
+    h1d = (TH1F*) (gDirectory->Get(histname));
+    h2d = (TH2F*) (gDirectory->Get(histname));
+    // Throw error
+    if(!h1d || !h2d) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  //else
+  if (h2d) {
+    h2d->SetStats(0);
+    h2d->Draw("colz");
+  }
+  else {
+    h1d->SetStats(0);
+    h1d->Draw();
+  }
+}  // kpp_analysis function
diff --git a/onlineGUI/Macros/overlay.C b/onlineGUI/Macros/overlay.C
new file mode 100755
index 00000000..ac7f0389
--- /dev/null
+++ b/onlineGUI/Macros/overlay.C
@@ -0,0 +1,54 @@
+void overlay(TString hist1name, TString hist2name, Bool_t golden=false,TString samestr=""){
+  TH1F* H1;
+  TH1F* H2;
+  
+  H1 = (TH1F*) gDirectory->Get(hist1name);
+  H2 = (TH1F*) gDirectory->Get(hist2name);
+  if (H1 && H2) {
+  if(golden){
+    H1->SetLineColor(30);
+    H1->SetFillColor(30);
+    H1->SetFillStyle(3027);
+    H2->SetLineColor(46);
+    H2->SetFillColor(46);
+    H2->SetFillStyle(3027);
+  } else {
+    H1->SetLineColor(4);
+    H2->SetLineColor(2);
+    H1->SetStats(0);
+    H2->SetStats(0);
+    H1->SetMinimum(0);
+    H2->SetMinimum(0);
+  }
+
+  if(golden){
+    if(!samestr.Contains("sames")) samestr += "sames";
+    H1->Draw(samestr);
+    H2->Draw(samestr);
+  } else {
+    if(!golden && !samestr.Contains("sames")){
+      // pick which hist to draw first:
+      if(H1->GetMaximum() > H2->GetMaximum()){
+	H1->Draw(samestr);
+	if(!samestr.Contains("sames")) samestr += "sames";
+	H2->Draw(samestr);
+      } else {
+	H2->Draw(samestr);
+	if(!samestr.Contains("sames")) samestr += "sames";
+	H1->Draw(samestr);
+      }
+    } else {
+      H1->Draw(samestr);
+      if(!samestr.Contains("sames")) samestr += "sames";
+      H2->Draw(samestr);
+    H2->GetXaxis()->SetTitleOffset(.6);
+    H2->GetXaxis()->SetTitleSize(0.08);
+    H2->GetYaxis()->SetTitleOffset(.6);
+    H2->GetYaxis()->SetTitleSize(0.08);
+    }
+  }
+  } else {
+    if (!H1) cout << " Histogram " << hist1name << " does not exist" << endl;
+    if (!H2) cout << " Histogram " << hist2name << " does not exist" << endl;
+  }
+}
diff --git a/onlineGUI/Macros/rawdraw.C b/onlineGUI/Macros/rawdraw.C
new file mode 100755
index 00000000..f05e820f
--- /dev/null
+++ b/onlineGUI/Macros/rawdraw.C
@@ -0,0 +1,265 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 16;
+  const UInt_t NSIGNALS = 2;
+  const UInt_t NADCSIGNALS = 2;
+  const UInt_t NTDCSIGNALS = 2;
+
+  const TString SPECTROMETER = "H";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const UInt_t  nbars[NPLANES] = {16, 10, 16, 10};
+  const TString sides[NSIDES] = {"neg", "pos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"Ped", "PedRaw"};
+  const TString tdc_signals[NTDCSIGNALS] = {"Time", "TimeRaw"};
+  
+  const Double_t ADC_MIN    = 0.0;
+  const Double_t ADC_MAX    = 25000.0;
+  const Int_t    ADC_NBINS  = 2500;
+  const Double_t TDC_MIN    = -8000.0;
+  const Double_t TDC_MAX    = 8000.0;
+  const Int_t    TDC_NBINS  = 1600;
+
+  Int_t nadchits[NPLANES][NSIDES][NSIGNALS];
+  Int_t ntdchits[NPLANES][NSIDES][NSIGNALS];
+
+  Double_t adc_paddles[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+  Double_t tdc_paddles[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+
+  Double_t ped_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  Double_t pedraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+
+  Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXBARS];
+  Double_t tdcraw_values[NPLANES][NSIDES][NTDCSIGNALS][MAXBARS];
+
+  TH1F* hadc[NPLANES*NSIDES*NADCSIGNALS*MAXBARS];
+  TH1F* htdc[NPLANES*NSIDES*NTDCSIGNALS*MAXBARS];
+
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+      for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	if(signals[isignal] == "Adc") {  
+	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside][isignal]);
+	  TString adc_paddle_name = adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    if (adc_signals[iadcsignal] == "Ped") {
+	      TString pedlist_name = adc_base_name+"Ped";
+	      T->SetBranchAddress(pedlist_name, &ped_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PedRaw") {
+	      TString pedrawlist_name = adc_base_name+"PedRaw";
+	      T->SetBranchAddress(pedrawlist_name, &pedraw_values[ip][iside][iadcsignal][0]);
+	    }
+	  }
+	}
+
+	if(signals[isignal] == "Tdc") {  
+	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString tdc_ndata_name = "Ndata."+tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_ndata_name, &ntdchits[ip][iside][isignal]);
+	  TString tdc_paddle_name = tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    if (tdc_signals[itdcsignal] == "Time") {
+	      TString tdclist_name = tdc_base_name+"Time";
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	    if (tdc_signals[itdcsignal] == "TimeRaw") {
+	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
+	      T->SetBranchAddress(tdcrawlist_name, &tdcraw_values[ip][iside][itdcsignal][0]);
+	    }
+	  }
+	}
+
+	// Create histograms
+	// ADC and TDC histogram for each 
+	if(signals[isignal] == "Adc") {
+	  UInt_t nadcbins  = ADC_NBINS;
+	  Double_t hadcmin = ADC_MIN;
+	  Double_t hadcmax = ADC_MAX;
+	} 
+	if(signals[isignal] == "Tdc") {
+	  UInt_t ntdcbins  = TDC_NBINS;
+	  Double_t htdcmin = TDC_MIN;
+	  Double_t htdcmax = TDC_MAX;
+	}
+	
+	if(signals[isignal] == "Adc") {
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t hadcindex = ip*NSIDES*NADCSIGNALS*MAXBARS
+		+iside*NADCSIGNALS*MAXBARS+iadcsignal*MAXBARS+ibar;
+	      TString iadcbarname = Form("%d",ibar+1);
+	      TString adctitle= "hadc"+plane_names[ip]+iadcbarname+sides[iside]
+		+" "+adc_signals[iadcsignal];
+	      TString adcname="uhadc"+plane_names[ip]+iadcbarname+sides[iside]+
+		adc_signals[iadcsignal];
+	      
+	      hadc[hadcindex]=new TH1F(adcname, adctitle, nadcbins, hadcmin, hadcmax);
+	    }
+	  }
+	}
+
+	if(signals[isignal] == "Tdc") {
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t htdcindex = ip*NSIDES*NTDCSIGNALS*MAXBARS
+		+iside*NTDCSIGNALS*MAXBARS+itdcsignal*MAXBARS+ibar;
+	      TString itdcbarname = Form("%d",ibar+1);
+	      TString tdctitle= "htdc"+plane_names[ip]+itdcbarname+sides[iside]
+		+" "+tdc_signals[itdcsignal];
+	      TString tdcname="uhtdc"+plane_names[ip]+itdcbarname+sides[iside]+
+		tdc_signals[itdcsignal];
+	  
+	      htdc[htdcindex]=new TH1F(tdcname, tdctitle, ntdcbins, htdcmin, htdcmax);
+	    }
+	  }
+	}
+	
+      }
+    }
+  }
+
+  // Loop over the events, filling the histograms
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    T->GetEntry(iev);
+
+    cout << "**************************" << endl;
+    cout << "Event Number = " << iev << endl;
+    cout << "**************************" << endl;
+
+    for(UInt_t ip = 0; ip < NPLANES; ip++){
+      for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+     
+	  if(signals[isignal] == "Adc") {
+	    for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+
+	      UInt_t hadcindex_base = ip*NSIDES*NADCSIGNALS*MAXBARS
+		+iside*NADCSIGNALS*MAXBARS+iadcsignal*MAXBARS;
+
+	      cout << "============= ADC =============" << endl;
+	      cout << "ip = " << ip << ", iside = " << iside << ", iadcsignal = " << iadcsignal << ", hadcindex_base = " << hadcindex_base << endl;
+
+	      cout << "nadchits = " << nadchits[ip][iside][isignal] << endl;
+
+ 	      for(Int_t adc_ihit = 0; adc_ihit < nadchits[ip][iside][isignal]; adc_ihit++) {
+
+		//UInt_t ibar = TMath::Nint(paddles[ip][iside][isignal][adc_ihit]) - 1;
+		UInt_t ibar = TMath::Nint(adc_paddles[ip][iside][isignal][adc_ihit]) - 1;
+
+		cout << "ibar = " << ibar << ", adc_ihit = " << adc_ihit << endl;
+
+		cout << "level 1" << endl;
+			
+		if (adc_signals[iadcsignal] == "Ped") {  
+		  Double_t pedval = ped_values[ip][iside][iadcsignal][adc_ihit];
+		}
+
+		cout << "level 2" << endl;
+
+		if (adc_signals[iadcsignal] == "PedRaw") { 
+		  Double_t pedrawval = pedraw_values[ip][iside][iadcsignal][adc_ihit];
+		}
+		
+		cout << "level 3" << endl;
+
+		// if (hadcindex_base == 0 && ibar == 0) UInt_t hadcindex = 1;
+		// else UInt_t hadcindex = hadcindex_base + ibar;
+
+		UInt_t hadcindex = hadcindex_base + ibar;
+
+		cout << "hadcindex = " << hadcindex << endl;
+
+		if (adc_signals[iadcsignal] == "Ped") {
+		  cout << "pedval = " << pedval << endl;
+		  hadc[hadcindex]->Fill(pedval);
+		}
+		if (adc_signals[iadcsignal] == "PedRaw") {
+		  cout << "pedrawval = " << pedrawval << endl;
+		  hadc[hadcindex]->Fill(pedrawval);
+		}
+
+	      }
+	    }
+	  }
+
+	  if(signals[isignal] == "Tdc") {
+	    for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+
+	      UInt_t htdcindex_base = ip*NSIDES*NTDCSIGNALS*MAXBARS
+		+iside*NTDCSIGNALS*MAXBARS+itdcsignal*MAXBARS;
+
+	      cout << "============= TDC =============" << endl;
+	      cout << "ip = " << ip << ", iside = " << iside << ", itdcsignal = " << itdcsignal << ", htdcindex_base = " << htdcindex_base << endl;
+
+	      cout << "ntdchits = " << ntdchits[ip][iside][isignal] << endl;
+
+	      for(Int_t tdc_ihit = 0; tdc_ihit < ntdchits[ip][iside][isignal]; tdc_ihit++) {
+
+		UInt_t ibar = TMath::Nint(tdc_paddles[ip][iside][isignal][tdc_ihit]) - 1;
+
+		cout << "ibar = " << ibar << endl;
+
+		Double_t tdcval = tdc_values[ip][iside][itdcsignal][tdc_ihit];
+		Double_t tdcrawval = tdcraw_values[ip][iside][itdcsignal][tdc_ihit];
+		UInt_t htdcindex = htdcindex_base + ibar;
+
+		cout << "htdcindex = " << htdcindex << endl;
+
+		if (tdc_signals[itdcsignal] == "Time") {
+		  cout << "Time = " << tdcval << endl;
+		  htdc[htdcindex]->Fill(tdcval);
+		}
+		if (tdc_signals[itdcsignal] == "TimeRaw") {
+		  cout << "RawTime = " << tdcrawval << endl;
+		  htdc[htdcindex]->Fill(tdcrawval);
+		}
+	      }
+	    }
+	  }
+
+	}
+      }
+    }
+  }
+
+  return;
+
+}
+
+void rawdraw(TString histname) {
+
+  TH1F* h;
+
+  h = (TH1F*) gDirectory->Get(histname);
+  if(!h) {
+    UserScript();
+    h = (TH1F*) gDirectory->Get(histname);
+    if(!h) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  h->Draw();
+}
+
diff --git a/onlineGUI/Macros/rawdraw_2d_hhodo.C b/onlineGUI/Macros/rawdraw_2d_hhodo.C
new file mode 100644
index 00000000..980b0a40
--- /dev/null
+++ b/onlineGUI/Macros/rawdraw_2d_hhodo.C
@@ -0,0 +1,275 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 16;  // FIX ME: Parameter should be 16
+  const UInt_t NSIGNALS = 2;
+  const UInt_t NADCSIGNALS = 7;
+  const UInt_t NTDCSIGNALS = 2;
+  const UInt_t MAXHITS=16*16;
+
+  const TString SPECTROMETER = "H";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const UInt_t  nbars[NPLANES] = {16, 10, 16, 10};
+  const TString sides[NSIDES] = {"neg", "pos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"Ped", "PedRaw", "PulseInt", "PulseIntRaw", 
+					    "PulseAmp", "PulseAmpRaw", "PulseTimeRaw"};
+  const TString tdc_signals[NTDCSIGNALS] = {"Time", "TimeRaw"};
+  
+  Double_t adcbit_to_pC = 1.0/(50*4096)*4*1000. ;// 1V/(50 Ohms)/4096*4ns* = .020 pC
+  cout << adcbit_to_pC << endl;
+  Int_t nadchits[NPLANES][NSIDES][NSIGNALS];
+  Int_t ntdchits[NPLANES][NSIDES][NSIGNALS];
+
+  Double_t adc_paddles[NPLANES][NSIDES][NSIGNALS][MAXHITS];
+  Double_t tdc_paddles[NPLANES][NSIDES][NSIGNALS][MAXHITS];
+
+  Double_t ped_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  Double_t pedraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+
+  Double_t int_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  Double_t intraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  
+  Double_t amp_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  Double_t ampraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  
+  Double_t ptraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+
+  Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+  Double_t tdcraw_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+
+  TH2F* htdc_adc[NPLANES*NSIDES*MAXBARS];
+  TH2F* htdc_tdc[NPLANES*MAXBARS];
+  TH2F* hadc_adc[NPLANES*MAXBARS];
+  TH2F* hadcint_adcint[NPLANES*MAXBARS];
+  TH2F* hatdc_atdc[NPLANES*MAXBARS];
+  TH2F* hadc_atdc[NPLANES*NSIDES*MAXBARS];
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "TDC 0.1ns/chan "+plane_names[ip]+i2dbarname+"; Neg ; Pos ";
+	      TString h2dtname="uh2dtdc"+plane_names[ip]+i2dbarname;
+              htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,-1000,-500,100,-1000,-500.);
+	    }
+  }
+  //
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "ADC Peak Amp "+plane_names[ip]+i2dbarname+"; Neg (mV); Pos (mV)";
+	      TString h2dtname="uh2dadcpeak"+plane_names[ip]+i2dbarname;
+	      //             hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,500,-200,5800,500,-200,5800.);
+	                 hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,160,0,800,160,0,800.);
+	      TString h2dttitle= "ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)";
+	      TString h2dtname="uh2dadcint"+plane_names[ip]+i2dbarname;
+	                 hadcint_adcint[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.);
+	    }
+  }
+  //
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "h2dadctdc"+plane_names[ip]+i2dbarname;
+	      TString h2dtname="uh2dadctdc"+plane_names[ip]+i2dbarname;
+              hatdc_atdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,1000,2000,100,1000,2000.);
+	    }
+  }
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t h2dindex = ip*NSIDES*MAXBARS+iside*MAXBARS+ibar;
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dtitle= "ADC (pc) vs TDC (0.1ns/chan) "+plane_names[ip]+i2dbarname+sides[iside];
+	      TString h2dname="uh2d"+plane_names[ip]+i2dbarname+sides[iside];
+	      TString h2datitle= "h2dadcAtdc"+plane_names[ip]+i2dbarname+sides[iside];
+	      TString h2daname="uh2dadcAtdc"+plane_names[ip]+i2dbarname+sides[iside];
+              if ( h2dindex < NPLANES*NSIDES*MAXBARS) {
+              htdc_adc[h2dindex]= new TH2F(h2dname,h2dtitle,200,-1000,-500,50,0.,100.);
+              hadc_atdc[h2dindex]= new TH2F(h2daname,h2datitle,50,0,100.,300,1000,2000.);
+	      //	      cout << " index = " << h2dindex << " " << h2dname << endl;
+              } else {
+                cout << " index = " << h2dindex << " too large" << endl;
+	      }
+	    }
+      for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	if(signals[isignal] == "Adc") {  
+	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside][isignal]);
+	  TString adc_paddle_name = adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    if (adc_signals[iadcsignal] == "Ped") {
+	      TString pedlist_name = adc_base_name+"Ped";
+	      T->SetBranchAddress(pedlist_name, &ped_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PedRaw") {
+	      TString pedrawlist_name = adc_base_name+"PedRaw";
+	      T->SetBranchAddress(pedrawlist_name, &pedraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseInt") {   
+	      TString intlist_name = adc_base_name+"PulseInt";
+	      T->SetBranchAddress(intlist_name, &int_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseIntRaw") {
+	      TString intrawlist_name = adc_base_name+"PulseIntRaw";
+	      T->SetBranchAddress(intrawlist_name, &intraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmp") {   
+	      TString amplist_name = adc_base_name+"PulseAmp";
+	      T->SetBranchAddress(amplist_name, &amp_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+	      TString amprawlist_name = adc_base_name+"PulseAmpRaw";
+	      T->SetBranchAddress(amprawlist_name, &ampraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+	      TString ptrawlist_name = adc_base_name+"PulseTimeRaw";
+	      T->SetBranchAddress(ptrawlist_name, &ptraw_values[ip][iside][iadcsignal][0]);
+	    }
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString tdc_ndata_name = "Ndata."+tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_ndata_name, &ntdchits[ip][iside][isignal]);
+	  TString tdc_paddle_name = tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    if (tdc_signals[itdcsignal] == "Time") {
+	      TString tdclist_name = tdc_base_name+"Time";
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	    if (tdc_signals[itdcsignal] == "TimeRaw") {
+	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
+	      T->SetBranchAddress(tdcrawlist_name, &tdcraw_values[ip][iside][itdcsignal][0]);
+	    }
+	  }
+	}
+
+      }
+    }
+  }
+
+  // Loop over the events, filling the histograms
+  cout << " looping over data " << endl;
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    if (iev%10000==0) cout << " iev = " << iev << endl;
+    T->GetEntry(iev);
+    //
+    Double_t tdcbar_save=-1;
+        for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	  //       cout << iev << " " << ip << " " << ntdchits[ip][0][1]<< " " << ntdchits[ip][1][1] << endl;
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][0][1]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][0][1][tdc1_ihit]) - 1;
+		Double_t tdc1val = tdc_values[ip][0][0][tdc1_ihit];
+		for(Int_t tdc2_ihit = 0; tdc2_ihit < ntdchits[ip][1][1]; tdc2_ihit++)  {
+		  UInt_t tdc2bar = TMath::Nint(tdc_paddles[ip][1][1][tdc2_ihit]) - 1;
+		  Double_t tdc2val =tdc_values[ip][1][0][tdc2_ihit];
+		  //                  cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " tdc 2 = " << tdc2_ihit << " " << tdc2val   << " " << tdc2bar << endl;
+		  if ( tdc2bar == tdc1bar) htdc_tdc[ip*MAXBARS+tdc1bar]->Fill(tdc1val,tdc2val);
+                  if ( ip==3 && tdc2bar == tdc1bar) tdcbar_save=tdc2bar;
+		}
+		}
+	}
+        for(UInt_t ip = 0; ip < NPLANES; ip++) {
+		//
+		for(Int_t adc1_ihit = 0; adc1_ihit < nadchits[ip][0][0]; adc1_ihit++)  {
+ 		UInt_t adc1bar = TMath::Nint(adc_paddles[ip][0][0][adc1_ihit]) - 1;
+		Double_t adc1val = int_values[ip][0][2][adc1_ihit]*adcbit_to_pC;
+		Double_t adc1pval = amp_values[ip][0][4][adc1_ihit];
+		Double_t adc1tval = ptraw_values[ip][0][6][adc1_ihit];
+		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][1][0]; adc2_ihit++)  {
+		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][1][0][adc2_ihit]) - 1;
+		  Double_t adc2val =int_values[ip][1][2][adc2_ihit]*adcbit_to_pC;
+		  Double_t adc2pval =amp_values[ip][1][4][adc2_ihit];
+		  Double_t adc2tval =ptraw_values[ip][1][6][adc2_ihit];
+		  //            cout << iev << " " << adc1_ihit << " " << adc1tval << " " << adc1bar << " adc 2 = " << adc2_ihit << " " << adc2tval   << " " << adc2bar << endl;
+		  if ( adc2bar == adc1bar ) hadc_adc[ip*MAXBARS+adc1bar]->Fill(adc1pval*.244*2,adc2pval*.244*2);
+		  if ( adc2bar == adc1bar ) hadcint_adcint[ip*MAXBARS+adc1bar]->Fill(adc1val,adc2val);
+		  if ( adc2bar == adc1bar) hatdc_atdc[ip*MAXBARS+adc1bar]->Fill(adc1tval,adc2tval);
+		}
+		}
+	}
+    //
+
+     //
+     for(UInt_t ip = 0; ip < NPLANES; ip++) {
+      for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	//
+	      UInt_t hindex_base = ip*NSIDES*MAXBARS+iside*MAXBARS;
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][iside][1]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][iside][1][tdc1_ihit]) - 1;
+		Double_t tdc1val = tdc_values[ip][0][0][tdc1_ihit];
+		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][iside][0]; adc2_ihit++)  {
+		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][iside][0][adc2_ihit]) - 1;
+		  Double_t adc2val =int_values[ip][iside][2][adc2_ihit];
+		  //                  cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " tdc 2 = " << tdc2_ihit << " " << tdc2val   << " " << tdc2bar << endl;
+		  if (tdc1bar==adc2bar) htdc_adc[hindex_base+adc2bar]->Fill(tdc1val,adc2val*adcbit_to_pC);
+		}
+		}
+	//
+      }
+     }
+    
+  }
+  return;
+}
+
+void rawdraw_2d_hhodo(TString histname) {
+
+  TH1F* h;
+
+  h = (TH1F*) gDirectory->Get(histname);
+  if(!h) {
+    UserScript();
+    h = (TH1F*) gDirectory->Get(histname);
+    if(!h) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  TLine *pline = new TLine(0,30.,800.,30.);
+  TLine *pline2 = new TLine(30,0.,30.,800.);
+  // cout << histname.Contains("adcpeak") << endl;
+  h->SetStats(0);
+  h->Draw("colz");
+  if (histname.Contains("adcpeak")) {
+    pline->Draw();
+    pline->SetLineColor(2);
+    pline->SetLineWidth(3);
+    pline2->Draw();
+    pline2->SetLineColor(2);
+    pline2->SetLineWidth(3);
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+  if (histname.Contains("adcint")) {
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+}
+
diff --git a/onlineGUI/Macros/rawdraw_2d_phodo.C b/onlineGUI/Macros/rawdraw_2d_phodo.C
new file mode 100644
index 00000000..c9232e0f
--- /dev/null
+++ b/onlineGUI/Macros/rawdraw_2d_phodo.C
@@ -0,0 +1,377 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 21;  // FIX ME: Parameter should be 16
+  const UInt_t NSIGNALS = 2;
+  const UInt_t NADCSIGNALS = 7;
+  const UInt_t NTDCSIGNALS = 2;
+  const UInt_t MAXHITS=128*16;
+
+  const TString SPECTROMETER = "P";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const UInt_t  nbars[NPLANES] = {13, 13, 14, 21};
+  const TString sides[NSIDES] = {"neg", "pos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"Ped", "PedRaw", "PulseInt", "PulseIntRaw", 
+					    "PulseAmp", "PulseAmpRaw", "PulseTimeRaw"};
+  const TString tdc_signals[NTDCSIGNALS] = {"Time", "TimeRaw"};
+  
+  Double_t adcbit_to_pC = 1.0/(50*4096)*4*1000. ;// 1V/(50 Ohms)/4096*4ns* = .020 pC
+  Double_t adcpeak_to_mV = 1.0/4096.*1000;// 1.0V per 4096 bits
+  Double_t fac_for_disc[4]= {2.0,2.,2.,1.};// Factor to have ADC at FADC match signal at discriminatir assuming split of 2/3 to 1/3( 2Y plane has linear FI/FO not a splitter)
+  cout << adcbit_to_pC << endl;
+  Int_t nadchits[NPLANES][NSIDES];
+  Int_t ntdchits[NPLANES][NSIDES];
+
+  Double_t adc_paddles[NPLANES][NSIDES][MAXHITS];
+  Double_t tdc_paddles[NPLANES][NSIDES][MAXHITS];
+
+  Double_t adc_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+
+  TH2F* htdc_adc[NPLANES*NSIDES*MAXBARS];
+  TH2F* htdc_dis[NPLANES*MAXBARS][2];
+  Int_t dis_bin[4]={13,13,13,14};
+  Double_t dis_min[4];
+  Double_t dis_max[4];
+  Double_t dis_center_pad1[4]={-33.75,-56.25,-33.75,-56.25};
+  Double_t dis_sign[4]={1.,1.,1.,1.};
+  Double_t dis_space=7.5;
+  Int_t pair_pl[4]={1,0,0,2};
+  Double_t dis_tdc_min[4]={-1600.,-1700.,-1800.,-1900.};
+  Double_t dis_tdc_max[4]={-1100.,-1200.,-1400.,-1100.};
+  const TString opp_plane[4] = {";Y1 plane paddle number; Tdc (.1/chan)",";X1 plane paddle number;Tdc (.1/chan) ",";X1 plane paddle number;Tdc (.1/chan) ",";X2 plane paddle number;Tdc (.1/chan) "};
+  Double_t htdc_tdc_min1[4]={-1600.,-1700.,-1800.,-1900.};
+  Double_t htdc_tdc_max1[4]={-1100.,-1300.,-1400.,-1100.};
+  Double_t htdc_tdc_min2[4]={-1500.,-1700.,-1800.,-1900.};
+  Double_t htdc_tdc_max2[4]={-1200.,-1300.,-1400.,-1100.};
+  Int_t htdc_tdc_bin1[4];
+  Int_t htdc_tdc_bin2[4];
+  Double_t htdc_adc_min1[4]={-1500.,-1700.,-1800.,-1900.};
+  Double_t htdc_adc_max1[4]={-1200.,-1300.,-1400.,-1100.};
+  Double_t htdc_adc_min2[4]={0.,0.,0.,0.};
+  Double_t htdc_adc_max2[4]={250.,250.,250.,250.};
+  Int_t htdc_adc_bin1[4];
+  Int_t htdc_adc_bin2[4];
+  TH2F* htdc_tdc[NPLANES*MAXBARS];
+  TH2F* hadc_adc[NPLANES*MAXBARS];
+  TH2F* hadcint_adcint[NPLANES*MAXBARS];
+  TH2F* hadc_adc_cut[NPLANES*MAXBARS];
+  TH2F* hadcint_adcint_cut[NPLANES*MAXBARS];
+  TH2F* hatdc_atdc[NPLANES*MAXBARS];
+  TH2F* hadc_atdc[NPLANES*NSIDES*MAXBARS];
+  TH2F* hnhits_negtdc_paddle[NPLANES];
+  TH2F* hnhits_postdc_paddle[NPLANES];
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	      TString h2dttitle= "Neg TDC nhits vs paddle Plane "+plane_names[ip]+"; Paddle ; Nhits ";
+	      TString h2dtname="uh1dnegtdcNhitsPad"+plane_names[ip];
+              hnhits_negtdc_paddle[ip]= new TH2F(h2dtname,h2dttitle,nbars[ip],1,nbars[ip]+1,10,0,10);
+	      TString h2dttitle= "Pos TDC nhits vs paddle Plane "+plane_names[ip]+"; Paddle ; Nhits ";
+	      TString h2dtname="uh1dpostdcNhitsPad"+plane_names[ip];
+              hnhits_postdc_paddle[ip]= new TH2F(h2dtname,h2dttitle,nbars[ip],1,nbars[ip]+1,10,0,10);
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "TDC 0.1ns/chan "+plane_names[ip]+i2dbarname+"; Neg ; Pos ";
+	      TString h2dtname="uh2dtdc"+plane_names[ip]+i2dbarname;
+              htdc_tdc_bin1[ip]=(htdc_tdc_max1[ip]-htdc_tdc_min1[ip])/10.;
+              htdc_tdc_bin2[ip]=(htdc_tdc_max2[ip]-htdc_tdc_min2[ip])/10.;
+              htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,htdc_tdc_bin1[ip],htdc_tdc_min1[ip],htdc_tdc_max1[ip],htdc_tdc_bin2[ip],htdc_tdc_min2[ip],htdc_tdc_max2[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
+	      TString h2dtname="uh2dtdcvdisneg"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,(dis_tdc_max[ip]-dis_tdc_min[ip])/10,dis_tdc_min[ip],dis_tdc_max[ip]);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
+	      TString h2dtname="uh2dtdcvdispos"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,(dis_tdc_max[ip]-dis_tdc_min[ip])/10,dis_tdc_min[ip],dis_tdc_max[ip]);
+	    }
+  }
+  //
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "ADC Peak Amp "+plane_names[ip]+i2dbarname+"; Neg (mV); Pos (mV)";
+	      TString h2dtname="uh2dadcpeak"+plane_names[ip]+i2dbarname;
+	      //             hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,500,-200,5800,500,-200,5800.);
+	                 hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,160,0,800,160,0,800.);
+	      TString h2dtname="uh2dadcpeakcut"+plane_names[ip]+i2dbarname;
+	      //             hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,500,-200,5800,500,-200,5800.);
+	                 hadc_adc_cut[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,160,0,800,160,0,800.);
+	      TString h2dttitle= "ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)";
+	      TString h2dtname="uh2dadcint"+plane_names[ip]+i2dbarname;
+	                 hadcint_adcint[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.);
+	      TString h2dtname="uh2dadcintcut"+plane_names[ip]+i2dbarname;
+	                 hadcint_adcint_cut[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.);
+	    }
+  }
+  //
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dttitle= "h2dadctdc"+plane_names[ip]+i2dbarname;
+	      TString h2dtname="uh2dadctdc"+plane_names[ip]+i2dbarname;
+              hatdc_atdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,1000,2000,100,1000,2000.);
+	    }
+  }
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t h2dindex = ip*NSIDES*MAXBARS+iside*MAXBARS+ibar;
+	      TString i2dbarname = Form("%d",ibar+1);
+	      TString h2dtitle= "ADC peak (mV) vs TDC (0.1ns/chan) "+plane_names[ip]+i2dbarname+sides[iside];
+	      TString h2dname="uh2d"+plane_names[ip]+i2dbarname+sides[iside];
+	      TString h2datitle= "h2dadcAtdc"+plane_names[ip]+i2dbarname+sides[iside];
+	      TString h2daname="uh2dadcAtdc"+plane_names[ip]+i2dbarname+sides[iside];
+              if ( h2dindex < NPLANES*NSIDES*MAXBARS) {
+              htdc_adc_bin1[ip]=(htdc_adc_max1[ip]-htdc_adc_min1[ip])/10.;
+              htdc_adc_bin2[ip]=(htdc_adc_max2[ip]-htdc_adc_min2[ip])/2.;
+		htdc_adc[h2dindex]= new TH2F(h2dname,h2dtitle,htdc_adc_bin1[ip],htdc_adc_min1[ip],htdc_adc_max1[ip],htdc_adc_bin2[ip],htdc_adc_min2[ip],htdc_adc_max2[ip]);
+              hadc_atdc[h2dindex]= new TH2F(h2daname,h2datitle,50,0,100.,300,1000,2000.);
+	      //	      cout << " index = " << h2dindex << " " << h2dname << endl;
+              } else {
+                cout << " index = " << h2dindex << " too large" << endl;
+	      }
+	    }
+      for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	if(signals[isignal] == "Adc") {  
+	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside]);
+	  TString adc_paddle_name = adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][0]);
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    if (adc_signals[iadcsignal] == "Ped") {
+	      TString pedlist_name = adc_base_name+"Ped";
+	      T->SetBranchAddress(pedlist_name, &adc_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PedRaw") {
+	      TString pedrawlist_name = adc_base_name+"PedRaw";
+	      T->SetBranchAddress(pedrawlist_name, &adc_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseInt") {   
+	      TString intlist_name = adc_base_name+"PulseInt";
+	      T->SetBranchAddress(intlist_name, &adc_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseIntRaw") {
+	      TString intrawlist_name = adc_base_name+"PulseIntRaw";
+	      T->SetBranchAddress(intrawlist_name, &adc_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmp") {   
+	      TString amplist_name = adc_base_name+"PulseAmp";
+	      T->SetBranchAddress(amplist_name, &adc_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+	      TString amprawlist_name = adc_base_name+"PulseAmpRaw";
+	      T->SetBranchAddress(amprawlist_name, &adc_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+	      TString ptrawlist_name = adc_base_name+"PulseTimeRaw";
+	      T->SetBranchAddress(ptrawlist_name, &adc_values[ip][iside][iadcsignal][0]);
+	    }
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString tdc_ndata_name = "Ndata."+tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_ndata_name, &ntdchits[ip][iside]);
+	  TString tdc_paddle_name = tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][0]);
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    if (tdc_signals[itdcsignal] == "Time") {
+	      TString tdclist_name = tdc_base_name+"Time";
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	    if (tdc_signals[itdcsignal] == "TimeRaw") {
+	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
+	      T->SetBranchAddress(tdcrawlist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	  }
+	}
+
+      }
+    }
+  }
+
+  // Loop over the events, filling the histograms
+  //  cout << " looping over data " << endl;
+  Double_t good_pad[4];
+  Double_t good_adc[4][2];
+  Bool_t good_neg[4][MAXBARS],good_pos[4][MAXBARS];
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    if (iev%1000==0) cout << " iev = " << iev << endl;
+    //       cout << " get entry = " << iev << endl;
+    T->GetEntry(iev);
+    Double_t tdcbarx1_save=-1;
+    Double_t tdcbarx2_save=-10;
+    Double_t tdcbary1_save=-1;
+    Double_t tdcbary2_save=-10;
+     /*
+      for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	  Double_t nhits_neg[21]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
+	  Double_t nhits_pos[21]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
+ 		for(Int_t tdc3_ihit = 0; tdc3_ihit < ntdchits[ip][0]; tdc3_ihit++)  {
+ 		UInt_t tdc3bar = TMath::Nint(tdc_paddles[ip][0][1][tdc3_ihit]) - 1;
+                nhits_neg[tdc3bar]++;
+		}
+		for(Int_t tdc4_ihit = 0; tdc4_ihit < ntdchits[ip][1]; tdc4_ihit++)  {
+ 		UInt_t tdc4bar = TMath::Nint(tdc_paddles[ip][1][1][tdc4_ihit]) - 1;
+                nhits_pos[tdc4bar]++;
+		}
+                for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+ 		  hnhits_negtdc_paddle[ip]->Fill(float(ibar+1),nhits_neg[ibar]);
+ 		  hnhits_postdc_paddle[ip]->Fill(float(ibar+1),nhits_pos[ibar]);
+		}
+       }
+    */
+    //    cout << " start nplane loop" << endl;
+    //   if (ntdchits[0][0]==1&&ntdchits[0][1]==1&&ntdchits[1][0]==1&&ntdchits[1][1]==1&&ntdchits[2][0]==1&&ntdchits[2][1]==1) {
+      if (ntdchits[0][0]==1&&ntdchits[0][1]==1) {
+    // if (1==1) {
+       for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	 //	 	        cout << iev << " " << ip << " " << ntdchits[ip][0]<< " " << ntdchits[ip][1] << endl;
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][0]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][0][tdc1_ihit]) - 1;
+		Double_t tdc1val = tdc_values[ip][0][0][tdc1_ihit];
+		for(Int_t tdc2_ihit = 0; tdc2_ihit < ntdchits[ip][1]; tdc2_ihit++)  {
+		  UInt_t tdc2bar = TMath::Nint(tdc_paddles[ip][1][tdc2_ihit]) - 1;
+		  Double_t tdc2val =tdc_values[ip][1][0][tdc2_ihit];
+		  //		                cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " tdc 2 = " << tdc2_ihit << " " << tdc2val   << " " << tdc2bar << endl;
+		  if ( tdc2bar == tdc1bar) htdc_tdc[ip*MAXBARS+tdc1bar]->Fill(tdc1val,tdc2val);
+                  if ( ip==0 && tdc2bar == tdc1bar) tdcbarx1_save=tdc2bar;
+                  if ( ip==1 && tdc2bar == tdc1bar) tdcbary1_save=tdc2bar;
+                  if ( ip==2 && tdc2bar == tdc1bar) tdcbarx2_save=tdc2bar;
+                  if ( ip==3 && tdc2bar == tdc1bar) tdcbary2_save=tdc2bar;
+		}
+		}
+		  //
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][0]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][0][tdc1_ihit]) - 1;
+		Double_t tdc1val = tdc_values[ip][0][0][tdc1_ihit];
+		for(Int_t tdc3_ihit = 0; tdc3_ihit < ntdchits[pair_pl[ip]][0]; tdc3_ihit++)  {
+ 		UInt_t tdc3bar = TMath::Nint(tdc_paddles[pair_pl[ip]][0][tdc3_ihit]) - 1;
+		for(Int_t tdc4_ihit = 0; tdc4_ihit < ntdchits[pair_pl[ip]][1]; tdc4_ihit++)  {
+		  UInt_t tdc4bar = TMath::Nint(tdc_paddles[pair_pl[ip]][1][tdc4_ihit]) - 1;
+		  if (tdc3bar == tdc4bar) htdc_dis[ip*MAXBARS+tdc1bar][0]->Fill(float(tdc4bar+1),tdc1val);
+		}}		  
+		}
+		//
+		  //
+		for(Int_t tdc2_ihit = 0; tdc2_ihit < ntdchits[ip][1]; tdc2_ihit++)  {
+ 		UInt_t tdc2bar = TMath::Nint(tdc_paddles[ip][1][tdc2_ihit]) - 1;
+		Double_t tdc2val = tdc_values[ip][1][0][tdc2_ihit];
+		for(Int_t tdc3_ihit = 0; tdc3_ihit < ntdchits[pair_pl[ip]][0]; tdc3_ihit++)  {
+ 		UInt_t tdc3bar = TMath::Nint(tdc_paddles[pair_pl[ip]][0][tdc3_ihit]) - 1;
+		for(Int_t tdc4_ihit = 0; tdc4_ihit < ntdchits[pair_pl[ip]][1]; tdc4_ihit++)  {
+		  UInt_t tdc4bar = TMath::Nint(tdc_paddles[pair_pl[ip]][1][tdc4_ihit]) - 1;
+		  if (tdc3bar == tdc4bar) htdc_dis[ip*MAXBARS+tdc2bar][1]->Fill(float(tdc4bar+1),tdc2val);
+		}}		  
+		}
+		//
+	}
+    
+        for(UInt_t ip = 0; ip < NPLANES; ip++) {
+		//
+		for(Int_t adc1_ihit = 0; adc1_ihit < nadchits[ip][0]; adc1_ihit++)  {
+ 		UInt_t adc1bar = TMath::Nint(adc_paddles[ip][0][adc1_ihit]) - 1;
+		Double_t adc1val = adc_values[ip][0][2][adc1_ihit]*adcbit_to_pC;
+		Double_t adc1pval = adc_values[ip][0][4][adc1_ihit]*adcpeak_to_mV*fac_for_disc[ip];
+		Double_t adc1tval = adc_values[ip][0][6][adc1_ihit];
+		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][1]; adc2_ihit++)  {
+		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][1][adc2_ihit]) - 1;
+		  Double_t adc2val =adc_values[ip][1][2][adc2_ihit]*adcbit_to_pC;
+		  Double_t adc2pval =adc_values[ip][1][4][adc2_ihit]*adcpeak_to_mV*fac_for_disc[ip];
+		  Double_t adc2tval =adc_values[ip][1][6][adc2_ihit];
+		  if (ip*MAXBARS+adc1bar > NPLANES*MAXBARS)           cout << iev << " " << adc1_ihit << " " << adc1tval << " " << adc1bar << " adc 2 = " << adc2_ihit << " " << adc2tval   << " " << adc2bar << endl;
+		  //		          cout << iev << " " << adc1_ihit << " " << adc1tval << " " << adc1bar << " adc 2 = " << adc2_ihit << " " << adc2tval   << " " << adc2bar << endl;
+		  if ( adc2bar == adc1bar) hadc_adc[ip*MAXBARS+adc1bar]->Fill(adc1pval,adc2pval);
+		  if ( adc2bar == adc1bar && TMath::Abs(tdcbarx1_save-tdcbarx2_save)<2) hadc_adc_cut[ip*MAXBARS+adc1bar]->Fill(adc1pval,adc2pval);
+		  if ( adc2bar == adc1bar) hadcint_adcint[ip*MAXBARS+adc1bar]->Fill(adc1val,adc2val);
+		  if ( adc2bar == adc1bar && TMath::Abs(tdcbarx1_save-tdcbarx2_save)<2) hadcint_adcint_cut[ip*MAXBARS+adc1bar]->Fill(adc1val,adc2val);
+		  if ( adc2bar == adc1bar) hatdc_atdc[ip*MAXBARS+adc1bar]->Fill(adc1tval,adc2tval);
+		}
+		}
+	}
+    //
+
+     //
+     for(UInt_t ip = 0; ip < NPLANES; ip++) {
+      for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	//
+	      UInt_t hindex_base = ip*NSIDES*MAXBARS+iside*MAXBARS;
+	      //		cout << " pl = " << ip+1 << " side = " << iside << " number of adc hits = " << nadchits[ip][iside] << " number of tdc hits = " << nadchits[ip][iside] << endl;
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][iside]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][iside][tdc1_ihit]) - 1;
+		Double_t tdc1val = tdc_values[ip][iside][0][tdc1_ihit];
+		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][iside]; adc2_ihit++)  {
+		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][iside][adc2_ihit]) - 1;
+		  Double_t adc2val =adc_values[ip][iside][4][adc2_ihit]*adcpeak_to_mV;
+		  //	  Double_t adc2val =adc_values[ip][iside][2][adc2_ihit]*adcbit_to_pC;
+		 
+		  if (hindex_base+adc2bar > NPLANES*NSIDES*MAXBARS)                    cout  << " adc2bar too large " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " adc 2 = " << adc2_ihit << " " << adc2val   << " " << adc2bar << endl;
+		  //	                          cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " adc 2 = " << adc2_ihit << " " << adc2val   << " " << adc2bar << endl;
+		  if (tdc1bar==adc2bar) htdc_adc[hindex_base+adc2bar]->Fill(tdc1val,adc2val);
+		}
+		}
+	//
+      }
+     }
+    }
+     //     cout  << " finish event = " << iev << endl; 
+  }
+  return;
+}
+
+void rawdraw_2d_phodo(TString histname) {
+
+  TH1F* h;
+
+  h = (TH1F*) gDirectory->Get(histname);
+  if(!h) {
+    UserScript();
+    h = (TH1F*) gDirectory->Get(histname);
+    if(!h) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  TLine *pline = new TLine(0,30.,800.,30.);
+  TLine *pline2 = new TLine(30,0.,30.,800.);
+  // cout << histname.Contains("adcpeak") << endl;
+  h->SetStats(0);
+  h->Draw("colz");
+  if (histname.Contains("adcpeak")) {
+    pline->Draw();
+    pline->SetLineColor(2);
+    pline->SetLineWidth(3);
+    pline2->Draw();
+    pline2->SetLineColor(2);
+    pline2->SetLineWidth(3);
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+  if (histname.Contains("adcint")) {
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+}
+
diff --git a/onlineGUI/Macros/rawdraw_hhodo.C b/onlineGUI/Macros/rawdraw_hhodo.C
new file mode 100755
index 00000000..56d013a3
--- /dev/null
+++ b/onlineGUI/Macros/rawdraw_hhodo.C
@@ -0,0 +1,349 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 32;  // FIX ME: Parameter should be 16
+  const UInt_t NSIGNALS = 2;
+  const UInt_t NADCSIGNALS = 7;
+  const UInt_t NTDCSIGNALS = 2;
+
+  const TString SPECTROMETER = "H";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const UInt_t  nbars[NPLANES] = {16, 10, 16, 10};
+  const TString sides[NSIDES] = {"neg", "pos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"Ped", "PedRaw", "PulseInt", "PulseIntRaw", 
+					    "PulseAmp", "PulseAmpRaw", "PulseTimeRaw"};
+  const TString tdc_signals[NTDCSIGNALS] = {"Time", "TimeRaw"};
+  
+  const Double_t ADCPED_MIN   = 400.0;
+  const Double_t ADCPED_MAX   = 600.0;
+  const Int_t    ADCPED_NBINS = 200;
+
+  const Double_t ADCPEDRAW_MIN   = 1700.0;
+  const Double_t ADCPEDRAW_MAX   = 2300.0;
+  const Int_t    ADCPEDRAW_NBINS = 600;
+
+  const Double_t ADCINT_MIN   = 0.0;
+  const Double_t ADCINT_MAX   = 25000.0;
+  const Int_t    ADCINT_NBINS = 2500;
+
+  const Double_t ADCINTRAW_MIN   = 0.0;
+  const Double_t ADCINTRAW_MAX   = 25000.0;
+  const Int_t    ADCINTRAW_NBINS = 2500;
+
+  const Double_t ADCAMP_MIN   = 0.0;
+  const Double_t ADCAMP_MAX   = 4100.0;
+  const Int_t    ADCAMP_NBINS = 410;
+
+  const Double_t ADCAMPRAW_MIN   = 0.0;
+  const Double_t ADCAMPRAW_MAX   = 4100.0;
+  const Int_t    ADCAMPRAW_NBINS = 410;
+
+  const Double_t ADCPTRAW_MIN   = 500.0;
+  const Double_t ADCPTRAW_MAX   = 2500.0;
+  const Int_t    ADCPTRAW_NBINS = 200;
+
+  const Double_t TDC_MIN   = -1200.0;
+  const Double_t TDC_MAX   = -800.0;
+  const Int_t    TDC_NBINS = 40;
+
+  const Double_t RAWTDC_MIN   = 3250.0;
+  const Double_t RAWTDC_MAX   = 4250.0;
+  const Int_t    RAWTDC_NBINS = 100;
+
+  Int_t nadchits[NPLANES][NSIDES][NSIGNALS];
+  Int_t ntdchits[NPLANES][NSIDES][NSIGNALS];
+
+  Double_t adc_paddles[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+  Double_t tdc_paddles[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+
+  Double_t ped_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  Double_t pedraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+
+  Double_t int_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  Double_t intraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  
+  Double_t amp_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  Double_t ampraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  
+  Double_t ptraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+
+  Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXBARS];
+  Double_t tdcraw_values[NPLANES][NSIDES][NTDCSIGNALS][MAXBARS];
+
+  TH1F* hadc[NPLANES*NSIDES*NADCSIGNALS*MAXBARS];
+  TH1F* htdc[NPLANES*NSIDES*NTDCSIGNALS*MAXBARS];
+
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+      for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	if(signals[isignal] == "Adc") {  
+	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside][isignal]);
+	  TString adc_paddle_name = adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    if (adc_signals[iadcsignal] == "Ped") {
+	      TString pedlist_name = adc_base_name+"Ped";
+	      T->SetBranchAddress(pedlist_name, &ped_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PedRaw") {
+	      TString pedrawlist_name = adc_base_name+"PedRaw";
+	      T->SetBranchAddress(pedrawlist_name, &pedraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseInt") {   
+	      TString intlist_name = adc_base_name+"PulseInt";
+	      T->SetBranchAddress(intlist_name, &int_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseIntRaw") {
+	      TString intrawlist_name = adc_base_name+"PulseIntRaw";
+	      T->SetBranchAddress(intrawlist_name, &intraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmp") {   
+	      TString amplist_name = adc_base_name+"PulseAmp";
+	      T->SetBranchAddress(amplist_name, &amp_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+	      TString amprawlist_name = adc_base_name+"PulseAmpRaw";
+	      T->SetBranchAddress(amprawlist_name, &ampraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+	      TString ptrawlist_name = adc_base_name+"PulseTimeRaw";
+	      T->SetBranchAddress(ptrawlist_name, &ptraw_values[ip][iside][iadcsignal][0]);
+	    }
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString tdc_ndata_name = "Ndata."+tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_ndata_name, &ntdchits[ip][iside][isignal]);
+	  TString tdc_paddle_name = tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    if (tdc_signals[itdcsignal] == "Time") {
+	      TString tdclist_name = tdc_base_name+"Time";
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	    if (tdc_signals[itdcsignal] == "TimeRaw") {
+	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
+	      T->SetBranchAddress(tdcrawlist_name, &tdcraw_values[ip][iside][itdcsignal][0]);
+	    }
+	  }
+	}
+
+	if(signals[isignal] == "Adc") {
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t hadcindex = ip*NSIDES*NADCSIGNALS*MAXBARS
+		+iside*NADCSIGNALS*MAXBARS+iadcsignal*MAXBARS+ibar;
+	      TString iadcbarname = Form("%d",ibar+1);
+	      TString adctitle= "hadc"+plane_names[ip]+iadcbarname+sides[iside]
+		+" "+adc_signals[iadcsignal];
+	      TString adcname="uhadc"+plane_names[ip]+iadcbarname+sides[iside]+
+		adc_signals[iadcsignal];
+
+	      if (adc_signals[iadcsignal] == "Ped") {
+		UInt_t   nadcbins = ADCPED_NBINS;
+		Double_t hadcmin  = ADCPED_MIN;
+		Double_t hadcmax  = ADCPED_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PedRaw") {
+		UInt_t   nadcbins = ADCPEDRAW_NBINS;
+		Double_t hadcmin  = ADCPEDRAW_MIN;
+		Double_t hadcmax  = ADCPEDRAW_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseInt") {
+		UInt_t   nadcbins = ADCINT_NBINS;
+		Double_t hadcmin  = ADCINT_MIN;
+		Double_t hadcmax  = ADCINT_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseIntRaw") {
+		UInt_t   nadcbins = ADCINTRAW_NBINS;
+		Double_t hadcmin  = ADCINTRAW_MIN;
+		Double_t hadcmax  = ADCINTRAW_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseAmp") {
+		UInt_t   nadcbins = ADCAMP_NBINS;
+		Double_t hadcmin  = ADCAMP_MIN;
+		Double_t hadcmax  = ADCAMP_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+		UInt_t   nadcbins = ADCAMPRAW_NBINS;
+		Double_t hadcmin  = ADCAMPRAW_MIN;
+		Double_t hadcmax  = ADCAMPRAW_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+		UInt_t   nadcbins = ADCPTRAW_NBINS;
+		Double_t hadcmin  = ADCPTRAW_MIN;
+		Double_t hadcmax  = ADCPTRAW_MAX;
+	      }
+	      hadc[hadcindex]=new TH1F(adcname, adctitle, nadcbins, hadcmin, hadcmax);
+	    }
+	  }
+	}
+
+	if(signals[isignal] == "Tdc") {
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t htdcindex = ip*NSIDES*NTDCSIGNALS*MAXBARS
+		+iside*NTDCSIGNALS*MAXBARS+itdcsignal*MAXBARS+ibar;
+	      TString itdcbarname = Form("%d",ibar+1);
+	      TString tdctitle= "htdc"+plane_names[ip]+itdcbarname+sides[iside]
+		+" "+tdc_signals[itdcsignal];
+	      TString tdcname="uhtdc"+plane_names[ip]+itdcbarname+sides[iside]+
+		tdc_signals[itdcsignal];
+
+	      if (tdc_signals[itdcsignal] == "TimeRaw") {
+		UInt_t   ntdcbins = RAWTDC_NBINS;
+		Double_t htdcmin  = RAWTDC_MIN;
+		Double_t htdcmax  = RAWTDC_MAX;
+	      }
+	      if (tdc_signals[itdcsignal] == "Time") {
+		UInt_t   ntdcbins = TDC_NBINS;
+		Double_t htdcmin  = TDC_MIN;
+		Double_t htdcmax  = TDC_MAX;
+	      }
+	      htdc[htdcindex]=new TH1F(tdcname, tdctitle, ntdcbins, htdcmin, htdcmax);
+	    }
+	  }
+	}
+      }
+    }
+  }
+
+  // Loop over the events, filling the histograms
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    T->GetEntry(iev);
+
+     for(UInt_t ip = 0; ip < NPLANES; ip++) {
+      for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+     
+	  if(signals[isignal] == "Adc") {
+	    for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+
+	      UInt_t hadcindex_base = ip*NSIDES*NADCSIGNALS*MAXBARS
+		+iside*NADCSIGNALS*MAXBARS+iadcsignal*MAXBARS;
+
+	      for(Int_t adc_ihit = 0; adc_ihit < nadchits[ip][iside][isignal]; adc_ihit++) {
+
+		UInt_t ibar = TMath::Nint(adc_paddles[ip][iside][isignal][adc_ihit]) - 1;
+
+		if (adc_signals[iadcsignal] == "Ped")
+		  Double_t pedval = ped_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PedRaw")  
+		  Double_t pedrawval = pedraw_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseInt")
+		  Double_t intval = int_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseIntRaw")  
+		  Double_t intrawval = intraw_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseAmp")
+		  Double_t ampval = amp_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseAmpRaw")  
+		  Double_t amprawval = ampraw_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseTimeRaw")  
+		  Double_t ptrawval = ptraw_values[ip][iside][iadcsignal][adc_ihit];
+		
+		UInt_t hadcindex = hadcindex_base + ibar;
+
+		// cout << "hadcindex = " << hadcindex << endl;
+
+                if (hadcindex < NPLANES*NSIDES*NADCSIGNALS*MAXBARS) {
+		  if (adc_signals[iadcsignal] == "Ped") {
+		    // cout << "pedval = " << pedval << endl;
+		    hadc[hadcindex]->Fill(pedval);
+		  }
+		  if (adc_signals[iadcsignal] == "PedRaw") {
+		    // cout << "pedrawval = " << pedrawval << endl;
+		    hadc[hadcindex]->Fill(pedrawval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseInt") {
+		    // cout << "intval = " << intval << endl;
+		    hadc[hadcindex]->Fill(intval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseIntRaw") {
+		    // cout << "intrawval = " << intrawval << endl;
+		    hadc[hadcindex]->Fill(intrawval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseAmp") {
+		    // cout << "ampval = " << ampval << endl;
+		    hadc[hadcindex]->Fill(ampval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+		    // cout << "amprawval = " << amprawval << endl;
+		    hadc[hadcindex]->Fill(amprawval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+		    // cout << "ptrawval = " << ptrawval << endl;
+		    hadc[hadcindex]->Fill(ptrawval);
+		  }
+		}
+	      }
+	    }
+	  }
+
+	  if(signals[isignal] == "Tdc") {
+	    for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+
+	      UInt_t htdcindex_base = ip*NSIDES*NTDCSIGNALS*MAXBARS
+		+iside*NTDCSIGNALS*MAXBARS+itdcsignal*MAXBARS;
+
+	      for(Int_t tdc_ihit = 0; tdc_ihit < ntdchits[ip][iside][isignal]; tdc_ihit++) {
+
+		UInt_t ibar = TMath::Nint(tdc_paddles[ip][iside][isignal][tdc_ihit]) - 1;
+
+		Double_t tdcval = tdc_values[ip][iside][itdcsignal][tdc_ihit];
+		Double_t tdcrawval = tdcraw_values[ip][iside][itdcsignal][tdc_ihit];
+		UInt_t htdcindex = htdcindex_base + ibar;
+
+		if (tdc_signals[itdcsignal] == "Time") {
+		  // cout << "Time = " << tdcval << endl;
+		  htdc[htdcindex]->Fill(tdcval);
+		}
+		if (tdc_signals[itdcsignal] == "TimeRaw") {
+		  // cout << "RawTime = " << tdcrawval << endl;
+		  htdc[htdcindex]->Fill(tdcrawval);
+		}
+	      }
+	    }
+	  }
+	}
+      }
+    }
+  }
+  return;
+}
+
+void rawdraw_hhodo(TString histname) {
+
+  TH1F* h;
+
+  h = (TH1F*) gDirectory->Get(histname);
+  if(!h) {
+    UserScript();
+    h = (TH1F*) gDirectory->Get(histname);
+    if(!h) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  h->Draw();
+}
+
diff --git a/onlineGUI/Macros/rawdraw_phodo.C b/onlineGUI/Macros/rawdraw_phodo.C
new file mode 100755
index 00000000..077221f4
--- /dev/null
+++ b/onlineGUI/Macros/rawdraw_phodo.C
@@ -0,0 +1,349 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 100;  // FIX ME: Parameter should be 21
+  const UInt_t NSIGNALS = 2;
+  const UInt_t NADCSIGNALS = 7;
+  const UInt_t NTDCSIGNALS = 2;
+
+  const TString SPECTROMETER = "P";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const UInt_t  nbars[NPLANES] = {13, 13, 14, 21};
+  const TString sides[NSIDES] = {"neg", "pos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"Ped", "PedRaw", "PulseInt", "PulseIntRaw", 
+					    "PulseAmp", "PulseAmpRaw", "PulseTimeRaw"};
+  const TString tdc_signals[NTDCSIGNALS] = {"Time", "TimeRaw"};
+  
+  const Double_t ADCPED_MIN   = 400.0;
+  const Double_t ADCPED_MAX   = 600.0;
+  const Int_t    ADCPED_NBINS = 200;
+
+  const Double_t ADCPEDRAW_MIN   = 1700.0;
+  const Double_t ADCPEDRAW_MAX   = 2300.0;
+  const Int_t    ADCPEDRAW_NBINS = 600;
+
+  const Double_t ADCINT_MIN   = 0.0;
+  const Double_t ADCINT_MAX   = 25000.0;
+  const Int_t    ADCINT_NBINS = 2500;
+
+  const Double_t ADCINTRAW_MIN   = 0.0;
+  const Double_t ADCINTRAW_MAX   = 25000.0;
+  const Int_t    ADCINTRAW_NBINS = 2500;
+
+  const Double_t ADCAMP_MIN   = 0.0;
+  const Double_t ADCAMP_MAX   = 4100.0;
+  const Int_t    ADCAMP_NBINS = 410;
+
+  const Double_t ADCAMPRAW_MIN   = 0.0;
+  const Double_t ADCAMPRAW_MAX   = 4100.0;
+  const Int_t    ADCAMPRAW_NBINS = 410;
+
+  const Double_t ADCPTRAW_MIN   = 500.0;
+  const Double_t ADCPTRAW_MAX   = 2500.0;
+  const Int_t    ADCPTRAW_NBINS = 200;
+
+  const Double_t TDC_MIN   = -1800.0;
+  const Double_t TDC_MAX   = -600.0;
+  const Int_t    TDC_NBINS = 120;
+
+  const Double_t RAWTDC_MIN   = 4000.0;
+  const Double_t RAWTDC_MAX   = 7000.0;
+  const Int_t    RAWTDC_NBINS = 300;
+
+  Int_t nadchits[NPLANES][NSIDES][NSIGNALS];
+  Int_t ntdchits[NPLANES][NSIDES][NSIGNALS];
+
+  Double_t adc_paddles[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+  Double_t tdc_paddles[NPLANES][NSIDES][NSIGNALS][MAXBARS];
+
+  Double_t ped_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  Double_t pedraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+
+  Double_t int_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  Double_t intraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  
+  Double_t amp_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  Double_t ampraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+  
+  Double_t ptraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXBARS];
+
+  Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXBARS];
+  Double_t tdcraw_values[NPLANES][NSIDES][NTDCSIGNALS][MAXBARS];
+
+  TH1F* hadc[NPLANES*NSIDES*NADCSIGNALS*MAXBARS];
+  TH1F* htdc[NPLANES*NSIDES*NTDCSIGNALS*MAXBARS];
+
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+      for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+
+	if(signals[isignal] == "Adc") {  
+	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside][isignal]);
+	  TString adc_paddle_name = adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    if (adc_signals[iadcsignal] == "Ped") {
+	      TString pedlist_name = adc_base_name+"Ped";
+	      T->SetBranchAddress(pedlist_name, &ped_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PedRaw") {
+	      TString pedrawlist_name = adc_base_name+"PedRaw";
+	      T->SetBranchAddress(pedrawlist_name, &pedraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseInt") {   
+	      TString intlist_name = adc_base_name+"PulseInt";
+	      T->SetBranchAddress(intlist_name, &int_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseIntRaw") {
+	      TString intrawlist_name = adc_base_name+"PulseIntRaw";
+	      T->SetBranchAddress(intrawlist_name, &intraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmp") {   
+	      TString amplist_name = adc_base_name+"PulseAmp";
+	      T->SetBranchAddress(amplist_name, &amp_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+	      TString amprawlist_name = adc_base_name+"PulseAmpRaw";
+	      T->SetBranchAddress(amprawlist_name, &ampraw_values[ip][iside][iadcsignal][0]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+	      TString ptrawlist_name = adc_base_name+"PulseTimeRaw";
+	      T->SetBranchAddress(ptrawlist_name, &ptraw_values[ip][iside][iadcsignal][0]);
+	    }
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
+	    plane_names[ip]+"."+sides[iside]+signals[isignal];
+	  TString tdc_ndata_name = "Ndata."+tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_ndata_name, &ntdchits[ip][iside][isignal]);
+	  TString tdc_paddle_name = tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    if (tdc_signals[itdcsignal] == "Time") {
+	      TString tdclist_name = tdc_base_name+"Time";
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	    if (tdc_signals[itdcsignal] == "TimeRaw") {
+	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
+	      T->SetBranchAddress(tdcrawlist_name, &tdcraw_values[ip][iside][itdcsignal][0]);
+	    }
+	  }
+	}
+
+	if(signals[isignal] == "Adc") {
+	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t hadcindex = ip*NSIDES*NADCSIGNALS*MAXBARS
+		+iside*NADCSIGNALS*MAXBARS+iadcsignal*MAXBARS+ibar;
+	      TString iadcbarname = Form("%d",ibar+1);
+	      TString adctitle= "hadc"+plane_names[ip]+iadcbarname+sides[iside]
+		+" "+adc_signals[iadcsignal];
+	      TString adcname="uhadc"+plane_names[ip]+iadcbarname+sides[iside]+
+		adc_signals[iadcsignal];
+
+	      if (adc_signals[iadcsignal] == "Ped") {
+		UInt_t   nadcbins = ADCPED_NBINS;
+		Double_t hadcmin  = ADCPED_MIN;
+		Double_t hadcmax  = ADCPED_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PedRaw") {
+		UInt_t   nadcbins = ADCPEDRAW_NBINS;
+		Double_t hadcmin  = ADCPEDRAW_MIN;
+		Double_t hadcmax  = ADCPEDRAW_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseInt") {
+		UInt_t   nadcbins = ADCINT_NBINS;
+		Double_t hadcmin  = ADCINT_MIN;
+		Double_t hadcmax  = ADCINT_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseIntRaw") {
+		UInt_t   nadcbins = ADCINTRAW_NBINS;
+		Double_t hadcmin  = ADCINTRAW_MIN;
+		Double_t hadcmax  = ADCINTRAW_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseAmp") {
+		UInt_t   nadcbins = ADCAMP_NBINS;
+		Double_t hadcmin  = ADCAMP_MIN;
+		Double_t hadcmax  = ADCAMP_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+		UInt_t   nadcbins = ADCAMPRAW_NBINS;
+		Double_t hadcmin  = ADCAMPRAW_MIN;
+		Double_t hadcmax  = ADCAMPRAW_MAX;
+	      }
+	      if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+		UInt_t   nadcbins = ADCPTRAW_NBINS;
+		Double_t hadcmin  = ADCPTRAW_MIN;
+		Double_t hadcmax  = ADCPTRAW_MAX;
+	      }
+	      hadc[hadcindex]=new TH1F(adcname, adctitle, nadcbins, hadcmin, hadcmax);
+	    }
+	  }
+	}
+
+	if(signals[isignal] == "Tdc") {
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      UInt_t htdcindex = ip*NSIDES*NTDCSIGNALS*MAXBARS
+		+iside*NTDCSIGNALS*MAXBARS+itdcsignal*MAXBARS+ibar;
+	      TString itdcbarname = Form("%d",ibar+1);
+	      TString tdctitle= "htdc"+plane_names[ip]+itdcbarname+sides[iside]
+		+" "+tdc_signals[itdcsignal];
+	      TString tdcname="uhtdc"+plane_names[ip]+itdcbarname+sides[iside]+
+		tdc_signals[itdcsignal];
+
+	      if (tdc_signals[itdcsignal] == "TimeRaw") {
+		UInt_t   ntdcbins = RAWTDC_NBINS;
+		Double_t htdcmin  = RAWTDC_MIN;
+		Double_t htdcmax  = RAWTDC_MAX;
+	      }
+	      if (tdc_signals[itdcsignal] == "Time") {
+		UInt_t   ntdcbins = TDC_NBINS;
+		Double_t htdcmin  = TDC_MIN;
+		Double_t htdcmax  = TDC_MAX;
+	      }
+	      htdc[htdcindex]=new TH1F(tdcname, tdctitle, ntdcbins, htdcmin, htdcmax);
+	    }
+	  }
+	}
+      }
+    }
+  }
+
+  // Loop over the events, filling the histograms
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    T->GetEntry(iev);
+
+     for(UInt_t ip = 0; ip < NPLANES; ip++) {
+      for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) {
+     
+	  if(signals[isignal] == "Adc") {
+	    for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
+
+	      UInt_t hadcindex_base = ip*NSIDES*NADCSIGNALS*MAXBARS
+		+iside*NADCSIGNALS*MAXBARS+iadcsignal*MAXBARS;
+
+	      for(Int_t adc_ihit = 0; adc_ihit < nadchits[ip][iside][isignal]; adc_ihit++) {
+
+		UInt_t ibar = TMath::Nint(adc_paddles[ip][iside][isignal][adc_ihit]) - 1;
+
+		if (adc_signals[iadcsignal] == "Ped")
+		  Double_t pedval = ped_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PedRaw")  
+		  Double_t pedrawval = pedraw_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseInt")
+		  Double_t intval = int_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseIntRaw")  
+		  Double_t intrawval = intraw_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseAmp")
+		  Double_t ampval = amp_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseAmpRaw")  
+		  Double_t amprawval = ampraw_values[ip][iside][iadcsignal][adc_ihit];
+		if (adc_signals[iadcsignal] == "PulseTimeRaw")  
+		  Double_t ptrawval = ptraw_values[ip][iside][iadcsignal][adc_ihit];
+		
+		UInt_t hadcindex = hadcindex_base + ibar;
+
+		// cout << "hadcindex = " << hadcindex << endl;
+		
+		if (hadcindex < NPLANES*NSIDES*NADCSIGNALS*MAXBARS) {
+		  if (adc_signals[iadcsignal] == "Ped") {
+		    // cout << "pedval = " << pedval << endl;
+		    hadc[hadcindex]->Fill(pedval);
+		  }
+		  if (adc_signals[iadcsignal] == "PedRaw") {
+		    // cout << "pedrawval = " << pedrawval << endl;
+		    hadc[hadcindex]->Fill(pedrawval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseInt") {
+		    // cout << "intval = " << intval << endl;
+		    hadc[hadcindex]->Fill(intval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseIntRaw") {
+		    // cout << "intrawval = " << intrawval << endl;
+		    hadc[hadcindex]->Fill(intrawval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseAmp") {
+		    // cout << "ampval = " << ampval << endl;
+		    hadc[hadcindex]->Fill(ampval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+		    // cout << "amprawval = " << amprawval << endl;
+		    hadc[hadcindex]->Fill(amprawval);
+		  }
+		  if (adc_signals[iadcsignal] == "PulseTimeRaw") {
+		    // cout << "ptrawval = " << ptrawval << endl;
+		    hadc[hadcindex]->Fill(ptrawval);
+		  }
+		}
+	      }
+	    }
+	  }
+
+	  if(signals[isignal] == "Tdc") {
+	    for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+
+	      UInt_t htdcindex_base = ip*NSIDES*NTDCSIGNALS*MAXBARS
+		+iside*NTDCSIGNALS*MAXBARS+itdcsignal*MAXBARS;
+
+	      for(Int_t tdc_ihit = 0; tdc_ihit < ntdchits[ip][iside][isignal]; tdc_ihit++) {
+
+		UInt_t ibar = TMath::Nint(tdc_paddles[ip][iside][isignal][tdc_ihit]) - 1;
+
+		Double_t tdcval = tdc_values[ip][iside][itdcsignal][tdc_ihit];
+		Double_t tdcrawval = tdcraw_values[ip][iside][itdcsignal][tdc_ihit];
+		UInt_t htdcindex = htdcindex_base + ibar;
+
+		if (tdc_signals[itdcsignal] == "Time") {
+		  // cout << "Time = " << tdcval << endl;
+		  htdc[htdcindex]->Fill(tdcval);
+		}
+		if (tdc_signals[itdcsignal] == "TimeRaw") {
+		  // cout << "RawTime = " << tdcrawval << endl;
+		  htdc[htdcindex]->Fill(tdcrawval);
+		}
+	      }
+	    }
+	  }
+	}
+      }
+    }
+  }
+  return;
+}
+
+void rawdraw_phodo(TString histname) {
+
+  TH1F* h;
+
+  h = (TH1F*) gDirectory->Get(histname);
+  if(!h) {
+    UserScript();
+    h = (TH1F*) gDirectory->Get(histname);
+    if(!h) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  h->Draw();
+}
+
diff --git a/onlineGUI/README.md b/onlineGUI/README.md
new file mode 100644
index 00000000..2f31aaf6
--- /dev/null
+++ b/onlineGUI/README.md
@@ -0,0 +1,37 @@
+onlineGUI
+============================================
+This is the GUI that is used for the monitoring of online replay.
+
+Directory structure
+----------------------
+* Config : directory with the  onlineGUI configuration files
+  *Files in Config:
+    *HMS/HODO/raw_hhodoana.cfg (Plots standard  hisotgrams in DEF-files/HMS/HODO/hhodoana.def )
+    *SHMS/HODO/raw_phodoana.cfg (Plots standard  hisotgrams in DEF-files/SHMS/HODO/phodoana.def )
+    *HMS/HODO/raw_hhodo_2d.cfg (2d plots of Good HMS Hodoscope data, efficiency plots)
+    *HMS/HODO/good_hhodo_2d.cfg (2d plots of Good HMS Hodoscope data, efficiency plots)
+    *SHMS/HODO/good_phodo_2d.cfg (2d of Good SHMS Hodoscope data, efficiency plots)
+* Macros : directory with root macros that can be called by the onlineGUI code
+  * Files in Macro: 
+    * overlay.C (script to overlay 2 histograms)
+    * rawdraw_2d_hhodo.C ( Used by raw_hhodo_2d.cfg)
+    * rawdraw_2d_phodo.C ( Used by raw_phodo_2d.cfg)
+    * gooddraw_2d_hhodo.C ( Used by good_hhodo_2d.cfg)
+    * gooddraw_2d_phodo.C ( Used by good_phodo_2d.cfg)
+    * hodo_efficiency.C ( Used by good_phodo_2d.cfg,good_hhodo_2d.cfg)
+* onlineGUI_v1.2.1: directory with the online.c and other files.
+
+Compiling code
+----------------------
+* In onlineGUI_v1.2.1 directory type: make
+* executable "online" is created in the onlineGUI directory
+
+Documentation and Running the code
+----------------
+* The pdf file  guiHOWTO2007.pdf documents how to use the code
+* One method to run the code is:
+  * online -f Config/hmsdc.cfg -r 60
+  * "60" is the run number
+  * This assumes that hmsdc.cfg as a line such as:protorootfile ../ROOTfiles/hms1190_XXXXX.root
+
+
diff --git a/onlineGUI/onlineGUI_v1.2.1/Makefile b/onlineGUI/onlineGUI_v1.2.1/Makefile
index 51e80b0e..0fee22ee 100644
--- a/onlineGUI/onlineGUI_v1.2.1/Makefile
+++ b/onlineGUI/onlineGUI_v1.2.1/Makefile
@@ -1,6 +1,6 @@
 # Makefile for standalone version of panguin/onlineGUI
-#  - B. Moffit 
-# 
+#  - B. Moffit
+#
 
 # Choose the compiler.
 GCC=g++
@@ -10,14 +10,15 @@ ifdef INSURE
   GLD=insure
 endif
 
+ROOTMVERSION  = $(shell root-config --version | cut -f1 -d.)
 ROOTLIBS      = $(shell root-config --libs)
 ROOTGLIBS     = $(shell root-config --glibs)
 INCLUDES      = -I$(ROOTSYS)/include
 CXX           = $(GCC)
 CXXFLAGS      = -Wall -fno-exceptions -fPIC $(INCLUDES) -fpermissive
 LD            = $(GLD)
-LDFLAGS       = 
-SOFLAGS       = -shared 
+LDFLAGS       =
+SOFLAGS       = -shared
 GLIBS         = $(ROOTGLIBS) -L/usr/X11R6/lib -lXpm -lX11
 LIBS          = $(GLIBS) $(ROOTLIBS) $(ROOTGLIBS)
 
@@ -25,9 +26,13 @@ MAKEDEPEND    = $(GCC)
 
 ALL_LIBS = $(LIBS)
 
-
 CXXFLAGS += -DSTANDALONE
 
+ifeq ($(ROOTMVERSION), 6)
+	CXXFLAGS += -std=c++11
+	MAKEDEPEND += -std=c++11
+endif
+
 # Insert extra headers needed by GetRootFileName.C or GetRunNumber.C
 ifdef PAN_SRC_PATH
 	PANSRCPATH = $(PAN_SRC_PATH)
@@ -42,7 +47,7 @@ endif
 
 SRC = online.C
 DEPS = $(SRC:.C=.d)
-OBJS = $(SRC:.C=.o) 
+OBJS = $(SRC:.C=.o)
 HEAD = $(SRC:.C=.h)
 
 # Make the dictionary
@@ -54,12 +59,12 @@ PROGS = online
 install: all
 	 mv $(PROGS) ../
 
-all: $(PROGS) 
+all: $(PROGS)
 
-$(PROGS): $(OBJS) $(SRC) $(HEAD) 
+$(PROGS): $(OBJS) $(SRC) $(HEAD)
 	rm -f $@
 	@echo "Generating" $@
-	$(LD) $(CXXFLAGS) -o $@ $(OBJS) $(ALL_LIBS) 
+	$(LD) $(CXXFLAGS) -o $@ $(OBJS) $(ALL_LIBS)
 
 # Dictionary
 onlineDict.C: $(DOBJS) onlineLinkDef.h
@@ -71,7 +76,7 @@ clean:
 	rm -f *.o core *~ *.d *.tar *.so  *Dict* $(PROGS)
 
 realclean:  clean
-	rm -f *.d ../$(PROGS) 
+	rm -f *.d ../$(PROGS)
 
 .SUFFIXES:
 .SUFFIXES: .c .cc .cpp .C .o .d
@@ -87,5 +92,3 @@ realclean:  clean
 	      [ -s $@ ] || rm -f $@'
 
 -include $(DEPS)
-
-
diff --git a/onlineGUI/onlineGUI_v1.2.1/guiHOWTO2007.pdf b/onlineGUI/onlineGUI_v1.2.1/guiHOWTO2007.pdf
deleted file mode 100644
index 254bcfaefa1a588802bf9009961886d572a65bc0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 157338
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

diff --git a/onlineGUI/onlineGUI_v1.2.1/online.C b/onlineGUI/onlineGUI_v1.2.1/online.C
old mode 100644
new mode 100755
index f397908e..ad2a619c
--- a/onlineGUI/onlineGUI_v1.2.1/online.C
+++ b/onlineGUI/onlineGUI_v1.2.1/online.C
@@ -1,2015 +1,2083 @@
-///////////////////////////////////////////////////////////////////
-//  Macro to help with online analysis
-//    B. Moffit (moffit@jlab.org)
-//    - Originally written in Oct. 2003
-//  Documentation and updates available at:
-//    http://www.jlab.org/~moffit/onlineGUI/
-//
-
-#include "online.h"
-#include <string>
-#include <fstream>
-#include <iostream>
-#include <list>
-#include <TMath.h>
-#include <TBranch.h>
-#include <TGClient.h>
-#include <TCanvas.h>
-#include <TStyle.h>
-#include <TROOT.h>
-#include <TGImageMap.h>
-#include <TGFileDialog.h>
-#include <TKey.h>
-#include <TObjString.h>
-#include <TSystem.h>
-#include <TLatex.h>
-#include <TText.h>
-#include <TGraph.h>
-#include "GetRootFileName.C"
-#include "GetRunNumber.C"
-#include "TPaveText.h"
-#ifdef STANDALONE
-#include <TApplication.h>
-#endif
-// #define DEBUGGETFILEOBJECTS
-// #define DEBUGPARSE
-// #define DEBUG
-//#define DEBUG2
-//#define NOISY
-//#define INTERNALSTYLE
-
-TString guiDirectory = "onlineGUI_v1.2.1/";
-
-///////////////////////////////////////////////////////////////////
-//  Class: OnlineConfig
-//
-//     Utility class that reads in a text file (.cfg) and
-//     stores it's contents.
-//
-//
-
-OnlineConfig::OnlineConfig() 
-{
-  // Constructor.  Without an argument, will use default "standard" config
-  fMonitor = kFALSE;
-  OnlineConfig("standard");
-}
-
-OnlineConfig::OnlineConfig(TString anatype) 
-{
-  // Constructor.  Takes the config anatype as the only argument.
-  //  Loads up the configuration file, and stores it's contents for access.
-  
-  confFileName = anatype;
-  if(!confFileName.Contains(".cfg"))
-    confFileName += ".cfg";
-  fMonitor = kFALSE;
-  fFoundCfg = kFALSE;
-
-  // Attempt to find the config file in specified (first argument,
-  // relative or absolute) location, then in guiDirectory
-  fConfFile = new ifstream(confFileName.Data());
-  if ( ! (*fConfFile) ) {
-    cerr << "OnlineConfig() WARNING: config file " << confFileName.Data()
-         << " does not exist" << endl;
-    cerr << " Checking the " << guiDirectory << " directory" << endl;
-    confFileName.Prepend(guiDirectory+"/");
-    fConfFile = new ifstream(confFileName.Data());
-    if ( ! (*fConfFile) ) {
-      // Didn't find it... load up the default config
-      confFileName = guiDirectory+"/default.cfg";
-      cout << "OnlineConfig()  Trying " << confFileName.Data() 
-	   << " as default configuration." << endl
-	   << " (May be ok.)" << endl;
-      fConfFile = new ifstream(confFileName.Data());
-      if ( ! (*fConfFile) ) {
-	cerr << "OnlineConfig() WARNING: no file "
-	     << confFileName.Data() <<endl;
-	cerr << "You need a configuration to run.  Ask an expert."<<endl;
-	fFoundCfg = kFALSE;
-	//      return;
-      } else {
-	fFoundCfg = kTRUE;
-      }
-    } else {
-      fFoundCfg = kTRUE;
-    }
-  } else {
-    fFoundCfg = kTRUE;
-  }
-
-  if(fFoundCfg) {
-  clog << "GUI Configuration loading from " 
-       << confFileName.Data() << endl;
-  }
-
-  ParseFile();
-
-  // Load up a user configurable style (if it exists)
-  TString styleFile = guiDirectory+"onlineGUI_Style.C";
-  if(!gSystem->AccessPathName(styleFile))
-     gROOT->Macro(styleFile);
-
-  fConfFile->close();
-  delete fConfFile;
-
-}
-
-void OnlineConfig::ParseFile() 
-{
-  // Reads in the Config File, and makes the proper calls to put
-  //  the information contained into memory.
-
-  if(!fFoundCfg) {
-    return;
-  }
-
-  TString comment = "#";
-  vector<TString> strvect;
-  TString sinput, sline;
-  while (sline.ReadLine(*fConfFile)) {
-    strvect.clear();
-    // Strip away leading and trailing spaces.
-    sline = sline.Strip(TString::kBoth,' ');
-    // If the line starts with a comment, skip it.
-    if(sline.BeginsWith(comment)) continue;
-    // If the line contains a comment, split it up into two and keep
-    // the uncommented (first) part
-    if(sline.Contains(comment)) {
-      TObjArray *tmpoarr = sline.Tokenize(comment);
-      TObjString *tmpostr = (TObjString*)tmpoarr->First();
-      sline = tmpostr->GetString().Strip(TString::kTrailing,' ');
-      delete tmpoarr;
-    }
-    // Now split up the line according to 's and spaces.  This is for
-    // looking for the histogram using it's title (which may contain
-    // spaces) instead of its name.
-    if(sline.Contains("'")) {
-      TObjArray *tmpoarr = sline.Tokenize("'");
-      Bool_t quote_on_odd = kTRUE;
-      if(!(sline.BeginsWith("'"))) quote_on_odd=kFALSE;
-      TIterator *next = tmpoarr->MakeIterator();
-      TObjString *tmpostr; Bool_t odd=kTRUE;
-      while((tmpostr=(TObjString*)next->Next())!=NULL) {
-	if((quote_on_odd&&odd) || (!quote_on_odd&&!odd)) {
-	  strvect.push_back(tmpostr->GetString());
-	  odd = !odd;
-	} else {
-	  TObjArray *tmpoarr2 = tmpostr->GetString().Tokenize(" ");
-	  TIterator *next2 = tmpoarr2->MakeIterator();
-	  TObjString *tmpostr2;
-	  while((tmpostr2=(TObjString*)next2->Next())!=NULL) {
-	    strvect.push_back(tmpostr2->GetString());
-	  }
-	  delete tmpoarr2;
-	  odd = !odd;
-	}
-      }
-      delete tmpoarr;
-    } else { // No 's.. just split according to spaces
-      TObjArray *tmpoarr2 = sline.Tokenize(" ");
-      TIterator *next2 = tmpoarr2->MakeIterator();
-      TObjString *tmpostr2;
-      while((tmpostr2=(TObjString*)next2->Next())!=NULL) {
-	strvect.push_back(tmpostr2->GetString());
-      }
-      delete tmpoarr2;
-    }
-    sConfFile.push_back(strvect);
-    
-}
-
-#ifdef DEBUGPARSE
-  for(UInt_t ii=0; ii<sConfFile.size(); ii++) {
-    cout << "Line " << ii << endl << "  ";
-    for(UInt_t jj=0; jj<sConfFile[ii].size(); jj++) 
-      cout << sConfFile[ii][jj] << " ";
-    cout << endl;
-  }
-#endif
-
-  cout << "     " << sConfFile.size() << " lines read from " 
-       << confFileName << endl;
-  
-}
-
-Bool_t OnlineConfig::ParseConfig() 
-{
-  //  Goes through each line of the config [must have been ParseFile()'d]
-  //   and interprets.
-
-  if(!fFoundCfg) {
-    return kFALSE;
-  }
-
-  UInt_t command_cnt=0;
-  UInt_t j=0;
-  Bool_t hasMultiPlots=kFALSE;
-  // If statement for each high level command (cut, newpage, etc)
-  for(UInt_t i=0;i<sConfFile.size();i++) {
-    // "newpage" command
-    if(sConfFile[i][0] == "newpage") {
-      // sConfFile[i] is first of pair
-      for(j=i+1;j<sConfFile.size();j++) {
-	if(sConfFile[j][0] != "newpage") {
-	  // Count how many commands within the page
-	  command_cnt++;
-	} else break;
-      }
-      pageInfo.push_back(make_pair(i,command_cnt));
-      i += command_cnt;
-      command_cnt=0;
-    }
-    if(sConfFile[i][0] == "watchfile") {
-      fMonitor = kTRUE;
-    }
-    if(sConfFile[i][0] == "definecut") {
-      if(sConfFile[i].size()>3) {
-	cerr << "cut command has too many arguments" << endl;
-	continue;
-      }
-      TCut tempCut(sConfFile[i][1],sConfFile[i][2]);
-      cutList.push_back(tempCut);
-    }
-    if(sConfFile[i][0] == "rootfile") {
-      if(sConfFile[i].size() != 2) {
-	cerr << "WARNING: rootfile command does not have the "
-	     << "correct number of arguments"
-	     << endl;
-	continue;
-      }
-      if(!rootfilename.IsNull()) {
-	cerr << "WARNING: too many rootfile's defined. " 
-	     << " Will only use the first one." 
-	     << endl;
-	continue;
-      }
-      rootfilename = sConfFile[i][1];
-    }
-    if(sConfFile[i][0] == "goldenrootfile") {
-      if(sConfFile[i].size() != 2) {
-	cerr << "WARNING: goldenfile command does not have the "
-	     << "correct number of arguments"
-	     << endl;
-	continue;
-      }
-      if(!goldenrootfilename.IsNull()) {
-	cerr << "WARNING: too many goldenrootfile's defined. " 
-	     << " Will only use the first one." 
-	     << endl;
-	continue;
-      }
-      goldenrootfilename = sConfFile[i][1];
-    }
-    if(sConfFile[i][0] == "protorootfile") {
-      if(sConfFile[i].size() != 2) {
-	cerr << "WARNING: protorootfile command does not have the "
-	     << "correct number of arguments"
-	     << endl;
-	continue;
-      }
-      if(!protorootfile.IsNull()) {
-	cerr << "WARNING: too many protorootfile's defined. " 
-	     << " Will only use the first one." 
-	     << endl;
-	continue;
-      }
-      protorootfile = sConfFile[i][1];
-    }
-    if(sConfFile[i][0] == "guicolor") {
-      if(sConfFile[i].size() != 2) {
-	cerr << "WARNING: guicolor command does not have the "
-	     << "correct number of arguments (needs 1)"
-	     << endl;
-	continue;
-      }
-      if(!guicolor.IsNull()) {
-	cerr << "WARNING: too many guicolor's defined. " 
-	     << " Will only use the first one." 
-	     << endl;
-	continue;
-      }
-      guicolor = sConfFile[i][1];
-    }
-    if(sConfFile[i][0] == "plotsdir") {
-      if(sConfFile[i].size() != 2) {
-	cerr << "WARNING: plotsdir command does not have the "
-	     << "correct number of arguments (needs 1)"
-	     << endl;
-	continue;
-      }
-      if(!plotsdir.IsNull()) {
-	cerr << "WARNING: too many plotdir's defined. " 
-	     << " Will only use the first one." 
-	     << endl;
-	continue;
-      }
-      plotsdir = sConfFile[i][1];
-    }
-    if(sConfFile[i][0] == "multiplot") {
-      hasMultiPlots = kTRUE;
-    }
-
-  }
-
-  if(hasMultiPlots) {
-    if(!ParseForMultiPlots()) {
-      cerr << "ParseForMultiPlots() Failed" << endl;
-    }
-  }
-
-#ifdef NOISY
-  for(UInt_t i=0; i<GetPageCount(); i++) {
-    cout << "Page " << i << " (" << GetPageTitle(i) << ")"
-	 << " will draw " << GetDrawCount(i) 
-	 << " histograms." << endl;
-  }
-#endif
-
-  cout << "Number of pages defined = " << GetPageCount() << endl;
-  cout << "Number of cuts defined = " << cutList.size() << endl;
-
-  if (fMonitor) 
-    cout << "Will periodically update plots" << endl;
-  if(!goldenrootfilename.IsNull()) {
-    cout << "Will compare chosen histrograms with the golden rootfile: " 
-	 << endl 
-	 << goldenrootfilename << endl;
-  }
-
-  return kTRUE;
-
-}
-
-Bool_t OnlineConfig::ParseForMultiPlots() {
-  // Parse through each line of sConfFile,
-  // and replace each "multiplot" command with a real draw entry
-
-  vector < vector <TString> > newConfFile;
-  for(UInt_t iter=0;iter<sConfFile.size();iter++) {
-    if(sConfFile[iter][0]=="multiplot") {
-      // First argument is the low limit, 
-      // second argument is the high limit
-      UInt_t lolimit = (UInt_t)sConfFile[iter][1].Atoi();
-      UInt_t hilimit = (UInt_t)sConfFile[iter][2].Atoi();
-      
-      // For the rest of the line, replace all of the XXXXX's
-      // with an iteration from lolimit to hilimit.
-      for(UInt_t imult=lolimit;imult<=hilimit;imult++) {
-	vector <TString> newline;
-	for(UInt_t ielem=3; ielem<sConfFile[iter].size();ielem++) {
-	  TString origString = sConfFile[iter][ielem];
-	  TString newString = origString;
-	  newString.ReplaceAll("XXXXX",Form("%d",imult));
-	  newline.push_back(newString);
-	}
-	newConfFile.push_back(newline);
-      }
-    } else {
-      newConfFile.push_back(sConfFile[iter]);
-    }
-  }
-
-#ifdef DEBUG
-  for(UInt_t iter=0;iter<newConfFile.size();iter++) {
-    for(UInt_t iline=0;iline<newConfFile[iter].size();iline++) {
-      cout << newConfFile[iter][iline] << " ";
-    }
-    cout << endl;
-  }
-#endif
-
-  // Out with the old, in with the new.
-  sConfFile.clear();
-  sConfFile = newConfFile;
-
-  // Now need to recalculate pageInfo.
-  UInt_t command_cnt=0;
-  UInt_t j=0;
-
-  pageInfo.clear();
-  // If statement for each high level command (cut, newpage, etc)
-  for(UInt_t i=0;i<sConfFile.size();i++) {
-    // "newpage" command
-    if(sConfFile[i][0] == "newpage") {
-      // sConfFile[i] is first of pair
-      for(j=i+1;j<sConfFile.size();j++) {
-	if(sConfFile[j][0] != "newpage") {
-	  // Count how many commands within the page
-	  command_cnt++;
-	} else break;
-      }
-      pageInfo.push_back(make_pair(i,command_cnt));
-      i += command_cnt;
-      command_cnt=0;
-    }
-  }
-
-  return kTRUE;
-
-}
-
-TCut OnlineConfig::GetDefinedCut(TString ident) {
-  // Returns the defined cut, according to the identifier
-
-  for(UInt_t i=0; i<cutList.size(); i++) {
-    if((TString)cutList[i].GetName() == ident.Data()) {
-      TCut tempCut = cutList[i].GetTitle();
-      return tempCut;
-    }
-  }
-  return "";
-}
-
-vector <TString> OnlineConfig::GetCutIdent() {
-  // Returns a vector of the cut identifiers, specified in config
-  vector <TString> out;
-
-  for(UInt_t i=0; i<cutList.size(); i++) {
-    out.push_back(cutList[i].GetName());
-  }
-
-  return out;
-}
-
-Bool_t OnlineConfig::IsLogx(UInt_t page) {
-// Check if last word on line is "logx"
-
-  UInt_t page_index = pageInfo[page].first;
-  Int_t word_index = sConfFile[page_index].size()-1;
-  if (word_index <= 0) return kFALSE;
-  TString option = sConfFile[page_index][word_index];  
-  if(option == "logx") return kTRUE;
-  return kFALSE;
-
-}
-
-Bool_t OnlineConfig::IsLogy(UInt_t page) {
-// Check if last word on line is "logy"
-
-  UInt_t page_index = pageInfo[page].first;
-  Int_t word_index = sConfFile[page_index].size()-1;
-  if (word_index <= 0) return kFALSE;
-  TString option = sConfFile[page_index][word_index];  
-  if(option == "logy") return kTRUE;
-  return kFALSE;
-
-}
-
-Bool_t OnlineConfig::IsLogz(UInt_t page) {
-// Check if last word on line is "logz"
-
-  UInt_t page_index = pageInfo[page].first;
-  Int_t word_index = sConfFile[page_index].size()-1;
-  if (word_index <= 0) return kFALSE;
-  TString option = sConfFile[page_index][word_index];  
-  if(option == "logz") return kTRUE;
-  return kFALSE;
-
-}
-
-
-pair <UInt_t, UInt_t> OnlineConfig::GetPageDim(UInt_t page) 
-{
-  // If defined in the config, will return those dimensions
-  //  for the indicated page.  Otherwise, will return the
-  //  calculated dimensions required to fit all histograms.
-
-  pair <UInt_t, UInt_t> outDim;
-
-  // This is the page index in sConfFile.
-  UInt_t page_index = pageInfo[page].first;
-  
-  UInt_t size1 = 2;
-  if (IsLogy(page)) size1 = 3;  // last word is "logy"
-  
-  // If the dimensions are defined, return them.
-  if(sConfFile[page_index].size()>size1-1) {
-    if(sConfFile[page_index].size() == size1) {
-      outDim = make_pair(UInt_t(atoi(sConfFile[page_index][1])),
-		       UInt_t(atoi(sConfFile[page_index][1])));
-      return outDim;
-    } else if (sConfFile[page_index].size() == size1+1) {
-      outDim = make_pair(UInt_t(atoi(sConfFile[page_index][1])),
-		       UInt_t(atoi(sConfFile[page_index][2])));
-      return outDim;
-    } else {
-      cout << "Warning: newpage command has too many arguments. "
-	   << "Will automatically determine dimensions of page."
-	   << endl;
-    }
-  }
-  
-  // If not defined, return the "default."
-  UInt_t draw_count = GetDrawCount(page);
-  UInt_t dim = UInt_t(TMath::Nint(sqrt(Double_t(draw_count+1))));
-  outDim = make_pair(dim,dim);
-
-  return outDim;
-}
-
-TString OnlineConfig::GetPageTitle(UInt_t page) 
-{
-  // Returns the title of the page.
-  //  if it is not defined in the config, then return "Page #"
-
-  TString title;
-
-  UInt_t iter_command = pageInfo[page].first+1;
-
-  for(UInt_t i=0; i<pageInfo[page].second; i++) { // go through each command
-    if(sConfFile[iter_command+i][0] == "title") { 
-      // Combine the strings, and return it
-      for (UInt_t j=1; j<sConfFile[iter_command+i].size(); j++) {
-	title += sConfFile[iter_command+i][j];
-	title += " ";
-      }
-      title.Chop();
-      return title;
-    }
-  }
-  title = "Page "; title += page;
-  return title;
-}
-
-vector <UInt_t> OnlineConfig::GetDrawIndex(UInt_t page) 
-{
-  // Returns an index of where to find the draw commands within a page
-  //  within the sConfFile vector
-
-  vector <UInt_t> index;
-  UInt_t iter_command = pageInfo[page].first+1;
-
-  for(UInt_t i=0; i<pageInfo[page].second; i++) {
-    if(sConfFile[iter_command+i][0] != "title") {
-      index.push_back(iter_command+i);
-    }
-  }
-
-  return index;
-}
-
-UInt_t OnlineConfig::GetDrawCount(UInt_t page) 
-{
-  // Returns the number of histograms that have been request for this page
-  UInt_t draw_count=0;
-
-  for(UInt_t i=0; i<pageInfo[page].second; i++) {
-    if(sConfFile[pageInfo[page].first+i+1][0] != "title") draw_count++;
-  }
-
-  return draw_count;
-
-}
-
-drawcommand OnlineConfig::GetDrawCommand(UInt_t page, UInt_t nCommand)
-{
-  // Returns the vector of strings pertaining to a specific page, and 
-  //   draw command from the config.
-  // Return vector of TStrings:
-  //  0: variable
-  //  1: cut - only for Tree variables
-  //  2: type
-  //  3: title 
-  //  4: treename - only for Tree variables
-  //  5: nostat
-  //  6: noshowgolden  - only for Histograms
-  //  This should probably be replaced with an actual structure
-
-  drawcommand out_command;
-  vector <UInt_t> command_vector = GetDrawIndex(page);
-  UInt_t index = command_vector[nCommand];
-
-#ifdef DEBUG
-  cout << "OnlineConfig::GetDrawCommand(" << page << "," 
-       << nCommand << ")" << endl;
-#endif
-
-  // First line is the variable
-  if(sConfFile[index].size()>=1) {
-    out_command.variable = sConfFile[index][0];
-  }
-  if(sConfFile[index].size()>=2) {
-    if((sConfFile[index][1] != "-type") &&
-       (sConfFile[index][1] != "-title") &&
-       (sConfFile[index][1] != "-tree") &&
-       (sConfFile[index][1] != "-noshowgolden") &&
-       (sConfFile[index][1] != "-nostat"))
-      {
-    if(out_command.variable=="macro") {
-      out_command.macro = sConfFile[index][1];
-    } else {
-      out_command.cut = sConfFile[index][1];
-    }
-      }
-  }
-
-  // Now go through the rest of that line..
-  for (UInt_t i=1; i<sConfFile[index].size(); i++) {
-    if(sConfFile[index][i]=="-type") {
-      out_command.type = sConfFile[index][i+1];
-      i = i+1;
-    } else if(sConfFile[index][i]=="-title") {
-      // Put the entire title, surrounded by quotes, as one TString
-      TString title;
-      UInt_t j=0;
-      for(j=i+1; j<sConfFile[index].size(); j++) {
-	TString word = sConfFile[index][j];
-	if( (word.BeginsWith("\"")) && (word.EndsWith("\"")) ) {
-	  title = word.ReplaceAll("\"","");
-	  out_command.title = title;
-	  i = j;
-	  break;
-	} else if(word.BeginsWith("\"")) {
-	  title = word.ReplaceAll("\"","");
-	} else if(word.EndsWith("\"")) {
-	  title += " " + word.ReplaceAll("\"","");
-	  out_command.title = title;
-	  i = j;
-	  break;
-	} else {
-	  title += " " + word;
-	}
-      }
-      // If we got here, and out_command.title is null... then just copy the contents
-      // of "title" to out_command.title (taking out any "'s along the way)
-      if(out_command.title.IsNull())
-	out_command.title = title.ReplaceAll("\"","");
-    } else if(sConfFile[index][i]=="-tree") {
-      out_command.treename = sConfFile[index][i+1];
-      i = i+1;
-    } else if(sConfFile[index][i]=="-nostat") {
-      out_command.nostat = "nostat";
-    } else if(sConfFile[index][i]=="-noshowgolden") {
-      out_command.noshowgolden = "noshowgolden";
-    }
-    
-
-#ifdef DEBUG
-    cout << endl;
-#endif
-  }
-#ifdef DEBUG
-  cout << sConfFile[index].size() << ": ";
-  for(UInt_t i=0; i<sConfFile[index].size(); i++) {
-    cout << sConfFile[index][i] << " ";
-  }
-  cout << endl;
-#endif
-  return out_command;
-}
-
-vector <TString> OnlineConfig::SplitString(TString instring,TString delim) 
-{
-  // Utility to split up a string on the deliminator.
-  //  returns a vector of strings.
-
-  vector <TString> v;
-
-  TString remainingString = instring;
-  TString tempstring = instring;
-  int i;
-
-  while (remainingString.Index(delim) != -1) {
-    i = remainingString.Index(delim);
-    tempstring.Remove(i);
-    v.push_back(tempstring);
-    remainingString.Remove(0,i+1);
-    while(remainingString.Index(delim) == 0) {
-      remainingString.Remove(0,1);
-    }
-    tempstring = remainingString;
-    // Cut out the rest, if it's a comment (starts with #)
-    if(TString(remainingString.Strip(TString::kLeading,' ')).BeginsWith("#")) {
-      tempstring = "";
-      break;
-    }
-  }
-
-  while(tempstring.EndsWith(delim)) {
-    tempstring.Chop();
-  }
-  
-  if(!tempstring.IsNull()) v.push_back(tempstring);
-
-  return v;
-}
-
-void OnlineConfig::OverrideRootFile(UInt_t runnumber) 
-{
-  // Override the ROOT file defined in the cfg file If
-  // protorootfile is used, construct filename using it, otherwise
-  // uses a helper macro "GetRootFileName.C(UInt_t runnumber)
-
-  if(!protorootfile.IsNull()) {
-    TString rn = "";
-    rn += runnumber;
-    protorootfile.ReplaceAll("XXXXX",rn.Data());
-    rootfilename = protorootfile;
-  } else {
-    rootfilename = GetRootFileName(runnumber);
-  }
-
-  cout << "Overridden File name: " << rootfilename << endl;
-}
-
-///////////////////////////////////////////////////////////////////
-//  Class: OnlineGUI
-//
-//    Creates a GUI to display the commands used in OnlineConfig
-//
-//
-
-OnlineGUI::OnlineGUI(OnlineConfig& config, Bool_t printonly,UInt_t RunNum):
-  runNumber(RunNum),
-  timer(0),
-  fFileAlive(kFALSE)
-{
-  // Constructor.  Get the config pointer, and make the GUI.
-
-  fConfig = &config;
-
-  if(printonly) {
-    fPrintOnly=kTRUE;
-    PrintPages();
-  } else {
-    fPrintOnly=kFALSE;
-    CreateGUI(gClient->GetRoot(),200,200);
-  }
-}
-
-void OnlineGUI::CreateGUI(const TGWindow *p, UInt_t w, UInt_t h) 
-{
-  
-  // Open the RootFile.  Die if it doesn't exist.
-  //  unless we're watching a file.
-  fRootFile.RootFile = new TFile(fConfig->GetRootFile(),"READ");
-  if(!fRootFile.RootFile->IsOpen()) {
-    cout << "ERROR:  rootfile: " << fConfig->GetRootFile()
-	 << " does not exist"
-	 << endl;
-    if(fConfig->IsMonitor()) {
-      cout << "Will wait... hopefully.." << endl;
-    } else {
-#ifdef STANDALONE
-      gApplication->Terminate();
-#else
-      return;
-#endif
-    }
-  } else {
-    fFileAlive = kTRUE;
-    ObtainRunNumber();
-    // Open the Root Trees.  Give a warning if it's not there..
-    GetFileObjects(&fRootFile);
-    GetRootTree(&fRootFile);
-    GetTreeVars(&fRootFile);
-    for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
-      if(fRootFile.RootTree[i]==0) {
-	fRootFile.RootTree.erase(fRootFile.RootTree.begin() + i);
-      }
-    }
-
-  }
-  TString goldenfilename=fConfig->GetGoldenFile();
-  if(!goldenfilename.IsNull()) {
-    fGoldenFile.RootFile = new TFile(goldenfilename,"READ");
-    if(!fGoldenFile.RootFile->IsOpen()) {
-      cout << "ERROR: goldenrootfile: " << goldenfilename
-	   << " does not exist.  Oh well, no comparison plots."
-	   << endl;
-      doGolden = kFALSE;
-      fGoldenFile.RootFile=NULL;
-    } else {
-      // Open the Root Trees.  Give a warning if it's not there..
-      GetFileObjects(&fGoldenFile);
-      GetRootTree(&fGoldenFile);
-      GetTreeVars(&fGoldenFile);
-      for(UInt_t i=0; i<fGoldenFile.RootTree.size(); i++) {
-        if(fGoldenFile.RootTree[i]==0) {
-	  fGoldenFile.RootTree.erase(fGoldenFile.RootTree.begin() + i);
-        }
-      }
-      doGolden = kTRUE;
-    }
-  } else {
-    doGolden=kFALSE;
-    fGoldenFile.RootFile=NULL;
-  }
-
-
-  // Create the main frame
-  fMain = new TGMainFrame(p,w,h);
-  fMain->Connect("CloseWindow()", "OnlineGUI", this, "MyCloseWindow()");
-  ULong_t lightgreen, lightblue, red, mainguicolor;
-  gClient->GetColorByName("lightgreen",lightgreen);
-  gClient->GetColorByName("lightblue",lightblue);
-  gClient->GetColorByName("red",red);
-
-  Bool_t good_color=kFALSE; 
-  TString usercolor = fConfig->GetGuiColor();
-  if(!usercolor.IsNull()) {
-    good_color = gClient->GetColorByName(usercolor,mainguicolor);
-  }
-
-  if(!good_color) {
-    if(!usercolor.IsNull()) {
-      cout << "Bad guicolor (" << usercolor << ").. using default." << endl;
-    }
-    if(fConfig->IsMonitor()) {
-      // Default background color for Online Monitor
-      mainguicolor = lightgreen;
-    } else {
-      // Default background color for Normal Online Display
-      mainguicolor = lightblue;
-    }
-  }
-
-  fMain->SetBackgroundColor(mainguicolor);
-
-  // Top frame, to hold page buttons and canvas
-  fTopframe = new TGHorizontalFrame(fMain,200,200);
-  fTopframe->SetBackgroundColor(mainguicolor);
-  fMain->AddFrame(fTopframe, new TGLayoutHints(kLHintsExpandX 
-                                              | kLHintsExpandY,10,10,10,1));
-
-  // Create a verticle frame widget with radio buttons
-  //  This will hold the page buttons
-  vframe = new TGVerticalFrame(fTopframe,40,200);
-  vframe->SetBackgroundColor(mainguicolor);
-  TString buff;
-  for(UInt_t i=0; i<fConfig->GetPageCount(); i++) {
-    buff = fConfig->GetPageTitle(i);
-    fRadioPage[i] = new TGRadioButton(vframe,buff,i);
-    fRadioPage[i]->SetBackgroundColor(mainguicolor);
-  }
-
-  fRadioPage[0]->SetState(kButtonDown);
-  current_page = 0;
-
-  for (UInt_t i=0; i<fConfig->GetPageCount(); i++) {
-    vframe->AddFrame(fRadioPage[i], 
-		     new TGLayoutHints(kLHintsLeft |
-				       kLHintsCenterY,5,5,3,4));
-    fRadioPage[i]->Connect("Pressed()", "OnlineGUI", this, "DoRadio()");
-  }
-  if(!fConfig->IsMonitor()) {
-    wile = 
-      new TGPictureButton(vframe,
-			  gClient->GetPicture(guiDirectory+"/defaultPic.xpm"));
-    wile->Connect("Pressed()","OnlineGUI", this,"DoDraw()");
-  } else {
-    wile = 
-      new TGPictureButton(vframe,
-			  gClient->GetPicture(guiDirectory+"/panguin.xpm"));
-    wile->Connect("Pressed()","OnlineGUI", this,"DoDrawClear(&fRootFile)");
-  }
-  wile->SetBackgroundColor(mainguicolor);
-
-  vframe->AddFrame(wile,
-		   new TGLayoutHints(kLHintsBottom|kLHintsLeft,5,10,4,2));
-
-
-  fTopframe->AddFrame(vframe,
-		      new TGLayoutHints(kLHintsCenterX|
-					kLHintsCenterY,2,2,2,2));
-  
-  // Create canvas widget
-  fEcanvas = new TRootEmbeddedCanvas("Ecanvas", fTopframe, 800, 600);
-  fEcanvas->SetBackgroundColor(mainguicolor);
-  fTopframe->AddFrame(fEcanvas, new TGLayoutHints(kLHintsExpandY,10,10,10,1));
-  fCanvas = fEcanvas->GetCanvas();
-
-  // Create the bottom frame.  Contains control buttons
-  fBottomFrame = new TGHorizontalFrame(fMain,1200,200);
-  fBottomFrame->SetBackgroundColor(mainguicolor);
-  fMain->AddFrame(fBottomFrame, new TGLayoutHints(kLHintsExpandX,10,10,10,10));
-  
-  // Create a horizontal frame widget with buttons
-  hframe = new TGHorizontalFrame(fBottomFrame,1200,40);
-  hframe->SetBackgroundColor(mainguicolor);
-  fBottomFrame->AddFrame(hframe,new TGLayoutHints(kLHintsExpandX,200,20,2,2));
-
-  fPrev = new TGTextButton(hframe,"Prev");
-  fPrev->SetBackgroundColor(mainguicolor);
-  fPrev->Connect("Clicked()","OnlineGUI",this,"DrawPrev()");
-  hframe->AddFrame(fPrev, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
-
-  fNext = new TGTextButton(hframe,"Next");
-  fNext->SetBackgroundColor(mainguicolor);
-  fNext->Connect("Clicked()","OnlineGUI",this,"DrawNext()");
-  hframe->AddFrame(fNext, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
-
-  fExit = new TGTextButton(hframe,"Exit GUI");
-  fExit->SetBackgroundColor(red);
-  fExit->Connect("Clicked()","OnlineGUI",this,"CloseGUI()");
-
-  hframe->AddFrame(fExit, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
-  
-  TString Buff;
-  if(runNumber==0) {
-    Buff = "";
-  } else {
-    Buff = "Run #";
-    Buff += runNumber;
-  }
-  TGString labelBuff(Buff);
-  
-  fRunNumber = new TGLabel(hframe,Buff);
-  fRunNumber->SetBackgroundColor(mainguicolor);
-  hframe->AddFrame(fRunNumber,new TGLayoutHints(kLHintsCenterX,5,5,1,1));
-
-  fPrint = new TGTextButton(hframe,"Print To &File");
-  fPrint->SetBackgroundColor(mainguicolor);
-  fPrint->Connect("Clicked()","OnlineGUI",this,"PrintToFile()");
-  hframe->AddFrame(fPrint, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
-
-
-  // Set a name to the main frame
-  if(fConfig->IsMonitor()) {
-    fMain->SetWindowName("Parity ANalysis GUI moNitor");
-  } else {
-    fMain->SetWindowName("Online Analysis GUI");
-  }
-
-  // Map all sub windows to main frame
-  fMain->MapSubwindows();
-  
-  // Initialize the layout algorithm
-  fMain->Resize(fMain->GetDefaultSize());
-  
-  // Map main frame
-  fMain->MapWindow();
-
-#ifdef DEBUG
-  fMain->Print();
-#endif
-
-  if(fFileAlive) DoDraw();
-
-  if(fConfig->IsMonitor()) {
-    timer = new TTimer();
-    if(fFileAlive) {
-      timer->Connect(timer,"Timeout()","OnlineGUI",this,"TimerUpdate()");
-    } else {
-      timer->Connect(timer,"Timeout()","OnlineGUI",this,"CheckRootFile()");
-    }
-    timer->Start(UPDATETIME);
-  }
-
-}
-
-void OnlineGUI::DoDraw() 
-{
-  // The main Drawing Routine.
-
-#ifdef INTERNALSTYLE
-  gStyle->SetOptStat(1110);
-  gStyle->SetStatFontSize(0.1);
-#endif
-  if (fConfig->IsLogx(current_page)) {
-    gStyle->SetOptLogx(1);
-  } else {
-    gStyle->SetOptLogx(0);
-  }
-  if (fConfig->IsLogy(current_page)) {
-    gStyle->SetOptLogy(1);
-  } else {
-    gStyle->SetOptLogy(0);
-  }
-  if (fConfig->IsLogz(current_page)) {
-    gStyle->SetOptLogz(1);
-  } else {
-    gStyle->SetOptLogz(0);
-  }
-#ifdef INTERNALSTYLE
-  gStyle->SetTitleH(0.10);
-  gStyle->SetTitleW(0.40);
-//   gStyle->SetLabelSize(0.10,"X");
-//   gStyle->SetLabelSize(0.10,"Y");
-  gStyle->SetLabelSize(0.05,"X");
-  gStyle->SetLabelSize(0.05,"Y");
-  gStyle->SetPadLeftMargin(0.14);
-  gStyle->SetNdivisions(505,"X");
-  gStyle->SetNdivisions(404,"Y");
-  gStyle->SetPalette(1);
-  gROOT->ForceStyle();
-#endif
-
-  // Determine the dimensions of the canvas..
-  UInt_t draw_count = fConfig->GetDrawCount(current_page);
-#ifdef INTERNALSTYLE
-  if(draw_count>=8) {
-    gStyle->SetLabelSize(0.08,"X");
-    gStyle->SetLabelSize(0.08,"Y");
-  }
-#endif
-//   Int_t dim = Int_t(round(sqrt(double(draw_count))));
-  pair <UInt_t,UInt_t> dim = fConfig->GetPageDim(current_page);
-
-#ifdef DEBUG
-  cout << "Dimensions: " << dim.first << "X" 
-       << dim.second << endl;
-#endif  
-
-  // Create a nice clean canvas.
-  fCanvas->Clear();
-  fCanvas->Divide(dim.first,dim.second);
-
-  drawcommand thiscommand;
-  // Draw the histograms.
-  for(UInt_t i=0; i<draw_count; i++) {    
-    thiscommand = fConfig->GetDrawCommand(current_page,i);
-    thiscommand = fileObject2command(thiscommand,&fRootFile);
-    fCanvas->cd(i+1);
-    if (thiscommand.variable == "macro") {
-      MacroDraw(thiscommand);
-    } else if (thiscommand.objtype.Contains("TH")) {
-      HistDraw(thiscommand);
-    } else if (thiscommand.objtype.Contains("TCanvas")) {
-      CanvasDraw(thiscommand,i+1);
-    } else if (thiscommand.objtype.Contains("TGraph")) {
-      GraphDraw(thiscommand);
-    } else { // otherwise... assume that the objtype is a branch from a tree
-      TreeDraw(thiscommand);
-    }
-  }
-      
-  fCanvas->cd();
-  fCanvas->Update();
-
-  if(!fPrintOnly) {
-    CheckPageButtons();
-  }
-
-}
-
-void OnlineGUI::DrawNext()
-{
-  // Handler for the "Next" button.
-  fRadioPage[current_page]->SetState(kButtonUp);
-  // The following line triggers DoRadio()
-  fRadioPage[current_page+1]->SetState(kButtonDown,true);
-  
-}
-
-void OnlineGUI::DrawPrev()
-{
-  // Handler for the "Prev" button.
-  fRadioPage[current_page]->SetState(kButtonUp);
-  // The following line triggers DoRadio()
-  fRadioPage[current_page-1]->SetState(kButtonDown,true);
-  
-}
-
-void OnlineGUI::DoRadio()
-{
-  // Handle the radio buttons
-  //  Find out which button has been pressed..
-  //   turn off the previous button...
-  //   then draw the appropriate page.
-  // This routine also handles the Draw from the Prev/Next buttons
-  //   - makes a call to DoDraw()
-
-  UInt_t pagecount = fConfig->GetPageCount();
-  TGButton *btn = (TGButton *) gTQSender;
-  UInt_t id = btn->WidgetId();
-  
-  if (id <= pagecount) {  
-    fRadioPage[current_page]->SetState(kButtonUp);
-  }
-
-  current_page = id;
-  if(!fConfig->IsMonitor()) DoDraw();
-
-}
-
-void OnlineGUI::CheckPageButtons() 
-{
-  // Checks the current page to see if it's the first or last page.
-  //  If so... turn off the appropriate button.
-  //  If not.. turn on both buttons.
-
-  if(current_page==0) {
-    fPrev->SetState(kButtonDisabled);
-    if(fConfig->GetPageCount()!=1)
-      fNext->SetState(kButtonUp);
-  } else if(current_page==fConfig->GetPageCount()-1) {
-    fNext->SetState(kButtonDisabled);
-    if(fConfig->GetPageCount()!=1)
-      fPrev->SetState(kButtonUp);
-  } else {
-    fPrev->SetState(kButtonUp);
-    fNext->SetState(kButtonUp);
-  }
-}
-
-void OnlineGUI::GetFileObjects(RootFileObject* fLocalRootFileObj)
-{
-  // Utility to find all of the objects within a File (TTree, TH1F, etc).
-  //  The pair stored in the vector is <ObjName, ObjType>
-  //  For histograms, the title is also stored 
-  //    (in case the the name is not very descriptive... like when
-  //    using h2root)
-  //  If there's no good keys.. do nothing.
-#ifdef DEBUGGETFILEOBJECTS
-  cout << "Keys = " << fLocalRootFileObj->RootFile->ReadKeys() << endl;
-#endif
-  if(fLocalRootFileObj->RootFile->ReadKeys()==0) {
-    fLocalRootFileObj->fUpdate = kFALSE;
-//     delete fLocalRootFileObj->RootFile;
-//     fLocalRootFileObj->RootFile = 0;
-//     CheckRootFile();
-    return;
-  }
-  fLocalRootFileObj->vfileObjects.clear();
-
-  TIter next( (fLocalRootFileObj->RootFile)->GetListOfKeys() );
-  TKey *key = new TKey();
-
-  // Do the search
-  while((key=(TKey*)next())!=0) {
-#ifdef DEBUGGETFILEOBJECTS
-    cout << "Key = " << key << endl;    
-#endif
-    TString objname = key->GetName();
-    TString objtype = key->GetClassName();
-    TString objtitle = key->GetTitle();
-#ifdef DEBUGGETFILEOBJECTS
-    cout << objname << " " << objtype << endl;
-#endif
-
-    if(objtype.Contains("TDirectory")) {
-      TDirectory *thisdir = (TDirectory*)fLocalRootFileObj->RootFile->Get(objname);
-      TIter nextInDir(thisdir->GetListOfKeys());
-      TKey *innerkey = new TKey();
-      while((innerkey=(TKey*)nextInDir())!=0) {
-	      TString iobjname = innerkey->GetName();
-	      TString iobjtype = innerkey->GetClassName();
-	      TString iobjtitle = innerkey->GetTitle();
-	      TString iobjdir = objname;
-#ifdef DEBUGGETFILEOBJECTS
-	      cout << iobjname << " " << iobjtype << endl;
-#endif
-	      fileObject thisObject;
-	      thisObject.name = iobjname;
-	      thisObject.type = iobjtype;
-	      thisObject.title = iobjtitle;
-	      thisObject.directory = objname;
-	      fLocalRootFileObj->vfileObjects.push_back(thisObject);
-	    }
-    } else {
-      fileObject thisObject;
-      thisObject.name = objname;
-      thisObject.type = objtype;
-      thisObject.title = objtitle;
-      thisObject.directory = "";
-      fLocalRootFileObj->vfileObjects.push_back(thisObject);
-    }
-      
-  }
-  fLocalRootFileObj->fUpdate = kTRUE;
-  delete key;
-}
-
-void OnlineGUI::GetTreeVars(RootFileObject* fLocalRootFileObj) 
-{
-  // Utility to find all of the variables (leaf's/branches) within a
-  // Specified TTree and put them within the TreeVars vector.
-  fLocalRootFileObj->TreeVars.clear();
-  TObjArray *branchList;
-  vector <TString> currentTree;
-
-  for(UInt_t i=0; i<fLocalRootFileObj->RootTree.size(); i++) {
-    currentTree.clear();
-    branchList = fLocalRootFileObj->RootTree[i]->GetListOfBranches();
-    TIter next(branchList);
-    TBranch *brc;
-
-    while((brc=(TBranch*)next())!=0) {
-      TString found = brc->GetName();
-      // Not sure if the line below is so smart...
-      currentTree.push_back(found);
-    }
-    fLocalRootFileObj->TreeVars.push_back(currentTree);
-  }
-#ifdef DEBUG2
-  for(UInt_t iTree=0; iTree<fLocalRootFileObj->TreeVars.size(); iTree++) {
-  cout << "In Tree " << iTree << ": " << endl;
-    for(UInt_t i=0; i<fLocalRootFileObj->TreeVars[iTree].size(); i++) {
-      cout << fLocalRootFileObj->TreeVars[iTree][i] << endl;
-    }
-  }
-#endif
-}
-
-
-void OnlineGUI::GetRootTree(RootFileObject* fLocalRootFileObj ) {
-  // Utility to search a ROOT File for ROOT Trees
-  // Fills the RootTree vector
-  fLocalRootFileObj->RootTree.clear();
-
-  list <TString> found;
-  for(UInt_t i=0; i<fLocalRootFileObj->vfileObjects.size(); i++) {
-#ifdef DEBUGGETROOTTREE
-    cout << "Object = " << fLocalRootFileObj->vfileObjects[i].type <<
-      "     Name = " << fLocalRootFileObj->vfileObjects[i].name << endl;
-#endif
-    if(fLocalRootFileObj->vfileObjects[i].type.Contains("TTree"))
-       found.push_back(fLocalRootFileObj->vfileObjects[i].name);
-  }
-
-  // Remove duplicates, then insert into fLocalRootFileObj->RootTree
-  found.unique();
-  UInt_t nTrees = found.size();
-
-  for(UInt_t i=0; i<nTrees; i++) {
-    fLocalRootFileObj->RootTree.push_back( (TTree*) fLocalRootFileObj->RootFile->Get(found.front()) );
-    found.pop_front();
-  }  
-  // Initialize the TreeEntries vector
-  fLocalRootFileObj->TreeEntries.clear();
-  for(UInt_t i=0;i<fLocalRootFileObj->RootTree.size();i++) {
-    fLocalRootFileObj->TreeEntries.push_back(0);
-  }
-  
-}
-
-UInt_t OnlineGUI::GetTreeIndex(TString var, RootFileObject* fLocalRootFileObj ) {
-  // Utility to find out which Tree (in fRootFile.RootTree) has the specified
-  // variable "var".  If the variable is a collection of Tree
-  // variables (e.g. bcm1:lumi1), will only check the first
-  // (e.g. bcm1).  
-  // Returns the correct index.  if not found returns an index 1
-  // larger than fRootFile.RootTree.size()
-
-  //  This is for 2d draws... look for the first only
-  if(var.Contains(":")) {
-    TString first_var = fConfig->SplitString(var,":")[0];
-    var = first_var;
-  }
-
-  //  This is for variables with multiple dimensions.
-  if(var.Contains("[")) {
-    TString first_var = fConfig->SplitString(var,"[")[0];
-    var = first_var;
-  }
-
-  for(UInt_t iTree=0; iTree<fLocalRootFileObj->TreeVars.size(); iTree++) {
-    for(UInt_t ivar=0; ivar<fLocalRootFileObj->TreeVars[iTree].size(); ivar++) {
-      if(var == fLocalRootFileObj->TreeVars[iTree][ivar]) return iTree;
-    }
-  }
-
-  return fLocalRootFileObj->RootTree.size()+1;
-}
-
-UInt_t OnlineGUI::GetTreeIndexFromName(TString name, RootFileObject* fLocalRootFileObj) {
-  // Called by TreeDraw().  Tries to find the Tree index provided the
-  //  name.  If it doesn't match up, return a number that's one larger
-  //  than the number of found trees.
-  for(UInt_t iTree=0; iTree<fLocalRootFileObj->RootTree.size(); iTree++) {
-    TString treename = fLocalRootFileObj->RootTree[iTree]->GetName();
-    if(name == treename) {
-      return iTree;
-    }
-  }
-
-  return fLocalRootFileObj->RootTree.size()+1;
-}
-
-void OnlineGUI::MacroDraw(drawcommand command) {
-  // Called by DoDraw(), this will make a call to the defined macro, and
-  //  plot it in it's own pad.  One plot per macro, please.
-
-  if(command.macro.IsNull()) {
-    cout << "macro command doesn't contain a macro to execute" << endl;
-    return;
-  }
-
-  if(doGolden) fRootFile.RootFile->cd();
-  gROOT->Macro(command.macro);
-  
-}
-
-void OnlineGUI::CanvasDraw(drawcommand command,UInt_t padnum) {
-  // Called by DoDraw(), this will draw the TCanvas in the current Canvas
-  
-  TString rootversion = gROOT->GetVersion();
-  TString slash = "/";
-  TString rootversion_cut = (fConfig->SplitString(rootversion,slash))[0];
-  Double_t ver_num = rootversion_cut.Atof();
-  if(ver_num<5.16) {
-    TString badstring = "TCanvas Drawing Unsupported in ROOT v"+rootversion;
-    BadDraw(badstring);
-    return;
-  }
-
-  TDirectory *fDir;
-  if(command.directory.IsNull()) {
-    fDir = 0;
-  } else {
-    fDir = (TDirectory*)fRootFile.RootFile->Get(command.directory);
-  }
-  
-  if(fDir) fDir->cd();
-  fRootFile.RootFile->cd();
-  TCanvas *tcanv = (TCanvas*)fRootFile.RootFile->Get(command.objname);
-  fCanvas->cd(padnum);
-  tcanv->DrawClonePad();
-  delete tcanv;
-  
-}
-
-void OnlineGUI::GraphDraw(drawcommand command) {
-  // Called by DoDraw(), this will draw the TCanvas in the current Canvas
-  
-  TString rootversion = gROOT->GetVersion();
-  fRootFile.RootFile->cd();
-  TDirectory *fDir;
-  if(command.directory.IsNull()) {
-    fDir = 0;
-  } else {
-    fDir = (TDirectory*)fRootFile.RootFile->Get(command.directory);
-  }
-  
-  if(fDir) fDir->cd();
-  TGraph *thisgraph = (TGraph*)fRootFile.RootFile->Get(command.objname);
-  TString drawopt = command.type;
-  if(drawopt.IsNull()) drawopt = "AP";
-  if(!command.title.IsNull()) thisgraph->SetTitle(command.title);
-  thisgraph->Draw(drawopt);
-  
-}
-
-
-void OnlineGUI::DoDrawClear(RootFileObject* fLocalRootFileObj) {
-  // Utility to grab the number of entries in each tree.  This info is
-  // then used, if watching a file, to "clear" the TreeDraw
-  // histograms, and begin looking at new data.
-  for(UInt_t i=0; i<fLocalRootFileObj->TreeEntries.size(); i++) {
-    fLocalRootFileObj->TreeEntries[i] = (Int_t) fLocalRootFileObj->RootTree[i]->GetEntries();
-  }
-  
-
-}
-
-void OnlineGUI::TimerUpdate() {
-  // Called periodically by the timer, if "watchfile" is indicated
-  // in the config.  Reloads the ROOT file, and updates the current page.
-#ifdef DEBUG
-  cout << "Update Now" << endl;
-#endif
-
-  if(fRootFile.RootFile->IsZombie() || (fRootFile.RootFile->GetSize() == -1)
-     || (fRootFile.RootFile->ReadKeys()==0)) {
-    cout << "New run not yet available.  Waiting..." << endl;
-    fRootFile.RootFile->Close();
-    delete fRootFile.RootFile;
-    fRootFile.RootFile = 0;
-    timer->Reset();
-    timer->Disconnect();
-    timer->Connect(timer,"Timeout()","OnlineGUI",this,"CheckRootFile()");
-    return;
-  }
-  for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
-    fRootFile.RootTree[i]->Refresh();
-  }
-  DoDraw();
-  timer->Reset();
-
-}
-
-void OnlineGUI::BadDraw(TString errMessage) {
-  // Routine to display (in Pad) why a particular draw method has
-  // failed.
-  TPaveText *pt = new TPaveText(0.1,0.1,0.9,0.9,"brNDC");
-  pt->SetBorderSize(3);
-  pt->SetFillColor(10);
-  pt->SetTextAlign(22);
-  pt->SetTextFont(72);
-  pt->SetTextColor(2);
-  pt->AddText(errMessage.Data());
-  pt->Draw();
-//   cout << errMessage << endl;
-
-}
-
-
-void OnlineGUI::CheckRootFile() {
-  // Check the path to the rootfile (should follow symbolic links)
-  // ... If found:
-  //   Reopen new root file, 
-  //   Reconnect the timer to TimerUpdate()
-
-  if(gSystem->AccessPathName(fConfig->GetRootFile())==0) {
-    cout << "Found the new run" << endl;
-    if(OpenRootFile()==0) {
-      timer->Reset();
-      timer->Disconnect();
-      timer->Connect(timer,"Timeout()","OnlineGUI",this,"TimerUpdate()");
-    }
-  } else {
-    TString rnBuff = "Waiting for run";
-    fRunNumber->SetText(rnBuff.Data());
-    hframe->Layout();
-  }
-
-}
-
-Int_t OnlineGUI::OpenRootFile() {
-
-
-  fRootFile.RootFile = new TFile(fConfig->GetRootFile(),"READ");
-  if(fRootFile.RootFile->IsZombie() || (fRootFile.RootFile->GetSize() == -1)
-     || (fRootFile.RootFile->ReadKeys()==0)) {
-    cout << "New run not yet available.  Waiting..." << endl;
-    fRootFile.RootFile->Close();
-    delete fRootFile.RootFile;
-    fRootFile.RootFile = 0;
-    timer->Reset();
-    timer->Disconnect();
-    timer->Connect(timer,"Timeout()","OnlineGUI",this,"CheckRootFile()");
-    return -1;
-  }
-
-  // Update the runnumber
-  ObtainRunNumber();
-  if(runNumber != 0) {
-    TString rnBuff = "Run #";
-    rnBuff += runNumber;
-    fRunNumber->SetText(rnBuff.Data());
-    hframe->Layout();
-  }
-
-  // Open the Root Trees.  Give a warning if it's not there..
-  GetFileObjects(&fRootFile);
-  if (fRootFile.fUpdate) { // Only do this stuff if there are valid keys
-    GetRootTree(&fRootFile);
-    GetTreeVars(&fRootFile);
-    for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
-      if(fRootFile.RootTree[i]==0) {
-	fRootFile.RootTree.erase(fRootFile.RootTree.begin() + i);
-      }
-    }
-    DoDraw();
-  } else {
-    return -1;
-  }
-  return 0;
-
-}
-
-void OnlineGUI::HistDraw(drawcommand command) {
-  // Called by DoDraw(), this will plot a histogram.
-
-  Bool_t showGolden=kFALSE;
-  if(doGolden) showGolden=kTRUE;
-  Bool_t showStat=kTRUE;
-  TString htitle;
-
-  if(command.noshowgolden=="noshowgolden") 
-    showGolden = kFALSE;
-  if(command.nostat=="nostat")
-      showStat=kFALSE;
-  htitle = command.title;
-
-  TString type=command.type;
-  TDirectory *fDir;
-  
-  if(command.directory.IsNull()) {
-    fDir = 0;
-  } else {
-    fDir = (TDirectory*)fRootFile.RootFile->Get(command.directory);
-  }
-  
-  // Determine dimensionality of histogram, then draw it
-  if(command.objtype.Contains("TH1")) {
-    // Operation for TH1
-    fRootFile.RootFile->cd();
-    if(fDir) fDir->cd();
-    fRootFile.mytemp1d = (TH1D*)gDirectory->Get(command.objname);
-    if(!fRootFile.mytemp1d) BadDraw(command.variable+" not found");
-    if(fRootFile.mytemp1d->GetEntries()==0) {
-      BadDraw("Empty Histogram");
-    } else {
-      if(showGolden) {
-	fGoldenFile.RootFile->cd();
-	if(fDir) fDir->cd();
-	fGoldenFile.mytemp1d = (TH1D*)gDirectory->Get(command.objname);
-	fGoldenFile.mytemp1d->SetLineColor(30);
-	fGoldenFile.mytemp1d->SetFillColor(30);
-	Int_t fillstyle=3027;
-	if(fPrintOnly) fillstyle=3010;
-	fGoldenFile.mytemp1d->SetFillStyle(fillstyle);
-	fRootFile.mytemp1d->SetStats(showStat);
-	fGoldenFile.mytemp1d->SetStats(kFALSE);
-	fGoldenFile.mytemp1d->Draw();
-	if(!htitle.IsNull()) fGoldenFile.mytemp1d->SetTitle(htitle);
-	fRootFile.mytemp1d->Draw("sames"+type);
-      } else {
-	fRootFile.mytemp1d->SetStats(showStat);
-	if(!htitle.IsNull()) fRootFile.mytemp1d->SetTitle(htitle);
-	fRootFile.mytemp1d->Draw(type);
-      }
-    }
-    return;
-  }
-
-  if(command.objtype.Contains("TH2")) {
-    // Operation for TH2
-    if(!showGolden) fRootFile.RootFile->cd();
-    if(fDir) fDir->cd();
-    fRootFile.mytemp2d = (TH2D*)gDirectory->Get(command.objname);
-    if(fRootFile.mytemp2d->GetEntries()==0) {
-      BadDraw("Empty Histogram");
-    } else {
-      if(showGolden) {
-	fGoldenFile.RootFile->cd();
-	if(fDir) fDir->cd();
-	fGoldenFile.mytemp2d = (TH2D*)gDirectory->Get(command.objname);
-	fGoldenFile.mytemp2d->SetMarkerColor(2);
-	fRootFile.mytemp2d->SetStats(showStat);
-	fGoldenFile.mytemp2d->SetStats(kFALSE);
-	fGoldenFile.mytemp2d->Draw(type);
-	if(!htitle.IsNull()) fGoldenFile.mytemp2d->SetTitle(htitle);
-	fRootFile.mytemp2d->Draw("sames"+type);
-      } else {
-	fRootFile.mytemp2d->SetStats(showStat);
-	if(!htitle.IsNull()) fGoldenFile.mytemp2d->SetTitle(htitle);
-	fRootFile.mytemp2d->Draw(type);
-      }
-    }
-    return;
-  }
-
-  if(command.objtype.Contains("TH3")) {
-    // Operation for TH3
-    if(!showGolden) fRootFile.RootFile->cd();
-    if(fDir) fDir->cd();
-    fRootFile.mytemp3d = (TH3D*)gDirectory->Get(command.objname);
-    if(fRootFile.mytemp3d->GetEntries()==0) {
-      BadDraw("Empty Histogram");
-    } else {
-      fRootFile.mytemp3d->Draw();
-      if(showGolden) {
-	fGoldenFile.RootFile->cd();
-	if(fDir) fDir->cd();
-	fGoldenFile.mytemp3d = (TH3D*)gDirectory->Get(command.objname);
-	fGoldenFile.mytemp3d->SetMarkerColor(2);
-	fRootFile.mytemp3d->SetStats(showStat);
-	fGoldenFile.mytemp3d->SetStats(kFALSE);
-	fGoldenFile.mytemp3d->Draw(type);
-	if(!htitle.IsNull()) fGoldenFile.mytemp3d->SetTitle(htitle);
-	fRootFile.mytemp3d->Draw("sames"+type);
-      } else {
-	fRootFile.mytemp3d->SetStats(showStat);
-	if(!htitle.IsNull()) fGoldenFile.mytemp3d->SetTitle(htitle);
-	fRootFile.mytemp3d->Draw(type);
-      }
-    }
-    return;
-  }
-  
-}
-
-drawcommand OnlineGUI::fileObject2command(drawcommand command, RootFileObject* fLocalRootFileObj) {
-  // Fill in gaps in the drawcommand with items from the
-  // vfileObject.  This elimates the need for duplicate code in
-  // the different *Draw routines.
-  for(UInt_t i=0; i<fLocalRootFileObj->vfileObjects.size(); i++) {
-    if(fLocalRootFileObj->vfileObjects[i].name==command.variable ||
-       fLocalRootFileObj->vfileObjects[i].title==command.variable ) {
-      command.objname = fLocalRootFileObj->vfileObjects[i].name;
-      command.objtitle = fLocalRootFileObj->vfileObjects[i].title;
-      command.objtype = fLocalRootFileObj->vfileObjects[i].type;
-      command.directory = fLocalRootFileObj->vfileObjects[i].directory;
-#ifdef DEBUGf2command
-      cout << command.directory << " " 
-	   << command.objtype  << " " 
-	   << command.objname 
-	   << endl;
-#endif
-      return command;
-    }
-  }
-  return command;
-  
-
-}
-
-void OnlineGUI::TreeDraw(drawcommand command) {
-  // Called by DoDraw(), this will plot a Tree Variable
-
-  TString var = command.variable;
-  Bool_t showGolden=kFALSE;
-  if(doGolden) showGolden=kTRUE;
-
-  Bool_t showStat=kTRUE;
-  if(command.nostat=="nostat") showStat=kFALSE;
-
-  //TObject *hobj;
-
-  // Combine the cuts (definecuts and specific cuts)
-  TCut cut = "";
-  TString tempCut;
-  if(!command.cut.IsNull()) {
-    tempCut = command.cut;
-    vector <TString> cutIdents = fConfig->GetCutIdent();
-    for(UInt_t i=0; i<cutIdents.size(); i++) {
-      if(tempCut.Contains(cutIdents[i])) {
-	TString cut_found = (TString)fConfig->GetDefinedCut(cutIdents[i]);
-	tempCut.ReplaceAll(cutIdents[i],cut_found);
-      }
-    }
-    cut = (TCut)tempCut;
-  }
-
-  // Determine which Tree the variable comes from, then draw it.
-  UInt_t iTree;
-  if(command.treename.IsNull()) {
-    iTree = GetTreeIndex(var,&fRootFile);
-  } else {
-    iTree = GetTreeIndexFromName(command.treename,&fRootFile);
-  }
-  TString drawopt = command.type;
-  Int_t errcode=0;
-  if(drawopt.IsNull() && var.Contains(":")) drawopt = "cont";
-  if(drawopt=="scat") drawopt = "";
-
-  fRootFile.RootFile->cd();
-  if (iTree <= fRootFile.RootTree.size() ) {
-    TObjArray* tok = var.Tokenize(">()");
-    TString myvar   = ((TObjString*)tok->First())->GetString();
-    TString hname   = "h";
-    TString histdef = ((TObjString*)tok->Last())->GetString();
-    if(tok->GetEntries() == 1) histdef = "";        // ie "var[0]"
-    if(tok->GetEntries() == 2) {
-      if(! histdef.Contains(",") ) {             // ie "var[0]>>h1"
-        hname = histdef;
-        histdef = "";
-      }
-    }
-    if(tok->GetEntries() == 3) hname = ((TObjString*)tok->At(1))->GetString();  // ie "var[0]>>h1(100,0,100)"
-    delete tok;
-    TString tmp = var + tempCut;
-    hname = Form("%s_%u",hname.Data(),tmp.Hash());      // unique id so caching histos works
-
-    errcode=1;
-    TObject *hobj  = gDirectory->Get(hname);
-    if(hobj == NULL) {
-      errcode = fRootFile.RootTree[iTree]->Draw(myvar+">>"+hname+"("+histdef+")",cut,drawopt,
-				     1000000000,fRootFile.TreeEntries[iTree]);
-      hobj = gDirectory->Get(hname);
-    }
-    TH1F *mainhist = (TH1F*)hobj;
-    mainhist->Draw(drawopt);
-    //tmp = myvar+">>"+hname+"("+histdef+")";
-    //printf("hist: '%s',  opt: '%s',  \"%s\"\n", hname.Data(), drawopt.Data(),tmp.Data());
-
-    if(errcode==-1) {
-      BadDraw(var+" not found");
-    } else if (errcode!=0) {
-      TString htype = hobj->ClassName();
-      if(! htype.Contains("TH1F") ) {
-        //printf("skipping.\n");
-        showGolden=kFALSE;
-      }
-      if(showGolden) {
-        errcode=1;
-        TString goldname = "gold"+hname;
-        TH1F *goldhist = (TH1F*)gDirectory->Get(goldname);
-        if(goldhist == NULL) {
-          goldhist = (TH1F*)mainhist->Clone(hname);
-          goldhist->SetName(goldname);
-          errcode = fGoldenFile.RootTree[iTree]->Project(goldname,myvar,cut);
-        }
-        if(errcode>0) {
-          goldhist->SetFillColor(30);
-	  Int_t fillstyle=3027;
-	  if(fPrintOnly) fillstyle=3010;
-	  goldhist->SetFillStyle(fillstyle);
-          goldhist->Draw(drawopt);
-          mainhist->SetFillColor(0);
-          mainhist->SetFillStyle(1001);
-          mainhist->Draw("same");
-          if(!command.title.IsNull()) goldhist->SetTitle(command.title);
-          if(!showStat)               goldhist->SetStats(kFALSE);
-        }
-      } else {
-        if(!command.title.IsNull()) mainhist->SetTitle(command.title);
-        if(!showStat)               mainhist->SetStats(kFALSE);
-      }
-    } else {
-      BadDraw("Empty Histogram");
-    }
-  } else {
-    BadDraw(var+" not found");
-    if (fConfig->IsMonitor()){
-      // Maybe we missed it... look again.  I dont like the code
-      // below... maybe I can come up with something better
-      GetFileObjects(&fRootFile);
-      GetRootTree(&fRootFile);
-      GetTreeVars(&fRootFile);
-    }
-  }
-
-}
-
-void OnlineGUI::ObtainRunNumber()
-{
-  // Utility to obtain the runnumber through a helper macro
-  //  "GetRunNumber.C"
-  
-  if (runNumber==0) runNumber = GetRunNumber();
-#ifdef DEBUG
-  cout << "Runnumber from file: " << runNumber << endl;
-#endif
-}
-
-void OnlineGUI::PrintToFile()
-{
-  // Routine to print the current page to a File.
-  //  A file dialog pop's up to request the file name.
-  fCanvas = fEcanvas->GetCanvas();
-  gStyle->SetPaperSize(20,24);
-  static TString dir("printouts");
-  TGFileInfo fi;
-  const char *myfiletypes[] = 
-    { "All files","*",
-      "PostScript files","*.ps",
-      "Encapsulated PostScript files","*.eps",
-      "GIF files","*.gif",
-      "JPG files","*.jpg",
-      0,               0 };
-  fi.fFileTypes = myfiletypes;
-  fi.fIniDir    = StrDup(dir.Data());
-
-  new TGFileDialog(gClient->GetRoot(), fMain, kFDSave, &fi);
-  if(fi.fFilename!=NULL) fCanvas->Print(fi.fFilename);
-}
-
-void OnlineGUI::PrintPages() {
-  // Routine to go through each defined page, and print the output to 
-  // a postscript file. (good for making sample histograms).
-  
-  // Open the RootFile
-    //  unless we're watching a file.
-  fRootFile.RootFile = new TFile(fConfig->GetRootFile(),"READ");
-  if(!fRootFile.RootFile->IsOpen()) {
-    cout << "ERROR:  rootfile: " << fConfig->GetRootFile()
-	 << " does not exist"
-	 << endl;
-#ifdef STANDALONE
-    gApplication->Terminate();
-#else
-    return;
-#endif
-  } else {
-    fFileAlive = kTRUE;
-    ObtainRunNumber();
-    // Open the Root Trees.  Give a warning if it's not there..
-    GetFileObjects(&fRootFile);
-    GetRootTree(&fRootFile);
-    GetTreeVars(&fRootFile);
-    for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
-      if(fRootFile.RootTree[i]==0) {
-	fRootFile.RootTree.erase(fRootFile.RootTree.begin() + i);
-      }
-    }
-    
-  }
-  TString goldenfilename=fConfig->GetGoldenFile();
-  if(!goldenfilename.IsNull()) {
-    fGoldenFile.RootFile = new TFile(goldenfilename,"READ");
-    if(!fGoldenFile.RootFile->IsOpen()) {
-      cout << "ERROR: goldenrootfile: " << goldenfilename
-	   << " does not exist.  Oh well, no comparison plots."
-	   << endl;
-      doGolden = kFALSE;
-      fGoldenFile.RootFile=NULL;
-    } else {
-      // Open the Root Trees.  Give a warning if it's not there..
-      GetFileObjects(&fGoldenFile);
-      GetRootTree(&fGoldenFile);
-      GetTreeVars(&fGoldenFile);
-      for(UInt_t i=0; i<fGoldenFile.RootTree.size(); i++) {
-        if(fGoldenFile.RootTree[i]==0) {
-	  fGoldenFile.RootTree.erase(fGoldenFile.RootTree.begin() + i);
-        }
-      }
-      doGolden = kTRUE;
-    }
-  } else {
-    doGolden=kFALSE;
-    fGoldenFile.RootFile=NULL;
-  }
-
-  // I'm not sure exactly how this works.  But it does.
-  fCanvas = new TCanvas("fCanvas","trythis",850,1100);
-//   TCanvas *maincanvas = new TCanvas("maincanvas","whatever",850,1100);
-//   maincanvas->SetCanvas(fCanvas);
-  TLatex *lt = new TLatex();
-
-  TString plotsdir = fConfig->GetPlotsDir();
-  Bool_t useJPG = kFALSE;
-  if(!plotsdir.IsNull()) useJPG = kTRUE;
-
-  TString filename = "summaryplots";
-  if(runNumber!=0) {
-    filename += "_";
-    filename += runNumber;
-  }
-  if(useJPG) {
-    filename.Prepend(plotsdir+"/");
-    filename += "_pageXXXX.jpg";
-  }
-  else filename += ".ps";
-
-  TString pagehead = "Summary Plots";
-  if(runNumber!=0) {
-    pagehead += "(Run #";
-    pagehead += runNumber;
-    pagehead += ")";
-  }
-  pagehead += ": ";
-
-  gStyle->SetPalette(1);
-  gStyle->SetTitleX(0.15);
-  gStyle->SetTitleY(0.9);
-  gStyle->SetPadBorderMode(0);
-  gStyle->SetHistLineColor(1);
-  gStyle->SetHistFillColor(1);
-  if(!useJPG) fCanvas->Print(filename+"[");
-  TString origFilename = filename;
-  for(UInt_t i=0; i<fConfig->GetPageCount(); i++) {
-    current_page=i;
-    DoDraw();
-    TString pagename = pagehead + fConfig->GetPageTitle(current_page);
-    lt->SetTextSize(0.025);
-    lt->DrawLatex(0.05,0.98,pagename);
-    if(useJPG) {
-      filename = origFilename;
-      filename.ReplaceAll("XXXX",Form("%d",current_page));
-      cout << "Printing page " << current_page 
-	   << " to file = " << filename << endl;
-    }
-    fCanvas->Print(filename);
-  }
-  if(!useJPG) fCanvas->Print(filename+"]");
-  
-#ifdef STANDALONE
-  gApplication->Terminate();
-#endif
-}
-
-void OnlineGUI::MyCloseWindow()
-{
-  fMain->SendCloseMessage();
-  cout << "OnlineGUI Closed." << endl;
-  if(timer!=NULL) {
-    timer->Stop();
-    delete timer;
-  }
-  delete fPrint;
-  delete fExit;
-  delete fRunNumber;
-  delete fPrev;
-  delete fNext;
-  delete wile;
-  for(UInt_t i=0; i<fConfig->GetPageCount(); i++) 
-    delete fRadioPage[i];
-  delete hframe;
-  delete fEcanvas;
-  delete fBottomFrame;
-  delete vframe;
-  delete fTopframe;
-  delete fMain;
-  if(fGoldenFile.RootFile!=NULL) delete fGoldenFile.RootFile;
-  if(fRootFile.RootFile!=NULL) delete fRootFile.RootFile;
-  delete fConfig;
-
-#ifdef STANDALONE
-  gApplication->Terminate();
-#endif
-}
-
-void OnlineGUI::CloseGUI() 
-{
-  // Routine to take care of the Exit GUI button
-  fMain->SendCloseMessage();
-}
-
-OnlineGUI::~OnlineGUI()
-{
-  //  fMain->SendCloseMessage();
-  if(timer!=NULL) {
-    timer->Stop();
-    delete timer;
-  }
-  delete fPrint;
-  delete fExit;
-  delete fRunNumber;
-  delete fPrev;
-  delete fNext;
-  delete wile;
-  for(UInt_t i=0; i<fConfig->GetPageCount(); i++) 
-    delete fRadioPage[i];
-  delete hframe;
-  delete fEcanvas;
-  delete vframe;
-  delete fBottomFrame;
-  delete fTopframe;
-  delete fMain;
-  if(fGoldenFile.RootFile!=NULL) delete fGoldenFile.RootFile;
-  if(fRootFile.RootFile!=NULL) delete fRootFile.RootFile;
-  delete fConfig;
-}
-
-void online(TString type="standard",UInt_t run=0,Bool_t printonly=kFALSE) 
-{
-  // "main" routine.  Run this at the ROOT commandline.
-
-  if(printonly) {
-    if(!gROOT->IsBatch()) {
-#ifdef STANDALONE
-      gROOT->SetBatch();
-#else
-      cout << "Sorry... the print summary plots option only works "
-	   << "in BATCH mode." << endl;
-      return;
-#endif
-    }
-  }
-
-  OnlineConfig *fconfig = new OnlineConfig(type);
-    //    OnlineConfig *fconfig = new OnlineConfig("halla");
-
-  if(!fconfig->ParseConfig()) {
-#ifdef STANDALONE
-    gApplication->Terminate();
-#else
-    return;
-#endif
-  }
-
-  if(run!=0) fconfig->OverrideRootFile(run);
-
-  new OnlineGUI(*fconfig,printonly,run);
-
-}
-
-#ifdef STANDALONE
-void Usage()
-{
-  cerr << "Usage: online [-r] [-f] [-P]"
-       << endl;
-  cerr << "Options:" << endl;
-  cerr << "  -r : runnumber" << endl;
-  cerr << "  -f : configuration file" << endl;
-  cerr << "  -P : Only Print Summary Plots" << endl;
-  cerr << endl;
-
-}
-
-int main(int argc, char **argv)
-{
-  TString type="default";
-  UInt_t run=0;
-  Bool_t printonly=kFALSE;
-  Bool_t showedUsage=kFALSE;
-
-  TApplication theApp("App",&argc,argv,NULL,-1);
-
-  for(Int_t i=1;i<theApp.Argc();i++)
-    {
-      TString sArg = theApp.Argv(i);
-      if(sArg=="-f") {
-	type = theApp.Argv(++i);
-	cout << " File specifier: "
-	     <<  type << endl;
-      } else if (sArg=="-r") {
-	run = atoi(theApp.Argv(++i));
-	cout << " Runnumber: "
-	     << run << endl;
-      } else if (sArg=="-P") {
-	printonly = kTRUE;
-	cout <<  " PrintOnly" << endl;
-      } else if (sArg=="-h") {
-	if(!showedUsage) Usage();
-	showedUsage=kTRUE;
-	return 0;
-      } else {
-	cerr << "\"" << sArg << "\"" << " not recognized.  Ignored." << endl;
-	if(!showedUsage) Usage();
-	showedUsage=kTRUE;
-      }
-    }
-
-  online(type,run,printonly);
-  theApp.Run();
-
-  return 0;
-}
-
-#endif
+///////////////////////////////////////////////////////////////////
+//  Macro to help with online analysis
+//    B. Moffit (moffit@jlab.org)
+//    - Originally written in Oct. 2003
+//  Documentation and updates available at:
+//    http://www.jlab.org/~moffit/onlineGUI/
+//
+
+#include "online.h"
+#include <string>
+#include <fstream>
+#include <iostream>
+#include <list>
+#include <TMath.h>
+#include <TBranch.h>
+#include <TGClient.h>
+#include <TCanvas.h>
+#include <TStyle.h>
+#include <TROOT.h>
+#include <TGImageMap.h>
+#include <TGFileDialog.h>
+#include <TKey.h>
+#include <TObjString.h>
+#include <TSystem.h>
+#include <TLatex.h>
+#include <TText.h>
+#include <TGraph.h>
+#include "GetRootFileName.C"
+#include "GetRunNumber.C"
+#include "TPaveText.h"
+#ifdef STANDALONE
+#include <TApplication.h>
+#endif
+// #define DEBUGGETFILEOBJECTS
+// #define DEBUGPARSE
+// #define DEBUG
+//#define DEBUG2
+//#define NOISY
+//#define INTERNALSTYLE
+
+//TString guiDirectory = "onlineGUI_v1.2.1/";
+TString guiDirectory = "./";
+
+///////////////////////////////////////////////////////////////////
+//  Class: OnlineConfig
+//
+//     Utility class that reads in a text file (.cfg) and
+//     stores it's contents.
+//
+//
+
+OnlineConfig::OnlineConfig()
+{
+  // Constructor.  Without an argument, will use default "standard" config
+  fMonitor = kFALSE;
+  OnlineConfig("standard");
+}
+
+OnlineConfig::OnlineConfig(TString anatype)
+{
+  // Constructor.  Takes the config anatype as the only argument.
+  //  Loads up the configuration file, and stores it's contents for access.
+
+  confFileName = anatype;
+  configfilestart=anatype;
+  if(!confFileName.Contains(".cfg"))
+    confFileName += ".cfg";
+  fMonitor = kFALSE;
+  fFoundCfg = kFALSE;
+
+  // Attempt to find the config file in specified (first argument,
+  // relative or absolute) location, then in guiDirectory
+  fConfFile = new ifstream(confFileName.Data());
+  if ( ! (*fConfFile) ) {
+    cerr << "OnlineConfig() WARNING: config file " << confFileName.Data()
+         << " does not exist" << endl;
+    cerr << " Checking the " << guiDirectory << " directory" << endl;
+    confFileName.Prepend(guiDirectory+"/");
+    fConfFile = new ifstream(confFileName.Data());
+    if ( ! (*fConfFile) ) {
+      // Didn't find it... load up the default config
+      confFileName = guiDirectory+"/default.cfg";
+      cout << "OnlineConfig()  Trying " << confFileName.Data()
+	   << " as default configuration." << endl
+	   << " (May be ok.)" << endl;
+      fConfFile = new ifstream(confFileName.Data());
+      if ( ! (*fConfFile) ) {
+	cerr << "OnlineConfig() WARNING: no file "
+	     << confFileName.Data() <<endl;
+	cerr << "You need a configuration to run.  Ask an expert."<<endl;
+	fFoundCfg = kFALSE;
+	//      return;
+      } else {
+	fFoundCfg = kTRUE;
+      }
+    } else {
+      fFoundCfg = kTRUE;
+    }
+  } else {
+    fFoundCfg = kTRUE;
+  }
+
+  if(fFoundCfg) {
+  clog << "GUI Configuration loading from "
+       << confFileName.Data() << endl;
+  }
+
+  ParseFile();
+
+  // Load up a user configurable style (if it exists)
+  TString styleFile = guiDirectory+"onlineGUI_Style.C";
+  if(!gSystem->AccessPathName(styleFile))
+     gROOT->Macro(styleFile);
+
+  fConfFile->close();
+  delete fConfFile;
+
+}
+
+void OnlineConfig::ParseFile()
+{
+  // Reads in the Config File, and makes the proper calls to put
+  //  the information contained into memory.
+
+  if(!fFoundCfg) {
+    return;
+  }
+
+  TString comment = "#";
+  vector<TString> strvect;
+  TString sinput, sline;
+  while (sline.ReadLine(*fConfFile)) {
+    strvect.clear();
+    // Strip away leading and trailing spaces.
+    sline = sline.Strip(TString::kBoth,' ');
+    // If the line starts with a comment, skip it.
+    if(sline.BeginsWith(comment)) continue;
+    // If the line contains a comment, split it up into two and keep
+    // the uncommented (first) part
+    if(sline.Contains(comment)) {
+      TObjArray *tmpoarr = sline.Tokenize(comment);
+      TObjString *tmpostr = (TObjString*)tmpoarr->First();
+      sline = tmpostr->GetString().Strip(TString::kTrailing,' ');
+      delete tmpoarr;
+    }
+    // Now split up the line according to 's and spaces.  This is for
+    // looking for the histogram using it's title (which may contain
+    // spaces) instead of its name.
+    if(sline.Contains("'")) {
+      TObjArray *tmpoarr = sline.Tokenize("'");
+      Bool_t quote_on_odd = kTRUE;
+      if(!(sline.BeginsWith("'"))) quote_on_odd=kFALSE;
+      TIterator *next = tmpoarr->MakeIterator();
+      TObjString *tmpostr; Bool_t odd=kTRUE;
+      while((tmpostr=(TObjString*)next->Next())!=NULL) {
+	if((quote_on_odd&&odd) || (!quote_on_odd&&!odd)) {
+	  strvect.push_back(tmpostr->GetString());
+	  odd = !odd;
+	} else {
+	  TObjArray *tmpoarr2 = tmpostr->GetString().Tokenize(" ");
+	  TIterator *next2 = tmpoarr2->MakeIterator();
+	  TObjString *tmpostr2;
+	  while((tmpostr2=(TObjString*)next2->Next())!=NULL) {
+	    strvect.push_back(tmpostr2->GetString());
+	  }
+	  delete tmpoarr2;
+	  odd = !odd;
+	}
+      }
+      delete tmpoarr;
+    } else { // No 's.. just split according to spaces
+      TObjArray *tmpoarr2 = sline.Tokenize(" ");
+      TIterator *next2 = tmpoarr2->MakeIterator();
+      TObjString *tmpostr2;
+      while((tmpostr2=(TObjString*)next2->Next())!=NULL) {
+	strvect.push_back(tmpostr2->GetString());
+      }
+      delete tmpoarr2;
+    }
+    sConfFile.push_back(strvect);
+
+}
+
+#ifdef DEBUGPARSE
+  for(UInt_t ii=0; ii<sConfFile.size(); ii++) {
+    cout << "Line " << ii << endl << "  ";
+    for(UInt_t jj=0; jj<sConfFile[ii].size(); jj++)
+      cout << sConfFile[ii][jj] << " ";
+    cout << endl;
+  }
+#endif
+
+  cout << "     " << sConfFile.size() << " lines read from "
+       << confFileName << endl;
+
+}
+
+Bool_t OnlineConfig::ParseConfig()
+{
+  //  Goes through each line of the config [must have been ParseFile()'d]
+  //   and interprets.
+
+  if(!fFoundCfg) {
+    return kFALSE;
+  }
+
+  UInt_t command_cnt=0;
+  UInt_t j=0;
+  Bool_t hasMultiPlots=kFALSE;
+  canvaswidth = 800;		// Default canvas size
+  canvasheight = 600;
+  // If statement for each high level command (cut, newpage, etc)
+  for(UInt_t i=0;i<sConfFile.size();i++) {
+    // "newpage" command
+    if(sConfFile[i][0] == "newpage") {
+      // sConfFile[i] is first of pair
+      for(j=i+1;j<sConfFile.size();j++) {
+	if(sConfFile[j][0] != "newpage") {
+	  // Count how many commands within the page
+	  command_cnt++;
+	} else break;
+      }
+      pageInfo.push_back(make_pair(i,command_cnt));
+      i += command_cnt;
+      command_cnt=0;
+    }
+    if(sConfFile[i][0] == "watchfile") {
+      fMonitor = kTRUE;
+    }
+    if(sConfFile[i][0] == "definecut") {
+      if(sConfFile[i].size()>3) {
+	cerr << "cut command has too many arguments" << endl;
+	continue;
+      }
+      TCut tempCut(sConfFile[i][1],sConfFile[i][2]);
+      cutList.push_back(tempCut);
+    }
+    if(sConfFile[i][0] == "rootfile") {
+      if(sConfFile[i].size() != 2) {
+	cerr << "WARNING: rootfile command does not have the "
+	     << "correct number of arguments"
+	     << endl;
+	continue;
+      }
+      if(!rootfilename.IsNull()) {
+	cerr << "WARNING: too many rootfile's defined. "
+	     << " Will only use the first one."
+	     << endl;
+	continue;
+      }
+      rootfilename = sConfFile[i][1];
+    }
+    if(sConfFile[i][0] == "goldenrootfile") {
+      if(sConfFile[i].size() != 2) {
+	cerr << "WARNING: goldenfile command does not have the "
+	     << "correct number of arguments"
+	     << endl;
+	continue;
+      }
+      if(!goldenrootfilename.IsNull()) {
+	cerr << "WARNING: too many goldenrootfile's defined. "
+	     << " Will only use the first one."
+	     << endl;
+	continue;
+      }
+      goldenrootfilename = sConfFile[i][1];
+    }
+    if(sConfFile[i][0] == "protorootfile") {
+      if(sConfFile[i].size() != 2) {
+	cerr << "WARNING: protorootfile command does not have the "
+	     << "correct number of arguments"
+	     << endl;
+	continue;
+      }
+      if(!protorootfile.IsNull()) {
+	cerr << "WARNING: too many protorootfile's defined. "
+	     << " Will only use the first one."
+	     << endl;
+	continue;
+      }
+      protorootfile = sConfFile[i][1];
+    }
+    if(sConfFile[i][0] == "guicolor") {
+      if(sConfFile[i].size() != 2) {
+	cerr << "WARNING: guicolor command does not have the "
+	     << "correct number of arguments (needs 1)"
+	     << endl;
+	continue;
+      }
+      if(!guicolor.IsNull()) {
+	cerr << "WARNING: too many guicolor's defined. "
+	     << " Will only use the first one."
+	     << endl;
+	continue;
+      }
+      guicolor = sConfFile[i][1];
+    }
+    if(sConfFile[i][0] == "canvassize") {
+      if(sConfFile[i].size() != 3) {
+	cerr << "WARNING: canvassize command does not have the "
+	     << "correct number of arguments (needs 2)"
+	     << endl;
+	continue;
+      }
+      canvaswidth = UInt_t(atoi(sConfFile[i][1]));
+      canvasheight = UInt_t(atoi(sConfFile[i][2]));
+    }
+    if(sConfFile[i][0] == "plotsdir") {
+      if(sConfFile[i].size() != 2) {
+	cerr << "WARNING: plotsdir command does not have the "
+	     << "correct number of arguments (needs 1)"
+	     << endl;
+	continue;
+      }
+      if(!plotsdir.IsNull()) {
+	cerr << "WARNING: too many plotdir's defined. "
+	     << " Will only use the first one."
+	     << endl;
+	continue;
+      }
+      plotsdir = sConfFile[i][1];
+    }
+    if(sConfFile[i][0] == "multiplot") {
+      hasMultiPlots = kTRUE;
+    }
+
+  }
+
+  if(hasMultiPlots) {
+    if(!ParseForMultiPlots()) {
+      cerr << "ParseForMultiPlots() Failed" << endl;
+    }
+  }
+
+#ifdef NOISY
+  for(UInt_t i=0; i<GetPageCount(); i++) {
+    cout << "Page " << i << " (" << GetPageTitle(i) << ")"
+	 << " will draw " << GetDrawCount(i)
+	 << " histograms." << endl;
+  }
+#endif
+
+  cout << "Number of pages defined = " << GetPageCount() << endl;
+  cout << "Number of cuts defined = " << cutList.size() << endl;
+
+  if (fMonitor)
+    cout << "Will periodically update plots" << endl;
+  if(!goldenrootfilename.IsNull()) {
+    cout << "Will compare chosen histrograms with the golden rootfile: "
+	 << endl
+	 << goldenrootfilename << endl;
+  }
+
+  return kTRUE;
+
+}
+
+Bool_t OnlineConfig::ParseForMultiPlots() {
+  // Parse through each line of sConfFile,
+  // and replace each "multiplot" command with a real draw entry
+
+  vector < vector <TString> > newConfFile;
+  for(UInt_t iter=0;iter<sConfFile.size();iter++) {
+    if(sConfFile[iter][0]=="multiplot") {
+      // First argument is the low limit,
+      // second argument is the high limit
+      UInt_t lolimit = (UInt_t)sConfFile[iter][1].Atoi();
+      UInt_t hilimit = (UInt_t)sConfFile[iter][2].Atoi();
+
+      // For the rest of the line, replace all of the XXXXX's
+      // with an iteration from lolimit to hilimit.
+      for(UInt_t imult=lolimit;imult<=hilimit;imult++) {
+	vector <TString> newline;
+	for(UInt_t ielem=3; ielem<sConfFile[iter].size();ielem++) {
+	  TString origString = sConfFile[iter][ielem];
+	  TString newString = origString;
+	  newString.ReplaceAll("XXXXX",Form("%d",imult));
+	  newline.push_back(newString);
+	}
+	newConfFile.push_back(newline);
+      }
+    } else {
+      newConfFile.push_back(sConfFile[iter]);
+    }
+  }
+
+#ifdef DEBUG
+  for(UInt_t iter=0;iter<newConfFile.size();iter++) {
+    for(UInt_t iline=0;iline<newConfFile[iter].size();iline++) {
+      cout << newConfFile[iter][iline] << " ";
+    }
+    cout << endl;
+  }
+#endif
+
+  // Out with the old, in with the new.
+  sConfFile.clear();
+  sConfFile = newConfFile;
+
+  // Now need to recalculate pageInfo.
+  UInt_t command_cnt=0;
+  UInt_t j=0;
+
+  pageInfo.clear();
+  // If statement for each high level command (cut, newpage, etc)
+  for(UInt_t i=0;i<sConfFile.size();i++) {
+    // "newpage" command
+    if(sConfFile[i][0] == "newpage") {
+      // sConfFile[i] is first of pair
+      for(j=i+1;j<sConfFile.size();j++) {
+	if(sConfFile[j][0] != "newpage") {
+	  // Count how many commands within the page
+	  command_cnt++;
+	} else break;
+      }
+      pageInfo.push_back(make_pair(i,command_cnt));
+      i += command_cnt;
+      command_cnt=0;
+    }
+  }
+
+  return kTRUE;
+
+}
+
+TCut OnlineConfig::GetDefinedCut(TString ident) {
+  // Returns the defined cut, according to the identifier
+
+  for(UInt_t i=0; i<cutList.size(); i++) {
+    if((TString)cutList[i].GetName() == ident.Data()) {
+      TCut tempCut = cutList[i].GetTitle();
+      return tempCut;
+    }
+  }
+  return "";
+}
+
+vector <TString> OnlineConfig::GetCutIdent() {
+  // Returns a vector of the cut identifiers, specified in config
+  vector <TString> out;
+
+  for(UInt_t i=0; i<cutList.size(); i++) {
+    out.push_back(cutList[i].GetName());
+  }
+
+  return out;
+}
+
+Bool_t OnlineConfig::IsLogx(UInt_t page) {
+// Check if last word on line is "logx"
+
+  UInt_t page_index = pageInfo[page].first;
+  Int_t word_index = sConfFile[page_index].size()-1;
+  if (word_index <= 0) return kFALSE;
+  TString option = sConfFile[page_index][word_index];
+  if(option == "logx") return kTRUE;
+  return kFALSE;
+
+}
+
+Bool_t OnlineConfig::IsLogy(UInt_t page) {
+// Check if last word on line is "logy"
+
+  UInt_t page_index = pageInfo[page].first;
+  Int_t word_index = sConfFile[page_index].size()-1;
+  if (word_index <= 0) return kFALSE;
+  TString option = sConfFile[page_index][word_index];
+  if(option == "logy") return kTRUE;
+  return kFALSE;
+
+}
+
+Bool_t OnlineConfig::IsLogz(UInt_t page) {
+// Check if last word on line is "logz"
+
+  UInt_t page_index = pageInfo[page].first;
+  Int_t word_index = sConfFile[page_index].size()-1;
+  if (word_index <= 0) return kFALSE;
+  TString option = sConfFile[page_index][word_index];
+  if(option == "logz") return kTRUE;
+  return kFALSE;
+
+}
+
+
+pair <UInt_t, UInt_t> OnlineConfig::GetPageDim(UInt_t page)
+{
+  // If defined in the config, will return those dimensions
+  //  for the indicated page.  Otherwise, will return the
+  //  calculated dimensions required to fit all histograms.
+
+  pair <UInt_t, UInt_t> outDim;
+
+  // This is the page index in sConfFile.
+  UInt_t page_index = pageInfo[page].first;
+
+  UInt_t size1 = 2;
+
+  if (IsLogx(page)) size1 = 3;  // last word is "logy"
+  if (IsLogy(page)) size1 = 3;  // last word is "logy"
+  if (IsLogz(page)) size1 = 3;  // last word is "logy"
+
+  // If the dimensions are defined, return them.
+  if(sConfFile[page_index].size()>size1-1) {
+    if(sConfFile[page_index].size() == size1) {
+      outDim = make_pair(UInt_t(atoi(sConfFile[page_index][1])),
+		       UInt_t(atoi(sConfFile[page_index][1])));
+      return outDim;
+    } else if (sConfFile[page_index].size() == size1+1) {
+      outDim = make_pair(UInt_t(atoi(sConfFile[page_index][1])),
+		       UInt_t(atoi(sConfFile[page_index][2])));
+      return outDim;
+    } else {
+      cout << "Warning: newpage command has too many arguments. "
+	   << "Will automatically determine dimensions of page."
+	   << endl;
+    }
+  }
+
+  // If not defined, return the "default."
+  UInt_t draw_count = GetDrawCount(page);
+  UInt_t dim = UInt_t(TMath::Nint(sqrt(double(draw_count+1))));
+  outDim = make_pair(dim,dim);
+
+  return outDim;
+}
+
+TString OnlineConfig::GetPageTitle(UInt_t page)
+{
+  // Returns the title of the page.
+  //  if it is not defined in the config, then return "Page #"
+
+  TString title;
+
+  UInt_t iter_command = pageInfo[page].first+1;
+
+  for(UInt_t i=0; i<pageInfo[page].second; i++) { // go through each command
+    if(sConfFile[iter_command+i][0] == "title") {
+      // Combine the strings, and return it
+      for (UInt_t j=1; j<sConfFile[iter_command+i].size(); j++) {
+	title += sConfFile[iter_command+i][j];
+	title += " ";
+      }
+      title.Chop();
+      return title;
+    }
+  }
+  title = "Page "; title += page;
+  return title;
+}
+
+vector <UInt_t> OnlineConfig::GetDrawIndex(UInt_t page)
+{
+  // Returns an index of where to find the draw commands within a page
+  //  within the sConfFile vector
+
+  vector <UInt_t> index;
+  UInt_t iter_command = pageInfo[page].first+1;
+
+  for(UInt_t i=0; i<pageInfo[page].second; i++) {
+    if(sConfFile[iter_command+i][0] != "title") {
+      index.push_back(iter_command+i);
+    }
+  }
+
+  return index;
+}
+
+UInt_t OnlineConfig::GetDrawCount(UInt_t page)
+{
+  // Returns the number of histograms that have been request for this page
+  UInt_t draw_count=0;
+
+  for(UInt_t i=0; i<pageInfo[page].second; i++) {
+    if(sConfFile[pageInfo[page].first+i+1][0] != "title") draw_count++;
+  }
+
+  return draw_count;
+
+}
+
+drawcommand OnlineConfig::GetDrawCommand(UInt_t page, UInt_t nCommand)
+{
+  // Returns the vector of strings pertaining to a specific page, and
+  //   draw command from the config.
+  // Return vector of TStrings:
+  //  0: variable
+  //  1: cut - only for Tree variables
+  //  2: type
+  //  3: title
+  //  4: treename - only for Tree variables
+  //  5: nostat
+  //  6: noshowgolden  - only for Histograms
+  //  This should probably be replaced with an actual structure
+
+  drawcommand out_command;
+  vector <UInt_t> command_vector = GetDrawIndex(page);
+  UInt_t index = command_vector[nCommand];
+
+#ifdef DEBUG
+  cout << "OnlineConfig::GetDrawCommand(" << page << ","
+       << nCommand << ")" << endl;
+#endif
+
+  // First line is the variable
+  if(sConfFile[index].size()>=1) {
+    out_command.variable = sConfFile[index][0];
+  }
+  if(sConfFile[index].size()>=2) {
+    if((sConfFile[index][1] != "-type") &&
+       (sConfFile[index][1] != "-title") &&
+       (sConfFile[index][1] != "-tree") &&
+       (sConfFile[index][1] != "-noshowgolden") &&
+       (sConfFile[index][1] != "-nostat")) {
+      if(out_command.variable=="macro") {
+	out_command.macro = sConfFile[index][1];
+      } else {
+	out_command.cut = sConfFile[index][1];
+      }
+    }
+  }
+
+  // Now go through the rest of that line..
+  for (UInt_t i=1; i<sConfFile[index].size(); i++) {
+    if(sConfFile[index][i]=="-type") {
+      out_command.type = sConfFile[index][i+1];
+      i = i+1;
+    } else if(sConfFile[index][i]=="-title") {
+      // Put the entire title, surrounded by quotes, as one TString
+      TString title;
+      UInt_t j=0;
+      for(j=i+1; j<sConfFile[index].size(); j++) {
+	TString word = sConfFile[index][j];
+	if( (word.BeginsWith("\"")) && (word.EndsWith("\"")) ) {
+	  title = word.ReplaceAll("\"","");
+	  out_command.title = title;
+	  i = j;
+	  break;
+	} else if(word.BeginsWith("\"")) {
+	  title = word.ReplaceAll("\"","");
+	} else if(word.EndsWith("\"")) {
+	  title += " " + word.ReplaceAll("\"","");
+	  out_command.title = title;
+	  i = j;
+	  break;
+	} else {
+	  title += " " + word;
+	}
+      }
+      // If we got here, and out_command.title is null... then just copy the contents
+      // of "title" to out_command.title (taking out any "'s along the way)
+      if(out_command.title.IsNull())
+	out_command.title = title.ReplaceAll("\"","");
+    } else if(sConfFile[index][i]=="-tree") {
+      out_command.treename = sConfFile[index][i+1];
+      i = i+1;
+    } else if(sConfFile[index][i]=="-nostat") {
+      out_command.nostat = "nostat";
+    } else if(sConfFile[index][i]=="-noshowgolden") {
+      out_command.noshowgolden = "noshowgolden";
+    }
+
+
+#ifdef DEBUG
+    cout << endl;
+#endif
+  }
+#ifdef DEBUG
+  cout << sConfFile[index].size() << ": ";
+  for(UInt_t i=0; i<sConfFile[index].size(); i++) {
+    cout << sConfFile[index][i] << " ";
+  }
+  cout << endl;
+#endif
+  return out_command;
+}
+
+vector <TString> OnlineConfig::SplitString(TString instring,TString delim)
+{
+  // Utility to split up a string on the deliminator.
+  //  returns a vector of strings.
+
+  vector <TString> v;
+
+  TString remainingString = instring;
+  TString tempstring = instring;
+  int i;
+
+  while (remainingString.Index(delim) != -1) {
+    i = remainingString.Index(delim);
+    tempstring.Remove(i);
+    v.push_back(tempstring);
+    remainingString.Remove(0,i+1);
+    while(remainingString.Index(delim) == 0) {
+      remainingString.Remove(0,1);
+    }
+    tempstring = remainingString;
+    // Cut out the rest, if it's a comment (starts with #)
+    if(TString(remainingString.Strip(TString::kLeading,' ')).BeginsWith("#")) {
+      tempstring = "";
+      break;
+    }
+  }
+
+  while(tempstring.EndsWith(delim)) {
+    tempstring.Chop();
+  }
+
+  if(!tempstring.IsNull()) v.push_back(tempstring);
+
+  return v;
+}
+
+void OnlineConfig::OverrideRootFile(UInt_t runnumber)
+{
+  // Override the ROOT file defined in the cfg file If
+  // protorootfile is used, construct filename using it, otherwise
+  // uses a helper macro "GetRootFileName.C(UInt_t runnumber)
+
+  if(!protorootfile.IsNull()) {
+    TString rn = "";
+    rn += runnumber;
+    protorootfile.ReplaceAll("XXXXX",rn.Data());
+    rootfilename = protorootfile;
+  } else {
+    rootfilename = GetRootFileName(runnumber);
+  }
+
+  cout << "Overridden File name: " << rootfilename << endl;
+}
+
+///////////////////////////////////////////////////////////////////
+//  Class: OnlineGUI
+//
+//    Creates a GUI to display the commands used in OnlineConfig
+//
+//
+
+OnlineGUI::OnlineGUI(OnlineConfig& config, Bool_t printonly, Bool_t rootonly,UInt_t RunNum):
+  runNumber(RunNum),
+  timer(0),
+  fFileAlive(kFALSE)
+{
+  // Constructor.  Get the config pointer, and make the GUI.
+
+  fConfig = &config;
+
+  if(printonly || rootonly) {
+    fPrintOnly=kTRUE;
+    PrintPages();
+  } else {
+    fPrintOnly=kFALSE;
+    CreateGUI(gClient->GetRoot(),200,200);
+  }
+}
+
+void OnlineGUI::CreateGUI(const TGWindow *p, UInt_t w, UInt_t h)
+{
+
+  // Open the RootFile.  Die if it doesn't exist.
+  //  unless we're watching a file.
+  fRootFile.RootFile = new TFile(fConfig->GetRootFile(),"READ");
+  if(!fRootFile.RootFile->IsOpen()) {
+    cout << "ERROR:  rootfile: " << fConfig->GetRootFile()
+	 << " does not exist"
+	 << endl;
+    if(fConfig->IsMonitor()) {
+      cout << "Will wait... hopefully.." << endl;
+    } else {
+#ifdef STANDALONE
+      gApplication->Terminate();
+#else
+      return;
+#endif
+    }
+  } else {
+    fFileAlive = kTRUE;
+    ObtainRunNumber();
+    // Open the Root Trees.  Give a warning if it's not there..
+    GetFileObjects(&fRootFile);
+    GetRootTree(&fRootFile);
+    GetTreeVars(&fRootFile);
+    for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
+      if(fRootFile.RootTree[i]==0) {
+	fRootFile.RootTree.erase(fRootFile.RootTree.begin() + i);
+      }
+    }
+
+  }
+  TString goldenfilename=fConfig->GetGoldenFile();
+  if(!goldenfilename.IsNull()) {
+    fGoldenFile.RootFile = new TFile(goldenfilename,"READ");
+    if(!fGoldenFile.RootFile->IsOpen()) {
+      cout << "ERROR: goldenrootfile: " << goldenfilename
+	   << " does not exist.  Oh well, no comparison plots."
+	   << endl;
+      doGolden = kFALSE;
+      fGoldenFile.RootFile=NULL;
+    } else {
+      // Open the Root Trees.  Give a warning if it's not there..
+      GetFileObjects(&fGoldenFile);
+      GetRootTree(&fGoldenFile);
+      GetTreeVars(&fGoldenFile);
+      for(UInt_t i=0; i<fGoldenFile.RootTree.size(); i++) {
+        if(fGoldenFile.RootTree[i]==0) {
+	  fGoldenFile.RootTree.erase(fGoldenFile.RootTree.begin() + i);
+        }
+      }
+      doGolden = kTRUE;
+    }
+  } else {
+    doGolden=kFALSE;
+    fGoldenFile.RootFile=NULL;
+  }
+
+
+  // Create the main frame
+  fMain = new TGMainFrame(p,w,h);
+  fMain->Connect("CloseWindow()", "OnlineGUI", this, "MyCloseWindow()");
+  ULong_t lightgreen, lightblue, red, mainguicolor;
+  gClient->GetColorByName("lightgreen",lightgreen);
+  gClient->GetColorByName("lightblue",lightblue);
+  gClient->GetColorByName("red",red);
+
+  UInt_t canvas_width = fConfig->GetCanvasWidth();
+  UInt_t canvas_height = fConfig->GetCanvasHeight();
+
+  Bool_t good_color=kFALSE;
+  TString usercolor = fConfig->GetGuiColor();
+  if(!usercolor.IsNull()) {
+    good_color = gClient->GetColorByName(usercolor,mainguicolor);
+  }
+
+  if(!good_color) {
+    if(!usercolor.IsNull()) {
+      cout << "Bad guicolor (" << usercolor << ").. using default." << endl;
+    }
+    if(fConfig->IsMonitor()) {
+      // Default background color for Online Monitor
+      mainguicolor = lightgreen;
+    } else {
+      // Default background color for Normal Online Display
+      mainguicolor = lightblue;
+    }
+  }
+
+  fMain->SetBackgroundColor(mainguicolor);
+
+  // Top frame, to hold page buttons and canvas
+  fTopframe = new TGHorizontalFrame(fMain,200,200);
+  fTopframe->SetBackgroundColor(mainguicolor);
+  fMain->AddFrame(fTopframe, new TGLayoutHints(kLHintsExpandX
+                                              | kLHintsExpandY,10,10,10,1));
+
+  // Create a verticle frame widget with radio buttons
+  //  This will hold the page buttons
+  vframe = new TGVerticalFrame(fTopframe,40,200);
+  vframe->SetBackgroundColor(mainguicolor);
+  TString buff;
+  for(UInt_t i=0; i<fConfig->GetPageCount(); i++) {
+    buff = fConfig->GetPageTitle(i);
+    fRadioPage[i] = new TGRadioButton(vframe,buff,i);
+    fRadioPage[i]->SetBackgroundColor(mainguicolor);
+  }
+
+  fRadioPage[0]->SetState(kButtonDown);
+  current_page = 0;
+
+  for (UInt_t i=0; i<fConfig->GetPageCount(); i++) {
+    vframe->AddFrame(fRadioPage[i],
+		     new TGLayoutHints(kLHintsLeft |
+				       kLHintsCenterY,5,5,3,4));
+    fRadioPage[i]->Connect("Pressed()", "OnlineGUI", this, "DoRadio()");
+  }
+  if(!fConfig->IsMonitor()) {
+    wile =
+      new TGPictureButton(vframe,
+			  gClient->GetPicture(guiDirectory+"/hcsmall.png"));
+    wile->Connect("Pressed()","OnlineGUI", this,"DoDraw()");
+  } else {
+    wile =
+      new TGPictureButton(vframe,
+			  gClient->GetPicture(guiDirectory+"/panguin.xpm"));
+    wile->Connect("Pressed()","OnlineGUI", this,"DoDrawClear(&fRootFile)");
+  }
+  wile->SetBackgroundColor(mainguicolor);
+
+  vframe->AddFrame(wile,
+		   new TGLayoutHints(kLHintsBottom|kLHintsLeft,5,10,4,2));
+
+
+  fTopframe->AddFrame(vframe,
+		      new TGLayoutHints(kLHintsCenterX|
+					kLHintsCenterY,2,2,2,2));
+
+  // Create canvas widget
+  fEcanvas = new TRootEmbeddedCanvas("Ecanvas", fTopframe, canvas_width, canvas_height);
+  fEcanvas->SetBackgroundColor(mainguicolor);
+  fTopframe->AddFrame(fEcanvas, new TGLayoutHints(kLHintsExpandY,10,10,10,1));
+  fCanvas = fEcanvas->GetCanvas();
+
+  // Create the bottom frame.  Contains control buttons
+  fBottomFrame = new TGHorizontalFrame(fMain,canvas_width+400,200);
+  fBottomFrame->SetBackgroundColor(mainguicolor);
+  fMain->AddFrame(fBottomFrame, new TGLayoutHints(kLHintsExpandX,10,10,10,10));
+
+  // Create a horizontal frame widget with buttons
+  hframe = new TGHorizontalFrame(fBottomFrame,canvas_width+400,40);
+  hframe->SetBackgroundColor(mainguicolor);
+  fBottomFrame->AddFrame(hframe,new TGLayoutHints(kLHintsExpandX,200,20,2,2));
+
+  fPrev = new TGTextButton(hframe,"Prev");
+  fPrev->SetBackgroundColor(mainguicolor);
+  fPrev->Connect("Clicked()","OnlineGUI",this,"DrawPrev()");
+  hframe->AddFrame(fPrev, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
+
+  fNext = new TGTextButton(hframe,"Next");
+  fNext->SetBackgroundColor(mainguicolor);
+  fNext->Connect("Clicked()","OnlineGUI",this,"DrawNext()");
+  hframe->AddFrame(fNext, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
+
+  fExit = new TGTextButton(hframe,"Exit GUI");
+  fExit->SetBackgroundColor(red);
+  fExit->Connect("Clicked()","OnlineGUI",this,"CloseGUI()");
+
+  hframe->AddFrame(fExit, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
+
+  TString Buff;
+  if(runNumber==0) {
+    Buff = "";
+  } else {
+    Buff = "Run #";
+    Buff += runNumber;
+  }
+  TGString labelBuff(Buff);
+
+  fRunNumber = new TGLabel(hframe,Buff);
+  fRunNumber->SetBackgroundColor(mainguicolor);
+  hframe->AddFrame(fRunNumber,new TGLayoutHints(kLHintsCenterX,5,5,1,1));
+
+  fPrint = new TGTextButton(hframe,"Print To &File");
+  fPrint->SetBackgroundColor(mainguicolor);
+  fPrint->Connect("Clicked()","OnlineGUI",this,"PrintToFile()");
+  hframe->AddFrame(fPrint, new TGLayoutHints(kLHintsCenterX,5,5,1,1));
+
+
+  // Set a name to the main frame
+  if(fConfig->IsMonitor()) {
+    fMain->SetWindowName("Parity ANalysis GUI moNitor");
+  } else {
+    fMain->SetWindowName("Online Analysis GUI");
+  }
+
+  // Map all sub windows to main frame
+  fMain->MapSubwindows();
+
+  // Initialize the layout algorithm
+  fMain->Resize(fMain->GetDefaultSize());
+
+  // Map main frame
+  fMain->MapWindow();
+
+#ifdef DEBUG
+  fMain->Print();
+#endif
+
+  if(fFileAlive) DoDraw();
+
+  if(fConfig->IsMonitor()) {
+    timer = new TTimer();
+    if(fFileAlive) {
+      timer->Connect(timer,"Timeout()","OnlineGUI",this,"TimerUpdate()");
+    } else {
+      timer->Connect(timer,"Timeout()","OnlineGUI",this,"CheckRootFile()");
+    }
+    timer->Start(UPDATETIME);
+  }
+
+}
+
+void OnlineGUI::DoDraw()
+{
+  // The main Drawing Routine.
+
+#ifdef INTERNALSTYLE
+  gStyle->SetOptStat(1110);
+  gStyle->SetStatFontSize(0.1);
+#endif
+  if (fConfig->IsLogx(current_page)) {
+    gStyle->SetOptLogx(1);
+  } else {
+    gStyle->SetOptLogx(0);
+  }
+  if (fConfig->IsLogy(current_page)) {
+    gStyle->SetOptLogy(1);
+  } else {
+    gStyle->SetOptLogy(0);
+  }
+  if (fConfig->IsLogz(current_page)) {
+    gStyle->SetOptLogz(1);
+  } else {
+    gStyle->SetOptLogz(0);
+  }
+#ifdef INTERNALSTYLE
+  gStyle->SetTitleH(0.10);
+  gStyle->SetTitleW(0.40);
+//   gStyle->SetLabelSize(0.10,"X");
+//   gStyle->SetLabelSize(0.10,"Y");
+  gStyle->SetLabelSize(0.05,"X");
+  gStyle->SetLabelSize(0.05,"Y");
+  gStyle->SetPadLeftMargin(0.14);
+  gStyle->SetNdivisions(505,"X");
+  gStyle->SetNdivisions(404,"Y");
+  gStyle->SetPalette(1);
+  gROOT->ForceStyle();
+#endif
+
+  // Determine the dimensions of the canvas..
+  UInt_t draw_count = fConfig->GetDrawCount(current_page);
+#ifdef INTERNALSTYLE
+  if(draw_count>=8) {
+    gStyle->SetLabelSize(0.08,"X");
+    gStyle->SetLabelSize(0.08,"Y");
+  }
+#endif
+//   Int_t dim = Int_t(round(sqrt(double(draw_count))));
+  pair <UInt_t,UInt_t> dim = fConfig->GetPageDim(current_page);
+
+#ifdef DEBUG
+  cout << "Dimensions: " << dim.first << "X"
+       << dim.second << endl;
+#endif
+
+  // Create a nice clean canvas.
+  fCanvas->Clear();
+  fCanvas->Divide(dim.first,dim.second);
+
+  drawcommand thiscommand;
+  // Draw the histograms.
+  for(UInt_t i=0; i<draw_count; i++) {
+    thiscommand = fConfig->GetDrawCommand(current_page,i);
+    thiscommand = fileObject2command(thiscommand,&fRootFile);
+    fCanvas->cd(i+1);
+    if (thiscommand.variable == "macro") {
+      MacroDraw(thiscommand);
+    } else if (thiscommand.objtype.Contains("TH")) {
+      HistDraw(thiscommand);
+    } else if (thiscommand.objtype.Contains("TCanvas")) {
+      CanvasDraw(thiscommand,i+1);
+    } else if (thiscommand.objtype.Contains("TGraph")) {
+      GraphDraw(thiscommand);
+    } else { // otherwise... assume that the objtype is a branch from a tree
+      TreeDraw(thiscommand);
+    }
+  }
+
+  fCanvas->cd();
+  fCanvas->Update();
+
+  if(!fPrintOnly) {
+    CheckPageButtons();
+  }
+
+}
+
+void OnlineGUI::DrawNext()
+{
+  // Handler for the "Next" button.
+  fRadioPage[current_page]->SetState(kButtonUp);
+  // The following line triggers DoRadio()
+  fRadioPage[current_page+1]->SetState(kButtonDown,true);
+
+}
+
+void OnlineGUI::DrawPrev()
+{
+  // Handler for the "Prev" button.
+  fRadioPage[current_page]->SetState(kButtonUp);
+  // The following line triggers DoRadio()
+  fRadioPage[current_page-1]->SetState(kButtonDown,true);
+
+}
+
+void OnlineGUI::DoRadio()
+{
+  // Handle the radio buttons
+  //  Find out which button has been pressed..
+  //   turn off the previous button...
+  //   then draw the appropriate page.
+  // This routine also handles the Draw from the Prev/Next buttons
+  //   - makes a call to DoDraw()
+
+  UInt_t pagecount = fConfig->GetPageCount();
+  TGButton *btn = (TGButton *) gTQSender;
+  UInt_t id = btn->WidgetId();
+
+  if (id <= pagecount) {
+    fRadioPage[current_page]->SetState(kButtonUp);
+  }
+
+  current_page = id;
+  if(!fConfig->IsMonitor()) DoDraw();
+
+}
+
+void OnlineGUI::CheckPageButtons()
+{
+  // Checks the current page to see if it's the first or last page.
+  //  If so... turn off the appropriate button.
+  //  If not.. turn on both buttons.
+
+  if(current_page==0) {
+    fPrev->SetState(kButtonDisabled);
+    if(fConfig->GetPageCount()!=1)
+      fNext->SetState(kButtonUp);
+  } else if(current_page==fConfig->GetPageCount()-1) {
+    fNext->SetState(kButtonDisabled);
+    if(fConfig->GetPageCount()!=1)
+      fPrev->SetState(kButtonUp);
+  } else {
+    fPrev->SetState(kButtonUp);
+    fNext->SetState(kButtonUp);
+  }
+}
+
+void OnlineGUI::GetFileObjects(RootFileObject* fLocalRootFileObj)
+{
+  // Utility to find all of the objects within a File (TTree, TH1F, etc).
+  //  The pair stored in the vector is <ObjName, ObjType>
+  //  For histograms, the title is also stored
+  //    (in case the the name is not very descriptive... like when
+  //    using h2root)
+  //  If there's no good keys.. do nothing.
+#ifdef DEBUGGETFILEOBJECTS
+  cout << "Keys = " << fLocalRootFileObj->RootFile->ReadKeys() << endl;
+#endif
+  if(fLocalRootFileObj->RootFile->ReadKeys()==0) {
+    fLocalRootFileObj->fUpdate = kFALSE;
+//     delete fLocalRootFileObj->RootFile;
+//     fLocalRootFileObj->RootFile = 0;
+//     CheckRootFile();
+    return;
+  }
+  fLocalRootFileObj->vfileObjects.clear();
+
+  TIter next( (fLocalRootFileObj->RootFile)->GetListOfKeys() );
+  TKey *key = new TKey();
+
+  // Do the search
+  while((key=(TKey*)next())!=0) {
+#ifdef DEBUGGETFILEOBJECTS
+    cout << "Key = " << key << endl;
+#endif
+    TString objname = key->GetName();
+    TString objtype = key->GetClassName();
+    TString objtitle = key->GetTitle();
+#ifdef DEBUGGETFILEOBJECTS
+    cout << objname << " " << objtype << endl;
+#endif
+
+    if(objtype.Contains("TDirectory")) {
+      TDirectory *thisdir = (TDirectory*)fLocalRootFileObj->RootFile->Get(objname);
+      TIter nextInDir(thisdir->GetListOfKeys());
+      TKey *innerkey = new TKey();
+      while((innerkey=(TKey*)nextInDir())!=0) {
+	      TString iobjname = innerkey->GetName();
+	      TString iobjtype = innerkey->GetClassName();
+	      TString iobjtitle = innerkey->GetTitle();
+	      TString iobjdir = objname;
+#ifdef DEBUGGETFILEOBJECTS
+	      cout << iobjname << " " << iobjtype << endl;
+#endif
+	      fileObject thisObject;
+	      thisObject.name = iobjname;
+	      thisObject.type = iobjtype;
+	      thisObject.title = iobjtitle;
+	      thisObject.directory = objname;
+	      fLocalRootFileObj->vfileObjects.push_back(thisObject);
+	    }
+    } else {
+      fileObject thisObject;
+      thisObject.name = objname;
+      thisObject.type = objtype;
+      thisObject.title = objtitle;
+      thisObject.directory = "";
+      fLocalRootFileObj->vfileObjects.push_back(thisObject);
+    }
+
+  }
+  fLocalRootFileObj->fUpdate = kTRUE;
+  delete key;
+}
+
+void OnlineGUI::GetTreeVars(RootFileObject* fLocalRootFileObj)
+{
+  // Utility to find all of the variables (leaf's/branches) within a
+  // Specified TTree and put them within the TreeVars vector.
+  fLocalRootFileObj->TreeVars.clear();
+  TObjArray *branchList;
+  vector <TString> currentTree;
+
+  for(UInt_t i=0; i<fLocalRootFileObj->RootTree.size(); i++) {
+    currentTree.clear();
+    branchList = fLocalRootFileObj->RootTree[i]->GetListOfBranches();
+    TIter next(branchList);
+    TBranch *brc;
+
+    while((brc=(TBranch*)next())!=0) {
+      TString found = brc->GetName();
+      // Not sure if the line below is so smart...
+      currentTree.push_back(found);
+    }
+    fLocalRootFileObj->TreeVars.push_back(currentTree);
+  }
+#ifdef DEBUG2
+  for(UInt_t iTree=0; iTree<fLocalRootFileObj->TreeVars.size(); iTree++) {
+  cout << "In Tree " << iTree << ": " << endl;
+    for(UInt_t i=0; i<fLocalRootFileObj->TreeVars[iTree].size(); i++) {
+      cout << fLocalRootFileObj->TreeVars[iTree][i] << endl;
+    }
+  }
+#endif
+}
+
+
+void OnlineGUI::GetRootTree(RootFileObject* fLocalRootFileObj ) {
+  // Utility to search a ROOT File for ROOT Trees
+  // Fills the RootTree vector
+  fLocalRootFileObj->RootTree.clear();
+
+  list <TString> found;
+  for(UInt_t i=0; i<fLocalRootFileObj->vfileObjects.size(); i++) {
+#ifdef DEBUGGETROOTTREE
+    cout << "Object = " << fLocalRootFileObj->vfileObjects[i].type <<
+      "     Name = " << fLocalRootFileObj->vfileObjects[i].name << endl;
+#endif
+    if(fLocalRootFileObj->vfileObjects[i].type.Contains("TTree"))
+       found.push_back(fLocalRootFileObj->vfileObjects[i].name);
+  }
+
+  // Remove duplicates, then insert into fLocalRootFileObj->RootTree
+  found.unique();
+  UInt_t nTrees = found.size();
+
+  for(UInt_t i=0; i<nTrees; i++) {
+    fLocalRootFileObj->RootTree.push_back( (TTree*) fLocalRootFileObj->RootFile->Get(found.front()) );
+    found.pop_front();
+  }
+  // Initialize the TreeEntries vector
+  fLocalRootFileObj->TreeEntries.clear();
+  for(UInt_t i=0;i<fLocalRootFileObj->RootTree.size();i++) {
+    fLocalRootFileObj->TreeEntries.push_back(0);
+  }
+
+}
+
+UInt_t OnlineGUI::GetTreeIndex(TString var, RootFileObject* fLocalRootFileObj ) {
+  // Utility to find out which Tree (in fRootFile.RootTree) has the specified
+  // variable "var".  If the variable is a collection of Tree
+  // variables (e.g. bcm1:lumi1), will only check the first
+  // (e.g. bcm1).
+  // Returns the correct index.  if not found returns an index 1
+  // larger than fRootFile.RootTree.size()
+
+  //  This is for 2d draws... look for the first only
+  if(var.Contains(":")) {
+    TString first_var = fConfig->SplitString(var,":")[0];
+    var = first_var;
+  }
+
+  //  This is for variables with multiple dimensions.
+  if(var.Contains("[")) {
+    TString first_var = fConfig->SplitString(var,"[")[0];
+    var = first_var;
+  }
+
+  for(UInt_t iTree=0; iTree<fLocalRootFileObj->TreeVars.size(); iTree++) {
+    for(UInt_t ivar=0; ivar<fLocalRootFileObj->TreeVars[iTree].size(); ivar++) {
+      if(var == fLocalRootFileObj->TreeVars[iTree][ivar]) return iTree;
+    }
+  }
+
+  return fLocalRootFileObj->RootTree.size()+1;
+}
+
+UInt_t OnlineGUI::GetTreeIndexFromName(TString name, RootFileObject* fLocalRootFileObj) {
+  // Called by TreeDraw().  Tries to find the Tree index provided the
+  //  name.  If it doesn't match up, return a number that's one larger
+  //  than the number of found trees.
+  for(UInt_t iTree=0; iTree<fLocalRootFileObj->RootTree.size(); iTree++) {
+    TString treename = fLocalRootFileObj->RootTree[iTree]->GetName();
+    if(name == treename) {
+      return iTree;
+    }
+  }
+
+  return fLocalRootFileObj->RootTree.size()+1;
+}
+
+void OnlineGUI::MacroDraw(drawcommand command) {
+  // Called by DoDraw(), this will make a call to the defined macro, and
+  //  plot it in it's own pad.  One plot per macro, please.
+
+  if(command.macro.IsNull()) {
+    cout << "macro command doesn't contain a macro to execute" << endl;
+    return;
+  }
+
+  if(doGolden) fRootFile.RootFile->cd();
+  gROOT->Macro(command.macro);
+
+}
+
+void OnlineGUI::CanvasDraw(drawcommand command,UInt_t padnum) {
+  // Called by DoDraw(), this will draw the TCanvas in the current Canvas
+
+  TString rootversion = gROOT->GetVersion();
+  TString slash = "/";
+  TString rootversion_cut = (fConfig->SplitString(rootversion,slash))[0];
+  Double_t ver_num = rootversion_cut.Atof();
+  if(ver_num<5.16) {
+    TString badstring = "TCanvas Drawing Unsupported in ROOT v"+rootversion;
+    BadDraw(badstring);
+    return;
+  }
+
+  TDirectory *fDir;
+  if(command.directory.IsNull()) {
+    fDir = 0;
+  } else {
+    fDir = (TDirectory*)fRootFile.RootFile->Get(command.directory);
+  }
+
+  if(fDir) fDir->cd();
+  fRootFile.RootFile->cd();
+  TCanvas *tcanv = (TCanvas*)fRootFile.RootFile->Get(command.objname);
+  fCanvas->cd(padnum);
+  tcanv->DrawClonePad();
+  delete tcanv;
+
+}
+
+void OnlineGUI::GraphDraw(drawcommand command) {
+  // Called by DoDraw(), this will draw the TCanvas in the current Canvas
+
+  TString rootversion = gROOT->GetVersion();
+  fRootFile.RootFile->cd();
+  TDirectory *fDir;
+  if(command.directory.IsNull()) {
+    fDir = 0;
+  } else {
+    fDir = (TDirectory*)fRootFile.RootFile->Get(command.directory);
+  }
+
+  if(fDir) fDir->cd();
+  TGraph *thisgraph = (TGraph*)fRootFile.RootFile->Get(command.objname);
+  TString drawopt = command.type;
+  if(drawopt.IsNull()) drawopt = "AP";
+  if(!command.title.IsNull()) thisgraph->SetTitle(command.title);
+  thisgraph->Draw(drawopt);
+
+}
+
+
+void OnlineGUI::DoDrawClear(RootFileObject* fLocalRootFileObj) {
+  // Utility to grab the number of entries in each tree.  This info is
+  // then used, if watching a file, to "clear" the TreeDraw
+  // histograms, and begin looking at new data.
+  for(UInt_t i=0; i<fLocalRootFileObj->TreeEntries.size(); i++) {
+    fLocalRootFileObj->TreeEntries[i] = (Int_t) fLocalRootFileObj->RootTree[i]->GetEntries();
+  }
+
+
+}
+
+void OnlineGUI::TimerUpdate() {
+  // Called periodically by the timer, if "watchfile" is indicated
+  // in the config.  Reloads the ROOT file, and updates the current page.
+#ifdef DEBUG
+  cout << "Update Now" << endl;
+#endif
+
+  if(fRootFile.RootFile->IsZombie() || (fRootFile.RootFile->GetSize() == -1)
+     || (fRootFile.RootFile->ReadKeys()==0)) {
+    cout << "New run not yet available.  Waiting..." << endl;
+    fRootFile.RootFile->Close();
+    delete fRootFile.RootFile;
+    fRootFile.RootFile = 0;
+    timer->Reset();
+    timer->Disconnect();
+    timer->Connect(timer,"Timeout()","OnlineGUI",this,"CheckRootFile()");
+    return;
+  }
+  for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
+    fRootFile.RootTree[i]->Refresh();
+  }
+  DoDraw();
+  timer->Reset();
+
+}
+
+void OnlineGUI::BadDraw(TString errMessage) {
+  // Routine to display (in Pad) why a particular draw method has
+  // failed.
+  TPaveText *pt = new TPaveText(0.1,0.1,0.9,0.9,"brNDC");
+  pt->SetBorderSize(3);
+  pt->SetFillColor(10);
+  pt->SetTextAlign(22);
+  pt->SetTextFont(72);
+  pt->SetTextColor(2);
+  pt->AddText(errMessage.Data());
+  pt->Draw();
+//   cout << errMessage << endl;
+
+}
+
+
+void OnlineGUI::CheckRootFile() {
+  // Check the path to the rootfile (should follow symbolic links)
+  // ... If found:
+  //   Reopen new root file,
+  //   Reconnect the timer to TimerUpdate()
+
+  if(gSystem->AccessPathName(fConfig->GetRootFile())==0) {
+    cout << "Found the new run" << endl;
+    if(OpenRootFile()==0) {
+      timer->Reset();
+      timer->Disconnect();
+      timer->Connect(timer,"Timeout()","OnlineGUI",this,"TimerUpdate()");
+    }
+  } else {
+    TString rnBuff = "Waiting for run";
+    fRunNumber->SetText(rnBuff.Data());
+    hframe->Layout();
+  }
+
+}
+
+Int_t OnlineGUI::OpenRootFile() {
+
+
+  fRootFile.RootFile = new TFile(fConfig->GetRootFile(),"READ");
+  if(fRootFile.RootFile->IsZombie() || (fRootFile.RootFile->GetSize() == -1)
+     || (fRootFile.RootFile->ReadKeys()==0)) {
+    cout << "New run not yet available.  Waiting..." << endl;
+    fRootFile.RootFile->Close();
+    delete fRootFile.RootFile;
+    fRootFile.RootFile = 0;
+    timer->Reset();
+    timer->Disconnect();
+    timer->Connect(timer,"Timeout()","OnlineGUI",this,"CheckRootFile()");
+    return -1;
+  }
+
+  // Update the runnumber
+  ObtainRunNumber();
+  if(runNumber != 0) {
+    TString rnBuff = "Run #";
+    rnBuff += runNumber;
+    fRunNumber->SetText(rnBuff.Data());
+    hframe->Layout();
+  }
+
+  // Open the Root Trees.  Give a warning if it's not there..
+  GetFileObjects(&fRootFile);
+  if (fRootFile.fUpdate) { // Only do this stuff if there are valid keys
+    GetRootTree(&fRootFile);
+    GetTreeVars(&fRootFile);
+    for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
+      if(fRootFile.RootTree[i]==0) {
+	fRootFile.RootTree.erase(fRootFile.RootTree.begin() + i);
+      }
+    }
+    DoDraw();
+  } else {
+    return -1;
+  }
+  return 0;
+
+}
+
+void OnlineGUI::HistDraw(drawcommand command) {
+  // Called by DoDraw(), this will plot a histogram.
+
+  Bool_t showGolden=kFALSE;
+  if(doGolden) showGolden=kTRUE;
+  Bool_t showStat=kTRUE;
+  TString htitle;
+
+  if(command.noshowgolden=="noshowgolden")
+    showGolden = kFALSE;
+  if(command.nostat=="nostat")
+      showStat=kFALSE;
+  htitle = command.title;
+
+  TString type=command.type;
+  TDirectory *fDir;
+
+  if(command.directory.IsNull()) {
+    fDir = 0;
+  } else {
+    fDir = (TDirectory*)fRootFile.RootFile->Get(command.directory);
+  }
+
+  // Determine dimensionality of histogram, then draw it
+  if(command.objtype.Contains("TH1")) {
+    // Operation for TH1
+    fRootFile.RootFile->cd();
+    if(fDir) fDir->cd();
+    fRootFile.mytemp1d = (TH1D*)gDirectory->Get(command.objname);
+    if(!fRootFile.mytemp1d) BadDraw(command.variable+" not found");
+    if(fRootFile.mytemp1d->GetEntries()==0) {
+      BadDraw("Empty Histogram");
+    } else {
+      if(showGolden) {
+	fGoldenFile.RootFile->cd();
+	if(fDir) fDir->cd();
+	fGoldenFile.mytemp1d = (TH1D*)gDirectory->Get(command.objname);
+	fGoldenFile.mytemp1d->SetLineColor(30);
+	fGoldenFile.mytemp1d->SetFillColor(30);
+	Int_t fillstyle=3027;
+	if(fPrintOnly) fillstyle=3010;
+	fGoldenFile.mytemp1d->SetFillStyle(fillstyle);
+	fRootFile.mytemp1d->SetStats(showStat);
+	fGoldenFile.mytemp1d->SetStats(kFALSE);
+	fGoldenFile.mytemp1d->Draw();
+	if(!htitle.IsNull()) fGoldenFile.mytemp1d->SetTitle(htitle);
+	fRootFile.mytemp1d->Draw("sames"+type);
+      } else {
+	fRootFile.mytemp1d->SetStats(showStat);
+	if(!htitle.IsNull()) fRootFile.mytemp1d->SetTitle(htitle);
+	fRootFile.mytemp1d->Draw(type);
+      }
+    }
+    return;
+  }
+
+  if(command.objtype.Contains("TH2")) {
+    // Operation for TH2
+    if(!showGolden) fRootFile.RootFile->cd();
+    if(fDir) fDir->cd();
+    fRootFile.mytemp2d = (TH2D*)gDirectory->Get(command.objname);
+    if(fRootFile.mytemp2d->GetEntries()==0) {
+      BadDraw("Empty Histogram");
+    } else {
+      if(showGolden) {
+	fGoldenFile.RootFile->cd();
+	if(fDir) fDir->cd();
+	fGoldenFile.mytemp2d = (TH2D*)gDirectory->Get(command.objname);
+	fGoldenFile.mytemp2d->SetMarkerColor(2);
+	fRootFile.mytemp2d->SetStats(showStat);
+	fGoldenFile.mytemp2d->SetStats(kFALSE);
+	fGoldenFile.mytemp2d->Draw(type);
+	if(!htitle.IsNull()) fGoldenFile.mytemp2d->SetTitle(htitle);
+	fRootFile.mytemp2d->Draw("sames"+type);
+      } else {
+	fRootFile.mytemp2d->SetStats(showStat);
+	if(!htitle.IsNull()) fGoldenFile.mytemp2d->SetTitle(htitle);
+	fRootFile.mytemp2d->Draw(type);
+	fRootFile.mytemp2d->Draw("colz");
+      }
+    }
+    return;
+  }
+
+  if(command.objtype.Contains("TH3")) {
+    // Operation for TH3
+    if(!showGolden) fRootFile.RootFile->cd();
+    if(fDir) fDir->cd();
+    fRootFile.mytemp3d = (TH3D*)gDirectory->Get(command.objname);
+    if(fRootFile.mytemp3d->GetEntries()==0) {
+      BadDraw("Empty Histogram");
+    } else {
+      fRootFile.mytemp3d->Draw();
+      if(showGolden) {
+	fGoldenFile.RootFile->cd();
+	if(fDir) fDir->cd();
+	fGoldenFile.mytemp3d = (TH3D*)gDirectory->Get(command.objname);
+	fGoldenFile.mytemp3d->SetMarkerColor(2);
+	fRootFile.mytemp3d->SetStats(showStat);
+	fGoldenFile.mytemp3d->SetStats(kFALSE);
+	fGoldenFile.mytemp3d->Draw(type);
+	if(!htitle.IsNull()) fGoldenFile.mytemp3d->SetTitle(htitle);
+	fRootFile.mytemp3d->Draw("sames"+type);
+      } else {
+	fRootFile.mytemp3d->SetStats(showStat);
+	if(!htitle.IsNull()) fGoldenFile.mytemp3d->SetTitle(htitle);
+	fRootFile.mytemp3d->Draw(type);
+      }
+    }
+    return;
+  }
+
+}
+
+drawcommand OnlineGUI::fileObject2command(drawcommand command, RootFileObject* fLocalRootFileObj) {
+  // Fill in gaps in the drawcommand with items from the
+  // vfileObject.  This elimates the need for duplicate code in
+  // the different *Draw routines.
+  for(UInt_t i=0; i<fLocalRootFileObj->vfileObjects.size(); i++) {
+    if(fLocalRootFileObj->vfileObjects[i].name==command.variable ||
+       fLocalRootFileObj->vfileObjects[i].title==command.variable ) {
+      command.objname = fLocalRootFileObj->vfileObjects[i].name;
+      command.objtitle = fLocalRootFileObj->vfileObjects[i].title;
+      command.objtype = fLocalRootFileObj->vfileObjects[i].type;
+      command.directory = fLocalRootFileObj->vfileObjects[i].directory;
+#ifdef DEBUGf2command
+      cout << command.directory << " "
+	   << command.objtype  << " "
+	   << command.objname
+	   << endl;
+#endif
+      return command;
+    }
+  }
+  return command;
+
+
+}
+
+void OnlineGUI::TreeDraw(drawcommand command) {
+  // Called by DoDraw(), this will plot a Tree Variable
+
+  TString var = command.variable;
+  Bool_t showGolden=kFALSE;
+  if(doGolden) showGolden=kTRUE;
+
+  Bool_t showStat=kTRUE;
+  if(command.nostat=="nostat") showStat=kFALSE;
+
+  //TObject *hobj;
+
+  // Combine the cuts (definecuts and specific cuts)
+  TCut cut = "";
+  TString tempCut;
+  if(!command.cut.IsNull()) {
+    tempCut = command.cut;
+    vector <TString> cutIdents = fConfig->GetCutIdent();
+    for(UInt_t i=0; i<cutIdents.size(); i++) {
+      if(tempCut.Contains(cutIdents[i])) {
+	TString cut_found = (TString)fConfig->GetDefinedCut(cutIdents[i]);
+	tempCut.ReplaceAll(cutIdents[i],cut_found);
+      }
+    }
+    cut = (TCut)tempCut;
+  }
+
+  // Determine which Tree the variable comes from, then draw it.
+  UInt_t iTree;
+  if(command.treename.IsNull()) {
+    iTree = GetTreeIndex(var,&fRootFile);
+  } else {
+    iTree = GetTreeIndexFromName(command.treename,&fRootFile);
+  }
+  TString drawopt = command.type;
+  Int_t errcode=0;
+  if(drawopt.IsNull() && var.Contains(":")) drawopt = "cont";
+  if(drawopt=="scat") drawopt = "";
+
+  fRootFile.RootFile->cd();
+  if (iTree <= fRootFile.RootTree.size() ) {
+    TObjArray* tok = var.Tokenize(">()");
+    TString myvar   = ((TObjString*)tok->First())->GetString();
+    TString hname   = "h";
+    TString histdef = ((TObjString*)tok->Last())->GetString();
+    if(tok->GetEntries() == 1) histdef = "";        // ie "var[0]"
+    if(tok->GetEntries() == 2) {
+      if(! histdef.Contains(",") ) {             // ie "var[0]>>h1"
+        hname = histdef;
+        histdef = "";
+      }
+    }
+    if(tok->GetEntries() == 3) hname = ((TObjString*)tok->At(1))->GetString();  // ie "var[0]>>h1(100,0,100)"
+    delete tok;
+    TString tmp = var + tempCut;
+    hname = Form("%s_%u",hname.Data(),tmp.Hash());      // unique id so caching histos works
+
+    errcode=1;
+    TObject *hobj  = gDirectory->Get(hname);
+    if(hobj == NULL) {
+      errcode = fRootFile.RootTree[iTree]->Draw(myvar+">>"+hname+"("+histdef+")",cut,drawopt,
+				     1000000000,fRootFile.TreeEntries[iTree]);
+      hobj = gDirectory->Get(hname);
+    }
+    TH1F *mainhist = (TH1F*)hobj;
+    mainhist->Draw(drawopt);
+    //tmp = myvar+">>"+hname+"("+histdef+")";
+    //printf("hist: '%s',  opt: '%s',  \"%s\"\n", hname.Data(), drawopt.Data(),tmp.Data());
+
+    if(errcode==-1) {
+      BadDraw(var+" not found");
+    } else if (errcode!=0) {
+      TString htype = hobj->ClassName();
+      if(! htype.Contains("TH1F") ) {
+        //printf("skipping.\n");
+        showGolden=kFALSE;
+      }
+      if(showGolden) {
+        errcode=1;
+        TString goldname = "gold"+hname;
+        TH1F *goldhist = (TH1F*)gDirectory->Get(goldname);
+        if(goldhist == NULL) {
+          goldhist = (TH1F*)mainhist->Clone(hname);
+          goldhist->SetName(goldname);
+          errcode = fGoldenFile.RootTree[iTree]->Project(goldname,myvar,cut);
+        }
+        if(errcode>0) {
+          goldhist->SetFillColor(30);
+	  Int_t fillstyle=3027;
+	  if(fPrintOnly) fillstyle=3010;
+	  goldhist->SetFillStyle(fillstyle);
+          goldhist->Draw(drawopt);
+          mainhist->SetFillColor(0);
+          mainhist->SetFillStyle(1001);
+          mainhist->Draw("same");
+          if(!command.title.IsNull()) goldhist->SetTitle(command.title);
+          if(!showStat)               goldhist->SetStats(kFALSE);
+        }
+      } else {
+        if(!command.title.IsNull()) mainhist->SetTitle(command.title);
+        if(!showStat)               mainhist->SetStats(kFALSE);
+      }
+    } else {
+      BadDraw("Empty Histogram");
+    }
+  } else {
+    BadDraw(var+" not found");
+    if (fConfig->IsMonitor()){
+      // Maybe we missed it... look again.  I dont like the code
+      // below... maybe I can come up with something better
+      GetFileObjects(&fRootFile);
+      GetRootTree(&fRootFile);
+      GetTreeVars(&fRootFile);
+    }
+  }
+
+}
+
+void OnlineGUI::ObtainRunNumber()
+{
+  // Utility to obtain the runnumber through a helper macro
+  //  "GetRunNumber.C"
+
+  if (runNumber==0) runNumber = GetRunNumber();
+#ifdef DEBUG
+  cout << "Runnumber from file: " << runNumber << endl;
+#endif
+}
+
+void OnlineGUI::PrintToFile()
+{
+  // Routine to print the current page to a File.
+  //  A file dialog pop's up to request the file name.
+  fCanvas = fEcanvas->GetCanvas();
+  gStyle->SetPaperSize(20,24);
+  static TString dir(".");
+  TGFileInfo fi;
+  const char *myfiletypes[] =
+    { "All files","*",
+      "PDF files","*.pdf",
+      "PNG files","*.png",
+      "GIF files","*.gif",
+      "JPG files","*.jpg",
+      0,               0 };
+  fi.fFileTypes = myfiletypes;
+  fi.fIniDir    = StrDup(dir.Data());
+  cout << " INitiail = " << fi.fIniDir << endl;
+  new TGFileDialog(gClient->GetRoot(), fMain, kFDSave, &fi);
+  if(fi.fFilename!=NULL) {
+    fCanvas->Print(fi.fFilename);
+  }
+}
+
+void OnlineGUI::PrintPages() {
+  // Routine to go through each defined page, and print the output to
+  // a postscript file. (good for making sample histograms).
+
+  // Open the RootFile
+    //  unless we're watching a file.
+  fRootFile.RootFile = new TFile(fConfig->GetRootFile(),"READ");
+  if(!fRootFile.RootFile->IsOpen()) {
+    cout << "ERROR:  rootfile: " << fConfig->GetRootFile()
+	 << " does not exist"
+	 << endl;
+#ifdef STANDALONE
+    gApplication->Terminate();
+#else
+    return;
+#endif
+  } else {
+    fFileAlive = kTRUE;
+    ObtainRunNumber();
+    // Open the Root Trees.  Give a warning if it's not there..
+    GetFileObjects(&fRootFile);
+    GetRootTree(&fRootFile);
+    GetTreeVars(&fRootFile);
+    for(UInt_t i=0; i<fRootFile.RootTree.size(); i++) {
+      if(fRootFile.RootTree[i]==0) {
+	fRootFile.RootTree.erase(fRootFile.RootTree.begin() + i);
+      }
+    }
+
+  }
+  TString goldenfilename=fConfig->GetGoldenFile();
+  if(!goldenfilename.IsNull()) {
+    fGoldenFile.RootFile = new TFile(goldenfilename,"READ");
+    if(!fGoldenFile.RootFile->IsOpen()) {
+      cout << "ERROR: goldenrootfile: " << goldenfilename
+	   << " does not exist.  Oh well, no comparison plots."
+	   << endl;
+      doGolden = kFALSE;
+      fGoldenFile.RootFile=NULL;
+    } else {
+      // Open the Root Trees.  Give a warning if it's not there..
+      GetFileObjects(&fGoldenFile);
+      GetRootTree(&fGoldenFile);
+      GetTreeVars(&fGoldenFile);
+      for(UInt_t i=0; i<fGoldenFile.RootTree.size(); i++) {
+        if(fGoldenFile.RootTree[i]==0) {
+	  fGoldenFile.RootTree.erase(fGoldenFile.RootTree.begin() + i);
+        }
+      }
+      doGolden = kTRUE;
+    }
+  } else {
+    doGolden=kFALSE;
+    fGoldenFile.RootFile=NULL;
+  }
+
+  // I'm not sure exactly how this works.  But it does.
+  fCanvas = new TCanvas("fCanvas","trythis",850,1100);
+//   TCanvas *maincanvas = new TCanvas("maincanvas","whatever",850,1100);
+//   maincanvas->SetCanvas(fCanvas);
+  TLatex *lt = new TLatex();
+
+  TString plotsdir = fConfig->GetPlotsDir();
+  Bool_t useJPG = kFALSE;
+  if(!plotsdir.IsNull()) useJPG = kTRUE;
+
+  //  TString filename = "summaryplots";
+  TString ConfigStartAll=fConfig->GetConfigStart();
+  TObjArray *tx= ConfigStartAll.Tokenize("/");
+  TString temp=((TObjString *)(tx->At(tx->GetEntries()-1)))->String();
+  Ssiz_t pos=temp.Index(".cfg");
+  TString filename=temp(0,pos);
+  if(runNumber!=0) {
+    filename += "_";
+    filename += runNumber;
+  }
+  if(useJPG) {
+    filename.Prepend(plotsdir+"/");
+    filename += "_pageXXXX.jpg";
+  }
+  else filename += ".pdf";
+
+  TString pagehead = "Summary Plots";
+  if(runNumber!=0) {
+    pagehead += "(Run #";
+    pagehead += runNumber;
+    pagehead += ")";
+  }
+  pagehead += ": ";
+
+  gStyle->SetPalette(1);
+  gStyle->SetTitleX(0.5);
+  gStyle->SetTitleY(0.95);
+  gStyle->SetPadBorderMode(0);
+  gStyle->SetHistLineColor(1);
+  gStyle->SetHistFillColor(1);
+  cout << filename << endl;
+  if(!useJPG) fCanvas->Print(filename+"[");
+  TString origFilename = filename;
+  for(UInt_t i=0; i<fConfig->GetPageCount(); i++) {
+    current_page=i;
+    DoDraw();
+    TString pagename = pagehead + fConfig->GetPageTitle(current_page);
+    lt->SetTextSize(0.025);
+    lt->DrawLatex(0.05,0.98,pagename);
+    if(useJPG) {
+      filename = origFilename;
+      filename.ReplaceAll("XXXX",Form("%d",current_page));
+      cout << "Printing page " << current_page
+	   << " to file = " << filename << endl;
+    }
+    fCanvas->Print(filename);
+  }
+  if(!useJPG) fCanvas->Print(filename+"]");
+  //
+
+  cout << "Writing histograms to root file '" << filename << "'." << endl;
+
+  filename.Resize(filename.Last('.'));
+  filename += ".root";
+  TFile* hroot = new TFile(filename,"recreate");
+
+  UInt_t pageCount = fConfig->GetPageCount();
+  for (UInt_t iPage=0; iPage<pageCount; ++iPage) {
+    UInt_t drawCount = fConfig->GetDrawCount(iPage);
+    for (UInt_t iDraw=0; iDraw<drawCount; ++iDraw) {
+      TString macro = fConfig->GetDrawCommand(iPage, iDraw).macro;
+      if (macro != "") {
+        TString histName = macro.Remove(0, macro.First('\"')+1);
+        histName.Resize(macro.First('\"'));
+
+        fRootFile.RootFile->cd();
+        TH1F* h1f = dynamic_cast<TH1F*>(gDirectory->Get(histName));
+        TH2F* h2f = dynamic_cast<TH2F*>(gDirectory->Get(histName));
+        hroot->cd();
+
+        if (h1f) h1f->Write();
+        else if (h2f) h2f->Write();
+        else cout << histName << " not found!" << endl;
+      }
+    }
+  }
+
+  hroot->Write();
+  hroot->Close();
+  delete hroot;
+
+  cout << "Root file '" << filename << "' done." << endl;
+
+  //
+#ifdef STANDALONE
+  gApplication->Terminate();
+#endif
+}
+
+void OnlineGUI::MyCloseWindow()
+{
+  fMain->SendCloseMessage();
+  cout << "OnlineGUI Closed." << endl;
+  if(timer!=NULL) {
+    timer->Stop();
+    delete timer;
+  }
+  delete fPrint;
+  delete fExit;
+  delete fRunNumber;
+  delete fPrev;
+  delete fNext;
+  delete wile;
+  for(UInt_t i=0; i<fConfig->GetPageCount(); i++)
+    delete fRadioPage[i];
+  delete hframe;
+  delete fEcanvas;
+  delete fBottomFrame;
+  delete vframe;
+  delete fTopframe;
+  delete fMain;
+  if(fGoldenFile.RootFile!=NULL) delete fGoldenFile.RootFile;
+  if(fRootFile.RootFile!=NULL) delete fRootFile.RootFile;
+  delete fConfig;
+
+#ifdef STANDALONE
+  gApplication->Terminate();
+#endif
+}
+
+void OnlineGUI::CloseGUI()
+{
+  // Routine to take care of the Exit GUI button
+  fMain->SendCloseMessage();
+}
+
+OnlineGUI::~OnlineGUI()
+{
+  //  fMain->SendCloseMessage();
+  if(timer!=NULL) {
+    timer->Stop();
+    delete timer;
+  }
+  delete fPrint;
+  delete fExit;
+  delete fRunNumber;
+  delete fPrev;
+  delete fNext;
+  delete wile;
+  for(UInt_t i=0; i<fConfig->GetPageCount(); i++)
+    delete fRadioPage[i];
+  delete hframe;
+  delete fEcanvas;
+  delete vframe;
+  delete fBottomFrame;
+  delete fTopframe;
+  delete fMain;
+  if(fGoldenFile.RootFile!=NULL) delete fGoldenFile.RootFile;
+  if(fRootFile.RootFile!=NULL) delete fRootFile.RootFile;
+  delete fConfig;
+}
+
+void online(TString type="standard",UInt_t run=0,Bool_t printonly=kFALSE,Bool_t rootonly=kFALSE)
+{
+  // "main" routine.  Run this at the ROOT commandline.
+
+  if(printonly || rootonly) {
+    if(!gROOT->IsBatch()) {
+#ifdef STANDALONE
+      gROOT->SetBatch();
+#else
+      cout << "Sorry... the print summary plots option only works "
+	   << "in BATCH mode." << endl;
+      return;
+#endif
+    }
+  }
+
+  OnlineConfig *fconfig = new OnlineConfig(type);
+    //    OnlineConfig *fconfig = new OnlineConfig("halla");
+
+  if(!fconfig->ParseConfig()) {
+#ifdef STANDALONE
+    gApplication->Terminate();
+#else
+    return;
+#endif
+  }
+
+  if(run!=0) fconfig->OverrideRootFile(run);
+
+  new OnlineGUI(*fconfig,printonly,rootonly,run);
+
+}
+
+#ifdef STANDALONE
+void Usage()
+{
+  cerr << "Usage: online [-r] [-f] [-P]"
+       << endl;
+  cerr << "Options:" << endl;
+  cerr << "  -r : runnumber" << endl;
+  cerr << "  -f : configuration file" << endl;
+  cerr << "  -P : Only Print Summary Plots" << endl;
+  cerr << "  -R : Only Rootfile " << endl;
+  cerr << endl;
+
+}
+
+int main(int argc, char **argv)
+{
+  TString type="default";
+  UInt_t run=0;
+  Bool_t printonly=kFALSE;
+  Bool_t rootonly=kFALSE;
+  Bool_t showedUsage=kFALSE;
+
+  TApplication theApp("App",&argc,argv,NULL,-1);
+
+  for(Int_t i=1;i<theApp.Argc();i++)
+    {
+      TString sArg = theApp.Argv(i);
+      if(sArg=="-f") {
+	type = theApp.Argv(++i);
+	cout << " File specifier: "
+	     <<  type << endl;
+      } else if (sArg=="-r") {
+	run = atoi(theApp.Argv(++i));
+	cout << " Runnumber: "
+	     << run << endl;
+      } else if (sArg=="-P") {
+	printonly = kTRUE;
+	cout <<  " PrintOnly" << endl;
+      } else if (sArg=="-R") {
+	rootonly = kTRUE;
+	cout <<  " RootOnly" << endl;
+      } else if (sArg=="-h") {
+	if(!showedUsage) Usage();
+	showedUsage=kTRUE;
+	return 0;
+      } else {
+	cerr << "\"" << sArg << "\"" << " not recognized.  Ignored." << endl;
+	if(!showedUsage) Usage();
+	showedUsage=kTRUE;
+      }
+    }
+
+  online(type,run,printonly,rootonly);
+  theApp.Run();
+
+  return 0;
+}
+
+#endif
diff --git a/onlineGUI/onlineGUI_v1.2.1/online.h b/onlineGUI/onlineGUI_v1.2.1/online.h
old mode 100644
new mode 100755
index 186e0128..6e6e10e2
--- a/onlineGUI/onlineGUI_v1.2.1/online.h
+++ b/onlineGUI/onlineGUI_v1.2.1/online.h
@@ -1,172 +1,179 @@
-///////////////////////////////////////////////////////////////////
-//  Macro to help with online analysis
-//    B. Moffit (moffit@jlab.org)
-//    - Originally written in Oct. 2003
-//  Documentation and updates available at:
-//    http://www.jlab.org/~moffit/onlineGUI/
-//
-
-#include <TTree.h>
-#include <TFile.h>
-#include <TGButton.h>
-#include <TGFrame.h>
-#include <TRootEmbeddedCanvas.h>
-#include "TGLabel.h"
-#include "TGString.h"
-#include <RQ_OBJECT.h>
-#include <TQObject.h>
-#include <vector>
-#include <TString.h>
-#include <TCut.h>
-#include <TTimer.h>
-#include "TH1.h"
-#include "TH2.h"
-#include "TH3.h"
-
-#define UPDATETIME 2000
-
-using namespace std;
-
-/* TTree *raw; */
-/* TFile *file; */
-struct fileObject {
-  TString name;
-  TString title;
-  TString type;
-  TString directory;
-};
-
-struct RootFileObject {
-  TFile*                            RootFile;
-  vector <TTree*>                   RootTree;
-  vector <Int_t>                    TreeEntries;
-  vector < vector <TString> >       TreeVars;
-  Bool_t                            fUpdate;
-  TH1D                             *mytemp1d;
-  TH2D                             *mytemp2d;
-  TH3D                             *mytemp3d;
-  vector <fileObject>               vfileObjects;
-};
-
-struct drawcommand {
-  TString variable;
-  TString cut;
-  TString type;
-  TString title;
-  TString treename;
-  TString nostat;
-  TString noshowgolden;
-  TString macro;
-  TString directory;
-  TString objname;
-  TString objtype;
-  TString objtitle;
-};
-
-class OnlineConfig {
-  RQ_OBJECT("OnlineConfig");
-  // Class that takes care of the config file
-private:
-  TString confFileName;                   // config filename
-  ifstream *fConfFile;                    // original config file
-  void ParseFile();
-  vector < vector <TString> > sConfFile;  // the config file, in memory
-  // pageInfo is the vector of the pages containing the sConfFile index
-  //   and how many commands issued within that page (title, 1d, etc.)
-  TString rootfilename;  //  Just the name
-  TString goldenrootfilename; // Golden rootfile for comparisons
-  TString protorootfile; // Prototype for getting the rootfilename
-  TString guicolor; // User's choice of background color
-  TString plotsdir; // Where to store sample plots.. automatically stored as .jpg's).
-  vector < pair <UInt_t,UInt_t> > pageInfo; 
-  vector <TCut> cutList; 
-  vector <UInt_t> GetDrawIndex(UInt_t);
-  Bool_t fFoundCfg;
-  Bool_t fMonitor;
-  Bool_t ParseForMultiPlots();
-
-public:
-  OnlineConfig();
-  OnlineConfig(TString);
-  Bool_t ParseConfig();
-  TString GetRootFile() { return rootfilename; };
-  TString GetGoldenFile() { return goldenrootfilename; };
-  TString GetGuiColor() { return guicolor; };
-  TString GetPlotsDir() { return plotsdir; };
-  TCut GetDefinedCut(TString ident);
-  vector <TString> GetCutIdent();
-  // Page utilites
-  UInt_t  GetPageCount() { return pageInfo.size(); };
-  pair <UInt_t,UInt_t> GetPageDim(UInt_t);
-  Bool_t IsLogx(UInt_t page);
-  Bool_t IsLogy(UInt_t page);
-  Bool_t IsLogz(UInt_t page);
-  TString GetPageTitle(UInt_t);
-  UInt_t GetDrawCount(UInt_t);           // Number of histograms in a page
-  drawcommand GetDrawCommand(UInt_t,UInt_t);
-  vector <TString> SplitString(TString,TString);
-  void OverrideRootFile(UInt_t);
-  Bool_t IsMonitor() { return fMonitor; };
-};
-
-class OnlineGUI {
-  // Class that takes care of the GUI
-  RQ_OBJECT("OnlineGUI")
-private:
-	//UInt_t fRunNum;
-  TGMainFrame                      *fMain;
-  TGHorizontalFrame                *fTopframe;
-  TGVerticalFrame                  *vframe;
-  TGRadioButton                    *fRadioPage[50];
-  TGPictureButton                  *wile;
-  TRootEmbeddedCanvas              *fEcanvas;
-  TGHorizontalFrame                *fBottomFrame;
-  TGHorizontalFrame                *hframe;
-  TGTextButton                     *fNext;
-  TGTextButton                     *fPrev;
-  TGTextButton                     *fExit;
-  TGLabel                          *fRunNumber;
-  TGTextButton                     *fPrint;
-  TCanvas                          *fCanvas; // Present Embedded canvas
-  OnlineConfig                     *fConfig;
-  UInt_t                            current_page;
-  RootFileObject                    fRootFile;
-  RootFileObject                    fGoldenFile;
-  Bool_t                            doGolden;
-  UInt_t                            runNumber;
-  TTimer                           *timer;
-  Bool_t                            fPrintOnly;
-  Bool_t                            fFileAlive;
-
-public:
-  OnlineGUI(OnlineConfig&,Bool_t,UInt_t RunNum=0);
-  void CreateGUI(const TGWindow *p, UInt_t w, UInt_t h);
-  virtual ~OnlineGUI();
-  void DoDraw();
-  void DrawPrev();
-  void DrawNext();
-  void DoRadio();
-  void CheckPageButtons();
-  // Specific Draw Methods
-  void GetFileObjects(RootFileObject *r);
-  void GetTreeVars(RootFileObject *r);
-  void GetRootTree(RootFileObject *r);
-  UInt_t GetTreeIndex(TString,RootFileObject *r);
-  UInt_t GetTreeIndexFromName(TString, RootFileObject *r);
-  drawcommand fileObject2command(drawcommand,RootFileObject *r);
-  void TreeDraw(drawcommand); 
-  void HistDraw(drawcommand);
-  void MacroDraw(drawcommand);
-  void CanvasDraw(drawcommand,UInt_t);
-  void GraphDraw(drawcommand);
-  void DoDrawClear(RootFileObject *r);
-  void TimerUpdate();
-  void BadDraw(TString);
-  void CheckRootFile();
-  Int_t OpenRootFile();
-  void ObtainRunNumber();
-  void PrintToFile();
-  void PrintPages();
-  void MyCloseWindow();
-  void CloseGUI();
-};
+///////////////////////////////////////////////////////////////////
+//  Macro to help with online analysis
+//    B. Moffit (moffit@jlab.org)
+//    - Originally written in Oct. 2003
+//  Documentation and updates available at:
+//    http://www.jlab.org/~moffit/onlineGUI/
+//
+
+#include <TTree.h>
+#include <TFile.h>
+#include <TGButton.h>
+#include <TGFrame.h>
+#include <TRootEmbeddedCanvas.h>
+#include "TGLabel.h"
+#include "TGString.h"
+#include <RQ_OBJECT.h>
+#include <TQObject.h>
+#include <vector>
+#include <TString.h>
+#include <TCut.h>
+#include <TTimer.h>
+#include "TH1.h"
+#include "TH2.h"
+#include "TH3.h"
+
+#define UPDATETIME 2000
+
+using namespace std;
+
+/* TTree *raw; */
+/* TFile *file; */
+struct fileObject {
+  TString name;
+  TString title;
+  TString type;
+  TString directory;
+};
+
+struct RootFileObject {
+  TFile*                            RootFile;
+  vector <TTree*>                   RootTree;
+  vector <Int_t>                    TreeEntries;
+  vector < vector <TString> >       TreeVars;
+  Bool_t                            fUpdate;
+  TH1D                             *mytemp1d;
+  TH2D                             *mytemp2d;
+  TH3D                             *mytemp3d;
+  vector <fileObject>               vfileObjects;
+};
+
+struct drawcommand {
+  TString variable;
+  TString cut;
+  TString type;
+  TString title;
+  TString treename;
+  TString nostat;
+  TString noshowgolden;
+  TString macro;
+  TString directory;
+  TString objname;
+  TString objtype;
+  TString objtitle;
+};
+
+class OnlineConfig {
+  RQ_OBJECT("OnlineConfig");
+  // Class that takes care of the config file
+private:
+  TString confFileName;                   // config filename
+  ifstream *fConfFile;                    // original config file
+  void ParseFile();
+  vector < vector <TString> > sConfFile;  // the config file, in memory
+  // pageInfo is the vector of the pages containing the sConfFile index
+  //   and how many commands issued within that page (title, 1d, etc.)
+  TString rootfilename;  //  Just the name
+  TString goldenrootfilename; // Golden rootfile for comparisons
+  TString protorootfile; // Prototype for getting the rootfilename
+  TString configfilestart; // 
+  TString guicolor; // User's choice of background color
+  TString plotsdir; // Where to store sample plots.. automatically stored as .jpg's).
+  UInt_t canvaswidth; // Width of histogram canvas
+  UInt_t canvasheight; // Width of histogram canvas
+  vector < pair <UInt_t,UInt_t> > pageInfo; 
+  vector <TCut> cutList; 
+  vector <UInt_t> GetDrawIndex(UInt_t);
+  Bool_t fFoundCfg;
+  Bool_t fMonitor;
+  Bool_t ParseForMultiPlots();
+
+public:
+  OnlineConfig();
+  OnlineConfig(TString);
+  Bool_t ParseConfig();
+  TString GetRootFile() { return rootfilename; };
+  TString GetGoldenFile() { return goldenrootfilename; };
+  TString GetGuiColor() { return guicolor; };
+  TString GetPlotsDir() { return plotsdir; };
+  TCut GetDefinedCut(TString ident);
+  vector <TString> GetCutIdent();
+  // Page utilites
+  UInt_t  GetPageCount() { return pageInfo.size(); };
+  pair <UInt_t,UInt_t> GetPageDim(UInt_t);
+  Bool_t IsLogx(UInt_t page);
+  Bool_t IsLogy(UInt_t page);
+  Bool_t IsLogz(UInt_t page);
+  TString GetPageTitle(UInt_t);
+  UInt_t GetDrawCount(UInt_t);           // Number of histograms in a page
+  drawcommand GetDrawCommand(UInt_t,UInt_t);
+  vector <TString> SplitString(TString,TString);
+  void OverrideRootFile(UInt_t);
+  Bool_t IsMonitor() { return fMonitor; };
+  UInt_t GetCanvasWidth() { return canvaswidth; };
+  UInt_t GetCanvasHeight() { return canvasheight; };
+  TString GetConfigStart() {return configfilestart;}; // 
+};
+
+class OnlineGUI {
+  // Class that takes care of the GUI
+  RQ_OBJECT("OnlineGUI")
+private:
+	//UInt_t fRunNum;
+  TGMainFrame                      *fMain;
+  TGHorizontalFrame                *fTopframe;
+  TGVerticalFrame                  *vframe;
+  TGRadioButton                    *fRadioPage[50];
+  TGPictureButton                  *wile;
+  TRootEmbeddedCanvas              *fEcanvas;
+  TGHorizontalFrame                *fBottomFrame;
+  TGHorizontalFrame                *hframe;
+  TGTextButton                     *fNext;
+  TGTextButton                     *fPrev;
+  TGTextButton                     *fExit;
+  TGLabel                          *fRunNumber;
+  TGTextButton                     *fPrint;
+  TCanvas                          *fCanvas; // Present Embedded canvas
+  OnlineConfig                     *fConfig;
+  UInt_t                            current_page;
+  RootFileObject                    fRootFile;
+  RootFileObject                    fGoldenFile;
+  Bool_t                            doGolden;
+  UInt_t                            runNumber;
+  TTimer                           *timer;
+  Bool_t                            fPrintOnly;
+  Bool_t                            fRootOnly;
+  Bool_t                            fFileAlive;
+
+public:
+  OnlineGUI(OnlineConfig&,Bool_t,Bool_t,UInt_t RunNum=0);
+  void CreateGUI(const TGWindow *p, UInt_t w, UInt_t h);
+  virtual ~OnlineGUI();
+  void DoDraw();
+  void DrawPrev();
+  void DrawNext();
+  void DoRadio();
+  void CheckPageButtons();
+  // Specific Draw Methods
+  void GetFileObjects(RootFileObject *r);
+  void GetTreeVars(RootFileObject *r);
+  void GetRootTree(RootFileObject *r);
+  UInt_t GetTreeIndex(TString,RootFileObject *r);
+  UInt_t GetTreeIndexFromName(TString, RootFileObject *r);
+  drawcommand fileObject2command(drawcommand,RootFileObject *r);
+  void TreeDraw(drawcommand); 
+  void HistDraw(drawcommand);
+  void MacroDraw(drawcommand);
+  void CanvasDraw(drawcommand,UInt_t);
+  void GraphDraw(drawcommand);
+  void DoDrawClear(RootFileObject *r);
+  void TimerUpdate();
+  void BadDraw(TString);
+  void CheckRootFile();
+  Int_t OpenRootFile();
+  void ObtainRunNumber();
+  void PrintToFile();
+  void PrintPages();
+  void MyCloseWindow();
+  void CloseGUI();
+};
diff --git a/onlineGUI/onlineGUI_v1.2.1/onlineDict.C b/onlineGUI/onlineGUI_v1.2.1/onlineDict.C
deleted file mode 100644
index eaf7eebd..00000000
--- a/onlineGUI/onlineGUI_v1.2.1/onlineDict.C
+++ /dev/null
@@ -1,2058 +0,0 @@
-//
-// File generated by /apps/root/PRO/root/bin/rootcint at Mon Dec  5 11:52:05 2016
-
-// Do NOT change. Changes will be lost next time file is generated
-//
-
-#define R__DICTIONARY_FILENAME onlineDict
-#include "RConfig.h" //rootcint 4834
-#if !defined(R__ACCESS_IN_SYMBOL)
-//Break the privacy of classes -- Disabled for the moment
-#define private public
-#define protected public
-#endif
-
-// Since CINT ignores the std namespace, we need to do so in this file.
-namespace std {} using namespace std;
-#include "onlineDict.h"
-
-#include "TClass.h"
-#include "TBuffer.h"
-#include "TMemberInspector.h"
-#include "TInterpreter.h"
-#include "TVirtualMutex.h"
-#include "TError.h"
-
-#ifndef G__ROOT
-#define G__ROOT
-#endif
-
-#include "RtypesImp.h"
-#include "TIsAProxy.h"
-#include "TFileMergeInfo.h"
-
-// Direct notice to TROOT of the dictionary's loading.
-namespace {
-   static struct DictInit {
-      DictInit() {
-         ROOT::RegisterModule();
-      }
-   } __TheDictionaryInitializer;
-}
-
-// START OF SHADOWS
-
-namespace ROOTShadow {
-   namespace Shadow {
-   } // of namespace Shadow
-} // of namespace ROOTShadow
-// END OF SHADOWS
-
-namespace ROOTDict {
-   void OnlineConfig_ShowMembers(void *obj, TMemberInspector &R__insp);
-   static void OnlineConfig_Dictionary();
-   static void *new_OnlineConfig(void *p = 0);
-   static void *newArray_OnlineConfig(Long_t size, void *p);
-   static void delete_OnlineConfig(void *p);
-   static void deleteArray_OnlineConfig(void *p);
-   static void destruct_OnlineConfig(void *p);
-
-   // Function generating the singleton type initializer
-   static ROOT::TGenericClassInfo *GenerateInitInstanceLocal(const ::OnlineConfig*)
-   {
-      ::OnlineConfig *ptr = 0;
-      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(::OnlineConfig),0);
-      static ::ROOT::TGenericClassInfo 
-         instance("OnlineConfig", "./online.h", 66,
-                  typeid(::OnlineConfig), ::ROOT::DefineBehavior(ptr, ptr),
-                  0, &OnlineConfig_Dictionary, isa_proxy, 0,
-                  sizeof(::OnlineConfig) );
-      instance.SetNew(&new_OnlineConfig);
-      instance.SetNewArray(&newArray_OnlineConfig);
-      instance.SetDelete(&delete_OnlineConfig);
-      instance.SetDeleteArray(&deleteArray_OnlineConfig);
-      instance.SetDestructor(&destruct_OnlineConfig);
-      return &instance;
-   }
-   ROOT::TGenericClassInfo *GenerateInitInstance(const ::OnlineConfig*)
-   {
-      return GenerateInitInstanceLocal((::OnlineConfig*)0);
-   }
-   // Static variable to force the class initialization
-   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::OnlineConfig*)0x0); R__UseDummy(_R__UNIQUE_(Init));
-
-   // Dictionary for non-ClassDef classes
-   static void OnlineConfig_Dictionary() {
-      ::ROOTDict::GenerateInitInstanceLocal((const ::OnlineConfig*)0x0)->GetClass();
-   }
-
-} // end of namespace ROOTDict
-
-namespace ROOTDict {
-   void OnlineGUI_ShowMembers(void *obj, TMemberInspector &R__insp);
-   static void OnlineGUI_Dictionary();
-   static void delete_OnlineGUI(void *p);
-   static void deleteArray_OnlineGUI(void *p);
-   static void destruct_OnlineGUI(void *p);
-
-   // Function generating the singleton type initializer
-   static ROOT::TGenericClassInfo *GenerateInitInstanceLocal(const ::OnlineGUI*)
-   {
-      ::OnlineGUI *ptr = 0;
-      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(::OnlineGUI),0);
-      static ::ROOT::TGenericClassInfo 
-         instance("OnlineGUI", "./online.h", 112,
-                  typeid(::OnlineGUI), ::ROOT::DefineBehavior(ptr, ptr),
-                  0, &OnlineGUI_Dictionary, isa_proxy, 0,
-                  sizeof(::OnlineGUI) );
-      instance.SetDelete(&delete_OnlineGUI);
-      instance.SetDeleteArray(&deleteArray_OnlineGUI);
-      instance.SetDestructor(&destruct_OnlineGUI);
-      return &instance;
-   }
-   ROOT::TGenericClassInfo *GenerateInitInstance(const ::OnlineGUI*)
-   {
-      return GenerateInitInstanceLocal((::OnlineGUI*)0);
-   }
-   // Static variable to force the class initialization
-   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::OnlineGUI*)0x0); R__UseDummy(_R__UNIQUE_(Init));
-
-   // Dictionary for non-ClassDef classes
-   static void OnlineGUI_Dictionary() {
-      ::ROOTDict::GenerateInitInstanceLocal((const ::OnlineGUI*)0x0)->GetClass();
-   }
-
-} // end of namespace ROOTDict
-
-namespace ROOTDict {
-   // Wrapper around operator delete
-   static void delete_OnlineGUI(void *p) {
-      delete ((::OnlineGUI*)p);
-   }
-   static void deleteArray_OnlineGUI(void *p) {
-      delete [] ((::OnlineGUI*)p);
-   }
-   static void destruct_OnlineGUI(void *p) {
-      typedef ::OnlineGUI current_t;
-      ((current_t*)p)->~current_t();
-   }
-} // end of namespace ROOTDict for class ::OnlineGUI
-
-namespace ROOTDict {
-   // Wrappers around operator new
-   static void *new_OnlineConfig(void *p) {
-      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) ::OnlineConfig : new ::OnlineConfig;
-   }
-   static void *newArray_OnlineConfig(Long_t nElements, void *p) {
-      return p ? ::new((::ROOT::TOperatorNewHelper*)p) ::OnlineConfig[nElements] : new ::OnlineConfig[nElements];
-   }
-   // Wrapper around operator delete
-   static void delete_OnlineConfig(void *p) {
-      delete ((::OnlineConfig*)p);
-   }
-   static void deleteArray_OnlineConfig(void *p) {
-      delete [] ((::OnlineConfig*)p);
-   }
-   static void destruct_OnlineConfig(void *p) {
-      typedef ::OnlineConfig current_t;
-      ((current_t*)p)->~current_t();
-   }
-} // end of namespace ROOTDict for class ::OnlineConfig
-
-/********************************************************
-* onlineDict.C
-* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED
-*          FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX().
-*          CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE.
-********************************************************/
-
-#ifdef G__MEMTEST
-#undef malloc
-#undef free
-#endif
-
-#if defined(__GNUC__) && __GNUC__ >= 4 && ((__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >= 1) || (__GNUC_MINOR__ >= 3))
-#pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif
-
-extern "C" void G__cpp_reset_tagtableonlineDict();
-
-extern "C" void G__set_cpp_environmentonlineDict() {
-  G__cpp_reset_tagtableonlineDict();
-}
-#include <new>
-extern "C" int G__cpp_dllrevonlineDict() { return(30051515); }
-
-/*********************************************************
-* Member function Interface Method
-*********************************************************/
-
-/* OnlineConfig */
-static int G__onlineDict_704_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 85, (long) ((const OnlineConfig*) G__getstructoffset())->GetListOfSignals());
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->Connect((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1])
-, (void*) G__int(libp->para[2]), (const char*) G__int(libp->para[3])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_3(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   switch (libp->paran) {
-   case 3:
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->Disconnect((const char*) G__int(libp->para[0]), (void*) G__int(libp->para[1])
-, (const char*) G__int(libp->para[2])));
-      break;
-   case 2:
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->Disconnect((const char*) G__int(libp->para[0]), (void*) G__int(libp->para[1])));
-      break;
-   case 1:
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->Disconnect((const char*) G__int(libp->para[0])));
-      break;
-   case 0:
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->Disconnect());
-      break;
-   }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_4(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   switch (libp->paran) {
-   case 2:
-      ((OnlineConfig*) G__getstructoffset())->HighPriority((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1]));
-      G__setnull(result7);
-      break;
-   case 1:
-      ((OnlineConfig*) G__getstructoffset())->HighPriority((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-      break;
-   }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   switch (libp->paran) {
-   case 2:
-      ((OnlineConfig*) G__getstructoffset())->LowPriority((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1]));
-      G__setnull(result7);
-      break;
-   case 1:
-      ((OnlineConfig*) G__getstructoffset())->LowPriority((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-      break;
-   }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   const int imax = 6, dmax = 8, umax = 50;
-   int objsize, type, i, icnt = 0, dcnt = 0, ucnt = 0;
-   G__value *pval;
-   G__int64 lval[imax] = {0};
-   double dval[dmax] = {0};
-   union { G__int64 lval; double dval; } u[umax] = {{0}};
-   lval[icnt] = G__getstructoffset(); icnt++; // this pointer
-   for (i = 0; i < libp->paran; i++) {
-      type = G__value_get_type(&libp->para[i]);
-      pval = &libp->para[i];
-      if (isupper(type))
-         objsize = G__LONGALLOC;
-      else
-         objsize = G__sizeof(pval);
-      switch (type) {
-         case 'c': case 'b': case 's': case 'r': objsize = sizeof(int); break;
-         case 'f': objsize = sizeof(double); break;
-      }
-#ifdef G__VAARG_PASS_BY_REFERENCE
-      if (objsize > G__VAARG_PASS_BY_REFERENCE) {
-         if (pval->ref > 0x1000) {
-            if (icnt < imax) {
-               lval[icnt] = pval->ref; icnt++;
-            } else {
-               u[ucnt].lval = pval->ref; ucnt++;
-            }
-         } else {
-            if (icnt < imax) {
-               lval[icnt] = G__int(*pval); icnt++;
-            } else {
-               u[ucnt].lval = G__int(*pval); ucnt++;
-            }
-         }
-         type = 'z';
-      }
-#endif
-      switch (type) {
-         case 'n': case 'm':
-            if (icnt < imax) {
-               lval[icnt] = (G__int64)G__Longlong(*pval); icnt++;
-            } else {
-               u[ucnt].lval = (G__int64)G__Longlong(*pval); ucnt++;
-            } break;
-         case 'f': case 'd':
-            if (dcnt < dmax) {
-               dval[dcnt] = G__double(*pval); dcnt++;
-            } else {
-               u[ucnt].dval = G__double(*pval); ucnt++;
-            } break;
-         case 'z': break;
-         case 'u':
-            if (objsize >= 16) {
-               memcpy(&u[ucnt].lval, (void*)pval->obj.i, objsize);
-               ucnt += objsize/8;
-               break;
-            }
-            // objsize < 16 -> fall through
-         case 'g': case 'c': case 'b': case 'r': case 's': case 'h': case 'i':
-         case 'k': case 'l':
-         default:
-            if (icnt < imax) {
-               lval[icnt] = G__int(*pval); icnt++;
-            } else {
-               u[ucnt].lval = G__int(*pval); ucnt++;
-            } break;
-      }
-      if (ucnt >= 50) printf("EmitVA: more than 56 var args\n");
-   }
-      ((OnlineConfig*) G__getstructoffset())->EmitVA((const char*) G__int(libp->para[0]), (Int_t) G__int(libp->para[1]), dval[0], dval[1], dval[2], dval[3], dval[4], dval[5], dval[6], dval[7], lval[3], lval[4], lval[5], u[0].lval, u[1].lval, u[2].lval, u[3].lval, u[4].lval, u[5].lval, u[6].lval, u[7].lval, u[8].lval, u[9].lval, u[10].lval, u[11].lval, u[12].lval, u[13].lval, u[14].lval, u[15].lval, u[16].lval, u[17].lval, u[18].lval, u[19].lval, u[20].lval, u[21].lval, u[22].lval, u[23].lval, u[24].lval, u[25].lval, u[26].lval, u[27].lval, u[28].lval, u[29].lval, u[30].lval, u[31].lval, u[32].lval, u[33].lval, u[34].lval, u[35].lval, u[36].lval, u[37].lval, u[38].lval, u[39].lval, u[40].lval, u[41].lval, u[42].lval, u[43].lval, u[44].lval, u[45].lval, u[46].lval, u[47].lval, u[48].lval, u[49].lval);
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Long_t*) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_10(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Double_t) G__double(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_11(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Long_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_12(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Long64_t) G__Longlong(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (ULong64_t) G__ULonglong(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Bool_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Char_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (UChar_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Short_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (UShort_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Int_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (UInt_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_21(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (ULong_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Float_t) G__double(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Destroyed();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->ChangedBy((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->Message((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   OnlineConfig* p = NULL;
-   char* gvp = (char*) G__getgvp();
-   int n = G__getaryconstruct();
-   if (n) {
-     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
-       p = new OnlineConfig[n];
-     } else {
-       p = new((void*) gvp) OnlineConfig[n];
-     }
-   } else {
-     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
-       p = new OnlineConfig;
-     } else {
-       p = new((void*) gvp) OnlineConfig;
-     }
-   }
-   result7->obj.i = (long) p;
-   result7->ref = (long) p;
-   G__set_tagnum(result7,G__get_linked_tagnum(&G__onlineDictLN_OnlineConfig));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_30(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   OnlineConfig* p = NULL;
-   char* gvp = (char*) G__getgvp();
-   //m: 1
-   if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
-     p = new OnlineConfig(*((TString*) G__int(libp->para[0])));
-   } else {
-     p = new((void*) gvp) OnlineConfig(*((TString*) G__int(libp->para[0])));
-   }
-   result7->obj.i = (long) p;
-   result7->ref = (long) p;
-   G__set_tagnum(result7,G__get_linked_tagnum(&G__onlineDictLN_OnlineConfig));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_31(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->ParseConfig());
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_32(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         TString* pobj;
-         TString xobj = ((OnlineConfig*) G__getstructoffset())->GetRootFile();
-         pobj = new TString(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_33(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         TString* pobj;
-         TString xobj = ((OnlineConfig*) G__getstructoffset())->GetGoldenFile();
-         pobj = new TString(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_34(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         TString* pobj;
-         TString xobj = ((OnlineConfig*) G__getstructoffset())->GetGuiColor();
-         pobj = new TString(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_35(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         TString* pobj;
-         TString xobj = ((OnlineConfig*) G__getstructoffset())->GetPlotsDir();
-         pobj = new TString(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_36(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         TCut* pobj;
-         TCut xobj = ((OnlineConfig*) G__getstructoffset())->GetDefinedCut(*((TString*) G__int(libp->para[0])));
-         pobj = new TCut(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_37(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         vector<TString>* pobj;
-         vector<TString> xobj = ((OnlineConfig*) G__getstructoffset())->GetCutIdent();
-         pobj = new vector<TString>(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_38(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 104, (long) ((OnlineConfig*) G__getstructoffset())->GetPageCount());
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_39(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         pair<UInt_t,UInt_t>* pobj;
-         pair<UInt_t,UInt_t> xobj = ((OnlineConfig*) G__getstructoffset())->GetPageDim((UInt_t) G__int(libp->para[0]));
-         pobj = new pair<UInt_t,UInt_t>(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_40(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->IsLogx((UInt_t) G__int(libp->para[0])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_41(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->IsLogy((UInt_t) G__int(libp->para[0])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_42(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->IsLogz((UInt_t) G__int(libp->para[0])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_43(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         TString* pobj;
-         TString xobj = ((OnlineConfig*) G__getstructoffset())->GetPageTitle((UInt_t) G__int(libp->para[0]));
-         pobj = new TString(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_44(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 104, (long) ((OnlineConfig*) G__getstructoffset())->GetDrawCount((UInt_t) G__int(libp->para[0])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_45(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         drawcommand* pobj;
-         drawcommand xobj = ((OnlineConfig*) G__getstructoffset())->GetDrawCommand((UInt_t) G__int(libp->para[0]), (UInt_t) G__int(libp->para[1]));
-         pobj = new drawcommand(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_46(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         vector<TString>* pobj;
-         vector<TString> xobj = ((OnlineConfig*) G__getstructoffset())->SplitString(*((TString*) G__int(libp->para[0])), *((TString*) G__int(libp->para[1])));
-         pobj = new vector<TString>(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_47(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineConfig*) G__getstructoffset())->OverrideRootFile((UInt_t) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_704_0_48(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 103, (long) ((OnlineConfig*) G__getstructoffset())->IsMonitor());
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-// automatic destructor
-typedef OnlineConfig G__TOnlineConfig;
-static int G__onlineDict_704_0_49(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   char* gvp = (char*) G__getgvp();
-   long soff = G__getstructoffset();
-   int n = G__getaryconstruct();
-   //
-   //has_a_delete: 0
-   //has_own_delete1arg: 0
-   //has_own_delete2arg: 0
-   //
-   if (!soff) {
-     return(1);
-   }
-   if (n) {
-     if (gvp == (char*)G__PVOID) {
-       delete[] (OnlineConfig*) soff;
-     } else {
-       G__setgvp((long) G__PVOID);
-       for (int i = n - 1; i >= 0; --i) {
-         ((OnlineConfig*) (soff+(sizeof(OnlineConfig)*i)))->~G__TOnlineConfig();
-       }
-       G__setgvp((long)gvp);
-     }
-   } else {
-     if (gvp == (char*)G__PVOID) {
-       delete (OnlineConfig*) soff;
-     } else {
-       G__setgvp((long) G__PVOID);
-       ((OnlineConfig*) (soff))->~G__TOnlineConfig();
-       G__setgvp((long)gvp);
-     }
-   }
-   G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-
-/* OnlineGUI */
-static int G__onlineDict_714_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 85, (long) ((const OnlineGUI*) G__getstructoffset())->GetListOfSignals());
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 103, (long) ((OnlineGUI*) G__getstructoffset())->Connect((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1])
-, (void*) G__int(libp->para[2]), (const char*) G__int(libp->para[3])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_3(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   switch (libp->paran) {
-   case 3:
-      G__letint(result7, 103, (long) ((OnlineGUI*) G__getstructoffset())->Disconnect((const char*) G__int(libp->para[0]), (void*) G__int(libp->para[1])
-, (const char*) G__int(libp->para[2])));
-      break;
-   case 2:
-      G__letint(result7, 103, (long) ((OnlineGUI*) G__getstructoffset())->Disconnect((const char*) G__int(libp->para[0]), (void*) G__int(libp->para[1])));
-      break;
-   case 1:
-      G__letint(result7, 103, (long) ((OnlineGUI*) G__getstructoffset())->Disconnect((const char*) G__int(libp->para[0])));
-      break;
-   case 0:
-      G__letint(result7, 103, (long) ((OnlineGUI*) G__getstructoffset())->Disconnect());
-      break;
-   }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_4(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   switch (libp->paran) {
-   case 2:
-      ((OnlineGUI*) G__getstructoffset())->HighPriority((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1]));
-      G__setnull(result7);
-      break;
-   case 1:
-      ((OnlineGUI*) G__getstructoffset())->HighPriority((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-      break;
-   }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   switch (libp->paran) {
-   case 2:
-      ((OnlineGUI*) G__getstructoffset())->LowPriority((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1]));
-      G__setnull(result7);
-      break;
-   case 1:
-      ((OnlineGUI*) G__getstructoffset())->LowPriority((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-      break;
-   }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   const int imax = 6, dmax = 8, umax = 50;
-   int objsize, type, i, icnt = 0, dcnt = 0, ucnt = 0;
-   G__value *pval;
-   G__int64 lval[imax] = {0};
-   double dval[dmax] = {0};
-   union { G__int64 lval; double dval; } u[umax] = {{0}};
-   lval[icnt] = G__getstructoffset(); icnt++; // this pointer
-   for (i = 0; i < libp->paran; i++) {
-      type = G__value_get_type(&libp->para[i]);
-      pval = &libp->para[i];
-      if (isupper(type))
-         objsize = G__LONGALLOC;
-      else
-         objsize = G__sizeof(pval);
-      switch (type) {
-         case 'c': case 'b': case 's': case 'r': objsize = sizeof(int); break;
-         case 'f': objsize = sizeof(double); break;
-      }
-#ifdef G__VAARG_PASS_BY_REFERENCE
-      if (objsize > G__VAARG_PASS_BY_REFERENCE) {
-         if (pval->ref > 0x1000) {
-            if (icnt < imax) {
-               lval[icnt] = pval->ref; icnt++;
-            } else {
-               u[ucnt].lval = pval->ref; ucnt++;
-            }
-         } else {
-            if (icnt < imax) {
-               lval[icnt] = G__int(*pval); icnt++;
-            } else {
-               u[ucnt].lval = G__int(*pval); ucnt++;
-            }
-         }
-         type = 'z';
-      }
-#endif
-      switch (type) {
-         case 'n': case 'm':
-            if (icnt < imax) {
-               lval[icnt] = (G__int64)G__Longlong(*pval); icnt++;
-            } else {
-               u[ucnt].lval = (G__int64)G__Longlong(*pval); ucnt++;
-            } break;
-         case 'f': case 'd':
-            if (dcnt < dmax) {
-               dval[dcnt] = G__double(*pval); dcnt++;
-            } else {
-               u[ucnt].dval = G__double(*pval); ucnt++;
-            } break;
-         case 'z': break;
-         case 'u':
-            if (objsize >= 16) {
-               memcpy(&u[ucnt].lval, (void*)pval->obj.i, objsize);
-               ucnt += objsize/8;
-               break;
-            }
-            // objsize < 16 -> fall through
-         case 'g': case 'c': case 'b': case 'r': case 's': case 'h': case 'i':
-         case 'k': case 'l':
-         default:
-            if (icnt < imax) {
-               lval[icnt] = G__int(*pval); icnt++;
-            } else {
-               u[ucnt].lval = G__int(*pval); ucnt++;
-            } break;
-      }
-      if (ucnt >= 50) printf("EmitVA: more than 56 var args\n");
-   }
-      ((OnlineGUI*) G__getstructoffset())->EmitVA((const char*) G__int(libp->para[0]), (Int_t) G__int(libp->para[1]), dval[0], dval[1], dval[2], dval[3], dval[4], dval[5], dval[6], dval[7], lval[3], lval[4], lval[5], u[0].lval, u[1].lval, u[2].lval, u[3].lval, u[4].lval, u[5].lval, u[6].lval, u[7].lval, u[8].lval, u[9].lval, u[10].lval, u[11].lval, u[12].lval, u[13].lval, u[14].lval, u[15].lval, u[16].lval, u[17].lval, u[18].lval, u[19].lval, u[20].lval, u[21].lval, u[22].lval, u[23].lval, u[24].lval, u[25].lval, u[26].lval, u[27].lval, u[28].lval, u[29].lval, u[30].lval, u[31].lval, u[32].lval, u[33].lval, u[34].lval, u[35].lval, u[36].lval, u[37].lval, u[38].lval, u[39].lval, u[40].lval, u[41].lval, u[42].lval, u[43].lval, u[44].lval, u[45].lval, u[46].lval, u[47].lval, u[48].lval, u[49].lval);
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (const char*) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Long_t*) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_10(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Double_t) G__double(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_11(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Long_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_12(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Long64_t) G__Longlong(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (ULong64_t) G__ULonglong(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Bool_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Char_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (UChar_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Short_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (UShort_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Int_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (UInt_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_21(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (ULong_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Emit((const char*) G__int(libp->para[0]), (Float_t) G__double(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Destroyed();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->ChangedBy((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->Message((const char*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   OnlineGUI* p = NULL;
-   char* gvp = (char*) G__getgvp();
-   switch (libp->paran) {
-   case 3:
-     //m: 3
-     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
-       p = new OnlineGUI(
-*(OnlineConfig*) libp->para[0].ref, (Bool_t) G__int(libp->para[1])
-, (UInt_t) G__int(libp->para[2]));
-     } else {
-       p = new((void*) gvp) OnlineGUI(
-*(OnlineConfig*) libp->para[0].ref, (Bool_t) G__int(libp->para[1])
-, (UInt_t) G__int(libp->para[2]));
-     }
-     break;
-   case 2:
-     //m: 2
-     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
-       p = new OnlineGUI(*(OnlineConfig*) libp->para[0].ref, (Bool_t) G__int(libp->para[1]));
-     } else {
-       p = new((void*) gvp) OnlineGUI(*(OnlineConfig*) libp->para[0].ref, (Bool_t) G__int(libp->para[1]));
-     }
-     break;
-   }
-   result7->obj.i = (long) p;
-   result7->ref = (long) p;
-   G__set_tagnum(result7,G__get_linked_tagnum(&G__onlineDictLN_OnlineGUI));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->CreateGUI((TGWindow*) G__int(libp->para[0]), (UInt_t) G__int(libp->para[1])
-, (UInt_t) G__int(libp->para[2]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->DoDraw();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->DrawPrev();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_30(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->DrawNext();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_31(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->DoRadio();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_32(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->CheckPageButtons();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_33(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->GetFileObjects((RootFileObject*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_34(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->GetTreeVars((RootFileObject*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_35(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->GetRootTree((RootFileObject*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_36(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 104, (long) ((OnlineGUI*) G__getstructoffset())->GetTreeIndex(*((TString*) G__int(libp->para[0])), (RootFileObject*) G__int(libp->para[1])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_37(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 104, (long) ((OnlineGUI*) G__getstructoffset())->GetTreeIndexFromName(*((TString*) G__int(libp->para[0])), (RootFileObject*) G__int(libp->para[1])));
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_38(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      {
-         drawcommand* pobj;
-         drawcommand xobj = ((OnlineGUI*) G__getstructoffset())->fileObject2command(*((drawcommand*) G__int(libp->para[0])), (RootFileObject*) G__int(libp->para[1]));
-         pobj = new drawcommand(xobj);
-         result7->obj.i = (long) ((void*) pobj);
-         result7->ref = result7->obj.i;
-         G__store_tempobject(*result7);
-      }
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_39(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->TreeDraw(*((drawcommand*) G__int(libp->para[0])));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_40(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->HistDraw(*((drawcommand*) G__int(libp->para[0])));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_41(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->MacroDraw(*((drawcommand*) G__int(libp->para[0])));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_42(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->CanvasDraw(*((drawcommand*) G__int(libp->para[0])), (UInt_t) G__int(libp->para[1]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_43(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->GraphDraw(*((drawcommand*) G__int(libp->para[0])));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_44(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->DoDrawClear((RootFileObject*) G__int(libp->para[0]));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_45(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->TimerUpdate();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_46(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->BadDraw(*((TString*) G__int(libp->para[0])));
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_47(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->CheckRootFile();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_48(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      G__letint(result7, 105, (long) ((OnlineGUI*) G__getstructoffset())->OpenRootFile());
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_49(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->ObtainRunNumber();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_50(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->PrintToFile();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_51(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->PrintPages();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_52(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->MyCloseWindow();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-static int G__onlineDict_714_0_53(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-      ((OnlineGUI*) G__getstructoffset())->CloseGUI();
-      G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-// automatic destructor
-typedef OnlineGUI G__TOnlineGUI;
-static int G__onlineDict_714_0_54(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
-{
-   char* gvp = (char*) G__getgvp();
-   long soff = G__getstructoffset();
-   int n = G__getaryconstruct();
-   //
-   //has_a_delete: 0
-   //has_own_delete1arg: 0
-   //has_own_delete2arg: 0
-   //
-   if (!soff) {
-     return(1);
-   }
-   if (n) {
-     if (gvp == (char*)G__PVOID) {
-       delete[] (OnlineGUI*) soff;
-     } else {
-       G__setgvp((long) G__PVOID);
-       for (int i = n - 1; i >= 0; --i) {
-         ((OnlineGUI*) (soff+(sizeof(OnlineGUI)*i)))->~G__TOnlineGUI();
-       }
-       G__setgvp((long)gvp);
-     }
-   } else {
-     if (gvp == (char*)G__PVOID) {
-       delete (OnlineGUI*) soff;
-     } else {
-       G__setgvp((long) G__PVOID);
-       ((OnlineGUI*) (soff))->~G__TOnlineGUI();
-       G__setgvp((long)gvp);
-     }
-   }
-   G__setnull(result7);
-   return(1 || funcname || hash || result7 || libp) ;
-}
-
-
-/* Setting up global function */
-
-/*********************************************************
-* Member function Stub
-*********************************************************/
-
-/* OnlineConfig */
-
-/* OnlineGUI */
-
-/*********************************************************
-* Global function Stub
-*********************************************************/
-
-/*********************************************************
-* Get size of pointer to member function
-*********************************************************/
-class G__Sizep2memfunconlineDict {
- public:
-  G__Sizep2memfunconlineDict(): p(&G__Sizep2memfunconlineDict::sizep2memfunc) {}
-    size_t sizep2memfunc() { return(sizeof(p)); }
-  private:
-    size_t (G__Sizep2memfunconlineDict::*p)();
-};
-
-size_t G__get_sizep2memfunconlineDict()
-{
-  G__Sizep2memfunconlineDict a;
-  G__setsizep2memfunc((int)a.sizep2memfunc());
-  return((size_t)a.sizep2memfunc());
-}
-
-
-/*********************************************************
-* virtual base class offset calculation interface
-*********************************************************/
-
-   /* Setting up class inheritance */
-
-/*********************************************************
-* Inheritance information setup/
-*********************************************************/
-extern "C" void G__cpp_setup_inheritanceonlineDict() {
-
-   /* Setting up class inheritance */
-}
-
-/*********************************************************
-* typedef information setup/
-*********************************************************/
-extern "C" void G__cpp_setup_typetableonlineDict() {
-
-   /* Setting up typedef entry */
-   G__search_typename2("Char_t",99,-1,0,-1);
-   G__setnewtype(-1,"Signed Character 1 byte (char)",0);
-   G__search_typename2("UChar_t",98,-1,0,-1);
-   G__setnewtype(-1,"Unsigned Character 1 byte (unsigned char)",0);
-   G__search_typename2("Short_t",115,-1,0,-1);
-   G__setnewtype(-1,"Signed Short integer 2 bytes (short)",0);
-   G__search_typename2("UShort_t",114,-1,0,-1);
-   G__setnewtype(-1,"Unsigned Short integer 2 bytes (unsigned short)",0);
-   G__search_typename2("Int_t",105,-1,0,-1);
-   G__setnewtype(-1,"Signed integer 4 bytes (int)",0);
-   G__search_typename2("UInt_t",104,-1,0,-1);
-   G__setnewtype(-1,"Unsigned integer 4 bytes (unsigned int)",0);
-   G__search_typename2("Long_t",108,-1,0,-1);
-   G__setnewtype(-1,"Signed long integer 8 bytes (long)",0);
-   G__search_typename2("ULong_t",107,-1,0,-1);
-   G__setnewtype(-1,"Unsigned long integer 8 bytes (unsigned long)",0);
-   G__search_typename2("Float_t",102,-1,0,-1);
-   G__setnewtype(-1,"Float 4 bytes (float)",0);
-   G__search_typename2("Double_t",100,-1,0,-1);
-   G__setnewtype(-1,"Double 8 bytes",0);
-   G__search_typename2("Bool_t",103,-1,0,-1);
-   G__setnewtype(-1,"Boolean (0=false, 1=true) (bool)",0);
-   G__search_typename2("Long64_t",110,-1,0,-1);
-   G__setnewtype(-1,"Portable signed long integer 8 bytes",0);
-   G__search_typename2("ULong64_t",109,-1,0,-1);
-   G__setnewtype(-1,"Portable unsigned long integer 8 bytes",0);
-   G__search_typename2("vector<ROOT::TSchemaHelper>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<TVirtualArray*>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("iterator<std::bidirectional_iterator_tag,TObject*,std::ptrdiff_t,const TObject**,const TObject*&>",117,G__get_linked_tagnum(&G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("iterator<bidirectional_iterator_tag,TObject*,std::ptrdiff_t,const TObject**,const TObject*&>",117,G__get_linked_tagnum(&G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("iterator<bidirectional_iterator_tag,TObject*>",117,G__get_linked_tagnum(&G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("iterator<bidirectional_iterator_tag,TObject*,long>",117,G__get_linked_tagnum(&G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("iterator<bidirectional_iterator_tag,TObject*,long,const TObject**>",117,G__get_linked_tagnum(&G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("map<std::string,TObjArray*>",117,G__get_linked_tagnum(&G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("map<string,TObjArray*>",117,G__get_linked_tagnum(&G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("map<string,TObjArray*>",117,G__get_linked_tagnum(&G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("map<string,TObjArray*,less<string> >",117,G__get_linked_tagnum(&G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("pair<UInt_t,Int_t>",117,G__get_linked_tagnum(&G__onlineDictLN_pairlEunsignedsPintcOintgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<std::pair<UInt_t,Int_t> >",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<pair<UInt_t,Int_t> >",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<pair<unsigned int,int> >",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("TVectorT<Float_t>",117,G__get_linked_tagnum(&G__onlineDictLN_TVectorTlEfloatgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("TVectorT<Double_t>",117,G__get_linked_tagnum(&G__onlineDictLN_TVectorTlEdoublegR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("TMatrixTBase<Float_t>",117,G__get_linked_tagnum(&G__onlineDictLN_TMatrixTBaselEfloatgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("TMatrixTBase<Double_t>",117,G__get_linked_tagnum(&G__onlineDictLN_TMatrixTBaselEdoublegR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<TTree*>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETTreemUcOallocatorlETTreemUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETTreemUcOallocatorlETTreemUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<Int_t>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<int>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<TString>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETStringcOallocatorlETStringgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETStringcOallocatorlETStringgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<vector<TString> >",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<vector<TString,allocator<TString> > >",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<fileObject>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEfileObjectcOallocatorlEfileObjectgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEfileObjectcOallocatorlEfileObjectgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("pair<UInt_t,UInt_t>",117,G__get_linked_tagnum(&G__onlineDictLN_pairlEunsignedsPintcOunsignedsPintgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<pair<UInt_t,UInt_t> >",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<pair<unsigned int,unsigned int> >",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<TCut>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETCutcOallocatorlETCutgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__onlineDictLN_reverse_iteratorlEvectorlETCutcOallocatorlETCutgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR));
-   G__setnewtype(-1,NULL,0);
-   G__search_typename2("vector<UInt_t>",117,G__get_linked_tagnum(&G__onlineDictLN_vectorlEunsignedsPintcOallocatorlEunsignedsPintgRsPgR),0,-1);
-   G__setnewtype(-1,NULL,0);
-}
-
-/*********************************************************
-* Data Member information setup/
-*********************************************************/
-
-   /* Setting up class,struct,union tag member variable */
-
-   /* OnlineConfig */
-static void G__setup_memvarOnlineConfig(void) {
-   G__tag_memvar_setup(G__get_linked_tagnum(&G__onlineDictLN_OnlineConfig));
-   { OnlineConfig *p; p=(OnlineConfig*)0x1000; if (p) { }
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TQObjSender),-1,-1,4,"fQObject=",0,(char*)NULL);
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TString),-1,-1,4,"confFileName=",0,"config filename");
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_basic_ifstreamlEcharcOchar_traitslEchargRsPgR),G__defined_typename("ifstream"),-1,4,"fConfFile=",0,"original config file");
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR),G__defined_typename("vector<vector<TString> >"),-1,4,"sConfFile=",0,"the config file, in memory");
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TString),-1,-1,4,"rootfilename=",0,"Just the name");
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TString),-1,-1,4,"goldenrootfilename=",0,"Golden rootfile for comparisons");
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TString),-1,-1,4,"protorootfile=",0,"Prototype for getting the rootfilename");
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TString),-1,-1,4,"guicolor=",0,"User's choice of background color");
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TString),-1,-1,4,"plotsdir=",0,"Where to store sample plots.. automatically stored as .jpg's).");
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR),G__defined_typename("vector<pair<UInt_t,UInt_t> >"),-1,4,"pageInfo=",0,(char*)NULL);
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR),G__defined_typename("vector<TCut>"),-1,4,"cutList=",0,(char*)NULL);
-   G__memvar_setup((void*)0,103,0,0,-1,G__defined_typename("Bool_t"),-1,4,"fFoundCfg=",0,(char*)NULL);
-   G__memvar_setup((void*)0,103,0,0,-1,G__defined_typename("Bool_t"),-1,4,"fMonitor=",0,(char*)NULL);
-   }
-   G__tag_memvar_reset();
-}
-
-
-   /* OnlineGUI */
-static void G__setup_memvarOnlineGUI(void) {
-   G__tag_memvar_setup(G__get_linked_tagnum(&G__onlineDictLN_OnlineGUI));
-   { OnlineGUI *p; p=(OnlineGUI*)0x1000; if (p) { }
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_TQObjSender),-1,-1,4,"fQObject=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGMainFrame),-1,-1,4,"fMain=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGHorizontalFrame),-1,-1,4,"fTopframe=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGVerticalFrame),-1,-1,4,"vframe=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGRadioButton),-1,-1,4,"fRadioPage[50]=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGPictureButton),-1,-1,4,"wile=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TRootEmbeddedCanvas),-1,-1,4,"fEcanvas=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGHorizontalFrame),-1,-1,4,"fBottomFrame=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGHorizontalFrame),-1,-1,4,"hframe=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGTextButton),-1,-1,4,"fNext=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGTextButton),-1,-1,4,"fPrev=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGTextButton),-1,-1,4,"fExit=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGLabel),-1,-1,4,"fRunNumber=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TGTextButton),-1,-1,4,"fPrint=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TCanvas),-1,-1,4,"fCanvas=",0,"Present Embedded canvas");
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_OnlineConfig),-1,-1,4,"fConfig=",0,(char*)NULL);
-   G__memvar_setup((void*)0,104,0,0,-1,G__defined_typename("UInt_t"),-1,4,"current_page=",0,(char*)NULL);
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_RootFileObject),-1,-1,4,"fRootFile=",0,(char*)NULL);
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__onlineDictLN_RootFileObject),-1,-1,4,"fGoldenFile=",0,(char*)NULL);
-   G__memvar_setup((void*)0,103,0,0,-1,G__defined_typename("Bool_t"),-1,4,"doGolden=",0,(char*)NULL);
-   G__memvar_setup((void*)0,104,0,0,-1,G__defined_typename("UInt_t"),-1,4,"runNumber=",0,(char*)NULL);
-   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__onlineDictLN_TTimer),-1,-1,4,"timer=",0,(char*)NULL);
-   G__memvar_setup((void*)0,103,0,0,-1,G__defined_typename("Bool_t"),-1,4,"fPrintOnly=",0,(char*)NULL);
-   G__memvar_setup((void*)0,103,0,0,-1,G__defined_typename("Bool_t"),-1,4,"fFileAlive=",0,(char*)NULL);
-   G__memvar_setup((void*)0,108,0,0,-1,-1,-1,4,"G__virtualinfo=",0,(char*)NULL);
-   }
-   G__tag_memvar_reset();
-}
-
-extern "C" void G__cpp_setup_memvaronlineDict() {
-}
-/***********************************************************
-************************************************************
-************************************************************
-************************************************************
-************************************************************
-************************************************************
-************************************************************
-***********************************************************/
-
-/*********************************************************
-* Member function information setup for each class
-*********************************************************/
-static void G__setup_memfuncOnlineConfig(void) {
-   /* OnlineConfig */
-   G__tag_memfunc_setup(G__get_linked_tagnum(&G__onlineDictLN_OnlineConfig));
-   G__memfunc_setup("GetListOfSignals",1602,G__onlineDict_704_0_1, 85, G__get_linked_tagnum(&G__onlineDictLN_TList), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Connect",714,G__onlineDict_704_0_2, 103, -1, G__defined_typename("Bool_t"), 0, 4, 1, 1, 0, 
-"C - - 10 - sig C - - 10 - cl "
-"Y - - 0 - rcvr C - - 10 - slt", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Disconnect",1034,G__onlineDict_704_0_3, 103, -1, G__defined_typename("Bool_t"), 0, 3, 1, 1, 0, 
-"C - - 10 '0' sig Y - - 0 '0' rcvr "
-"C - - 10 '0' slt", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("HighPriority",1250,G__onlineDict_704_0_4, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal_name C - - 10 '0' slot_name", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("LowPriority",1172,G__onlineDict_704_0_5, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal_name C - - 10 '0' slot_name", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("EmitVA",550,G__onlineDict_704_0_6, 121, -1, -1, 0, 2, 8, 1, 0, 
-"C - - 10 - signal i - 'Int_t' 0 - nargs", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_7, 121, -1, -1, 0, 1, 1, 1, 0, "C - - 10 - signal", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_8, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal C - - 10 - params", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_9, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal L - 'Long_t' 0 - paramArr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_10, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal d - 'Double_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_11, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal l - 'Long_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_12, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal n - 'Long64_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_13, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal m - 'ULong64_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_14, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal g - 'Bool_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_15, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal c - 'Char_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_16, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal b - 'UChar_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_17, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal s - 'Short_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_18, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal r - 'UShort_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_19, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal i - 'Int_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_20, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal h - 'UInt_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_21, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal k - 'ULong_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_704_0_22, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal f - 'Float_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Destroyed",947,G__onlineDict_704_0_23, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("ChangedBy",869,G__onlineDict_704_0_24, 121, -1, -1, 0, 1, 1, 1, 0, "C - - 10 - method", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Message",709,G__onlineDict_704_0_25, 121, -1, -1, 0, 1, 1, 1, 0, "C - - 10 - msg", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("ParseFile",891,(G__InterfaceMethod) NULL, 121, -1, -1, 0, 0, 1, 4, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetDrawIndex",1190,(G__InterfaceMethod) NULL, 117, G__get_linked_tagnum(&G__onlineDictLN_vectorlEunsignedsPintcOallocatorlEunsignedsPintgRsPgR), G__defined_typename("vector<UInt_t>"), 0, 1, 1, 4, 0, "h - 'UInt_t' 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("ParseForMultiPlots",1855,(G__InterfaceMethod) NULL, 103, -1, G__defined_typename("Bool_t"), 0, 0, 1, 4, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("OnlineConfig",1211,G__onlineDict_704_0_29, 105, G__get_linked_tagnum(&G__onlineDictLN_OnlineConfig), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("OnlineConfig",1211,G__onlineDict_704_0_30, 105, G__get_linked_tagnum(&G__onlineDictLN_OnlineConfig), -1, 0, 1, 1, 1, 0, "u 'TString' - 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("ParseConfig",1105,G__onlineDict_704_0_31, 103, -1, G__defined_typename("Bool_t"), 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetRootFile",1092,G__onlineDict_704_0_32, 117, G__get_linked_tagnum(&G__onlineDictLN_TString), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetGoldenFile",1273,G__onlineDict_704_0_33, 117, G__get_linked_tagnum(&G__onlineDictLN_TString), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetGuiColor",1092,G__onlineDict_704_0_34, 117, G__get_linked_tagnum(&G__onlineDictLN_TString), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetPlotsDir",1105,G__onlineDict_704_0_35, 117, G__get_linked_tagnum(&G__onlineDictLN_TString), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetDefinedCut",1275,G__onlineDict_704_0_36, 117, G__get_linked_tagnum(&G__onlineDictLN_TCut), -1, 0, 1, 1, 1, 0, "u 'TString' - 0 - ident", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetCutIdent",1088,G__onlineDict_704_0_37, 117, G__get_linked_tagnum(&G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR), G__defined_typename("vector<TString>"), 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetPageCount",1190,G__onlineDict_704_0_38, 104, -1, G__defined_typename("UInt_t"), 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetPageDim",951,G__onlineDict_704_0_39, 117, G__get_linked_tagnum(&G__onlineDictLN_pairlEunsignedsPintcOunsignedsPintgR), G__defined_typename("pair<UInt_t,UInt_t>"), 0, 1, 1, 1, 0, "h - 'UInt_t' 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("IsLogx",598,G__onlineDict_704_0_40, 103, -1, G__defined_typename("Bool_t"), 0, 1, 1, 1, 0, "h - 'UInt_t' 0 - page", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("IsLogy",599,G__onlineDict_704_0_41, 103, -1, G__defined_typename("Bool_t"), 0, 1, 1, 1, 0, "h - 'UInt_t' 0 - page", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("IsLogz",600,G__onlineDict_704_0_42, 103, -1, G__defined_typename("Bool_t"), 0, 1, 1, 1, 0, "h - 'UInt_t' 0 - page", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetPageTitle",1183,G__onlineDict_704_0_43, 117, G__get_linked_tagnum(&G__onlineDictLN_TString), -1, 0, 1, 1, 1, 0, "h - 'UInt_t' 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetDrawCount",1207,G__onlineDict_704_0_44, 104, -1, G__defined_typename("UInt_t"), 0, 1, 1, 1, 0, "h - 'UInt_t' 0 - -", "Number of histograms in a page", (void*) NULL, 0);
-   G__memfunc_setup("GetDrawCommand",1389,G__onlineDict_704_0_45, 117, G__get_linked_tagnum(&G__onlineDictLN_drawcommand), -1, 0, 2, 1, 1, 0, 
-"h - 'UInt_t' 0 - - h - 'UInt_t' 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SplitString",1155,G__onlineDict_704_0_46, 117, G__get_linked_tagnum(&G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR), G__defined_typename("vector<TString>"), 0, 2, 1, 1, 0, 
-"u 'TString' - 0 - - u 'TString' - 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("OverrideRootFile",1636,G__onlineDict_704_0_47, 121, -1, -1, 0, 1, 1, 1, 0, "h - 'UInt_t' 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("IsMonitor",932,G__onlineDict_704_0_48, 103, -1, G__defined_typename("Bool_t"), 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   // automatic destructor
-   G__memfunc_setup("~OnlineConfig", 1337, G__onlineDict_704_0_49, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 0);
-   G__tag_memfunc_reset();
-}
-
-static void G__setup_memfuncOnlineGUI(void) {
-   /* OnlineGUI */
-   G__tag_memfunc_setup(G__get_linked_tagnum(&G__onlineDictLN_OnlineGUI));
-   G__memfunc_setup("GetListOfSignals",1602,G__onlineDict_714_0_1, 85, G__get_linked_tagnum(&G__onlineDictLN_TList), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Connect",714,G__onlineDict_714_0_2, 103, -1, G__defined_typename("Bool_t"), 0, 4, 1, 1, 0, 
-"C - - 10 - sig C - - 10 - cl "
-"Y - - 0 - rcvr C - - 10 - slt", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Disconnect",1034,G__onlineDict_714_0_3, 103, -1, G__defined_typename("Bool_t"), 0, 3, 1, 1, 0, 
-"C - - 10 '0' sig Y - - 0 '0' rcvr "
-"C - - 10 '0' slt", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("HighPriority",1250,G__onlineDict_714_0_4, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal_name C - - 10 '0' slot_name", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("LowPriority",1172,G__onlineDict_714_0_5, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal_name C - - 10 '0' slot_name", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("EmitVA",550,G__onlineDict_714_0_6, 121, -1, -1, 0, 2, 8, 1, 0, 
-"C - - 10 - signal i - 'Int_t' 0 - nargs", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_7, 121, -1, -1, 0, 1, 1, 1, 0, "C - - 10 - signal", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_8, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal C - - 10 - params", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_9, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal L - 'Long_t' 0 - paramArr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_10, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal d - 'Double_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_11, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal l - 'Long_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_12, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal n - 'Long64_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_13, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal m - 'ULong64_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_14, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal g - 'Bool_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_15, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal c - 'Char_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_16, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal b - 'UChar_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_17, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal s - 'Short_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_18, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal r - 'UShort_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_19, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal i - 'Int_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_20, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal h - 'UInt_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_21, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal k - 'ULong_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Emit",399,G__onlineDict_714_0_22, 121, -1, -1, 0, 2, 1, 1, 0, 
-"C - - 10 - signal f - 'Float_t' 0 - param", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Destroyed",947,G__onlineDict_714_0_23, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("ChangedBy",869,G__onlineDict_714_0_24, 121, -1, -1, 0, 1, 1, 1, 0, "C - - 10 - method", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Message",709,G__onlineDict_714_0_25, 121, -1, -1, 0, 1, 1, 1, 0, "C - - 10 - msg", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("OnlineGUI",842,G__onlineDict_714_0_26, 105, G__get_linked_tagnum(&G__onlineDictLN_OnlineGUI), -1, 0, 3, 1, 1, 0, 
-"u 'OnlineConfig' - 1 - - g - 'Bool_t' 0 - - "
-"h - 'UInt_t' 0 '0' RunNum", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("CreateGUI",825,G__onlineDict_714_0_27, 121, -1, -1, 0, 3, 1, 1, 0, 
-"U 'TGWindow' - 10 - p h - 'UInt_t' 0 - w "
-"h - 'UInt_t' 0 - h", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("DoDraw",577,G__onlineDict_714_0_28, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("DrawPrev",811,G__onlineDict_714_0_29, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("DrawNext",813,G__onlineDict_714_0_30, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("DoRadio",674,G__onlineDict_714_0_31, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("CheckPageButtons",1610,G__onlineDict_714_0_32, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetFileObjects",1386,G__onlineDict_714_0_33, 121, -1, -1, 0, 1, 1, 1, 0, "U 'RootFileObject' - 0 - r", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetTreeVars",1100,G__onlineDict_714_0_34, 121, -1, -1, 0, 1, 1, 1, 0, "U 'RootFileObject' - 0 - r", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetRootTree",1108,G__onlineDict_714_0_35, 121, -1, -1, 0, 1, 1, 1, 0, "U 'RootFileObject' - 0 - r", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetTreeIndex",1192,G__onlineDict_714_0_36, 104, -1, G__defined_typename("UInt_t"), 0, 2, 1, 1, 0, 
-"u 'TString' - 0 - - U 'RootFileObject' - 0 - r", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetTreeIndexFromName",1981,G__onlineDict_714_0_37, 104, -1, G__defined_typename("UInt_t"), 0, 2, 1, 1, 0, 
-"u 'TString' - 0 - - U 'RootFileObject' - 0 - r", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("fileObject2command",1800,G__onlineDict_714_0_38, 117, G__get_linked_tagnum(&G__onlineDictLN_drawcommand), -1, 0, 2, 1, 1, 0, 
-"u 'drawcommand' - 0 - - U 'RootFileObject' - 0 - r", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("TreeDraw",798,G__onlineDict_714_0_39, 121, -1, -1, 0, 1, 1, 1, 0, "u 'drawcommand' - 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("HistDraw",806,G__onlineDict_714_0_40, 121, -1, -1, 0, 1, 1, 1, 0, "u 'drawcommand' - 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("MacroDraw",896,G__onlineDict_714_0_41, 121, -1, -1, 0, 1, 1, 1, 0, "u 'drawcommand' - 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("CanvasDraw",1002,G__onlineDict_714_0_42, 121, -1, -1, 0, 2, 1, 1, 0, 
-"u 'drawcommand' - 0 - - h - 'UInt_t' 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GraphDraw",896,G__onlineDict_714_0_43, 121, -1, -1, 0, 1, 1, 1, 0, "u 'drawcommand' - 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("DoDrawClear",1064,G__onlineDict_714_0_44, 121, -1, -1, 0, 1, 1, 1, 0, "U 'RootFileObject' - 0 - r", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("TimerUpdate",1124,G__onlineDict_714_0_45, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("BadDraw",661,G__onlineDict_714_0_46, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TString' - 0 - -", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("CheckRootFile",1282,G__onlineDict_714_0_47, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("OpenRootFile",1206,G__onlineDict_714_0_48, 105, -1, G__defined_typename("Int_t"), 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("ObtainRunNumber",1531,G__onlineDict_714_0_49, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("PrintToFile",1104,G__onlineDict_714_0_50, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("PrintPages",1021,G__onlineDict_714_0_51, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("MyCloseWindow",1332,G__onlineDict_714_0_52, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("CloseGUI",731,G__onlineDict_714_0_53, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
-   // automatic destructor
-   G__memfunc_setup("~OnlineGUI", 968, G__onlineDict_714_0_54, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
-   G__tag_memfunc_reset();
-}
-
-
-/*********************************************************
-* Member function information setup
-*********************************************************/
-extern "C" void G__cpp_setup_memfunconlineDict() {
-}
-
-/*********************************************************
-* Global variable information setup for each class
-*********************************************************/
-static void G__cpp_setup_global0() {
-
-   /* Setting up global variables */
-   G__resetplocal();
-
-}
-
-static void G__cpp_setup_global1() {
-}
-
-static void G__cpp_setup_global2() {
-}
-
-static void G__cpp_setup_global3() {
-}
-
-static void G__cpp_setup_global4() {
-}
-
-static void G__cpp_setup_global5() {
-
-   G__resetglobalenv();
-}
-extern "C" void G__cpp_setup_globalonlineDict() {
-  G__cpp_setup_global0();
-  G__cpp_setup_global1();
-  G__cpp_setup_global2();
-  G__cpp_setup_global3();
-  G__cpp_setup_global4();
-  G__cpp_setup_global5();
-}
-
-/*********************************************************
-* Global function information setup for each class
-*********************************************************/
-static void G__cpp_setup_func0() {
-   G__lastifuncposition();
-
-}
-
-static void G__cpp_setup_func1() {
-}
-
-static void G__cpp_setup_func2() {
-}
-
-static void G__cpp_setup_func3() {
-}
-
-static void G__cpp_setup_func4() {
-}
-
-static void G__cpp_setup_func5() {
-}
-
-static void G__cpp_setup_func6() {
-}
-
-static void G__cpp_setup_func7() {
-}
-
-static void G__cpp_setup_func8() {
-}
-
-static void G__cpp_setup_func9() {
-}
-
-static void G__cpp_setup_func10() {
-}
-
-static void G__cpp_setup_func11() {
-}
-
-static void G__cpp_setup_func12() {
-}
-
-static void G__cpp_setup_func13() {
-}
-
-static void G__cpp_setup_func14() {
-}
-
-static void G__cpp_setup_func15() {
-}
-
-static void G__cpp_setup_func16() {
-}
-
-static void G__cpp_setup_func17() {
-}
-
-static void G__cpp_setup_func18() {
-}
-
-static void G__cpp_setup_func19() {
-}
-
-static void G__cpp_setup_func20() {
-}
-
-static void G__cpp_setup_func21() {
-}
-
-static void G__cpp_setup_func22() {
-}
-
-static void G__cpp_setup_func23() {
-}
-
-static void G__cpp_setup_func24() {
-}
-
-static void G__cpp_setup_func25() {
-}
-
-static void G__cpp_setup_func26() {
-}
-
-static void G__cpp_setup_func27() {
-}
-
-static void G__cpp_setup_func28() {
-}
-
-static void G__cpp_setup_func29() {
-}
-
-static void G__cpp_setup_func30() {
-}
-
-static void G__cpp_setup_func31() {
-}
-
-static void G__cpp_setup_func32() {
-}
-
-static void G__cpp_setup_func33() {
-
-   G__resetifuncposition();
-}
-
-extern "C" void G__cpp_setup_funconlineDict() {
-  G__cpp_setup_func0();
-  G__cpp_setup_func1();
-  G__cpp_setup_func2();
-  G__cpp_setup_func3();
-  G__cpp_setup_func4();
-  G__cpp_setup_func5();
-  G__cpp_setup_func6();
-  G__cpp_setup_func7();
-  G__cpp_setup_func8();
-  G__cpp_setup_func9();
-  G__cpp_setup_func10();
-  G__cpp_setup_func11();
-  G__cpp_setup_func12();
-  G__cpp_setup_func13();
-  G__cpp_setup_func14();
-  G__cpp_setup_func15();
-  G__cpp_setup_func16();
-  G__cpp_setup_func17();
-  G__cpp_setup_func18();
-  G__cpp_setup_func19();
-  G__cpp_setup_func20();
-  G__cpp_setup_func21();
-  G__cpp_setup_func22();
-  G__cpp_setup_func23();
-  G__cpp_setup_func24();
-  G__cpp_setup_func25();
-  G__cpp_setup_func26();
-  G__cpp_setup_func27();
-  G__cpp_setup_func28();
-  G__cpp_setup_func29();
-  G__cpp_setup_func30();
-  G__cpp_setup_func31();
-  G__cpp_setup_func32();
-  G__cpp_setup_func33();
-}
-
-/*********************************************************
-* Class,struct,union,enum tag information setup
-*********************************************************/
-/* Setup class/struct taginfo */
-G__linked_taginfo G__onlineDictLN_TString = { "TString" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlEunsignedsPintcOallocatorlEunsignedsPintgRsPgR = { "vector<unsigned int,allocator<unsigned int> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_basic_ifstreamlEcharcOchar_traitslEchargRsPgR = { "basic_ifstream<char,char_traits<char> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR = { "vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TList = { "TList" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TTimer = { "TTimer" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR = { "vector<TVirtualArray*,allocator<TVirtualArray*> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVirtualArray*,allocator<TVirtualArray*> >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR = { "iterator<bidirectional_iterator_tag,TObject*,long,const TObject**,const TObject*&>" , 115 , -1 };
-G__linked_taginfo G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR = { "map<string,TObjArray*,less<string>,allocator<pair<const string,TObjArray*> > >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TCut = { "TCut" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TQObjSender = { "TQObjSender" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGWindow = { "TGWindow" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_pairlEunsignedsPintcOintgR = { "pair<unsigned int,int>" , 115 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR = { "vector<pair<unsigned int,int>,allocator<pair<unsigned int,int> > >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<pair<unsigned int,int>,allocator<pair<unsigned int,int> > >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGTextButton = { "TGTextButton" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGVerticalFrame = { "TGVerticalFrame" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGHorizontalFrame = { "TGHorizontalFrame" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGMainFrame = { "TGMainFrame" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGPictureButton = { "TGPictureButton" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGRadioButton = { "TGRadioButton" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TCanvas = { "TCanvas" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TRootEmbeddedCanvas = { "TRootEmbeddedCanvas" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TGLabel = { "TGLabel" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TVectorTlEfloatgR = { "TVectorT<float>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TVectorTlEdoublegR = { "TVectorT<double>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TMatrixTBaselEfloatgR = { "TMatrixTBase<float>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_TMatrixTBaselEdoublegR = { "TMatrixTBase<double>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_RootFileObject = { "RootFileObject" , 115 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR = { "vector<TTree*,allocator<TTree*> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETTreemUcOallocatorlETTreemUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TTree*,allocator<TTree*> >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR = { "vector<int,allocator<int> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<int,allocator<int> >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR = { "vector<TString,allocator<TString> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETStringcOallocatorlETStringgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TString,allocator<TString> >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR = { "vector<vector<TString,allocator<TString> >,allocator<vector<TString,allocator<TString> > > >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<vector<TString,allocator<TString> >,allocator<vector<TString,allocator<TString> > > >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR = { "vector<fileObject,allocator<fileObject> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEfileObjectcOallocatorlEfileObjectgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<fileObject,allocator<fileObject> >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_drawcommand = { "drawcommand" , 115 , -1 };
-G__linked_taginfo G__onlineDictLN_OnlineConfig = { "OnlineConfig" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_pairlEunsignedsPintcOunsignedsPintgR = { "pair<unsigned int,unsigned int>" , 115 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR = { "vector<pair<unsigned int,unsigned int>,allocator<pair<unsigned int,unsigned int> > >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<pair<unsigned int,unsigned int>,allocator<pair<unsigned int,unsigned int> > >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR = { "vector<TCut,allocator<TCut> >" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETCutcOallocatorlETCutgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TCut,allocator<TCut> >::iterator>" , 99 , -1 };
-G__linked_taginfo G__onlineDictLN_OnlineGUI = { "OnlineGUI" , 99 , -1 };
-
-/* Reset class/struct taginfo */
-extern "C" void G__cpp_reset_tagtableonlineDict() {
-  G__onlineDictLN_TString.tagnum = -1 ;
-  G__onlineDictLN_vectorlEunsignedsPintcOallocatorlEunsignedsPintgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_basic_ifstreamlEcharcOchar_traitslEchargRsPgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_TList.tagnum = -1 ;
-  G__onlineDictLN_TTimer.tagnum = -1 ;
-  G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR.tagnum = -1 ;
-  G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_TCut.tagnum = -1 ;
-  G__onlineDictLN_TQObjSender.tagnum = -1 ;
-  G__onlineDictLN_TGWindow.tagnum = -1 ;
-  G__onlineDictLN_pairlEunsignedsPintcOintgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_TGTextButton.tagnum = -1 ;
-  G__onlineDictLN_TGVerticalFrame.tagnum = -1 ;
-  G__onlineDictLN_TGHorizontalFrame.tagnum = -1 ;
-  G__onlineDictLN_TGMainFrame.tagnum = -1 ;
-  G__onlineDictLN_TGPictureButton.tagnum = -1 ;
-  G__onlineDictLN_TGRadioButton.tagnum = -1 ;
-  G__onlineDictLN_TCanvas.tagnum = -1 ;
-  G__onlineDictLN_TRootEmbeddedCanvas.tagnum = -1 ;
-  G__onlineDictLN_TGLabel.tagnum = -1 ;
-  G__onlineDictLN_TVectorTlEfloatgR.tagnum = -1 ;
-  G__onlineDictLN_TVectorTlEdoublegR.tagnum = -1 ;
-  G__onlineDictLN_TMatrixTBaselEfloatgR.tagnum = -1 ;
-  G__onlineDictLN_TMatrixTBaselEdoublegR.tagnum = -1 ;
-  G__onlineDictLN_RootFileObject.tagnum = -1 ;
-  G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlETTreemUcOallocatorlETTreemUgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlETStringcOallocatorlETStringgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlEfileObjectcOallocatorlEfileObjectgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_drawcommand.tagnum = -1 ;
-  G__onlineDictLN_OnlineConfig.tagnum = -1 ;
-  G__onlineDictLN_pairlEunsignedsPintcOunsignedsPintgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR.tagnum = -1 ;
-  G__onlineDictLN_reverse_iteratorlEvectorlETCutcOallocatorlETCutgRsPgRcLcLiteratorgR.tagnum = -1 ;
-  G__onlineDictLN_OnlineGUI.tagnum = -1 ;
-}
-
-
-extern "C" void G__cpp_setup_tagtableonlineDict() {
-
-   /* Setting up class,struct,union tag entry */
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TString);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlEunsignedsPintcOallocatorlEunsignedsPintgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_basic_ifstreamlEcharcOchar_traitslEchargRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TList);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TTimer);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TCut);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TQObjSender);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGWindow);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_pairlEunsignedsPintcOintgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGTextButton);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGVerticalFrame);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGHorizontalFrame);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGMainFrame);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGPictureButton);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGRadioButton);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TCanvas);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TRootEmbeddedCanvas);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TGLabel);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TVectorTlEfloatgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TVectorTlEdoublegR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TMatrixTBaselEfloatgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_TMatrixTBaselEdoublegR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_RootFileObject);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlETTreemUcOallocatorlETTreemUgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlETStringcOallocatorlETStringgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlEfileObjectcOallocatorlEfileObjectgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_drawcommand);
-   G__tagtable_setup(G__get_linked_tagnum_fwd(&G__onlineDictLN_OnlineConfig),sizeof(OnlineConfig),-1,33024,(char*)NULL,G__setup_memvarOnlineConfig,G__setup_memfuncOnlineConfig);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_pairlEunsignedsPintcOunsignedsPintgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgRcLcLiteratorgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR);
-   G__get_linked_tagnum_fwd(&G__onlineDictLN_reverse_iteratorlEvectorlETCutcOallocatorlETCutgRsPgRcLcLiteratorgR);
-   G__tagtable_setup(G__get_linked_tagnum_fwd(&G__onlineDictLN_OnlineGUI),sizeof(OnlineGUI),-1,33792,(char*)NULL,G__setup_memvarOnlineGUI,G__setup_memfuncOnlineGUI);
-}
-extern "C" void G__cpp_setuponlineDict(void) {
-  G__check_setup_version(30051515,"G__cpp_setuponlineDict()");
-  G__set_cpp_environmentonlineDict();
-  G__cpp_setup_tagtableonlineDict();
-
-  G__cpp_setup_inheritanceonlineDict();
-
-  G__cpp_setup_typetableonlineDict();
-
-  G__cpp_setup_memvaronlineDict();
-
-  G__cpp_setup_memfunconlineDict();
-  G__cpp_setup_globalonlineDict();
-  G__cpp_setup_funconlineDict();
-
-   if(0==G__getsizep2memfunc()) G__get_sizep2memfunconlineDict();
-  return;
-}
-class G__cpp_setup_initonlineDict {
-  public:
-    G__cpp_setup_initonlineDict() { G__add_setup_func("onlineDict",(G__incsetup)(&G__cpp_setuponlineDict)); G__call_setup_funcs(); }
-   ~G__cpp_setup_initonlineDict() { G__remove_setup_func("onlineDict"); }
-};
-G__cpp_setup_initonlineDict G__cpp_setup_initializeronlineDict;
-
-- 
GitLab