diff --git a/examples/hodtest_cuts.def b/examples/hodtest_cuts.def
index 255592e95c06a2345d8b91dbe5f46c8a6a3b97fd..0bfba0ad51995125b2ed19b8a53bbd250e5b6591 100644
--- a/examples/hodtest_cuts.def
+++ b/examples/hodtest_cuts.def
@@ -2,98 +2,187 @@
 #
 
 Block: RawDecode
-RawDecode_master  1
+
 Pedestal_event    g.evtyp==4
+scalar_event      g.evtyp==0
+HMS_event         g.evtyp==1
+SOS_event         g.evtyp==2
+coin_event        g.evtyp==3
+misc_event        g.evtyp>=5
+hmscoin_event     g.evtyp==1||g.evtyp==3
+soscoin_event     g.evtyp==2||g.evtyp==3
+all_event         g.evtyp==1||g.evtyp==2||g.evtyp==3
+RawDecode_master  1
 
 Block: Decode
-Decode_master     !Pedestal_event
+Decode_master     all_event
+
+Block: CoarseTracking
+CoarseTracking_master !Pedestal_event
+all_trigs             g.evtyp==1 || g.evtyp==2 || g.evtyp==3
+hms_sos_trig          g.evtyp==1 || g.evtyp==2
+hms_coin_trig         g.evtyp==1 || g.evtyp==3
+
+hms1HitsLt            H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && g.evtyp==1
+hms2HitsLt            H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1
+hmsHitsLt             H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1
+
+h1hit1                H.dc.1x1.nhit >= 1
+h1hit2                H.dc.1y1.nhit >= 1
+h1hit3                H.dc.1u1.nhit >= 1
+h1hit4                H.dc.1v1.nhit >= 1
+h1hit5                H.dc.1y2.nhit >= 1
+h1hit6                H.dc.1x2.nhit >= 1
+
+h2hit1                H.dc.2x1.nhit >= 1
+h2hit2                H.dc.2y1.nhit >= 1
+h2hit3                H.dc.2u1.nhit >= 1
+h2hit4                H.dc.2v1.nhit >= 1
+h2hit5                H.dc.2y2.nhit >= 1
+h2hit6                H.dc.2x2.nhit >= 1
+
+hmsDC1PlanesGT        (h1hit1 + h1hit2 + h1hit3 + h1hit4 + h1hit5 + h1hit6 )>=5
+hmsDC2PlanesGT        (h2hit1 + h2hit2 + h2hit3 + h2hit4 + h2hit5 + h2hit6 )>=5
+
+hmsPlanseGT           hmsDC1PlanesGT && hmsDC2PlanesGT
+hmsHitsPlanes         H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && hmsPlanseGT
+hSpacePoints          H.dc.Ch1.spacepoints >= 1 && H.dc.Ch2.spacepoints >=1
+hSpacePointsStub      H.dc.stubtest==1 && H.dc.Ch1.spacepoints >=1 && H.dc.Ch2.spacepoints >=1
+hFoundTrack           H.dc.ntrack>0 && hmscoin_event
+hStubLT               H.dc.stubtest==1
+#hms1HitsLt            H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && g.evtyp==1
+#hms2HitsLt            H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1
+#hmsDC1PlanesGT        (h1hit1 + h1hit2 + h1hit3 + h1hit4 + h1hit5 + h1hit6 )>=5
+#hmsDC2PlanesGT        (h2hit1 + h2hit2 + h2hit3 + h2hit4 + h2hit5 + h2hit6 )>=5
+#hmsPlanseGT           hmsDC1PlanesGT && hmsDC2PlanesGT
+f1HSpacePoints        hms1HitsLt && hmsDC1PlanesGT && H.dc.Ch1.spacepoints==0 && g.evtyp==1
+f2HSpacePoints        hms2HitsLt && hmsDC2PlanesGT && H.dc.Ch2.spacepoints==0 && g.evtyp==1
+hTest1                hmsHitsPlanes && (!hSpacePoints)
+hTest2                hSpacePoints && (!hStubLT)
 
-Block: CoarseProcess
-hmstotchernpe   H.cher.npesum > -1.0
+#
+# Coinccidence events
+#
+
+bh1hit1               H.dc.1x1.nhit >= 1 && g.evtyp==3
+bh1hit2               H.dc.1y1.nhit >= 1 && g.evtyp==3
+bh1hit3               H.dc.1u1.nhit >= 1 && g.evtyp==3
+bh1hit4               H.dc.1v1.nhit >= 1 && g.evtyp==3
+bh1hit5               H.dc.1y2.nhit >= 1 && g.evtyp==3
+bh1hit6               H.dc.1x2.nhit >= 1 && g.evtyp==3
+
+bh2hit1               H.dc.2x1.nhit >= 1 && g.evtyp==3
+bh2hit2               H.dc.2y1.nhit >= 1 && g.evtyp==3
+bh2hit3               H.dc.2u1.nhit >= 1 && g.evtyp==3
+bh2hit4               H.dc.2v1.nhit >= 1 && g.evtyp==3
+bh2hit5               H.dc.2y2.nhit >= 1 && g.evtyp==3
+bh2hit6               H.dc.2x2.nhit >= 1 && g.evtyp==3
+
+bhdc1gt1               bh1hit1 && bh1hit2 && bh1hit3 && bh1hit4 && bh1hit5
+bhdc1gt2               bh1hit1 && bh1hit2 && bh1hit3 && bh1hit4 && bh1hit6
+bhdc1gt3               bh1hit1 && bh1hit2 && bh1hit3 && bh1hit5 && bh1hit6
+bhdc1gt4               bh1hit1 && bh1hit2 && bh1hit4 && bh1hit5 && bh1hit6
+bhdc1gt5               bh1hit2 && bh1hit3 && bh1hit4 && bh1hit5 && bh1hit6
+
+bhdc2gt1               bh2hit1 && bh2hit2 && bh2hit3 && bh2hit4 && bh2hit5
+bhdc2gt2               bh2hit1 && bh2hit2 && bh2hit3 && bh2hit4 && bh2hit6
+bhdc2gt3               bh2hit1 && bh2hit2 && bh2hit3 && bh2hit5 && bh2hit6
+bhdc2gt4               bh2hit1 && bh2hit2 && bh2hit4 && bh2hit5 && bh2hit6
+bhdc2gt5               bh2hit2 && bh2hit3 && bh2hit4 && bh2hit5 && bh2hit6
+
+
+bhmsDC1PlanesGT       ( bhdc1gt1 || bhdc1gt2 || bhdc1gt3 || bhdc1gt4 || bhdc1gt5 ) && g.evtyp==3
+bhmsDC2PlanesGT       ( bhdc2gt1 || bhdc2gt2 || bhdc2gt3 || bhdc2gt4 || bhdc2gt5 ) && g.evtyp==3
+
+
+bhms1HitsLt               H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && g.evtyp==3
+bhms2HitsLt               H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==3
+bhmsHitsLt                bhms1HitsLt && bhms2HitsLt
+bhmsPlanesGt              bhmsDC1PlanesGT && bhmsDC2PlanesGT
+bhmsSpacePoints           hSpacePoints && g.evtyp==3
+bhmsStubLt                hStubLT && g.evtyp==3
+bhmsHitsPlanes            bhmsHitsLt && bhmsPlanesGt
+bhmsHitsPlanesSps         bhmsHitsPlanes && bhmsSpacePoints && g.evtyp==3
+bhmsHitsPlanesSpsStubs    bhmsHitsPlanesSps && bhmsStubLt &&  g.evtyp==3
+f1bhmsSpacepoints         bhms1HitsLt && bhmsDC1PlanesGT && (H.dc.Ch1.spacepoints == 0) && g.evtyp==3
+f2bhmsSpacepoints         bhms2HitsLt && bhmsDC2PlanesGT && (H.dc.Ch2.spacepoints == 0) && g.evtyp==3
+fbhmsSpacePoints          f1bhmsSpacepoints || f2bhmsSpacepoints && g.evtyp==3
+bhmsTest1                 bhmsHitsPlanes && !bhmsSpacePoints && g.evtyp==3
+bhmsTest2                 bhmsSpacePoints && !bhmsStubLt && g.evtyp==3
+bhmsFoundTrack            (H.dc.ntrack > 0) && g.evtyp==3
+bhmsGoodBeta              (H.hod.betanotrack > 0.7) &&  g.evtyp==3
 
 Block: FineProcess
-hmsscinshould      H.hod.goodscinhit == 1
-hmstotscinshould   (H.hod.goodscinhit == 1) && (H.cher.npesum > 2.0)
 
-Block: CoarseTracking
 
-hfoundtrack	H.dc.ntrack != 0
-hfound1track	H.dc.ntrack == 1
-hfound2track	H.dc.ntrack == 2
-hfound3track	H.dc.ntrack == 3
-hfound4track	H.dc.ntrack == 4
-
-goodhdc1x1	(H.dc.1x1.nhit > 0) && (H.dc.1x1.nhit < 3)
-goodhdc1y1	(H.dc.1y1.nhit > 0) && (H.dc.1y1.nhit < 3)
-goodhdc1u1	(H.dc.1u1.nhit > 0) && (H.dc.1u1.nhit < 3)
-goodhdc1v1	(H.dc.1v1.nhit > 0) && (H.dc.1v1.nhit < 3)
-goodhdc1y2	(H.dc.1y2.nhit > 0) && (H.dc.1y2.nhit < 3)
-goodhdc1x2	(H.dc.1x2.nhit > 0) && (H.dc.1x2.nhit < 3)
-
-goodhdc2x1	(H.dc.2x1.nhit > 0) && (H.dc.2x1.nhit < 3)
-goodhdc2y1	(H.dc.2y1.nhit > 0) && (H.dc.2y1.nhit < 3)
-goodhdc2u1	(H.dc.2u1.nhit > 0) && (H.dc.2u1.nhit < 3)
-goodhdc2v1	(H.dc.2v1.nhit > 0) && (H.dc.2v1.nhit < 3)
-goodhdc2y2	(H.dc.2y2.nhit > 0) && (H.dc.2y2.nhit < 3)
-goodhdc2x2	(H.dc.2x2.nhit > 0) && (H.dc.2x2.nhit < 3)
-
-goodhdc1	goodhdc1x1 && goodhdc1y1 && goodhdc1u1 && goodhdc1v1 && goodhdc1y2 && goodhdc1x2
-goodhdc2	goodhdc2x1 && goodhdc2y1 && goodhdc2u1 && goodhdc2v1 && goodhdc2y2 && goodhdc2x2
-bothgoodhdc	goodhdc1 && goodhdc2
-
-sfoundtrack	S.dc.ntrack != 0
-sfound1track	S.dc.ntrack == 1
-sfound2track	S.dc.ntrack == 2
-sfound3track	S.dc.ntrack == 3
-sfound4track	S.dc.ntrack == 4
-
-goodsdc1u1	(S.dc.1u1.nhit > 0) && (S.dc.1u1.nhit < 3)
-goodsdc1u2	(S.dc.1u2.nhit > 0) && (S.dc.1u2.nhit < 3)
-goodsdc1x1	(S.dc.1x1.nhit > 0) && (S.dc.1x1.nhit < 3)
-goodsdc1x2	(S.dc.1x2.nhit > 0) && (S.dc.1x2.nhit < 3)
-goodsdc1v1	(S.dc.1v1.nhit > 0) && (S.dc.1v1.nhit < 3)
-goodsdc1v2	(S.dc.1v2.nhit > 0) && (S.dc.1v2.nhit < 3)
-
-goodsdc2u1	(S.dc.2u1.nhit > 0) && (S.dc.2u1.nhit < 3)
-goodsdc2u2	(S.dc.2u2.nhit > 0) && (S.dc.2u2.nhit < 3)
-goodsdc2x1	(S.dc.2x1.nhit > 0) && (S.dc.2x1.nhit < 3)
-goodsdc2x2	(S.dc.2x2.nhit > 0) && (S.dc.2x2.nhit < 3)
-goodsdc2v1	(S.dc.2v1.nhit > 0) && (S.dc.2v1.nhit < 3)
-goodsdc2v2	(S.dc.2v2.nhit > 0) && (S.dc.2v2.nhit < 3)
-
-goodsdc1	goodsdc1u1 && goodsdc1u2 && goodsdc1x1 && goodsdc1x2 && goodsdc1v1 && goodsdc1v2
-goodsdc2	goodsdc2u1 && goodsdc2u2 && goodsdc2x1 && goodsdc2x2 && goodsdc2v1 && goodsdc2v2
-bothgoodsdc	goodsdc1 && goodsdc2
-
-realhdc1x1	goodhdc1x1 && (H.dc.nsp != 0)
-realhdc1y1	goodhdc1y1 && (H.dc.nsp != 0)
-realhdc1u1	goodhdc1u1 && (H.dc.nsp != 0)
-realhdc1v1	goodhdc1v1 && (H.dc.nsp != 0)
-realhdc1y2	goodhdc1y2 && (H.dc.nsp != 0)
-realhdc1x2	goodhdc1x2 && (H.dc.nsp != 0)
-realhdc2x1	goodhdc2x1 && (H.dc.nsp != 0)
-realhdc2y1	goodhdc2y1 && (H.dc.nsp != 0)
-realhdc2u1	goodhdc2u1 && (H.dc.nsp != 0)
-realhdc2v1	goodhdc2v1 && (H.dc.nsp != 0)
-realhdc2y2	goodhdc2y2 && (H.dc.nsp != 0)
-realhdc2x2	goodhdc2x2 && (H.dc.nsp != 0)
-
-#hlowchi2	(hschi2perdeg<10) && hcleantrack
-
-hlowchi2	1
-
-hdcres_1	(H.dc.residual[0] < 1000) && hlowchi2
-hdcres_2	(H.dc.residual[1] < 1000) && hlowchi2
-hdcres_3	(H.dc.residual[2] < 1000) && hlowchi2
-hdcres_4	(H.dc.residual[3] < 1000) && hlowchi2
-hdcres_5	(H.dc.residual[4] < 1000) && hlowchi2
-hdcres_6	(H.dc.residual[5] < 1000) && hlowchi2
-hdcres_7	(H.dc.residual[6] < 1000) && hlowchi2
-hdcres_8	(H.dc.residual[7] < 1000) && hlowchi2
-hdcres_9	(H.dc.residual[8] < 1000) && hlowchi2
-hdcres_10	(H.dc.residual[9] < 1000) && hlowchi2
-hdcres_11	(H.dc.residual[10] < 1000) && hlowchi2
-hdcres_12	(H.dc.residual[11] < 1000) && hlowchi2
+Block: DefineVariables
+
 
 Block: CoarseReconstruct
-CourseReconstruct 1
+RawCoarseReconstruct !Pedestal_event
+
+Block: Physics
+HMSScinGood           H.hod.goodscinhit == 1
+
+HMSScinShould         HMSScinGood && H.cal.etotnorm > 0.7 && H.cher.npesum > 2.0
+HMSScinShoulde        HMSScinGood && H.cher.npesum > 2.0
+HMSScinShouldh        H.hod.goodscinhit == 1 && g.evtyp == 1
+
+HMSScinDid            HMSScinShould && H.dc.ntrack > 0
+HMSScinDide           HMSScinShoulde && H.dc.ntrack > 0
+HMSScinDidh           HMSScinShouldh && H.dc.ntrack > 0
+
+BHMSScinShould        HMSScinShould && H.hod.betanotrack >= 0.1 && g.evtyp==3
+BHMSScinShoulde       BHMSScinShould && H.cher.npesum > 0.2 && ( H.gold.beta > ( H.hod.betap - 0.5 ) ) && ( H.gold.beta < ( H.hod.betap + 0.5 ) )
+BHMSScinShouldh       BHMSScinShould && H.cher.npesum > 0.2 
+
+BHMSScinDid           BHMSScinShould && H.dc.ntrack > 0
+BHMSScinDide          BHMSScinShoulde && H.dc.ntrack > 0
+BHMSScinDidh          BHMSScinShouldh && H.dc.ntrack > 0
+
+hmsCham1Hits          (h1hit1 + h1hit2 + h1hit3 + h1hit4 + h1hit5 + h1hit6 )>0
+hmsCham2Hits          (h2hit1 + h2hit2 + h2hit3 + h2hit4 + h2hit5 + h2hit6 )>0
+
+goodHDC1x1            H.dc.1x1.nhit > 0 && H.dc.1x1.nhit < 3
+goodHDC1y1            H.dc.1y1.nhit > 0 && H.dc.1y1.nhit < 3
+goodHDC1u1            H.dc.1u1.nhit > 0 && H.dc.1u1.nhit < 3
+goodHDC1v1            H.dc.1v1.nhit > 0 && H.dc.1v1.nhit < 3
+goodHDC1y2            H.dc.1y2.nhit > 0 && H.dc.1y2.nhit < 3
+goodHDC1x2            H.dc.1x2.nhit > 0 && H.dc.1x2.nhit < 3
+
+goodHDC2x1            H.dc.2x1.nhit > 0 && H.dc.2x1.nhit < 3
+goodHDC2y1            H.dc.2y1.nhit > 0 && H.dc.2y1.nhit < 3
+goodHDC2u1            H.dc.2u1.nhit > 0 && H.dc.2u1.nhit < 3
+goodHDC2v1            H.dc.2v1.nhit > 0 && H.dc.2v1.nhit < 3
+goodHDC2y2            H.dc.2y2.nhit > 0 && H.dc.2y2.nhit < 3
+goodHDC2x2            H.dc.2x2.nhit > 0 && H.dc.2x2.nhit < 3
+
+goodHDC1              goodHDC1x1  && goodHDC1y1 && goodHDC1u1 && goodHDC1v1 && goodHDC1y2 && goodHDC1x2 
+goodHDC2              goodHDC2x1  && goodHDC2y1 && goodHDC2u1 && goodHDC2v1 && goodHDC2y2 && goodHDC2x2 
+bothGood              goodHDC1 && goodHDC2
+
+hFound1Track          H.dc.ntrack == 1
+hFound2Track          H.dc.ntrack == 2
+hFound3Track          H.dc.ntrack == 3
+hFound4Track          H.dc.ntrack == 4
+
+hCleanTrack           H.gold.index > -1
+1hCleanTrack          H.gold.index == 0
+2hCleanTrack          H.gold.index == 1
+3hCleanTrack          H.gold.index == 2
+4hCleanTrack          H.gold.index == 4
+
+anyhs1x               H.hod.1x.nhits > 0
+anyhs1y               H.hod.1y.nhits > 0
+anyhs2x               H.hod.2x.nhits > 0
+anyhs2y               H.hod.2y.nhits > 0
+
+goodhs1x              H.hod.1x.nhits > 0 && H.hod.1x.nhits < 3
+goodhs1y              H.hod.1y.nhits > 0 && H.hod.1y.nhits < 3
+goodhs1               goodhs1x && goodhs1y
+goodhs2x              H.hod.2x.nhits > 0 && H.hod.2x.nhits < 3
+goodhs2y              H.hod.2y.nhits > 0 && H.hod.2y.nhits < 3
+goodhs2               goodhs2x && goodhs2y
+goodhs1s2             goodhs1 && goodhs2
+
+HstatNumevents        H.tr.chi2/H.tr.ndof < 10
\ No newline at end of file
diff --git a/examples/output.def b/examples/output.def
index e84d9f751fa7af848767b182f0d413246244ef95..83e5542771c6bfd53c0f317228d903b21c50745b 100644
--- a/examples/output.def
+++ b/examples/output.def
@@ -236,3 +236,161 @@ TH1F sdc2x1_dd 'SDC 2X1 Drift Distance' S.dc.2x1.dist 300 -0.1 0.6
 TH1F sdc2x2_dd 'SDC 2X2 Drift Distance' S.dc.2x2.dist 300 -0.1 0.6
 TH1F sdc2v1_dd 'SDC 2V1 Drift Distance' S.dc.2v1.dist 300 -0.1 0.6
 TH1F sdc2v2_dd 'SDC 2V2 Drift Distance' S.dc.2v2.dist 300 -0.1 0.6
+
+# Scaler variables
+variable HSS1 
+variable HSS1r
+variable HShPRE50
+variable HShPRE50r
+variable HSS2X
+variable HSS2Xr
+variable HShPRE150
+variable HShPRE150r
+variable HSS1X
+variable HSS1Xr
+variable HSS2Y
+variable HSS2Yr
+variable HShPRE100
+variable HShPRE100r
+variable HSS1Y
+variable HSS1Yr
+variable HSS2
+variable HSS2r
+variable HShCERHI
+variable HShCERHIr
+variable HShSTOF
+variable HShSTOFr
+variable HShSCIN
+variable HShSCINr
+variable HShELREAL
+variable HShELREALr
+variable HShPIPRE
+variable HShPIPREr
+variable HShELCLEAN
+variable HShELCLEANr
+variable HShPRETRG
+variable HShPRETRGr
+variable HShPION
+variable HShPIONr
+variable HShCER
+variable HShCERr
+variable HShPIONHI
+variable HShPIONHIr
+variable HShPRE200
+variable HShPRE200r
+variable HShUNSER
+variable HShUNSERr
+variable HShBCM1
+variable HShBCM1r
+variable HShBCM2
+variable HShBCM2r
+variable HShELHI
+variable HShELHIr
+variable HShELLO
+variable HShELLOr
+variable HShPRHI
+variable HShPRHIr
+variable HShPRLO
+variable HShPRLOr
+variable HShSHLO
+variable HShSHLOr
+variable HShCLOCK
+variable HShCLOCKr
+variable HShBEAMGATES
+variable HShBEAMGATESr
+variable HShADCGATES
+variable HShADCGATESr
+variable HShS1X
+variable HShS1Xr
+variable HShS1Y
+variable HShS1Yr
+variable HShS2X
+variable HShS2Xr
+variable HShS2Y
+variable HShS2Yr
+variable HShS1
+variable HShS1r
+variable HShS2
+variable HShS2r
+variable HSHMSPRE
+variable HSHMSPREr
+variable HSCOINPRE
+variable HSCOINPREr
+variable HSPEDPRE
+variable HSPEDPREr
+variable HSHMSTRG
+variable HSHMSTRGr
+variable HSCOINTRG
+variable HSCOINTRGr
+variable HSPEDTRG
+variable HSPEDTRGr
+variable HSsPRE50
+variable HSsPRE50r
+variable HSsPRE150
+variable HSsPRE150r
+variable HSsPRE100
+variable HSsPRE100r
+variable HSsPRE200
+variable HSsPRE200r
+variable HSsSTOF
+variable HSsSTOFr
+variable HSsSCIN
+variable HSsSCINr
+variable HSsELREAL
+variable HSsELREALr
+variable HSsPIPRE
+variable HSsPIPREr
+variable HSsELCLEAN
+variable HSsELCLEANr
+variable HSsPRETRG
+variable HSsPRETRGr
+variable HSsBCM1
+variable HSsBCM1r
+variable HSsBCM2
+variable HSsBCM2r
+variable HSsCLOCK
+variable HSsCLOCKr
+variable HSsPION
+variable HSsPIONr
+variable HSsCER
+variable HSsCERr
+variable HSsELHI
+variable HSsELHIr
+variable HSsELLO
+variable HSsELLOr
+variable HSsPRHI
+variable HSsPRHIr
+variable HSsPRLO
+variable HSsPRLOr
+variable HSsSHLO
+variable HSsSHLOr
+variable HSsADCGATES
+variable HSsADCGATESr
+variable HSsS1X
+variable HSsS1Xr
+variable HSsS1Y
+variable HSsS1Yr
+variable HSsS2X
+variable HSsS2Xr
+variable HSsS2Y
+variable HSsS2Yr
+variable HSsS1
+variable HSsS1r
+variable HSsS2
+variable HSsS2r
+variable HSSOSPRE
+variable HSSOSPREr
+variable HSSOSTRG
+variable HSSOSTRGr
+variable HShUNUSED4
+variable HShUNUSED4r
+variable HShUNUSED5
+variable HShUNUSED5r
+variable HSSHODO9
+variable HSSHODO9r
+variable HSSHODO11
+variable HSSHODO11r
+variable HSSHODO13
+variable HSSHODO13r
+variable HSSHODO15
+variable HSSHODO15r
diff --git a/examples/report.template b/examples/report.template
index 08d05e27eacd2bd60ff72a42d99286f258aa00af..e01009fe4e59cb8bf29cf3475aa03e1bcdf89378 100644
--- a/examples/report.template
+++ b/examples/report.template
@@ -18,30 +18,350 @@ and cut statistics.  (Number of times called and number of times passed.)
 
 For example, {100*Pedestal_event.npassed/Pedestal_event.ncalled:%.2f}% is the 
 percentage of events that were pedestal events.
+Number of pedestal events:  {Pedestal_event.npassed}  {Pedestal_event.ncalled}
+Number of HMS events:  {HMS_event.npassed}  {HMS_event.ncalled}
+Number of scalar   events:  {scalar_event.npassed}  {scalar_event.ncalled}
+Number of hfoundtrack  events:  {hFoundTrack.npassed}  
+ hFoundTrack/Number of HMS events: {hFoundTrack.npassed/HMS_event.npassed:%.5f}
 
-------------------------
-HMS Cherenkov
-------------------------
-HMS cherenkov total photo electrons: {hmstotchernpe.npassed:%.2f}
 
+*****************************
+* HMS TRACKING EFFICIENCIES *
+*****************************
+htrig                          :   {hmscoin_event.npassed}
+hhitslt = passed hits/cham     :   {hmsHitsLt.npassed}
+hhitsplanes = +planes >= 5/6   :   {hmsHitsPlanes.npassed}
+hhitsplanessps = + sps         :   {hSpacePoints.npassed}
+hhitsplanesspsstubs +stub      :   {hSpacePointsStub.npassed}
+hsfoundtrack                   :   {hFoundTrack.npassed}
+hstublt = passed stub tests    :   {hStubLT.npassed}
+h1hitslt                       :   {hms1HitsLt.npassed}
+h2hitslt                       :   {hms2HitsLt.npassed}
+h1planesgt                     :   {hmsDC1PlanesGT.npassed}
+h2planesgt                     :   {hmsDC2PlanesGT.npassed}
+hplanesgt = gt 5 planes/cham   :   {hmsPlanseGT.npassed}
+f1hspacepoints                 :   {f1HSpacePoints.npassed}
+f2hspacepoints                 :   {f2HSpacePoints.npassed}
+htest1=p hits/planes, f sp     :   {hTest1.npassed}
+htest2=p sp, f stubs           :   {hTest2.npassed}
+hdid                           :   {HMSScinDid.npassed}
+hdide                          :   {HMSScinDide.npassed}
+hdidh                          :   {HMSScinDidh.npassed}
+hscinshould                    :   {HMSScinShould.npassed}
+hscinshoulde                   :   {HMSScinShoulde.npassed}
+hscinshouldh                   :   {HMSScinShouldh.npassed}
+SING FID TRACK EFFIC           : {HMSScinDid.npassed/(HMSScinShould.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShould.npassed-HMSScinDid.npassed)/(HMSScinShould.npassed+.0001)):%8.4f}
+E SING FID TRACK EFFIC         : {HMSScinDide.npassed/(HMSScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShoulde.npassed-HMSScinDide.npassed)/(HMSScinShoulde.npassed+.0001)):%8.4f}
+HADRON SING FID TRACK EFFIC    : {HMSScinDidh.npassed/(HMSScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShouldh.npassed-HMSScinDidh.npassed)/(HMSScinShouldh.npassed+.0001)):%8.4f}
 
-------------------------
-HMS Hodoscope
-------------------------
-Scin should fired counters: {hmsscinshould.npassed:%7d}
-Scin total should fired counter: {hmstotscinshould.npassed:%7d}
+* hms coincidences...
+ctrig                          :   {coin_event.npassed}
+bhhitslt = passed hits/cham    :   {bhmsHitsLt.npassed}
+bhhitsplanes = +planes >= 5/6  :   {bhmsHitsPlanes.npassed}
+bhhitsplanessps = + sps        :   {bhmsHitsPlanesSps.npassed}
+bhhitsplanesspsstubs +stub     :   {bhmsHitsPlanesSpsStubs.npassed}
+found track and ctrig          :   {bhmsFoundTrack.npassed}
+bhstublt = passed stub tests   :   {bhmsStubLt.npassed}
+bh1hitslt                      :   {bhms1HitsLt.npassed}
+bh2hitslt                      :   {bhms2HitsLt.npassed}
+bh1planesgt                    :   {bhmsDC1PlanesGT.npassed}
+bh2planesgt                    :   {bhmsDC2PlanesGT.npassed}
+bhplanesgt = gt 5 planes/cham  :   {bhmsPlanesGt.npassed}
+f1bhspacepoints                :   {f1bhmsSpacepoints.npassed}
+f2bhspacepoints                :   {f2bhmsSpacepoints.npassed}
+bhtest1=p hits/planes, f sp    :   {bhmsTest1.npassed}
+bhtest2=p sp, f stubs          :   {bhmsTest2.npassed}
+bhdid                          :   {BHMSScinDid.npassed}
+bhdide                         :   {BHMSScinDide.npassed}
+bhdidh                         :   {BHMSScinDidh.npassed}
+bhscinshould                   :   {BHMSScinShould.npassed}
+bhscinshoulde                  :   {BHMSScinShoulde.npassed}
+bhscinshouldh                  :   {BHMSScinShouldh.npassed}
+COIN FID TRACK EFFIC           : {BHMSScinDid.npassed/(BHMSScinShould.npassed+0.0001):%8.4f} +- {(sqrt(BHMSScinShould.npassed-BHMSScinDid.npassed)/(BHMSScinShould.npassed+.0001)):%8.4f}
+E COIN FID TRACK EFFIC         : {BHMSScinDide.npassed/(BHMSScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(BHMSScinShoulde.npassed-BHMSScinDide.npassed)/(BHMSScinShoulde.npassed+.0001)):%8.4f}
+HADRON COIN FID TRACK EFFIC    : {BHMSScinDidh.npassed/(BHMSScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(BHMSScinShouldh.npassed-BHMSScinDidh.npassed)/(BHMSScinShouldh.npassed+.0001)):%8.4f}
+********************************************************************
+
+
+*****************************
+* RAW SOFTWARE EFFICIENCIES *
+*****************************
+"raw"  means one or more hits per dc plane.
+"Good" means one or two  hits per dc plane.
+
+rawhdc1x1   =    {h1hit1.npassed}   eff = {(h1hit1.npassed/hmsCham1Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc1y1   =    {h1hit2.npassed}   eff = {(h1hit2.npassed/hmsCham1Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc1u1   =    {h1hit3.npassed}   eff = {(h1hit3.npassed/hmsCham1Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc1v1   =    {h1hit4.npassed}   eff = {(h1hit4.npassed/hmsCham1Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc1y2   =    {h1hit5.npassed}   eff = {(h1hit5.npassed/hmsCham1Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc1x2   =    {h1hit6.npassed}   eff = {(h1hit6.npassed/hmsCham1Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc1     =    {hmsCham1Hits.npassed}   eff = {(hdc_cham_hits[0]/hmsCham1Hits.npassed):%5.3f}  BAD = 0.99
+rawhdc2x1   =    {h2hit1.npassed}   eff = {(h2hit1.npassed/hmsCham2Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc2y1   =    {h2hit2.npassed}   eff = {(h2hit2.npassed/hmsCham2Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc2y1   =    {h2hit3.npassed}   eff = {(h2hit3.npassed/hmsCham2Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc2v1   =    {h2hit4.npassed}   eff = {(h2hit4.npassed/hmsCham2Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc2y2   =    {h2hit5.npassed}   eff = {(h2hit5.npassed/hmsCham2Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc2x2   =    {h2hit6.npassed}   eff = {(h2hit6.npassed/hmsCham2Hits.npassed):%5.3f}  BAD = 0.95
+rawhdc2     =    {hmsCham2Hits.npassed}   eff = {(hdc_cham_hits[1]/hmsCham2Hits.npassed):%5.3f}  BAD = 0.99
+
+goodhdc1x1  =   {goodHDC1x1.npassed}   eff = {(goodHDC1x1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc1y1  =   {goodHDC1y1.npassed}   eff = {(goodHDC1y1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc1u1  =   {goodHDC1u1.npassed}   eff = {(goodHDC1u1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc1v1  =   {goodHDC1v1.npassed}   eff = {(goodHDC1v1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc1y2  =   {goodHDC1y2.npassed}   eff = {(goodHDC1y2.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc1x2  =   {goodHDC1x2.npassed}   eff = {(goodHDC1x2.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc1    =   {goodHDC1.npassed}   eff = {(goodHDC1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.90
+goodhdc2x1  =   {goodHDC2x1.npassed}   eff = {(goodHDC2x1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc2x1  =   {goodHDC2y1.npassed}   eff = {(goodHDC2y1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc2x1  =   {goodHDC2u1.npassed}   eff = {(goodHDC2u1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc2x1  =   {goodHDC2v1.npassed}   eff = {(goodHDC2v1.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc2x1  =   {goodHDC2y2.npassed}   eff = {(goodHDC2y2.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc2x1  =   {goodHDC2x2.npassed}   eff = {(goodHDC2x2.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.95
+goodhdc2    =   {goodHDC2.npassed}   eff = {(goodHDC2.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.90
+bothgoodhdc =   {bothGood.npassed}   eff = {(bothGood.npassed/(hmscoin_event.npassed+0.0001)):%5.3f}  BAD = 0.80
+
+"hfoundtrack" based on analyzer variable HNTRACKS_FP.
+"hcleantrack" based on analyzer variable HSNUM_FPTRACK (=foundtrack+chi2+PID).
+
+hfoundtrack  = {hFoundTrack.npassed:%7d}   eff = {hFoundTrack.npassed/(hmscoin_event.npassed+0.0001):%5.3f}  BAD = .95
+hfound1track = {hFound1Track.npassed:%7d}   eff = {hFound1Track.npassed/(hmscoin_event.npassed+.0001):%5.3f}
+hfound2track = {hFound2Track.npassed:%7d}   eff = {hFound2Track.npassed/(hmscoin_event.npassed+.0001):%5.3f}
+hfound3track = {hFound3Track.npassed:%7d}   eff = {hFound3Track.npassed/(hmscoin_event.npassed+.0001):%5.3f}
+hfound4track = {hFound4Track.npassed:%7d}   eff = {hFound4Track.npassed/(hmscoin_event.npassed+.0001):%5.3f}
+
+hcleantrack  = {hCleanTrack.npassed:%7d}   eff = {hCleanTrack.npassed/(hmscoin_event.npassed+0.0001):%5.3f}  BAD = .95
+1hcleantrack = {1hCleanTrack.npassed:%7d}   eff = {1hCleanTrack.npassed/(hmscoin_event.npassed+0.0001):%5.3f}
+2hcleantrack = {2hCleanTrack.npassed:%7d}   eff = {2hCleanTrack.npassed/(hmscoin_event.npassed+0.0001):%5.3f}
+3hcleantrack = {3hCleanTrack.npassed:%7d}   eff = {3hCleanTrack.npassed/(hmscoin_event.npassed+0.0001):%5.3f}
+4hcleantrack = {4hCleanTrack.npassed:%7d}   eff = {4hCleanTrack.npassed/(hmscoin_event.npassed+0.0001):%5.3f}
+
+"Any"  means one or more hits per scint plane.
+"Good" means one or two  hits per scint plane.
+
+anyhs1x     = {anyhs1x.npassed:%7d}   eff = {anyhs1x.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+anyhs1y     = {anyhs1y.npassed:%7d}   eff = {anyhs1y.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+anyhs2x     = {anyhs2x.npassed:%7d}   eff = {anyhs2x.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+anyhs2y     = {anyhs2y.npassed:%7d}   eff = {anyhs2y.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+
+goodhs1x    = {goodhs1x.npassed:%7d}   eff = {goodhs1x.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .98
+goodhs1y    = {goodhs1y.npassed:%7d}   eff = {goodhs1y.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .98
+goodhs1     = {goodhs1.npassed:%7d}   eff = {goodhs1.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .96
+goodhs2x    = {goodhs2x.npassed:%7d}   eff = {goodhs2x.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .98
+goodhs2y    = {goodhs2y.npassed:%7d}   eff = {goodhs2y.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .98
+goodhs2     = {goodhs2.npassed:%7d}   eff = {goodhs2.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .96
+goodhs1s2   = {goodhs1s2.npassed:%7d}   eff = {goodhs1s2.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .95
+
+
+********************
+* HARDWARE SCALERS *
+********************
+General Format:
+signal   =   counts (  rate-Hz )
+
+
+**********
+*SUMMARY *
+**********
+Time of run        = {HShCLOCK/1.0e6:%8.2f} sec.
+
+hdc1 6/6 eff = {(hdc_cham_hits[0]/hmsCham1Hits.npassed):%5.3f}  BAD = 0.99
+hdc2 6/6 eff = {(hdc_cham_hits[1]/hmsCham1Hits.npassed):%5.3f}  BAD = 0.99
+anyhs1x  eff = {anyhs1x.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+anyhs1y  eff = {anyhs1y.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+anyhs2x  eff = {anyhs2x.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+anyhs2y  eff = {anyhs2y.npassed/(hmscoin_event.npassed+.0001):%5.3f}  BAD = .99
+
+
+         I_avg           Q_tot             Q_tot
+      (microAmps)   (microCoulombs)   (microAmp-hours)
+BCM1 
+BCM2 
+BCM3 
+
+hpretriggers  = 
+htriggers     = 
+hadcgates     = 
+Computer D.T. = 
+Elec. D.T.    = 
+
+**************************
+* Hodoscope Efficiencies *
+**************************
+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 = htrig       = {hmscoin_event.npassed:%7d}
+Tracks found    = hcleantrack = {hCleanTrack.npassed:%7d}
+Tracks passing chisquared cut = {HstatNumevents.npassed:%7d}
+
+Scint  POS eff NEG eff  OR eff AND eff   Hits
+-----  ------- ------- ------- -------   ----
+hS1X1:  {(hhodo_pos_eff[0]/hhodo_gold_hits[0]):%6.3f}  {(hhodo_neg_eff[0]/hhodo_gold_hits[0]):%6.3f}  {(hhodo_or_eff[0]/hhodo_gold_hits[0]):%6.3f}  {(hhodo_and_eff[0]/hhodo_gold_hits[0]):%6.3f} {hhodo_gold_hits[0]:%6d}
+hS1X2:  {(hhodo_pos_eff[4]/hhodo_gold_hits[4]):%6.3f}  {(hhodo_neg_eff[4]/hhodo_gold_hits[4]):%6.3f}  {(hhodo_or_eff[4]/hhodo_gold_hits[4]):%6.3f}  {(hhodo_and_eff[4]/hhodo_gold_hits[4]):%6.3f} {hhodo_gold_hits[4]:%6d}
+hS1X3:  {(hhodo_pos_eff[8]/hhodo_gold_hits[8]):%6.3f}  {(hhodo_neg_eff[8]/hhodo_gold_hits[8]):%6.3f}  {(hhodo_or_eff[8]/hhodo_gold_hits[8]):%6.3f}  {(hhodo_and_eff[8]/hhodo_gold_hits[8]):%6.3f} {hhodo_gold_hits[8]:%6d}
+hS1X4:  {(hhodo_pos_eff[12]/hhodo_gold_hits[12]):%6.3f}  {(hhodo_neg_eff[12]/hhodo_gold_hits[12]):%6.3f}  {(hhodo_or_eff[12]/hhodo_gold_hits[12]):%6.3f}  {(hhodo_and_eff[12]/hhodo_gold_hits[12]):%6.3f} {hhodo_gold_hits[12]:%6d}
+hS1X5:  {(hhodo_pos_eff[16]/hhodo_gold_hits[16]):%6.3f}  {(hhodo_neg_eff[16]/hhodo_gold_hits[16]):%6.3f}  {(hhodo_or_eff[16]/hhodo_gold_hits[16]):%6.3f}  {(hhodo_and_eff[16]/hhodo_gold_hits[16]):%6.3f} {hhodo_gold_hits[16]:%6d}
+hS1X6:  {(hhodo_pos_eff[20]/hhodo_gold_hits[20]):%6.3f}  {(hhodo_neg_eff[20]/hhodo_gold_hits[20]):%6.3f}  {(hhodo_or_eff[20]/hhodo_gold_hits[20]):%6.3f}  {(hhodo_and_eff[20]/hhodo_gold_hits[20]):%6.3f} {hhodo_gold_hits[20]:%6d}
+hS1X7:  {(hhodo_pos_eff[24]/hhodo_gold_hits[24]):%6.3f}  {(hhodo_neg_eff[24]/hhodo_gold_hits[24]):%6.3f}  {(hhodo_or_eff[24]/hhodo_gold_hits[24]):%6.3f}  {(hhodo_and_eff[24]/hhodo_gold_hits[24]):%6.3f} {hhodo_gold_hits[24]:%6d}
+hS1X8:  {(hhodo_pos_eff[28]/hhodo_gold_hits[28]):%6.3f}  {(hhodo_neg_eff[28]/hhodo_gold_hits[28]):%6.3f}  {(hhodo_or_eff[28]/hhodo_gold_hits[28]):%6.3f}  {(hhodo_and_eff[28]/hhodo_gold_hits[28]):%6.3f} {hhodo_gold_hits[28]:%6d}
+hS1X9:  {(hhodo_pos_eff[32]/hhodo_gold_hits[32]):%6.3f}  {(hhodo_neg_eff[32]/hhodo_gold_hits[32]):%6.3f}  {(hhodo_or_eff[32]/hhodo_gold_hits[32]):%6.3f}  {(hhodo_and_eff[32]/hhodo_gold_hits[32]):%6.3f} {hhodo_gold_hits[32]:%6d}
+hS1X10: {(hhodo_pos_eff[36]/hhodo_gold_hits[36]):%6.3f}  {(hhodo_neg_eff[36]/hhodo_gold_hits[36]):%6.3f}  {(hhodo_or_eff[36]/hhodo_gold_hits[36]):%6.3f}  {(hhodo_and_eff[36]/hhodo_gold_hits[36]):%6.3f} {hhodo_gold_hits[36]:%6d}
+hS1X11: {(hhodo_pos_eff[40]/hhodo_gold_hits[40]):%6.3f}  {(hhodo_neg_eff[40]/hhodo_gold_hits[40]):%6.3f}  {(hhodo_or_eff[40]/hhodo_gold_hits[40]):%6.3f}  {(hhodo_and_eff[40]/hhodo_gold_hits[40]):%6.3f} {hhodo_gold_hits[40]:%6d}
+hS1X12: {(hhodo_pos_eff[44]/hhodo_gold_hits[44]):%6.3f}  {(hhodo_neg_eff[44]/hhodo_gold_hits[44]):%6.3f}  {(hhodo_or_eff[44]/hhodo_gold_hits[44]):%6.3f}  {(hhodo_and_eff[44]/hhodo_gold_hits[44]):%6.3f} {hhodo_gold_hits[44]:%6d}
+hS1X13: {(hhodo_pos_eff[48]/hhodo_gold_hits[48]):%6.3f}  {(hhodo_neg_eff[48]/hhodo_gold_hits[48]):%6.3f}  {(hhodo_or_eff[48]/hhodo_gold_hits[48]):%6.3f}  {(hhodo_and_eff[48]/hhodo_gold_hits[48]):%6.3f} {hhodo_gold_hits[48]:%6d}
+hS1X14: {(hhodo_pos_eff[52]/hhodo_gold_hits[52]):%6.3f}  {(hhodo_neg_eff[52]/hhodo_gold_hits[52]):%6.3f}  {(hhodo_or_eff[52]/hhodo_gold_hits[52]):%6.3f}  {(hhodo_and_eff[52]/hhodo_gold_hits[52]):%6.3f} {hhodo_gold_hits[52]:%6d}
+hS1X15: {(hhodo_pos_eff[56]/hhodo_gold_hits[56]):%6.3f}  {(hhodo_neg_eff[56]/hhodo_gold_hits[56]):%6.3f}  {(hhodo_or_eff[56]/hhodo_gold_hits[56]):%6.3f}  {(hhodo_and_eff[56]/hhodo_gold_hits[56]):%6.3f} {hhodo_gold_hits[56]:%6d}
+hS1X16: {(hhodo_pos_eff[60]/hhodo_gold_hits[60]):%6.3f}  {(hhodo_neg_eff[60]/hhodo_gold_hits[60]):%6.3f}  {(hhodo_or_eff[60]/hhodo_gold_hits[60]):%6.3f}  {(hhodo_and_eff[60]/hhodo_gold_hits[60]):%6.3f} {hhodo_gold_hits[60]:%6d}
+
+hS1Y1:  {(hhodo_pos_eff[1]/hhodo_gold_hits[1]):%6.3f}  {(hhodo_neg_eff[1]/hhodo_gold_hits[1]):%6.3f}  {(hhodo_or_eff[1]/hhodo_gold_hits[1]):%6.3f}  {(hhodo_and_eff[1]/hhodo_gold_hits[1]):%6.3f} {hhodo_gold_hits[1]:%6d}
+hS1Y2:  {(hhodo_pos_eff[5]/hhodo_gold_hits[5]):%6.3f}  {(hhodo_neg_eff[5]/hhodo_gold_hits[5]):%6.3f}  {(hhodo_or_eff[5]/hhodo_gold_hits[5]):%6.3f}  {(hhodo_and_eff[5]/hhodo_gold_hits[5]):%6.3f} {hhodo_gold_hits[5]:%6d}
+hS1Y3:  {(hhodo_pos_eff[9]/hhodo_gold_hits[9]):%6.3f}  {(hhodo_neg_eff[9]/hhodo_gold_hits[9]):%6.3f}  {(hhodo_or_eff[9]/hhodo_gold_hits[9]):%6.3f}  {(hhodo_and_eff[9]/hhodo_gold_hits[9]):%6.3f} {hhodo_gold_hits[9]:%6d}
+hS1Y4:  {(hhodo_pos_eff[13]/hhodo_gold_hits[13]):%6.3f}  {(hhodo_neg_eff[13]/hhodo_gold_hits[13]):%6.3f}  {(hhodo_or_eff[13]/hhodo_gold_hits[13]):%6.3f}  {(hhodo_and_eff[13]/hhodo_gold_hits[13]):%6.3f} {hhodo_gold_hits[13]:%6d}
+hS1Y5:  {(hhodo_pos_eff[17]/hhodo_gold_hits[17]):%6.3f}  {(hhodo_neg_eff[17]/hhodo_gold_hits[17]):%6.3f}  {(hhodo_or_eff[17]/hhodo_gold_hits[17]):%6.3f}  {(hhodo_and_eff[17]/hhodo_gold_hits[17]):%6.3f} {hhodo_gold_hits[17]:%6d}
+hS1Y6:  {(hhodo_pos_eff[21]/hhodo_gold_hits[21]):%6.3f}  {(hhodo_neg_eff[21]/hhodo_gold_hits[21]):%6.3f}  {(hhodo_or_eff[21]/hhodo_gold_hits[21]):%6.3f}  {(hhodo_and_eff[21]/hhodo_gold_hits[21]):%6.3f} {hhodo_gold_hits[21]:%6d}
+hS1Y7:  {(hhodo_pos_eff[25]/hhodo_gold_hits[25]):%6.3f}  {(hhodo_neg_eff[25]/hhodo_gold_hits[25]):%6.3f}  {(hhodo_or_eff[25]/hhodo_gold_hits[25]):%6.3f}  {(hhodo_and_eff[25]/hhodo_gold_hits[25]):%6.3f} {hhodo_gold_hits[25]:%6d}
+hS1Y8:  {(hhodo_pos_eff[29]/hhodo_gold_hits[29]):%6.3f}  {(hhodo_neg_eff[29]/hhodo_gold_hits[29]):%6.3f}  {(hhodo_or_eff[29]/hhodo_gold_hits[29]):%6.3f}  {(hhodo_and_eff[29]/hhodo_gold_hits[29]):%6.3f} {hhodo_gold_hits[29]:%6d}
+hS1Y9:  {(hhodo_pos_eff[33]/hhodo_gold_hits[33]):%6.3f}  {(hhodo_neg_eff[33]/hhodo_gold_hits[33]):%6.3f}  {(hhodo_or_eff[33]/hhodo_gold_hits[33]):%6.3f}  {(hhodo_and_eff[33]/hhodo_gold_hits[33]):%6.3f} {hhodo_gold_hits[33]:%6d}
+hS1Y10: {(hhodo_pos_eff[37]/hhodo_gold_hits[37]):%6.3f}  {(hhodo_neg_eff[37]/hhodo_gold_hits[37]):%6.3f}  {(hhodo_or_eff[37]/hhodo_gold_hits[37]):%6.3f}  {(hhodo_and_eff[37]/hhodo_gold_hits[37]):%6.3f} {hhodo_gold_hits[37]:%6d}
+
+hS2X1:  {(hhodo_pos_eff[2]/hhodo_gold_hits[2]):%6.3f}  {(hhodo_neg_eff[2]/hhodo_gold_hits[2]):%6.3f}  {(hhodo_or_eff[2]/hhodo_gold_hits[2]):%6.3f}  {(hhodo_and_eff[2]/hhodo_gold_hits[2]):%6.3f} {hhodo_gold_hits[2]:%6d}
+hS2X2:  {(hhodo_pos_eff[6]/hhodo_gold_hits[6]):%6.3f}  {(hhodo_neg_eff[6]/hhodo_gold_hits[6]):%6.3f}  {(hhodo_or_eff[6]/hhodo_gold_hits[6]):%6.3f}  {(hhodo_and_eff[6]/hhodo_gold_hits[6]):%6.3f} {hhodo_gold_hits[6]:%6d}
+hS2X3:  {(hhodo_pos_eff[10]/hhodo_gold_hits[10]):%6.3f}  {(hhodo_neg_eff[10]/hhodo_gold_hits[10]):%6.3f}  {(hhodo_or_eff[10]/hhodo_gold_hits[10]):%6.3f}  {(hhodo_and_eff[10]/hhodo_gold_hits[10]):%6.3f} {hhodo_gold_hits[10]:%6d}
+hS2X4:  {(hhodo_pos_eff[14]/hhodo_gold_hits[14]):%6.3f}  {(hhodo_neg_eff[14]/hhodo_gold_hits[14]):%6.3f}  {(hhodo_or_eff[14]/hhodo_gold_hits[14]):%6.3f}  {(hhodo_and_eff[14]/hhodo_gold_hits[14]):%6.3f} {hhodo_gold_hits[14]:%6d}
+hS2X5:  {(hhodo_pos_eff[18]/hhodo_gold_hits[18]):%6.3f}  {(hhodo_neg_eff[18]/hhodo_gold_hits[18]):%6.3f}  {(hhodo_or_eff[18]/hhodo_gold_hits[18]):%6.3f}  {(hhodo_and_eff[18]/hhodo_gold_hits[18]):%6.3f} {hhodo_gold_hits[18]:%6d}
+hS2X6:  {(hhodo_pos_eff[22]/hhodo_gold_hits[22]):%6.3f}  {(hhodo_neg_eff[22]/hhodo_gold_hits[22]):%6.3f}  {(hhodo_or_eff[22]/hhodo_gold_hits[22]):%6.3f}  {(hhodo_and_eff[22]/hhodo_gold_hits[22]):%6.3f} {hhodo_gold_hits[22]:%6d}
+hS2X7:  {(hhodo_pos_eff[26]/hhodo_gold_hits[26]):%6.3f}  {(hhodo_neg_eff[26]/hhodo_gold_hits[26]):%6.3f}  {(hhodo_or_eff[26]/hhodo_gold_hits[26]):%6.3f}  {(hhodo_and_eff[26]/hhodo_gold_hits[26]):%6.3f} {hhodo_gold_hits[26]:%6d}
+hS2X8:  {(hhodo_pos_eff[30]/hhodo_gold_hits[30]):%6.3f}  {(hhodo_neg_eff[30]/hhodo_gold_hits[30]):%6.3f}  {(hhodo_or_eff[30]/hhodo_gold_hits[30]):%6.3f}  {(hhodo_and_eff[30]/hhodo_gold_hits[30]):%6.3f} {hhodo_gold_hits[30]:%6d}
+hS2X9:  {(hhodo_pos_eff[34]/hhodo_gold_hits[34]):%6.3f}  {(hhodo_neg_eff[34]/hhodo_gold_hits[34]):%6.3f}  {(hhodo_or_eff[34]/hhodo_gold_hits[34]):%6.3f}  {(hhodo_and_eff[34]/hhodo_gold_hits[34]):%6.3f} {hhodo_gold_hits[34]:%6d}
+hS2X10: {(hhodo_pos_eff[38]/hhodo_gold_hits[38]):%6.3f}  {(hhodo_neg_eff[38]/hhodo_gold_hits[38]):%6.3f}  {(hhodo_or_eff[38]/hhodo_gold_hits[38]):%6.3f}  {(hhodo_and_eff[38]/hhodo_gold_hits[38]):%6.3f} {hhodo_gold_hits[38]:%6d}
+hS2X11: {(hhodo_pos_eff[42]/hhodo_gold_hits[42]):%6.3f}  {(hhodo_neg_eff[42]/hhodo_gold_hits[42]):%6.3f}  {(hhodo_or_eff[42]/hhodo_gold_hits[42]):%6.3f}  {(hhodo_and_eff[42]/hhodo_gold_hits[42]):%6.3f} {hhodo_gold_hits[42]:%6d}
+hS2X12: {(hhodo_pos_eff[46]/hhodo_gold_hits[46]):%6.3f}  {(hhodo_neg_eff[46]/hhodo_gold_hits[46]):%6.3f}  {(hhodo_or_eff[46]/hhodo_gold_hits[46]):%6.3f}  {(hhodo_and_eff[46]/hhodo_gold_hits[46]):%6.3f} {hhodo_gold_hits[46]:%6d}
+hS2X13: {(hhodo_pos_eff[50]/hhodo_gold_hits[50]):%6.3f}  {(hhodo_neg_eff[50]/hhodo_gold_hits[50]):%6.3f}  {(hhodo_or_eff[50]/hhodo_gold_hits[50]):%6.3f}  {(hhodo_and_eff[50]/hhodo_gold_hits[50]):%6.3f} {hhodo_gold_hits[50]:%6d}
+hS2X14: {(hhodo_pos_eff[54]/hhodo_gold_hits[54]):%6.3f}  {(hhodo_neg_eff[54]/hhodo_gold_hits[54]):%6.3f}  {(hhodo_or_eff[54]/hhodo_gold_hits[54]):%6.3f}  {(hhodo_and_eff[54]/hhodo_gold_hits[54]):%6.3f} {hhodo_gold_hits[54]:%6d}
+hS2X15: {(hhodo_pos_eff[58]/hhodo_gold_hits[58]):%6.3f}  {(hhodo_neg_eff[58]/hhodo_gold_hits[58]):%6.3f}  {(hhodo_or_eff[58]/hhodo_gold_hits[58]):%6.3f}  {(hhodo_and_eff[58]/hhodo_gold_hits[58]):%6.3f} {hhodo_gold_hits[58]:%6d}
+hS2X16: {(hhodo_pos_eff[62]/hhodo_gold_hits[62]):%6.3f}  {(hhodo_neg_eff[62]/hhodo_gold_hits[62]):%6.3f}  {(hhodo_or_eff[62]/hhodo_gold_hits[62]):%6.3f}  {(hhodo_and_eff[62]/hhodo_gold_hits[62]):%6.3f} {hhodo_gold_hits[62]:%6d}
+
+hS2Y1:  {(hhodo_pos_eff[3]/hhodo_gold_hits[3]):%6.3f}  {(hhodo_neg_eff[3]/hhodo_gold_hits[3]):%6.3f}  {(hhodo_or_eff[3]/hhodo_gold_hits[3]):%6.3f}  {(hhodo_and_eff[3]/hhodo_gold_hits[3]):%6.3f} {hhodo_gold_hits[3]:%6d}
+hS2Y2:  {(hhodo_pos_eff[7]/hhodo_gold_hits[7]):%6.3f}  {(hhodo_neg_eff[7]/hhodo_gold_hits[7]):%6.3f}  {(hhodo_or_eff[7]/hhodo_gold_hits[7]):%6.3f}  {(hhodo_and_eff[7]/hhodo_gold_hits[7]):%6.3f} {hhodo_gold_hits[7]:%6d}
+hS2Y3:  {(hhodo_pos_eff[11]/hhodo_gold_hits[11]):%6.3f}  {(hhodo_neg_eff[11]/hhodo_gold_hits[11]):%6.3f}  {(hhodo_or_eff[11]/hhodo_gold_hits[11]):%6.3f}  {(hhodo_and_eff[11]/hhodo_gold_hits[11]):%6.3f} {hhodo_gold_hits[11]:%6d}
+hS2Y4:  {(hhodo_pos_eff[15]/hhodo_gold_hits[15]):%6.3f}  {(hhodo_neg_eff[15]/hhodo_gold_hits[15]):%6.3f}  {(hhodo_or_eff[15]/hhodo_gold_hits[15]):%6.3f}  {(hhodo_and_eff[15]/hhodo_gold_hits[15]):%6.3f} {hhodo_gold_hits[15]:%6d}
+hS2Y5:  {(hhodo_pos_eff[19]/hhodo_gold_hits[19]):%6.3f}  {(hhodo_neg_eff[19]/hhodo_gold_hits[19]):%6.3f}  {(hhodo_or_eff[19]/hhodo_gold_hits[19]):%6.3f}  {(hhodo_and_eff[19]/hhodo_gold_hits[19]):%6.3f} {hhodo_gold_hits[19]:%6d}
+hS2Y6:  {(hhodo_pos_eff[23]/hhodo_gold_hits[23]):%6.3f}  {(hhodo_neg_eff[23]/hhodo_gold_hits[23]):%6.3f}  {(hhodo_or_eff[23]/hhodo_gold_hits[23]):%6.3f}  {(hhodo_and_eff[23]/hhodo_gold_hits[23]):%6.3f} {hhodo_gold_hits[23]:%6d}
+hS2Y7:  {(hhodo_pos_eff[27]/hhodo_gold_hits[27]):%6.3f}  {(hhodo_neg_eff[27]/hhodo_gold_hits[27]):%6.3f}  {(hhodo_or_eff[27]/hhodo_gold_hits[27]):%6.3f}  {(hhodo_and_eff[27]/hhodo_gold_hits[27]):%6.3f} {hhodo_gold_hits[27]:%6d}
+hS2Y8:  {(hhodo_pos_eff[31]/hhodo_gold_hits[31]):%6.3f}  {(hhodo_neg_eff[31]/hhodo_gold_hits[31]):%6.3f}  {(hhodo_or_eff[31]/hhodo_gold_hits[31]):%6.3f}  {(hhodo_and_eff[31]/hhodo_gold_hits[31]):%6.3f} {hhodo_gold_hits[31]:%6d}
+hS2Y9:  {(hhodo_pos_eff[35]/hhodo_gold_hits[35]):%6.3f}  {(hhodo_neg_eff[35]/hhodo_gold_hits[35]):%6.3f}  {(hhodo_or_eff[35]/hhodo_gold_hits[35]):%6.3f}  {(hhodo_and_eff[35]/hhodo_gold_hits[35]):%6.3f} {hhodo_gold_hits[35]:%6d}
+hS2Y10: {(hhodo_pos_eff[39]/hhodo_gold_hits[39]):%6.3f}  {(hhodo_neg_eff[39]/hhodo_gold_hits[39]):%6.3f}  {(hhodo_or_eff[39]/hhodo_gold_hits[39]):%6.3f}  {(hhodo_and_eff[39]/hhodo_gold_hits[39]):%6.3f} {hhodo_gold_hits[39]:%6d}
+
+
+*************************
+* Cerenkov Efficiencies *
+*************************
+Good Track Requirements:
+   1. Only one track found in the focal plane
+   2. chisq/dof <  {hcer_chi2max:%6.2f}
+   3. {hcer_beta_min:%6.2f} < beta < {hcer_beta_max:%6.2f}
+   4. {hcer_et_min:%6.2f} < calorimeter energy < {hcer_et_max:%6.2f}
+Threshold set at  {hcer_threshold:%6.2f}
+
+Mirror 1 Efficiency = {H.cher.cerfiredcounter[0]/( H.cher.certrackcounter[0] + 0.0001 ):%5.3f}  
+Mirror 1 {H.cher.cerfiredcounter[0]:%6d} of {H.cher.certrackcounter[0]:%6d} good tracks.
+Mirror 2 Efficiency = {H.cher.cerfiredcounter[1]/( H.cher.certrackcounter[1] + 0.0001 ):%5.3f}  
+Mirror 2 {H.cher.cerfiredcounter[1]:%6d} of {H.cher.certrackcounter[1]:%6d} good tracks.
+Overall  Efficiency = {H.cher.cerfiredcounter[2]/( H.cher.certrackcounter[2] + 0.0001 ):%5.3f}  
+Overall  {H.cher.cerfiredcounter[2]:%6d} of {H.cher.certrackcounter[2]:%6d} good tracks.
+
+****************************
+* Calorimeter Efficiencies *
+****************************
+Efficiencies for calorimeter is the fraction of times block was hit when track
+with chisquared/dof < hstat_cal_maxchisq  which came within hstat_cal_slop cm of the center.
+and hcer_npe_sum > 3.0 (hardwired).
+
+Events examined = htrig       = 
+Tracks found    = hcleantrack = 
+Tracks passing chisquared cut = 
+
+Block   eff    Hits
+-----   ---    ----
+hA1   
+hA2   
+hA3   
+hA4   
+hA5   
+hA6   
+hA7   
+hA8   
+hA9   
+hA10  
+hA11  
+hA12  
+hA13  
+
+hB1   
+hB2   
+hB3   
+hB4   
+hB5   
+hB6   
+hB7   
+hB8   
+hB9   
+hB10  
+hB11  
+hB12  
+hB13  
+
+hC1   
+hC2   
+hC3   
+hC4   
+hC5   
+hC6   
+hC7   
+hC8   
+hC9   
+hC10  
+hC11  
+hC12  
+hC13  
+
+hD1   
+hD2   
+hD3   
+hD4   
+hD5   
+hD6   
+hD7   
+hD8   
+hD9   
+hD10  
+hD11  
+hD12  
+hD13  
+
+hA    
+hB    
+hC    
+hD    
+
+***************
+* ALL SCALERS *
+***************
+
+
+--------------------------------------------------------------------------------------
+//////////////////////////////////////////////////////////////////////////////////////
+--------------------------------------------------------------------------------------
+
+General Format
+signal   =   counts (  rate-Hz )
 
-------------------------
-HMS Drift Chambers
-------------------------
-Total number of triggers with any tracks: {hfoundtrack.npassed:%7d}
-Total number of triggers with only one track: {hfound1track.npassed:%7d}
 
 Horizontal drift chamber z positions:
 Chamber 1: {hdc_zpos[0]:%6.2f} {hdc_zpos[1]:%6.2f} {hdc_zpos[2]:%6.2f} 
 	   {hdc_zpos[3]:%6.2f} {hdc_zpos[4]:%6.2f} {hdc_zpos[5]:%6.2f} 
 Chamber 2: {hdc_zpos[6]:%6.2f} {hdc_zpos[7]:%6.2f} {hdc_zpos[8]:%6.2f} 
-	   {hdc_zpos[9]:%6.2f} {hdc_zpos[10]:%6.2f} {hdc_zpos[11]:%6.2f} 
+           {hdc_zpos[9]:%6.2f} {hdc_zpos[10]:%6.2f} {hdc_zpos[11]:%6.2f} 
 
 The expression result can be formatted by putting a ":" followed by
 a c-style format after the expression.
@@ -50,16 +370,16 @@ The HMS reconstruction coefficient file name is {h_recon_coeff_filename}
 The names of the HMS drift chamber planes are: 
 {hdc_plane_names}
 
-DC Events: {hdc_tot_events}
-Hit in chamber: {hdc_cham_hits[0]/hdc_tot_events:%.3f} 
-                {hdc_cham_hits[1]/hdc_tot_events:%.3f}
 
-Hit in plane: {hdc_events[0]/hdc_tot_events:%.3f} {hdc_events[1]/hdc_tot_events:%.3f} 
-              {hdc_events[2]/hdc_tot_events:%.3f} {hdc_events[3]/hdc_tot_events:%.3f} 
-	      {hdc_events[4]/hdc_tot_events:%.3f} {hdc_events[5]/hdc_tot_events:%.3f} 
-	      {hdc_events[6]/hdc_tot_events:%.3f} {hdc_events[7]/hdc_tot_events:%.3f} 
-	      {hdc_events[8]/hdc_tot_events:%.3f} {hdc_events[9]/hdc_tot_events:%.3f} 
-	      {hdc_events[10]/hdc_tot_events:%.3f} {hdc_events[11]/hdc_tot_events:%.3f}
+
+DC Events: {hdc_tot_events}
+Hit in chamber: {hdc_cham_hits[0]/hdc_tot_events:%.3f} {hdc_cham_hits[1]/hdc_tot_events:%.3f}
+Hit in plane: {hdc_events[0]/hdc_tot_events:%.3f}  {hdc_events[1]/hdc_tot_events:%.3f} 
+              {hdc_events[2]/hdc_tot_events:%.3f}  {hdc_events[3]/hdc_tot_events:%.3f} 
+              {hdc_events[4]/hdc_tot_events:%.3f}  {hdc_events[5]/hdc_tot_events:%.3f} 
+              {hdc_events[6]/hdc_tot_events:%.3f}  {hdc_events[7]/hdc_tot_events:%.3f} 
+              {hdc_events[8]/hdc_tot_events:%.3f}  {hdc_events[9]/hdc_tot_events:%.3f} 
+              {hdc_events[10]/hdc_tot_events:%.3f} {hdc_events[11]/hdc_tot_events:%.3f}
 
 Run #{gen_run_number}
 first event = {gen_run_starting_event:%7d}
@@ -68,7 +388,3 @@ last event  = {gen_event_id_number:%7d}
 Later, such things as hardware scalers will be added to the set of variables
 that can be used in expressions.
 
-Last momenutm: {H.tr.p[0]}
-
-{hhodo_pos_eff[0]}
-{hhodo_pos_eff[1]}