From a568d3a63c1b2fd3256867f296087426f0818598 Mon Sep 17 00:00:00 2001
From: John Matter <matter@virginia.edu>
Date: Sat, 20 Jan 2018 01:59:35 -0500
Subject: [PATCH] Update coincidence report template and replay scripts (#365)

* Update coincidence report template and replay scripts

* Fix BCM label typo
---
 .../COIN/PRODUCTION/GTR/coin_gtr_histos.def   |    5 +-
 .../COIN/PRODUCTION/TRIG/coin_trig_histos.def |    2 +-
 .../coin_hElec_pProt_production_cuts.def      |   50 -
 ...on.def => coin_production_hElec_pProt.def} |    0
 .../coin_production_hElec_pProt_cuts.def      |   89 ++
 .../coin_production_pElec_hProt_cuts.def      |   49 +-
 .../replay_production_coin_hElec_pProt.C      |   10 +-
 .../replay_production_coin_pElec_hProt.C      |    6 +-
 .../COIN/PRODUCTION/coin_production.template  | 1149 ++++++++++++++++-
 9 files changed, 1279 insertions(+), 81 deletions(-)
 delete mode 100644 DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production_cuts.def
 rename DEF-files/COIN/PRODUCTION/{coin_hElec_pProt_production.def => coin_production_hElec_pProt.def} (100%)
 create mode 100644 DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def

diff --git a/DEF-files/COIN/PRODUCTION/GTR/coin_gtr_histos.def b/DEF-files/COIN/PRODUCTION/GTR/coin_gtr_histos.def
index 05d78394..29252942 100644
--- a/DEF-files/COIN/PRODUCTION/GTR/coin_gtr_histos.def
+++ b/DEF-files/COIN/PRODUCTION/GTR/coin_gtr_histos.def
@@ -1,5 +1,6 @@
 ############################
 #   TARGET
 ############################
-TH2F hgtrz_vs_pgtrz   'HMS z_{tar} vs SHMS z_{tar}; SHMS z_{tar} / 0.1 cm; HMS z_{tar} / 0.1 cm;'  P.gtr.z H.gtr.z 300 -15 15 300 -15 15 coincut
-TH2F hgtry_vs_pgtry   'HMS y_{tar} vs SHMS y_{tar}; SHMS y_{tar} / 0.1 cm; HMS y_{tar} / 0.1 cm;'  P.gtr.y H.gtr.y 300 -15 15 300 -15 15 coincut
+TH2F hgtry_vs_pgtry   'HMS y_{tar} vs SHMS y_{tar}; SHMS y_{tar} / 0.1 cm; HMS y_{tar} / 0.1 cm;'  P.gtr.y H.gtr.y 200 -15 15 200 -15 15 coincut
+TH2F hgtryp_vs_pgtryp   'HMS y'_{tar} vs SHMS y'_{tar}; SHMS y'_{tar} / 0.1 cm; HMS y'_{tar} / 0.1 cm;'  P.gtr.ph H.gtr.ph 200 -0.1 0.1 200 -0.1 0.1 coincut
+TH2F hgtrxp_vs_pgtrxp   'HMS x'_{tar} vs SHMS x'_{tar}; SHMS x'_{tar} / 0.1 cm; HMS x'_{tar} / 0.1 cm;'  P.gtr.th H.gtr.th 200 -0.1 0.1 200 -0.1 0.1 coincut
diff --git a/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def b/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def
index efeae805..1dcf29f2 100644
--- a/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def
+++ b/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def
@@ -32,6 +32,6 @@ TH1F c_pathcorr   'Cointime pathcorr; Cointime pathcorr (ns); Count / 1 ns;'  T.
 TH1F h_htrig_tdc  'pTRIG4_ROC1'  T.coin.hTRIG1_ROC1_tdcTimeRaw*0.1 1600 -800 800
 TH1F h_ptrig_tdc  'pTRIG4_ROC1'  T.coin.pTRIG1_ROC1_tdcTimeRaw*0.1 1600 -800 800
 TH1F p_ptrig_tdc  'pTRIG1_ROC2'  T.coin.pTRIG1_ROC2_tdcTimeRaw*0.1 1600 -800 800
-TH1F p_htrig_tdc  'pTRIG1_ROC2'  T.coin.hTRIG1_ROC2_tdcTimeRaw*0.1 1600 -800 800&&shms_trigs
+TH1F p_htrig_tdc  'pTRIG1_ROC2'  T.coin.hTRIG1_ROC2_tdcTimeRaw*0.1 1600 -800 800
 TH1F h_ctrig_tdc  'pTRIG1_ROC1-pTRIG4_ROC1'  T.coin.pTRIG1_ROC1_tdcTimeRaw*0.1-T.coin.pTRIG4_ROC1_tdcTimeRaw 1600 -800 800
 TH1F p_ctrig_tdc  'pTRIG1_ROC2-pTRIG4_ROC2'  T.coin.pTRIG1_ROC2_tdcTimeRaw*0.1-T.coin.pTRIG4_ROC2_tdcTimeRaw 1600 -800 800
diff --git a/DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production_cuts.def b/DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production_cuts.def
deleted file mode 100644
index cdb1703f..00000000
--- a/DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production_cuts.def
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def"
-#include "DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def"
-
-Block: RawDecode
-
-Pedestal_event       g.evtyp == 99
-SHMS_event           g.evtyp == 1
-HMS_event            g.evtyp == 2
-BOTH_SINGLES_event   g.evtyp == 3
-COIN_ONLY_event      g.evtyp == 4
-SHMS_COIN_event      g.evtyp == 5
-HMS_COIN_event       g.evtyp == 6 
-COIN_ALL_event       g.evtyp == 7
-ALL_events           SHMS_event || HMS_event || BOTH_SINGLES_event || COIN_ONLY_event || COIN_ALL_event
-
-RawDecode_master  ALL_events
-
-Block: Decode
-
-goodctime         ALL_events        #LOOSE CUT AROUND COINTIME PEAK (3 beam buckets)
-tightctime        ALL_events        #TIGHT CUT AROUND COINTIME PEAK (1 beam buckets)
-ranctime          ALL_events        #CUT AWAY FROM COINTIME PEAK (4 beam buckets)
-
-Decode_master     ALL_events
-
-Block: CoarseTracking
-CoarseTracking_master ALL_events
-
-Block: CoarseReconstruct
-CoarseReconstruct_master ALL_events
-
-Block: Tracking
-Tracking_master  ALL_events
-
-Block: Reconstruct
-Reconstruct_master ALL_events
-
-hcleantrack        H.gtr.index > -1
-pcleantrack        P.gtr.index > -1
-ccleantrack        hcleantrack && pcleantrack
-
-coincut            ccleantrack && goodctime
-tight_coin         ccleantrack && tightctime
-ran_coincut        ccleantrack && ranctime
-
-e_cut_cal          H.cal.etottracknorm > 0.6 && H.cal.etottracknorm < 2.0
-e_cut_cer          H.cer.npeSum > 0.5
-select_e_cut       e_cut_cal && e_cut_cer
-betacut_proton     P.gtr.beta > 0.6 && P.gtr.beta < 0.8
-coincut_ep         ccleantrack && select_e_cut && betacut_proton
diff --git a/DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production.def b/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt.def
similarity index 100%
rename from DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production.def
rename to DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt.def
diff --git a/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def
new file mode 100644
index 00000000..93a6e0c0
--- /dev/null
+++ b/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def
@@ -0,0 +1,89 @@
+Block: RawDecode
+
+Pedestal_event       g.evtyp == 99
+SHMS_event           g.evtyp == 1
+HMS_event            g.evtyp == 2
+BOTH_SINGLES_event   g.evtyp == 3
+COIN_ONLY_event      g.evtyp == 4
+SHMS_COIN_event      g.evtyp == 5
+HMS_COIN_event       g.evtyp == 6 
+COIN_ALL_event       g.evtyp == 7
+ALL_events           SHMS_event || HMS_event || BOTH_SINGLES_event || COIN_ONLY_event || COIN_ALL_event
+
+RawDecode_master  ALL_events
+
+Block: Decode
+
+pTRIG1_ROC2         T.coin.pTRIG1_ROC2_tdcTimeRaw > 0
+pTRIG2_ROC2         T.coin.pTRIG2_ROC2_tdcTimeRaw > 0
+pTRIG3_ROC2         T.coin.pTRIG3_ROC2_tdcTimeRaw > 0
+pTRIG4_ROC2         T.coin.pTRIG4_ROC2_tdcTimeRaw > 0
+pTRIG5_ROC2         T.coin.pTRIG5_ROC2_tdcTimeRaw > 0
+pTRIG6_ROC2         T.coin.pTRIG6_ROC2_tdcTimeRaw > 0
+
+pTRIG1_ROC1         T.coin.pTRIG1_ROC1_tdcTimeRaw > 0
+pTRIG2_ROC1         T.coin.pTRIG2_ROC1_tdcTimeRaw > 0
+pTRIG3_ROC1         T.coin.pTRIG3_ROC1_tdcTimeRaw > 0
+pTRIG4_ROC1         T.coin.pTRIG4_ROC1_tdcTimeRaw > 0
+pTRIG5_ROC1         T.coin.pTRIG5_ROC1_tdcTimeRaw > 0
+pTRIG6_ROC1         T.coin.pTRIG6_ROC1_tdcTimeRaw > 0
+
+hTRIG1_ROC2         T.coin.hTRIG1_ROC2_tdcTimeRaw > 0
+hTRIG2_ROC2         T.coin.hTRIG2_ROC2_tdcTimeRaw > 0
+hTRIG3_ROC2         T.coin.hTRIG3_ROC2_tdcTimeRaw > 0
+hTRIG4_ROC2         T.coin.hTRIG4_ROC2_tdcTimeRaw > 0
+hTRIG5_ROC2         T.coin.hTRIG5_ROC2_tdcTimeRaw > 0
+hTRIG6_ROC2         T.coin.hTRIG6_ROC2_tdcTimeRaw > 0
+
+hTRIG1_ROC1         T.coin.hTRIG1_ROC1_tdcTimeRaw > 0
+hTRIG2_ROC1         T.coin.hTRIG2_ROC1_tdcTimeRaw > 0
+hTRIG3_ROC1         T.coin.hTRIG3_ROC1_tdcTimeRaw > 0
+hTRIG4_ROC1         T.coin.hTRIG4_ROC1_tdcTimeRaw > 0
+hTRIG5_ROC1         T.coin.hTRIG5_ROC1_tdcTimeRaw > 0
+hTRIG6_ROC1         T.coin.hTRIG6_ROC1_tdcTimeRaw > 0
+
+shms_trigs             SHMS_event
+hms_trigs              HMS_event
+SHMS_edtm_accepted     T.coin.pEDTM_tdcTime != 0.0
+SHMS_physics_accepted  T.coin.pEDTM_tdcTime == 0.0
+HMS_edtm_accepted      T.coin.hEDTM_tdcTime != 0.0
+HMS_physics_accepted   T.coin.hEDTM_tdcTime == 0.0
+
+goodctime         ALL_events        #LOOSE CUT AROUND COINTIME PEAK (3 beam buckets)
+tightctime        ALL_events        #TIGHT CUT AROUND COINTIME PEAK (1 beam buckets)
+ranctime          ALL_events        #CUT AWAY FROM COINTIME PEAK (4 beam buckets)
+
+pcut_good_S1_time         T.coin.p1T_tdcTime > 241 && T.coin.p1T_tdcTime < 243
+pcut_good_S2X_time        T.coin.p2X_tdcTime > 180 && T.coin.p2X_tdcTime < 220
+pcut_good_S1_S2X_time     pcut_good_S1_time && pcut_good_S2X_time
+
+Decode_master     ALL_events
+
+Block: CoarseTracking
+CoarseTracking_master ALL_events
+
+Block: CoarseReconstruct
+CoarseReconstruct_master ALL_events
+
+Block: Tracking
+Tracking_master  ALL_events
+
+Block: Reconstruct
+Reconstruct_master ALL_events
+
+hcleantrack        H.gtr.index > -1
+pcleantrack        P.gtr.index > -1
+ccleantrack        hcleantrack && pcleantrack
+
+coincut            ccleantrack && goodctime
+tight_coin         ccleantrack && tightctime
+ran_coincut        ccleantrack && ranctime
+
+e_cut_cal          H.cal.etottracknorm > 0.6 && H.cal.etottracknorm < 1.6
+e_cut_cer          H.cer.npeSum > 0.5
+select_e_cut       e_cut_cal && e_cut_cer
+betacut_proton     P.gtr.beta > 0.6 && P.gtr.beta < 0.8
+coincut_ep         ccleantrack && select_e_cut && betacut_proton
+
+#include "DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def"
+#include "DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def"
diff --git a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def
index 099b70e3..ab2006c5 100644
--- a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def
+++ b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def
@@ -1,6 +1,3 @@
-#include "DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def"
-#include "DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def"
-
 Block: RawDecode
 
 Pedestal_event       g.evtyp == 99
@@ -17,10 +14,49 @@ RawDecode_master  ALL_events
 
 Block: Decode
 
+pTRIG1_ROC2         T.coin.pTRIG1_ROC2_tdcTimeRaw > 0
+pTRIG2_ROC2         T.coin.pTRIG2_ROC2_tdcTimeRaw > 0
+pTRIG3_ROC2         T.coin.pTRIG3_ROC2_tdcTimeRaw > 0
+pTRIG4_ROC2         T.coin.pTRIG4_ROC2_tdcTimeRaw > 0
+pTRIG5_ROC2         T.coin.pTRIG5_ROC2_tdcTimeRaw > 0
+pTRIG6_ROC2         T.coin.pTRIG6_ROC2_tdcTimeRaw > 0
+
+pTRIG1_ROC1         T.coin.pTRIG1_ROC1_tdcTimeRaw > 0
+pTRIG2_ROC1         T.coin.pTRIG2_ROC1_tdcTimeRaw > 0
+pTRIG3_ROC1         T.coin.pTRIG3_ROC1_tdcTimeRaw > 0
+pTRIG4_ROC1         T.coin.pTRIG4_ROC1_tdcTimeRaw > 0
+pTRIG5_ROC1         T.coin.pTRIG5_ROC1_tdcTimeRaw > 0
+pTRIG6_ROC1         T.coin.pTRIG6_ROC1_tdcTimeRaw > 0
+
+hTRIG1_ROC2         T.coin.hTRIG1_ROC2_tdcTimeRaw > 0
+hTRIG2_ROC2         T.coin.hTRIG2_ROC2_tdcTimeRaw > 0
+hTRIG3_ROC2         T.coin.hTRIG3_ROC2_tdcTimeRaw > 0
+hTRIG4_ROC2         T.coin.hTRIG4_ROC2_tdcTimeRaw > 0
+hTRIG5_ROC2         T.coin.hTRIG5_ROC2_tdcTimeRaw > 0
+hTRIG6_ROC2         T.coin.hTRIG6_ROC2_tdcTimeRaw > 0
+
+hTRIG1_ROC1         T.coin.hTRIG1_ROC1_tdcTimeRaw > 0
+hTRIG2_ROC1         T.coin.hTRIG2_ROC1_tdcTimeRaw > 0
+hTRIG3_ROC1         T.coin.hTRIG3_ROC1_tdcTimeRaw > 0
+hTRIG4_ROC1         T.coin.hTRIG4_ROC1_tdcTimeRaw > 0
+hTRIG5_ROC1         T.coin.hTRIG5_ROC1_tdcTimeRaw > 0
+hTRIG6_ROC1         T.coin.hTRIG6_ROC1_tdcTimeRaw > 0
+
+shms_trigs             SHMS_event
+hms_trigs              HMS_event
+SHMS_edtm_accepted     T.coin.pEDTM_tdcTime != 0.0
+SHMS_physics_accepted  T.coin.pEDTM_tdcTime == 0.0
+HMS_edtm_accepted      T.coin.hEDTM_tdcTime != 0.0
+HMS_physics_accepted   T.coin.hEDTM_tdcTime == 0.0
+
 goodctime         ALL_events        #LOOSE CUT AROUND COINTIME PEAK (3 beam buckets)
 tightctime        ALL_events        #TIGHT CUT AROUND COINTIME PEAK (1 beam buckets)
 ranctime          ALL_events        #CUT AWAY FROM COINTIME PEAK (4 beam buckets)
 
+pcut_good_S1_time         T.coin.p1T_tdcTime > 241 && T.coin.p1T_tdcTime < 243
+pcut_good_S2X_time        T.coin.p2X_tdcTime > 180 && T.coin.p2X_tdcTime < 220
+pcut_good_S1_S2X_time     pcut_good_S1_time && pcut_good_S2X_time
+
 Decode_master     ALL_events
 
 Block: CoarseTracking
@@ -43,8 +79,11 @@ coincut            ccleantrack && goodctime
 tight_coin         ccleantrack && tightctime
 ran_coincut        ccleantrack && ranctime
 
-e_cut_cal          P.cal.etottracknorm > 0.6 && P.cal.etottracknorm < 2.0
-e_cut_cer          P.hgcer.npeSum > 5.0 && P.ngcer.npeSum > 15.0
+e_cut_cal          P.cal.etottracknorm > 0.6 && P.cal.etottracknorm < 1.6
+e_cut_cer          P.hgcer.npeSum > 0.5
 select_e_cut       e_cut_cal && e_cut_cer
 betacut_proton     H.gtr.beta > 0.6 && H.gtr.beta < 0.8
 coincut_ep         ccleantrack && select_e_cut && betacut_proton
+
+#include "DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def"
+#include "DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def"
diff --git a/SCRIPTS/COIN/PRODUCTION/replay_production_coin_hElec_pProt.C b/SCRIPTS/COIN/PRODUCTION/replay_production_coin_hElec_pProt.C
index 1351a7e3..50bceebe 100644
--- a/SCRIPTS/COIN/PRODUCTION/replay_production_coin_hElec_pProt.C
+++ b/SCRIPTS/COIN/PRODUCTION/replay_production_coin_hElec_pProt.C
@@ -146,9 +146,9 @@ void replay_production_coin_hElec_pProt (Int_t RunNumber = 0, Int_t MaxEvent = 0
   THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("H", "Hall C scaler event type 4");  
   hscaler->AddEvtType(2);
   hscaler->AddEvtType(4);
-  pscaler->AddEvtType(5);
-  pscaler->AddEvtType(6);
-  pscaler->AddEvtType(7);
+  hscaler->AddEvtType(5);
+  hscaler->AddEvtType(6);
+  hscaler->AddEvtType(7);
   hscaler->AddEvtType(129);
   hscaler->SetDelayedType(129);
   hscaler->SetUseFirstEvent(kTRUE);
@@ -238,9 +238,9 @@ void replay_production_coin_hElec_pProt (Int_t RunNumber = 0, Int_t MaxEvent = 0
   // Define output ROOT file
   analyzer->SetOutFile(ROOTFileName.Data());
   // Define DEF-file+
-  analyzer->SetOdefFile("DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production.def");
+  analyzer->SetOdefFile("DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt.def");
   // Define cuts file
-  analyzer->SetCutFile("DEF-files/COIN/PRODUCTION/coin_hElec_pProt_production_cuts.def");  // optional
+  analyzer->SetCutFile("DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def");  // optional
   // File to record accounting information for cuts
   analyzer->SetSummaryFile(Form("REPORT_OUTPUT/COIN/PRODUCTION/summary_production_%d_%d.report", RunNumber, MaxEvent));  // optional
   // Start the actual analysis.
diff --git a/SCRIPTS/COIN/PRODUCTION/replay_production_coin_pElec_hProt.C b/SCRIPTS/COIN/PRODUCTION/replay_production_coin_pElec_hProt.C
index 11f8a843..1952f84a 100644
--- a/SCRIPTS/COIN/PRODUCTION/replay_production_coin_pElec_hProt.C
+++ b/SCRIPTS/COIN/PRODUCTION/replay_production_coin_pElec_hProt.C
@@ -146,9 +146,9 @@ void replay_production_coin_pElec_hProt (Int_t RunNumber = 0, Int_t MaxEvent = 0
   THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("H", "Hall C scaler event type 4");  
   hscaler->AddEvtType(2);
   hscaler->AddEvtType(4);
-  pscaler->AddEvtType(5);
-  pscaler->AddEvtType(6);
-  pscaler->AddEvtType(7);
+  hscaler->AddEvtType(5);
+  hscaler->AddEvtType(6);
+  hscaler->AddEvtType(7);
   hscaler->AddEvtType(129);
   hscaler->SetDelayedType(129);
   hscaler->SetUseFirstEvent(kTRUE);
diff --git a/TEMPLATES/COIN/PRODUCTION/coin_production.template b/TEMPLATES/COIN/PRODUCTION/coin_production.template
index c352e92c..6409c51b 100644
--- a/TEMPLATES/COIN/PRODUCTION/coin_production.template
+++ b/TEMPLATES/COIN/PRODUCTION/coin_production.template
@@ -1,28 +1,1147 @@
 Run #: {gen_run_number}
 
+**************************
+* General Run Information
+**************************
 
-1 MhZ Pulses : {P.1Mhz.scaler}
-Run Length   : {P.1Mhz.scalerTime:%.3f} sec
+SHMS 1 MhZ Pulses : {P.1Mhz.scaler}
+HMS  1 MhZ Pulses : {H.1Mhz.scaler}
+SHMS Run Length   : {P.1Mhz.scalerTime:%.3f} sec
+HMS  Run Length   : {H.1Mhz.scalerTime:%.3f} sec
 
 ***********
 * Beamline
 ***********
-  
-BCM1 Current: {P.BCM1.scalerCurrent:%.3f} uA		  
-BCM2 Current: {P.BCM2.scalerCurrent:%.3f} uA		 
-Unser Current: {P.Unser.scalerCurrent:%.3f} uA		  
 
 With no cuts on BCM{gBCM_Current_threshold_index+1}.
-BCM1 Counts: {P.BCM1.scaler}		Total Charge: {P.BCM1.scalerCharge:%.3f} uC
-BCM2 Counts: {P.BCM2.scaler} 		Total Charge: {P.BCM2.scalerCharge:%.3f} uC	
-Unser Counts: {P.Unser.scaler} 		Total Charge: {P.Unser.scalerCharge:%.3f} uC
+SHMS BCM1  Current       : {P.BCM1.scalerCharge/P.1Mhz.scalerTime:%.3f} uA        
+SHMS BCM2  Current       : {P.BCM2.scalerCharge/P.1Mhz.scalerTime:%.3f} uA       
+SHMS Unser Current       : {P.Unser.scalerCharge/P.1Mhz.scalerTime:%.3f} uA       
+SHMS BCM1  Total Charge  : {P.BCM1.scalerCharge:%.3f} uC
+SHMS BCM2  Total Charge  : {P.BCM2.scalerCharge:%.3f} uC    
+SHMS Unser Total Charge  : {P.Unser.scalerCharge:%.3f} uC
+SHMS BCM1  Counts        : {P.BCM1.scaler}
+SHMS BCM2  Counts        : {P.BCM2.scaler}
+SHMS Unser Counts        : {P.Unser.scaler}
 
 Cut on BCM{gBCM_Current_threshold_index+1} current of {gBCM_Current_threshold} uA. Beam over threshold for {P.1Mhz.scalerTimeCut:%.3f}s, or {((P.1Mhz.scalerTimeCut/P.1Mhz.scalerTime)*100.):%.3f}% of total run time.
-BCM1 Counts: {P.BCM1.scalerCut} 	Total Charge: {P.BCM1.scalerChargeCut:%.3f} uC
-BCM2 Counts: {P.BCM2.scalerCut} 	Total Charge: {P.BCM2.scalerChargeCut:%.3f} uC
-Unser Counts: {P.Unser.scalerCut} 	Total Charge: {P.Unser.scalerChargeCut:%.3f} uC
+SHMS Beam Cut Time (sec)          : {P.1Mhz.scalerTimeCut:%.3f}
+SHMS Beam Cut BCM1  Current       : {P.BCM1.scalerChargeCut/P.1Mhz.scalerTimeCut:%.3f} uA         
+SHMS Beam Cut BCM2  Current       : {P.BCM2.scalerChargeCut/P.1Mhz.scalerTimeCut:%.3f} uA        
+SHMS Beam Cut Unser Current       : {P.Unser.scalerChargeCut/P.1Mhz.scalerTimeCut:%.3f} uA        
+SHMS Beam Cut BCM1  Total Charge  : {P.BCM1.scalerChargeCut:%.3f} uC
+SHMS Beam Cut BCM2  Total Charge  : {P.BCM2.scalerChargeCut:%.3f} uC
+SHMS Beam Cut Unser Total Charge  : {P.Unser.scalerChargeCut:%.3f} uC
+SHMS Beam Cut BCM1  Counts        : {P.BCM1.scalerCut}  
+SHMS Beam Cut BCM2  Counts        : {P.BCM2.scalerCut}  
+SHMS Beam Cut Unser Counts        : {P.Unser.scalerCut}     
 
-HMS Singles Triggers   :  {HMS_event.npassed}
+
+With no cuts on BCM{gBCM_Current_threshold_index+1}.
+HMS BCM1  Current       : {H.BCM1.scalerCharge/H.1Mhz.scalerTime:%.3f} uA         
+HMS BCM2  Current       : {H.BCM2.scalerCharge/H.1Mhz.scalerTime:%.3f} uA        
+HMS Unser Current       : {H.Unser.scalerCharge/H.1Mhz.scalerTime:%.3f} uA        
+HMS BCM1  Total Charge  : {H.BCM1.scalerCharge:%.3f} uC
+HMS BCM2  Total Charge  : {H.BCM2.scalerCharge:%.3f} uC 
+HMS Unser Total Charge  : {H.Unser.scalerCharge:%.3f} uC
+HMS BCM1  Counts        : {H.BCM1.scaler}       
+HMS BCM2  Counts        : {H.BCM2.scaler}       
+HMS Unser Counts        : {H.Unser.scaler}      
+
+Cut on BCM{gBCM_Current_threshold_index+1} current of {gBCM_Current_threshold} uA. Beam over threshold for {H.1Mhz.scalerTimeCut:%.3f}s, or {((H.1Mhz.scalerTimeCut/H.1Mhz.scalerTime)*100.):%.3f}% of total run time.
+HMS Beam Cut Time (sec)          : {H.1Mhz.scalerTimeCut:%.3f}
+HMS Beam Cut BCM1  Current       : {H.BCM1.scalerChargeCut/H.1Mhz.scalerTime:%.3f} uA         
+HMS Beam Cut BCM2  Current       : {H.BCM2.scalerChargeCut/H.1Mhz.scalerTime:%.3f} uA        
+HMS Beam Cut Unser Current       : {H.Unser.scalerChargeCut/H.1Mhz.scalerTime:%.3f} uA        
+HMS Beam Cut BCM1  Total Charge  : {H.BCM1.scalerChargeCut:%.3f} uC
+HMS Beam Cut BCM2  Total Charge  : {H.BCM2.scalerChargeCut:%.3f} uC
+HMS Beam Cut Unser Total Charge  : {H.Unser.scalerChargeCut:%.3f} uC
+HMS Beam Cut BCM1  Counts        : {H.BCM1.scalerCut}   
+HMS Beam Cut BCM2  Counts        : {H.BCM2.scalerCut}   
+HMS Beam Cut Unser Counts        : {H.Unser.scalerCut}  
+
+********************
+* DAQ Configuration
+********************
+
+Ps1_factor = {gHC_ti_ps_factors[0]}
+Ps2_factor = {gHC_ti_ps_factors[1]}
+Ps3_factor = {gHC_ti_ps_factors[2]}
+Ps4_factor = {gHC_ti_ps_factors[3]}
+Ps5_factor = {gHC_ti_ps_factors[4]}
+Ps6_factor = {gHC_ti_ps_factors[5]}
+
+*********** 
+* Triggers 
+***********
+
+=:=:=:=:=:=:=:  
+= 3/4 Trigger
+=:=:=:=:=:=:=:
+
+Total SHMS 3/4 Triggers       : {P.pTRIG1.scaler}
+Pre-Scaled SHMS 3/4 Triggers  : {(P.pTRIG1.scaler/gHC_ti_ps_factors[0]):%.0f}
+Estimated SHMS 3/4 Triggers   : {P.pTRIG1.scalerRate*(P.1Mhz.scaler/1000000.):%.0f}
+SHMS 3/4 Trigger Rate         : {P.pTRIG1.scalerRate/1000.:%.3f} kHz
+Accepted SHMS Triggers        : {pTRIG1_ROC2.npassed}
+
+SHMS Computer Live Time : {(pTRIG1_ROC2.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % [ {(pTRIG1_ROC2.npassed / (P.pTRIG1.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %  ]
+SHMS Computer Dead Time : {100.0 - (pTRIG1_ROC2.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % [ {100.0 - (pTRIG1_ROC2.npassed / (P.pTRIG1.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %  ]
+
+Total HMS 3/4 Triggers        : {H.hTRIG1.scaler} [ {H.hTRIG1.scaler/gHC_ti_ps_factors[0]} ]
+Pre-Scaled HMS 3/4 Triggers   : {(H.hTRIG1.scaler/gHC_ti_ps_factors[0]):%.0f}
+Estimated HMS 3/4 Triggers    : {H.hTRIG1.scalerRate*(H.1Mhz.scaler/1000000.):%.0f}
+HMS 3/4 Trigger Rate          : {H.hTRIG1.scalerRate/1000.:%.3f} kHz
+Accepted HMS Triggers         : {hTRIG1_ROC1.npassed}
+
+HMS Computer Live Time  : {(hTRIG1_ROC1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % [ {(hTRIG1_ROC1.npassed / (H.hTRIG1.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %  ]
+HMS Computer Dead Time  : {100.0 - (hTRIG1_ROC1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % [ {100.0 - (hTRIG1_ROC1.npassed / (H.hTRIG1.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %  ]
+
+=:=:=:=:=:=:=:=:=:=:=:=:
+= Physics 3/4 Triggers
+=:=:=:=:=:=:=:=:=:=:=:=:
+
+SHMS Physics 3/4 Triggers           : {P.pTRIG1.scaler - P.EDTM.scaler}
+SHMS Estimated Physics 3/4 Triggers : {(P.pTRIG1.scalerRate - P.EDTM.scalerRate)*(P.1Mhz.scaler/1000000.):%.0f}
+SHMS Physics 3/4 Trigger Rate       : {(P.pTRIG1.scalerRate - P.EDTM.scalerRate)/1000.:%.3f} kHz
+SHMS Accepted Physics Triggers      : {SHMS_physics_accepted.npassed}
+
+HMS Physics 3/4 Triggers            : {H.hTRIG1.scaler - H.EDTM.scaler}
+HMS Estimated Physics Triggers      : {(H.hTRIG1.scalerRate - H.EDTM.scalerRate)*(H.1Mhz.scaler/1000000.):%.0f}
+HMS Physics Trigger Rate            : {(H.hTRIG1.scalerRate - H.EDTM.scalerRate)/1000.:%.3f} kHz
+HMS Accepted Physics Triggers       : {HMS_physics_accepted.npassed}
+
+=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+= Coin Trigger TDC Data scalers
+=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+
+Coin ROC2 pTRIG1 passed: {pTRIG1_ROC2.npassed}
+Coin ROC2 pTRIG2 passed: {pTRIG2_ROC2.npassed}
+Coin ROC2 pTRIG3 passed: {pTRIG3_ROC2.npassed}
+Coin ROC2 pTRIG4 passed: {pTRIG4_ROC2.npassed}
+Coin ROC2 pTRIG5 passed: {pTRIG5_ROC2.npassed}
+Coin ROC2 pTRIG6 passed: {pTRIG6_ROC2.npassed}
+
+Coin ROC1 pTRIG1 passed: {pTRIG1_ROC1.npassed}
+Coin ROC1 pTRIG2 passed: {pTRIG2_ROC1.npassed}
+Coin ROC1 pTRIG3 passed: {pTRIG3_ROC1.npassed}
+Coin ROC1 pTRIG4 passed: {pTRIG4_ROC1.npassed}
+Coin ROC1 pTRIG5 passed: {pTRIG5_ROC1.npassed}
+Coin ROC1 pTRIG6 passed: {pTRIG6_ROC1.npassed}
+
+HMS  Singles Triggers  :  {HMS_event.npassed}
 SHMS Singles Triggers  :  {SHMS_event.npassed}
-Coincidence Triggers   :  {COIN_event.npassed}
-All triggers           :  {ALL_events.npassed}
\ No newline at end of file
+Coincidence  Triggers  :  {COIN_ONLY_event.npassed}
+All triggers           :  {ALL_events.npassed}
+
+=:=:=:=:=:=:=:=:=:=:=:=: 
+= SHMS Trigger Scalers
+=:=:=:=:=:=:=:=:=:=:=:=: 
+
+SHMS_pEL_LO_LO :    {P.pEL_LO_LO.scaler}    [ {(P.pEL_LO_LO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pEL_LO    :    {P.pEL_LO.scaler}   [ {(P.pEL_LO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pEL_HI    :    {P.pEL_HI.scaler}   [ {(P.pEL_HI.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pEL_REAL  :    {P.pEL_REAL.scaler} [ {(P.pEL_REAL.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pEL_CLEAN :    {P.pEL_CLEAN.scaler}    [ {(P.pEL_CLEAN.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pSTOF     :    {P.pSTOF.scaler}    [ {(P.pSTOF.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+SHMS_pTRIG1 :   {P.pTRIG1.scaler}   [ {(P.pTRIG1.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pTRIG2 :   {P.pTRIG2.scaler}   [ {(P.pTRIG2.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pTRIG3 :   {P.pTRIG3.scaler}   [ {(P.pTRIG3.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pTRIG4 :   {P.pTRIG4.scaler}   [ {(P.pTRIG4.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pTRIG5 :   {P.pTRIG5.scaler}   [ {(P.pTRIG5.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_pTRIG6 :   {P.pTRIG6.scaler}   [ {(P.pTRIG6.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+SHMS_hTRIG1 :   {P.hTRIG1.scaler}   [ {(P.hTRIG1.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_hTRIG2 :   {P.hTRIG2.scaler}   [ {(P.hTRIG2.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_hTRIG3 :   {P.hTRIG3.scaler}   [ {(P.hTRIG3.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_hTRIG4 :   {P.hTRIG4.scaler}   [ {(P.hTRIG4.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_hTRIG5 :   {P.hTRIG5.scaler}   [ {(P.hTRIG5.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHMS_hTRIG6 :   {P.hTRIG6.scaler}   [ {(P.hTRIG6.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+=:=:=:=:=:=:=:=:=:=:=:  
+= HMS Trigger Scalers
+=:=:=:=:=:=:=:=:=:=:=: 
+
+HMS_hEL_LO_LO : {H.hEL_LO_LO.scaler}    [ {(H.hEL_LO_LO.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hEL_LO    : {H.hEL_LO.scaler}   [ {(H.hEL_LO.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hEL_HI    : {H.hEL_HI.scaler}   [ {(H.hEL_HI.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hEL_REAL  : {H.hEL_REAL.scaler} [ {(H.hEL_REAL.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hEL_CLEAN : {H.hEL_CLEAN.scaler}    [ {(H.hEL_CLEAN.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hSTOF     : {H.hSTOF.scaler}    [ {(H.hSTOF.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+HMS_hTRIG1 :    {H.hTRIG1.scaler}   [ {(H.hTRIG1.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hTRIG2 :    {H.hTRIG2.scaler}   [ {(H.hTRIG2.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hTRIG3 :    {H.hTRIG3.scaler}   [ {(H.hTRIG3.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hTRIG4 :    {H.hTRIG4.scaler}   [ {(H.hTRIG4.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hTRIG5 :    {H.hTRIG5.scaler}   [ {(H.hTRIG5.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_hTRIG6 :    {H.hTRIG6.scaler}   [ {(H.hTRIG6.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+HMS_pTRIG1 :    {H.pTRIG1.scaler}   [ {(H.pTRIG1.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_pTRIG2 :    {H.pTRIG2.scaler}   [ {(H.pTRIG2.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_pTRIG3 :    {H.pTRIG3.scaler}   [ {(H.pTRIG3.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_pTRIG4 :    {H.pTRIG4.scaler}   [ {(H.pTRIG4.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_pTRIG5 :    {H.pTRIG5.scaler}   [ {(H.pTRIG5.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+HMS_pTRIG6 :    {H.pTRIG6.scaler}   [ {(H.pTRIG6.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+=:=:=:=:
+= EDTM
+=:=:=:=:
+
+SHMS EDTM Triggers           : {P.EDTM.scaler}
+SHMS Estimated EDTM Triggers : {P.EDTM.scalerRate*(P.1Mhz.scaler/1000000.):%.0f}
+SHMS EDTM Trigger Rate       : {P.EDTM.scalerRate/1000.:%.3f} kHz
+SHMS Accepted EDTM Triggers  : {SHMS_edtm_accepted.npassed}
+
+HMS EDTM Triggers            : {H.EDTM.scaler}
+HMS Estimated EDTM Triggers  : {H.EDTM.scalerRate*(H.1Mhz.scaler/1000000.):%.0f}
+HMS EDTM Trigger Rate        : {H.EDTM.scalerRate/1000.:%.3f} kHz
+HMS Accepted EDTM Triggers   : {HMS_edtm_accepted.npassed}
+
+=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+= Live/Dead Time Calculations
+=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
+
+ROC2 Pre-Scaled Ps1 ROC2 Computer Live Time : {(pTRIG1_ROC2.npassed / (P.pTRIG1.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps1 ROC2 Computer Dead Time : {100.0 - (pTRIG1_ROC2.npassed / (P.pTRIG1.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps2 ROC2 Computer Live Time : {(pTRIG2_ROC2.npassed / (P.pTRIG2.scaler/gHC_ti_ps_factors[1]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps2 ROC2 Computer Dead Time : {100.0 - (pTRIG2_ROC2.npassed / (P.pTRIG2.scaler/gHC_ti_ps_factors[1]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps3 ROC2 Computer Live Time : {(pTRIG3_ROC2.npassed / (P.pTRIG3.scaler/gHC_ti_ps_factors[2]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps3 ROC2 Computer Dead Time : {100.0 - (pTRIG3_ROC2.npassed / (P.pTRIG3.scaler/gHC_ti_ps_factors[2]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps4 ROC2 Computer Live Time : {(pTRIG4_ROC2.npassed / (P.pTRIG4.scaler/gHC_ti_ps_factors[3]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps4 ROC2 Computer Dead Time : {100.0 - (pTRIG4_ROC2.npassed / (P.pTRIG4.scaler/gHC_ti_ps_factors[3]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps6 ROC2 Computer Live Time : {(pTRIG6_ROC2.npassed / (P.pTRIG6.scaler/gHC_ti_ps_factors[5]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps6 ROC2 Computer Dead Time : {100.0 - (pTRIG6_ROC2.npassed / (P.pTRIG6.scaler/gHC_ti_ps_factors[5]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps1 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps1 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[0]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps2 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[1]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps2 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[1]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps3 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[2]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps3 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[2]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps4 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[3]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps4 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[3]))*100.0:%3.4f} %
+
+ROC2 Pre-Scaled Ps6 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[5]))*100.0:%3.4f} %
+ROC2 Pre-Scaled Ps6 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gHC_ti_ps_factors[5]))*100.0:%3.4f} %
+
+ROC2 OG 6 GeV Electronic Live Time (100, 150) : {100.0 - ((P.pPRE100.scaler - P.pPRE150.scaler)/P.pPRE100.scaler):%3.4f} %
+ROC2 OG 6 GeV Electronic Dead Time (100, 150) : {((P.pPRE100.scaler - P.pPRE150.scaler)/P.pPRE100.scaler):%3.4f} %
+
+ROC2 OG 6 GeV Electronic Live Time (100, 200) : {100.0 - ((P.pPRE100.scaler - P.pPRE200.scaler)/P.pPRE100.scaler):%3.4f} %
+ROC2 OG 6 GeV Electronic Dead Time (100, 200) : {((P.pPRE100.scaler - P.pPRE200.scaler)/P.pPRE100.scaler):%3.4f} %
+
+ROC2 OG 6 GeV Electronic Live Time (150, 200) : {100.0 - ((P.pPRE150.scaler - P.pPRE200.scaler)/P.pPRE150.scaler):%3.4f} %
+ROC2 OG 6 GeV Electronic Dead Time (150, 200) : {((P.pPRE150.scaler - P.pPRE200.scaler)/P.pPRE150.scaler):%3.4f} %
+
+=:=:=:=:=:=:=:
+= Hodoscopes
+=:=:=:=:=:=:=:
+
+P1X    : {P.S1X.scaler} [ {(P.S1X.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P1X 
+P1Y    : {P.S1Y.scaler} [ {(P.S1Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P1Y
+P2X    : {P.S2X.scaler} [ {(P.S2X.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P2X
+P2Y    : {P.S2Y.scaler} [ {(P.S2Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P2Y
+
+P1XP1Y : {P.S1XS1Y.scaler} [ {(P.S1XS1Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between P1X and P1Y planes 
+P2XP2Y : {P.S2XS2Y.scaler} [ {(P.S2XS2Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between P2X and P2Y planes                                           
+
+H1X    : {H.S1X.scaler} [ {(H.S1X.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H1X 
+H1Y    : {H.S1Y.scaler} [ {(H.S1Y.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H1Y
+H2X    : {H.S2X.scaler} [ {(H.S2X.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H2X
+H2Y    : {H.S2Y.scaler} [ {(H.S2Y.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H2Y
+
+H1XH1Y : {H.S1XS1Y.scaler} [ {(H.S1XS1Y.scaler/H.1Mhz.scalerTime)/1000.:%.3f}  kHz ] AND between H1X and H1Y planes 
+H2XH2Y : {H.S2XS2Y.scaler} [ {(H.S2XS2Y.scaler/H.1Mhz.scalerTime)/1000.:%.3f}  kHz ] AND between H2X and H2Y planes
+
+=:=:=:=:=:=:=:=:=:=:=:=:=
+= Aerogel, HGC, NGC, CAL
+=:=:=:=:=:=:=:=:=:=:=:=:=
+
+=:=:=:=:=
+= SHMS
+=:=:=:=:=
+AERO : {P.AERO.scaler}  [ {(P.AERO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] Aerogel sum currently not available
+HGC  : {P.HCER.scaler}  [ {(P.HCER.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+NGC  : {P.NCER.scaler}  [ {(P.NCER.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+PRLO : {P.PRLO.scaler}  [ {(P.PRLO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+PRHI : {P.PRHI.scaler}  [ {(P.PRHI.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+=:=:=:=:=
+= HMS
+=:=:=:=:=
+CER  : {H.CER.scaler}   [ {(H.CER.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+PRLO : {H.PRLO.scaler}  [ {(H.PRLO.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+PRHI : {H.PRHI.scaler}  [ {(H.PRHI.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+SHLO : {H.SHLO.scaler}  [ {(H.SHLO.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+ASUM : {H.ASUM.scaler}  [ {(H.ASUM.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+BSUM : {H.BSUM.scaler}  [ {(H.BSUM.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+CSUM : {H.CSUM.scaler}  [ {(H.CSUM.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+DSUM :  H.DSUM.scaler}  [ {(H.DSUM.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+
+=:=:=:=:=:=:=:=:=
+= SHMS Chambers =
+=:=:=:=:=:=:=:=:=
+
+pcut_good_S1_time         Counts: {pcut_good_S1_time.npassed}     / shms_trigs.scaler : {pcut_good_S1_time.npassed / shms_trigs.npassed}       
+pcut_good_S2X_time        Counts: {pcut_good_S2X_time.npassed}     / shms_trigs.scaler : {pcut_good_S2X_time.npassed / shms_trigs.npassed}    
+pcut_good_S1_S2X_time     Counts: {pcut_good_S1_S2X_time.npassed}     / shms_trigs.scaler : {pcut_good_S1_S2X_time.npassed / shms_trigs.npassed}
+
+Chamber 1 hits > 0                        Counts: {shms_ch1_gt0.npassed} / shms_trigs : {shms_ch1_gt0.npassed / shms_trigs.npassed}         
+Chamber 2 hits > 0                        Counts: {shms_ch2_gt0.npassed} / shms_trigs : { shms_ch2_gt0.npassed / shms_trigs.npassed}        
+Chamber 2 hits > 0 & Ch 1 hits = 0        Counts: {shms_ch2_gt0_noch1.npassed} / shms_trigs : { shms_ch2_gt0_noch1.npassed / shms_trigs.npassed}  
+Chamber 1 hits > 0 & Ch 2 hits = 0        Counts: {shms_ch1_gt0_noch2.npassed} / shms_trigs : {shms_ch1_gt0_noch2.npassed / shms_trigs.npassed}  
+Chamber 1 hits = 0 & Ch 2 hits = 0        Counts: {shms_noch1_noch2.npassed} / shms_trigs : {shms_noch1_noch2.npassed / shms_trigs.npassed}  
+Chamber 1 > 0 & Ch 2 hits > 0             Counts: {shms_ch_gt0.npassed} / shms_trigs : { shms_ch_gt0.npassed / shms_trigs.npassed}        
+Ch 1 hits > 0 & Ch 2 hits > 0 & track     Counts: {shms_ch_gt0_track.npassed} / shms_trigs : { shms_ch_gt0_track.npassed / shms_trigs.npassed}
+Chamber 1 > 3 & Ch 2 hits > 3             Counts: {shms_ch_gt4.npassed} / shms_trigs : { shms_ch_gt4.npassed / shms_trigs.npassed}        
+Ch 1 hits > 3 & Ch 2 hits > 3 & track     Counts: {shms_ch_gt4_track.npassed} / shms_trigs : { shms_ch_gt4_track.npassed / shms_trigs.npassed}
+
+Add cut on good_S1_S2X_time 
+
+Chamber 1 hits > 0                        Counts: {shms_ch1_gt0_gtime.npassed} / shms_trigs.scaler : {shms_ch1_gt0_gtime.npassed / shms_trigs.npassed}         
+Chamber 2 hits > 0                        Counts: {shms_ch2_gt0_gtime.npassed} / shms_trigs.scaler : { shms_ch2_gt0_gtime.npassed / shms_trigs.npassed}        
+Chamber 2 hits > 0 & Ch 1 hits = 0        Counts: {shms_ch2_gt0_noch1_gtime.npassed} / shms_trigs.scaler : { shms_ch2_gt0_noch1_gtime.npassed / shms_trigs.npassed}  
+Chamber 1 hits > 0 & Ch 2 hits = 0        Counts: {shms_ch1_gt0_noch2_gtime.npassed} / shms_trigs.scaler : {shms_ch1_gt0_noch2_gtime.npassed / shms_trigs.npassed}  
+Chamber 1 hits = 0 & Ch 2 hits = 0        Counts: {shms_noch1_noch2_gtime.npassed} / shms_trigs.scaler : {shms_noch1_noch2_gtime.npassed / shms_trigs.npassed}  
+Chamber 1 > 0 & Ch 2 hits > 0             Counts: {shms_ch_gt0_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt0_gtime.npassed / shms_trigs.npassed}        
+Ch 1 hits > 0 & Ch 2 hits > 0 & track     Counts: {shms_ch_gt0_track_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt0_track_gtime.npassed / shms_trigs.npassed}
+Chamber 1 > 3 & Ch 2 hits > 3             Counts: {shms_ch_gt4_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt4_gtime.npassed / shms_trigs.npassed}        
+Ch 1 hits > 3 & Ch 2 hits > 3 & track     Counts: {shms_ch_gt4_track_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt4_track_gtime.npassed / shms_trigs.npassed}
+
+shmsDC1Planes_large  Counts: {shmsDC1Planes_large.npassed} / shms_trigs.scaler : {shmsDC1Planes_large.npassed / shms_trigs.npassed}
+shmsDC2Planes_large  Counts: {shmsDC2Planes_large.npassed} / shms_trigs.scaler : {shmsDC2Planes_large.npassed / shms_trigs.npassed}  
+
+shmsDC1Planes6       Counts: {shmsDC1Planes6hits.npassed} / shms_trigs.scaler : {shmsDC1Planes6hits.npassed / shms_trigs.npassed}
+shmsDC2Planes6       Counts: {shmsDC2Planes6hits.npassed} / shms_trigs.scaler : {shmsDC2Planes6hits.npassed / shms_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}
+
+I'm pretty sure that these are the "raw" number of counts. "Raw" means one or more hits per dc plane.
+shmsDC1_1hit_x1: {shmsDC1_1hit_x1.npassed}      
+shmsDC1_1hit_u1: {shmsDC1_1hit_u1.npassed}      
+shmsDC1_1hit_u2: {shmsDC1_1hit_u2.npassed}      
+shmsDC1_1hit_v1: {shmsDC1_1hit_v1.npassed}      
+shmsDC1_1hit_v2: {shmsDC1_1hit_v2.npassed}      
+shmsDC1_1hit_x2: {shmsDC1_1hit_x2.npassed}      
+
+shmsDC2_1hit_x1: {shmsDC2_1hit_x1.npassed}      
+shmsDC2_1hit_u1: {shmsDC2_1hit_u1.npassed}      
+shmsDC2_1hit_u2: {shmsDC2_1hit_u2.npassed}      
+shmsDC2_1hit_v1: {shmsDC2_1hit_v1.npassed}      
+shmsDC2_1hit_v2: {shmsDC2_1hit_v2.npassed}      
+shmsDC2_1hit_x2: {shmsDC2_1hit_x2.npassed}      
+
+"Good" means one or two hits per dc plane.
+pcut_goodHDC1x1: {pcut_goodHDC1x1.npassed}  eff : {pcut_goodHDC1x1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC1u2: {pcut_goodHDC1u2.npassed}  eff : {pcut_goodHDC1u2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC1u1: {pcut_goodHDC1u1.npassed}  eff : {pcut_goodHDC1u1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC1v1: {pcut_goodHDC1v1.npassed}  eff : {pcut_goodHDC1v1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC1v2: {pcut_goodHDC1v2.npassed}  eff : {pcut_goodHDC1v2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC1x2: {pcut_goodHDC1x2.npassed}  eff : {pcut_goodHDC1x2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+
+pcut_goodHDC2x1: {pcut_goodHDC2x1.npassed}  eff : {pcut_goodHDC2x1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC2u2: {pcut_goodHDC2u2.npassed}  eff : {pcut_goodHDC2u2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC2u1: {pcut_goodHDC2u1.npassed}  eff : {pcut_goodHDC2u1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC2v1: {pcut_goodHDC2v1.npassed}  eff : {pcut_goodHDC2v1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC2v2: {pcut_goodHDC2v2.npassed}  eff : {pcut_goodHDC2v2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC2x2: {pcut_goodHDC2x2.npassed}  eff : {pcut_goodHDC2x2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+
+pcut_goodHDC1:   {pcut_goodHDC1.npassed}  eff : {pcut_goodHDC1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goodHDC2:   {pcut_goodHDC2.npassed}  eff : {pcut_goodHDC2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_bothgood:   {pcut_bothGood.npassed}  eff : {pcut_bothGood.npassed/(shms_trigs.npassed+.0001):%5.3f}
+
+pcut_realhdc1x1: {pcut_realhdc1x1.npassed}
+pcut_realhdc1u2: {pcut_realhdc1u2.npassed}
+pcut_realhdc1u1: {pcut_realhdc1u1.npassed}
+pcut_realhdc1v1: {pcut_realhdc1v1.npassed}
+pcut_realhdc1v2: {pcut_realhdc1v2.npassed}
+pcut_realhdc1x2: {pcut_realhdc1x2.npassed}
+
+pcut_realhdc2x1: {pcut_realhdc2x1.npassed}
+pcut_realhdc2u2: {pcut_realhdc2u2.npassed}
+pcut_realhdc2u1: {pcut_realhdc2u1.npassed}
+pcut_realhdc2v1: {pcut_realhdc2v1.npassed}
+pcut_realhdc2v2: {pcut_realhdc2v2.npassed}
+pcut_realhdc2x2: {pcut_realhdc2x2.npassed}
+                
+**HODOSCOPE**
+"Any" means one or more hits per scint plane.
+pcut_anys1x : {pcut_anys1x.npassed}      eff: {pcut_anys1x.npassed/(shms_trigs.npassed+.0001):%5.3f}    BAD = ??
+pcut_anys1y : {pcut_anys1y.npassed}      eff: {pcut_anys1y.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_anys2x : {pcut_anys2x.npassed}      eff: {pcut_anys2x.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_anys2y : {pcut_anys2y.npassed}      eff: {pcut_anys2y.npassed/(shms_trigs.npassed+.0001):%5.3f} 
+
+"Good" means one or two hits per scint plane.
+pcut_goods1x : {pcut_goods1x.npassed}     eff: {pcut_goods1x.npassed/(shms_trigs.npassed+.0001):%5.3f}   BAD = ??
+pcut_goods1y : {pcut_goods1y.npassed}     eff: {pcut_goods1y.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goods1  : {pcut_goods1.npassed}     eff: {pcut_goods1.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goods2x : {pcut_goods2x.npassed}     eff: {pcut_goods2x.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goods2y : {pcut_goods2y.npassed}     eff: {pcut_goods2y.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goods2  : {pcut_goods2.npassed}     eff: {pcut_goods2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_goods1s2: {pcut_goods1s2.npassed}     eff: {pcut_goods1s2.npassed/(shms_trigs.npassed+.0001):%5.3f}
+
+**TRACKING**
+pcut_FoundTrack  :{pcut_FoundTrack.npassed}  eff: {pcut_FoundTrack.npassed/(shms_trigs.npassed+.0001):%5.3f} BAD = ??
+pcut_Found1Track :{pcut_Found1Track.npassed}  eff: {pcut_Found1Track.npassed/(shms_trigs.npassed+.0001):%5.3f} 
+pcut_Found2Track :{pcut_Found2Track.npassed}   eff: {pcut_Found2Track.npassed/(shms_trigs.npassed+.0001):%5.3f} 
+pcut_Found3Track :{pcut_Found3Track.npassed}    eff: {pcut_Found3Track.npassed/(shms_trigs.npassed+.0001):%5.3f} 
+pcut_Found4Track :{pcut_Found4Track.npassed}    eff: {pcut_Found4Track.npassed/(shms_trigs.npassed+.0001):%5.3f} 
+
+pcut_CleanTrack :{pcut_CleanTrack.npassed}  eff: {pcut_CleanTrack.npassed/(shms_trigs.npassed+.0001):%5.3f}     BAD = ??
+pcut_Clean1Track:{pcut_Clean1Track.npassed}  eff: {pcut_Clean1Track.npassed/(shms_trigs.npassed+.0001):%5.3f} 
+pcut_Clean2Track:{pcut_Clean2Track.npassed}    eff: {pcut_Clean2Track.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_Clean3Track:{pcut_Clean3Track.npassed}    eff: {pcut_Clean3Track.npassed/(shms_trigs.npassed+.0001):%5.3f}
+pcut_Clean4Track:{pcut_Clean4Track.npassed}    eff: {pcut_Clean4Track.npassed/(shms_trigs.npassed+.0001):%5.3f}
+
+**CHERENKOVS AND CAL**
+pcut_cer_ng_elec   :      {pcut_cer_ng_elec.npassed}
+pcut_cer_ng_pi     :      {pcut_cer_ng_pi.npassed}
+pcut_cer_hg_elec   :      {pcut_cer_hg_elec.npassed}
+pcut_cer_hg_pi     :      {pcut_cer_hg_pi.npassed}
+pcut_cer_pi_both   :      {pcut_cer_pi_both.npassed}
+pcut_cer_elec_both :      {pcut_cer_elec_both.npassed}
+pcut_cal_elec      :      {pcut_cal_elec.npassed}
+pcut_cal_pi        :      {pcut_cal_pi.npassed}
+pcut_elec_all      :      {pcut_elec_all.npassed}
+pcut_pi_all        :      {pcut_pi_all.npassed} 
+
+pcut_CleanTrack_cer_elec : {pcut_CleanTrack_cer_elec.npassed} 
+pcut_p1hit1_cer_elec     : {pcut_p1hit1_cer_elec.npassed}
+pcut_CleanTrack_cal_elec : {pcut_CleanTrack_cal_elec.npassed} 
+pcut_p1hit1_cal_elec     : {pcut_p1hit1_cal_elec.npassed}
+
+******************************
+* SHMS TRACKING EFFICIENCIES *
+******************************
+
+ptrig                          : {SHMS_event.npassed}
+phitslt = passed hits/cham     : {shmsHitsLt.npassed}
+phitsplanes = +planes >= 5/6   : {shmsHitsPlanes.npassed}
+phitsplanessps = + sps         : {pSpacePoints.npassed}
+phitsplanesspsstubs +stub      : {pSpacePointsStub.npassed}
+psfoundtrack                   : {pcut_FoundTrack.npassed}
+pscleantrack                   : {pcut_CleanTrack.npassed}
+pstublt = passed stub tests    : {pStubLT.npassed}
+p1hitslt                       : {shms1HitsLt.npassed}
+p2hitslt                       : {shms2HitsLt.npassed}
+p1planesgt                     : {shmsDC1PlanesGT.npassed}
+p2planesgt                     : {shmsDC2PlanesGT.npassed}
+pplanesgt = gt 5 planes/cham   : {shmsPlanesGT.npassed}
+f1pspacepoints                 : {f1PSpacePoints.npassed}
+f2pspacepoints                 : {f2PSpacePoints.npassed}
+ptest1=p hits/planes, f sp     : {pTest1.npassed}
+ptest2=p sp, f stubs           : {pTest2.npassed}
+pdid                           : {shmsScinDid.npassed}
+pdide                          : {shmsScinDide.npassed}
+pdidh                          : {shmsScinDidh.npassed}
+pscinshould                    : {shmsScinShould.npassed}
+pscinshoulde                   : {shmsScinShoulde.npassed}
+pscinshouh                     : {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}
+
+=:=:=:=:=:=:=:=:=
+= HMS Chambers  =
+=:=:=:=:=:=:=:=:=
+
+hmsDC1Planes_large  Counts:{hmsDC1Planes_large.npassed} /hms_trigs : {hmsDC1Planes_large.npassed/hms_trigs.npassed}
+hmsDC2Planes_large  Counts:{hmsDC2Planes_large.npassed}  /hms_trigs : {hmsDC2Planes_large.npassed/hms_trigs.npassed}  
+
+hmsDC1Planes6       Counts:  {hmsDC1Planes6hits.npassed} /hms_trigs : {hmsDC1Planes6hits.npassed/hms_trigs.npassed}
+hmsDC2Planes6       Counts:  {hmsDC2Planes6hits.npassed} /hms_trigs : {hmsDC2Planes6hits.npassed/hms_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}
+hmsDC1u2Planes5     Counts:  {hmsDC1_5hits_u2.npassed} eff : {hmsDC1_6hits_u2.npassed/hmsDC1_5hits_u2.npassed}
+hmsDC1v1Planes5     Counts:  {hmsDC1_5hits_v1.npassed} eff : {hmsDC1_6hits_v1.npassed/hmsDC1_5hits_v1.npassed}
+hmsDC1v2Planes5     Counts:  {hmsDC1_5hits_v2.npassed} eff : {hmsDC1_6hits_v2.npassed/hmsDC1_5hits_v2.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}
+hmsDC2u2Planes5     Counts:  {hmsDC2_5hits_u2.npassed} eff : {hmsDC2_6hits_u2.npassed/hmsDC2_5hits_u2.npassed}
+hmsDC2v1Planes5     Counts:  {hmsDC2_5hits_v1.npassed} eff : {hmsDC2_6hits_v1.npassed/hmsDC2_5hits_v1.npassed}
+hmsDC2v2Planes5     Counts:  {hmsDC2_5hits_v2.npassed} eff : {hmsDC2_6hits_v2.npassed/hmsDC2_5hits_v2.npassed}
+hmsDC2x2Planes5     Counts:  {hmsDC2_5hits_x2.npassed} eff : {hmsDC2_6hits_x2.npassed/hmsDC2_5hits_x2.npassed}
+
+I'm pretty sure that these are the "raw" number of counts. "Raw" means one or more hits per dc plane.
+hmsDC1_1hit_x1:      {hmsDC1_1hit_x1.npassed}       
+hmsDC1_1hit_u1:      {hmsDC1_1hit_u1.npassed}       
+hmsDC1_1hit_u2:      {hmsDC1_1hit_u2.npassed}       
+hmsDC1_1hit_v1:      {hmsDC1_1hit_v1.npassed}       
+hmsDC1_1hit_u2:      {hmsDC1_1hit_u2.npassed}       
+hmsDC1_1hit_x2:      {hmsDC1_1hit_x2.npassed}       
+
+hmsDC2_1hit_x1:      {hmsDC2_1hit_x1.npassed}       
+hmsDC2_1hit_u1:      {hmsDC2_1hit_u1.npassed}       
+hmsDC2_1hit_u2:      {hmsDC2_1hit_u2.npassed}       
+hmsDC2_1hit_v1:      {hmsDC2_1hit_v1.npassed}       
+hmsDC2_1hit_u2:      {hmsDC2_1hit_u2.npassed}       
+hmsDC2_1hit_x2:      {hmsDC2_1hit_x2.npassed}       
+
+"Good" means one or two hits per dc plane.
+hcut_goodHDC1x1:         {hcut_goodHDC1x1.npassed}  eff : {hcut_goodHDC1x1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC1u2:         {hcut_goodHDC1u2.npassed}  eff : {hcut_goodHDC1u2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC1u1:             {hcut_goodHDC1u1.npassed}  eff : {hcut_goodHDC1u1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC1v1:         {hcut_goodHDC1v1.npassed}  eff : {hcut_goodHDC1v1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC1v2:         {hcut_goodHDC1v2.npassed}  eff : {hcut_goodHDC1v2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC1x2:         {hcut_goodHDC1x2.npassed}  eff : {hcut_goodHDC1x2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+
+hcut_goodHDC2x1:         {hcut_goodHDC2x1.npassed}  eff : {hcut_goodHDC2x1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC2u2:         {hcut_goodHDC2u2.npassed}  eff : {hcut_goodHDC2u2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC2u1:         {hcut_goodHDC2u1.npassed}  eff : {hcut_goodHDC2u1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC2v1:         {hcut_goodHDC2v1.npassed}  eff : {hcut_goodHDC2v1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC2v2:         {hcut_goodHDC2v2.npassed}  eff : {hcut_goodHDC2v2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC2x2:         {hcut_goodHDC2x2.npassed}  eff : {hcut_goodHDC2x2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+
+hcut_goodHDC1:       {hcut_goodHDC1.npassed}    eff : {hcut_goodHDC1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goodHDC2:       {hcut_goodHDC2.npassed}    eff : {hcut_goodHDC2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_bothgood:       {hcut_bothGood.npassed}    eff : {hcut_bothGood.npassed/(hms_trigs.npassed+.0001):%5.3f}
+
+hcut_realhdc1x1:         {hcut_realhdc1x1.npassed}
+hcut_realhdc1u2:         {hcut_realhdc1u2.npassed}
+hcut_realhdc1u1:             {hcut_realhdc1u1.npassed}
+hcut_realhdc1v1:         {hcut_realhdc1v1.npassed}
+hcut_realhdc1v2:         {hcut_realhdc1v2.npassed}
+hcut_realhdc1x2:         {hcut_realhdc1x2.npassed}
+
+hcut_realhdc2x1:         {hcut_realhdc2x1.npassed}
+hcut_realhdc2u2:         {hcut_realhdc2u2.npassed}
+hcut_realhdc2u1:         {hcut_realhdc2u1.npassed}
+hcut_realhdc2v1:         {hcut_realhdc2v1.npassed}
+hcut_realhdc2v2:         {hcut_realhdc2v2.npassed}
+hcut_realhdc2x2:         {hcut_realhdc2x2.npassed}
+                   
+**HODOSCOPE**
+"Any" means one or more hits per scint plane.
+hcut_anys1x:             {hcut_anys1x.npassed}  eff: {hcut_anys1x.npassed/(hms_trigs.npassed+.0001):%5.3f}  BAD = ??
+hcut_anys1y:                 {hcut_anys1y.npassed}  eff: {hcut_anys1y.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_anys2x:                 {hcut_anys2x.npassed}  eff: {hcut_anys2x.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_anys2y:                 {hcut_anys2y.npassed}  eff: {hcut_anys2y.npassed/(hms_trigs.npassed+.0001):%5.3f} 
+
+"Good" means one or two hits per scint plane.
+hcut_goods1x:        {hcut_goods1x.npassed}  eff: {hcut_goods1x.npassed/(hms_trigs.npassed+.0001):%5.3f}    BAD = ??
+hcut_goods1y:        {hcut_goods1y.npassed}  eff: {hcut_goods1y.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goods1:         {hcut_goods1.npassed}   eff: {hcut_goods1.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goods2x:        {hcut_goods2x.npassed}  eff: {hcut_goods2x.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goods2y:        {hcut_goods2y.npassed}  eff: {hcut_goods2y.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goods2:         {hcut_goods2.npassed}   eff: {hcut_goods2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_goods1s2:       {hcut_goods1s2.npassed}       eff: {hcut_goods1s2.npassed/(hms_trigs.npassed+.0001):%5.3f}
+
+hcut_FoundTrack:         {hcut_FoundTrack.npassed}   eff: {hcut_FoundTrack.npassed/(hms_trigs.npassed+.0001):%5.3f} BAD = ??
+hcut_Found1Track:        {hcut_Found1Track.npassed}  eff: {hcut_Found1Track.npassed/(hms_trigs.npassed+.0001):%5.3f} 
+hcut_Found2Track:        {hcut_Found2Track.npassed}  eff: {hcut_Found2Track.npassed/(hms_trigs.npassed+.0001):%5.3f} 
+hcut_Found3Track:        {hcut_Found3Track.npassed}  eff: {hcut_Found3Track.npassed/(hms_trigs.npassed+.0001):%5.3f} 
+hcut_Found4Track:        {hcut_Found4Track.npassed}  eff: {hcut_Found4Track.npassed/(hms_trigs.npassed+.0001):%5.3f} 
+
+hcut_Clean1Track:        {hcut_Clean1Track.npassed}  eff: {hcut_Clean1Track.npassed/(hms_trigs.npassed+.0001):%5.3f}     BAD = ??
+hcut_Clean2Track:        {hcut_Clean2Track.npassed}  eff: {hcut_Clean2Track.npassed/(hms_trigs.npassed+.0001):%5.3f} 
+hcut_Clean3Track:        {hcut_Clean3Track.npassed}  eff: {hcut_Clean3Track.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_Clean4Track:        {hcut_Clean4Track.npassed}  eff: {hcut_Clean4Track.npassed/(hms_trigs.npassed+.0001):%5.3f}
+hcut_CleanTrack:         {hcut_CleanTrack.npassed}   eff: {hcut_CleanTrack.npassed/(hms_trigs.npassed+.0001):%5.3f}
+
+**CHERENKOVS AND CAL**
+hcut_cer_pmt1_elec:      {hcut_cer_pmt1_elec.npassed}
+hcut_cer_pmt2_elect:         {hcut_cer_pmt2_elec.npassed}
+hcut_cer_elec:               {hcut_cer_elec.npassed}
+hcut_cer_pi:             {hcut_cer_pi.npassed}
+
+*****************************
+*HMS TRACKING EFFICIENCIES *
+*****************************
+
+htrig                          :   {hms_trigs.npassed}
+hhitslt = passed hits/cham     :   {hmsHitsLt.npassed}
+hhitsplanes = +planes >= 5/6   :   {hmsHitsPlanes.npassed}
+hhitsplanessps = + sps         :   {hSpacePoints.npassed}
+hhitsplanesspsstubs +stub      :   {hSpacePointsStub.npassed}
+hsfoundtrack                   :   {hcut_FoundTrack.npassed}
+hscleantrack                   :   {hcut_CleanTrack.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}
+
+
+
+=:=:=:=:=:=:=:=:=:=:=:=:=
+=     SHMS Cerenkovs    =
+=:=:=:=:=:=:=:=:=:=:=:=:=
+
+***************
+* HGC Cerenkov 
+***************
+
+Good Track Requirements:
+   1. Only one track found in the focal plane
+   2. chisq/dof < {phgcer_red_chi2_max:%5.1f}
+   3. {phgcer_beta_min:%5.3f} < beta < {phgcer_beta_max:%5.3f}
+   4. {phgcer_enorm_min:%5.3f} < calorimeter energy < {phgcer_enorm_max:%5.3f}
+Threshold set at {phgcer_npe_thresh:%4.1f}
+*HGC EFF* 4PMTs
+SHMS HGC Region 1 efficiency: {SHMS_hgcer_track_fired_region_1.npassed/SHMS_hgcer_track_matched_region_1.npassed} = {SHMS_hgcer_track_fired_region_1.npassed} of {SHMS_hgcer_track_matched_region_1.npassed} good tracks.
+SHMS HGC Region 2 efficiency: {SHMS_hgcer_track_fired_region_2.npassed/SHMS_hgcer_track_matched_region_2.npassed} = {SHMS_hgcer_track_fired_region_2.npassed} of {SHMS_hgcer_track_matched_region_2.npassed} good tracks.
+SHMS HGC Region 3 efficiency: {SHMS_hgcer_track_fired_region_3.npassed/SHMS_hgcer_track_matched_region_3.npassed} = {SHMS_hgcer_track_fired_region_3.npassed} of {SHMS_hgcer_track_matched_region_3.npassed} good tracks.
+SHMS HGC Region 4 efficiency: {SHMS_hgcer_track_fired_region_4.npassed/SHMS_hgcer_track_matched_region_4.npassed} = {SHMS_hgcer_track_fired_region_4.npassed} of {SHMS_hgcer_track_matched_region_4.npassed} good tracks.
+Overall HGC Efficiency:       {SHMS_hgcer_track_fired_tot.npassed/SHMS_hgcer_track_matched_tot.npassed} = {SHMS_hgcer_track_fired_tot.npassed} of {SHMS_hgcer_track_matched_tot.npassed} good tracks.
+
+***************
+* NGC Cerenkov 
+***************
+
+Good Track Requirements:
+   1. Only one track found in the focal plane
+   2. chisq/dof < {pngcer_red_chi2_max:%5.1f}
+   3. {pngcer_beta_min:%5.3f} < beta < {pngcer_beta_max:%5.3f}
+   4. {pngcer_enorm_min:%5.3f} < calorimeter energy < {pngcer_enorm_max:%5.3f}
+Threshold set at {pngcer_npe_thresh:%4.1f}
+*NGC EFF* 4PMTs
+SHMS NGC Region 1 efficiency: {SHMS_ngcer_track_fired_region_1.npassed/SHMS_ngcer_track_matched_region_1.npassed} = {SHMS_ngcer_track_fired_region_1.npassed} of {SHMS_ngcer_track_matched_region_1.npassed} good tracks.
+SHMS NGC Region 2 efficiency: {SHMS_ngcer_track_fired_region_2.npassed/SHMS_ngcer_track_matched_region_2.npassed} = {SHMS_ngcer_track_fired_region_2.npassed} of {SHMS_ngcer_track_matched_region_2.npassed} good tracks.
+SHMS NGC Region 3 efficiency: {SHMS_ngcer_track_fired_region_3.npassed/SHMS_ngcer_track_matched_region_3.npassed} = {SHMS_ngcer_track_fired_region_3.npassed} of {SHMS_ngcer_track_matched_region_3.npassed} good tracks.
+SHMS NGC Region 4 efficiency: {SHMS_ngcer_track_fired_region_4.npassed/SHMS_ngcer_track_matched_region_4.npassed} = {SHMS_ngcer_track_fired_region_4.npassed} of {SHMS_ngcer_track_matched_region_4.npassed} good tracks.
+Overall NGC Efficiency:       {SHMS_ngcer_track_fired_tot.npassed/SHMS_ngcer_track_matched_tot.npassed} = {SHMS_ngcer_track_fired_tot.npassed} of {SHMS_ngcer_track_matched_tot.npassed} good tracks.
+
+**********
+* Aerogel  
+**********
+
+Good Track Requirements:
+   1. Only one track found in the focal plane 
+   2. chisq/dof < {paero_red_chi2_max:%5.1f}
+   3. {paero_beta_min:%5.3f} < beta < {paero_beta_max:%5.3f}
+   4. {paero_enorm_min:%5.3f} < calorimeter energy < {paero_enorm_max:%5.3f}
+   5. {paero_dp_min:%5.3f} < delta p (dp) < {paero_dp_max:%5.3f} //added because paero_cuts.param has this as a cut 
+Threshold set at {paero_npe_thresh:%4.1f}
+*AEROGEL EFF* 7 PMT pairs
+SHMS AERO Region 1 efficiency: {SHMS_aero_track_fired_region_1.npassed/SHMS_aero_track_matched_region_1.npassed} = {SHMS_aero_track_fired_region_1.npassed} of {SHMS_aero_track_matched_region_1.npassed} good tracks.
+SHMS AERO Region 2 efficiency: {SHMS_aero_track_fired_region_2.npassed/SHMS_aero_track_matched_region_2.npassed} = {SHMS_aero_track_fired_region_2.npassed} of {SHMS_aero_track_matched_region_2.npassed} good tracks.
+SHMS AERO Region 3 efficiency: {SHMS_aero_track_fired_region_3.npassed/SHMS_aero_track_matched_region_3.npassed} = {SHMS_aero_track_fired_region_3.npassed} of {SHMS_aero_track_matched_region_3.npassed} good tracks.
+SHMS AERO Region 4 efficiency: {SHMS_aero_track_fired_region_4.npassed/SHMS_aero_track_matched_region_4.npassed} = {SHMS_aero_track_fired_region_4.npassed} of {SHMS_aero_track_matched_region_4.npassed} good tracks.
+SHMS AERO Region 5 efficiency: {SHMS_aero_track_fired_region_5.npassed/SHMS_aero_track_matched_region_5.npassed} = {SHMS_aero_track_fired_region_5.npassed} of {SHMS_aero_track_matched_region_5.npassed} good tracks.
+SHMS AERO Region 6 efficiency: {SHMS_aero_track_fired_region_6.npassed/SHMS_aero_track_matched_region_6.npassed} = {SHMS_aero_track_fired_region_6.npassed} of {SHMS_aero_track_matched_region_6.npassed} good tracks.
+SHMS AERO Region 7 efficiency: {SHMS_aero_track_fired_region_7.npassed/SHMS_aero_track_matched_region_7.npassed} = {SHMS_aero_track_fired_region_7.npassed} of {SHMS_aero_track_matched_region_7.npassed} good tracks.
+Overall AERO Efficiency:       {SHMS_aero_track_fired_tot.npassed/SHMS_aero_track_matched_tot.npassed} = {SHMS_aero_track_matched_tot.npassed} of {SHMS_aero_track_matched_tot.npassed} good tracks.
+
+=:=:=:=:=:=:=:=:=:=:=:=:=
+=      HMS Cerenkov     =
+=:=:=:=:=:=:=:=:=:=:=:=:=
+
+Good Track Requirements:
+   1. Only one track found in the focal plane
+   2. chisq/dof < {hcer_red_chi2_max:%5.1f}
+   3. {hcer_beta_min:%5.3f} < beta < {hcer_beta_max:%5.3f}
+   4. {hcer_enorm_min:%5.3f} < calorimeter energy < {hcer_enorm_max:%5.3f}
+Threshold set at {hcer_npe_thresh:%4.1f}
+*HGC EFF* 2PMTs
+HMS Region 1 efficiency: {HMS_hcer_track_fired_region_1.npassed/HMS_hcer_track_matched_region_1.npassed} = {HMS_hcer_track_fired_region_1.npassed} of {HMS_hcer_track_matched_region_1.npassed} good tracks.
+HMS Region 2 efficiency: {HMS_hcer_track_fired_region_2.npassed/HMS_hcer_track_matched_region_2.npassed} = {HMS_hcer_track_fired_region_2.npassed} of {HMS_hcer_track_matched_region_2.npassed} good tracks.
+Overall HGC Efficiency: {HMS_hcer_track_fired_tot.npassed/HMS_hcer_track_matched_tot.npassed} = {HMS_hcer_track_fired_tot.npassed} of {HMS_hcer_track_matched_tot.npassed} good tracks.
+
+
+****************************
+* Calorimeter Efficiencies *
+****************************
+
+=:=:=:=:=
+= SHMS  =
+=:=:=:=:=
+Efficiencies for calorimeter is the fraction of times block was hit when track
+with chisquared/dof < {pstat_cal_maxchisq:%5.1f} came within {pstat_cal_slop:%4.1f} cm of the center.
+and scal_npe_sum  > 3.0 (hardwired). (is this still true?)
+
+Events examined = strig       = {shms_trigs.scaler.npassed}
+Tracks found    = scleantrack = {pcut_CleanTrack.npassed}
+//Tracks passing chisquared cut = (pstat_cal_numevents:%7d) (in previous template, do we need this here?)
+
+shmsPreShower        Counts: {P.cal.stat_trksum1} eff : {P.cal.stat_hitsum1 / P.cal.stat_trksum1}
+shmsShowerArray      Counts: {P.cal.stat_trksum_array} eff : {P.cal.stat_hitsum_array / P.cal.stat_trksum_array}
+
+=:=:=:=:=
+=  HMS  =
+=:=:=:=:=
+Efficiencies for calorimeter is the fraction of times block was hit when track
+with chisquared/dof < {hstat_cal_maxchisq:%5.1f} came within {hstat_cal_slop:%4.1f} cm of the center.
+and scal_npe_sum  > 3.0 (hardwired). (is this still true?)
+
+Events examined = strig       = {hms_trigs.npassed}
+Tracks found    = scleantrack = {hcut_CleanTrack.npassed}
+//Tracks passing chisquared cut = (hstat_cal_numevents:%7d) (in previous template, do we need this here?)
+
+hA       Counts: {H.cal.stat_trksum1} eff : {H.cal.stat_hitsum1 / H.cal.stat_trksum1}
+hB       Counts: {H.cal.stat_trksum2} eff : {H.cal.stat_hitsum2 / H.cal.stat_trksum2}
+hC       Counts: {H.cal.stat_trksum3} eff : {H.cal.stat_hitsum3 / H.cal.stat_trksum3}
+hD       Counts: {H.cal.stat_trksum4} eff : {H.cal.stat_hitsum4 / H.cal.stat_trksum4}
+
+**************************
+* Hodoscope Efficiencies * 
+**************************
+
+=:=:=:=:=
+= SHMS  =
+=:=:=:=:=
+Efficiencies for hodoscopes is the fraction of times scin. was hit when track
+with chisquared/dof < {pstat_maxchisq:%5.1f} came within {pstat_slop:%4.1f} cm of the center.
+
+Events examined = strig       = {shms_trigs.npassed}
+Tracks found    = scleantrack = {pcut_CleanTrack.npassed}
+//Tracks passing chisquared cut = (pstat_numevents) (in previous template, do we still need this?)
+
+Plane 1: {phodo_plane_AND_eff[0]}
+Plane 2: {phodo_plane_AND_eff[1]}
+Plane 3: {phodo_plane_AND_eff[2]}
+Plane 4: {phodo_plane_AND_eff[3]}
+
+S1XY : {phodo_s1XY_eff}
+S2XY : {phodo_s2XY_eff}
+
+STOF: {phodo_stof_eff}
+
+3_of_4 EFF : {phodo_3_of_4_eff}
+4_of_4 EFF : {phodo_4_of_4_eff}
+
+Scint       Pos eff     Neg eff     OR eff      AND eff      Hits
+-----------------------------------------------------------------------------------------------------------
+P1X1        {phodo_pos_eff[0]}      {phodo_neg_eff[0]}       {phodo_or_eff[0]}       {phodo_and_eff[0]}             {phodo_gold_hits[0]}
+P1X2        {phodo_pos_eff[4]}      {phodo_neg_eff[4]}       {phodo_or_eff[4]}       {phodo_and_eff[4]}        {phodo_gold_hits[4]}
+P1X3        {phodo_pos_eff[8]}      {phodo_neg_eff[8]}       {phodo_or_eff[8]}       {phodo_and_eff[8]}            {phodo_gold_hits[8]}
+P1X4        {phodo_pos_eff[12]}     {phodo_neg_eff[12]}          {phodo_or_eff[12]}          {phodo_and_eff[12]}           {phodo_gold_hits[12]}
+P1X5        {phodo_pos_eff[16]}     {phodo_neg_eff[16]}          {phodo_or_eff[16]}          {phodo_and_eff[16]}           {phodo_gold_hits[16]}
+P1X6        {phodo_pos_eff[20]}     {phodo_neg_eff[20]}          {phodo_or_eff[20]}          {phodo_and_eff[20]}           {phodo_gold_hits[20]}
+P1X7        {phodo_pos_eff[24]}         {phodo_neg_eff[24]}          {phodo_or_eff[24]}          {phodo_and_eff[24]}           {phodo_gold_hits[24]}
+P1X8        {phodo_pos_eff[28]}         {phodo_neg_eff[28]}          {phodo_or_eff[28]}          {phodo_and_eff[28]}           {phodo_gold_hits[28]}
+P1X9        {phodo_pos_eff[32]}     {phodo_neg_eff[32]}          {phodo_or_eff[32]}          {phodo_and_eff[32]}           {phodo_gold_hits[32]}
+P1X10       {phodo_pos_eff[36]}         {phodo_neg_eff[36]}          {phodo_or_eff[36]}          {phodo_and_eff[36]}           {phodo_gold_hits[36]}
+P1X11       {phodo_pos_eff[40]}         {phodo_neg_eff[40]}          {phodo_or_eff[40]}          {phodo_and_eff[40]}           {phodo_gold_hits[40]}
+P1X12       {phodo_pos_eff[44]}         {phodo_neg_eff[44]}          {phodo_or_eff[44]}          {phodo_and_eff[44]}           {phodo_gold_hits[44]}
+P1X13       {phodo_pos_eff[48]}         {phodo_neg_eff[48]}          {phodo_or_eff[48]}          {phodo_and_eff[48]}           {phodo_gold_hits[48]}
+
+P1Y1        {phodo_pos_eff[1]}      {phodo_neg_eff[1]}       {phodo_or_eff[1]}       {phodo_and_eff[1]}        {phodo_gold_hits[1]}
+P1Y2        {phodo_pos_eff[5]}      {phodo_neg_eff[5]}       {phodo_or_eff[5]}       {phodo_and_eff[5]}            {phodo_gold_hits[5]}
+P1Y3        {phodo_pos_eff[9]}      {phodo_neg_eff[9]}       {phodo_or_eff[9]}       {phodo_and_eff[9]}            {phodo_gold_hits[9]}
+P1Y4        {phodo_pos_eff[13]}         {phodo_neg_eff[13]}          {phodo_or_eff[13]}          {phodo_and_eff[13]}           {phodo_gold_hits[13]}
+P1Y5        {phodo_pos_eff[17]}         {phodo_neg_eff[17]}          {phodo_or_eff[17]}          {phodo_and_eff[17]}           {phodo_gold_hits[17]}
+P1Y6        {phodo_pos_eff[21]}         {phodo_neg_eff[21]}          {phodo_or_eff[21]}          {phodo_and_eff[21]}           {phodo_gold_hits[21]}
+P1Y7        {phodo_pos_eff[25]}         {phodo_neg_eff[25]}          {phodo_or_eff[25]}          {phodo_and_eff[25]}           {phodo_gold_hits[25]}
+P1Y8        {phodo_pos_eff[29]}         {phodo_neg_eff[29]}          {phodo_or_eff[29]}          {phodo_and_eff[29]}           {phodo_gold_hits[29]}
+P1Y9        {phodo_pos_eff[33]}         {phodo_neg_eff[33]}          {phodo_or_eff[33]}          {phodo_and_eff[33]}           {phodo_gold_hits[33]}
+P1Y10       {phodo_pos_eff[37]}         {phodo_neg_eff[37]}          {phodo_or_eff[37]}          {phodo_and_eff[37]}           {phodo_gold_hits[37]}
+P1Y11       {phodo_pos_eff[41]}         {phodo_neg_eff[41]}          {phodo_or_eff[41]}          {phodo_and_eff[41]}           {phodo_gold_hits[41]}
+P1Y12       {phodo_pos_eff[45]}         {phodo_neg_eff[45]}          {phodo_or_eff[45]}          {phodo_and_eff[45]}           {phodo_gold_hits[45]}
+P1Y13       {phodo_pos_eff[49]}         {phodo_neg_eff[49]}          {phodo_or_eff[49]}          {phodo_and_eff[49]}           {phodo_gold_hits[49]}
+
+P2X1        {phodo_pos_eff[2]}      {phodo_neg_eff[2]}       {phodo_or_eff[2]}       {phodo_and_eff[2]}            {phodo_gold_hits[2]}
+P2X2        {phodo_pos_eff[6]}      {phodo_neg_eff[6]}       {phodo_or_eff[6]}       {phodo_and_eff[6]}        {phodo_gold_hits[6]}
+P2X3        {phodo_pos_eff[10]}         {phodo_neg_eff[10]}          {phodo_or_eff[10]}      {phodo_and_eff[10]}           {phodo_gold_hits[10]}
+P2X4        {phodo_pos_eff[14]}         {phodo_neg_eff[14]}      {phodo_or_eff[14]}          {phodo_and_eff[14]}           {phodo_gold_hits[14]}
+P2X5        {phodo_pos_eff[18]}         {phodo_neg_eff[18]}          {phodo_or_eff[18]}          {phodo_and_eff[18]}           {phodo_gold_hits[18]}
+P2X6        {phodo_pos_eff[22]}     {phodo_neg_eff[22]}      {phodo_or_eff[22]}          {phodo_and_eff[22]}           {phodo_gold_hits[22]}
+P2X7        {phodo_pos_eff[26]}         {phodo_neg_eff[26]}      {phodo_or_eff[26]}      {phodo_and_eff[26]}           {phodo_gold_hits[26]}
+P2X8        {phodo_pos_eff[30]}         {phodo_neg_eff[30]}      {phodo_or_eff[30]}          {phodo_and_eff[30]}           {phodo_gold_hits[30]}
+P2X9        {phodo_pos_eff[34]}         {phodo_neg_eff[34]}      {phodo_or_eff[34]}      {phodo_and_eff[34]}           {phodo_gold_hits[34]}
+P2X10       {phodo_pos_eff[38]}     {phodo_neg_eff[38]}      {phodo_or_eff[38]}      {phodo_and_eff[38]}           {phodo_gold_hits[38]}
+P2X11       {phodo_pos_eff[42]}         {phodo_neg_eff[42]}      {phodo_or_eff[42]}      {phodo_and_eff[42]}           {phodo_gold_hits[42]}
+P2X12       {phodo_pos_eff[46]}         {phodo_neg_eff[46]}      {phodo_or_eff[46]}      {phodo_and_eff[46]}           {phodo_gold_hits[46]}
+P2X13       {phodo_pos_eff[50]}         {phodo_neg_eff[50]}      {phodo_or_eff[50]}      {phodo_and_eff[50]}           {phodo_gold_hits[50]}
+P2X14       {phodo_pos_eff[54]}         {phodo_neg_eff[54]}      {phodo_or_eff[54]}      {phodo_and_eff[54]}           {phodo_gold_hits[54]}
+
+P2Y1        {phodo_pos_eff[3]}      {phodo_neg_eff[3]}       {phodo_or_eff[3]}           {phodo_and_eff[3]}        {phodo_gold_hits[3]}
+P2Y2        {phodo_pos_eff[7]}      {phodo_neg_eff[7]}       {phodo_or_eff[7]}       {phodo_and_eff[7]}            {phodo_gold_hits[7]}
+P2Y3        {phodo_pos_eff[11]}         {phodo_neg_eff[11]}      {phodo_or_eff[11]}          {phodo_and_eff[11]}           {phodo_gold_hits[11]}
+P2Y4        {phodo_pos_eff[15]}         {phodo_neg_eff[15]}          {phodo_or_eff[15]}          {phodo_and_eff[15]}           {phodo_gold_hits[15]}
+P2Y5        {phodo_pos_eff[19]}         {phodo_neg_eff[19]}      {phodo_or_eff[19]}          {phodo_and_eff[19]}           {phodo_gold_hits[19]}
+P2Y6        {phodo_pos_eff[23]}         {phodo_neg_eff[23]}          {phodo_or_eff[23]}          {phodo_and_eff[23]}           {phodo_gold_hits[23]}
+P2Y7        {phodo_pos_eff[27]}         {phodo_neg_eff[27]}          {phodo_or_eff[27]}          {phodo_and_eff[27]}           {phodo_gold_hits[27]}
+P2Y8        {phodo_pos_eff[31]}         {phodo_neg_eff[31]}          {phodo_or_eff[31]}          {phodo_and_eff[31]}           {phodo_gold_hits[31]}
+P2Y9        {phodo_pos_eff[35]}         {phodo_neg_eff[35]}          {phodo_or_eff[35]}          {phodo_and_eff[35]}           {phodo_gold_hits[35]}
+P2Y10       {phodo_pos_eff[39]}         {phodo_neg_eff[39]}          {phodo_or_eff[39]}          {phodo_and_eff[39]}           {phodo_gold_hits[39]}
+P2Y11       {phodo_pos_eff[43]}         {phodo_neg_eff[43]}          {phodo_or_eff[43]}          {phodo_and_eff[43]}           {phodo_gold_hits[43]}
+P2Y12       {phodo_pos_eff[47]}         {phodo_neg_eff[47]}          {phodo_or_eff[47]}          {phodo_and_eff[47]}           {phodo_gold_hits[47]}
+P2Y13       {phodo_pos_eff[51]}         {phodo_neg_eff[51]}          {phodo_or_eff[51]}          {phodo_and_eff[51]}           {phodo_gold_hits[51]}
+P2Y14       {phodo_pos_eff[55]}         {phodo_neg_eff[55]}          {phodo_or_eff[55]}          {phodo_and_eff[55]}           {phodo_gold_hits[55]}
+P2Y15       {phodo_pos_eff[59]}         {phodo_neg_eff[59]}          {phodo_or_eff[59]}          {phodo_and_eff[59]}           {phodo_gold_hits[59]}
+P2Y16       {phodo_pos_eff[63]}         {phodo_neg_eff[63]}          {phodo_or_eff[63]}      {phodo_and_eff[63]}           {phodo_gold_hits[63]}
+P2Y17       {phodo_pos_eff[67]}         {phodo_neg_eff[67]}          {phodo_or_eff[67]}          {phodo_and_eff[67]}           {phodo_gold_hits[67]}
+P2Y18       {phodo_pos_eff[71]}         {phodo_neg_eff[71]}          {phodo_or_eff[71]}          {phodo_and_eff[71]}           {phodo_gold_hits[71]}
+P2Y19       {phodo_pos_eff[75]}         {phodo_neg_eff[75]}          {phodo_or_eff[75]}          {phodo_and_eff[75]}           {phodo_gold_hits[75]}
+P2Y20       {phodo_pos_eff[79]}         {phodo_neg_eff[79]}          {phodo_or_eff[79]}          {phodo_and_eff[79]}           {phodo_gold_hits[79]}
+P2Y21       {phodo_pos_eff[83]}         {phodo_neg_eff[83]}      {phodo_or_eff[83]}          {phodo_and_eff[83]}           {phodo_gold_hits[83]}
+
+
+=:=:=:=:=
+=  HMS  =
+=:=:=:=:=
+Efficiencies for hodoscopes is the fraction of times scin. was hit when track
+with chisquared/dof < {hstat_maxchisq:%5.1f} came within {hstat_slop:%4.1f} cm of the center.
+
+Events examined = strig       = {hms_trigs.npassed}
+Tracks found    = scleantrack = {hcut_CleanTrack.npassed}
+//Tracks passing chisquared cut = (stat_numevents) (in previous template, do we still need this?)
+
+Plane 1: {hhodo_plane_AND_eff[0]}
+Plane 2: {hhodo_plane_AND_eff[1]}
+Plane 3: {hhodo_plane_AND_eff[2]}
+Plane 4: {hhodo_plane_AND_eff[3]}
+
+S1XY : {hhodo_s1XY_eff}
+S2XY : {hhodo_s2XY_eff}
+
+STOF: {hhodo_stof_eff}
+
+3_of_4 EFF : {hhodo_3_of_4_eff}
+4_of_4 EFF : {hhodo_4_of_4_eff}
+
+*HODO EFF*
+Scint       Pos eff     Neg eff     OR eff      AND eff      Hits
+-----------------------------------------------------------------------------------------------------------
+H1X1        {hhodo_pos_eff[0]}      {hhodo_neg_eff[0]}       {hhodo_or_eff[0]}       {hhodo_and_eff[0]}             {hhodo_gold_hits[0]}
+H1X2        {hhodo_pos_eff[4]}      {hhodo_neg_eff[4]}       {hhodo_or_eff[4]}       {hhodo_and_eff[4]}        {hhodo_gold_hits[4]}
+H1X3        {hhodo_pos_eff[8]}      {hhodo_neg_eff[8]}       {hhodo_or_eff[8]}       {hhodo_and_eff[8]}            {hhodo_gold_hits[8]}
+H1X4        {hhodo_pos_eff[12]}     {hhodo_neg_eff[12]}          {hhodo_or_eff[12]}          {hhodo_and_eff[12]}           {hhodo_gold_hits[12]}
+H1X5        {hhodo_pos_eff[16]}     {hhodo_neg_eff[16]}          {hhodo_or_eff[16]}          {hhodo_and_eff[16]}           {hhodo_gold_hits[16]}
+H1X6        {hhodo_pos_eff[20]}     {hhodo_neg_eff[20]}          {hhodo_or_eff[20]}          {hhodo_and_eff[20]}           {hhodo_gold_hits[20]}
+H1X7        {hhodo_pos_eff[24]}         {hhodo_neg_eff[24]}          {hhodo_or_eff[24]}          {hhodo_and_eff[24]}           {hhodo_gold_hits[24]}
+H1X8        {hhodo_pos_eff[28]}         {hhodo_neg_eff[28]}          {hhodo_or_eff[28]}          {hhodo_and_eff[28]}           {hhodo_gold_hits[28]}
+H1X9        {hhodo_pos_eff[32]}     {hhodo_neg_eff[32]}          {hhodo_or_eff[32]}          {hhodo_and_eff[32]}           {hhodo_gold_hits[32]}
+H1X10       {hhodo_pos_eff[36]}         {hhodo_neg_eff[36]}          {hhodo_or_eff[36]}          {hhodo_and_eff[36]}           {hhodo_gold_hits[36]}
+H1X11       {hhodo_pos_eff[40]}         {hhodo_neg_eff[40]}          {hhodo_or_eff[40]}          {hhodo_and_eff[40]}           {hhodo_gold_hits[40]}
+H1X12       {hhodo_pos_eff[44]}         {hhodo_neg_eff[44]}          {hhodo_or_eff[44]}          {hhodo_and_eff[44]}           {hhodo_gold_hits[44]}
+H1X13       {hhodo_pos_eff[48]}         {hhodo_neg_eff[48]}          {hhodo_or_eff[48]}          {hhodo_and_eff[48]}           {hhodo_gold_hits[48]}
+H1X14       {hhodo_pos_eff[52]}         {hhodo_neg_eff[52]}          {hhodo_or_eff[52]}          {hhodo_and_eff[52]}           {hhodo_gold_hits[52]}
+H1X15       {hhodo_pos_eff[56]}         {hhodo_neg_eff[56]}          {hhodo_or_eff[56]}          {hhodo_and_eff[56]}           {hhodo_gold_hits[56]}
+H1X16       {hhodo_pos_eff[60]}         {hhodo_neg_eff[60]}          {hhodo_or_eff[60]}          {hhodo_and_eff[60]}           {hhodo_gold_hits[60]}
+
+H1Y1        {hhodo_pos_eff[1]}      {hhodo_neg_eff[1]}       {hhodo_or_eff[1]}       {hhodo_and_eff[1]}        {hhodo_gold_hits[1]}
+H1Y2        {hhodo_pos_eff[5]}      {hhodo_neg_eff[5]}       {hhodo_or_eff[5]}       {hhodo_and_eff[5]}            {hhodo_gold_hits[5]}
+H1Y3        {hhodo_pos_eff[9]}      {hhodo_neg_eff[9]}       {hhodo_or_eff[9]}       {hhodo_and_eff[9]}            {hhodo_gold_hits[9]}
+H1Y4        {hhodo_pos_eff[13]}         {hhodo_neg_eff[13]}          {hhodo_or_eff[13]}          {hhodo_and_eff[13]}           {hhodo_gold_hits[13]}
+H1Y5        {hhodo_pos_eff[17]}         {hhodo_neg_eff[17]}          {hhodo_or_eff[17]}          {hhodo_and_eff[17]}           {hhodo_gold_hits[17]}
+H1Y6        {hhodo_pos_eff[21]}         {hhodo_neg_eff[21]}          {hhodo_or_eff[21]}          {hhodo_and_eff[21]}           {hhodo_gold_hits[21]}
+H1Y7        {hhodo_pos_eff[25]}         {hhodo_neg_eff[25]}          {hhodo_or_eff[25]}          {hhodo_and_eff[25]}           {hhodo_gold_hits[25]}
+H1Y8        {hhodo_pos_eff[29]}         {hhodo_neg_eff[29]}          {hhodo_or_eff[29]}          {hhodo_and_eff[29]}           {hhodo_gold_hits[29]}
+H1Y9        {hhodo_pos_eff[33]}         {hhodo_neg_eff[33]}          {hhodo_or_eff[33]}          {hhodo_and_eff[33]}           {hhodo_gold_hits[33]}
+H1Y10       {hhodo_pos_eff[37]}         {hhodo_neg_eff[37]}          {hhodo_or_eff[37]}          {hhodo_and_eff[37]}           {hhodo_gold_hits[37]}
+
+H2X1        {hhodo_pos_eff[2]}      {hhodo_neg_eff[2]}       {hhodo_or_eff[2]}       {hhodo_and_eff[2]}            {hhodo_gold_hits[2]}
+H2X2        {hhodo_pos_eff[6]}      {hhodo_neg_eff[6]}       {hhodo_or_eff[6]}       {hhodo_and_eff[6]}        {hhodo_gold_hits[6]}
+H2X3        {hhodo_pos_eff[10]}         {hhodo_neg_eff[10]}          {hhodo_or_eff[10]}      {hhodo_and_eff[10]}           {hhodo_gold_hits[10]}
+H2X4        {hhodo_pos_eff[14]}         {hhodo_neg_eff[14]}      {hhodo_or_eff[14]}          {hhodo_and_eff[14]}           {hhodo_gold_hits[14]}
+H2X5        {hhodo_pos_eff[18]}         {hhodo_neg_eff[18]}          {hhodo_or_eff[18]}          {hhodo_and_eff[18]}           {hhodo_gold_hits[18]}
+H2X6        {hhodo_pos_eff[22]}     {hhodo_neg_eff[22]}      {hhodo_or_eff[22]}          {hhodo_and_eff[22]}           {hhodo_gold_hits[22]}
+H2X7        {hhodo_pos_eff[26]}         {hhodo_neg_eff[26]}      {hhodo_or_eff[26]}      {hhodo_and_eff[26]}           {hhodo_gold_hits[26]}
+H2X8        {hhodo_pos_eff[30]}         {hhodo_neg_eff[30]}      {hhodo_or_eff[30]}          {hhodo_and_eff[30]}           {hhodo_gold_hits[30]}
+H2X9        {hhodo_pos_eff[34]}         {hhodo_neg_eff[34]}      {hhodo_or_eff[34]}      {hhodo_and_eff[34]}           {hhodo_gold_hits[34]}
+H2X10       {hhodo_pos_eff[38]}     {hhodo_neg_eff[38]}      {hhodo_or_eff[38]}      {hhodo_and_eff[38]}           {hhodo_gold_hits[38]}
+H2X11       {hhodo_pos_eff[42]}         {hhodo_neg_eff[42]}      {hhodo_or_eff[42]}      {hhodo_and_eff[42]}           {hhodo_gold_hits[42]}
+H2X12       {hhodo_pos_eff[46]}         {hhodo_neg_eff[46]}      {hhodo_or_eff[46]}      {hhodo_and_eff[46]}           {hhodo_gold_hits[46]}
+H2X13       {hhodo_pos_eff[50]}         {hhodo_neg_eff[50]}      {hhodo_or_eff[50]}      {hhodo_and_eff[50]}           {hhodo_gold_hits[50]}
+H2X14       {hhodo_pos_eff[54]}         {hhodo_neg_eff[54]}      {hhodo_or_eff[54]}      {hhodo_and_eff[54]}           {hhodo_gold_hits[54]}
+H2X15       {hhodo_pos_eff[58]}         {hhodo_neg_eff[58]}      {hhodo_or_eff[58]}      {hhodo_and_eff[58]}           {hhodo_gold_hits[58]}
+H2X16       {hhodo_pos_eff[62]}         {hhodo_neg_eff[62]}      {hhodo_or_eff[62]}      {hhodo_and_eff[62]}           {hhodo_gold_hits[62]}
+
+H2Y1        {hhodo_pos_eff[3]}      {hhodo_neg_eff[3]}       {hhodo_or_eff[3]}           {hhodo_and_eff[3]}        {hhodo_gold_hits[3]}
+H2Y2        {hhodo_pos_eff[7]}      {hhodo_neg_eff[7]}       {hhodo_or_eff[7]}       {hhodo_and_eff[7]}            {hhodo_gold_hits[7]}
+H2Y3        {hhodo_pos_eff[11]}         {hhodo_neg_eff[11]}      {hhodo_or_eff[11]}          {hhodo_and_eff[11]}           {hhodo_gold_hits[11]}
+H2Y4        {hhodo_pos_eff[15]}         {hhodo_neg_eff[15]}          {hhodo_or_eff[15]}          {hhodo_and_eff[15]}           {hhodo_gold_hits[15]}
+H2Y5        {hhodo_pos_eff[19]}         {hhodo_neg_eff[19]}      {hhodo_or_eff[19]}          {hhodo_and_eff[19]}           {hhodo_gold_hits[19]}
+H2Y6        {hhodo_pos_eff[23]}         {hhodo_neg_eff[23]}          {hhodo_or_eff[23]}          {hhodo_and_eff[23]}           {hhodo_gold_hits[23]}
+H2Y7        {hhodo_pos_eff[27]}         {hhodo_neg_eff[27]}          {hhodo_or_eff[27]}          {hhodo_and_eff[27]}           {hhodo_gold_hits[27]}
+H2Y8        {hhodo_pos_eff[31]}         {hhodo_neg_eff[31]}          {hhodo_or_eff[31]}          {hhodo_and_eff[31]}           {hhodo_gold_hits[31]}
+H2Y9        {hhodo_pos_eff[35]}         {hhodo_neg_eff[35]}          {hhodo_or_eff[35]}          {hhodo_and_eff[35]}           {hhodo_gold_hits[35]}
+H2Y10       {hhodo_pos_eff[39]}         {hhodo_neg_eff[39]}          {hhodo_or_eff[39]}          {hhodo_and_eff[39]}           {hhodo_gold_hits[39]}
+
+*******************
+* Hardware Scalers
+*******************
+
+=:=:=:=:=:=:=:=:=:=
+=    HODOSCOPES   =
+=:=:=:=:=:=:=:=:=:=
+
+=:=:=:=:=
+= SHMS  =
+=:=:=:=:=
+Scint   Counts      Rate
+P1X1+:  {P.hod.1x1.posScaler} [ {(P.hod.1x1.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X2+:  {P.hod.1x2.posScaler} [ {(P.hod.1x2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X3+:  {P.hod.1x3.posScaler} [ {(P.hod.1x3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X4+:  {P.hod.1x4.posScaler} [ {(P.hod.1x4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X5+:  {P.hod.1x5.posScaler} [ {(P.hod.1x5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X6+:  {P.hod.1x6.posScaler} [ {(P.hod.1x6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X7+:  {P.hod.1x7.posScaler} [ {(P.hod.1x7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X8+:  {P.hod.1x8.posScaler} [ {(P.hod.1x8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X9+:  {P.hod.1x9.posScaler} [ {(P.hod.1x9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X10+: {P.hod.1x10.posScaler} [ {(P.hod.1x10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X11+: {P.hod.1x11.posScaler} [ {(P.hod.1x11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] 
+P1X12+: {P.hod.1x12.posScaler} [ {(P.hod.1x12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X13+: {P.hod.1x13.posScaler} [ {(P.hod.1x13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+P1X1-:  {P.hod.1x1.negScaler} [ {(P.hod.1x1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X2-:  {P.hod.1x2.negScaler} [ {(P.hod.1x2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X3-:  {P.hod.1x3.negScaler} [ {(P.hod.1x3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X4-:  {P.hod.1x4.negScaler} [ {(P.hod.1x4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X5-:  {P.hod.1x5.negScaler} [ {(P.hod.1x5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X6-:  {P.hod.1x6.negScaler} [ {(P.hod.1x6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X7-:  {P.hod.1x7.negScaler} [ {(P.hod.1x7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X8-:  {P.hod.1x8.negScaler} [ {(P.hod.1x8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X9-:  {P.hod.1x9.negScaler} [ {(P.hod.1x9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X10-: {P.hod.1x10.negScaler} [ {(P.hod.1x10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X11-: {P.hod.1x11.negScaler} [ {(P.hod.1x11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X12-: {P.hod.1x12.negScaler} [ {(P.hod.1x12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1X13-: {P.hod.1x13.negScaler} [ {(P.hod.1x13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+ 
+P1Y1+:  {P.hod.1y1.posScaler} [ {(P.hod.1y1.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y2+:  {P.hod.1y2.posScaler} [ {(P.hod.1y2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y3+:  {P.hod.1y3.posScaler} [ {(P.hod.1y3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y4+:  {P.hod.1y4.posScaler} [ {(P.hod.1y4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y5+:  {P.hod.1y5.posScaler} [ {(P.hod.1y5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y6+:  {P.hod.1y6.posScaler} [ {(P.hod.1y6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y7+:  {P.hod.1y7.posScaler} [ {(P.hod.1y7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y8+:  {P.hod.1y8.posScaler} [ {(P.hod.1y8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y9+:  {P.hod.1y9.posScaler} [ {(P.hod.1y9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y10+: {P.hod.1y10.posScaler} [ {(P.hod.1y10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y11+: {P.hod.1y11.posScaler} [ {(P.hod.1y11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y12+: {P.hod.1y12.posScaler} [ {(P.hod.1y12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y13+: {P.hod.1y13.posScaler} [ {(P.hod.1y13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+P1Y1-:  {P.hod.1y1.negScaler} [ {(P.hod.1y1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y2-:  {P.hod.1y2.negScaler} [ {(P.hod.1y2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y3-:  {P.hod.1y3.negScaler} [ {(P.hod.1y3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y4-:  {P.hod.1y4.negScaler} [ {(P.hod.1y4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y5-:  {P.hod.1y5.negScaler} [ {(P.hod.1y5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y6-:  {P.hod.1y6.negScaler} [ {(P.hod.1y6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y7-:  {P.hod.1y7.negScaler} [ {(P.hod.1y7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y8-:  {P.hod.1y8.negScaler} [ {(P.hod.1y8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y9-:  {P.hod.1y9.negScaler} [ {(P.hod.1y9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y10-: {P.hod.1y10.negScaler} [ {(P.hod.1y10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y11-: {P.hod.1y11.negScaler} [ {(P.hod.1y11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y12-: {P.hod.1y12.negScaler} [ {(P.hod.1y12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P1Y13-: {P.hod.1y13.negScaler} [ {(P.hod.1y13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+P2X1+:  {P.hod.2x1.posScaler} [ {(P.hod.2x1.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X2+:  {P.hod.2x2.posScaler} [ {(P.hod.2x2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X3+:  {P.hod.2x3.posScaler} [ {(P.hod.2x3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X4+:  {P.hod.2x4.posScaler} [ {(P.hod.2x4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X5+:  {P.hod.2x5.posScaler} [ {(P.hod.2x5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X6+:  {P.hod.2x6.posScaler} [ {(P.hod.2x6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X7+:  {P.hod.2x7.posScaler} [ {(P.hod.2x7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X8+:  {P.hod.2x8.posScaler} [ {(P.hod.2x8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X9+:  {P.hod.2x9.posScaler} [ {(P.hod.2x9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X10+: {P.hod.2x10.posScaler} [ {(P.hod.2x10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X11+: {P.hod.2x11.posScaler} [ {(P.hod.2x11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X12+: {P.hod.2x12.posScaler} [ {(P.hod.2x12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X13+: {P.hod.2x13.posScaler} [ {(P.hod.2x13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X14+: {P.hod.2x14.posScaler} [ {(P.hod.2x14.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+P2X1-:  {P.hod.2x1.negScaler} [ {(P.hod.2x1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X2-:  {P.hod.2x2.negScaler} [ {(P.hod.2x2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X3-:  {P.hod.2x3.negScaler} [ {(P.hod.2x3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X4-:  {P.hod.2x4.negScaler} [ {(P.hod.2x4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X5-:  {P.hod.2x5.negScaler} [ {(P.hod.2x5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X6-:  {P.hod.2x6.negScaler} [ {(P.hod.2x6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X7-:  {P.hod.2x7.negScaler} [ {(P.hod.2x7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X8-:  {P.hod.2x8.negScaler} [ {(P.hod.2x8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X9-:  {P.hod.2x9.negScaler} [ {(P.hod.2x9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X10-: {P.hod.2x10.negScaler} [ {(P.hod.2x10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X11-: {P.hod.2x11.negScaler} [ {(P.hod.2x11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X12-: {P.hod.2x12.negScaler} [ {(P.hod.2x12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X13-: {P.hod.2x13.negScaler} [ {(P.hod.2x13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2X14-: {P.hod.2x14.negScaler} [ {(P.hod.2x14.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+P2Y1+:  {P.hod.2y1.posScaler} [ {(P.hod.2y1.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y2+:  {P.hod.2y2.posScaler} [ {(P.hod.2y2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y3+:  {P.hod.2y3.posScaler} [ {(P.hod.2y3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] 
+P2Y4+:  {P.hod.2y4.posScaler} [ {(P.hod.2y4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y5+:  {P.hod.2y5.posScaler} [ {(P.hod.2y5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y6+:  {P.hod.2y6.posScaler} [ {(P.hod.2y6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y7+:  {P.hod.2y7.posScaler} [ {(P.hod.2y7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y8+:  {P.hod.2y8.posScaler} [ {(P.hod.2y8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y9+:  {P.hod.2y9.posScaler} [ {(P.hod.2y9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y10+: {P.hod.2y10.posScaler} [ {(P.hod.2y10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y11+: {P.hod.2y11.posScaler} [ {(P.hod.2y11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y12+: {P.hod.2y12.posScaler} [ {(P.hod.2y12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y13+: {P.hod.2y13.posScaler} [ {(P.hod.2y13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y14+: {P.hod.2y14.posScaler} [ {(P.hod.2y14.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y15+: {P.hod.2y15.posScaler} [ {(P.hod.2y15.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y16+: {P.hod.2y16.posScaler} [ {(P.hod.2y16.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y17+: {P.hod.2y17.posScaler} [ {(P.hod.2y17.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y18+: {P.hod.2y18.posScaler} [ {(P.hod.2y18.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y19+: {P.hod.2y19.posScaler} [ {(P.hod.2y19.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y20+: {P.hod.2y20.posScaler} [ {(P.hod.2y20.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y21+: {P.hod.2y21.posScaler} [ {(P.hod.2y21.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+P2Y1-:  {P.hod.2y1.negScaler} [ {(P.hod.2y1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y2-:  {P.hod.2y2.negScaler} [ {(P.hod.2y2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y3-:  {P.hod.2y3.negScaler} [ {(P.hod.2y3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y4-:  {P.hod.2y4.negScaler} [ {(P.hod.2y4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y5-:  {P.hod.2y5.negScaler} [ {(P.hod.2y5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y6-:  {P.hod.2y6.negScaler} [ {(P.hod.2y6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y7-:  {P.hod.2y7.negScaler} [ {(P.hod.2y7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y8-:  {P.hod.2y8.negScaler} [ {(P.hod.2y8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y9-:  {P.hod.2y9.negScaler} [ {(P.hod.2y9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y10-: {P.hod.2y10.negScaler} [ {(P.hod.2y10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y11-: {P.hod.2y11.negScaler} [ {(P.hod.2y11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y12-: {P.hod.2y12.negScaler} [ {(P.hod.2y12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y13-: {P.hod.2y13.negScaler} [ {(P.hod.2y13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y14-: {P.hod.2y14.negScaler} [ {(P.hod.2y14.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y15-: {P.hod.2y15.negScaler} [ {(P.hod.2y15.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y16-: {P.hod.2y16.negScaler} [ {(P.hod.2y16.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y17-: {P.hod.2y17.negScaler} [ {(P.hod.2y17.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y18-: {P.hod.2y18.negScaler} [ {(P.hod.2y18.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y19-: {P.hod.2y19.negScaler} [ {(P.hod.2y19.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y20-: {P.hod.2y20.negScaler} [ {(P.hod.2y20.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+P2Y21-: {P.hod.2y21.negScaler} [ {(P.hod.2y21.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+
+=:=:=:=:=
+=  HMS  =
+=:=:=:=:=
+Scint   Counts      Rate
+H1X1+:  {H.hod.1x1.posScaler} [ {(H.hod.1x1.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X2+:  {H.hod.1x2.posScaler} [ {(H.hod.1x2.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X3+:  {H.hod.1x3.posScaler} [ {(H.hod.1x3.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X4+:  {H.hod.1x4.posScaler} [ {(H.hod.1x4.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X5+:  {H.hod.1x5.posScaler} [ {(H.hod.1x5.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X6+:  {H.hod.1x6.posScaler} [ {(H.hod.1x6.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X7+:  {H.hod.1x7.posScaler} [ {(H.hod.1x7.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X8+:  {H.hod.1x8.posScaler} [ {(H.hod.1x8.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X9+:  {H.hod.1x9.posScaler} [ {(H.hod.1x9.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X10+: {H.hod.1x10.posScaler} [ {(H.hod.1x10.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X11+: {H.hod.1x11.posScaler} [ {(H.hod.1x11.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] 
+H1X12+: {H.hod.1x12.posScaler} [ {(H.hod.1x12.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X13+: {H.hod.1x13.posScaler} [ {(H.hod.1x13.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X14+: {H.hod.1x14.posScaler} [ {(H.hod.1x14.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X15+: {H.hod.1x15.posScaler} [ {(H.hod.1x15.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X16+: {H.hod.1x16.posScaler} [ {(H.hod.1x16.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+H1X1-:  {H.hod.1x1.negScaler} [ {(H.hod.1x1.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X2-:  {H.hod.1x2.negScaler} [ {(H.hod.1x2.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X3-:  {H.hod.1x3.negScaler} [ {(H.hod.1x3.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X4-:  {H.hod.1x4.negScaler} [ {(H.hod.1x4.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X5-:  {H.hod.1x5.negScaler} [ {(H.hod.1x5.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X6-:  {H.hod.1x6.negScaler} [ {(H.hod.1x6.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X7-:  {H.hod.1x7.negScaler} [ {(H.hod.1x7.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X8-:  {H.hod.1x8.negScaler} [ {(H.hod.1x8.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X9-:  {H.hod.1x9.negScaler} [ {(H.hod.1x9.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X10-: {H.hod.1x10.negScaler} [ {(H.hod.1x10.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X11-: {H.hod.1x11.negScaler} [ {(H.hod.1x11.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X12-: {H.hod.1x12.negScaler} [ {(H.hod.1x12.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X13-: {H.hod.1x13.negScaler} [ {(H.hod.1x13.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X14-: {H.hod.1x14.negScaler} [ {(H.hod.1x14.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X15-: {H.hod.1x15.negScaler} [ {(H.hod.1x15.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1X16-: {H.hod.1x16.negScaler} [ {(H.hod.1x16.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+ 
+H1Y1+:  {H.hod.1y1.posScaler} [ {(H.hod.1y1.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y2+:  {H.hod.1y2.posScaler} [ {(H.hod.1y2.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y3+:  {H.hod.1y3.posScaler} [ {(H.hod.1y3.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y4+:  {H.hod.1y4.posScaler} [ {(H.hod.1y4.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y5+:  {H.hod.1y5.posScaler} [ {(H.hod.1y5.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y6+:  {H.hod.1y6.posScaler} [ {(H.hod.1y6.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y7+:  {H.hod.1y7.posScaler} [ {(H.hod.1y7.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y8+:  {H.hod.1y8.posScaler} [ {(H.hod.1y8.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y9+:  {H.hod.1y9.posScaler} [ {(H.hod.1y9.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y10+: {H.hod.1y10.posScaler} [ {(H.hod.1y10.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+H1Y1-:  {H.hod.1y1.negScaler} [ {(H.hod.1y1.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y2-:  {H.hod.1y2.negScaler} [ {(H.hod.1y2.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y3-:  {H.hod.1y3.negScaler} [ {(H.hod.1y3.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y4-:  {H.hod.1y4.negScaler} [ {(H.hod.1y4.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y5-:  {H.hod.1y5.negScaler} [ {(H.hod.1y5.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y6-:  {H.hod.1y6.negScaler} [ {(H.hod.1y6.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y7-:  {H.hod.1y7.negScaler} [ {(H.hod.1y7.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y8-:  {H.hod.1y8.negScaler} [ {(H.hod.1y8.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y9-:  {H.hod.1y9.negScaler} [ {(H.hod.1y9.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H1Y10-: {H.hod.1y10.negScaler} [ {(H.hod.1y10.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+H2X1+:  {H.hod.2x1.posScaler} [ {(H.hod.2x1.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X2+:  {H.hod.2x2.posScaler} [ {(H.hod.2x2.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X3+:  {H.hod.2x3.posScaler} [ {(H.hod.2x3.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X4+:  {H.hod.2x4.posScaler} [ {(H.hod.2x4.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X5+:  {H.hod.2x5.posScaler} [ {(H.hod.2x5.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X6+:  {H.hod.2x6.posScaler} [ {(H.hod.2x6.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X7+:  {H.hod.2x7.posScaler} [ {(H.hod.2x7.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X8+:  {H.hod.2x8.posScaler} [ {(H.hod.2x8.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X9+:  {H.hod.2x9.posScaler} [ {(H.hod.2x9.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X10+: {H.hod.2x10.posScaler} [ {(H.hod.2x10.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X11+: {H.hod.2x11.posScaler} [ {(H.hod.2x11.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X12+: {H.hod.2x12.posScaler} [ {(H.hod.2x12.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X13+: {H.hod.2x13.posScaler} [ {(H.hod.2x13.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X14+: {H.hod.2x14.posScaler} [ {(H.hod.2x14.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X15+: {H.hod.2x15.posScaler} [ {(H.hod.2x15.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X16+: {H.hod.2x16.posScaler} [ {(H.hod.2x16.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+H2X1-:  {H.hod.2x1.negScaler} [ {(H.hod.2x1.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X2-:  {H.hod.2x2.negScaler} [ {(H.hod.2x2.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X3-:  {H.hod.2x3.negScaler} [ {(H.hod.2x3.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X4-:  {H.hod.2x4.negScaler} [ {(H.hod.2x4.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X5-:  {H.hod.2x5.negScaler} [ {(H.hod.2x5.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X6-:  {H.hod.2x6.negScaler} [ {(H.hod.2x6.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X7-:  {H.hod.2x7.negScaler} [ {(H.hod.2x7.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X8-:  {H.hod.2x8.negScaler} [ {(H.hod.2x8.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X9-:  {H.hod.2x9.negScaler} [ {(H.hod.2x9.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X10-: {H.hod.2x10.negScaler} [ {(H.hod.2x10.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X11-: {H.hod.2x11.negScaler} [ {(H.hod.2x11.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X12-: {H.hod.2x12.negScaler} [ {(H.hod.2x12.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X13-: {H.hod.2x13.negScaler} [ {(H.hod.2x13.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X14-: {H.hod.2x14.negScaler} [ {(H.hod.2x14.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X15-: {H.hod.2x15.negScaler} [ {(H.hod.2x15.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2X16-: {H.hod.2x16.negScaler} [ {(H.hod.2x16.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+H2Y1+:  {H.hod.2y1.posScaler} [ {(H.hod.2y1.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y2+:  {H.hod.2y2.posScaler} [ {(H.hod.2y2.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y3+:  {H.hod.2y3.posScaler} [ {(H.hod.2y3.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] 
+H2Y4+:  {H.hod.2y4.posScaler} [ {(H.hod.2y4.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y5+:  {H.hod.2y5.posScaler} [ {(H.hod.2y5.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y6+:  {H.hod.2y6.posScaler} [ {(H.hod.2y6.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y7+:  {H.hod.2y7.posScaler} [ {(H.hod.2y7.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y8+:  {H.hod.2y8.posScaler} [ {(H.hod.2y8.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y9+:  {H.hod.2y9.posScaler} [ {(H.hod.2y9.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y10+: {H.hod.2y10.posScaler} [ {(H.hod.2y10.posScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+
+H2Y1-:  {H.hod.2y1.negScaler} [ {(H.hod.2y1.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y2-:  {H.hod.2y2.negScaler} [ {(H.hod.2y2.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y3-:  {H.hod.2y3.negScaler} [ {(H.hod.2y3.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y4-:  {H.hod.2y4.negScaler} [ {(H.hod.2y4.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y5-:  {H.hod.2y5.negScaler} [ {(H.hod.2y5.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y6-:  {H.hod.2y6.negScaler} [ {(H.hod.2y6.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y7-:  {H.hod.2y7.negScaler} [ {(H.hod.2y7.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y8-:  {H.hod.2y8.negScaler} [ {(H.hod.2y8.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y9-:  {H.hod.2y9.negScaler} [ {(H.hod.2y9.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
+H2Y10-: {H.hod.2y10.negScaler} [ {(H.hod.2y10.negScaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ]
-- 
GitLab