Skip to content
Snippets Groups Projects
report.template 27.1 KiB
Newer Older

           This is a report template file.

It can be used to create simple run summary/statistics output files.

To produce a report, put in your analysis steering script, the line 

   analyzer->PrintReport(templatefilename, reportfilename); 

where analyzer is your analyzer object.

The template file is copied to the output file, except that anything
inside of the braces gets evaluated.  If the braces contain a string variable,
the value of variable replaces the braced name.  Otherwise what is
in the braces is evaluated as an expression.  Currently the expression can be
composed of Hall C style parameter variables, cut results (not really too usefull)
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 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 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 )

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} 

The expression result can be formatted by putting a ":" followed by
a c-style format after the expression.

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}
Run #{gen_run_number}
first event = {gen_run_starting_event:%7d}
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.